From f7adb5f609aeebb798e8a05205677eeec1597cd8 Mon Sep 17 00:00:00 2001 From: li Date: Sat, 14 Mar 2026 18:19:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20rebuild=20frontend=20=E2=80=94=20departm?= =?UTF-8?q?ents=20fetchTree=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/dist/assets/{404-BTD8CAKp.js => 404-F8BsopE3.js} | 2 +- .../assets/{accounts-BG3LM3oT.js => accounts-VTQUqWsm.js} | 2 +- .../{announcements-C5yCtxKi.js => announcements-CEw2Czo5.js} | 2 +- ...l-templates-CRSGiroP.js => approval-templates-CUIt8K9p.js} | 2 +- .../assets/{approvals-CHwBE6jA.js => approvals-BAF9KaoV.js} | 2 +- .../assets/{articles-B1z_DB6H.js => articles-DWzdB9N4.js} | 2 +- .../{attendances-Cv2Ceyms.js => attendances-B_DnAiN3.js} | 2 +- frontend/dist/assets/{axios-Cty4xAHp.js => axios-M7beJlyD.js} | 2 +- frontend/dist/assets/{board-CxdjHu9X.js => board-sk3RGSX4.js} | 2 +- .../{call-records-C6rwRG6C.js => call-records-Clz1SbNm.js} | 2 +- frontend/dist/assets/{care-ChCKRopi.js => care-BUQYu5B3.js} | 2 +- .../assets/{categories-Djm6nnOq.js => categories-BohrmcA0.js} | 2 +- .../assets/{categories-pnwbIy3A.js => categories-CUHGnGIZ.js} | 2 +- .../assets/{channels-B6bNTV7i.js => channels-Dxf-llaq.js} | 2 +- .../dist/assets/{checks-BPkkDfPT.js => checks-Cnmj1PAb.js} | 2 +- .../assets/{complaints-BA2CDCPC.js => complaints-q2aLoF_Z.js} | 2 +- .../assets/{contracts-Bk4hmbCb.js => contracts-B3l9BC6j.js} | 2 +- frontend/dist/assets/{crm-Do-MgkuV.js => crm-CvCW8IfR.js} | 2 +- .../assets/{customers-BqPgd2up.js => customers-D32xsfG9.js} | 2 +- .../{daily-plans--E2KeeGc.js => daily-plans-pQM2n0a6.js} | 2 +- .../assets/{dashboard-CCYZXxTu.js => dashboard-CEXQa1pu.js} | 2 +- frontend/dist/assets/departments-CnYyi91t.js | 1 + frontend/dist/assets/departments-IS1n2am2.js | 1 - .../{dictionaries-Cy4AY1wm.js => dictionaries-CV3_WCLC.js} | 2 +- .../dist/assets/{dishes-DyX1JK0o.js => dishes-6mBLTW6z.js} | 2 +- .../assets/{exceptions-CeoPfK2B.js => exceptions-BOFWWrYu.js} | 2 +- .../assets/{executions-BNgXsTAf.js => executions-CxoDnYt2.js} | 2 +- .../dist/assets/{exports-D3q-Ds3y.js => exports-DUkrHlPt.js} | 2 +- .../dist/assets/{finance-CoczR0xj.js => finance-xn2Nlkdw.js} | 2 +- .../assets/{handovers-DrzjoVE_.js => handovers-s3E48LIK.js} | 2 +- ...{health-metrics-B4-E0Srw.js => health-metrics-BLPCzyXH.js} | 2 +- frontend/dist/assets/{hr-CYqLK_6c.js => hr-BpuQE_Km.js} | 2 +- frontend/dist/assets/{index-ZRE77JpD.js => index-3YculFMX.js} | 4 ++-- .../assets/{inventory-BCukmUtW.js => inventory-BVEZNzEQ.js} | 2 +- .../assets/{invoices-Qo11LBiA.js => invoices-BQmi2e7M.js} | 2 +- frontend/dist/assets/{items-C2rlBFYf.js => items-DALYJmTT.js} | 2 +- frontend/dist/assets/{kb-DoVqfT25.js => kb-CR5OwwPK.js} | 2 +- .../dist/assets/{layout-BzT6v6aD.js => layout-D158Zwfz.js} | 2 +- frontend/dist/assets/{leads-PsiTHbdN.js => leads-2CG5WK5_.js} | 2 +- .../dist/assets/{leaves-rsAWYvRf.js => leaves-CApz-qRd.js} | 2 +- frontend/dist/assets/{login-yCCWUWEu.js => login-ChQUh91H.js} | 2 +- frontend/dist/assets/{logs-DlJnV5oW.js => logs-BZrUVvB5.js} | 2 +- .../assets/{materials-Csm9CJC6.js => materials-LA3XVRGm.js} | 2 +- frontend/dist/assets/{meal-CL1Cz_RN.js => meal-CgJENF-S.js} | 2 +- frontend/dist/assets/{menus-D-P1fAYd.js => menus-DasFO-X7.js} | 2 +- .../dist/assets/{nannies-DgwxPzxp.js => nannies-DV_-H8Hj.js} | 2 +- frontend/dist/assets/{nanny-Cp-L-Ws0.js => nanny-Bdev7M11.js} | 2 +- .../{notifications-B0Q-bm4i.js => notifications-I8CiKdc8.js} | 2 +- .../dist/assets/{office-DHw6Jomg.js => office-CIThbrL3.js} | 2 +- .../dist/assets/{orders-e9sJ-_wO.js => orders-2ivO139e.js} | 2 +- .../dist/assets/{orders-B69tXrS_.js => orders-BVojzZVm.js} | 2 +- .../dist/assets/{outings-GFRrCP2v.js => outings-CCtOaR3A.js} | 2 +- .../assets/{overview-Cqs4GcPa.js => overview-D-oyNP28.js} | 2 +- .../assets/{packages-XivrkQe2.js => packages-BwskPf-Y.js} | 2 +- .../assets/{payments-DwMYfAkP.js => payments-BrnHQrWo.js} | 2 +- frontend/dist/assets/permission-CF2X1nKp.js | 2 ++ frontend/dist/assets/permission-Dd6fKlgM.js | 2 -- frontend/dist/assets/{plans-BQlzEWv_.js => plans-Bp6SNQZ6.js} | 2 +- .../assets/{positions-DHnX1aEP.js => positions-DeqC6kdd.js} | 2 +- .../{prepaid-cards-DT00XJFX.js => prepaid-cards-CWlUGAlv.js} | 2 +- .../assets/{profiles-Bcz4YuOY.js => profiles-D7wJB7Sp.js} | 2 +- .../assets/{profiles-BYmx74HQ.js => profiles-Dvw91znB.js} | 2 +- ...urchase-orders-y3mcpfPu.js => purchase-orders-DJH82wSd.js} | 2 +- ...{questionnaires-nFr8-Uv4.js => questionnaires-DMGUlNJO.js} | 2 +- .../dist/assets/{records-D7BkIt-M.js => records-FqbYbICo.js} | 2 +- .../dist/assets/{records-CQ-q5Ta1.js => records-N35kQ2BC.js} | 2 +- .../assets/{register-DkbZcE0x.js => register-CDFAtgib.js} | 2 +- ...packages-CPtYFwqs.js => registration-packages-D1EkvZPn.js} | 4 ++-- .../dist/assets/{report-DzdIZI4P.js => report-wIlYRH-f.js} | 2 +- .../dist/assets/{request-C_vMs8Bs.js => request-DD5g7hLU.js} | 2 +- .../{reservations-BVaedG0F.js => reservations-BDcEwJH9.js} | 2 +- .../dist/assets/{reviews-COjDLEsX.js => reviews-D50R_81A.js} | 2 +- frontend/dist/assets/{roles-D0L92cu4.js => roles-Dwv5QOVU.js} | 2 +- frontend/dist/assets/{room-DSHyULwI.js => room-ByMILmib.js} | 2 +- .../assets/{room-types-B7oEnDTu.js => room-types-Di2pN98t.js} | 2 +- frontend/dist/assets/{rooms-r10LmL0K.js => rooms-Ch7GX3Px.js} | 2 +- .../assets/{salaries-8jlqvzHO.js => salaries-Bc2_dQt2.js} | 2 +- .../assets/{schedules-DvK15sxY.js => schedules-CCj2xXC0.js} | 2 +- .../assets/{schedules-m8M29YUB.js => schedules-Yw8rDBJ4.js} | 2 +- .../dist/assets/{service-Cm4zwPyA.js => service-nZ3xVURY.js} | 2 +- frontend/dist/assets/{stock-BBUycB2R.js => stock-QFAdGVVG.js} | 2 +- ...tock-movements-DoJ3Hf1Q.js => stock-movements-G7cq09hc.js} | 2 +- .../dist/assets/{stores-B16nMXxT.js => stores-D6abJMXk.js} | 2 +- .../assets/{suppliers-3JJpsYpy.js => suppliers-B-ax3fUn.js} | 2 +- .../dist/assets/{system-C8g7zsei.js => system-DEm1DLCy.js} | 2 +- .../assets/{templates-1qMDe9-D.js => templates-CWLqo64z.js} | 2 +- .../{transactions-pvG4YuIs.js => transactions-Df8SEsO7.js} | 2 +- .../assets/{transfers-CljKq8pY.js => transfers-DfYYFifi.js} | 2 +- frontend/dist/assets/{user-DwrZIuIR.js => user-BFl2lhly.js} | 2 +- frontend/dist/assets/{users-D43TCHdR.js => users-DjBGJbBb.js} | 2 +- .../assets/{warehouses-Bl-wItmk.js => warehouses-B9RawaVf.js} | 2 +- frontend/dist/index.html | 2 +- 92 files changed, 93 insertions(+), 93 deletions(-) rename frontend/dist/assets/{404-BTD8CAKp.js => 404-F8BsopE3.js} (87%) rename frontend/dist/assets/{accounts-BG3LM3oT.js => accounts-VTQUqWsm.js} (97%) rename frontend/dist/assets/{announcements-C5yCtxKi.js => announcements-CEw2Czo5.js} (97%) rename frontend/dist/assets/{approval-templates-CRSGiroP.js => approval-templates-CUIt8K9p.js} (97%) rename frontend/dist/assets/{approvals-CHwBE6jA.js => approvals-BAF9KaoV.js} (98%) rename frontend/dist/assets/{articles-B1z_DB6H.js => articles-DWzdB9N4.js} (98%) rename frontend/dist/assets/{attendances-Cv2Ceyms.js => attendances-B_DnAiN3.js} (98%) rename frontend/dist/assets/{axios-Cty4xAHp.js => axios-M7beJlyD.js} (99%) rename frontend/dist/assets/{board-CxdjHu9X.js => board-sk3RGSX4.js} (97%) rename frontend/dist/assets/{call-records-C6rwRG6C.js => call-records-Clz1SbNm.js} (97%) rename frontend/dist/assets/{care-ChCKRopi.js => care-BUQYu5B3.js} (93%) rename frontend/dist/assets/{categories-Djm6nnOq.js => categories-BohrmcA0.js} (95%) rename frontend/dist/assets/{categories-pnwbIy3A.js => categories-CUHGnGIZ.js} (97%) rename frontend/dist/assets/{channels-B6bNTV7i.js => channels-Dxf-llaq.js} (97%) rename frontend/dist/assets/{checks-BPkkDfPT.js => checks-Cnmj1PAb.js} (98%) rename frontend/dist/assets/{complaints-BA2CDCPC.js => complaints-q2aLoF_Z.js} (97%) rename frontend/dist/assets/{contracts-Bk4hmbCb.js => contracts-B3l9BC6j.js} (98%) rename frontend/dist/assets/{crm-Do-MgkuV.js => crm-CvCW8IfR.js} (93%) rename frontend/dist/assets/{customers-BqPgd2up.js => customers-D32xsfG9.js} (98%) rename frontend/dist/assets/{daily-plans--E2KeeGc.js => daily-plans-pQM2n0a6.js} (97%) rename frontend/dist/assets/{dashboard-CCYZXxTu.js => dashboard-CEXQa1pu.js} (94%) create mode 100644 frontend/dist/assets/departments-CnYyi91t.js delete mode 100644 frontend/dist/assets/departments-IS1n2am2.js rename frontend/dist/assets/{dictionaries-Cy4AY1wm.js => dictionaries-CV3_WCLC.js} (98%) rename frontend/dist/assets/{dishes-DyX1JK0o.js => dishes-6mBLTW6z.js} (97%) rename frontend/dist/assets/{exceptions-CeoPfK2B.js => exceptions-BOFWWrYu.js} (98%) rename frontend/dist/assets/{executions-BNgXsTAf.js => executions-CxoDnYt2.js} (96%) rename frontend/dist/assets/{exports-D3q-Ds3y.js => exports-DUkrHlPt.js} (97%) rename frontend/dist/assets/{finance-CoczR0xj.js => finance-xn2Nlkdw.js} (95%) rename frontend/dist/assets/{handovers-DrzjoVE_.js => handovers-s3E48LIK.js} (96%) rename frontend/dist/assets/{health-metrics-B4-E0Srw.js => health-metrics-BLPCzyXH.js} (97%) rename frontend/dist/assets/{hr-CYqLK_6c.js => hr-BpuQE_Km.js} (93%) rename frontend/dist/assets/{index-ZRE77JpD.js => index-3YculFMX.js} (99%) rename frontend/dist/assets/{inventory-BCukmUtW.js => inventory-BVEZNzEQ.js} (93%) rename frontend/dist/assets/{invoices-Qo11LBiA.js => invoices-BQmi2e7M.js} (97%) rename frontend/dist/assets/{items-C2rlBFYf.js => items-DALYJmTT.js} (97%) rename frontend/dist/assets/{kb-DoVqfT25.js => kb-CR5OwwPK.js} (87%) rename frontend/dist/assets/{layout-BzT6v6aD.js => layout-D158Zwfz.js} (97%) rename frontend/dist/assets/{leads-PsiTHbdN.js => leads-2CG5WK5_.js} (98%) rename frontend/dist/assets/{leaves-rsAWYvRf.js => leaves-CApz-qRd.js} (97%) rename frontend/dist/assets/{login-yCCWUWEu.js => login-ChQUh91H.js} (95%) rename frontend/dist/assets/{logs-DlJnV5oW.js => logs-BZrUVvB5.js} (97%) rename frontend/dist/assets/{materials-Csm9CJC6.js => materials-LA3XVRGm.js} (97%) rename frontend/dist/assets/{meal-CL1Cz_RN.js => meal-CgJENF-S.js} (91%) rename frontend/dist/assets/{menus-D-P1fAYd.js => menus-DasFO-X7.js} (98%) rename frontend/dist/assets/{nannies-DgwxPzxp.js => nannies-DV_-H8Hj.js} (97%) rename frontend/dist/assets/{nanny-Cp-L-Ws0.js => nanny-Bdev7M11.js} (88%) rename frontend/dist/assets/{notifications-B0Q-bm4i.js => notifications-I8CiKdc8.js} (95%) rename frontend/dist/assets/{office-DHw6Jomg.js => office-CIThbrL3.js} (90%) rename frontend/dist/assets/{orders-e9sJ-_wO.js => orders-2ivO139e.js} (97%) rename frontend/dist/assets/{orders-B69tXrS_.js => orders-BVojzZVm.js} (97%) rename frontend/dist/assets/{outings-GFRrCP2v.js => outings-CCtOaR3A.js} (97%) rename frontend/dist/assets/{overview-Cqs4GcPa.js => overview-D-oyNP28.js} (90%) rename frontend/dist/assets/{packages-XivrkQe2.js => packages-BwskPf-Y.js} (96%) rename frontend/dist/assets/{payments-DwMYfAkP.js => payments-BrnHQrWo.js} (97%) create mode 100644 frontend/dist/assets/permission-CF2X1nKp.js delete mode 100644 frontend/dist/assets/permission-Dd6fKlgM.js rename frontend/dist/assets/{plans-BQlzEWv_.js => plans-Bp6SNQZ6.js} (96%) rename frontend/dist/assets/{positions-DHnX1aEP.js => positions-DeqC6kdd.js} (97%) rename frontend/dist/assets/{prepaid-cards-DT00XJFX.js => prepaid-cards-CWlUGAlv.js} (97%) rename frontend/dist/assets/{profiles-Bcz4YuOY.js => profiles-D7wJB7Sp.js} (97%) rename frontend/dist/assets/{profiles-BYmx74HQ.js => profiles-Dvw91znB.js} (97%) rename frontend/dist/assets/{purchase-orders-y3mcpfPu.js => purchase-orders-DJH82wSd.js} (97%) rename frontend/dist/assets/{questionnaires-nFr8-Uv4.js => questionnaires-DMGUlNJO.js} (97%) rename frontend/dist/assets/{records-D7BkIt-M.js => records-FqbYbICo.js} (96%) rename frontend/dist/assets/{records-CQ-q5Ta1.js => records-N35kQ2BC.js} (98%) rename frontend/dist/assets/{register-DkbZcE0x.js => register-CDFAtgib.js} (98%) rename frontend/dist/assets/{registration-packages-CPtYFwqs.js => registration-packages-D1EkvZPn.js} (94%) rename frontend/dist/assets/{report-DzdIZI4P.js => report-wIlYRH-f.js} (71%) rename frontend/dist/assets/{request-C_vMs8Bs.js => request-DD5g7hLU.js} (89%) rename frontend/dist/assets/{reservations-BVaedG0F.js => reservations-BDcEwJH9.js} (97%) rename frontend/dist/assets/{reviews-COjDLEsX.js => reviews-D50R_81A.js} (96%) rename frontend/dist/assets/{roles-D0L92cu4.js => roles-Dwv5QOVU.js} (98%) rename frontend/dist/assets/{room-DSHyULwI.js => room-ByMILmib.js} (91%) rename frontend/dist/assets/{room-types-B7oEnDTu.js => room-types-Di2pN98t.js} (97%) rename frontend/dist/assets/{rooms-r10LmL0K.js => rooms-Ch7GX3Px.js} (97%) rename frontend/dist/assets/{salaries-8jlqvzHO.js => salaries-Bc2_dQt2.js} (98%) rename frontend/dist/assets/{schedules-DvK15sxY.js => schedules-CCj2xXC0.js} (97%) rename frontend/dist/assets/{schedules-m8M29YUB.js => schedules-Yw8rDBJ4.js} (96%) rename frontend/dist/assets/{service-Cm4zwPyA.js => service-nZ3xVURY.js} (92%) rename frontend/dist/assets/{stock-BBUycB2R.js => stock-QFAdGVVG.js} (95%) rename frontend/dist/assets/{stock-movements-DoJ3Hf1Q.js => stock-movements-G7cq09hc.js} (97%) rename frontend/dist/assets/{stores-B16nMXxT.js => stores-D6abJMXk.js} (98%) rename frontend/dist/assets/{suppliers-3JJpsYpy.js => suppliers-B-ax3fUn.js} (97%) rename frontend/dist/assets/{system-C8g7zsei.js => system-DEm1DLCy.js} (96%) rename frontend/dist/assets/{templates-1qMDe9-D.js => templates-CWLqo64z.js} (96%) rename frontend/dist/assets/{transactions-pvG4YuIs.js => transactions-Df8SEsO7.js} (96%) rename frontend/dist/assets/{transfers-CljKq8pY.js => transfers-DfYYFifi.js} (98%) rename frontend/dist/assets/{user-DwrZIuIR.js => user-BFl2lhly.js} (86%) rename frontend/dist/assets/{users-D43TCHdR.js => users-DjBGJbBb.js} (98%) rename frontend/dist/assets/{warehouses-Bl-wItmk.js => warehouses-B9RawaVf.js} (97%) diff --git a/frontend/dist/assets/404-BTD8CAKp.js b/frontend/dist/assets/404-F8BsopE3.js similarity index 87% rename from frontend/dist/assets/404-BTD8CAKp.js rename to frontend/dist/assets/404-F8BsopE3.js index 142fe59..9895913 100644 --- a/frontend/dist/assets/404-BTD8CAKp.js +++ b/frontend/dist/assets/404-F8BsopE3.js @@ -1 +1 @@ -import{$ as e,L as t,V as n,_ as r,_t as i,p as a,u as o,v as s}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{i as c,t as l}from"./index-ZRE77JpD.js";var u={class:`error-page flex-center flex-col`},d=l({__name:`404`,setup(l){let d=c();return(c,l)=>{let f=n(`el-button`);return t(),a(`div`,u,[l[2]||=o(`div`,{class:`code`},`404`,-1),l[3]||=o(`div`,{class:`message`},`抱歉,您访问的页面不存在`,-1),s(f,{type:`primary`,onClick:l[0]||=e=>i(d).push(`/`)},{default:e(()=>[...l[1]||=[r(`返回首页`,-1)]]),_:1})])}}},[[`__scopeId`,`data-v-58ff5114`]]);export{d as default}; \ No newline at end of file +import{$ as e,L as t,V as n,_ as r,_t as i,p as a,u as o,v as s}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{i as c,t as l}from"./index-3YculFMX.js";var u={class:`error-page flex-center flex-col`},d=l({__name:`404`,setup(l){let d=c();return(c,l)=>{let f=n(`el-button`);return t(),a(`div`,u,[l[2]||=o(`div`,{class:`code`},`404`,-1),l[3]||=o(`div`,{class:`message`},`抱歉,您访问的页面不存在`,-1),s(f,{type:`primary`,onClick:l[0]||=e=>i(d).push(`/`)},{default:e(()=>[...l[1]||=[r(`返回首页`,-1)]]),_:1})])}}},[[`__scopeId`,`data-v-58ff5114`]]);export{d as default}; \ No newline at end of file diff --git a/frontend/dist/assets/accounts-BG3LM3oT.js b/frontend/dist/assets/accounts-VTQUqWsm.js similarity index 97% rename from frontend/dist/assets/accounts-BG3LM3oT.js rename to frontend/dist/assets/accounts-VTQUqWsm.js index b1b6aba..8a9e21a 100644 --- a/frontend/dist/assets/accounts-BG3LM3oT.js +++ b/frontend/dist/assets/accounts-VTQUqWsm.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as v,t as y}from"./finance-CoczR0xj.js";var ee={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},te={class:`px-2`},ne={class:`px-5 py-3 border-t border-gray-50`},S={__name:`index`,setup(S){let C=u([]),w=u(0),T=u(!1),E=f({customer_id:``}),D=f({page:1,per_page:20}),O=u(!1),k=u(!1),A=u(null),j=f({customer_account_id:null,customer_id:null,amount:0,pay_method:``}),M={amount:[{required:!0,message:`请输入充值金额`,trigger:`blur`}]},N=[{label:`现金`,value:`cash`},{label:`微信`,value:`wechat`},{label:`支付宝`,value:`alipay`},{label:`银行转账`,value:`bank`},{label:`储值卡`,value:`card`}],P=u(!1),F=u(!1),I=u([]),L=u(0),R=u(null),z=f({page:1,per_page:20}),B={1:`充值`,2:`消费`,3:`退款`,4:`积分变动`},V={1:`success`,2:`warning`,3:`danger`,4:`info`};async function H(){T.value=!0;try{let e=await v.getList({...E,...D});C.value=e.data?.list||e.data?.data||[],w.value=e.data?.total||0}finally{T.value=!1}}function U(){D.page=1,H()}function W(){Object.assign(E,{customer_id:``}),U()}function G(e){D.page=e,H()}function K(e){D.per_page=e,D.page=1,H()}function q(e){Object.assign(j,{customer_account_id:e.id,customer_id:e.customer_id,amount:0,pay_method:``}),O.value=!0}async function J(){A.value&&await A.value.validate(async e=>{if(e){k.value=!0;try{await v.recharge(j),_.success(`充值成功`),O.value=!1,H()}finally{k.value=!1}}})}function Y(e){R.value=e.id,z.page=1,P.value=!0,X()}async function X(){F.value=!0;try{let e=await y.getList({customer_account_id:R.value,...z});I.value=e.data?.list||e.data?.data||[],L.value=e.data?.total||0}finally{F.value=!1}}function re(e){z.page=e,X()}function Z(e){z.per_page=e,z.page=1,X()}return r(()=>H()),(r,u)=>{let f=i(`el-input`),_=i(`el-button`),v=i(`el-table-column`),y=i(`el-table`),S=i(`el-pagination`),R=i(`el-form-item`),H=i(`el-input-number`),X=i(`el-option`),ie=i(`el-select`),ae=i(`el-form`),Q=i(`el-dialog`),oe=i(`el-tag`),$=t(`loading`);return n(),d(`div`,ee,[p(`div`,b,[m(f,{modelValue:E.customer_id,"onUpdate:modelValue":u[0]||=e=>E.customer_id=e,placeholder:`客户ID`,style:{width:`160px`},clearable:``,onKeydown:g(U,[`enter`])},null,8,[`modelValue`]),m(_,{type:`primary`,onClick:U},{default:e(()=>[...u[10]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:W},{default:e(()=>[...u[11]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[u[14]||=p(`div`,{class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},[p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`客户账户列表`)])],-1),p(`div`,te,[c((n(),s(y,{data:C.value,style:{width:`100%`}},{default:e(()=>[m(v,{label:`客户姓名`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),m(v,{prop:`cash_balance`,label:`现金余额`,"min-width":`120`,align:`right`}),m(v,{prop:`card_balance`,label:`储值卡余额`,"min-width":`120`,align:`right`}),m(v,{prop:`points`,label:`积分`,"min-width":`100`,align:`right`}),m(v,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(_,{size:`small`,type:`primary`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[12]||=[o(`充值`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`primary`,text:``,onClick:e=>Y(t)},{default:e(()=>[...u[13]||=[o(`查看流水`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[$,T.value]])]),p(`div`,ne,[m(S,{"current-page":D.page,"onUpdate:currentPage":u[1]||=e=>D.page=e,"page-size":D.per_page,"onUpdate:pageSize":u[2]||=e=>D.per_page=e,total:w.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:G,onSizeChange:K},null,8,[`current-page`,`page-size`,`total`])])]),m(Q,{modelValue:O.value,"onUpdate:modelValue":u[6]||=e=>O.value=e,title:`账户充值`,width:`480px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[5]||=e=>O.value=!1},{default:e(()=>[...u[15]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:k.value,onClick:J},{default:e(()=>[...u[16]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ae,{ref_key:`rechargeFormRef`,ref:A,model:j,rules:M,"label-width":`90px`},{default:e(()=>[m(R,{label:`客户ID`},{default:e(()=>[m(f,{"model-value":j.customer_id,disabled:``},null,8,[`model-value`])]),_:1}),m(R,{label:`充值金额`,prop:`amount`},{default:e(()=>[m(H,{modelValue:j.amount,"onUpdate:modelValue":u[3]||=e=>j.amount=e,min:.01,precision:2,step:100,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(R,{label:`支付方式`},{default:e(()=>[m(ie,{modelValue:j.pay_method,"onUpdate:modelValue":u[4]||=e=>j.pay_method=e,placeholder:`请选择支付方式`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(N,e=>m(X,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),m(Q,{modelValue:P.value,"onUpdate:modelValue":u[9]||=e=>P.value=e,title:`账户流水`,width:`800px`,"destroy-on-close":``},{default:e(()=>[c((n(),s(y,{data:I.value,border:``,stripe:``,style:{width:`100%`}},{default:e(()=>[m(v,{label:`类型`,width:`110`,align:`center`},{default:e(({row:t})=>[m(oe,{type:V[t.type],size:`small`},{default:e(()=>[o(a(B[t.type]||`-`),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`amount`,label:`金额`,"min-width":`100`,align:`right`}),m(v,{prop:`balance_after`,label:`变动后余额`,"min-width":`120`,align:`right`}),m(v,{prop:`description`,label:`描述`,"min-width":`180`,"show-overflow-tooltip":``}),m(v,{prop:`created_at`,label:`时间`,"min-width":`160`})]),_:1},8,[`data`])),[[$,F.value]]),m(S,{"current-page":z.page,"onUpdate:currentPage":u[7]||=e=>z.page=e,"page-size":z.per_page,"onUpdate:pageSize":u[8]||=e=>z.per_page=e,total:L.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,style:{"margin-top":`12px`},onCurrentChange:re,onSizeChange:Z},null,8,[`current-page`,`page-size`,`total`])]),_:1},8,[`modelValue`])])}}};export{S as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as v,t as y}from"./finance-xn2Nlkdw.js";var ee={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},te={class:`px-2`},ne={class:`px-5 py-3 border-t border-gray-50`},S={__name:`index`,setup(S){let C=u([]),w=u(0),T=u(!1),E=f({customer_id:``}),D=f({page:1,per_page:20}),O=u(!1),k=u(!1),A=u(null),j=f({customer_account_id:null,customer_id:null,amount:0,pay_method:``}),M={amount:[{required:!0,message:`请输入充值金额`,trigger:`blur`}]},N=[{label:`现金`,value:`cash`},{label:`微信`,value:`wechat`},{label:`支付宝`,value:`alipay`},{label:`银行转账`,value:`bank`},{label:`储值卡`,value:`card`}],P=u(!1),F=u(!1),I=u([]),L=u(0),R=u(null),z=f({page:1,per_page:20}),B={1:`充值`,2:`消费`,3:`退款`,4:`积分变动`},V={1:`success`,2:`warning`,3:`danger`,4:`info`};async function H(){T.value=!0;try{let e=await v.getList({...E,...D});C.value=e.data?.list||e.data?.data||[],w.value=e.data?.total||0}finally{T.value=!1}}function U(){D.page=1,H()}function W(){Object.assign(E,{customer_id:``}),U()}function G(e){D.page=e,H()}function K(e){D.per_page=e,D.page=1,H()}function q(e){Object.assign(j,{customer_account_id:e.id,customer_id:e.customer_id,amount:0,pay_method:``}),O.value=!0}async function J(){A.value&&await A.value.validate(async e=>{if(e){k.value=!0;try{await v.recharge(j),_.success(`充值成功`),O.value=!1,H()}finally{k.value=!1}}})}function Y(e){R.value=e.id,z.page=1,P.value=!0,X()}async function X(){F.value=!0;try{let e=await y.getList({customer_account_id:R.value,...z});I.value=e.data?.list||e.data?.data||[],L.value=e.data?.total||0}finally{F.value=!1}}function re(e){z.page=e,X()}function Z(e){z.per_page=e,z.page=1,X()}return r(()=>H()),(r,u)=>{let f=i(`el-input`),_=i(`el-button`),v=i(`el-table-column`),y=i(`el-table`),S=i(`el-pagination`),R=i(`el-form-item`),H=i(`el-input-number`),X=i(`el-option`),ie=i(`el-select`),ae=i(`el-form`),Q=i(`el-dialog`),oe=i(`el-tag`),$=t(`loading`);return n(),d(`div`,ee,[p(`div`,b,[m(f,{modelValue:E.customer_id,"onUpdate:modelValue":u[0]||=e=>E.customer_id=e,placeholder:`客户ID`,style:{width:`160px`},clearable:``,onKeydown:g(U,[`enter`])},null,8,[`modelValue`]),m(_,{type:`primary`,onClick:U},{default:e(()=>[...u[10]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:W},{default:e(()=>[...u[11]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[u[14]||=p(`div`,{class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},[p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`客户账户列表`)])],-1),p(`div`,te,[c((n(),s(y,{data:C.value,style:{width:`100%`}},{default:e(()=>[m(v,{label:`客户姓名`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),m(v,{prop:`cash_balance`,label:`现金余额`,"min-width":`120`,align:`right`}),m(v,{prop:`card_balance`,label:`储值卡余额`,"min-width":`120`,align:`right`}),m(v,{prop:`points`,label:`积分`,"min-width":`100`,align:`right`}),m(v,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(_,{size:`small`,type:`primary`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[12]||=[o(`充值`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`primary`,text:``,onClick:e=>Y(t)},{default:e(()=>[...u[13]||=[o(`查看流水`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[$,T.value]])]),p(`div`,ne,[m(S,{"current-page":D.page,"onUpdate:currentPage":u[1]||=e=>D.page=e,"page-size":D.per_page,"onUpdate:pageSize":u[2]||=e=>D.per_page=e,total:w.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:G,onSizeChange:K},null,8,[`current-page`,`page-size`,`total`])])]),m(Q,{modelValue:O.value,"onUpdate:modelValue":u[6]||=e=>O.value=e,title:`账户充值`,width:`480px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[5]||=e=>O.value=!1},{default:e(()=>[...u[15]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:k.value,onClick:J},{default:e(()=>[...u[16]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ae,{ref_key:`rechargeFormRef`,ref:A,model:j,rules:M,"label-width":`90px`},{default:e(()=>[m(R,{label:`客户ID`},{default:e(()=>[m(f,{"model-value":j.customer_id,disabled:``},null,8,[`model-value`])]),_:1}),m(R,{label:`充值金额`,prop:`amount`},{default:e(()=>[m(H,{modelValue:j.amount,"onUpdate:modelValue":u[3]||=e=>j.amount=e,min:.01,precision:2,step:100,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(R,{label:`支付方式`},{default:e(()=>[m(ie,{modelValue:j.pay_method,"onUpdate:modelValue":u[4]||=e=>j.pay_method=e,placeholder:`请选择支付方式`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(N,e=>m(X,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),m(Q,{modelValue:P.value,"onUpdate:modelValue":u[9]||=e=>P.value=e,title:`账户流水`,width:`800px`,"destroy-on-close":``},{default:e(()=>[c((n(),s(y,{data:I.value,border:``,stripe:``,style:{width:`100%`}},{default:e(()=>[m(v,{label:`类型`,width:`110`,align:`center`},{default:e(({row:t})=>[m(oe,{type:V[t.type],size:`small`},{default:e(()=>[o(a(B[t.type]||`-`),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`amount`,label:`金额`,"min-width":`100`,align:`right`}),m(v,{prop:`balance_after`,label:`变动后余额`,"min-width":`120`,align:`right`}),m(v,{prop:`description`,label:`描述`,"min-width":`180`,"show-overflow-tooltip":``}),m(v,{prop:`created_at`,label:`时间`,"min-width":`160`})]),_:1},8,[`data`])),[[$,F.value]]),m(S,{"current-page":z.page,"onUpdate:currentPage":u[7]||=e=>z.page=e,"page-size":z.per_page,"onUpdate:pageSize":u[8]||=e=>z.per_page=e,total:L.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,style:{"margin-top":`12px`},onCurrentChange:re,onSizeChange:Z},null,8,[`current-page`,`page-size`,`total`])]),_:1},8,[`modelValue`])])}}};export{S as default}; \ No newline at end of file diff --git a/frontend/dist/assets/announcements-C5yCtxKi.js b/frontend/dist/assets/announcements-CEw2Czo5.js similarity index 97% rename from frontend/dist/assets/announcements-C5yCtxKi.js rename to frontend/dist/assets/announcements-CEw2Czo5.js index d8cbac3..eaa53c3 100644 --- a/frontend/dist/assets/announcements-C5yCtxKi.js +++ b/frontend/dist/assets/announcements-CEw2Czo5.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as y}from"./office-DHw6Jomg.js";var b={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=d([]),D=d(0),O=d(!1),k=d(!1),A=d(!1),j=d(!1),M=p({type:``,publish_status:``}),N=p({page:1,per_page:20}),P=d(null),F=p({id:null,title:``,content:``,type:1,is_top:0}),I={1:`通知`,2:`公告`,3:`制度`},L={1:``,2:`warning`,3:`danger`},R={0:`草稿`,1:`已发布`},z={0:`info`,1:`success`},B={title:[{required:!0,message:`请输入标题`}]};async function V(){O.value=!0;try{let e=await y.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function H(){N.page=1,V()}function U(){Object.assign(M,{type:``,publish_status:``}),H()}function W(){j.value=!1,Object.assign(F,{id:null,title:``,content:``,type:1,is_top:0}),k.value=!0}function G(e){j.value=!0,Object.assign(F,{id:e.id,title:e.title,content:e.content,type:e.type,is_top:e.is_top}),k.value=!0}async function K(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{j.value?await y.update(F.id,F):await y.create(F),v.success(j.value?`更新成功`:`创建成功`),k.value=!1,V()}finally{A.value=!1}}})}async function q(e){await _.confirm(`确定发布该公告吗?发布后不可编辑或删除。`,`发布确认`,{type:`warning`}),await y.publish(e.id),v.success(`发布成功`),V()}async function J(e){await _.confirm(`确定删除该公告吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),V()}function Y(e){N.page=e,V()}function X(e){N.per_page=e,N.page=1,V()}return r(()=>{V()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),T=i(`el-tag`),V=i(`el-table`),Z=i(`el-pagination`),Q=i(`el-input`),$=i(`el-form-item`),te=i(`el-switch`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,b,[m(`div`,ee,[h(_,{modelValue:M.type,"onUpdate:modelValue":d[0]||=e=>M.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:M.publish_status,"onUpdate:modelValue":d[1]||=e=>M.publish_status=e,placeholder:`发布状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),f(u,null,g(R,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:H},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:U},{default:e(()=>[...d[11]||=[o(`重置`,-1)]]),_:1})]),m(`div`,x,[m(`div`,S,[d[13]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`公告列表`)],-1),h(v,{type:`primary`,onClick:W},{default:e(()=>[...d[12]||=[o(`新增公告`,-1)]]),_:1})]),m(`div`,C,[c((n(),s(V,{data:E.value,style:{width:`100%`}},{default:e(()=>[h(y,{prop:`title`,label:`标题`,"min-width":`200`,"show-overflow-tooltip":``}),h(y,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[h(T,{type:L[t.type],size:`small`},{default:e(()=>[o(a(I[t.type]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`置顶`,width:`70`,align:`center`},{default:e(({row:e})=>[o(a(e.is_top?`是`:`否`),1)]),_:1}),h(y,{label:`发布状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(T,{type:z[t.publish_status],size:`small`},{default:e(()=>[o(a(R[t.publish_status]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`作者`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.author?.name||`-`),1)]),_:1}),h(y,{prop:`published_at`,label:`发布时间`,"min-width":`160`}),h(y,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.publish_status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>q(t)},{default:e(()=>[...d[14]||=[o(`发布`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.publish_status===0?(n(),s(v,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.publish_status===0?(n(),s(v,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,O.value]])]),m(`div`,w,[h(Z,{"current-page":N.page,"onUpdate:currentPage":d[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":d[3]||=e=>N.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),h(re,{modelValue:k.value,"onUpdate:modelValue":d[9]||=e=>k.value=e,title:j.value?`编辑公告`:`新增公告`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[8]||=e=>k.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:A.value,onClick:K},{default:e(()=>[...d[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ne,{ref_key:`formRef`,ref:P,model:F,rules:B,"label-width":`80px`},{default:e(()=>[h($,{label:`标题`,prop:`title`},{default:e(()=>[h(Q,{modelValue:F.title,"onUpdate:modelValue":d[4]||=e=>F.title=e,placeholder:`请输入标题`},null,8,[`modelValue`])]),_:1}),h($,{label:`内容`},{default:e(()=>[h(Q,{modelValue:F.content,"onUpdate:modelValue":d[5]||=e=>F.content=e,type:`textarea`,rows:5,placeholder:`请输入内容`},null,8,[`modelValue`])]),_:1}),h($,{label:`类型`},{default:e(()=>[h(_,{modelValue:F.type,"onUpdate:modelValue":d[6]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`置顶`},{default:e(()=>[h(te,{modelValue:F.is_top,"onUpdate:modelValue":d[7]||=e=>F.is_top=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as y}from"./office-CIThbrL3.js";var b={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=d([]),D=d(0),O=d(!1),k=d(!1),A=d(!1),j=d(!1),M=p({type:``,publish_status:``}),N=p({page:1,per_page:20}),P=d(null),F=p({id:null,title:``,content:``,type:1,is_top:0}),I={1:`通知`,2:`公告`,3:`制度`},L={1:``,2:`warning`,3:`danger`},R={0:`草稿`,1:`已发布`},z={0:`info`,1:`success`},B={title:[{required:!0,message:`请输入标题`}]};async function V(){O.value=!0;try{let e=await y.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function H(){N.page=1,V()}function U(){Object.assign(M,{type:``,publish_status:``}),H()}function W(){j.value=!1,Object.assign(F,{id:null,title:``,content:``,type:1,is_top:0}),k.value=!0}function G(e){j.value=!0,Object.assign(F,{id:e.id,title:e.title,content:e.content,type:e.type,is_top:e.is_top}),k.value=!0}async function K(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{j.value?await y.update(F.id,F):await y.create(F),v.success(j.value?`更新成功`:`创建成功`),k.value=!1,V()}finally{A.value=!1}}})}async function q(e){await _.confirm(`确定发布该公告吗?发布后不可编辑或删除。`,`发布确认`,{type:`warning`}),await y.publish(e.id),v.success(`发布成功`),V()}async function J(e){await _.confirm(`确定删除该公告吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),V()}function Y(e){N.page=e,V()}function X(e){N.per_page=e,N.page=1,V()}return r(()=>{V()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),T=i(`el-tag`),V=i(`el-table`),Z=i(`el-pagination`),Q=i(`el-input`),$=i(`el-form-item`),te=i(`el-switch`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,b,[m(`div`,ee,[h(_,{modelValue:M.type,"onUpdate:modelValue":d[0]||=e=>M.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:M.publish_status,"onUpdate:modelValue":d[1]||=e=>M.publish_status=e,placeholder:`发布状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),f(u,null,g(R,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:H},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:U},{default:e(()=>[...d[11]||=[o(`重置`,-1)]]),_:1})]),m(`div`,x,[m(`div`,S,[d[13]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`公告列表`)],-1),h(v,{type:`primary`,onClick:W},{default:e(()=>[...d[12]||=[o(`新增公告`,-1)]]),_:1})]),m(`div`,C,[c((n(),s(V,{data:E.value,style:{width:`100%`}},{default:e(()=>[h(y,{prop:`title`,label:`标题`,"min-width":`200`,"show-overflow-tooltip":``}),h(y,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[h(T,{type:L[t.type],size:`small`},{default:e(()=>[o(a(I[t.type]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`置顶`,width:`70`,align:`center`},{default:e(({row:e})=>[o(a(e.is_top?`是`:`否`),1)]),_:1}),h(y,{label:`发布状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(T,{type:z[t.publish_status],size:`small`},{default:e(()=>[o(a(R[t.publish_status]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`作者`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.author?.name||`-`),1)]),_:1}),h(y,{prop:`published_at`,label:`发布时间`,"min-width":`160`}),h(y,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.publish_status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>q(t)},{default:e(()=>[...d[14]||=[o(`发布`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.publish_status===0?(n(),s(v,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.publish_status===0?(n(),s(v,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,O.value]])]),m(`div`,w,[h(Z,{"current-page":N.page,"onUpdate:currentPage":d[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":d[3]||=e=>N.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),h(re,{modelValue:k.value,"onUpdate:modelValue":d[9]||=e=>k.value=e,title:j.value?`编辑公告`:`新增公告`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[8]||=e=>k.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:A.value,onClick:K},{default:e(()=>[...d[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ne,{ref_key:`formRef`,ref:P,model:F,rules:B,"label-width":`80px`},{default:e(()=>[h($,{label:`标题`,prop:`title`},{default:e(()=>[h(Q,{modelValue:F.title,"onUpdate:modelValue":d[4]||=e=>F.title=e,placeholder:`请输入标题`},null,8,[`modelValue`])]),_:1}),h($,{label:`内容`},{default:e(()=>[h(Q,{modelValue:F.content,"onUpdate:modelValue":d[5]||=e=>F.content=e,type:`textarea`,rows:5,placeholder:`请输入内容`},null,8,[`modelValue`])]),_:1}),h($,{label:`类型`},{default:e(()=>[h(_,{modelValue:F.type,"onUpdate:modelValue":d[6]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`置顶`},{default:e(()=>[h(te,{modelValue:F.is_top,"onUpdate:modelValue":d[7]||=e=>F.is_top=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/approval-templates-CRSGiroP.js b/frontend/dist/assets/approval-templates-CUIt8K9p.js similarity index 97% rename from frontend/dist/assets/approval-templates-CRSGiroP.js rename to frontend/dist/assets/approval-templates-CUIt8K9p.js index af01e20..c5c379c 100644 --- a/frontend/dist/assets/approval-templates-CRSGiroP.js +++ b/frontend/dist/assets/approval-templates-CUIt8K9p.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{r as v}from"./office-DHw6Jomg.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(`新增审批模板`),j=u(!1),M=u(!1),N=f({type:``,status:``}),P=f({page:1,per_page:20}),F=u(null),I=f({id:null,name:``,type:``,form_fields:``,flow_nodes:``,status:1,sort:0}),L={1:`请假`,2:`采购`,3:`合同`,4:`退款`,5:`换房`},R={name:[{required:!0,message:`请输入模板名称`,trigger:`blur`}],type:[{required:!0,message:`请选择模板类型`,trigger:`change`}]};async function z(){O.value=!0;try{let e=await v.getList({...N,...P});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function B(){P.page=1,z()}function V(){Object.assign(N,{type:``,status:``}),B()}function H(){M.value=!1,A.value=`新增审批模板`,Object.assign(I,{id:null,name:``,type:``,form_fields:``,flow_nodes:``,status:1,sort:0}),k.value=!0}async function U(e){M.value=!0,A.value=`编辑审批模板`;let t=(await v.getDetail(e.id)).data;Object.assign(I,{id:t.id,name:t.name,type:t.type,form_fields:t.form_fields?typeof t.form_fields==`string`?t.form_fields:JSON.stringify(t.form_fields,null,2):``,flow_nodes:t.flow_nodes?typeof t.flow_nodes==`string`?t.flow_nodes:JSON.stringify(t.flow_nodes,null,2):``,status:t.status,sort:t.sort||0}),k.value=!0}async function W(){F.value&&await F.value.validate(async e=>{if(e){j.value=!0;try{let e={...I};if(e.form_fields)try{e.form_fields=JSON.parse(e.form_fields)}catch{}if(e.flow_nodes)try{e.flow_nodes=JSON.parse(e.flow_nodes)}catch{}M.value?(await v.update(I.id,e),_.success(`更新成功`)):(await v.create(e),_.success(`创建成功`)),k.value=!1,z()}finally{j.value=!1}}})}async function G(e){await g.confirm(`确定删除审批模板「${e.name}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),z()}function K(e){P.page=e,z()}function q(e){P.per_page=e,P.page=1,z()}return r(()=>{z()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-tag`),M=i(`el-table`),z=i(`el-pagination`),J=i(`el-input`),Y=i(`el-form-item`),X=i(`el-switch`),Z=i(`el-input-number`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:N.type,"onUpdate:modelValue":u[0]||=e=>N.type=e,placeholder:`模板类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:N.status,"onUpdate:modelValue":u[1]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(f,{label:`启用`,value:1}),m(f,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:B},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:V},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[15]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`审批模板列表`)],-1),m(_,{type:`primary`,onClick:H},{default:e(()=>[...u[14]||=[o(`新增模板`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(M,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(v,{prop:`name`,label:`模板名称`,"min-width":`160`}),m(v,{label:`类型`,width:`100`,align:`center`},{default:e(({row:t})=>[m(T,{size:`small`},{default:e(()=>[o(a(L[t.type]||`-`),1)]),_:2},1024)]),_:1}),m(v,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(T,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),m(v,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(_,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ee,O.value]])]),p(`div`,w,[m(z,{"current-page":P.page,"onUpdate:currentPage":u[2]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":u[3]||=e=>P.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:k.value,"onUpdate:modelValue":u[11]||=e=>k.value=e,title:A.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[10]||=e=>k.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:F,model:I,rules:R,"label-width":`100px`},{default:e(()=>[m(Y,{label:`模板名称`,prop:`name`},{default:e(()=>[m(J,{modelValue:I.name,"onUpdate:modelValue":u[4]||=e=>I.name=e,placeholder:`请输入模板名称`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`模板类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:I.type,"onUpdate:modelValue":u[5]||=e=>I.type=e,placeholder:`请选择类型`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Y,{label:`表单字段`},{default:e(()=>[m(J,{modelValue:I.form_fields,"onUpdate:modelValue":u[6]||=e=>I.form_fields=e,type:`textarea`,rows:4,placeholder:`JSON格式,如:[{"label":"天数","type":"number"}]`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`审批节点`},{default:e(()=>[m(J,{modelValue:I.flow_nodes,"onUpdate:modelValue":u[7]||=e=>I.flow_nodes=e,type:`textarea`,rows:4,placeholder:`JSON格式,如:[{"name":"主管审批","role":"manager"}]`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`状态`},{default:e(()=>[m(X,{modelValue:I.status,"onUpdate:modelValue":u[8]||=e=>I.status=e,"active-value":1,"inactive-value":0,"active-text":`启用`,"inactive-text":`停用`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`排序`},{default:e(()=>[m(Z,{modelValue:I.sort,"onUpdate:modelValue":u[9]||=e=>I.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{r as v}from"./office-CIThbrL3.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(`新增审批模板`),j=u(!1),M=u(!1),N=f({type:``,status:``}),P=f({page:1,per_page:20}),F=u(null),I=f({id:null,name:``,type:``,form_fields:``,flow_nodes:``,status:1,sort:0}),L={1:`请假`,2:`采购`,3:`合同`,4:`退款`,5:`换房`},R={name:[{required:!0,message:`请输入模板名称`,trigger:`blur`}],type:[{required:!0,message:`请选择模板类型`,trigger:`change`}]};async function z(){O.value=!0;try{let e=await v.getList({...N,...P});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function B(){P.page=1,z()}function V(){Object.assign(N,{type:``,status:``}),B()}function H(){M.value=!1,A.value=`新增审批模板`,Object.assign(I,{id:null,name:``,type:``,form_fields:``,flow_nodes:``,status:1,sort:0}),k.value=!0}async function U(e){M.value=!0,A.value=`编辑审批模板`;let t=(await v.getDetail(e.id)).data;Object.assign(I,{id:t.id,name:t.name,type:t.type,form_fields:t.form_fields?typeof t.form_fields==`string`?t.form_fields:JSON.stringify(t.form_fields,null,2):``,flow_nodes:t.flow_nodes?typeof t.flow_nodes==`string`?t.flow_nodes:JSON.stringify(t.flow_nodes,null,2):``,status:t.status,sort:t.sort||0}),k.value=!0}async function W(){F.value&&await F.value.validate(async e=>{if(e){j.value=!0;try{let e={...I};if(e.form_fields)try{e.form_fields=JSON.parse(e.form_fields)}catch{}if(e.flow_nodes)try{e.flow_nodes=JSON.parse(e.flow_nodes)}catch{}M.value?(await v.update(I.id,e),_.success(`更新成功`)):(await v.create(e),_.success(`创建成功`)),k.value=!1,z()}finally{j.value=!1}}})}async function G(e){await g.confirm(`确定删除审批模板「${e.name}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),z()}function K(e){P.page=e,z()}function q(e){P.per_page=e,P.page=1,z()}return r(()=>{z()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-tag`),M=i(`el-table`),z=i(`el-pagination`),J=i(`el-input`),Y=i(`el-form-item`),X=i(`el-switch`),Z=i(`el-input-number`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:N.type,"onUpdate:modelValue":u[0]||=e=>N.type=e,placeholder:`模板类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:N.status,"onUpdate:modelValue":u[1]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(f,{label:`启用`,value:1}),m(f,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:B},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:V},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[15]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`审批模板列表`)],-1),m(_,{type:`primary`,onClick:H},{default:e(()=>[...u[14]||=[o(`新增模板`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(M,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(v,{prop:`name`,label:`模板名称`,"min-width":`160`}),m(v,{label:`类型`,width:`100`,align:`center`},{default:e(({row:t})=>[m(T,{size:`small`},{default:e(()=>[o(a(L[t.type]||`-`),1)]),_:2},1024)]),_:1}),m(v,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(T,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),m(v,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(_,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ee,O.value]])]),p(`div`,w,[m(z,{"current-page":P.page,"onUpdate:currentPage":u[2]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":u[3]||=e=>P.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:k.value,"onUpdate:modelValue":u[11]||=e=>k.value=e,title:A.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[10]||=e=>k.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:F,model:I,rules:R,"label-width":`100px`},{default:e(()=>[m(Y,{label:`模板名称`,prop:`name`},{default:e(()=>[m(J,{modelValue:I.name,"onUpdate:modelValue":u[4]||=e=>I.name=e,placeholder:`请输入模板名称`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`模板类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:I.type,"onUpdate:modelValue":u[5]||=e=>I.type=e,placeholder:`请选择类型`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Y,{label:`表单字段`},{default:e(()=>[m(J,{modelValue:I.form_fields,"onUpdate:modelValue":u[6]||=e=>I.form_fields=e,type:`textarea`,rows:4,placeholder:`JSON格式,如:[{"label":"天数","type":"number"}]`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`审批节点`},{default:e(()=>[m(J,{modelValue:I.flow_nodes,"onUpdate:modelValue":u[7]||=e=>I.flow_nodes=e,type:`textarea`,rows:4,placeholder:`JSON格式,如:[{"name":"主管审批","role":"manager"}]`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`状态`},{default:e(()=>[m(X,{modelValue:I.status,"onUpdate:modelValue":u[8]||=e=>I.status=e,"active-value":1,"inactive-value":0,"active-text":`启用`,"inactive-text":`停用`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`排序`},{default:e(()=>[m(Z,{modelValue:I.sort,"onUpdate:modelValue":u[9]||=e=>I.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/approvals-CHwBE6jA.js b/frontend/dist/assets/approvals-BAF9KaoV.js similarity index 98% rename from frontend/dist/assets/approvals-CHwBE6jA.js rename to frontend/dist/assets/approvals-BAF9KaoV.js index 1222ce2..a774529 100644 --- a/frontend/dist/assets/approvals-CHwBE6jA.js +++ b/frontend/dist/assets/approvals-BAF9KaoV.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as te,f as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as h,s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as _,r as v}from"./office-DHw6Jomg.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},ne={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},re={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},x={class:`px-2`},S={class:`px-5 py-3 border-t border-gray-50`},C={key:0},w={class:`text-sm space-y-1 py-1 text-gray-500`},ie={class:`text-gray-700`},ae={key:0},T={class:`text-gray-700`},E={key:1,class:`text-xs text-gray-400`},D={__name:`index`,setup(D){let O=l([]),k=l(0),A=l(!1),j=l(!1),M=l(!1),N=l(!1),P=l(!1),F=d({status:``}),I=d({page:1,per_page:20}),L=l(null),R=d({title:``,template_id:``,form_data:``}),z=l([]),B=l(null),V=d({comment:``}),H=l(null),U={0:`待审批`,1:`审批中`,2:`已通过`,3:`已驳回`,4:`已撤回`},W={0:`warning`,1:`primary`,2:`success`,3:`danger`,4:`info`},G={0:`待处理`,1:`已通过`,2:`已驳回`},K={title:[{required:!0,message:`请输入审批标题`,trigger:`blur`}]};async function q(){A.value=!0;try{let e=await _.getList({...F,...I});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function J(){try{let e=await v.getList({per_page:100,status:1});z.value=e.data?.list||e.data?.data||[]}catch{}}function Y(){I.page=1,q()}function oe(){Object.assign(F,{status:``}),Y()}function se(){Object.assign(R,{title:``,template_id:``,form_data:``}),j.value=!0}async function ce(){L.value&&await L.value.validate(async e=>{if(e){P.value=!0;try{let e={...R};if(e.form_data)try{e.form_data=JSON.parse(e.form_data)}catch{}e.template_id||delete e.template_id,await _.create(e),g.success(`提交成功,审批节点已自动创建`),j.value=!1,q()}finally{P.value=!1}}})}async function X(e){try{B.value=(await _.getDetail(e.id)).data,M.value=!0}catch{g.error(`加载详情失败`)}}async function le(e){await h.confirm(`确定通过该审批节点吗?`,`审批确认`,{type:`warning`}),await _.approve(e.id,{}),g.success(`审批已通过`),q()}function ue(e){H.value=e,V.comment=``,N.value=!0}async function de(){H.value&&(await _.reject(H.value.id,{comment:V.comment}),g.success(`审批已驳回`),N.value=!1,q())}async function fe(e){await h.confirm(`确定撤回该审批吗?`,`撤回确认`,{type:`warning`}),await _.withdraw(e.id),g.success(`审批已撤回`),q()}function pe(e,t){return e.node_ordere.node_order-t.node_order)}function he(e){I.page=e,q()}function ge(e){I.per_page=e,I.page=1,q()}return ee(()=>{q(),J()}),(ee,l)=>{let d=r(`el-option`),h=r(`el-select`),g=r(`el-button`),_=r(`el-table-column`),v=r(`el-tag`),D=r(`el-table`),H=r(`el-pagination`),q=r(`el-input`),J=r(`el-form-item`),Z=r(`el-form`),Q=r(`el-dialog`),$=r(`el-descriptions-item`),_e=r(`el-descriptions`),ve=r(`el-step`),ye=r(`el-steps`),be=r(`el-empty`),xe=t(`loading`);return n(),u(`div`,y,[f(`div`,b,[p(h,{modelValue:F.status,"onUpdate:modelValue":l[0]||=e=>F.status=e,placeholder:`审批状态`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),u(c,null,m(U,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(g,{type:`primary`,onClick:Y},{default:e(()=>[...l[13]||=[a(`查询`,-1)]]),_:1}),p(g,{onClick:oe},{default:e(()=>[...l[14]||=[a(`重置`,-1)]]),_:1})]),f(`div`,ne,[f(`div`,re,[l[16]||=f(`span`,{class:`font-medium text-gray-700`},`审批列表`,-1),p(g,{type:`primary`,onClick:se},{default:e(()=>[...l[15]||=[a(`发起审批`,-1)]]),_:1})]),f(`div`,x,[te((n(),o(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[p(_,{label:`标题`,"min-width":`200`},{default:e(({row:t})=>[p(g,{type:`primary`,link:``,onClick:e=>X(t)},{default:e(()=>[a(i(t.title),1)]),_:2},1032,[`onClick`])]),_:1}),p(_,{label:`申请人`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.applicant?.name||`-`),1)]),_:1}),p(_,{label:`审批模板`,"min-width":`120`},{default:e(({row:e})=>[a(i(e.template?.name||`无模板`),1)]),_:1}),p(_,{label:`当前节点`,width:`90`,align:`center`},{default:e(({row:e})=>[a(`第 `+i(e.current_node||1)+` 级`,1)]),_:1}),p(_,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[p(v,{type:W[t.status],size:`small`},{default:e(()=>[a(i(U[t.status]),1)]),_:2},1032,[`type`])]),_:1}),p(_,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),p(_,{label:`操作`,width:`230`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(g,{size:`small`,text:``,onClick:e=>X(t)},{default:e(()=>[...l[17]||=[a(`详情`,-1)]]),_:1},8,[`onClick`]),t.status<=1?(n(),u(c,{key:0},[p(g,{size:`small`,type:`success`,text:``,onClick:e=>le(t)},{default:e(()=>[...l[18]||=[a(`通过`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`danger`,text:``,onClick:e=>ue(t)},{default:e(()=>[...l[19]||=[a(`驳回`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`warning`,text:``,onClick:e=>fe(t)},{default:e(()=>[...l[20]||=[a(`撤回`,-1)]]),_:1},8,[`onClick`])],64)):s(``,!0)]),_:1})]),_:1},8,[`data`])),[[xe,A.value]])]),f(`div`,S,[p(H,{"current-page":I.page,"onUpdate:currentPage":l[1]||=e=>I.page=e,"page-size":I.per_page,"onUpdate:pageSize":l[2]||=e=>I.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:he,onSizeChange:ge},null,8,[`current-page`,`page-size`,`total`])])]),p(Q,{modelValue:j.value,"onUpdate:modelValue":l[7]||=e=>j.value=e,title:`发起审批`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[6]||=e=>j.value=!1},{default:e(()=>[...l[21]||=[a(`取消`,-1)]]),_:1}),p(g,{type:`primary`,loading:P.value,onClick:ce},{default:e(()=>[...l[22]||=[a(`提交`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(Z,{ref_key:`formRef`,ref:L,model:R,rules:K,"label-width":`100px`},{default:e(()=>[p(J,{label:`审批标题`,prop:`title`},{default:e(()=>[p(q,{modelValue:R.title,"onUpdate:modelValue":l[3]||=e=>R.title=e,placeholder:`请输入审批标题`},null,8,[`modelValue`])]),_:1}),p(J,{label:`审批模板`},{default:e(()=>[p(h,{modelValue:R.template_id,"onUpdate:modelValue":l[4]||=e=>R.template_id=e,placeholder:`请选择审批模板(可选,选择后自动生成多级审批节点)`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),u(c,null,m(z.value,e=>(n(),o(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),p(J,{label:`表单数据`},{default:e(()=>[p(q,{modelValue:R.form_data,"onUpdate:modelValue":l[5]||=e=>R.form_data=e,type:`textarea`,rows:3,placeholder:`JSON格式(可选)`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),p(Q,{modelValue:M.value,"onUpdate:modelValue":l[9]||=e=>M.value=e,title:`审批详情`,width:`700px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[8]||=e=>M.value=!1},{default:e(()=>[...l[27]||=[a(`关闭`,-1)]]),_:1})]),default:e(()=>[B.value?(n(),u(c,{key:0},[p(_e,{column:2,border:``,class:`mb-5`},{default:e(()=>[p($,{label:`审批标题`,span:2},{default:e(()=>[a(i(B.value.title),1)]),_:1}),p($,{label:`申请人`},{default:e(()=>[a(i(B.value.applicant?.name||`-`),1)]),_:1}),p($,{label:`审批模板`},{default:e(()=>[a(i(B.value.template?.name||`无模板`),1)]),_:1}),p($,{label:`状态`},{default:e(()=>[p(v,{type:W[B.value.status],size:`small`},{default:e(()=>[a(i(U[B.value.status]),1)]),_:1},8,[`type`])]),_:1}),p($,{label:`当前节点`},{default:e(()=>[a(`第 `+i(B.value.current_node||1)+` 级`,1)]),_:1}),p($,{label:`创建时间`,span:2},{default:e(()=>[a(i(B.value.created_at),1)]),_:1})]),_:1}),l[26]||=f(`div`,{class:`font-medium text-gray-700 mb-3`},`审批流程进度`,-1),B.value.nodes&&B.value.nodes.length?(n(),u(`div`,C,[p(ye,{direction:`vertical`,active:B.value.current_node,space:`80px`},{default:e(()=>[(n(!0),u(c,null,m(me(B.value.nodes),t=>(n(),o(ve,{key:t.id,title:t.node_label||`第${t.node_order}级审批`,status:pe(t,B.value.current_node)},{description:e(()=>[f(`div`,w,[f(`div`,null,[l[23]||=a(`审批人:`,-1),f(`span`,ie,i(t.approver?.name||(t.role?`[${t.role}角色]`:`待指定`)),1)]),f(`div`,null,[l[24]||=a(` 状态: `,-1),p(v,{size:`small`,type:t.action===1?`success`:t.action===2?`danger`:`info`},{default:e(()=>[a(i(G[t.action]||`-`),1)]),_:2},1032,[`type`])]),t.comment?(n(),u(`div`,ae,[l[25]||=a(`意见:`,-1),f(`span`,T,i(t.comment),1)])):s(``,!0),t.acted_at?(n(),u(`div`,E,`操作时间:`+i(t.acted_at),1)):s(``,!0)])]),_:2},1032,[`title`,`status`]))),128))]),_:1},8,[`active`])])):(n(),o(be,{key:1,description:`暂无审批节点(提交后自动按模板生成)`,"image-size":60}))],64)):s(``,!0)]),_:1},8,[`modelValue`]),p(Q,{modelValue:N.value,"onUpdate:modelValue":l[12]||=e=>N.value=e,title:`驳回审批`,width:`460px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[11]||=e=>N.value=!1},{default:e(()=>[...l[28]||=[a(`取消`,-1)]]),_:1}),p(g,{type:`danger`,onClick:de},{default:e(()=>[...l[29]||=[a(`确认驳回`,-1)]]),_:1})]),default:e(()=>[p(Z,{"label-width":`80px`},{default:e(()=>[p(J,{label:`驳回意见`},{default:e(()=>[p(q,{modelValue:V.comment,"onUpdate:modelValue":l[10]||=e=>V.comment=e,type:`textarea`,rows:3,placeholder:`请输入驳回意见(可选)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as te,f as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as _,r as v}from"./office-CIThbrL3.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},ne={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},re={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},x={class:`px-2`},S={class:`px-5 py-3 border-t border-gray-50`},C={key:0},w={class:`text-sm space-y-1 py-1 text-gray-500`},ie={class:`text-gray-700`},ae={key:0},T={class:`text-gray-700`},E={key:1,class:`text-xs text-gray-400`},D={__name:`index`,setup(D){let O=l([]),k=l(0),A=l(!1),j=l(!1),M=l(!1),N=l(!1),P=l(!1),F=d({status:``}),I=d({page:1,per_page:20}),L=l(null),R=d({title:``,template_id:``,form_data:``}),z=l([]),B=l(null),V=d({comment:``}),H=l(null),U={0:`待审批`,1:`审批中`,2:`已通过`,3:`已驳回`,4:`已撤回`},W={0:`warning`,1:`primary`,2:`success`,3:`danger`,4:`info`},G={0:`待处理`,1:`已通过`,2:`已驳回`},K={title:[{required:!0,message:`请输入审批标题`,trigger:`blur`}]};async function q(){A.value=!0;try{let e=await _.getList({...F,...I});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function J(){try{let e=await v.getList({per_page:100,status:1});z.value=e.data?.list||e.data?.data||[]}catch{}}function Y(){I.page=1,q()}function oe(){Object.assign(F,{status:``}),Y()}function se(){Object.assign(R,{title:``,template_id:``,form_data:``}),j.value=!0}async function ce(){L.value&&await L.value.validate(async e=>{if(e){P.value=!0;try{let e={...R};if(e.form_data)try{e.form_data=JSON.parse(e.form_data)}catch{}e.template_id||delete e.template_id,await _.create(e),g.success(`提交成功,审批节点已自动创建`),j.value=!1,q()}finally{P.value=!1}}})}async function X(e){try{B.value=(await _.getDetail(e.id)).data,M.value=!0}catch{g.error(`加载详情失败`)}}async function le(e){await h.confirm(`确定通过该审批节点吗?`,`审批确认`,{type:`warning`}),await _.approve(e.id,{}),g.success(`审批已通过`),q()}function ue(e){H.value=e,V.comment=``,N.value=!0}async function de(){H.value&&(await _.reject(H.value.id,{comment:V.comment}),g.success(`审批已驳回`),N.value=!1,q())}async function fe(e){await h.confirm(`确定撤回该审批吗?`,`撤回确认`,{type:`warning`}),await _.withdraw(e.id),g.success(`审批已撤回`),q()}function pe(e,t){return e.node_ordere.node_order-t.node_order)}function he(e){I.page=e,q()}function ge(e){I.per_page=e,I.page=1,q()}return ee(()=>{q(),J()}),(ee,l)=>{let d=r(`el-option`),h=r(`el-select`),g=r(`el-button`),_=r(`el-table-column`),v=r(`el-tag`),D=r(`el-table`),H=r(`el-pagination`),q=r(`el-input`),J=r(`el-form-item`),Z=r(`el-form`),Q=r(`el-dialog`),$=r(`el-descriptions-item`),_e=r(`el-descriptions`),ve=r(`el-step`),ye=r(`el-steps`),be=r(`el-empty`),xe=t(`loading`);return n(),u(`div`,y,[f(`div`,b,[p(h,{modelValue:F.status,"onUpdate:modelValue":l[0]||=e=>F.status=e,placeholder:`审批状态`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),u(c,null,m(U,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(g,{type:`primary`,onClick:Y},{default:e(()=>[...l[13]||=[a(`查询`,-1)]]),_:1}),p(g,{onClick:oe},{default:e(()=>[...l[14]||=[a(`重置`,-1)]]),_:1})]),f(`div`,ne,[f(`div`,re,[l[16]||=f(`span`,{class:`font-medium text-gray-700`},`审批列表`,-1),p(g,{type:`primary`,onClick:se},{default:e(()=>[...l[15]||=[a(`发起审批`,-1)]]),_:1})]),f(`div`,x,[te((n(),o(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[p(_,{label:`标题`,"min-width":`200`},{default:e(({row:t})=>[p(g,{type:`primary`,link:``,onClick:e=>X(t)},{default:e(()=>[a(i(t.title),1)]),_:2},1032,[`onClick`])]),_:1}),p(_,{label:`申请人`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.applicant?.name||`-`),1)]),_:1}),p(_,{label:`审批模板`,"min-width":`120`},{default:e(({row:e})=>[a(i(e.template?.name||`无模板`),1)]),_:1}),p(_,{label:`当前节点`,width:`90`,align:`center`},{default:e(({row:e})=>[a(`第 `+i(e.current_node||1)+` 级`,1)]),_:1}),p(_,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[p(v,{type:W[t.status],size:`small`},{default:e(()=>[a(i(U[t.status]),1)]),_:2},1032,[`type`])]),_:1}),p(_,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),p(_,{label:`操作`,width:`230`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(g,{size:`small`,text:``,onClick:e=>X(t)},{default:e(()=>[...l[17]||=[a(`详情`,-1)]]),_:1},8,[`onClick`]),t.status<=1?(n(),u(c,{key:0},[p(g,{size:`small`,type:`success`,text:``,onClick:e=>le(t)},{default:e(()=>[...l[18]||=[a(`通过`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`danger`,text:``,onClick:e=>ue(t)},{default:e(()=>[...l[19]||=[a(`驳回`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`warning`,text:``,onClick:e=>fe(t)},{default:e(()=>[...l[20]||=[a(`撤回`,-1)]]),_:1},8,[`onClick`])],64)):s(``,!0)]),_:1})]),_:1},8,[`data`])),[[xe,A.value]])]),f(`div`,S,[p(H,{"current-page":I.page,"onUpdate:currentPage":l[1]||=e=>I.page=e,"page-size":I.per_page,"onUpdate:pageSize":l[2]||=e=>I.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:he,onSizeChange:ge},null,8,[`current-page`,`page-size`,`total`])])]),p(Q,{modelValue:j.value,"onUpdate:modelValue":l[7]||=e=>j.value=e,title:`发起审批`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[6]||=e=>j.value=!1},{default:e(()=>[...l[21]||=[a(`取消`,-1)]]),_:1}),p(g,{type:`primary`,loading:P.value,onClick:ce},{default:e(()=>[...l[22]||=[a(`提交`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(Z,{ref_key:`formRef`,ref:L,model:R,rules:K,"label-width":`100px`},{default:e(()=>[p(J,{label:`审批标题`,prop:`title`},{default:e(()=>[p(q,{modelValue:R.title,"onUpdate:modelValue":l[3]||=e=>R.title=e,placeholder:`请输入审批标题`},null,8,[`modelValue`])]),_:1}),p(J,{label:`审批模板`},{default:e(()=>[p(h,{modelValue:R.template_id,"onUpdate:modelValue":l[4]||=e=>R.template_id=e,placeholder:`请选择审批模板(可选,选择后自动生成多级审批节点)`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),u(c,null,m(z.value,e=>(n(),o(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),p(J,{label:`表单数据`},{default:e(()=>[p(q,{modelValue:R.form_data,"onUpdate:modelValue":l[5]||=e=>R.form_data=e,type:`textarea`,rows:3,placeholder:`JSON格式(可选)`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),p(Q,{modelValue:M.value,"onUpdate:modelValue":l[9]||=e=>M.value=e,title:`审批详情`,width:`700px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[8]||=e=>M.value=!1},{default:e(()=>[...l[27]||=[a(`关闭`,-1)]]),_:1})]),default:e(()=>[B.value?(n(),u(c,{key:0},[p(_e,{column:2,border:``,class:`mb-5`},{default:e(()=>[p($,{label:`审批标题`,span:2},{default:e(()=>[a(i(B.value.title),1)]),_:1}),p($,{label:`申请人`},{default:e(()=>[a(i(B.value.applicant?.name||`-`),1)]),_:1}),p($,{label:`审批模板`},{default:e(()=>[a(i(B.value.template?.name||`无模板`),1)]),_:1}),p($,{label:`状态`},{default:e(()=>[p(v,{type:W[B.value.status],size:`small`},{default:e(()=>[a(i(U[B.value.status]),1)]),_:1},8,[`type`])]),_:1}),p($,{label:`当前节点`},{default:e(()=>[a(`第 `+i(B.value.current_node||1)+` 级`,1)]),_:1}),p($,{label:`创建时间`,span:2},{default:e(()=>[a(i(B.value.created_at),1)]),_:1})]),_:1}),l[26]||=f(`div`,{class:`font-medium text-gray-700 mb-3`},`审批流程进度`,-1),B.value.nodes&&B.value.nodes.length?(n(),u(`div`,C,[p(ye,{direction:`vertical`,active:B.value.current_node,space:`80px`},{default:e(()=>[(n(!0),u(c,null,m(me(B.value.nodes),t=>(n(),o(ve,{key:t.id,title:t.node_label||`第${t.node_order}级审批`,status:pe(t,B.value.current_node)},{description:e(()=>[f(`div`,w,[f(`div`,null,[l[23]||=a(`审批人:`,-1),f(`span`,ie,i(t.approver?.name||(t.role?`[${t.role}角色]`:`待指定`)),1)]),f(`div`,null,[l[24]||=a(` 状态: `,-1),p(v,{size:`small`,type:t.action===1?`success`:t.action===2?`danger`:`info`},{default:e(()=>[a(i(G[t.action]||`-`),1)]),_:2},1032,[`type`])]),t.comment?(n(),u(`div`,ae,[l[25]||=a(`意见:`,-1),f(`span`,T,i(t.comment),1)])):s(``,!0),t.acted_at?(n(),u(`div`,E,`操作时间:`+i(t.acted_at),1)):s(``,!0)])]),_:2},1032,[`title`,`status`]))),128))]),_:1},8,[`active`])])):(n(),o(be,{key:1,description:`暂无审批节点(提交后自动按模板生成)`,"image-size":60}))],64)):s(``,!0)]),_:1},8,[`modelValue`]),p(Q,{modelValue:N.value,"onUpdate:modelValue":l[12]||=e=>N.value=e,title:`驳回审批`,width:`460px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[11]||=e=>N.value=!1},{default:e(()=>[...l[28]||=[a(`取消`,-1)]]),_:1}),p(g,{type:`danger`,onClick:de},{default:e(()=>[...l[29]||=[a(`确认驳回`,-1)]]),_:1})]),default:e(()=>[p(Z,{"label-width":`80px`},{default:e(()=>[p(J,{label:`驳回意见`},{default:e(()=>[p(q,{modelValue:V.comment,"onUpdate:modelValue":l[10]||=e=>V.comment=e,type:`textarea`,rows:3,placeholder:`请输入驳回意见(可选)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/articles-B1z_DB6H.js b/frontend/dist/assets/articles-DWzdB9N4.js similarity index 98% rename from frontend/dist/assets/articles-B1z_DB6H.js rename to frontend/dist/assets/articles-DWzdB9N4.js index 1e10fe8..d5df645 100644 --- a/frontend/dist/assets/articles-B1z_DB6H.js +++ b/frontend/dist/assets/articles-DWzdB9N4.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,o as v,s as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as b,t as x}from"./kb-DoVqfT25.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},ee={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d([]),P=p({keyword:``,category_id:``,status:``,visibility:``}),F=p({page:1,per_page:20}),I=d(null),L=p({id:null,title:``,category_id:``,content:``,visibility:1,cover_image:``}),R=d(!1),z={title:[{required:!0,message:`请输入文章标题`,trigger:`blur`}]},B={0:`草稿`,1:`待审核`,2:`已发布`,3:`已下架`},V={0:`info`,1:`warning`,2:`success`,3:`danger`},H={1:`内部`,2:`公开`};async function U(){try{let e=await b.getList({per_page:200});N.value=e.data?.list||e.data?.data||[]}catch{N.value=[]}}async function W(){A.value=!0;try{let e=await x.getList({...P,...F});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}function G(){F.page=1,W()}function K(){Object.assign(P,{keyword:``,category_id:``,status:``,visibility:``}),G()}function q(){R.value=!1,Object.assign(L,{id:null,title:``,category_id:``,content:``,visibility:1,cover_image:``}),j.value=!0}async function J(e){R.value=!0,Object.assign(L,{id:e.id,title:e.title,category_id:e.category_id||``,content:e.content||``,visibility:e.visibility||1,cover_image:e.cover_image||``}),j.value=!0}async function Y(){I.value&&await I.value.validate(async e=>{if(e){M.value=!0;try{R.value?(await x.update(L.id,L),y.success(`更新成功`)):(await x.create(L),y.success(`创建成功`)),j.value=!1,W()}finally{M.value=!1}}})}async function X(e){await v.confirm(`确定删除文章「${e.title}」吗?`,`删除确认`,{type:`warning`}),await x.delete(e.id),y.success(`删除成功`),W()}async function Z(e){await v.confirm(`确定发布文章「${e.title}」吗?`,`发布确认`,{type:`info`}),await x.publish(e.id),y.success(`发布成功`),W()}async function Q(e){await v.confirm(`确定下架文章「${e.title}」吗?`,`下架确认`,{type:`warning`}),await x.offline(e.id),y.success(`下架成功`),W()}function te(e){F.page=e,W()}function ne(e){F.per_page=e,F.page=1,W()}return r(()=>{U(),W()}),(r,d)=>{let p=i(`el-input`),v=i(`el-option`),y=i(`el-select`),b=i(`el-button`),x=i(`el-table-column`),D=i(`el-tag`),U=i(`el-table`),W=i(`el-pagination`),$=i(`el-form-item`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(p,{modelValue:P.keyword,"onUpdate:modelValue":d[0]||=e=>P.keyword=e,placeholder:`标题搜索`,style:{width:`180px`},clearable:``,onKeydown:_(G,[`enter`])},null,8,[`modelValue`]),h(y,{modelValue:P.category_id,"onUpdate:modelValue":d[1]||=e=>P.category_id=e,placeholder:`分类`,clearable:``,style:{width:`150px`}},{default:e(()=>[(n(!0),f(u,null,g(N.value,e=>(n(),s(v,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(y,{modelValue:P.status,"onUpdate:modelValue":d[2]||=e=>P.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(B,(e,t)=>h(v,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{modelValue:P.visibility,"onUpdate:modelValue":d[3]||=e=>P.visibility=e,placeholder:`可见范围`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(v,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(b,{type:`primary`,onClick:G},{default:e(()=>[...d[13]||=[o(`查询`,-1)]]),_:1}),h(b,{onClick:K},{default:e(()=>[...d[14]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[16]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`文章列表`)],-1),h(b,{type:`primary`,onClick:q},{default:e(()=>[...d[15]||=[o(`新增文章`,-1)]]),_:1})]),m(`div`,E,[c((n(),s(U,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(x,{prop:`title`,label:`标题`,"min-width":`200`}),h(x,{label:`分类`,width:`120`,align:`center`},{default:e(({row:e})=>[o(a(e.category?.name||`-`),1)]),_:1}),h(x,{label:`作者`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(e.author?.name||`-`),1)]),_:1}),h(x,{label:`可见范围`,width:`100`,align:`center`},{default:e(({row:t})=>[h(D,{type:t.visibility===1?`warning`:`success`,size:`small`},{default:e(()=>[o(a(H[t.visibility]||`-`),1)]),_:2},1032,[`type`])]),_:1}),h(x,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(D,{type:V[t.status],size:`small`},{default:e(()=>[o(a(B[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),h(x,{prop:`views`,label:`浏览`,width:`70`,align:`center`}),h(x,{prop:`likes`,label:`点赞`,width:`70`,align:`center`}),h(x,{prop:`published_at`,label:`发布时间`,"min-width":`160`}),h(x,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<=1?(n(),s(b,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[17]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<=1?(n(),s(b,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>X(t)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(b,{key:2,size:`small`,type:`success`,text:``,onClick:e=>Z(t)},{default:e(()=>[...d[19]||=[o(`发布`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===2?(n(),s(b,{key:3,size:`small`,type:`warning`,text:``,onClick:e=>Q(t)},{default:e(()=>[...d[20]||=[o(`下架`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ae,A.value]])]),m(`div`,ee,[h(W,{"current-page":F.page,"onUpdate:currentPage":d[4]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":d[5]||=e=>F.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:te,onSizeChange:ne},null,8,[`current-page`,`page-size`,`total`])])]),h(ie,{modelValue:j.value,"onUpdate:modelValue":d[12]||=e=>j.value=e,title:R.value?`编辑文章`:`新增文章`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[h(b,{onClick:d[11]||=e=>j.value=!1},{default:e(()=>[...d[21]||=[o(`取消`,-1)]]),_:1}),h(b,{type:`primary`,loading:M.value,onClick:Y},{default:e(()=>[...d[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(re,{ref_key:`formRef`,ref:I,model:L,rules:z,"label-width":`90px`},{default:e(()=>[h($,{label:`文章标题`,prop:`title`},{default:e(()=>[h(p,{modelValue:L.title,"onUpdate:modelValue":d[6]||=e=>L.title=e,placeholder:`请输入文章标题`},null,8,[`modelValue`])]),_:1}),h($,{label:`所属分类`},{default:e(()=>[h(y,{modelValue:L.category_id,"onUpdate:modelValue":d[7]||=e=>L.category_id=e,placeholder:`请选择分类`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(N.value,e=>(n(),s(v,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`文章内容`},{default:e(()=>[h(p,{modelValue:L.content,"onUpdate:modelValue":d[8]||=e=>L.content=e,type:`textarea`,rows:10,placeholder:`请输入文章内容`},null,8,[`modelValue`])]),_:1}),h($,{label:`可见范围`},{default:e(()=>[h(y,{modelValue:L.visibility,"onUpdate:modelValue":d[9]||=e=>L.visibility=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(v,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`封面图片`},{default:e(()=>[h(p,{modelValue:L.cover_image,"onUpdate:modelValue":d[10]||=e=>L.cover_image=e,placeholder:`请输入封面图片URL`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,o as v,s as y}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as b,t as x}from"./kb-CR5OwwPK.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},ee={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d([]),P=p({keyword:``,category_id:``,status:``,visibility:``}),F=p({page:1,per_page:20}),I=d(null),L=p({id:null,title:``,category_id:``,content:``,visibility:1,cover_image:``}),R=d(!1),z={title:[{required:!0,message:`请输入文章标题`,trigger:`blur`}]},B={0:`草稿`,1:`待审核`,2:`已发布`,3:`已下架`},V={0:`info`,1:`warning`,2:`success`,3:`danger`},H={1:`内部`,2:`公开`};async function U(){try{let e=await b.getList({per_page:200});N.value=e.data?.list||e.data?.data||[]}catch{N.value=[]}}async function W(){A.value=!0;try{let e=await x.getList({...P,...F});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}function G(){F.page=1,W()}function K(){Object.assign(P,{keyword:``,category_id:``,status:``,visibility:``}),G()}function q(){R.value=!1,Object.assign(L,{id:null,title:``,category_id:``,content:``,visibility:1,cover_image:``}),j.value=!0}async function J(e){R.value=!0,Object.assign(L,{id:e.id,title:e.title,category_id:e.category_id||``,content:e.content||``,visibility:e.visibility||1,cover_image:e.cover_image||``}),j.value=!0}async function Y(){I.value&&await I.value.validate(async e=>{if(e){M.value=!0;try{R.value?(await x.update(L.id,L),y.success(`更新成功`)):(await x.create(L),y.success(`创建成功`)),j.value=!1,W()}finally{M.value=!1}}})}async function X(e){await v.confirm(`确定删除文章「${e.title}」吗?`,`删除确认`,{type:`warning`}),await x.delete(e.id),y.success(`删除成功`),W()}async function Z(e){await v.confirm(`确定发布文章「${e.title}」吗?`,`发布确认`,{type:`info`}),await x.publish(e.id),y.success(`发布成功`),W()}async function Q(e){await v.confirm(`确定下架文章「${e.title}」吗?`,`下架确认`,{type:`warning`}),await x.offline(e.id),y.success(`下架成功`),W()}function te(e){F.page=e,W()}function ne(e){F.per_page=e,F.page=1,W()}return r(()=>{U(),W()}),(r,d)=>{let p=i(`el-input`),v=i(`el-option`),y=i(`el-select`),b=i(`el-button`),x=i(`el-table-column`),D=i(`el-tag`),U=i(`el-table`),W=i(`el-pagination`),$=i(`el-form-item`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(p,{modelValue:P.keyword,"onUpdate:modelValue":d[0]||=e=>P.keyword=e,placeholder:`标题搜索`,style:{width:`180px`},clearable:``,onKeydown:_(G,[`enter`])},null,8,[`modelValue`]),h(y,{modelValue:P.category_id,"onUpdate:modelValue":d[1]||=e=>P.category_id=e,placeholder:`分类`,clearable:``,style:{width:`150px`}},{default:e(()=>[(n(!0),f(u,null,g(N.value,e=>(n(),s(v,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(y,{modelValue:P.status,"onUpdate:modelValue":d[2]||=e=>P.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(B,(e,t)=>h(v,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{modelValue:P.visibility,"onUpdate:modelValue":d[3]||=e=>P.visibility=e,placeholder:`可见范围`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(v,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(b,{type:`primary`,onClick:G},{default:e(()=>[...d[13]||=[o(`查询`,-1)]]),_:1}),h(b,{onClick:K},{default:e(()=>[...d[14]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[16]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`文章列表`)],-1),h(b,{type:`primary`,onClick:q},{default:e(()=>[...d[15]||=[o(`新增文章`,-1)]]),_:1})]),m(`div`,E,[c((n(),s(U,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(x,{prop:`title`,label:`标题`,"min-width":`200`}),h(x,{label:`分类`,width:`120`,align:`center`},{default:e(({row:e})=>[o(a(e.category?.name||`-`),1)]),_:1}),h(x,{label:`作者`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(e.author?.name||`-`),1)]),_:1}),h(x,{label:`可见范围`,width:`100`,align:`center`},{default:e(({row:t})=>[h(D,{type:t.visibility===1?`warning`:`success`,size:`small`},{default:e(()=>[o(a(H[t.visibility]||`-`),1)]),_:2},1032,[`type`])]),_:1}),h(x,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(D,{type:V[t.status],size:`small`},{default:e(()=>[o(a(B[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),h(x,{prop:`views`,label:`浏览`,width:`70`,align:`center`}),h(x,{prop:`likes`,label:`点赞`,width:`70`,align:`center`}),h(x,{prop:`published_at`,label:`发布时间`,"min-width":`160`}),h(x,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<=1?(n(),s(b,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[17]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<=1?(n(),s(b,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>X(t)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(b,{key:2,size:`small`,type:`success`,text:``,onClick:e=>Z(t)},{default:e(()=>[...d[19]||=[o(`发布`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===2?(n(),s(b,{key:3,size:`small`,type:`warning`,text:``,onClick:e=>Q(t)},{default:e(()=>[...d[20]||=[o(`下架`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ae,A.value]])]),m(`div`,ee,[h(W,{"current-page":F.page,"onUpdate:currentPage":d[4]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":d[5]||=e=>F.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:te,onSizeChange:ne},null,8,[`current-page`,`page-size`,`total`])])]),h(ie,{modelValue:j.value,"onUpdate:modelValue":d[12]||=e=>j.value=e,title:R.value?`编辑文章`:`新增文章`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[h(b,{onClick:d[11]||=e=>j.value=!1},{default:e(()=>[...d[21]||=[o(`取消`,-1)]]),_:1}),h(b,{type:`primary`,loading:M.value,onClick:Y},{default:e(()=>[...d[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(re,{ref_key:`formRef`,ref:I,model:L,rules:z,"label-width":`90px`},{default:e(()=>[h($,{label:`文章标题`,prop:`title`},{default:e(()=>[h(p,{modelValue:L.title,"onUpdate:modelValue":d[6]||=e=>L.title=e,placeholder:`请输入文章标题`},null,8,[`modelValue`])]),_:1}),h($,{label:`所属分类`},{default:e(()=>[h(y,{modelValue:L.category_id,"onUpdate:modelValue":d[7]||=e=>L.category_id=e,placeholder:`请选择分类`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(N.value,e=>(n(),s(v,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`文章内容`},{default:e(()=>[h(p,{modelValue:L.content,"onUpdate:modelValue":d[8]||=e=>L.content=e,type:`textarea`,rows:10,placeholder:`请输入文章内容`},null,8,[`modelValue`])]),_:1}),h($,{label:`可见范围`},{default:e(()=>[h(y,{modelValue:L.visibility,"onUpdate:modelValue":d[9]||=e=>L.visibility=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(v,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`封面图片`},{default:e(()=>[h(p,{modelValue:L.cover_image,"onUpdate:modelValue":d[10]||=e=>L.cover_image=e,placeholder:`请输入封面图片URL`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/attendances-Cv2Ceyms.js b/frontend/dist/assets/attendances-B_DnAiN3.js similarity index 98% rename from frontend/dist/assets/attendances-Cv2Ceyms.js rename to frontend/dist/assets/attendances-B_DnAiN3.js index f9e137a..e5fa6f1 100644 --- a/frontend/dist/assets/attendances-Cv2Ceyms.js +++ b/frontend/dist/assets/attendances-B_DnAiN3.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as _}from"./hr-CYqLK_6c.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`flex items-center gap-3`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({user_id:``,status:``,date_range:[]}),M=f({page:1,per_page:20}),N=u(null),P=f({user_id:``,attendance_date:``,clock_in:``,clock_out:``,status:1,overtime_hours:0,remark:``}),F={1:`正常`,2:`迟到`,3:`早退`,4:`旷工`,5:`请假`},I={1:`success`,2:`warning`,3:`warning`,4:`danger`,5:`info`};async function L(){O.value=!0;try{let e={...M,user_id:j.user_id,status:j.status};j.date_range?.length===2&&(e.start_date=j.date_range[0],e.end_date=j.date_range[1]);let t=await _.getList(e);E.value=t.data?.list||t.data?.data||[],D.value=t.data?.total||0}finally{O.value=!1}}function R(){M.page=1,L()}function z(){Object.assign(j,{user_id:``,status:``,date_range:[]}),R()}async function B(){try{await _.clockIn(),g.success(`上班打卡成功`),L()}catch(e){g.error(e.response?.data?.message||`打卡失败`)}}async function V(){try{await _.clockOut(),g.success(`下班打卡成功`),L()}catch(e){g.error(e.response?.data?.message||`打卡失败`)}}function H(){Object.assign(P,{user_id:``,attendance_date:``,clock_in:``,clock_out:``,status:1,overtime_hours:0,remark:``}),k.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{await _.create(P),g.success(`创建成功`),k.value=!1,L()}finally{A.value=!1}}})}function W(e){M.page=e,L()}function G(e){M.per_page=e,M.page=1,L()}return r(()=>{L()}),(r,u)=>{let f=i(`el-input`),g=i(`el-option`),_=i(`el-select`),T=i(`el-date-picker`),L=i(`el-button`),K=i(`el-table-column`),q=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-time-picker`),Q=i(`el-input-number`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,v,[p(`div`,y,[m(f,{modelValue:j.user_id,"onUpdate:modelValue":u[0]||=e=>j.user_id=e,placeholder:`员工ID`,clearable:``,style:{width:`140px`}},null,8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(F,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(T,{modelValue:j.date_range,"onUpdate:modelValue":u[2]||=e=>j.date_range=e,type:`daterange`,"value-format":`YYYY-MM-DD`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`},null,8,[`modelValue`]),m(L,{type:`primary`,onClick:R},{default:e(()=>[...u[14]||=[o(`查询`,-1)]]),_:1}),m(L,{onClick:z},{default:e(()=>[...u[15]||=[o(`重置`,-1)]]),_:1})]),p(`div`,b,[p(`div`,x,[p(`div`,S,[m(L,{type:`success`,onClick:B},{default:e(()=>[...u[16]||=[o(`上班打卡`,-1)]]),_:1}),m(L,{type:`warning`,onClick:V},{default:e(()=>[...u[17]||=[o(`下班打卡`,-1)]]),_:1})]),m(L,{type:`primary`,onClick:H},{default:e(()=>[...u[18]||=[o(`手动录入`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(J,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(K,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.user?.name||`-`),1)]),_:1}),m(K,{prop:`attendance_date`,label:`考勤日期`,width:`120`}),m(K,{prop:`clock_in`,label:`上班打卡`,width:`100`}),m(K,{prop:`clock_out`,label:`下班打卡`,width:`100`}),m(K,{prop:`overtime_hours`,label:`加班(h)`,width:`90`,align:`center`}),m(K,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(q,{type:I[t.status],size:`small`},{default:e(()=>[o(a(F[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(K,{prop:`remark`,label:`备注`,"min-width":`150`,"show-overflow-tooltip":``}),m(K,{prop:`created_at`,label:`创建时间`,"min-width":`160`})]),_:1},8,[`data`])),[[te,O.value]])]),p(`div`,w,[m(Y,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:W,onSizeChange:G},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:k.value,"onUpdate:modelValue":u[13]||=e=>k.value=e,title:`手动录入考勤`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(L,{onClick:u[12]||=e=>k.value=!1},{default:e(()=>[...u[19]||=[o(`取消`,-1)]]),_:1}),m(L,{type:`primary`,loading:A.value,onClick:U},{default:e(()=>[...u[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:N,model:P,rules:{user_id:[{required:!0,message:`请输入员工ID`}],attendance_date:[{required:!0,message:`请选择考勤日期`}]},"label-width":`90px`},{default:e(()=>[m(X,{label:`员工ID`,prop:`user_id`},{default:e(()=>[m(f,{modelValue:P.user_id,"onUpdate:modelValue":u[5]||=e=>P.user_id=e,placeholder:`请输入员工ID`},null,8,[`modelValue`])]),_:1}),m(X,{label:`考勤日期`,prop:`attendance_date`},{default:e(()=>[m(T,{modelValue:P.attendance_date,"onUpdate:modelValue":u[6]||=e=>P.attendance_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`上班时间`},{default:e(()=>[m(Z,{modelValue:P.clock_in,"onUpdate:modelValue":u[7]||=e=>P.clock_in=e,"value-format":`HH:mm:ss`,placeholder:`上班打卡时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`下班时间`},{default:e(()=>[m(Z,{modelValue:P.clock_out,"onUpdate:modelValue":u[8]||=e=>P.clock_out=e,"value-format":`HH:mm:ss`,placeholder:`下班打卡时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(_,{modelValue:P.status,"onUpdate:modelValue":u[9]||=e=>P.status=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(F,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`加班时长`},{default:e(()=>[m(Q,{modelValue:P.overtime_hours,"onUpdate:modelValue":u[10]||=e=>P.overtime_hours=e,min:0,max:24,precision:1,step:.5,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[11]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as _}from"./hr-BpuQE_Km.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`flex items-center gap-3`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({user_id:``,status:``,date_range:[]}),M=f({page:1,per_page:20}),N=u(null),P=f({user_id:``,attendance_date:``,clock_in:``,clock_out:``,status:1,overtime_hours:0,remark:``}),F={1:`正常`,2:`迟到`,3:`早退`,4:`旷工`,5:`请假`},I={1:`success`,2:`warning`,3:`warning`,4:`danger`,5:`info`};async function L(){O.value=!0;try{let e={...M,user_id:j.user_id,status:j.status};j.date_range?.length===2&&(e.start_date=j.date_range[0],e.end_date=j.date_range[1]);let t=await _.getList(e);E.value=t.data?.list||t.data?.data||[],D.value=t.data?.total||0}finally{O.value=!1}}function R(){M.page=1,L()}function z(){Object.assign(j,{user_id:``,status:``,date_range:[]}),R()}async function B(){try{await _.clockIn(),g.success(`上班打卡成功`),L()}catch(e){g.error(e.response?.data?.message||`打卡失败`)}}async function V(){try{await _.clockOut(),g.success(`下班打卡成功`),L()}catch(e){g.error(e.response?.data?.message||`打卡失败`)}}function H(){Object.assign(P,{user_id:``,attendance_date:``,clock_in:``,clock_out:``,status:1,overtime_hours:0,remark:``}),k.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{await _.create(P),g.success(`创建成功`),k.value=!1,L()}finally{A.value=!1}}})}function W(e){M.page=e,L()}function G(e){M.per_page=e,M.page=1,L()}return r(()=>{L()}),(r,u)=>{let f=i(`el-input`),g=i(`el-option`),_=i(`el-select`),T=i(`el-date-picker`),L=i(`el-button`),K=i(`el-table-column`),q=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-time-picker`),Q=i(`el-input-number`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,v,[p(`div`,y,[m(f,{modelValue:j.user_id,"onUpdate:modelValue":u[0]||=e=>j.user_id=e,placeholder:`员工ID`,clearable:``,style:{width:`140px`}},null,8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(F,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(T,{modelValue:j.date_range,"onUpdate:modelValue":u[2]||=e=>j.date_range=e,type:`daterange`,"value-format":`YYYY-MM-DD`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`},null,8,[`modelValue`]),m(L,{type:`primary`,onClick:R},{default:e(()=>[...u[14]||=[o(`查询`,-1)]]),_:1}),m(L,{onClick:z},{default:e(()=>[...u[15]||=[o(`重置`,-1)]]),_:1})]),p(`div`,b,[p(`div`,x,[p(`div`,S,[m(L,{type:`success`,onClick:B},{default:e(()=>[...u[16]||=[o(`上班打卡`,-1)]]),_:1}),m(L,{type:`warning`,onClick:V},{default:e(()=>[...u[17]||=[o(`下班打卡`,-1)]]),_:1})]),m(L,{type:`primary`,onClick:H},{default:e(()=>[...u[18]||=[o(`手动录入`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(J,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(K,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.user?.name||`-`),1)]),_:1}),m(K,{prop:`attendance_date`,label:`考勤日期`,width:`120`}),m(K,{prop:`clock_in`,label:`上班打卡`,width:`100`}),m(K,{prop:`clock_out`,label:`下班打卡`,width:`100`}),m(K,{prop:`overtime_hours`,label:`加班(h)`,width:`90`,align:`center`}),m(K,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(q,{type:I[t.status],size:`small`},{default:e(()=>[o(a(F[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(K,{prop:`remark`,label:`备注`,"min-width":`150`,"show-overflow-tooltip":``}),m(K,{prop:`created_at`,label:`创建时间`,"min-width":`160`})]),_:1},8,[`data`])),[[te,O.value]])]),p(`div`,w,[m(Y,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:W,onSizeChange:G},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:k.value,"onUpdate:modelValue":u[13]||=e=>k.value=e,title:`手动录入考勤`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(L,{onClick:u[12]||=e=>k.value=!1},{default:e(()=>[...u[19]||=[o(`取消`,-1)]]),_:1}),m(L,{type:`primary`,loading:A.value,onClick:U},{default:e(()=>[...u[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:N,model:P,rules:{user_id:[{required:!0,message:`请输入员工ID`}],attendance_date:[{required:!0,message:`请选择考勤日期`}]},"label-width":`90px`},{default:e(()=>[m(X,{label:`员工ID`,prop:`user_id`},{default:e(()=>[m(f,{modelValue:P.user_id,"onUpdate:modelValue":u[5]||=e=>P.user_id=e,placeholder:`请输入员工ID`},null,8,[`modelValue`])]),_:1}),m(X,{label:`考勤日期`,prop:`attendance_date`},{default:e(()=>[m(T,{modelValue:P.attendance_date,"onUpdate:modelValue":u[6]||=e=>P.attendance_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`上班时间`},{default:e(()=>[m(Z,{modelValue:P.clock_in,"onUpdate:modelValue":u[7]||=e=>P.clock_in=e,"value-format":`HH:mm:ss`,placeholder:`上班打卡时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`下班时间`},{default:e(()=>[m(Z,{modelValue:P.clock_out,"onUpdate:modelValue":u[8]||=e=>P.clock_out=e,"value-format":`HH:mm:ss`,placeholder:`下班打卡时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(_,{modelValue:P.status,"onUpdate:modelValue":u[9]||=e=>P.status=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(F,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`加班时长`},{default:e(()=>[m(Q,{modelValue:P.overtime_hours,"onUpdate:modelValue":u[10]||=e=>P.overtime_hours=e,min:0,max:24,precision:1,step:.5,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[11]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/axios-Cty4xAHp.js b/frontend/dist/assets/axios-M7beJlyD.js similarity index 99% rename from frontend/dist/assets/axios-Cty4xAHp.js rename to frontend/dist/assets/axios-M7beJlyD.js index 6cd3172..ff6c361 100644 --- a/frontend/dist/assets/axios-Cty4xAHp.js +++ b/frontend/dist/assets/axios-M7beJlyD.js @@ -1,4 +1,4 @@ -import{d as e}from"./index-ZRE77JpD.js";function t(e,t){return function(){return e.apply(t,arguments)}}var{toString:n}=Object.prototype,{getPrototypeOf:r}=Object,{iterator:i,toStringTag:a}=Symbol,o=(e=>t=>{let r=n.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),s=e=>(e=e.toLowerCase(),t=>o(t)===e),c=e=>t=>typeof t===e,{isArray:l}=Array,u=c(`undefined`);function d(e){return e!==null&&!u(e)&&e.constructor!==null&&!u(e.constructor)&&h(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var f=s(`ArrayBuffer`);function p(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&f(e.buffer),t}var m=c(`string`),h=c(`function`),g=c(`number`),_=e=>typeof e==`object`&&!!e,v=e=>e===!0||e===!1,y=e=>{if(o(e)!==`object`)return!1;let t=r(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(a in e)&&!(i in e)},b=e=>{if(!_(e)||d(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},x=s(`Date`),S=s(`File`),C=e=>!!(e&&e.uri!==void 0),w=e=>e&&e.getParts!==void 0,ee=s(`Blob`),te=s(`FileList`),ne=e=>_(e)&&h(e.pipe);function re(){return typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}}var ie=re(),ae=ie.FormData===void 0?void 0:ie.FormData,oe=e=>{let t;return e&&(ae&&e instanceof ae||h(e.append)&&((t=o(e))===`formdata`||t===`object`&&h(e.toString)&&e.toString()===`[object FormData]`))},se=s(`URLSearchParams`),[ce,le,ue,de]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(s),fe=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function T(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),l(e))for(r=0,i=e.length;r0;)if(i=n[r],t===i.toLowerCase())return i;return null}var E=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,me=e=>!u(e)&&e!==E;function D(){let{caseless:e,skipUndefined:t}=me(this)&&this||{},n={},r=(r,i)=>{if(i===`__proto__`||i===`constructor`||i===`prototype`)return;let a=e&&pe(n,i)||i;y(n[a])&&y(r)?n[a]=D(n[a],r):y(r)?n[a]=D({},r):l(r)?n[a]=r.slice():(!t||!u(r))&&(n[a]=r)};for(let e=0,t=arguments.length;e(T(n,(n,i)=>{r&&h(n)?Object.defineProperty(e,i,{value:t(n,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,i,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:i}),e),ge=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),_e=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,`constructor`,{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,`super`,{value:t.prototype}),n&&Object.assign(e.prototype,n)},ve=(e,t,n,i)=>{let a,o,s,c={};if(t||={},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),o=a.length;o-- >0;)s=a[o],(!i||i(s,e,t))&&!c[s]&&(t[s]=e[s],c[s]=!0);e=n!==!1&&r(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},ye=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},be=e=>{if(!e)return null;if(l(e))return e;let t=e.length;if(!g(t))return null;let n=Array(t);for(;t-- >0;)n[t]=e[t];return n},xe=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&r(Uint8Array)),Se=(e,t)=>{let n=(e&&e[i]).call(e),r;for(;(r=n.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},Ce=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},we=s(`HTMLFormElement`),Te=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),Ee=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),De=s(`RegExp`),Oe=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};T(n,(n,i)=>{let a;(a=t(n,i,e))!==!1&&(r[i]=a||n)}),Object.defineProperties(e,r)},ke=e=>{Oe(e,(t,n)=>{if(h(e)&&[`arguments`,`caller`,`callee`].indexOf(n)!==-1)return!1;let r=e[n];if(h(r)){if(t.enumerable=!1,`writable`in t){t.writable=!1;return}t.set||=()=>{throw Error(`Can not rewrite read-only method '`+n+`'`)}}})},Ae=(e,t)=>{let n={},r=e=>{e.forEach(e=>{n[e]=!0})};return l(e)?r(e):r(String(e).split(t)),n},je=()=>{},Me=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Ne(e){return!!(e&&h(e.append)&&e[a]===`FormData`&&e[i])}var Pe=e=>{let t=Array(10),n=(e,r)=>{if(_(e)){if(t.indexOf(e)>=0)return;if(d(e))return e;if(!(`toJSON`in e)){t[r]=e;let i=l(e)?[]:{};return T(e,(e,t)=>{let a=n(e,r+1);!u(a)&&(i[t]=a)}),t[r]=void 0,i}}return e};return n(e,0)},Fe=s(`AsyncFunction`),Ie=e=>e&&(_(e)||h(e))&&h(e.then)&&h(e.catch),Le=((e,t)=>e?setImmediate:t?((e,t)=>(E.addEventListener(`message`,({source:n,data:r})=>{n===E&&r===e&&t.length&&t.shift()()},!1),n=>{t.push(n),E.postMessage(e,`*`)}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate==`function`,h(E.postMessage)),O={isArray:l,isArrayBuffer:f,isBuffer:d,isFormData:oe,isArrayBufferView:p,isString:m,isNumber:g,isBoolean:v,isObject:_,isPlainObject:y,isEmptyObject:b,isReadableStream:ce,isRequest:le,isResponse:ue,isHeaders:de,isUndefined:u,isDate:x,isFile:S,isReactNativeBlob:C,isReactNative:w,isBlob:ee,isRegExp:De,isFunction:h,isStream:ne,isURLSearchParams:se,isTypedArray:xe,isFileList:te,forEach:T,merge:D,extend:he,trim:fe,stripBOM:ge,inherits:_e,toFlatObject:ve,kindOf:o,kindOfTest:s,endsWith:ye,toArray:be,forEachEntry:Se,matchAll:Ce,isHTMLForm:we,hasOwnProperty:Ee,hasOwnProp:Ee,reduceDescriptors:Oe,freezeMethods:ke,toObjectSet:Ae,toCamelCase:Te,noop:je,toFiniteNumber:Me,findKey:pe,global:E,isContextDefined:me,isSpecCompliantForm:Ne,toJSONObject:Pe,isAsyncFn:Fe,isThenable:Ie,setImmediate:Le,asap:typeof queueMicrotask<`u`?queueMicrotask.bind(E):typeof process<`u`&&process.nextTick||Le,isIterable:e=>e!=null&&h(e[i])},k=class e extends Error{static from(t,n,r,i,a,o){let s=new e(t.message,n||t.code,r,i,a);return s.cause=t,s.name=t.name,t.status!=null&&s.status==null&&(s.status=t.status),o&&Object.assign(s,o),s}constructor(e,t,n,r,i){super(e),Object.defineProperty(this,`message`,{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name=`AxiosError`,this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:O.toJSONObject(this.config),code:this.code,status:this.status}}};k.ERR_BAD_OPTION_VALUE=`ERR_BAD_OPTION_VALUE`,k.ERR_BAD_OPTION=`ERR_BAD_OPTION`,k.ECONNABORTED=`ECONNABORTED`,k.ETIMEDOUT=`ETIMEDOUT`,k.ERR_NETWORK=`ERR_NETWORK`,k.ERR_FR_TOO_MANY_REDIRECTS=`ERR_FR_TOO_MANY_REDIRECTS`,k.ERR_DEPRECATED=`ERR_DEPRECATED`,k.ERR_BAD_RESPONSE=`ERR_BAD_RESPONSE`,k.ERR_BAD_REQUEST=`ERR_BAD_REQUEST`,k.ERR_CANCELED=`ERR_CANCELED`,k.ERR_NOT_SUPPORT=`ERR_NOT_SUPPORT`,k.ERR_INVALID_URL=`ERR_INVALID_URL`;function A(e){return O.isPlainObject(e)||O.isArray(e)}function Re(e){return O.endsWith(e,`[]`)?e.slice(0,-2):e}function j(e,t,n){return e?e.concat(t).map(function(e,t){return e=Re(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function ze(e){return O.isArray(e)&&!e.some(A)}var Be=O.toFlatObject(O,{},null,function(e){return/^is[A-Z]/.test(e)});function M(e,t,n){if(!O.isObject(e))throw TypeError(`target must be an object`);t||=new FormData,n=O.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!O.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||l,a=n.dots,o=n.indexes,s=(n.Blob||typeof Blob<`u`&&Blob)&&O.isSpecCompliantForm(t);if(!O.isFunction(i))throw TypeError(`visitor must be a function`);function c(e){if(e===null)return``;if(O.isDate(e))return e.toISOString();if(O.isBoolean(e))return e.toString();if(!s&&O.isBlob(e))throw new k(`Blob is not supported. Use a Buffer instead.`);return O.isArrayBuffer(e)||O.isTypedArray(e)?s&&typeof Blob==`function`?new Blob([e]):Buffer.from(e):e}function l(e,n,i){let s=e;if(O.isReactNative(t)&&O.isReactNativeBlob(e))return t.append(j(i,n,a),c(e)),!1;if(e&&!i&&typeof e==`object`){if(O.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(O.isArray(e)&&ze(e)||(O.isFileList(e)||O.endsWith(n,`[]`))&&(s=O.toArray(e)))return n=Re(n),s.forEach(function(e,r){!(O.isUndefined(e)||e===null)&&t.append(o===!0?j([n],r,a):o===null?n:n+`[]`,c(e))}),!1}return A(e)?!0:(t.append(j(i,n,a),c(e)),!1)}let u=[],d=Object.assign(Be,{defaultVisitor:l,convertValue:c,isVisitable:A});function f(e,n){if(!O.isUndefined(e)){if(u.indexOf(e)!==-1)throw Error(`Circular reference detected in `+n.join(`.`));u.push(e),O.forEach(e,function(e,r){(!(O.isUndefined(e)||e===null)&&i.call(t,e,O.isString(r)?r.trim():r,n,d))===!0&&f(e,n?n.concat(r):[r])}),u.pop()}}if(!O.isObject(e))throw TypeError(`data must be an object`);return f(e),t}function Ve(e){let t={"!":`%21`,"'":`%27`,"(":`%28`,")":`%29`,"~":`%7E`,"%20":`+`,"%00":`\0`};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function N(e,t){this._pairs=[],e&&M(e,this,t)}var He=N.prototype;He.append=function(e,t){this._pairs.push([e,t])},He.toString=function(e){let t=e?function(t){return e.call(this,t,Ve)}:Ve;return this._pairs.map(function(e){return t(e[0])+`=`+t(e[1])},``).join(`&`)};function Ue(e){return encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%24/g,`$`).replace(/%2C/gi,`,`).replace(/%20/g,`+`)}function We(e,t,n){if(!t)return e;let r=n&&n.encode||Ue,i=O.isFunction(n)?{serialize:n}:n,a=i&&i.serialize,o;if(o=a?a(t,i):O.isURLSearchParams(t)?t.toString():new N(t,i).toString(r),o){let t=e.indexOf(`#`);t!==-1&&(e=e.slice(0,t)),e+=(e.indexOf(`?`)===-1?`?`:`&`)+o}return e}var Ge=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&=[]}forEach(e){O.forEach(this.handlers,function(t){t!==null&&e(t)})}},P={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Ke={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<`u`?URLSearchParams:N,FormData:typeof FormData<`u`?FormData:null,Blob:typeof Blob<`u`?Blob:null},protocols:[`http`,`https`,`file`,`blob`,`url`,`data`]},qe=e({hasBrowserEnv:()=>Je,hasStandardBrowserEnv:()=>Ye,hasStandardBrowserWebWorkerEnv:()=>Xe,navigator:()=>F,origin:()=>Ze}),Je=typeof window<`u`&&typeof document<`u`,F=typeof navigator==`object`&&navigator||void 0,Ye=Je&&(!F||[`ReactNative`,`NativeScript`,`NS`].indexOf(F.product)<0),Xe=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope&&typeof self.importScripts==`function`,Ze=Je&&window.location.href||`http://localhost`,I={...qe,...Ke};function Qe(e,t){return M(e,new I.classes.URLSearchParams,{visitor:function(e,t,n,r){return I.isNode&&O.isBuffer(e)?(this.append(t,e.toString(`base64`)),!1):r.defaultVisitor.apply(this,arguments)},...t})}function $e(e){return O.matchAll(/\w+|\[(\w*)]/g,e).map(e=>e[0]===`[]`?``:e[1]||e[0])}function et(e){let t={},n=Object.keys(e),r,i=n.length,a;for(r=0;r=e.length;return a=!a&&O.isArray(r)?r.length:a,s?(O.hasOwnProp(r,a)?r[a]=[r[a],n]:r[a]=n,!o):((!r[a]||!O.isObject(r[a]))&&(r[a]=[]),t(e,n,r[a],i)&&O.isArray(r[a])&&(r[a]=et(r[a])),!o)}if(O.isFormData(e)&&O.isFunction(e.entries)){let n={};return O.forEachEntry(e,(e,r)=>{t($e(e),r,n,0)}),n}return null}function nt(e,t,n){if(O.isString(e))try{return(t||JSON.parse)(e),O.trim(e)}catch(e){if(e.name!==`SyntaxError`)throw e}return(n||JSON.stringify)(e)}var L={transitional:P,adapter:[`xhr`,`http`,`fetch`],transformRequest:[function(e,t){let n=t.getContentType()||``,r=n.indexOf(`application/json`)>-1,i=O.isObject(e);if(i&&O.isHTMLForm(e)&&(e=new FormData(e)),O.isFormData(e))return r?JSON.stringify(tt(e)):e;if(O.isArrayBuffer(e)||O.isBuffer(e)||O.isStream(e)||O.isFile(e)||O.isBlob(e)||O.isReadableStream(e))return e;if(O.isArrayBufferView(e))return e.buffer;if(O.isURLSearchParams(e))return t.setContentType(`application/x-www-form-urlencoded;charset=utf-8`,!1),e.toString();let a;if(i){if(n.indexOf(`application/x-www-form-urlencoded`)>-1)return Qe(e,this.formSerializer).toString();if((a=O.isFileList(e))||n.indexOf(`multipart/form-data`)>-1){let t=this.env&&this.env.FormData;return M(a?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType(`application/json`,!1),nt(e)):e}],transformResponse:[function(e){let t=this.transitional||L.transitional,n=t&&t.forcedJSONParsing,r=this.responseType===`json`;if(O.isResponse(e)||O.isReadableStream(e))return e;if(e&&O.isString(e)&&(n&&!this.responseType||r)){let n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(e){if(n)throw e.name===`SyntaxError`?k.from(e,k.ERR_BAD_RESPONSE,this,null,this.response):e}}return e}],timeout:0,xsrfCookieName:`XSRF-TOKEN`,xsrfHeaderName:`X-XSRF-TOKEN`,maxContentLength:-1,maxBodyLength:-1,env:{FormData:I.classes.FormData,Blob:I.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:`application/json, text/plain, */*`,"Content-Type":void 0}}};O.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`],e=>{L.headers[e]={}});var rt=O.toObjectSet([`age`,`authorization`,`content-length`,`content-type`,`etag`,`expires`,`from`,`host`,`if-modified-since`,`if-unmodified-since`,`last-modified`,`location`,`max-forwards`,`proxy-authorization`,`referer`,`retry-after`,`user-agent`]),it=e=>{let t={},n,r,i;return e&&e.split(` +import{d as e}from"./index-3YculFMX.js";function t(e,t){return function(){return e.apply(t,arguments)}}var{toString:n}=Object.prototype,{getPrototypeOf:r}=Object,{iterator:i,toStringTag:a}=Symbol,o=(e=>t=>{let r=n.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),s=e=>(e=e.toLowerCase(),t=>o(t)===e),c=e=>t=>typeof t===e,{isArray:l}=Array,u=c(`undefined`);function d(e){return e!==null&&!u(e)&&e.constructor!==null&&!u(e.constructor)&&h(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var f=s(`ArrayBuffer`);function p(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&f(e.buffer),t}var m=c(`string`),h=c(`function`),g=c(`number`),_=e=>typeof e==`object`&&!!e,v=e=>e===!0||e===!1,y=e=>{if(o(e)!==`object`)return!1;let t=r(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(a in e)&&!(i in e)},b=e=>{if(!_(e)||d(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},x=s(`Date`),S=s(`File`),C=e=>!!(e&&e.uri!==void 0),w=e=>e&&e.getParts!==void 0,ee=s(`Blob`),te=s(`FileList`),ne=e=>_(e)&&h(e.pipe);function re(){return typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}}var ie=re(),ae=ie.FormData===void 0?void 0:ie.FormData,oe=e=>{let t;return e&&(ae&&e instanceof ae||h(e.append)&&((t=o(e))===`formdata`||t===`object`&&h(e.toString)&&e.toString()===`[object FormData]`))},se=s(`URLSearchParams`),[ce,le,ue,de]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(s),fe=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function T(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),l(e))for(r=0,i=e.length;r0;)if(i=n[r],t===i.toLowerCase())return i;return null}var E=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,me=e=>!u(e)&&e!==E;function D(){let{caseless:e,skipUndefined:t}=me(this)&&this||{},n={},r=(r,i)=>{if(i===`__proto__`||i===`constructor`||i===`prototype`)return;let a=e&&pe(n,i)||i;y(n[a])&&y(r)?n[a]=D(n[a],r):y(r)?n[a]=D({},r):l(r)?n[a]=r.slice():(!t||!u(r))&&(n[a]=r)};for(let e=0,t=arguments.length;e(T(n,(n,i)=>{r&&h(n)?Object.defineProperty(e,i,{value:t(n,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,i,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:i}),e),ge=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),_e=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,`constructor`,{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,`super`,{value:t.prototype}),n&&Object.assign(e.prototype,n)},ve=(e,t,n,i)=>{let a,o,s,c={};if(t||={},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),o=a.length;o-- >0;)s=a[o],(!i||i(s,e,t))&&!c[s]&&(t[s]=e[s],c[s]=!0);e=n!==!1&&r(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},ye=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},be=e=>{if(!e)return null;if(l(e))return e;let t=e.length;if(!g(t))return null;let n=Array(t);for(;t-- >0;)n[t]=e[t];return n},xe=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&r(Uint8Array)),Se=(e,t)=>{let n=(e&&e[i]).call(e),r;for(;(r=n.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},Ce=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},we=s(`HTMLFormElement`),Te=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),Ee=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),De=s(`RegExp`),Oe=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};T(n,(n,i)=>{let a;(a=t(n,i,e))!==!1&&(r[i]=a||n)}),Object.defineProperties(e,r)},ke=e=>{Oe(e,(t,n)=>{if(h(e)&&[`arguments`,`caller`,`callee`].indexOf(n)!==-1)return!1;let r=e[n];if(h(r)){if(t.enumerable=!1,`writable`in t){t.writable=!1;return}t.set||=()=>{throw Error(`Can not rewrite read-only method '`+n+`'`)}}})},Ae=(e,t)=>{let n={},r=e=>{e.forEach(e=>{n[e]=!0})};return l(e)?r(e):r(String(e).split(t)),n},je=()=>{},Me=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Ne(e){return!!(e&&h(e.append)&&e[a]===`FormData`&&e[i])}var Pe=e=>{let t=Array(10),n=(e,r)=>{if(_(e)){if(t.indexOf(e)>=0)return;if(d(e))return e;if(!(`toJSON`in e)){t[r]=e;let i=l(e)?[]:{};return T(e,(e,t)=>{let a=n(e,r+1);!u(a)&&(i[t]=a)}),t[r]=void 0,i}}return e};return n(e,0)},Fe=s(`AsyncFunction`),Ie=e=>e&&(_(e)||h(e))&&h(e.then)&&h(e.catch),Le=((e,t)=>e?setImmediate:t?((e,t)=>(E.addEventListener(`message`,({source:n,data:r})=>{n===E&&r===e&&t.length&&t.shift()()},!1),n=>{t.push(n),E.postMessage(e,`*`)}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate==`function`,h(E.postMessage)),O={isArray:l,isArrayBuffer:f,isBuffer:d,isFormData:oe,isArrayBufferView:p,isString:m,isNumber:g,isBoolean:v,isObject:_,isPlainObject:y,isEmptyObject:b,isReadableStream:ce,isRequest:le,isResponse:ue,isHeaders:de,isUndefined:u,isDate:x,isFile:S,isReactNativeBlob:C,isReactNative:w,isBlob:ee,isRegExp:De,isFunction:h,isStream:ne,isURLSearchParams:se,isTypedArray:xe,isFileList:te,forEach:T,merge:D,extend:he,trim:fe,stripBOM:ge,inherits:_e,toFlatObject:ve,kindOf:o,kindOfTest:s,endsWith:ye,toArray:be,forEachEntry:Se,matchAll:Ce,isHTMLForm:we,hasOwnProperty:Ee,hasOwnProp:Ee,reduceDescriptors:Oe,freezeMethods:ke,toObjectSet:Ae,toCamelCase:Te,noop:je,toFiniteNumber:Me,findKey:pe,global:E,isContextDefined:me,isSpecCompliantForm:Ne,toJSONObject:Pe,isAsyncFn:Fe,isThenable:Ie,setImmediate:Le,asap:typeof queueMicrotask<`u`?queueMicrotask.bind(E):typeof process<`u`&&process.nextTick||Le,isIterable:e=>e!=null&&h(e[i])},k=class e extends Error{static from(t,n,r,i,a,o){let s=new e(t.message,n||t.code,r,i,a);return s.cause=t,s.name=t.name,t.status!=null&&s.status==null&&(s.status=t.status),o&&Object.assign(s,o),s}constructor(e,t,n,r,i){super(e),Object.defineProperty(this,`message`,{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name=`AxiosError`,this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:O.toJSONObject(this.config),code:this.code,status:this.status}}};k.ERR_BAD_OPTION_VALUE=`ERR_BAD_OPTION_VALUE`,k.ERR_BAD_OPTION=`ERR_BAD_OPTION`,k.ECONNABORTED=`ECONNABORTED`,k.ETIMEDOUT=`ETIMEDOUT`,k.ERR_NETWORK=`ERR_NETWORK`,k.ERR_FR_TOO_MANY_REDIRECTS=`ERR_FR_TOO_MANY_REDIRECTS`,k.ERR_DEPRECATED=`ERR_DEPRECATED`,k.ERR_BAD_RESPONSE=`ERR_BAD_RESPONSE`,k.ERR_BAD_REQUEST=`ERR_BAD_REQUEST`,k.ERR_CANCELED=`ERR_CANCELED`,k.ERR_NOT_SUPPORT=`ERR_NOT_SUPPORT`,k.ERR_INVALID_URL=`ERR_INVALID_URL`;function A(e){return O.isPlainObject(e)||O.isArray(e)}function Re(e){return O.endsWith(e,`[]`)?e.slice(0,-2):e}function j(e,t,n){return e?e.concat(t).map(function(e,t){return e=Re(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function ze(e){return O.isArray(e)&&!e.some(A)}var Be=O.toFlatObject(O,{},null,function(e){return/^is[A-Z]/.test(e)});function M(e,t,n){if(!O.isObject(e))throw TypeError(`target must be an object`);t||=new FormData,n=O.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!O.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||l,a=n.dots,o=n.indexes,s=(n.Blob||typeof Blob<`u`&&Blob)&&O.isSpecCompliantForm(t);if(!O.isFunction(i))throw TypeError(`visitor must be a function`);function c(e){if(e===null)return``;if(O.isDate(e))return e.toISOString();if(O.isBoolean(e))return e.toString();if(!s&&O.isBlob(e))throw new k(`Blob is not supported. Use a Buffer instead.`);return O.isArrayBuffer(e)||O.isTypedArray(e)?s&&typeof Blob==`function`?new Blob([e]):Buffer.from(e):e}function l(e,n,i){let s=e;if(O.isReactNative(t)&&O.isReactNativeBlob(e))return t.append(j(i,n,a),c(e)),!1;if(e&&!i&&typeof e==`object`){if(O.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(O.isArray(e)&&ze(e)||(O.isFileList(e)||O.endsWith(n,`[]`))&&(s=O.toArray(e)))return n=Re(n),s.forEach(function(e,r){!(O.isUndefined(e)||e===null)&&t.append(o===!0?j([n],r,a):o===null?n:n+`[]`,c(e))}),!1}return A(e)?!0:(t.append(j(i,n,a),c(e)),!1)}let u=[],d=Object.assign(Be,{defaultVisitor:l,convertValue:c,isVisitable:A});function f(e,n){if(!O.isUndefined(e)){if(u.indexOf(e)!==-1)throw Error(`Circular reference detected in `+n.join(`.`));u.push(e),O.forEach(e,function(e,r){(!(O.isUndefined(e)||e===null)&&i.call(t,e,O.isString(r)?r.trim():r,n,d))===!0&&f(e,n?n.concat(r):[r])}),u.pop()}}if(!O.isObject(e))throw TypeError(`data must be an object`);return f(e),t}function Ve(e){let t={"!":`%21`,"'":`%27`,"(":`%28`,")":`%29`,"~":`%7E`,"%20":`+`,"%00":`\0`};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function N(e,t){this._pairs=[],e&&M(e,this,t)}var He=N.prototype;He.append=function(e,t){this._pairs.push([e,t])},He.toString=function(e){let t=e?function(t){return e.call(this,t,Ve)}:Ve;return this._pairs.map(function(e){return t(e[0])+`=`+t(e[1])},``).join(`&`)};function Ue(e){return encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%24/g,`$`).replace(/%2C/gi,`,`).replace(/%20/g,`+`)}function We(e,t,n){if(!t)return e;let r=n&&n.encode||Ue,i=O.isFunction(n)?{serialize:n}:n,a=i&&i.serialize,o;if(o=a?a(t,i):O.isURLSearchParams(t)?t.toString():new N(t,i).toString(r),o){let t=e.indexOf(`#`);t!==-1&&(e=e.slice(0,t)),e+=(e.indexOf(`?`)===-1?`?`:`&`)+o}return e}var Ge=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&=[]}forEach(e){O.forEach(this.handlers,function(t){t!==null&&e(t)})}},P={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Ke={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<`u`?URLSearchParams:N,FormData:typeof FormData<`u`?FormData:null,Blob:typeof Blob<`u`?Blob:null},protocols:[`http`,`https`,`file`,`blob`,`url`,`data`]},qe=e({hasBrowserEnv:()=>Je,hasStandardBrowserEnv:()=>Ye,hasStandardBrowserWebWorkerEnv:()=>Xe,navigator:()=>F,origin:()=>Ze}),Je=typeof window<`u`&&typeof document<`u`,F=typeof navigator==`object`&&navigator||void 0,Ye=Je&&(!F||[`ReactNative`,`NativeScript`,`NS`].indexOf(F.product)<0),Xe=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope&&typeof self.importScripts==`function`,Ze=Je&&window.location.href||`http://localhost`,I={...qe,...Ke};function Qe(e,t){return M(e,new I.classes.URLSearchParams,{visitor:function(e,t,n,r){return I.isNode&&O.isBuffer(e)?(this.append(t,e.toString(`base64`)),!1):r.defaultVisitor.apply(this,arguments)},...t})}function $e(e){return O.matchAll(/\w+|\[(\w*)]/g,e).map(e=>e[0]===`[]`?``:e[1]||e[0])}function et(e){let t={},n=Object.keys(e),r,i=n.length,a;for(r=0;r=e.length;return a=!a&&O.isArray(r)?r.length:a,s?(O.hasOwnProp(r,a)?r[a]=[r[a],n]:r[a]=n,!o):((!r[a]||!O.isObject(r[a]))&&(r[a]=[]),t(e,n,r[a],i)&&O.isArray(r[a])&&(r[a]=et(r[a])),!o)}if(O.isFormData(e)&&O.isFunction(e.entries)){let n={};return O.forEachEntry(e,(e,r)=>{t($e(e),r,n,0)}),n}return null}function nt(e,t,n){if(O.isString(e))try{return(t||JSON.parse)(e),O.trim(e)}catch(e){if(e.name!==`SyntaxError`)throw e}return(n||JSON.stringify)(e)}var L={transitional:P,adapter:[`xhr`,`http`,`fetch`],transformRequest:[function(e,t){let n=t.getContentType()||``,r=n.indexOf(`application/json`)>-1,i=O.isObject(e);if(i&&O.isHTMLForm(e)&&(e=new FormData(e)),O.isFormData(e))return r?JSON.stringify(tt(e)):e;if(O.isArrayBuffer(e)||O.isBuffer(e)||O.isStream(e)||O.isFile(e)||O.isBlob(e)||O.isReadableStream(e))return e;if(O.isArrayBufferView(e))return e.buffer;if(O.isURLSearchParams(e))return t.setContentType(`application/x-www-form-urlencoded;charset=utf-8`,!1),e.toString();let a;if(i){if(n.indexOf(`application/x-www-form-urlencoded`)>-1)return Qe(e,this.formSerializer).toString();if((a=O.isFileList(e))||n.indexOf(`multipart/form-data`)>-1){let t=this.env&&this.env.FormData;return M(a?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType(`application/json`,!1),nt(e)):e}],transformResponse:[function(e){let t=this.transitional||L.transitional,n=t&&t.forcedJSONParsing,r=this.responseType===`json`;if(O.isResponse(e)||O.isReadableStream(e))return e;if(e&&O.isString(e)&&(n&&!this.responseType||r)){let n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(e){if(n)throw e.name===`SyntaxError`?k.from(e,k.ERR_BAD_RESPONSE,this,null,this.response):e}}return e}],timeout:0,xsrfCookieName:`XSRF-TOKEN`,xsrfHeaderName:`X-XSRF-TOKEN`,maxContentLength:-1,maxBodyLength:-1,env:{FormData:I.classes.FormData,Blob:I.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:`application/json, text/plain, */*`,"Content-Type":void 0}}};O.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`],e=>{L.headers[e]={}});var rt=O.toObjectSet([`age`,`authorization`,`content-length`,`content-type`,`etag`,`expires`,`from`,`host`,`if-modified-since`,`if-unmodified-since`,`last-modified`,`location`,`max-forwards`,`proxy-authorization`,`referer`,`retry-after`,`user-agent`]),it=e=>{let t={},n,r,i;return e&&e.split(` `).forEach(function(e){i=e.indexOf(`:`),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!(!n||t[n]&&rt[n])&&(n===`set-cookie`?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+`, `+r:r)}),t},at=Symbol(`internals`);function R(e){return e&&String(e).trim().toLowerCase()}function z(e){return e===!1||e==null?e:O.isArray(e)?e.map(z):String(e)}function ot(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}var st=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function B(e,t,n,r,i){if(O.isFunction(r))return r.call(this,t,n);if(i&&(t=n),O.isString(t)){if(O.isString(r))return t.indexOf(r)!==-1;if(O.isRegExp(r))return r.test(t)}}function ct(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function lt(e,t){let n=O.toCamelCase(` `+t);[`get`,`set`,`has`].forEach(r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}var V=class{constructor(e){e&&this.set(e)}set(e,t,n){let r=this;function i(e,t,n){let i=R(t);if(!i)throw Error(`header name must be a non-empty string`);let a=O.findKey(r,i);(!a||r[a]===void 0||n===!0||n===void 0&&r[a]!==!1)&&(r[a||t]=z(e))}let a=(e,t)=>O.forEach(e,(e,n)=>i(e,n,t));if(O.isPlainObject(e)||e instanceof this.constructor)a(e,t);else if(O.isString(e)&&(e=e.trim())&&!st(e))a(it(e),t);else if(O.isObject(e)&&O.isIterable(e)){let n={},r,i;for(let t of e){if(!O.isArray(t))throw TypeError(`Object iterator must return a key-value pair`);n[i=t[0]]=(r=n[i])?O.isArray(r)?[...r,t[1]]:[r,t[1]]:t[1]}a(n,t)}else e!=null&&i(t,e,n);return this}get(e,t){if(e=R(e),e){let n=O.findKey(this,e);if(n){let e=this[n];if(!t)return e;if(t===!0)return ot(e);if(O.isFunction(t))return t.call(this,e,n);if(O.isRegExp(t))return t.exec(e);throw TypeError(`parser must be boolean|regexp|function`)}}}has(e,t){if(e=R(e),e){let n=O.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||B(this,this[n],n,t)))}return!1}delete(e,t){let n=this,r=!1;function i(e){if(e=R(e),e){let i=O.findKey(n,e);i&&(!t||B(n,n[i],i,t))&&(delete n[i],r=!0)}}return O.isArray(e)?e.forEach(i):i(e),r}clear(e){let t=Object.keys(this),n=t.length,r=!1;for(;n--;){let i=t[n];(!e||B(this,this[i],i,e,!0))&&(delete this[i],r=!0)}return r}normalize(e){let t=this,n={};return O.forEach(this,(r,i)=>{let a=O.findKey(n,i);if(a){t[a]=z(r),delete t[i];return}let o=e?ct(i):String(i).trim();o!==i&&delete t[i],t[o]=z(r),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return O.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&O.isArray(n)?n.join(`, `):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+`: `+t).join(` `)}getSetCookie(){return this.get(`set-cookie`)||[]}get[Symbol.toStringTag](){return`AxiosHeaders`}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){let t=(this[at]=this[at]={accessors:{}}).accessors,n=this.prototype;function r(e){let r=R(e);t[r]||(lt(n,e),t[r]=!0)}return O.isArray(e)?e.forEach(r):r(e),this}};V.accessor([`Content-Type`,`Content-Length`,`Accept`,`Accept-Encoding`,`User-Agent`,`Authorization`]),O.reduceDescriptors(V.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),O.freezeMethods(V);function H(e,t){let n=this||L,r=t||n,i=V.from(r.headers),a=r.data;return O.forEach(e,function(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function ut(e){return!!(e&&e.__CANCEL__)}var U=class extends k{constructor(e,t,n){super(e??`canceled`,k.ERR_CANCELED,t,n),this.name=`CanceledError`,this.__CANCEL__=!0}};function dt(e,t,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new k(`Request failed with status code `+n.status,[k.ERR_BAD_REQUEST,k.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function ft(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||``}function pt(e,t){e||=10;let n=Array(e),r=Array(e),i=0,a=0,o;return t=t===void 0?1e3:t,function(s){let c=Date.now(),l=r[a];o||=c,n[i]=s,r[i]=c;let u=a,d=0;for(;u!==i;)d+=n[u++],u%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o{n=r,i=null,a&&=(clearTimeout(a),null),e(...t)};return[(...e)=>{let t=Date.now(),s=t-n;s>=r?o(e,t):(i=e,a||=setTimeout(()=>{a=null,o(i)},r-s))},()=>i&&o(i)]}var W=(e,t,n=3)=>{let r=0,i=pt(50,250);return mt(n=>{let a=n.loaded,o=n.lengthComputable?n.total:void 0,s=a-r,c=i(s),l=a<=o;r=a,e({loaded:a,total:o,progress:o?a/o:void 0,bytes:s,rate:c||void 0,estimated:c&&o&&l?(o-a)/c:void 0,event:n,lengthComputable:o!=null,[t?`download`:`upload`]:!0})},n)},ht=(e,t)=>{let n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},gt=e=>(...t)=>O.asap(()=>e(...t)),_t=I.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,I.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(I.origin),I.navigator&&/(msie|trident)/i.test(I.navigator.userAgent)):()=>!0,vt=I.hasStandardBrowserEnv?{write(e,t,n,r,i,a,o){if(typeof document>`u`)return;let s=[`${e}=${encodeURIComponent(t)}`];O.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),O.isString(r)&&s.push(`path=${r}`),O.isString(i)&&s.push(`domain=${i}`),a===!0&&s.push(`secure`),O.isString(o)&&s.push(`SameSite=${o}`),document.cookie=s.join(`; `)},read(e){if(typeof document>`u`)return null;let t=document.cookie.match(RegExp(`(?:^|; )`+e+`=([^;]*)`));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,``,Date.now()-864e5,`/`)}}:{write(){},read(){return null},remove(){}};function yt(e){return typeof e==`string`?/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e):!1}function bt(e,t){return t?e.replace(/\/?\/$/,``)+`/`+t.replace(/^\/+/,``):e}function xt(e,t,n){let r=!yt(t);return e&&(r||n==0)?bt(e,t):t}var St=e=>e instanceof V?{...e}:e;function G(e,t){t||={};let n={};function r(e,t,n,r){return O.isPlainObject(e)&&O.isPlainObject(t)?O.merge.call({caseless:r},e,t):O.isPlainObject(t)?O.merge({},t):O.isArray(t)?t.slice():t}function i(e,t,n,i){if(!O.isUndefined(t))return r(e,t,n,i);if(!O.isUndefined(e))return r(void 0,e,n,i)}function a(e,t){if(!O.isUndefined(t))return r(void 0,t)}function o(e,t){if(!O.isUndefined(t))return r(void 0,t);if(!O.isUndefined(e))return r(void 0,e)}function s(n,i,a){if(a in t)return r(n,i);if(a in e)return r(void 0,n)}let c={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:s,headers:(e,t,n)=>i(St(e),St(t),n,!0)};return O.forEach(Object.keys({...e,...t}),function(r){if(r===`__proto__`||r===`constructor`||r===`prototype`)return;let a=O.hasOwnProp(c,r)?c[r]:i,o=a(e[r],t[r],r);O.isUndefined(o)&&a!==s||(n[r]=o)}),n}var Ct=e=>{let t=G({},e),{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:a,headers:o,auth:s}=t;if(t.headers=o=V.from(o),t.url=We(xt(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),s&&o.set(`Authorization`,`Basic `+btoa((s.username||``)+`:`+(s.password?unescape(encodeURIComponent(s.password)):``))),O.isFormData(n)){if(I.hasStandardBrowserEnv||I.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(O.isFunction(n.getHeaders)){let e=n.getHeaders(),t=[`content-type`,`content-length`];Object.entries(e).forEach(([e,n])=>{t.includes(e.toLowerCase())&&o.set(e,n)})}}if(I.hasStandardBrowserEnv&&(r&&O.isFunction(r)&&(r=r(t)),r||r!==!1&&_t(t.url))){let e=i&&a&&vt.read(a);e&&o.set(i,e)}return t},wt=typeof XMLHttpRequest<`u`&&function(e){return new Promise(function(t,n){let r=Ct(e),i=r.data,a=V.from(r.headers).normalize(),{responseType:o,onUploadProgress:s,onDownloadProgress:c}=r,l,u,d,f,p;function m(){f&&f(),p&&p(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener(`abort`,l)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function g(){if(!h)return;let r=V.from(`getAllResponseHeaders`in h&&h.getAllResponseHeaders());dt(function(e){t(e),m()},function(e){n(e),m()},{data:!o||o===`text`||o===`json`?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:r,config:e,request:h}),h=null}`onloadend`in h?h.onloadend=g:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf(`file:`)===0)||setTimeout(g)},h.onabort=function(){h&&=(n(new k(`Request aborted`,k.ECONNABORTED,e,h)),null)},h.onerror=function(t){let r=new k(t&&t.message?t.message:`Network Error`,k.ERR_NETWORK,e,h);r.event=t||null,n(r),h=null},h.ontimeout=function(){let t=r.timeout?`timeout of `+r.timeout+`ms exceeded`:`timeout exceeded`,i=r.transitional||P;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new k(t,i.clarifyTimeoutError?k.ETIMEDOUT:k.ECONNABORTED,e,h)),h=null},i===void 0&&a.setContentType(null),`setRequestHeader`in h&&O.forEach(a.toJSON(),function(e,t){h.setRequestHeader(t,e)}),O.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),o&&o!==`json`&&(h.responseType=r.responseType),c&&([d,p]=W(c,!0),h.addEventListener(`progress`,d)),s&&h.upload&&([u,f]=W(s),h.upload.addEventListener(`progress`,u),h.upload.addEventListener(`loadend`,f)),(r.cancelToken||r.signal)&&(l=t=>{h&&=(n(!t||t.type?new U(null,e,h):t),h.abort(),null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener(`abort`,l)));let _=ft(r.url);if(_&&I.protocols.indexOf(_)===-1){n(new k(`Unsupported protocol `+_+`:`,k.ERR_BAD_REQUEST,e));return}h.send(i||null)})},Tt=(e,t)=>{let{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n=new AbortController,r,i=function(e){if(!r){r=!0,o();let t=e instanceof Error?e:this.reason;n.abort(t instanceof k?t:new U(t instanceof Error?t.message:t))}},a=t&&setTimeout(()=>{a=null,i(new k(`timeout of ${t}ms exceeded`,k.ETIMEDOUT))},t),o=()=>{e&&=(a&&clearTimeout(a),a=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(i):e.removeEventListener(`abort`,i)}),null)};e.forEach(e=>e.addEventListener(`abort`,i));let{signal:s}=n;return s.unsubscribe=()=>O.asap(o),s}},Et=function*(e,t){let n=e.byteLength;if(!t||n{let i=Dt(e,t),a=0,o,s=e=>{o||(o=!0,r&&r(e))};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await i.next();if(t){s(),e.close();return}let o=r.byteLength;n&&n(a+=o),e.enqueue(new Uint8Array(r))}catch(e){throw s(e),e}},cancel(e){return s(e),i.return()}},{highWaterMark:2})},At=64*1024,{isFunction:K}=O,jt=(({Request:e,Response:t})=>({Request:e,Response:t}))(O.global),{ReadableStream:Mt,TextEncoder:Nt}=O.global,Pt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Ft=e=>{e=O.merge.call({skipUndefined:!0},jt,e);let{fetch:t,Request:n,Response:r}=e,i=t?K(t):typeof fetch==`function`,a=K(n),o=K(r);if(!i)return!1;let s=i&&K(Mt),c=i&&(typeof Nt==`function`?(e=>t=>e.encode(t))(new Nt):async e=>new Uint8Array(await new n(e).arrayBuffer())),l=a&&s&&Pt(()=>{let e=!1,t=new n(I.origin,{body:new Mt,method:`POST`,get duplex(){return e=!0,`half`}}).headers.has(`Content-Type`);return e&&!t}),u=o&&s&&Pt(()=>O.isReadableStream(new r(``).body)),d={stream:u&&(e=>e.body)};i&&[`text`,`arrayBuffer`,`blob`,`formData`,`stream`].forEach(e=>{!d[e]&&(d[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new k(`Response type '${e}' is not supported`,k.ERR_NOT_SUPPORT,n)})});let f=async e=>{if(e==null)return 0;if(O.isBlob(e))return e.size;if(O.isSpecCompliantForm(e))return(await new n(I.origin,{method:`POST`,body:e}).arrayBuffer()).byteLength;if(O.isArrayBufferView(e)||O.isArrayBuffer(e))return e.byteLength;if(O.isURLSearchParams(e)&&(e+=``),O.isString(e))return(await c(e)).byteLength},p=async(e,t)=>O.toFiniteNumber(e.getContentLength())??f(t);return async e=>{let{url:i,method:o,data:s,signal:c,cancelToken:f,timeout:m,onDownloadProgress:h,onUploadProgress:g,responseType:_,headers:v,withCredentials:y=`same-origin`,fetchOptions:b}=Ct(e),x=t||fetch;_=_?(_+``).toLowerCase():`text`;let S=Tt([c,f&&f.toAbortSignal()],m),C=null,w=S&&S.unsubscribe&&(()=>{S.unsubscribe()}),ee;try{if(g&&l&&o!==`get`&&o!==`head`&&(ee=await p(v,s))!==0){let e=new n(i,{method:`POST`,body:s,duplex:`half`}),t;if(O.isFormData(s)&&(t=e.headers.get(`content-type`))&&v.setContentType(t),e.body){let[t,n]=ht(ee,W(gt(g)));s=kt(e.body,At,t,n)}}O.isString(y)||(y=y?`include`:`omit`);let t=a&&`credentials`in n.prototype,c={...b,signal:S,method:o.toUpperCase(),headers:v.normalize().toJSON(),body:s,duplex:`half`,credentials:t?y:void 0};C=a&&new n(i,c);let f=await(a?x(C,b):x(i,c)),m=u&&(_===`stream`||_===`response`);if(u&&(h||m&&w)){let e={};[`status`,`statusText`,`headers`].forEach(t=>{e[t]=f[t]});let t=O.toFiniteNumber(f.headers.get(`content-length`)),[n,i]=h&&ht(t,W(gt(h),!0))||[];f=new r(kt(f.body,At,n,()=>{i&&i(),w&&w()}),e)}_||=`text`;let te=await d[O.findKey(d,_)||`text`](f,e);return!m&&w&&w(),await new Promise((t,n)=>{dt(t,n,{data:te,headers:V.from(f.headers),status:f.status,statusText:f.statusText,config:e,request:C})})}catch(t){throw w&&w(),t&&t.name===`TypeError`&&/Load failed|fetch/i.test(t.message)?Object.assign(new k(`Network Error`,k.ERR_NETWORK,e,C,t&&t.response),{cause:t.cause||t}):k.from(t,t&&t.code,e,C,t&&t.response)}}},It=new Map,Lt=e=>{let t=e&&e.env||{},{fetch:n,Request:r,Response:i}=t,a=[r,i,n],o=a.length,s,c,l=It;for(;o--;)s=a[o],c=l.get(s),c===void 0&&l.set(s,c=o?new Map:Ft(t)),l=c;return c};Lt();var q={http:null,xhr:wt,fetch:{get:Lt}};O.forEach(q,(e,t)=>{if(e){try{Object.defineProperty(e,`name`,{value:t})}catch{}Object.defineProperty(e,`adapterName`,{value:t})}});var Rt=e=>`- ${e}`,zt=e=>O.isFunction(e)||e===null||e===!1;function Bt(e,t){e=O.isArray(e)?e:[e];let{length:n}=e,r,i,a={};for(let o=0;o`adapter ${e} `+(t===!1?`is not supported by the environment`:`is not available in the build`));throw new k(`There is no suitable adapter to dispatch the request `+(n?e.length>1?`since : `+e.map(Rt).join(` diff --git a/frontend/dist/assets/board-CxdjHu9X.js b/frontend/dist/assets/board-sk3RGSX4.js similarity index 97% rename from frontend/dist/assets/board-CxdjHu9X.js rename to frontend/dist/assets/board-sk3RGSX4.js index 17b73db..b7cb71a 100644 --- a/frontend/dist/assets/board-CxdjHu9X.js +++ b/frontend/dist/assets/board-sk3RGSX4.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,et as u,f as d,i as f,l as p,lt as m,p as h,u as g,v as _,z as v}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as b,r as x}from"./room-DSHyULwI.js";var S={class:`p-6 space-y-4`},C={class:`grid grid-cols-4 gap-4`},w=[`onClick`],T={class:`text-xs text-gray-500`},E={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},D={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},O={class:`flex items-center gap-2`},k={class:`p-5`},A={key:0,class:`py-16 text-center text-gray-400`},j={key:1,class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-4`},M=[`onClick`],N={class:`flex items-center justify-between mb-2`},P={class:`font-bold text-gray-800 text-sm`},F={class:`text-xs text-gray-500 mb-1 truncate`},I={key:0,class:`text-xs text-blue-600 mt-1 truncate font-medium`},L={class:`mt-4`},R={class:`flex flex-wrap gap-2`},z={__name:`index`,setup(z){let B=m([]),V=m(!1),H=m(!1),U=m(null),W=m(``),G={available:{label:`空置`,color:`bg-emerald-50 border-emerald-200`,badge:`bg-emerald-500`,text:`text-emerald-700`,dot:`bg-emerald-400`},occupied:{label:`在住`,color:`bg-blue-50 border-blue-200`,badge:`bg-blue-500`,text:`text-blue-700`,dot:`bg-blue-400`},cleaning:{label:`保洁`,color:`bg-amber-50 border-amber-200`,badge:`bg-amber-500`,text:`text-amber-700`,dot:`bg-amber-400`},maintenance:{label:`维护`,color:`bg-gray-50 border-gray-200`,badge:`bg-gray-400`,text:`text-gray-600`,dot:`bg-gray-400`}},K=Object.entries(G).map(([e,t])=>({value:e,label:t.label})),q=p(()=>W.value?B.value.filter(e=>e.status===W.value):B.value),J=p(()=>{let e={};for(let t of Object.keys(G))e[t]=0;for(let t of B.value)e[t.status]!==void 0&&e[t.status]++;return e});async function Y(){V.value=!0;try{let e=await b.getList({per_page:200});B.value=e.data?.list||e.data?.data||[]}catch(e){console.error(e)}finally{V.value=!1}}async function X(e){if(U.value=e,e.status===`occupied`)try{let t=await x.getList({room_id:e.id,status:1,per_page:1}),n=t.data?.list||t.data?.data||[];U.value={...e,currentReservation:n[0]||null}}catch(e){console.error(e)}H.value=!0}async function Z(e,t){try{await b.updateStatus(e.id,{status:t}),y.success(`房态已更新`),Y()}catch(e){console.error(e)}}return r(()=>Y()),(r,p)=>{let m=i(`el-option`),y=i(`el-select`),b=i(`el-button`),x=i(`el-descriptions-item`),z=i(`el-tag`),B=i(`el-descriptions`),Q=i(`el-drawer`),$=t(`loading`);return n(),h(`div`,S,[g(`div`,C,[(n(),h(f,null,v(G,(e,t)=>g(`div`,{key:t,class:a([`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center gap-3 cursor-pointer transition-all hover:shadow-md`,W.value===t?`ring-2 ring-rose-400`:``]),onClick:e=>W.value=W.value===t?``:t},[g(`div`,{class:a([`w-10 h-10 rounded-xl flex items-center justify-center`,e.badge+`/20`])},[g(`span`,{class:a([`w-4 h-4 rounded-full inline-block`,e.dot])},null,2)],2),g(`div`,null,[g(`div`,{class:a([`text-2xl font-bold`,e.text])},o(J.value[t]),3),g(`div`,T,o(e.label),1)])],10,w)),64))]),g(`div`,E,[g(`div`,D,[p[3]||=g(`div`,{class:`flex items-center gap-2`},[g(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),g(`span`,{class:`font-medium text-gray-700`},`房态看板`),g(`span`,{class:`text-xs text-gray-400 ml-2`},`点击统计卡片可按状态筛选,点击房间卡片查看详情`)],-1),g(`div`,O,[_(y,{modelValue:W.value,"onUpdate:modelValue":p[0]||=e=>W.value=e,placeholder:`全部状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(!0),h(f,null,v(c(K),e=>(n(),l(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),_(b,{onClick:Y,loading:V.value},{default:e(()=>[...p[2]||=[s(`刷新`,-1)]]),_:1},8,[`loading`])])]),u((n(),h(`div`,k,[q.value.length===0?(n(),h(`div`,A,`暂无房间数据`)):(n(),h(`div`,j,[(n(!0),h(f,null,v(q.value,e=>(n(),h(`div`,{key:e.id,class:a([`rounded-xl border-2 p-3 cursor-pointer transition-all hover:-translate-y-0.5 hover:shadow-md select-none`,G[e.status]?.color||`bg-gray-50 border-gray-200`]),onClick:t=>X(e)},[g(`div`,N,[g(`span`,P,o(e.number),1),g(`span`,{class:a([`w-2.5 h-2.5 rounded-full`,G[e.status]?.dot||`bg-gray-400`])},null,2)]),g(`div`,F,o(e.room_type?.name||e.type_name||`-`),1),g(`div`,{class:a([`text-xs font-medium`,G[e.status]?.text||`text-gray-500`])},o(G[e.status]?.label||e.status),3),e.status===`occupied`&&(e.customer_name||e.current_customer)?(n(),h(`div`,I,o(e.customer_name||e.current_customer),1)):d(``,!0)],10,M))),128))]))])),[[$,V.value]])]),_(Q,{modelValue:H.value,"onUpdate:modelValue":p[1]||=e=>H.value=e,title:`房间详情`,size:`400px`},{default:e(()=>[U.value?(n(),h(f,{key:0},[_(B,{column:1,border:``},{default:e(()=>[_(x,{label:`房间号`},{default:e(()=>[s(o(U.value.number),1)]),_:1}),_(x,{label:`房型`},{default:e(()=>[s(o(U.value.room_type?.name||U.value.type_name||`-`),1)]),_:1}),_(x,{label:`楼层`},{default:e(()=>[s(o(U.value.floor||`-`),1)]),_:1}),_(x,{label:`状态`},{default:e(()=>[_(z,{type:{available:`success`,occupied:`primary`,cleaning:`warning`,maintenance:`info`}[U.value.status],size:`small`},{default:e(()=>[s(o(G[U.value.status]?.label||U.value.status),1)]),_:1},8,[`type`])]),_:1}),U.value.status===`occupied`&&U.value.currentReservation?(n(),h(f,{key:0},[_(x,{label:`在住客户`},{default:e(()=>[s(o(U.value.currentReservation.customer?.name||`-`),1)]),_:1}),_(x,{label:`入住日期`},{default:e(()=>[s(o(U.value.currentReservation.check_in_date||`-`),1)]),_:1}),_(x,{label:`预计离店`},{default:e(()=>[s(o(U.value.currentReservation.check_out_date||`-`),1)]),_:1})],64)):d(``,!0)]),_:1}),g(`div`,L,[p[4]||=g(`div`,{class:`text-sm font-medium text-gray-600 mb-2`},`快速变更房态`,-1),g(`div`,R,[(n(!0),h(f,null,v(c(K),t=>(n(),l(b,{key:t.value,size:`small`,disabled:U.value.status===t.value,onClick:e=>Z(U.value,t.value)},{default:e(()=>[s(o(t.label),1)]),_:2},1032,[`disabled`,`onClick`]))),128))])])],64)):d(``,!0)]),_:1},8,[`modelValue`])])}}};export{z as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,et as u,f as d,i as f,l as p,lt as m,p as h,u as g,v as _,z as v}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as y}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as b,r as x}from"./room-ByMILmib.js";var S={class:`p-6 space-y-4`},C={class:`grid grid-cols-4 gap-4`},w=[`onClick`],T={class:`text-xs text-gray-500`},E={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},D={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},O={class:`flex items-center gap-2`},k={class:`p-5`},A={key:0,class:`py-16 text-center text-gray-400`},j={key:1,class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-4`},M=[`onClick`],N={class:`flex items-center justify-between mb-2`},P={class:`font-bold text-gray-800 text-sm`},F={class:`text-xs text-gray-500 mb-1 truncate`},I={key:0,class:`text-xs text-blue-600 mt-1 truncate font-medium`},L={class:`mt-4`},R={class:`flex flex-wrap gap-2`},z={__name:`index`,setup(z){let B=m([]),V=m(!1),H=m(!1),U=m(null),W=m(``),G={available:{label:`空置`,color:`bg-emerald-50 border-emerald-200`,badge:`bg-emerald-500`,text:`text-emerald-700`,dot:`bg-emerald-400`},occupied:{label:`在住`,color:`bg-blue-50 border-blue-200`,badge:`bg-blue-500`,text:`text-blue-700`,dot:`bg-blue-400`},cleaning:{label:`保洁`,color:`bg-amber-50 border-amber-200`,badge:`bg-amber-500`,text:`text-amber-700`,dot:`bg-amber-400`},maintenance:{label:`维护`,color:`bg-gray-50 border-gray-200`,badge:`bg-gray-400`,text:`text-gray-600`,dot:`bg-gray-400`}},K=Object.entries(G).map(([e,t])=>({value:e,label:t.label})),q=p(()=>W.value?B.value.filter(e=>e.status===W.value):B.value),J=p(()=>{let e={};for(let t of Object.keys(G))e[t]=0;for(let t of B.value)e[t.status]!==void 0&&e[t.status]++;return e});async function Y(){V.value=!0;try{let e=await b.getList({per_page:200});B.value=e.data?.list||e.data?.data||[]}catch(e){console.error(e)}finally{V.value=!1}}async function X(e){if(U.value=e,e.status===`occupied`)try{let t=await x.getList({room_id:e.id,status:1,per_page:1}),n=t.data?.list||t.data?.data||[];U.value={...e,currentReservation:n[0]||null}}catch(e){console.error(e)}H.value=!0}async function Z(e,t){try{await b.updateStatus(e.id,{status:t}),y.success(`房态已更新`),Y()}catch(e){console.error(e)}}return r(()=>Y()),(r,p)=>{let m=i(`el-option`),y=i(`el-select`),b=i(`el-button`),x=i(`el-descriptions-item`),z=i(`el-tag`),B=i(`el-descriptions`),Q=i(`el-drawer`),$=t(`loading`);return n(),h(`div`,S,[g(`div`,C,[(n(),h(f,null,v(G,(e,t)=>g(`div`,{key:t,class:a([`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center gap-3 cursor-pointer transition-all hover:shadow-md`,W.value===t?`ring-2 ring-rose-400`:``]),onClick:e=>W.value=W.value===t?``:t},[g(`div`,{class:a([`w-10 h-10 rounded-xl flex items-center justify-center`,e.badge+`/20`])},[g(`span`,{class:a([`w-4 h-4 rounded-full inline-block`,e.dot])},null,2)],2),g(`div`,null,[g(`div`,{class:a([`text-2xl font-bold`,e.text])},o(J.value[t]),3),g(`div`,T,o(e.label),1)])],10,w)),64))]),g(`div`,E,[g(`div`,D,[p[3]||=g(`div`,{class:`flex items-center gap-2`},[g(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),g(`span`,{class:`font-medium text-gray-700`},`房态看板`),g(`span`,{class:`text-xs text-gray-400 ml-2`},`点击统计卡片可按状态筛选,点击房间卡片查看详情`)],-1),g(`div`,O,[_(y,{modelValue:W.value,"onUpdate:modelValue":p[0]||=e=>W.value=e,placeholder:`全部状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(!0),h(f,null,v(c(K),e=>(n(),l(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),_(b,{onClick:Y,loading:V.value},{default:e(()=>[...p[2]||=[s(`刷新`,-1)]]),_:1},8,[`loading`])])]),u((n(),h(`div`,k,[q.value.length===0?(n(),h(`div`,A,`暂无房间数据`)):(n(),h(`div`,j,[(n(!0),h(f,null,v(q.value,e=>(n(),h(`div`,{key:e.id,class:a([`rounded-xl border-2 p-3 cursor-pointer transition-all hover:-translate-y-0.5 hover:shadow-md select-none`,G[e.status]?.color||`bg-gray-50 border-gray-200`]),onClick:t=>X(e)},[g(`div`,N,[g(`span`,P,o(e.number),1),g(`span`,{class:a([`w-2.5 h-2.5 rounded-full`,G[e.status]?.dot||`bg-gray-400`])},null,2)]),g(`div`,F,o(e.room_type?.name||e.type_name||`-`),1),g(`div`,{class:a([`text-xs font-medium`,G[e.status]?.text||`text-gray-500`])},o(G[e.status]?.label||e.status),3),e.status===`occupied`&&(e.customer_name||e.current_customer)?(n(),h(`div`,I,o(e.customer_name||e.current_customer),1)):d(``,!0)],10,M))),128))]))])),[[$,V.value]])]),_(Q,{modelValue:H.value,"onUpdate:modelValue":p[1]||=e=>H.value=e,title:`房间详情`,size:`400px`},{default:e(()=>[U.value?(n(),h(f,{key:0},[_(B,{column:1,border:``},{default:e(()=>[_(x,{label:`房间号`},{default:e(()=>[s(o(U.value.number),1)]),_:1}),_(x,{label:`房型`},{default:e(()=>[s(o(U.value.room_type?.name||U.value.type_name||`-`),1)]),_:1}),_(x,{label:`楼层`},{default:e(()=>[s(o(U.value.floor||`-`),1)]),_:1}),_(x,{label:`状态`},{default:e(()=>[_(z,{type:{available:`success`,occupied:`primary`,cleaning:`warning`,maintenance:`info`}[U.value.status],size:`small`},{default:e(()=>[s(o(G[U.value.status]?.label||U.value.status),1)]),_:1},8,[`type`])]),_:1}),U.value.status===`occupied`&&U.value.currentReservation?(n(),h(f,{key:0},[_(x,{label:`在住客户`},{default:e(()=>[s(o(U.value.currentReservation.customer?.name||`-`),1)]),_:1}),_(x,{label:`入住日期`},{default:e(()=>[s(o(U.value.currentReservation.check_in_date||`-`),1)]),_:1}),_(x,{label:`预计离店`},{default:e(()=>[s(o(U.value.currentReservation.check_out_date||`-`),1)]),_:1})],64)):d(``,!0)]),_:1}),g(`div`,L,[p[4]||=g(`div`,{class:`text-sm font-medium text-gray-600 mb-2`},`快速变更房态`,-1),g(`div`,R,[(n(!0),h(f,null,v(c(K),t=>(n(),l(b,{key:t.value,size:`small`,disabled:U.value.status===t.value,onClick:e=>Z(U.value,t.value)},{default:e(()=>[s(o(t.label),1)]),_:2},1032,[`disabled`,`onClick`]))),128))])])],64)):d(``,!0)]),_:1},8,[`modelValue`])])}}};export{z as default}; \ No newline at end of file diff --git a/frontend/dist/assets/call-records-C6rwRG6C.js b/frontend/dist/assets/call-records-Clz1SbNm.js similarity index 97% rename from frontend/dist/assets/call-records-C6rwRG6C.js rename to frontend/dist/assets/call-records-Clz1SbNm.js index 37e796c..43349b0 100644 --- a/frontend/dist/assets/call-records-C6rwRG6C.js +++ b/frontend/dist/assets/call-records-Clz1SbNm.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as v}from"./crm-Do-MgkuV.js";import{t as y}from"./room-DSHyULwI.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={key:1,class:`text-gray-400 text-xs`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=u([]),k=u(0),A=u(!1),j=u(!1),M=u(!1),N=u([]),P=f({customer_id:``,handled:``,date:``}),F=f({page:1,per_page:20}),I=u(null),L=f({customer_id:``,room_no:``,call_type:`nurse`,content:``}),R={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],call_type:[{required:!0,message:`请选择呼叫类型`,trigger:`change`}],content:[{required:!0,message:`请输入呼叫内容`,trigger:`blur`}]},z={nurse:`护理`,meal:`膳食`,service:`服务`,emergency:`紧急`},B={nurse:`primary`,meal:`success`,service:`info`,emergency:`danger`};async function V(){A.value=!0;try{let e=await y.getList({...P,...F});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function H(){try{let e=await v.getList({per_page:500});N.value=e.data?.list||e.data?.data||[]}catch{}}function U(){F.page=1,V()}function W(){Object.assign(P,{customer_id:``,handled:``,date:``}),U()}function G(){Object.assign(L,{customer_id:``,room_no:``,call_type:`nurse`,content:``}),j.value=!0}async function K(){I.value&&await I.value.validate(async e=>{if(e){M.value=!0;try{await y.create(L),_.success(`呼叫记录已创建`),j.value=!1,V()}finally{M.value=!1}}})}async function q(e){await g.confirm(`确定标记该呼叫为「已处理」吗?`,`处理确认`,{type:`info`});try{await y.handle(e.id,{}),_.success(`已标记为处理`),V()}catch(e){console.error(e)}}function J(e){F.page=e,V()}function Y(e){F.per_page=e,F.page=1,V()}return r(()=>{V(),H()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-date-picker`),v=i(`el-button`),y=i(`el-table-column`),D=i(`el-tag`),V=i(`el-table`),H=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(g,{modelValue:P.customer_id,"onUpdate:modelValue":u[0]||=e=>P.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(f,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(g,{modelValue:P.handled,"onUpdate:modelValue":u[1]||=e=>P.handled=e,placeholder:`处理状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(f,{label:`未处理`,value:0}),m(f,{label:`已处理`,value:1})]),_:1},8,[`modelValue`]),m(_,{modelValue:P.date,"onUpdate:modelValue":u[2]||=e=>P.date=e,type:`date`,placeholder:`呼叫日期`,"value-format":`YYYY-MM-DD`,style:{width:`150px`}},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:U},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:W},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[14]||=p(`div`,{class:`flex items-center gap-2`},[p(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),p(`span`,{class:`font-medium text-gray-700`},`呼叫记录`)],-1),m(v,{type:`primary`,onClick:G},{default:e(()=>[...u[13]||=[o(`新建呼叫记录`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(V,{data:O.value,style:{width:`100%`},"row-class-name":({row:e})=>e.handled?``:`bg-rose-50/40`},{default:e(()=>[m(y,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||e.customer?.name||`-`),1)]),_:1}),m(y,{prop:`room_no`,label:`房间号`,width:`90`,align:`center`}),m(y,{label:`呼叫类型`,width:`100`,align:`center`},{default:e(({row:t})=>[m(D,{type:B[t.call_type],size:`small`},{default:e(()=>[o(a(z[t.call_type]),1)]),_:2},1032,[`type`])]),_:1}),m(y,{prop:`content`,label:`呼叫内容`,"min-width":`180`,"show-overflow-tooltip":``}),m(y,{label:`处理状态`,width:`95`,align:`center`},{default:e(({row:t})=>[m(D,{type:t.handled?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.handled?`已处理`:`未处理`),1)]),_:2},1032,[`type`])]),_:1}),m(y,{label:`处理人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.handler_name||e.handler?.name||`-`),1)]),_:1}),m(y,{prop:`handled_at`,label:`处理时间`,"min-width":`160`},{default:e(({row:e})=>[o(a(e.handled_at||`-`),1)]),_:1}),m(y,{prop:`created_at`,label:`呼叫时间`,"min-width":`160`}),m(y,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.handled?(n(),d(`span`,T,`已完成`)):(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[15]||=[o(`标记处理`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`,`row-class-name`])),[[ee,A.value]])]),p(`div`,E,[m(H,{"current-page":F.page,"onUpdate:currentPage":u[3]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":u[4]||=e=>F.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:J,onSizeChange:Y},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:j.value,"onUpdate:modelValue":u[10]||=e=>j.value=e,title:`新建呼叫记录`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[9]||=e=>j.value=!1},{default:e(()=>[...u[16]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:M.value,onClick:K},{default:e(()=>[...u[17]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:I,model:L,rules:R,"label-width":`90px`},{default:e(()=>[m(X,{label:`客户`,prop:`customer_id`},{default:e(()=>[m(g,{modelValue:L.customer_id,"onUpdate:modelValue":u[5]||=e=>L.customer_id=e,filterable:``,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(f,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`房间号`},{default:e(()=>[m(Z,{modelValue:L.room_no,"onUpdate:modelValue":u[6]||=e=>L.room_no=e,placeholder:`请输入房间号`},null,8,[`modelValue`])]),_:1}),m(X,{label:`呼叫类型`,prop:`call_type`},{default:e(()=>[m(g,{modelValue:L.call_type,"onUpdate:modelValue":u[7]||=e=>L.call_type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`呼叫内容`,prop:`content`},{default:e(()=>[m(Z,{modelValue:L.content,"onUpdate:modelValue":u[8]||=e=>L.content=e,type:`textarea`,rows:3,placeholder:`请描述呼叫内容`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as v}from"./crm-CvCW8IfR.js";import{t as y}from"./room-ByMILmib.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={key:1,class:`text-gray-400 text-xs`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=u([]),k=u(0),A=u(!1),j=u(!1),M=u(!1),N=u([]),P=f({customer_id:``,handled:``,date:``}),F=f({page:1,per_page:20}),I=u(null),L=f({customer_id:``,room_no:``,call_type:`nurse`,content:``}),R={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],call_type:[{required:!0,message:`请选择呼叫类型`,trigger:`change`}],content:[{required:!0,message:`请输入呼叫内容`,trigger:`blur`}]},z={nurse:`护理`,meal:`膳食`,service:`服务`,emergency:`紧急`},B={nurse:`primary`,meal:`success`,service:`info`,emergency:`danger`};async function V(){A.value=!0;try{let e=await y.getList({...P,...F});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function H(){try{let e=await v.getList({per_page:500});N.value=e.data?.list||e.data?.data||[]}catch{}}function U(){F.page=1,V()}function W(){Object.assign(P,{customer_id:``,handled:``,date:``}),U()}function G(){Object.assign(L,{customer_id:``,room_no:``,call_type:`nurse`,content:``}),j.value=!0}async function K(){I.value&&await I.value.validate(async e=>{if(e){M.value=!0;try{await y.create(L),_.success(`呼叫记录已创建`),j.value=!1,V()}finally{M.value=!1}}})}async function q(e){await g.confirm(`确定标记该呼叫为「已处理」吗?`,`处理确认`,{type:`info`});try{await y.handle(e.id,{}),_.success(`已标记为处理`),V()}catch(e){console.error(e)}}function J(e){F.page=e,V()}function Y(e){F.per_page=e,F.page=1,V()}return r(()=>{V(),H()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-date-picker`),v=i(`el-button`),y=i(`el-table-column`),D=i(`el-tag`),V=i(`el-table`),H=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(g,{modelValue:P.customer_id,"onUpdate:modelValue":u[0]||=e=>P.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(f,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(g,{modelValue:P.handled,"onUpdate:modelValue":u[1]||=e=>P.handled=e,placeholder:`处理状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(f,{label:`未处理`,value:0}),m(f,{label:`已处理`,value:1})]),_:1},8,[`modelValue`]),m(_,{modelValue:P.date,"onUpdate:modelValue":u[2]||=e=>P.date=e,type:`date`,placeholder:`呼叫日期`,"value-format":`YYYY-MM-DD`,style:{width:`150px`}},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:U},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:W},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[14]||=p(`div`,{class:`flex items-center gap-2`},[p(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),p(`span`,{class:`font-medium text-gray-700`},`呼叫记录`)],-1),m(v,{type:`primary`,onClick:G},{default:e(()=>[...u[13]||=[o(`新建呼叫记录`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(V,{data:O.value,style:{width:`100%`},"row-class-name":({row:e})=>e.handled?``:`bg-rose-50/40`},{default:e(()=>[m(y,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||e.customer?.name||`-`),1)]),_:1}),m(y,{prop:`room_no`,label:`房间号`,width:`90`,align:`center`}),m(y,{label:`呼叫类型`,width:`100`,align:`center`},{default:e(({row:t})=>[m(D,{type:B[t.call_type],size:`small`},{default:e(()=>[o(a(z[t.call_type]),1)]),_:2},1032,[`type`])]),_:1}),m(y,{prop:`content`,label:`呼叫内容`,"min-width":`180`,"show-overflow-tooltip":``}),m(y,{label:`处理状态`,width:`95`,align:`center`},{default:e(({row:t})=>[m(D,{type:t.handled?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.handled?`已处理`:`未处理`),1)]),_:2},1032,[`type`])]),_:1}),m(y,{label:`处理人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.handler_name||e.handler?.name||`-`),1)]),_:1}),m(y,{prop:`handled_at`,label:`处理时间`,"min-width":`160`},{default:e(({row:e})=>[o(a(e.handled_at||`-`),1)]),_:1}),m(y,{prop:`created_at`,label:`呼叫时间`,"min-width":`160`}),m(y,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.handled?(n(),d(`span`,T,`已完成`)):(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[15]||=[o(`标记处理`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`,`row-class-name`])),[[ee,A.value]])]),p(`div`,E,[m(H,{"current-page":F.page,"onUpdate:currentPage":u[3]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":u[4]||=e=>F.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:J,onSizeChange:Y},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:j.value,"onUpdate:modelValue":u[10]||=e=>j.value=e,title:`新建呼叫记录`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[9]||=e=>j.value=!1},{default:e(()=>[...u[16]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:M.value,onClick:K},{default:e(()=>[...u[17]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:I,model:L,rules:R,"label-width":`90px`},{default:e(()=>[m(X,{label:`客户`,prop:`customer_id`},{default:e(()=>[m(g,{modelValue:L.customer_id,"onUpdate:modelValue":u[5]||=e=>L.customer_id=e,filterable:``,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(f,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`房间号`},{default:e(()=>[m(Z,{modelValue:L.room_no,"onUpdate:modelValue":u[6]||=e=>L.room_no=e,placeholder:`请输入房间号`},null,8,[`modelValue`])]),_:1}),m(X,{label:`呼叫类型`,prop:`call_type`},{default:e(()=>[m(g,{modelValue:L.call_type,"onUpdate:modelValue":u[7]||=e=>L.call_type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`呼叫内容`,prop:`content`},{default:e(()=>[m(Z,{modelValue:L.content,"onUpdate:modelValue":u[8]||=e=>L.content=e,type:`textarea`,rows:3,placeholder:`请描述呼叫内容`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/care-ChCKRopi.js b/frontend/dist/assets/care-BUQYu5B3.js similarity index 93% rename from frontend/dist/assets/care-ChCKRopi.js rename to frontend/dist/assets/care-BUQYu5B3.js index da81f0c..db23fab 100644 --- a/frontend/dist/assets/care-ChCKRopi.js +++ b/frontend/dist/assets/care-BUQYu5B3.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/care/profiles`,{params:t}),getDetail:t=>e.get(`/care/profiles/${t}`),create:t=>e.post(`/care/profiles`,t),update:(t,n)=>e.put(`/care/profiles/${t}`,n),delete:t=>e.delete(`/care/profiles/${t}`)},n={getList:t=>e.get(`/care/plans`,{params:t}),getDetail:t=>e.get(`/care/plans/${t}`),create:t=>e.post(`/care/plans`,t),update:(t,n)=>e.put(`/care/plans/${t}`,n),delete:t=>e.delete(`/care/plans/${t}`)},r={getList:t=>e.get(`/care/records`,{params:t}),getDetail:t=>e.get(`/care/records/${t}`),create:t=>e.post(`/care/records`,t),update:(t,n)=>e.put(`/care/records/${t}`,n),delete:t=>e.delete(`/care/records/${t}`)},i={getList:t=>e.get(`/care/exceptions`,{params:t}),getDetail:t=>e.get(`/care/exceptions/${t}`),create:t=>e.post(`/care/exceptions`,t),update:(t,n)=>e.put(`/care/exceptions/${t}`,n),handle:(t,n)=>e.put(`/care/exceptions/${t}/handle`,n),resolve:(t,n)=>e.put(`/care/exceptions/${t}/handle`,n)},a={getList:t=>e.get(`/care/health-metrics`,{params:t}),create:t=>e.post(`/care/health-metrics`,t)};export{a,r as i,n,t as r,i as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/care/profiles`,{params:t}),getDetail:t=>e.get(`/care/profiles/${t}`),create:t=>e.post(`/care/profiles`,t),update:(t,n)=>e.put(`/care/profiles/${t}`,n),delete:t=>e.delete(`/care/profiles/${t}`)},n={getList:t=>e.get(`/care/plans`,{params:t}),getDetail:t=>e.get(`/care/plans/${t}`),create:t=>e.post(`/care/plans`,t),update:(t,n)=>e.put(`/care/plans/${t}`,n),delete:t=>e.delete(`/care/plans/${t}`)},r={getList:t=>e.get(`/care/records`,{params:t}),getDetail:t=>e.get(`/care/records/${t}`),create:t=>e.post(`/care/records`,t),update:(t,n)=>e.put(`/care/records/${t}`,n),delete:t=>e.delete(`/care/records/${t}`)},i={getList:t=>e.get(`/care/exceptions`,{params:t}),getDetail:t=>e.get(`/care/exceptions/${t}`),create:t=>e.post(`/care/exceptions`,t),update:(t,n)=>e.put(`/care/exceptions/${t}`,n),handle:(t,n)=>e.put(`/care/exceptions/${t}/handle`,n),resolve:(t,n)=>e.put(`/care/exceptions/${t}/handle`,n)},a={getList:t=>e.get(`/care/health-metrics`,{params:t}),create:t=>e.post(`/care/health-metrics`,t)};export{a,r as i,n,t as r,i as t}; \ No newline at end of file diff --git a/frontend/dist/assets/categories-Djm6nnOq.js b/frontend/dist/assets/categories-BohrmcA0.js similarity index 95% rename from frontend/dist/assets/categories-Djm6nnOq.js rename to frontend/dist/assets/categories-BohrmcA0.js index 0108552..3c77192 100644 --- a/frontend/dist/assets/categories-Djm6nnOq.js +++ b/frontend/dist/assets/categories-BohrmcA0.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as m,s as h}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as g}from"./kb-DoVqfT25.js";var _={class:`p-6 space-y-4`},v={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},b={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},x={class:`px-2`},S={class:`px-5 py-3 border-t border-gray-50`},C={__name:`index`,setup(C){let w=l([]),T=l(0),E=l(!1),D=l(!1),O=l(!1),k=d({status:``}),A=d({page:1,per_page:50}),j=l(null),M=d({id:null,name:``,parent_id:0,sort:0,status:1}),N=l(!1),P={name:[{required:!0,message:`请输入分类名称`,trigger:`blur`}]};async function F(){E.value=!0;try{let e=await g.getList({...k,...A});w.value=e.data?.list||e.data?.data||[],T.value=e.data?.total||0}finally{E.value=!1}}function I(){A.page=1,F()}function L(){Object.assign(k,{status:``}),I()}function R(){N.value=!1,Object.assign(M,{id:null,name:``,parent_id:0,sort:0,status:1}),D.value=!0}async function z(e){N.value=!0,Object.assign(M,{id:e.id,name:e.name,parent_id:e.parent_id||0,sort:e.sort||0,status:e.status}),D.value=!0}async function B(){j.value&&await j.value.validate(async e=>{if(e){O.value=!0;try{N.value?(await g.update(M.id,M),h.success(`更新成功`)):(await g.create(M),h.success(`创建成功`)),D.value=!1,F()}finally{O.value=!1}}})}async function V(e){await m.confirm(`确定删除分类「${e.name}」吗?`,`删除确认`,{type:`warning`}),await g.delete(e.id),h.success(`删除成功`),F()}function H(e){A.page=e,F()}function U(e){A.per_page=e,A.page=1,F()}return r(()=>F()),(r,l)=>{let d=i(`el-option`),m=i(`el-select`),h=i(`el-button`),g=i(`el-table-column`),C=i(`el-tag`),F=i(`el-table`),W=i(`el-pagination`),G=i(`el-input`),K=i(`el-form-item`),q=i(`el-input-number`),J=i(`el-switch`),Y=i(`el-form`),X=i(`el-dialog`),Z=t(`loading`);return n(),u(`div`,_,[f(`div`,v,[p(m,{modelValue:k.status,"onUpdate:modelValue":l[0]||=e=>k.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(d,{label:`启用`,value:1}),p(d,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(h,{type:`primary`,onClick:I},{default:e(()=>[...l[9]||=[o(`查询`,-1)]]),_:1}),p(h,{onClick:L},{default:e(()=>[...l[10]||=[o(`重置`,-1)]]),_:1})]),f(`div`,y,[f(`div`,b,[l[12]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`知识库分类列表`)],-1),p(h,{type:`primary`,onClick:R},{default:e(()=>[...l[11]||=[o(`新增分类`,-1)]]),_:1})]),f(`div`,x,[c((n(),s(F,{data:w.value,"row-key":`id`,style:{width:`100%`}},{default:e(()=>[p(g,{prop:`name`,label:`分类名称`,"min-width":`180`}),p(g,{label:`上级分类`,width:`120`,align:`center`},{default:e(({row:e})=>[o(a(e.parent_id===0?`顶级`:e.parent_id),1)]),_:1}),p(g,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),p(g,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(C,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(g,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(h,{size:`small`,type:`primary`,text:``,onClick:e=>z(t)},{default:e(()=>[...l[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(h,{size:`small`,type:`danger`,text:``,onClick:e=>V(t)},{default:e(()=>[...l[14]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Z,E.value]])]),f(`div`,S,[p(W,{"current-page":A.page,"onUpdate:currentPage":l[1]||=e=>A.page=e,"page-size":A.per_page,"onUpdate:pageSize":l[2]||=e=>A.per_page=e,total:T.value,"page-sizes":[20,50,100],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:H,onSizeChange:U},null,8,[`current-page`,`page-size`,`total`])])]),p(X,{modelValue:D.value,"onUpdate:modelValue":l[8]||=e=>D.value=e,title:N.value?`编辑分类`:`新增分类`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[p(h,{onClick:l[7]||=e=>D.value=!1},{default:e(()=>[...l[16]||=[o(`取消`,-1)]]),_:1}),p(h,{type:`primary`,loading:O.value,onClick:B},{default:e(()=>[...l[17]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(Y,{ref_key:`formRef`,ref:j,model:M,rules:P,"label-width":`90px`},{default:e(()=>[p(K,{label:`分类名称`,prop:`name`},{default:e(()=>[p(G,{modelValue:M.name,"onUpdate:modelValue":l[3]||=e=>M.name=e,placeholder:`请输入分类名称`},null,8,[`modelValue`])]),_:1}),p(K,{label:`上级分类`},{default:e(()=>[p(q,{modelValue:M.parent_id,"onUpdate:modelValue":l[4]||=e=>M.parent_id=e,min:0,style:{width:`100%`}},null,8,[`modelValue`]),l[15]||=f(`div`,{style:{"font-size":`12px`,color:`var(--color-text-secondary)`}},`0 表示顶级分类`,-1)]),_:1}),p(K,{label:`排序`},{default:e(()=>[p(q,{modelValue:M.sort,"onUpdate:modelValue":l[5]||=e=>M.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(K,{label:`状态`},{default:e(()=>[p(J,{modelValue:M.status,"onUpdate:modelValue":l[6]||=e=>M.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{C as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as m,s as h}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as g}from"./kb-CR5OwwPK.js";var _={class:`p-6 space-y-4`},v={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},b={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},x={class:`px-2`},S={class:`px-5 py-3 border-t border-gray-50`},C={__name:`index`,setup(C){let w=l([]),T=l(0),E=l(!1),D=l(!1),O=l(!1),k=d({status:``}),A=d({page:1,per_page:50}),j=l(null),M=d({id:null,name:``,parent_id:0,sort:0,status:1}),N=l(!1),P={name:[{required:!0,message:`请输入分类名称`,trigger:`blur`}]};async function F(){E.value=!0;try{let e=await g.getList({...k,...A});w.value=e.data?.list||e.data?.data||[],T.value=e.data?.total||0}finally{E.value=!1}}function I(){A.page=1,F()}function L(){Object.assign(k,{status:``}),I()}function R(){N.value=!1,Object.assign(M,{id:null,name:``,parent_id:0,sort:0,status:1}),D.value=!0}async function z(e){N.value=!0,Object.assign(M,{id:e.id,name:e.name,parent_id:e.parent_id||0,sort:e.sort||0,status:e.status}),D.value=!0}async function B(){j.value&&await j.value.validate(async e=>{if(e){O.value=!0;try{N.value?(await g.update(M.id,M),h.success(`更新成功`)):(await g.create(M),h.success(`创建成功`)),D.value=!1,F()}finally{O.value=!1}}})}async function V(e){await m.confirm(`确定删除分类「${e.name}」吗?`,`删除确认`,{type:`warning`}),await g.delete(e.id),h.success(`删除成功`),F()}function H(e){A.page=e,F()}function U(e){A.per_page=e,A.page=1,F()}return r(()=>F()),(r,l)=>{let d=i(`el-option`),m=i(`el-select`),h=i(`el-button`),g=i(`el-table-column`),C=i(`el-tag`),F=i(`el-table`),W=i(`el-pagination`),G=i(`el-input`),K=i(`el-form-item`),q=i(`el-input-number`),J=i(`el-switch`),Y=i(`el-form`),X=i(`el-dialog`),Z=t(`loading`);return n(),u(`div`,_,[f(`div`,v,[p(m,{modelValue:k.status,"onUpdate:modelValue":l[0]||=e=>k.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(d,{label:`启用`,value:1}),p(d,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(h,{type:`primary`,onClick:I},{default:e(()=>[...l[9]||=[o(`查询`,-1)]]),_:1}),p(h,{onClick:L},{default:e(()=>[...l[10]||=[o(`重置`,-1)]]),_:1})]),f(`div`,y,[f(`div`,b,[l[12]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`知识库分类列表`)],-1),p(h,{type:`primary`,onClick:R},{default:e(()=>[...l[11]||=[o(`新增分类`,-1)]]),_:1})]),f(`div`,x,[c((n(),s(F,{data:w.value,"row-key":`id`,style:{width:`100%`}},{default:e(()=>[p(g,{prop:`name`,label:`分类名称`,"min-width":`180`}),p(g,{label:`上级分类`,width:`120`,align:`center`},{default:e(({row:e})=>[o(a(e.parent_id===0?`顶级`:e.parent_id),1)]),_:1}),p(g,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),p(g,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(C,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(g,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(h,{size:`small`,type:`primary`,text:``,onClick:e=>z(t)},{default:e(()=>[...l[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(h,{size:`small`,type:`danger`,text:``,onClick:e=>V(t)},{default:e(()=>[...l[14]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Z,E.value]])]),f(`div`,S,[p(W,{"current-page":A.page,"onUpdate:currentPage":l[1]||=e=>A.page=e,"page-size":A.per_page,"onUpdate:pageSize":l[2]||=e=>A.per_page=e,total:T.value,"page-sizes":[20,50,100],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:H,onSizeChange:U},null,8,[`current-page`,`page-size`,`total`])])]),p(X,{modelValue:D.value,"onUpdate:modelValue":l[8]||=e=>D.value=e,title:N.value?`编辑分类`:`新增分类`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[p(h,{onClick:l[7]||=e=>D.value=!1},{default:e(()=>[...l[16]||=[o(`取消`,-1)]]),_:1}),p(h,{type:`primary`,loading:O.value,onClick:B},{default:e(()=>[...l[17]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(Y,{ref_key:`formRef`,ref:j,model:M,rules:P,"label-width":`90px`},{default:e(()=>[p(K,{label:`分类名称`,prop:`name`},{default:e(()=>[p(G,{modelValue:M.name,"onUpdate:modelValue":l[3]||=e=>M.name=e,placeholder:`请输入分类名称`},null,8,[`modelValue`])]),_:1}),p(K,{label:`上级分类`},{default:e(()=>[p(q,{modelValue:M.parent_id,"onUpdate:modelValue":l[4]||=e=>M.parent_id=e,min:0,style:{width:`100%`}},null,8,[`modelValue`]),l[15]||=f(`div`,{style:{"font-size":`12px`,color:`var(--color-text-secondary)`}},`0 表示顶级分类`,-1)]),_:1}),p(K,{label:`排序`},{default:e(()=>[p(q,{modelValue:M.sort,"onUpdate:modelValue":l[5]||=e=>M.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(K,{label:`状态`},{default:e(()=>[p(J,{modelValue:M.status,"onUpdate:modelValue":l[6]||=e=>M.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{C as default}; \ No newline at end of file diff --git a/frontend/dist/assets/categories-pnwbIy3A.js b/frontend/dist/assets/categories-CUHGnGIZ.js similarity index 97% rename from frontend/dist/assets/categories-pnwbIy3A.js rename to frontend/dist/assets/categories-CUHGnGIZ.js index b6e5e61..e669908 100644 --- a/frontend/dist/assets/categories-pnwbIy3A.js +++ b/frontend/dist/assets/categories-CUHGnGIZ.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{r as v}from"./finance-CoczR0xj.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({type:``,status:``}),M=f({page:1,per_page:50}),N=u(null),P=f({id:null,name:``,type:1,parent_id:0,level:1,sort:0,status:1}),F=u(!1),I={name:[{required:!0,message:`请输入分类名称`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}]},L={1:`收入`,2:`支出`};async function R(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function z(){M.page=1,R()}function B(){Object.assign(j,{type:``,status:``}),z()}function V(){F.value=!1,Object.assign(P,{id:null,name:``,type:1,parent_id:0,level:1,sort:0,status:1}),k.value=!0}async function H(e){F.value=!0,Object.assign(P,{id:e.id,name:e.name,type:e.type,parent_id:e.parent_id||0,level:e.level||1,sort:e.sort||0,status:e.status}),k.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?(await v.update(P.id,P),_.success(`更新成功`)):(await v.create(P),_.success(`创建成功`)),k.value=!1,R()}finally{A.value=!1}}})}async function W(e){await g.confirm(`确定删除分类「${e.name}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),R()}function G(e){M.page=e,R()}function K(e){M.per_page=e,M.page=1,R()}return r(()=>R()),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-tag`),R=i(`el-table`),q=i(`el-pagination`),J=i(`el-input`),Y=i(`el-form-item`),X=i(`el-input-number`),Z=i(`el-switch`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:j.type,"onUpdate:modelValue":u[0]||=e=>j.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:j.status,"onUpdate:modelValue":u[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(f,{label:`启用`,value:1}),m(f,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:z},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:B},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[14]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`收支分类列表`)],-1),m(_,{type:`primary`,onClick:V},{default:e(()=>[...u[13]||=[o(`新增分类`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(R,{data:E.value,"row-key":`id`,"default-expand-all":``,style:{width:`100%`}},{default:e(()=>[m(v,{prop:`name`,label:`分类名称`,"min-width":`180`}),m(v,{label:`类型`,width:`100`,align:`center`},{default:e(({row:t})=>[m(T,{type:t.type===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(L[t.type]),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`level`,label:`层级`,width:`80`,align:`center`}),m(v,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),m(v,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(T,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(v,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(_,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...u[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ee,O.value]])]),p(`div`,w,[m(q,{"current-page":M.page,"onUpdate:currentPage":u[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[3]||=e=>M.per_page=e,total:D.value,"page-sizes":[20,50,100],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:G,onSizeChange:K},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:k.value,"onUpdate:modelValue":u[10]||=e=>k.value=e,title:F.value?`编辑分类`:`新增分类`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[9]||=e=>k.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:A.value,onClick:U},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[m(Y,{label:`分类名称`,prop:`name`},{default:e(()=>[m(J,{modelValue:P.name,"onUpdate:modelValue":u[4]||=e=>P.name=e,placeholder:`请输入分类名称`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:P.type,"onUpdate:modelValue":u[5]||=e=>P.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Y,{label:`上级分类`},{default:e(()=>[m(X,{modelValue:P.parent_id,"onUpdate:modelValue":u[6]||=e=>P.parent_id=e,min:0,style:{width:`100%`}},null,8,[`modelValue`]),u[17]||=p(`div`,{style:{"font-size":`12px`,color:`var(--color-text-secondary)`}},`0 表示顶级分类`,-1)]),_:1}),m(Y,{label:`排序`},{default:e(()=>[m(X,{modelValue:P.sort,"onUpdate:modelValue":u[7]||=e=>P.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Y,{label:`状态`},{default:e(()=>[m(Z,{modelValue:P.status,"onUpdate:modelValue":u[8]||=e=>P.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{r as v}from"./finance-xn2Nlkdw.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({type:``,status:``}),M=f({page:1,per_page:50}),N=u(null),P=f({id:null,name:``,type:1,parent_id:0,level:1,sort:0,status:1}),F=u(!1),I={name:[{required:!0,message:`请输入分类名称`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}]},L={1:`收入`,2:`支出`};async function R(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function z(){M.page=1,R()}function B(){Object.assign(j,{type:``,status:``}),z()}function V(){F.value=!1,Object.assign(P,{id:null,name:``,type:1,parent_id:0,level:1,sort:0,status:1}),k.value=!0}async function H(e){F.value=!0,Object.assign(P,{id:e.id,name:e.name,type:e.type,parent_id:e.parent_id||0,level:e.level||1,sort:e.sort||0,status:e.status}),k.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?(await v.update(P.id,P),_.success(`更新成功`)):(await v.create(P),_.success(`创建成功`)),k.value=!1,R()}finally{A.value=!1}}})}async function W(e){await g.confirm(`确定删除分类「${e.name}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),R()}function G(e){M.page=e,R()}function K(e){M.per_page=e,M.page=1,R()}return r(()=>R()),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-tag`),R=i(`el-table`),q=i(`el-pagination`),J=i(`el-input`),Y=i(`el-form-item`),X=i(`el-input-number`),Z=i(`el-switch`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:j.type,"onUpdate:modelValue":u[0]||=e=>j.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:j.status,"onUpdate:modelValue":u[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(f,{label:`启用`,value:1}),m(f,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:z},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:B},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[14]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`收支分类列表`)],-1),m(_,{type:`primary`,onClick:V},{default:e(()=>[...u[13]||=[o(`新增分类`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(R,{data:E.value,"row-key":`id`,"default-expand-all":``,style:{width:`100%`}},{default:e(()=>[m(v,{prop:`name`,label:`分类名称`,"min-width":`180`}),m(v,{label:`类型`,width:`100`,align:`center`},{default:e(({row:t})=>[m(T,{type:t.type===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(L[t.type]),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`level`,label:`层级`,width:`80`,align:`center`}),m(v,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),m(v,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(T,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(v,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(_,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...u[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ee,O.value]])]),p(`div`,w,[m(q,{"current-page":M.page,"onUpdate:currentPage":u[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[3]||=e=>M.per_page=e,total:D.value,"page-sizes":[20,50,100],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:G,onSizeChange:K},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:k.value,"onUpdate:modelValue":u[10]||=e=>k.value=e,title:F.value?`编辑分类`:`新增分类`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[9]||=e=>k.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:A.value,onClick:U},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[m(Y,{label:`分类名称`,prop:`name`},{default:e(()=>[m(J,{modelValue:P.name,"onUpdate:modelValue":u[4]||=e=>P.name=e,placeholder:`请输入分类名称`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:P.type,"onUpdate:modelValue":u[5]||=e=>P.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Y,{label:`上级分类`},{default:e(()=>[m(X,{modelValue:P.parent_id,"onUpdate:modelValue":u[6]||=e=>P.parent_id=e,min:0,style:{width:`100%`}},null,8,[`modelValue`]),u[17]||=p(`div`,{style:{"font-size":`12px`,color:`var(--color-text-secondary)`}},`0 表示顶级分类`,-1)]),_:1}),m(Y,{label:`排序`},{default:e(()=>[m(X,{modelValue:P.sort,"onUpdate:modelValue":u[7]||=e=>P.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Y,{label:`状态`},{default:e(()=>[m(Z,{modelValue:P.status,"onUpdate:modelValue":u[8]||=e=>P.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/channels-B6bNTV7i.js b/frontend/dist/assets/channels-Dxf-llaq.js similarity index 97% rename from frontend/dist/assets/channels-B6bNTV7i.js rename to frontend/dist/assets/channels-Dxf-llaq.js index b209740..3afee5f 100644 --- a/frontend/dist/assets/channels-B6bNTV7i.js +++ b/frontend/dist/assets/channels-Dxf-llaq.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as y}from"./crm-Do-MgkuV.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({name:``,type:``}),N=f({page:1,per_page:20}),P=u(null),F=f({id:null,name:``,type:1,status:1}),I=u(!1),L={name:[{required:!0,message:`请输入渠道名称`,trigger:`blur`}]},R={1:`线上`,2:`线下`,3:`转介绍`};async function z(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function B(){N.page=1,z()}function V(){Object.assign(M,{name:``,type:``}),B()}function H(){I.value=!1,Object.assign(F,{id:null,name:``,type:1,status:1}),A.value=!0}async function U(e){I.value=!0,Object.assign(F,{...e}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?(await y.update(F.id,F),v.success(`更新成功`)):(await y.create(F),v.success(`创建成功`)),A.value=!1,z()}finally{j.value=!1}}})}async function G(e){await _.confirm(`确定删除渠道「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),z()}function K(e){N.page=e,z()}function q(e){N.per_page=e,N.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-switch`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.name,"onUpdate:modelValue":u[0]||=e=>M.name=e,placeholder:`渠道名称`,style:{width:`180px`},clearable:``,onKeydown:g(B,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.type,"onUpdate:modelValue":u[1]||=e=>M.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:B},{default:e(()=>[...u[9]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:V},{default:e(()=>[...u[10]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[12]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`渠道列表`)],-1),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[11]||=[o(`新增渠道`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(J,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`name`,label:`渠道名称`,"min-width":`150`}),m(E,{label:`类型`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(R[e.type]),1)]),_:1}),m(E,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(E,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(E,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[14]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ee,k.value]])]),p(`div`,T,[m(Y,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:A.value,"onUpdate:modelValue":u[8]||=e=>A.value=e,title:I.value?`编辑渠道`:`新增渠道`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[7]||=e=>A.value=!1},{default:e(()=>[...u[15]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[16]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m(X,{label:`渠道名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[4]||=e=>F.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`类型`},{default:e(()=>[m(v,{modelValue:F.type,"onUpdate:modelValue":u[5]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Z,{modelValue:F.status,"onUpdate:modelValue":u[6]||=e=>F.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as y}from"./crm-CvCW8IfR.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({name:``,type:``}),N=f({page:1,per_page:20}),P=u(null),F=f({id:null,name:``,type:1,status:1}),I=u(!1),L={name:[{required:!0,message:`请输入渠道名称`,trigger:`blur`}]},R={1:`线上`,2:`线下`,3:`转介绍`};async function z(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function B(){N.page=1,z()}function V(){Object.assign(M,{name:``,type:``}),B()}function H(){I.value=!1,Object.assign(F,{id:null,name:``,type:1,status:1}),A.value=!0}async function U(e){I.value=!0,Object.assign(F,{...e}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?(await y.update(F.id,F),v.success(`更新成功`)):(await y.create(F),v.success(`创建成功`)),A.value=!1,z()}finally{j.value=!1}}})}async function G(e){await _.confirm(`确定删除渠道「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),z()}function K(e){N.page=e,z()}function q(e){N.per_page=e,N.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-switch`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.name,"onUpdate:modelValue":u[0]||=e=>M.name=e,placeholder:`渠道名称`,style:{width:`180px`},clearable:``,onKeydown:g(B,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.type,"onUpdate:modelValue":u[1]||=e=>M.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:B},{default:e(()=>[...u[9]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:V},{default:e(()=>[...u[10]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[12]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`渠道列表`)],-1),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[11]||=[o(`新增渠道`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(J,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`name`,label:`渠道名称`,"min-width":`150`}),m(E,{label:`类型`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(R[e.type]),1)]),_:1}),m(E,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(E,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(E,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[14]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ee,k.value]])]),p(`div`,T,[m(Y,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:A.value,"onUpdate:modelValue":u[8]||=e=>A.value=e,title:I.value?`编辑渠道`:`新增渠道`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[7]||=e=>A.value=!1},{default:e(()=>[...u[15]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[16]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m(X,{label:`渠道名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[4]||=e=>F.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`类型`},{default:e(()=>[m(v,{modelValue:F.type,"onUpdate:modelValue":u[5]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Z,{modelValue:F.status,"onUpdate:modelValue":u[6]||=e=>F.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file diff --git a/frontend/dist/assets/checks-BPkkDfPT.js b/frontend/dist/assets/checks-Cnmj1PAb.js similarity index 98% rename from frontend/dist/assets/checks-BPkkDfPT.js rename to frontend/dist/assets/checks-Cnmj1PAb.js index c5bcbb5..f33538e 100644 --- a/frontend/dist/assets/checks-BPkkDfPT.js +++ b/frontend/dist/assets/checks-Cnmj1PAb.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as v,s as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{c as b,i as x,t as S}from"./inventory-BCukmUtW.js";var C={class:`p-6 space-y-4`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},te={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={key:0,class:`text-center text-gray-400 py-6`},O={__name:`index`,setup(O){let k=f([]),A=f(0),j=f(!1),M=f(!1),N=f(!1),P=f(!1),F=f(null),I=f([]),L=m({warehouse_id:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({warehouse_id:``,check_date:``,remark:``,items:[]}),ne={warehouse_id:[{required:!0,message:`请选择仓库`,trigger:`change`}],check_date:[{required:!0,message:`请选择盘点日期`,trigger:`change`}]},V={draft:`盘点中`,completed:`已完成`},H={draft:`warning`,completed:`success`};async function U(){j.value=!0;try{let e=await S.getList({...L,...R});k.value=e.data?.list||e.data?.data||[],A.value=e.data?.total||0}catch{y.error(`获取盘点单列表失败`)}finally{j.value=!1}}async function W(){try{let e=await b.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function G(){R.page=1,U()}function K(){Object.assign(L,{warehouse_id:``,status:``}),G()}async function q(){Object.assign(B,{warehouse_id:``,check_date:``,remark:``,items:[]}),M.value=!0}async function J(e){if(!e){B.items=[];return}try{let t=await x.getList({warehouse_id:e,per_page:500});B.items=(t.data?.list||t.data?.data||[]).map(e=>({material_id:e.id,material_name:e.material_name,material_code:e.material_code,unit:e.unit,system_quantity:Number(e.quantity||0),actual_quantity:Number(e.quantity||0)}))}catch{y.error(`加载库存数据失败`)}}async function Y(){z.value&&await z.value.validate(async e=>{if(e){if(B.items.length===0){y.warning(`当前仓库无库存数据`);return}N.value=!0;try{await S.create({...B}),y.success(`盘点单创建成功`),M.value=!1,U()}catch{y.error(`创建失败`)}finally{N.value=!1}}})}async function X(e){await v.confirm(`确认完成盘点单「${e.check_no}」吗?完成后不可修改。`,`完成确认`,{type:`warning`});try{await S.complete(e.id,{}),y.success(`盘点完成`),U()}catch{y.error(`操作失败`)}}function re(e){F.value=e,P.value=!0}function Z(e){return Number(e.actual_quantity||0)-Number(e.system_quantity||0)}function ie(e){R.page=e,U()}function ae(e){R.per_page=e,R.page=1,U()}return r(()=>{U(),W()}),(r,f)=>{let m=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),x=i(`el-tag`),S=i(`el-table`),O=i(`el-pagination`),U=i(`el-form-item`),W=i(`el-col`),oe=i(`el-date-picker`),se=i(`el-input`),ce=i(`el-row`),le=i(`el-divider`),ue=i(`el-input-number`),de=i(`el-form`),Q=i(`el-dialog`),$=i(`el-descriptions-item`),fe=i(`el-descriptions`),pe=t(`loading`);return n(),p(`div`,C,[h(`div`,w,[g(v,{modelValue:L.warehouse_id,"onUpdate:modelValue":f[0]||=e=>L.warehouse_id=e,placeholder:`选择仓库`,clearable:``,filterable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:L.status,"onUpdate:modelValue":f[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(d,null,_(V,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(y,{type:`primary`,onClick:G},{default:e(()=>[...f[10]||=[s(`查询`,-1)]]),_:1}),g(y,{onClick:K},{default:e(()=>[...f[11]||=[s(`重置`,-1)]]),_:1})]),h(`div`,ee,[h(`div`,te,[f[13]||=h(`div`,{class:`flex items-center gap-3`},[h(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),h(`span`,{class:`font-medium text-gray-700`},`盘点单列表`)],-1),g(y,{type:`primary`,onClick:q},{default:e(()=>[...f[12]||=[s(`新建盘点单`,-1)]]),_:1})]),h(`div`,T,[l((n(),c(S,{data:k.value,style:{width:`100%`},stripe:``},{default:e(()=>[g(b,{prop:`check_no`,label:`盘点单号`,"min-width":`160`}),g(b,{prop:`warehouse_name`,label:`仓库`,"min-width":`110`}),g(b,{prop:`check_date`,label:`盘点日期`,width:`120`,align:`center`}),g(b,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[g(x,{type:H[t.status],size:`small`},{default:e(()=>[s(o(V[t.status]||t.status),1)]),_:2},1032,[`type`])]),_:1}),g(b,{prop:`operator_name`,label:`操作人`,width:`90`,align:`center`}),g(b,{prop:`remark`,label:`备注`,"min-width":`120`,"show-overflow-tooltip":``}),g(b,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(y,{size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...f[14]||=[s(`查看`,-1)]]),_:1},8,[`onClick`]),t.status===`draft`?(n(),c(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>X(t)},{default:e(()=>[...f[15]||=[s(`完成盘点`,-1)]]),_:1},8,[`onClick`])):u(``,!0)]),_:1})]),_:1},8,[`data`])),[[pe,j.value]])]),h(`div`,E,[g(O,{"current-page":R.page,"onUpdate:currentPage":f[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":f[3]||=e=>R.per_page=e,total:A.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ie,onSizeChange:ae},null,8,[`current-page`,`page-size`,`total`])])]),g(Q,{modelValue:M.value,"onUpdate:modelValue":f[8]||=e=>M.value=e,title:`新建盘点单`,width:`820px`,"destroy-on-close":``},{footer:e(()=>[g(y,{onClick:f[7]||=e=>M.value=!1},{default:e(()=>[...f[17]||=[s(`取消`,-1)]]),_:1}),g(y,{type:`primary`,loading:N.value,onClick:Y},{default:e(()=>[...f[18]||=[s(`提交盘点`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(de,{ref_key:`formRef`,ref:z,model:B,rules:ne,"label-width":`90px`},{default:e(()=>[g(ce,{gutter:16},{default:e(()=>[g(W,{span:10},{default:e(()=>[g(U,{label:`仓库`,prop:`warehouse_id`},{default:e(()=>[g(v,{modelValue:B.warehouse_id,"onUpdate:modelValue":f[4]||=e=>B.warehouse_id=e,placeholder:`选择仓库`,filterable:``,style:{width:`100%`},onChange:J},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(W,{span:8},{default:e(()=>[g(U,{label:`盘点日期`,prop:`check_date`},{default:e(()=>[g(oe,{modelValue:B.check_date,"onUpdate:modelValue":f[5]||=e=>B.check_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(W,{span:6},{default:e(()=>[g(U,{label:`备注`},{default:e(()=>[g(se,{modelValue:B.remark,"onUpdate:modelValue":f[6]||=e=>B.remark=e,placeholder:`备注`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),g(le,{"content-position":`left`},{default:e(()=>[...f[16]||=[s(`物料明细(系统自动填入库存,请填写实际数量)`,-1)]]),_:1}),B.items.length===0?(n(),p(`div`,D,` 请先选择仓库以加载库存数据 `)):(n(),c(S,{key:1,data:B.items,style:{width:`100%`},"max-height":`320`},{default:e(()=>[g(b,{prop:`material_code`,label:`物料编码`,width:`110`}),g(b,{prop:`material_name`,label:`物料名称`,"min-width":`130`}),g(b,{prop:`unit`,label:`单位`,width:`70`,align:`center`}),g(b,{prop:`system_quantity`,label:`系统数量`,width:`100`,align:`right`}),g(b,{label:`实际数量`,width:`140`,align:`right`},{default:e(({row:e})=>[g(ue,{modelValue:e.actual_quantity,"onUpdate:modelValue":t=>e.actual_quantity=t,min:0,precision:2,size:`small`,style:{width:`120px`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),g(b,{label:`差异`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(Z(e)===0?`text-gray-500`:Z(e)>0?`text-green-600`:`text-red-500`)},o(Z(e)>0?`+`:``)+o(Z(e).toFixed(2)),3)]),_:1})]),_:1},8,[`data`]))]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),g(Q,{modelValue:P.value,"onUpdate:modelValue":f[9]||=e=>P.value=e,title:`盘点单详情`,width:`760px`,"destroy-on-close":``},{default:e(()=>[F.value?(n(),p(d,{key:0},[g(fe,{column:3,border:``,size:`small`,class:`mb-4`},{default:e(()=>[g($,{label:`盘点单号`},{default:e(()=>[s(o(F.value.check_no),1)]),_:1}),g($,{label:`仓库`},{default:e(()=>[s(o(F.value.warehouse_name),1)]),_:1}),g($,{label:`盘点日期`},{default:e(()=>[s(o(F.value.check_date),1)]),_:1}),g($,{label:`操作人`},{default:e(()=>[s(o(F.value.operator_name),1)]),_:1}),g($,{label:`状态`},{default:e(()=>[g(x,{type:H[F.value.status],size:`small`},{default:e(()=>[s(o(V[F.value.status]),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`备注`},{default:e(()=>[s(o(F.value.remark||`-`),1)]),_:1})]),_:1}),g(S,{data:F.value.items||[],style:{width:`100%`},"max-height":`360`},{default:e(()=>[g(b,{prop:`material_name`,label:`物料名称`,"min-width":`130`}),g(b,{prop:`system_quantity`,label:`系统数量`,width:`100`,align:`right`}),g(b,{prop:`actual_quantity`,label:`实际数量`,width:`100`,align:`right`}),g(b,{label:`差异`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(Z(e)===0?`text-gray-500`:Z(e)>0?`text-green-600`:`text-red-500`)},o(Z(e)>0?`+`:``)+o(Number(Z(e)).toFixed(2)),3)]),_:1})]),_:1},8,[`data`])],64)):u(``,!0)]),_:1},8,[`modelValue`])])}}};export{O as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as v,s as y}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{c as b,i as x,t as S}from"./inventory-BVEZNzEQ.js";var C={class:`p-6 space-y-4`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},te={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={key:0,class:`text-center text-gray-400 py-6`},O={__name:`index`,setup(O){let k=f([]),A=f(0),j=f(!1),M=f(!1),N=f(!1),P=f(!1),F=f(null),I=f([]),L=m({warehouse_id:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({warehouse_id:``,check_date:``,remark:``,items:[]}),ne={warehouse_id:[{required:!0,message:`请选择仓库`,trigger:`change`}],check_date:[{required:!0,message:`请选择盘点日期`,trigger:`change`}]},V={draft:`盘点中`,completed:`已完成`},H={draft:`warning`,completed:`success`};async function U(){j.value=!0;try{let e=await S.getList({...L,...R});k.value=e.data?.list||e.data?.data||[],A.value=e.data?.total||0}catch{y.error(`获取盘点单列表失败`)}finally{j.value=!1}}async function W(){try{let e=await b.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function G(){R.page=1,U()}function K(){Object.assign(L,{warehouse_id:``,status:``}),G()}async function q(){Object.assign(B,{warehouse_id:``,check_date:``,remark:``,items:[]}),M.value=!0}async function J(e){if(!e){B.items=[];return}try{let t=await x.getList({warehouse_id:e,per_page:500});B.items=(t.data?.list||t.data?.data||[]).map(e=>({material_id:e.id,material_name:e.material_name,material_code:e.material_code,unit:e.unit,system_quantity:Number(e.quantity||0),actual_quantity:Number(e.quantity||0)}))}catch{y.error(`加载库存数据失败`)}}async function Y(){z.value&&await z.value.validate(async e=>{if(e){if(B.items.length===0){y.warning(`当前仓库无库存数据`);return}N.value=!0;try{await S.create({...B}),y.success(`盘点单创建成功`),M.value=!1,U()}catch{y.error(`创建失败`)}finally{N.value=!1}}})}async function X(e){await v.confirm(`确认完成盘点单「${e.check_no}」吗?完成后不可修改。`,`完成确认`,{type:`warning`});try{await S.complete(e.id,{}),y.success(`盘点完成`),U()}catch{y.error(`操作失败`)}}function re(e){F.value=e,P.value=!0}function Z(e){return Number(e.actual_quantity||0)-Number(e.system_quantity||0)}function ie(e){R.page=e,U()}function ae(e){R.per_page=e,R.page=1,U()}return r(()=>{U(),W()}),(r,f)=>{let m=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),x=i(`el-tag`),S=i(`el-table`),O=i(`el-pagination`),U=i(`el-form-item`),W=i(`el-col`),oe=i(`el-date-picker`),se=i(`el-input`),ce=i(`el-row`),le=i(`el-divider`),ue=i(`el-input-number`),de=i(`el-form`),Q=i(`el-dialog`),$=i(`el-descriptions-item`),fe=i(`el-descriptions`),pe=t(`loading`);return n(),p(`div`,C,[h(`div`,w,[g(v,{modelValue:L.warehouse_id,"onUpdate:modelValue":f[0]||=e=>L.warehouse_id=e,placeholder:`选择仓库`,clearable:``,filterable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:L.status,"onUpdate:modelValue":f[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(d,null,_(V,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(y,{type:`primary`,onClick:G},{default:e(()=>[...f[10]||=[s(`查询`,-1)]]),_:1}),g(y,{onClick:K},{default:e(()=>[...f[11]||=[s(`重置`,-1)]]),_:1})]),h(`div`,ee,[h(`div`,te,[f[13]||=h(`div`,{class:`flex items-center gap-3`},[h(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),h(`span`,{class:`font-medium text-gray-700`},`盘点单列表`)],-1),g(y,{type:`primary`,onClick:q},{default:e(()=>[...f[12]||=[s(`新建盘点单`,-1)]]),_:1})]),h(`div`,T,[l((n(),c(S,{data:k.value,style:{width:`100%`},stripe:``},{default:e(()=>[g(b,{prop:`check_no`,label:`盘点单号`,"min-width":`160`}),g(b,{prop:`warehouse_name`,label:`仓库`,"min-width":`110`}),g(b,{prop:`check_date`,label:`盘点日期`,width:`120`,align:`center`}),g(b,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[g(x,{type:H[t.status],size:`small`},{default:e(()=>[s(o(V[t.status]||t.status),1)]),_:2},1032,[`type`])]),_:1}),g(b,{prop:`operator_name`,label:`操作人`,width:`90`,align:`center`}),g(b,{prop:`remark`,label:`备注`,"min-width":`120`,"show-overflow-tooltip":``}),g(b,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(y,{size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...f[14]||=[s(`查看`,-1)]]),_:1},8,[`onClick`]),t.status===`draft`?(n(),c(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>X(t)},{default:e(()=>[...f[15]||=[s(`完成盘点`,-1)]]),_:1},8,[`onClick`])):u(``,!0)]),_:1})]),_:1},8,[`data`])),[[pe,j.value]])]),h(`div`,E,[g(O,{"current-page":R.page,"onUpdate:currentPage":f[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":f[3]||=e=>R.per_page=e,total:A.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ie,onSizeChange:ae},null,8,[`current-page`,`page-size`,`total`])])]),g(Q,{modelValue:M.value,"onUpdate:modelValue":f[8]||=e=>M.value=e,title:`新建盘点单`,width:`820px`,"destroy-on-close":``},{footer:e(()=>[g(y,{onClick:f[7]||=e=>M.value=!1},{default:e(()=>[...f[17]||=[s(`取消`,-1)]]),_:1}),g(y,{type:`primary`,loading:N.value,onClick:Y},{default:e(()=>[...f[18]||=[s(`提交盘点`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(de,{ref_key:`formRef`,ref:z,model:B,rules:ne,"label-width":`90px`},{default:e(()=>[g(ce,{gutter:16},{default:e(()=>[g(W,{span:10},{default:e(()=>[g(U,{label:`仓库`,prop:`warehouse_id`},{default:e(()=>[g(v,{modelValue:B.warehouse_id,"onUpdate:modelValue":f[4]||=e=>B.warehouse_id=e,placeholder:`选择仓库`,filterable:``,style:{width:`100%`},onChange:J},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(W,{span:8},{default:e(()=>[g(U,{label:`盘点日期`,prop:`check_date`},{default:e(()=>[g(oe,{modelValue:B.check_date,"onUpdate:modelValue":f[5]||=e=>B.check_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(W,{span:6},{default:e(()=>[g(U,{label:`备注`},{default:e(()=>[g(se,{modelValue:B.remark,"onUpdate:modelValue":f[6]||=e=>B.remark=e,placeholder:`备注`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),g(le,{"content-position":`left`},{default:e(()=>[...f[16]||=[s(`物料明细(系统自动填入库存,请填写实际数量)`,-1)]]),_:1}),B.items.length===0?(n(),p(`div`,D,` 请先选择仓库以加载库存数据 `)):(n(),c(S,{key:1,data:B.items,style:{width:`100%`},"max-height":`320`},{default:e(()=>[g(b,{prop:`material_code`,label:`物料编码`,width:`110`}),g(b,{prop:`material_name`,label:`物料名称`,"min-width":`130`}),g(b,{prop:`unit`,label:`单位`,width:`70`,align:`center`}),g(b,{prop:`system_quantity`,label:`系统数量`,width:`100`,align:`right`}),g(b,{label:`实际数量`,width:`140`,align:`right`},{default:e(({row:e})=>[g(ue,{modelValue:e.actual_quantity,"onUpdate:modelValue":t=>e.actual_quantity=t,min:0,precision:2,size:`small`,style:{width:`120px`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),g(b,{label:`差异`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(Z(e)===0?`text-gray-500`:Z(e)>0?`text-green-600`:`text-red-500`)},o(Z(e)>0?`+`:``)+o(Z(e).toFixed(2)),3)]),_:1})]),_:1},8,[`data`]))]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),g(Q,{modelValue:P.value,"onUpdate:modelValue":f[9]||=e=>P.value=e,title:`盘点单详情`,width:`760px`,"destroy-on-close":``},{default:e(()=>[F.value?(n(),p(d,{key:0},[g(fe,{column:3,border:``,size:`small`,class:`mb-4`},{default:e(()=>[g($,{label:`盘点单号`},{default:e(()=>[s(o(F.value.check_no),1)]),_:1}),g($,{label:`仓库`},{default:e(()=>[s(o(F.value.warehouse_name),1)]),_:1}),g($,{label:`盘点日期`},{default:e(()=>[s(o(F.value.check_date),1)]),_:1}),g($,{label:`操作人`},{default:e(()=>[s(o(F.value.operator_name),1)]),_:1}),g($,{label:`状态`},{default:e(()=>[g(x,{type:H[F.value.status],size:`small`},{default:e(()=>[s(o(V[F.value.status]),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`备注`},{default:e(()=>[s(o(F.value.remark||`-`),1)]),_:1})]),_:1}),g(S,{data:F.value.items||[],style:{width:`100%`},"max-height":`360`},{default:e(()=>[g(b,{prop:`material_name`,label:`物料名称`,"min-width":`130`}),g(b,{prop:`system_quantity`,label:`系统数量`,width:`100`,align:`right`}),g(b,{prop:`actual_quantity`,label:`实际数量`,width:`100`,align:`right`}),g(b,{label:`差异`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(Z(e)===0?`text-gray-500`:Z(e)>0?`text-green-600`:`text-red-500`)},o(Z(e)>0?`+`:``)+o(Number(Z(e)).toFixed(2)),3)]),_:1})]),_:1},8,[`data`])],64)):u(``,!0)]),_:1},8,[`modelValue`])])}}};export{O as default}; \ No newline at end of file diff --git a/frontend/dist/assets/complaints-BA2CDCPC.js b/frontend/dist/assets/complaints-q2aLoF_Z.js similarity index 97% rename from frontend/dist/assets/complaints-BA2CDCPC.js rename to frontend/dist/assets/complaints-q2aLoF_Z.js index 28aa6d8..380d292 100644 --- a/frontend/dist/assets/complaints-BA2CDCPC.js +++ b/frontend/dist/assets/complaints-q2aLoF_Z.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as y,n as b}from"./crm-Do-MgkuV.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d(!1),P=d(null),F=d([]),I=p({customer_id:``,type:``,status:``}),L=p({page:1,per_page:20}),R=d(null),z=p({id:null,customer_id:``,type:1,content:``,images:[]}),B=d(!1),V=p({handle_result:``,status:2}),H={1:`服务`,2:`膳食`,3:`环境`,4:`其他`},U={0:`待处理`,1:`处理中`,2:`已解决`,3:`已关闭`},W={0:`danger`,1:`warning`,2:`success`,3:`info`};async function G(){A.value=!0;try{let e=await b.getList({...I,...L});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function K(){try{let e=await y.getList({per_page:500});F.value=e.data?.list||e.data?.data||[]}catch{}}function q(){L.page=1,G()}function J(){Object.assign(I,{customer_id:``,type:``,status:``}),q()}function Y(){B.value=!1,Object.assign(z,{id:null,customer_id:``,type:1,content:``,images:[]}),j.value=!0}async function X(){R.value&&await R.value.validate(async e=>{if(e){M.value=!0;try{B.value?await b.update(z.id,z):await b.create(z),v.success(`提交成功`),j.value=!1,G()}finally{M.value=!1}}})}function ee(e){P.value=e,Object.assign(V,{handle_result:``,status:2}),N.value=!0}async function te(){if(!V.handle_result){v.warning(`请输入处理结果`);return}await b.handle(P.value.id,V),v.success(`处理完成`),N.value=!1,G()}async function ne(e){await _.confirm(`确定删除该投诉吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),G()}function re(e){L.page=e,G()}function ie(e){L.per_page=e,L.page=1,G()}return r(()=>{G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),b=i(`el-tag`),D=i(`el-table`),P=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),Z=i(`el-form`),Q=i(`el-dialog`),$=i(`el-radio`),ae=i(`el-radio-group`),oe=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(_,{modelValue:I.customer_id,"onUpdate:modelValue":d[0]||=e=>I.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.type,"onUpdate:modelValue":d[1]||=e=>I.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.status,"onUpdate:modelValue":d[2]||=e=>I.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(U,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:q},{default:e(()=>[...d[14]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:J},{default:e(()=>[...d[15]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[17]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`投诉列表`)],-1),h(v,{type:`primary`,onClick:Y},{default:e(()=>[...d[16]||=[o(`新增投诉`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(y,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(y,{label:`类型`,width:`80`,align:`center`},{default:e(({row:e})=>[o(a(H[e.type]),1)]),_:1}),h(y,{prop:`content`,label:`内容`,"min-width":`200`,"show-overflow-tooltip":``}),h(y,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(b,{type:W[t.status],size:`small`},{default:e(()=>[o(a(U[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`处理人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.handler?.name||`-`),1)]),_:1}),h(y,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(y,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<2?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>ee(t)},{default:e(()=>[...d[18]||=[o(`处理`,-1)]]),_:1},8,[`onClick`])):l(``,!0),h(v,{size:`small`,type:`danger`,text:``,onClick:e=>ne(t)},{default:e(()=>[...d[19]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[oe,A.value]])]),m(`div`,E,[h(P,{"current-page":L.page,"onUpdate:currentPage":d[3]||=e=>L.page=e,"page-size":L.per_page,"onUpdate:pageSize":d[4]||=e=>L.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:re,onSizeChange:ie},null,8,[`current-page`,`page-size`,`total`])])]),h(Q,{modelValue:j.value,"onUpdate:modelValue":d[9]||=e=>j.value=e,title:B.value?`编辑投诉`:`新增投诉`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[8]||=e=>j.value=!1},{default:e(()=>[...d[20]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:M.value,onClick:X},{default:e(()=>[...d[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(Z,{ref_key:`formRef`,ref:R,model:z,rules:{customer_id:[{required:!0,message:`请选择客户`}],content:[{required:!0,message:`请输入内容`}]},"label-width":`80px`},{default:e(()=>[h(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:z.customer_id,"onUpdate:modelValue":d[5]||=e=>z.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`类型`},{default:e(()=>[h(_,{modelValue:z.type,"onUpdate:modelValue":d[6]||=e=>z.type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`内容`,prop:`content`},{default:e(()=>[h(K,{modelValue:z.content,"onUpdate:modelValue":d[7]||=e=>z.content=e,type:`textarea`,rows:4},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),h(Q,{modelValue:N.value,"onUpdate:modelValue":d[13]||=e=>N.value=e,title:`处理投诉`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[12]||=e=>N.value=!1},{default:e(()=>[...d[24]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,onClick:te},{default:e(()=>[...d[25]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[h(Z,{"label-width":`80px`},{default:e(()=>[h(G,{label:`处理结果`},{default:e(()=>[h(K,{modelValue:V.handle_result,"onUpdate:modelValue":d[10]||=e=>V.handle_result=e,type:`textarea`,rows:4},null,8,[`modelValue`])]),_:1}),h(G,{label:`状态`},{default:e(()=>[h(ae,{modelValue:V.status,"onUpdate:modelValue":d[11]||=e=>V.status=e},{default:e(()=>[h($,{value:2},{default:e(()=>[...d[22]||=[o(`已解决`,-1)]]),_:1}),h($,{value:3},{default:e(()=>[...d[23]||=[o(`已关闭`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as y,n as b}from"./crm-CvCW8IfR.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d(!1),P=d(null),F=d([]),I=p({customer_id:``,type:``,status:``}),L=p({page:1,per_page:20}),R=d(null),z=p({id:null,customer_id:``,type:1,content:``,images:[]}),B=d(!1),V=p({handle_result:``,status:2}),H={1:`服务`,2:`膳食`,3:`环境`,4:`其他`},U={0:`待处理`,1:`处理中`,2:`已解决`,3:`已关闭`},W={0:`danger`,1:`warning`,2:`success`,3:`info`};async function G(){A.value=!0;try{let e=await b.getList({...I,...L});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function K(){try{let e=await y.getList({per_page:500});F.value=e.data?.list||e.data?.data||[]}catch{}}function q(){L.page=1,G()}function J(){Object.assign(I,{customer_id:``,type:``,status:``}),q()}function Y(){B.value=!1,Object.assign(z,{id:null,customer_id:``,type:1,content:``,images:[]}),j.value=!0}async function X(){R.value&&await R.value.validate(async e=>{if(e){M.value=!0;try{B.value?await b.update(z.id,z):await b.create(z),v.success(`提交成功`),j.value=!1,G()}finally{M.value=!1}}})}function ee(e){P.value=e,Object.assign(V,{handle_result:``,status:2}),N.value=!0}async function te(){if(!V.handle_result){v.warning(`请输入处理结果`);return}await b.handle(P.value.id,V),v.success(`处理完成`),N.value=!1,G()}async function ne(e){await _.confirm(`确定删除该投诉吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),G()}function re(e){L.page=e,G()}function ie(e){L.per_page=e,L.page=1,G()}return r(()=>{G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),b=i(`el-tag`),D=i(`el-table`),P=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),Z=i(`el-form`),Q=i(`el-dialog`),$=i(`el-radio`),ae=i(`el-radio-group`),oe=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(_,{modelValue:I.customer_id,"onUpdate:modelValue":d[0]||=e=>I.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.type,"onUpdate:modelValue":d[1]||=e=>I.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.status,"onUpdate:modelValue":d[2]||=e=>I.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(U,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:q},{default:e(()=>[...d[14]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:J},{default:e(()=>[...d[15]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[17]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`投诉列表`)],-1),h(v,{type:`primary`,onClick:Y},{default:e(()=>[...d[16]||=[o(`新增投诉`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(y,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(y,{label:`类型`,width:`80`,align:`center`},{default:e(({row:e})=>[o(a(H[e.type]),1)]),_:1}),h(y,{prop:`content`,label:`内容`,"min-width":`200`,"show-overflow-tooltip":``}),h(y,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(b,{type:W[t.status],size:`small`},{default:e(()=>[o(a(U[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`处理人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.handler?.name||`-`),1)]),_:1}),h(y,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(y,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<2?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>ee(t)},{default:e(()=>[...d[18]||=[o(`处理`,-1)]]),_:1},8,[`onClick`])):l(``,!0),h(v,{size:`small`,type:`danger`,text:``,onClick:e=>ne(t)},{default:e(()=>[...d[19]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[oe,A.value]])]),m(`div`,E,[h(P,{"current-page":L.page,"onUpdate:currentPage":d[3]||=e=>L.page=e,"page-size":L.per_page,"onUpdate:pageSize":d[4]||=e=>L.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:re,onSizeChange:ie},null,8,[`current-page`,`page-size`,`total`])])]),h(Q,{modelValue:j.value,"onUpdate:modelValue":d[9]||=e=>j.value=e,title:B.value?`编辑投诉`:`新增投诉`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[8]||=e=>j.value=!1},{default:e(()=>[...d[20]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:M.value,onClick:X},{default:e(()=>[...d[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(Z,{ref_key:`formRef`,ref:R,model:z,rules:{customer_id:[{required:!0,message:`请选择客户`}],content:[{required:!0,message:`请输入内容`}]},"label-width":`80px`},{default:e(()=>[h(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:z.customer_id,"onUpdate:modelValue":d[5]||=e=>z.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`类型`},{default:e(()=>[h(_,{modelValue:z.type,"onUpdate:modelValue":d[6]||=e=>z.type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`内容`,prop:`content`},{default:e(()=>[h(K,{modelValue:z.content,"onUpdate:modelValue":d[7]||=e=>z.content=e,type:`textarea`,rows:4},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),h(Q,{modelValue:N.value,"onUpdate:modelValue":d[13]||=e=>N.value=e,title:`处理投诉`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[12]||=e=>N.value=!1},{default:e(()=>[...d[24]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,onClick:te},{default:e(()=>[...d[25]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[h(Z,{"label-width":`80px`},{default:e(()=>[h(G,{label:`处理结果`},{default:e(()=>[h(K,{modelValue:V.handle_result,"onUpdate:modelValue":d[10]||=e=>V.handle_result=e,type:`textarea`,rows:4},null,8,[`modelValue`])]),_:1}),h(G,{label:`状态`},{default:e(()=>[h(ae,{modelValue:V.status,"onUpdate:modelValue":d[11]||=e=>V.status=e},{default:e(()=>[h($,{value:2},{default:e(()=>[...d[22]||=[o(`已解决`,-1)]]),_:1}),h($,{value:3},{default:e(()=>[...d[23]||=[o(`已关闭`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/contracts-Bk4hmbCb.js b/frontend/dist/assets/contracts-B3l9BC6j.js similarity index 98% rename from frontend/dist/assets/contracts-Bk4hmbCb.js rename to frontend/dist/assets/contracts-B3l9BC6j.js index 92ea851..609bd27 100644 --- a/frontend/dist/assets/contracts-Bk4hmbCb.js +++ b/frontend/dist/assets/contracts-B3l9BC6j.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as ee,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as y,r as b}from"./crm-Do-MgkuV.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},te={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},ne={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},re={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=u([]),E=u(0),D=u(!1),O=u(!1),k=u(`新增合同`),A=u(!1),j=u(!1),M=u(null),N=u([]),P=f({contract_no:``,customer_id:``,status:``}),F=f({page:1,per_page:20}),I=u(null),L=f({id:null,customer_id:``,contract_no:``,package_name:``,total_amount:0,discount_amount:0,actual_amount:0,days:``,check_in_date:``,check_out_date:``,remark:``}),R=u(!1),ie={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],contract_no:[{required:!0,message:`请输入合同编号`,trigger:`blur`}],total_amount:[{required:!0,message:`请输入总金额`,trigger:`blur`}],actual_amount:[{required:!0,message:`请输入实付金额`,trigger:`blur`}]},z=f({status:1,audit_remark:``}),B={0:`待审核`,1:`已通过`,2:`无效`,3:`已退`},V={0:`warning`,1:`success`,2:`danger`,3:`info`};async function H(){D.value=!0;try{let e=await b.getList({...P,...F});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}async function U(){try{let e=await y.getList({per_page:500});N.value=e.data?.list||e.data?.data||[]}catch{}}function W(){F.page=1,H()}function G(){Object.assign(P,{contract_no:``,customer_id:``,status:``}),W()}function K(){R.value=!1,k.value=`新增合同`,Object.assign(L,{id:null,customer_id:``,contract_no:``,package_name:``,total_amount:0,discount_amount:0,actual_amount:0,days:``,check_in_date:``,check_out_date:``,remark:``}),O.value=!0}async function q(e){if(e.status!==0){v.warning(`只能编辑待审核合同`);return}R.value=!0,k.value=`编辑合同`;let t=(await b.getDetail(e.id)).data;Object.assign(L,{id:t.id,customer_id:t.customer_id,contract_no:t.contract_no,package_name:t.package_name||``,total_amount:t.total_amount,discount_amount:t.discount_amount,actual_amount:t.actual_amount,days:t.days||``,check_in_date:t.check_in_date||``,check_out_date:t.check_out_date||``,remark:t.remark||``}),O.value=!0}async function J(){I.value&&await I.value.validate(async e=>{if(e){A.value=!0;try{R.value?(await b.update(L.id,L),v.success(`更新成功`)):(await b.create(L),v.success(`创建成功`)),O.value=!1,H()}finally{A.value=!1}}})}async function ae(e){if(e.status!==0){v.warning(`只能删除待审核合同`);return}await _.confirm(`确定删除该合同吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),H()}function oe(e){M.value=e,Object.assign(z,{status:1,audit_remark:``}),j.value=!0}async function se(){await b.audit(M.value.id,z),v.success(`审核完成`),j.value=!1,H()}function ce(e){F.page=e,H()}function le(e){F.per_page=e,F.page=1,H()}return r(()=>{H(),U()}),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),w=i(`el-tag`),M=i(`el-table`),R=i(`el-pagination`),H=i(`el-form-item`),U=i(`el-col`),Y=i(`el-input-number`),X=i(`el-date-picker`),ue=i(`el-row`),Z=i(`el-form`),Q=i(`el-dialog`),$=i(`el-radio`),de=i(`el-radio-group`),fe=t(`loading`);return n(),d(`div`,x,[p(`div`,S,[m(f,{modelValue:P.contract_no,"onUpdate:modelValue":u[0]||=e=>P.contract_no=e,placeholder:`合同编号`,style:{width:`180px`},clearable:``,onKeydown:g(W,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:P.customer_id,"onUpdate:modelValue":u[1]||=e=>P.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(_,{key:e.id,label:`${e.name} (${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(v,{modelValue:P.status,"onUpdate:modelValue":u[2]||=e=>P.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(B,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:W},{default:e(()=>[...u[21]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:G},{default:e(()=>[...u[22]||=[o(`重置`,-1)]]),_:1})]),p(`div`,te,[p(`div`,ne,[u[24]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`合同列表`)],-1),m(y,{type:`primary`,onClick:K},{default:e(()=>[...u[23]||=[o(`新增合同`,-1)]]),_:1})]),p(`div`,re,[c((n(),s(M,{data:T.value,style:{width:`100%`}},{default:e(()=>[m(b,{prop:`contract_no`,label:`合同编号`,"min-width":`150`}),m(b,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),m(b,{prop:`package_name`,label:`套餐`,"min-width":`120`}),m(b,{prop:`actual_amount`,label:`实付金额`,"min-width":`110`,align:`right`}),m(b,{prop:`days`,label:`天数`,width:`70`,align:`center`}),m(b,{prop:`check_in_date`,label:`入住日期`,"min-width":`110`}),m(b,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(w,{type:V[t.status],size:`small`},{default:e(()=>[o(a(B[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(b,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>oe(t)},{default:e(()=>[...u[25]||=[o(`审核`,-1)]]),_:1},8,[`onClick`])):ee(``,!0),m(y,{size:`small`,type:`primary`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[26]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>ae(t)},{default:e(()=>[...u[27]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[fe,D.value]])]),p(`div`,C,[m(R,{"current-page":F.page,"onUpdate:currentPage":u[3]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":u[4]||=e=>F.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ce,onSizeChange:le},null,8,[`current-page`,`page-size`,`total`])])]),m(Q,{modelValue:O.value,"onUpdate:modelValue":u[16]||=e=>O.value=e,title:k.value,width:`700px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[15]||=e=>O.value=!1},{default:e(()=>[...u[28]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:A.value,onClick:J},{default:e(()=>[...u[29]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Z,{ref_key:`formRef`,ref:I,model:L,rules:ie,"label-width":`90px`},{default:e(()=>[m(ue,{gutter:16},{default:e(()=>[m(U,{span:12},{default:e(()=>[m(H,{label:`客户`,prop:`customer_id`},{default:e(()=>[m(v,{modelValue:L.customer_id,"onUpdate:modelValue":u[5]||=e=>L.customer_id=e,placeholder:`选择客户`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(_,{key:e.id,label:`${e.name} (${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`合同编号`,prop:`contract_no`},{default:e(()=>[m(f,{modelValue:L.contract_no,"onUpdate:modelValue":u[6]||=e=>L.contract_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`套餐名称`},{default:e(()=>[m(f,{modelValue:L.package_name,"onUpdate:modelValue":u[7]||=e=>L.package_name=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`天数`},{default:e(()=>[m(Y,{modelValue:L.days,"onUpdate:modelValue":u[8]||=e=>L.days=e,min:1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:8},{default:e(()=>[m(H,{label:`总金额`,prop:`total_amount`},{default:e(()=>[m(Y,{modelValue:L.total_amount,"onUpdate:modelValue":u[9]||=e=>L.total_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:8},{default:e(()=>[m(H,{label:`优惠金额`},{default:e(()=>[m(Y,{modelValue:L.discount_amount,"onUpdate:modelValue":u[10]||=e=>L.discount_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:8},{default:e(()=>[m(H,{label:`实付金额`,prop:`actual_amount`},{default:e(()=>[m(Y,{modelValue:L.actual_amount,"onUpdate:modelValue":u[11]||=e=>L.actual_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`入住日期`},{default:e(()=>[m(X,{modelValue:L.check_in_date,"onUpdate:modelValue":u[12]||=e=>L.check_in_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`退房日期`},{default:e(()=>[m(X,{modelValue:L.check_out_date,"onUpdate:modelValue":u[13]||=e=>L.check_out_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:24},{default:e(()=>[m(H,{label:`备注`},{default:e(()=>[m(f,{modelValue:L.remark,"onUpdate:modelValue":u[14]||=e=>L.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m(Q,{modelValue:j.value,"onUpdate:modelValue":u[20]||=e=>j.value=e,title:`合同审核`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[19]||=e=>j.value=!1},{default:e(()=>[...u[32]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,onClick:se},{default:e(()=>[...u[33]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[m(Z,{"label-width":`80px`},{default:e(()=>[m(H,{label:`审核结果`},{default:e(()=>[m(de,{modelValue:z.status,"onUpdate:modelValue":u[17]||=e=>z.status=e},{default:e(()=>[m($,{value:1},{default:e(()=>[...u[30]||=[o(`通过`,-1)]]),_:1}),m($,{value:2},{default:e(()=>[...u[31]||=[o(`驳回`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),m(H,{label:`审核备注`},{default:e(()=>[m(f,{modelValue:z.audit_remark,"onUpdate:modelValue":u[18]||=e=>z.audit_remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as ee,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as y,r as b}from"./crm-CvCW8IfR.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},te={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},ne={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},re={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=u([]),E=u(0),D=u(!1),O=u(!1),k=u(`新增合同`),A=u(!1),j=u(!1),M=u(null),N=u([]),P=f({contract_no:``,customer_id:``,status:``}),F=f({page:1,per_page:20}),I=u(null),L=f({id:null,customer_id:``,contract_no:``,package_name:``,total_amount:0,discount_amount:0,actual_amount:0,days:``,check_in_date:``,check_out_date:``,remark:``}),R=u(!1),ie={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],contract_no:[{required:!0,message:`请输入合同编号`,trigger:`blur`}],total_amount:[{required:!0,message:`请输入总金额`,trigger:`blur`}],actual_amount:[{required:!0,message:`请输入实付金额`,trigger:`blur`}]},z=f({status:1,audit_remark:``}),B={0:`待审核`,1:`已通过`,2:`无效`,3:`已退`},V={0:`warning`,1:`success`,2:`danger`,3:`info`};async function H(){D.value=!0;try{let e=await b.getList({...P,...F});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}async function U(){try{let e=await y.getList({per_page:500});N.value=e.data?.list||e.data?.data||[]}catch{}}function W(){F.page=1,H()}function G(){Object.assign(P,{contract_no:``,customer_id:``,status:``}),W()}function K(){R.value=!1,k.value=`新增合同`,Object.assign(L,{id:null,customer_id:``,contract_no:``,package_name:``,total_amount:0,discount_amount:0,actual_amount:0,days:``,check_in_date:``,check_out_date:``,remark:``}),O.value=!0}async function q(e){if(e.status!==0){v.warning(`只能编辑待审核合同`);return}R.value=!0,k.value=`编辑合同`;let t=(await b.getDetail(e.id)).data;Object.assign(L,{id:t.id,customer_id:t.customer_id,contract_no:t.contract_no,package_name:t.package_name||``,total_amount:t.total_amount,discount_amount:t.discount_amount,actual_amount:t.actual_amount,days:t.days||``,check_in_date:t.check_in_date||``,check_out_date:t.check_out_date||``,remark:t.remark||``}),O.value=!0}async function J(){I.value&&await I.value.validate(async e=>{if(e){A.value=!0;try{R.value?(await b.update(L.id,L),v.success(`更新成功`)):(await b.create(L),v.success(`创建成功`)),O.value=!1,H()}finally{A.value=!1}}})}async function ae(e){if(e.status!==0){v.warning(`只能删除待审核合同`);return}await _.confirm(`确定删除该合同吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),H()}function oe(e){M.value=e,Object.assign(z,{status:1,audit_remark:``}),j.value=!0}async function se(){await b.audit(M.value.id,z),v.success(`审核完成`),j.value=!1,H()}function ce(e){F.page=e,H()}function le(e){F.per_page=e,F.page=1,H()}return r(()=>{H(),U()}),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),w=i(`el-tag`),M=i(`el-table`),R=i(`el-pagination`),H=i(`el-form-item`),U=i(`el-col`),Y=i(`el-input-number`),X=i(`el-date-picker`),ue=i(`el-row`),Z=i(`el-form`),Q=i(`el-dialog`),$=i(`el-radio`),de=i(`el-radio-group`),fe=t(`loading`);return n(),d(`div`,x,[p(`div`,S,[m(f,{modelValue:P.contract_no,"onUpdate:modelValue":u[0]||=e=>P.contract_no=e,placeholder:`合同编号`,style:{width:`180px`},clearable:``,onKeydown:g(W,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:P.customer_id,"onUpdate:modelValue":u[1]||=e=>P.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(_,{key:e.id,label:`${e.name} (${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(v,{modelValue:P.status,"onUpdate:modelValue":u[2]||=e=>P.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(B,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:W},{default:e(()=>[...u[21]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:G},{default:e(()=>[...u[22]||=[o(`重置`,-1)]]),_:1})]),p(`div`,te,[p(`div`,ne,[u[24]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`合同列表`)],-1),m(y,{type:`primary`,onClick:K},{default:e(()=>[...u[23]||=[o(`新增合同`,-1)]]),_:1})]),p(`div`,re,[c((n(),s(M,{data:T.value,style:{width:`100%`}},{default:e(()=>[m(b,{prop:`contract_no`,label:`合同编号`,"min-width":`150`}),m(b,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),m(b,{prop:`package_name`,label:`套餐`,"min-width":`120`}),m(b,{prop:`actual_amount`,label:`实付金额`,"min-width":`110`,align:`right`}),m(b,{prop:`days`,label:`天数`,width:`70`,align:`center`}),m(b,{prop:`check_in_date`,label:`入住日期`,"min-width":`110`}),m(b,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(w,{type:V[t.status],size:`small`},{default:e(()=>[o(a(B[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(b,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>oe(t)},{default:e(()=>[...u[25]||=[o(`审核`,-1)]]),_:1},8,[`onClick`])):ee(``,!0),m(y,{size:`small`,type:`primary`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[26]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>ae(t)},{default:e(()=>[...u[27]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[fe,D.value]])]),p(`div`,C,[m(R,{"current-page":F.page,"onUpdate:currentPage":u[3]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":u[4]||=e=>F.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ce,onSizeChange:le},null,8,[`current-page`,`page-size`,`total`])])]),m(Q,{modelValue:O.value,"onUpdate:modelValue":u[16]||=e=>O.value=e,title:k.value,width:`700px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[15]||=e=>O.value=!1},{default:e(()=>[...u[28]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:A.value,onClick:J},{default:e(()=>[...u[29]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Z,{ref_key:`formRef`,ref:I,model:L,rules:ie,"label-width":`90px`},{default:e(()=>[m(ue,{gutter:16},{default:e(()=>[m(U,{span:12},{default:e(()=>[m(H,{label:`客户`,prop:`customer_id`},{default:e(()=>[m(v,{modelValue:L.customer_id,"onUpdate:modelValue":u[5]||=e=>L.customer_id=e,placeholder:`选择客户`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(N.value,e=>(n(),s(_,{key:e.id,label:`${e.name} (${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`合同编号`,prop:`contract_no`},{default:e(()=>[m(f,{modelValue:L.contract_no,"onUpdate:modelValue":u[6]||=e=>L.contract_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`套餐名称`},{default:e(()=>[m(f,{modelValue:L.package_name,"onUpdate:modelValue":u[7]||=e=>L.package_name=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`天数`},{default:e(()=>[m(Y,{modelValue:L.days,"onUpdate:modelValue":u[8]||=e=>L.days=e,min:1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:8},{default:e(()=>[m(H,{label:`总金额`,prop:`total_amount`},{default:e(()=>[m(Y,{modelValue:L.total_amount,"onUpdate:modelValue":u[9]||=e=>L.total_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:8},{default:e(()=>[m(H,{label:`优惠金额`},{default:e(()=>[m(Y,{modelValue:L.discount_amount,"onUpdate:modelValue":u[10]||=e=>L.discount_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:8},{default:e(()=>[m(H,{label:`实付金额`,prop:`actual_amount`},{default:e(()=>[m(Y,{modelValue:L.actual_amount,"onUpdate:modelValue":u[11]||=e=>L.actual_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`入住日期`},{default:e(()=>[m(X,{modelValue:L.check_in_date,"onUpdate:modelValue":u[12]||=e=>L.check_in_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:12},{default:e(()=>[m(H,{label:`退房日期`},{default:e(()=>[m(X,{modelValue:L.check_out_date,"onUpdate:modelValue":u[13]||=e=>L.check_out_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(U,{span:24},{default:e(()=>[m(H,{label:`备注`},{default:e(()=>[m(f,{modelValue:L.remark,"onUpdate:modelValue":u[14]||=e=>L.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m(Q,{modelValue:j.value,"onUpdate:modelValue":u[20]||=e=>j.value=e,title:`合同审核`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[19]||=e=>j.value=!1},{default:e(()=>[...u[32]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,onClick:se},{default:e(()=>[...u[33]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[m(Z,{"label-width":`80px`},{default:e(()=>[m(H,{label:`审核结果`},{default:e(()=>[m(de,{modelValue:z.status,"onUpdate:modelValue":u[17]||=e=>z.status=e},{default:e(()=>[m($,{value:1},{default:e(()=>[...u[30]||=[o(`通过`,-1)]]),_:1}),m($,{value:2},{default:e(()=>[...u[31]||=[o(`驳回`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),m(H,{label:`审核备注`},{default:e(()=>[m(f,{modelValue:z.audit_remark,"onUpdate:modelValue":u[18]||=e=>z.audit_remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/crm-Do-MgkuV.js b/frontend/dist/assets/crm-CvCW8IfR.js similarity index 93% rename from frontend/dist/assets/crm-Do-MgkuV.js rename to frontend/dist/assets/crm-CvCW8IfR.js index 37b4fb8..acec568 100644 --- a/frontend/dist/assets/crm-Do-MgkuV.js +++ b/frontend/dist/assets/crm-CvCW8IfR.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/crm/channels`,{params:t}),getDetail:t=>e.get(`/crm/channels/${t}`),create:t=>e.post(`/crm/channels`,t),update:(t,n)=>e.put(`/crm/channels/${t}`,n),delete:t=>e.delete(`/crm/channels/${t}`)},n={getList:t=>e.get(`/crm/leads`,{params:t}),getDetail:t=>e.get(`/crm/leads/${t}`),create:t=>e.post(`/crm/leads`,t),update:(t,n)=>e.put(`/crm/leads/${t}`,n),delete:t=>e.delete(`/crm/leads/${t}`),follow:(t,n)=>e.post(`/crm/leads/${t}/follow`,n),assign:(t,n)=>e.put(`/crm/leads/${t}/assign`,n)},r={getList:t=>e.get(`/crm/customers`,{params:t}),getDetail:t=>e.get(`/crm/customers/${t}`),create:t=>e.post(`/crm/customers`,t),update:(t,n)=>e.put(`/crm/customers/${t}`,n),delete:t=>e.delete(`/crm/customers/${t}`)},i={getList:t=>e.get(`/crm/contracts`,{params:t}),getDetail:t=>e.get(`/crm/contracts/${t}`),create:t=>e.post(`/crm/contracts`,t),update:(t,n)=>e.put(`/crm/contracts/${t}`,n),delete:t=>e.delete(`/crm/contracts/${t}`),audit:(t,n)=>e.put(`/crm/contracts/${t}/audit`,n)},a={getList:t=>e.get(`/crm/questionnaires`,{params:t}),getDetail:t=>e.get(`/crm/questionnaires/${t}`),create:t=>e.post(`/crm/questionnaires`,t),update:(t,n)=>e.put(`/crm/questionnaires/${t}`,n),delete:t=>e.delete(`/crm/questionnaires/${t}`),submitAnswer:t=>e.post(`/crm/questionnaire-answers`,t),getAnswers:t=>e.get(`/crm/questionnaire-answers`,{params:t})},o={getList:t=>e.get(`/crm/complaints`,{params:t}),getDetail:t=>e.get(`/crm/complaints/${t}`),create:t=>e.post(`/crm/complaints`,t),update:(t,n)=>e.put(`/crm/complaints/${t}`,n),delete:t=>e.delete(`/crm/complaints/${t}`),handle:(t,n)=>e.put(`/crm/complaints/${t}/handle`,n)};export{n as a,r as i,o as n,a as o,i as r,t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/crm/channels`,{params:t}),getDetail:t=>e.get(`/crm/channels/${t}`),create:t=>e.post(`/crm/channels`,t),update:(t,n)=>e.put(`/crm/channels/${t}`,n),delete:t=>e.delete(`/crm/channels/${t}`)},n={getList:t=>e.get(`/crm/leads`,{params:t}),getDetail:t=>e.get(`/crm/leads/${t}`),create:t=>e.post(`/crm/leads`,t),update:(t,n)=>e.put(`/crm/leads/${t}`,n),delete:t=>e.delete(`/crm/leads/${t}`),follow:(t,n)=>e.post(`/crm/leads/${t}/follow`,n),assign:(t,n)=>e.put(`/crm/leads/${t}/assign`,n)},r={getList:t=>e.get(`/crm/customers`,{params:t}),getDetail:t=>e.get(`/crm/customers/${t}`),create:t=>e.post(`/crm/customers`,t),update:(t,n)=>e.put(`/crm/customers/${t}`,n),delete:t=>e.delete(`/crm/customers/${t}`)},i={getList:t=>e.get(`/crm/contracts`,{params:t}),getDetail:t=>e.get(`/crm/contracts/${t}`),create:t=>e.post(`/crm/contracts`,t),update:(t,n)=>e.put(`/crm/contracts/${t}`,n),delete:t=>e.delete(`/crm/contracts/${t}`),audit:(t,n)=>e.put(`/crm/contracts/${t}/audit`,n)},a={getList:t=>e.get(`/crm/questionnaires`,{params:t}),getDetail:t=>e.get(`/crm/questionnaires/${t}`),create:t=>e.post(`/crm/questionnaires`,t),update:(t,n)=>e.put(`/crm/questionnaires/${t}`,n),delete:t=>e.delete(`/crm/questionnaires/${t}`),submitAnswer:t=>e.post(`/crm/questionnaire-answers`,t),getAnswers:t=>e.get(`/crm/questionnaire-answers`,{params:t})},o={getList:t=>e.get(`/crm/complaints`,{params:t}),getDetail:t=>e.get(`/crm/complaints/${t}`),create:t=>e.post(`/crm/complaints`,t),update:(t,n)=>e.put(`/crm/complaints/${t}`,n),delete:t=>e.delete(`/crm/complaints/${t}`),handle:(t,n)=>e.put(`/crm/complaints/${t}/handle`,n)};export{n as a,r as i,o as n,a as o,i as r,t}; \ No newline at end of file diff --git a/frontend/dist/assets/customers-BqPgd2up.js b/frontend/dist/assets/customers-D32xsfG9.js similarity index 98% rename from frontend/dist/assets/customers-BqPgd2up.js rename to frontend/dist/assets/customers-D32xsfG9.js index df6367b..8ac8f88 100644 --- a/frontend/dist/assets/customers-BqPgd2up.js +++ b/frontend/dist/assets/customers-D32xsfG9.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as ee,et as s,f as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as y}from"./crm-Do-MgkuV.js";var te={class:`p-6 space-y-4`},ne={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},re={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},ie={class:`px-2`},x={class:`px-5 py-3 border-t border-gray-50`},S={__name:`index`,setup(S){let C=u([]),w=u(0),T=u(!1),E=u(!1),D=u(`新增客户`),O=u(!1),k=u(!1),A=u(null),j=f({name:``,phone:``,status:``}),M=f({page:1,per_page:20}),N=u(null),P=f({id:null,name:``,phone:``,id_card:``,wechat:``,birthday:``,expected_date:``,actual_date:``,baby_count:1,tags:[],remark:``,families:[]}),F=u(!1),ae={name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],phone:[{required:!0,message:`请输入手机号`,trigger:`blur`}]},I={1:`潜在`,2:`签约`,3:`在住`,4:`离店`,5:`无效`},L={1:`info`,2:`primary`,3:`success`,4:``,5:`danger`};async function R(){T.value=!0;try{let e=await y.getList({...j,...M});C.value=e.data?.list||e.data?.data||[],w.value=e.data?.total||0}finally{T.value=!1}}function z(){M.page=1,R()}function B(){Object.assign(j,{name:``,phone:``,status:``}),z()}function V(){F.value=!1,D.value=`新增客户`,Object.assign(P,{id:null,name:``,phone:``,id_card:``,wechat:``,birthday:``,expected_date:``,actual_date:``,baby_count:1,tags:[],remark:``,families:[]}),E.value=!0}async function H(e){F.value=!0,D.value=`编辑客户`;let t=(await y.getDetail(e.id)).data;Object.assign(P,{id:t.id,name:t.name,phone:t.phone,id_card:t.id_card||``,wechat:t.wechat||``,birthday:t.birthday||``,expected_date:t.expected_date||``,actual_date:t.actual_date||``,baby_count:t.baby_count||1,tags:t.tags||[],remark:t.remark||``,families:t.families||[]}),E.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){O.value=!0;try{F.value?(await y.update(P.id,P),v.success(`更新成功`)):(await y.create(P),v.success(`创建成功`)),E.value=!1,R()}finally{O.value=!1}}})}async function W(e){await _.confirm(`确定删除客户「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),R()}async function G(e){A.value=(await y.getDetail(e.id)).data,k.value=!0}function K(){P.families.push({name:``,phone:``,relation:``,is_emergency:!1})}function q(e){P.families.splice(e,1)}function oe(e){M.page=e,R()}function se(e){M.per_page=e,M.page=1,R()}return r(()=>R()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),S=i(`el-table-column`),F=i(`el-tag`),R=i(`el-table`),ce=i(`el-pagination`),J=i(`el-form-item`),Y=i(`el-col`),X=i(`el-date-picker`),le=i(`el-input-number`),Z=i(`el-row`),Q=i(`el-divider`),ue=i(`el-checkbox`),de=i(`el-form`),fe=i(`el-dialog`),$=i(`el-descriptions-item`),pe=i(`el-descriptions`),me=i(`el-drawer`),he=t(`loading`);return n(),d(`div`,te,[p(`div`,ne,[m(f,{modelValue:j.name,"onUpdate:modelValue":u[0]||=e=>j.name=e,placeholder:`客户姓名`,style:{width:`160px`},clearable:``,onKeydown:g(z,[`enter`])},null,8,[`modelValue`]),m(f,{modelValue:j.phone,"onUpdate:modelValue":u[1]||=e=>j.phone=e,placeholder:`手机号`,style:{width:`160px`},clearable:``,onKeydown:g(z,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:j.status,"onUpdate:modelValue":u[2]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:z},{default:e(()=>[...u[16]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:B},{default:e(()=>[...u[17]||=[o(`重置`,-1)]]),_:1})]),p(`div`,b,[p(`div`,re,[u[19]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`客户列表`)],-1),m(y,{type:`primary`,onClick:V},{default:e(()=>[...u[18]||=[o(`新增客户`,-1)]]),_:1})]),p(`div`,ie,[s((n(),ee(R,{data:C.value,style:{width:`100%`}},{default:e(()=>[m(S,{prop:`name`,label:`姓名`,"min-width":`100`}),m(S,{prop:`phone`,label:`手机号`,"min-width":`130`}),m(S,{prop:`expected_date`,label:`预产期`,"min-width":`110`}),m(S,{prop:`baby_count`,label:`宝宝数`,width:`80`,align:`center`}),m(S,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(F,{type:L[t.status],size:`small`},{default:e(()=>[o(a(I[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(S,{label:`负责人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.owner?.name||`-`),1)]),_:1}),m(S,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(S,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[20]||=[o(`详情`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...u[21]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[22]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[he,T.value]])]),p(`div`,x,[m(ce,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:w.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:oe,onSizeChange:se},null,8,[`current-page`,`page-size`,`total`])])]),m(fe,{modelValue:E.value,"onUpdate:modelValue":u[14]||=e=>E.value=e,title:D.value,width:`700px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[13]||=e=>E.value=!1},{default:e(()=>[...u[27]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:O.value,onClick:U},{default:e(()=>[...u[28]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(de,{ref_key:`formRef`,ref:N,model:P,rules:ae,"label-width":`80px`},{default:e(()=>[m(Z,{gutter:16},{default:e(()=>[m(Y,{span:12},{default:e(()=>[m(J,{label:`姓名`,prop:`name`},{default:e(()=>[m(f,{modelValue:P.name,"onUpdate:modelValue":u[5]||=e=>P.name=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:12},{default:e(()=>[m(J,{label:`手机号`,prop:`phone`},{default:e(()=>[m(f,{modelValue:P.phone,"onUpdate:modelValue":u[6]||=e=>P.phone=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:12},{default:e(()=>[m(J,{label:`身份证`},{default:e(()=>[m(f,{modelValue:P.id_card,"onUpdate:modelValue":u[7]||=e=>P.id_card=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:12},{default:e(()=>[m(J,{label:`微信号`},{default:e(()=>[m(f,{modelValue:P.wechat,"onUpdate:modelValue":u[8]||=e=>P.wechat=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:8},{default:e(()=>[m(J,{label:`生日`},{default:e(()=>[m(X,{modelValue:P.birthday,"onUpdate:modelValue":u[9]||=e=>P.birthday=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:8},{default:e(()=>[m(J,{label:`预产期`},{default:e(()=>[m(X,{modelValue:P.expected_date,"onUpdate:modelValue":u[10]||=e=>P.expected_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:8},{default:e(()=>[m(J,{label:`宝宝数`},{default:e(()=>[m(le,{modelValue:P.baby_count,"onUpdate:modelValue":u[11]||=e=>P.baby_count=e,min:1,max:5},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:24},{default:e(()=>[m(J,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[12]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),m(Q,{"content-position":`left`},{default:e(()=>[...u[23]||=[o(`家属信息`,-1)]]),_:1}),(n(!0),d(l,null,h(P.families,(t,r)=>(n(),d(`div`,{key:r,style:{"margin-bottom":`10px`}},[m(Z,{gutter:8},{default:e(()=>[m(Y,{span:5},{default:e(()=>[m(f,{modelValue:t.name,"onUpdate:modelValue":e=>t.name=e,placeholder:`姓名`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),m(Y,{span:5},{default:e(()=>[m(f,{modelValue:t.phone,"onUpdate:modelValue":e=>t.phone=e,placeholder:`手机号`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),m(Y,{span:5},{default:e(()=>[m(f,{modelValue:t.relation,"onUpdate:modelValue":e=>t.relation=e,placeholder:`关系`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),m(Y,{span:5},{default:e(()=>[m(ue,{modelValue:t.is_emergency,"onUpdate:modelValue":e=>t.is_emergency=e},{default:e(()=>[...u[24]||=[o(`紧急联系人`,-1)]]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),m(Y,{span:4},{default:e(()=>[m(y,{type:`danger`,link:``,onClick:e=>q(r)},{default:e(()=>[...u[25]||=[o(`移除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]))),128)),m(y,{type:`primary`,link:``,onClick:K},{default:e(()=>[...u[26]||=[o(`+ 添加家属`,-1)]]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m(me,{modelValue:k.value,"onUpdate:modelValue":u[15]||=e=>k.value=e,title:`客户详情`,size:`500px`},{default:e(()=>[A.value?(n(),d(l,{key:0},[m(pe,{column:2,border:``},{default:e(()=>[m($,{label:`姓名`},{default:e(()=>[o(a(A.value.name),1)]),_:1}),m($,{label:`手机号`},{default:e(()=>[o(a(A.value.phone),1)]),_:1}),m($,{label:`微信号`},{default:e(()=>[o(a(A.value.wechat||`-`),1)]),_:1}),m($,{label:`状态`},{default:e(()=>[m(F,{type:L[A.value.status],size:`small`},{default:e(()=>[o(a(I[A.value.status]),1)]),_:1},8,[`type`])]),_:1}),m($,{label:`预产期`},{default:e(()=>[o(a(A.value.expected_date||`-`),1)]),_:1}),m($,{label:`宝宝数`},{default:e(()=>[o(a(A.value.baby_count),1)]),_:1})]),_:1}),u[29]||=p(`h4`,{style:{margin:`16px 0 8px`}},`家属信息`,-1),m(R,{data:A.value.families||[],border:``,size:`small`},{default:e(()=>[m(S,{prop:`name`,label:`姓名`}),m(S,{prop:`phone`,label:`手机号`}),m(S,{prop:`relation`,label:`关系`}),m(S,{label:`紧急联系人`,width:`100`},{default:e(({row:t})=>[m(F,{type:t.is_emergency?`danger`:`info`,size:`small`},{default:e(()=>[o(a(t.is_emergency?`是`:`否`),1)]),_:2},1032,[`type`])]),_:1})]),_:1},8,[`data`]),u[30]||=p(`h4`,{style:{margin:`16px 0 8px`}},`合同列表`,-1),m(R,{data:A.value.contracts||[],border:``,size:`small`},{default:e(()=>[m(S,{prop:`contract_no`,label:`合同编号`}),m(S,{prop:`actual_amount`,label:`实际金额`}),m(S,{prop:`check_in_date`,label:`入住日期`})]),_:1},8,[`data`])],64)):c(``,!0)]),_:1},8,[`modelValue`])])}}};export{S as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as ee,et as s,f as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as y}from"./crm-CvCW8IfR.js";var te={class:`p-6 space-y-4`},ne={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},re={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},ie={class:`px-2`},x={class:`px-5 py-3 border-t border-gray-50`},S={__name:`index`,setup(S){let C=u([]),w=u(0),T=u(!1),E=u(!1),D=u(`新增客户`),O=u(!1),k=u(!1),A=u(null),j=f({name:``,phone:``,status:``}),M=f({page:1,per_page:20}),N=u(null),P=f({id:null,name:``,phone:``,id_card:``,wechat:``,birthday:``,expected_date:``,actual_date:``,baby_count:1,tags:[],remark:``,families:[]}),F=u(!1),ae={name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],phone:[{required:!0,message:`请输入手机号`,trigger:`blur`}]},I={1:`潜在`,2:`签约`,3:`在住`,4:`离店`,5:`无效`},L={1:`info`,2:`primary`,3:`success`,4:``,5:`danger`};async function R(){T.value=!0;try{let e=await y.getList({...j,...M});C.value=e.data?.list||e.data?.data||[],w.value=e.data?.total||0}finally{T.value=!1}}function z(){M.page=1,R()}function B(){Object.assign(j,{name:``,phone:``,status:``}),z()}function V(){F.value=!1,D.value=`新增客户`,Object.assign(P,{id:null,name:``,phone:``,id_card:``,wechat:``,birthday:``,expected_date:``,actual_date:``,baby_count:1,tags:[],remark:``,families:[]}),E.value=!0}async function H(e){F.value=!0,D.value=`编辑客户`;let t=(await y.getDetail(e.id)).data;Object.assign(P,{id:t.id,name:t.name,phone:t.phone,id_card:t.id_card||``,wechat:t.wechat||``,birthday:t.birthday||``,expected_date:t.expected_date||``,actual_date:t.actual_date||``,baby_count:t.baby_count||1,tags:t.tags||[],remark:t.remark||``,families:t.families||[]}),E.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){O.value=!0;try{F.value?(await y.update(P.id,P),v.success(`更新成功`)):(await y.create(P),v.success(`创建成功`)),E.value=!1,R()}finally{O.value=!1}}})}async function W(e){await _.confirm(`确定删除客户「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),R()}async function G(e){A.value=(await y.getDetail(e.id)).data,k.value=!0}function K(){P.families.push({name:``,phone:``,relation:``,is_emergency:!1})}function q(e){P.families.splice(e,1)}function oe(e){M.page=e,R()}function se(e){M.per_page=e,M.page=1,R()}return r(()=>R()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),S=i(`el-table-column`),F=i(`el-tag`),R=i(`el-table`),ce=i(`el-pagination`),J=i(`el-form-item`),Y=i(`el-col`),X=i(`el-date-picker`),le=i(`el-input-number`),Z=i(`el-row`),Q=i(`el-divider`),ue=i(`el-checkbox`),de=i(`el-form`),fe=i(`el-dialog`),$=i(`el-descriptions-item`),pe=i(`el-descriptions`),me=i(`el-drawer`),he=t(`loading`);return n(),d(`div`,te,[p(`div`,ne,[m(f,{modelValue:j.name,"onUpdate:modelValue":u[0]||=e=>j.name=e,placeholder:`客户姓名`,style:{width:`160px`},clearable:``,onKeydown:g(z,[`enter`])},null,8,[`modelValue`]),m(f,{modelValue:j.phone,"onUpdate:modelValue":u[1]||=e=>j.phone=e,placeholder:`手机号`,style:{width:`160px`},clearable:``,onKeydown:g(z,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:j.status,"onUpdate:modelValue":u[2]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:z},{default:e(()=>[...u[16]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:B},{default:e(()=>[...u[17]||=[o(`重置`,-1)]]),_:1})]),p(`div`,b,[p(`div`,re,[u[19]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`客户列表`)],-1),m(y,{type:`primary`,onClick:V},{default:e(()=>[...u[18]||=[o(`新增客户`,-1)]]),_:1})]),p(`div`,ie,[s((n(),ee(R,{data:C.value,style:{width:`100%`}},{default:e(()=>[m(S,{prop:`name`,label:`姓名`,"min-width":`100`}),m(S,{prop:`phone`,label:`手机号`,"min-width":`130`}),m(S,{prop:`expected_date`,label:`预产期`,"min-width":`110`}),m(S,{prop:`baby_count`,label:`宝宝数`,width:`80`,align:`center`}),m(S,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(F,{type:L[t.status],size:`small`},{default:e(()=>[o(a(I[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(S,{label:`负责人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.owner?.name||`-`),1)]),_:1}),m(S,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(S,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[20]||=[o(`详情`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...u[21]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[22]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[he,T.value]])]),p(`div`,x,[m(ce,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:w.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:oe,onSizeChange:se},null,8,[`current-page`,`page-size`,`total`])])]),m(fe,{modelValue:E.value,"onUpdate:modelValue":u[14]||=e=>E.value=e,title:D.value,width:`700px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[13]||=e=>E.value=!1},{default:e(()=>[...u[27]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:O.value,onClick:U},{default:e(()=>[...u[28]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(de,{ref_key:`formRef`,ref:N,model:P,rules:ae,"label-width":`80px`},{default:e(()=>[m(Z,{gutter:16},{default:e(()=>[m(Y,{span:12},{default:e(()=>[m(J,{label:`姓名`,prop:`name`},{default:e(()=>[m(f,{modelValue:P.name,"onUpdate:modelValue":u[5]||=e=>P.name=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:12},{default:e(()=>[m(J,{label:`手机号`,prop:`phone`},{default:e(()=>[m(f,{modelValue:P.phone,"onUpdate:modelValue":u[6]||=e=>P.phone=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:12},{default:e(()=>[m(J,{label:`身份证`},{default:e(()=>[m(f,{modelValue:P.id_card,"onUpdate:modelValue":u[7]||=e=>P.id_card=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:12},{default:e(()=>[m(J,{label:`微信号`},{default:e(()=>[m(f,{modelValue:P.wechat,"onUpdate:modelValue":u[8]||=e=>P.wechat=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:8},{default:e(()=>[m(J,{label:`生日`},{default:e(()=>[m(X,{modelValue:P.birthday,"onUpdate:modelValue":u[9]||=e=>P.birthday=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:8},{default:e(()=>[m(J,{label:`预产期`},{default:e(()=>[m(X,{modelValue:P.expected_date,"onUpdate:modelValue":u[10]||=e=>P.expected_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:8},{default:e(()=>[m(J,{label:`宝宝数`},{default:e(()=>[m(le,{modelValue:P.baby_count,"onUpdate:modelValue":u[11]||=e=>P.baby_count=e,min:1,max:5},null,8,[`modelValue`])]),_:1})]),_:1}),m(Y,{span:24},{default:e(()=>[m(J,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[12]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),m(Q,{"content-position":`left`},{default:e(()=>[...u[23]||=[o(`家属信息`,-1)]]),_:1}),(n(!0),d(l,null,h(P.families,(t,r)=>(n(),d(`div`,{key:r,style:{"margin-bottom":`10px`}},[m(Z,{gutter:8},{default:e(()=>[m(Y,{span:5},{default:e(()=>[m(f,{modelValue:t.name,"onUpdate:modelValue":e=>t.name=e,placeholder:`姓名`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),m(Y,{span:5},{default:e(()=>[m(f,{modelValue:t.phone,"onUpdate:modelValue":e=>t.phone=e,placeholder:`手机号`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),m(Y,{span:5},{default:e(()=>[m(f,{modelValue:t.relation,"onUpdate:modelValue":e=>t.relation=e,placeholder:`关系`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),m(Y,{span:5},{default:e(()=>[m(ue,{modelValue:t.is_emergency,"onUpdate:modelValue":e=>t.is_emergency=e},{default:e(()=>[...u[24]||=[o(`紧急联系人`,-1)]]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),m(Y,{span:4},{default:e(()=>[m(y,{type:`danger`,link:``,onClick:e=>q(r)},{default:e(()=>[...u[25]||=[o(`移除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]))),128)),m(y,{type:`primary`,link:``,onClick:K},{default:e(()=>[...u[26]||=[o(`+ 添加家属`,-1)]]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m(me,{modelValue:k.value,"onUpdate:modelValue":u[15]||=e=>k.value=e,title:`客户详情`,size:`500px`},{default:e(()=>[A.value?(n(),d(l,{key:0},[m(pe,{column:2,border:``},{default:e(()=>[m($,{label:`姓名`},{default:e(()=>[o(a(A.value.name),1)]),_:1}),m($,{label:`手机号`},{default:e(()=>[o(a(A.value.phone),1)]),_:1}),m($,{label:`微信号`},{default:e(()=>[o(a(A.value.wechat||`-`),1)]),_:1}),m($,{label:`状态`},{default:e(()=>[m(F,{type:L[A.value.status],size:`small`},{default:e(()=>[o(a(I[A.value.status]),1)]),_:1},8,[`type`])]),_:1}),m($,{label:`预产期`},{default:e(()=>[o(a(A.value.expected_date||`-`),1)]),_:1}),m($,{label:`宝宝数`},{default:e(()=>[o(a(A.value.baby_count),1)]),_:1})]),_:1}),u[29]||=p(`h4`,{style:{margin:`16px 0 8px`}},`家属信息`,-1),m(R,{data:A.value.families||[],border:``,size:`small`},{default:e(()=>[m(S,{prop:`name`,label:`姓名`}),m(S,{prop:`phone`,label:`手机号`}),m(S,{prop:`relation`,label:`关系`}),m(S,{label:`紧急联系人`,width:`100`},{default:e(({row:t})=>[m(F,{type:t.is_emergency?`danger`:`info`,size:`small`},{default:e(()=>[o(a(t.is_emergency?`是`:`否`),1)]),_:2},1032,[`type`])]),_:1})]),_:1},8,[`data`]),u[30]||=p(`h4`,{style:{margin:`16px 0 8px`}},`合同列表`,-1),m(R,{data:A.value.contracts||[],border:``,size:`small`},{default:e(()=>[m(S,{prop:`contract_no`,label:`合同编号`}),m(S,{prop:`actual_amount`,label:`实际金额`}),m(S,{prop:`check_in_date`,label:`入住日期`})]),_:1},8,[`data`])],64)):c(``,!0)]),_:1},8,[`modelValue`])])}}};export{S as default}; \ No newline at end of file diff --git a/frontend/dist/assets/daily-plans--E2KeeGc.js b/frontend/dist/assets/daily-plans-pQM2n0a6.js similarity index 97% rename from frontend/dist/assets/daily-plans--E2KeeGc.js rename to frontend/dist/assets/daily-plans-pQM2n0a6.js index 04da5f5..b1f1d82 100644 --- a/frontend/dist/assets/daily-plans--E2KeeGc.js +++ b/frontend/dist/assets/daily-plans-pQM2n0a6.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as y}from"./crm-Do-MgkuV.js";import{t as b}from"./meal-CL1Cz_RN.js";var ee={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=d([]),O=d(0),k=d(!1),A=d(!1),j=d(!1),M=d([]),N=p({customer_id:``,plan_date:``,meal_type:``,status:``}),P=p({page:1,per_page:30}),F=p({id:null,customer_id:``,plan_date:``,meal_type:1,dishes:[],special_note:``}),I=d(!1),L={1:`早餐`,2:`午餐`,3:`下午茶`,4:`晚餐`,5:`宵夜`},R={0:`待备餐`,1:`已备餐`,2:`已送达`,3:`未用`},z={0:`info`,1:`warning`,2:`success`,3:`danger`};async function B(){k.value=!0;try{let e=await b.getList({...N,...P});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}async function V(){try{let e=await y.getList({per_page:500,status:3});M.value=e.data?.list||e.data?.data||[]}catch{}}function H(){P.page=1,B()}function U(){Object.assign(N,{customer_id:``,plan_date:``,meal_type:``,status:``}),H()}function W(){I.value=!1,Object.assign(F,{id:null,customer_id:``,plan_date:``,meal_type:1,dishes:[],special_note:``}),A.value=!0}async function G(){j.value=!0;try{I.value?await b.update(F.id,F):await b.create(F),v.success(I.value?`更新成功`:`创建成功`),A.value=!1,B()}finally{j.value=!1}}async function K(e){await _.confirm(`确认已送达?`,`送达确认`,{type:`info`}),await b.deliver(e.id),v.success(`已标记送达`),B()}async function q(e,t){await b.updateStatus(e.id,{status:t}),v.success(`状态更新成功`),B()}async function J(e){await _.confirm(`确定删除该排餐吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),B()}function Y(e){P.page=e,B()}function X(e){P.per_page=e,P.page=1,B()}return r(()=>{B(),V()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-date-picker`),y=i(`el-button`),b=i(`el-table-column`),E=i(`el-tag`),B=i(`el-dropdown-item`),V=i(`el-dropdown-menu`),Z=i(`el-dropdown`),Q=i(`el-table`),te=i(`el-pagination`),$=i(`el-form-item`),ne=i(`el-input`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),f(`div`,ee,[m(`div`,x,[h(_,{modelValue:N.customer_id,"onUpdate:modelValue":d[0]||=e=>N.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(M.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(v,{modelValue:N.plan_date,"onUpdate:modelValue":d[1]||=e=>N.plan_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`日期`,style:{width:`160px`}},null,8,[`modelValue`]),h(_,{modelValue:N.meal_type,"onUpdate:modelValue":d[2]||=e=>N.meal_type=e,placeholder:`餐型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(L,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:N.status,"onUpdate:modelValue":d[3]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(R,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{type:`primary`,onClick:H},{default:e(()=>[...d[12]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:U},{default:e(()=>[...d[13]||=[o(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[15]||=m(`div`,{class:`flex items-center gap-3`},null,-1),h(y,{type:`primary`,onClick:W},{default:e(()=>[...d[14]||=[o(`新增排餐`,-1)]]),_:1})]),m(`div`,w,[c((n(),s(Q,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(b,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(b,{prop:`plan_date`,label:`日期`,width:`110`}),h(b,{label:`餐型`,width:`80`,align:`center`},{default:e(({row:e})=>[o(a(L[e.meal_type]),1)]),_:1}),h(b,{prop:`special_note`,label:`特殊备注`,"min-width":`150`,"show-overflow-tooltip":``}),h(b,{label:`评分`,width:`70`,align:`center`},{default:e(({row:e})=>[o(a(e.review?.score||`-`),1)]),_:1}),h(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(E,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(b,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<2?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[16]||=[o(`送达`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(Z,{key:1,trigger:`click`,onCommand:e=>q(t,e),style:{margin:`0 8px`}},{dropdown:e(()=>[h(V,null,{default:e(()=>[(n(),f(u,null,g(R,(t,n)=>h(B,{key:n,command:Number(n)},{default:e(()=>[o(a(t),1)]),_:2},1032,[`command`])),64))]),_:1})]),default:e(()=>[h(y,{size:`small`,type:`warning`,text:``},{default:e(()=>[...d[17]||=[o(`状态`,-1)]]),_:1})]),_:1},8,[`onCommand`])):l(``,!0),t.status===0?(n(),s(y,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ae,k.value]])]),m(`div`,T,[h(te,{"current-page":P.page,"onUpdate:currentPage":d[4]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":d[5]||=e=>P.per_page=e,total:O.value,"page-sizes":[10,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),h(ie,{modelValue:A.value,"onUpdate:modelValue":d[11]||=e=>A.value=e,title:I.value?`编辑排餐`:`新增排餐`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[10]||=e=>A.value=!1},{default:e(()=>[...d[19]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:j.value,onClick:G},{default:e(()=>[...d[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(re,{model:F,"label-width":`80px`},{default:e(()=>[h($,{label:`客户`},{default:e(()=>[h(_,{modelValue:F.customer_id,"onUpdate:modelValue":d[6]||=e=>F.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(M.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`日期`},{default:e(()=>[h(v,{modelValue:F.plan_date,"onUpdate:modelValue":d[7]||=e=>F.plan_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h($,{label:`餐型`},{default:e(()=>[h(_,{modelValue:F.meal_type,"onUpdate:modelValue":d[8]||=e=>F.meal_type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(L,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`特殊备注`},{default:e(()=>[h(ne,{modelValue:F.special_note,"onUpdate:modelValue":d[9]||=e=>F.special_note=e,type:`textarea`,rows:3,placeholder:`如:忌辣、素食等`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as y}from"./crm-CvCW8IfR.js";import{t as b}from"./meal-CgJENF-S.js";var ee={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=d([]),O=d(0),k=d(!1),A=d(!1),j=d(!1),M=d([]),N=p({customer_id:``,plan_date:``,meal_type:``,status:``}),P=p({page:1,per_page:30}),F=p({id:null,customer_id:``,plan_date:``,meal_type:1,dishes:[],special_note:``}),I=d(!1),L={1:`早餐`,2:`午餐`,3:`下午茶`,4:`晚餐`,5:`宵夜`},R={0:`待备餐`,1:`已备餐`,2:`已送达`,3:`未用`},z={0:`info`,1:`warning`,2:`success`,3:`danger`};async function B(){k.value=!0;try{let e=await b.getList({...N,...P});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}async function V(){try{let e=await y.getList({per_page:500,status:3});M.value=e.data?.list||e.data?.data||[]}catch{}}function H(){P.page=1,B()}function U(){Object.assign(N,{customer_id:``,plan_date:``,meal_type:``,status:``}),H()}function W(){I.value=!1,Object.assign(F,{id:null,customer_id:``,plan_date:``,meal_type:1,dishes:[],special_note:``}),A.value=!0}async function G(){j.value=!0;try{I.value?await b.update(F.id,F):await b.create(F),v.success(I.value?`更新成功`:`创建成功`),A.value=!1,B()}finally{j.value=!1}}async function K(e){await _.confirm(`确认已送达?`,`送达确认`,{type:`info`}),await b.deliver(e.id),v.success(`已标记送达`),B()}async function q(e,t){await b.updateStatus(e.id,{status:t}),v.success(`状态更新成功`),B()}async function J(e){await _.confirm(`确定删除该排餐吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),B()}function Y(e){P.page=e,B()}function X(e){P.per_page=e,P.page=1,B()}return r(()=>{B(),V()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-date-picker`),y=i(`el-button`),b=i(`el-table-column`),E=i(`el-tag`),B=i(`el-dropdown-item`),V=i(`el-dropdown-menu`),Z=i(`el-dropdown`),Q=i(`el-table`),te=i(`el-pagination`),$=i(`el-form-item`),ne=i(`el-input`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),f(`div`,ee,[m(`div`,x,[h(_,{modelValue:N.customer_id,"onUpdate:modelValue":d[0]||=e=>N.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(M.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(v,{modelValue:N.plan_date,"onUpdate:modelValue":d[1]||=e=>N.plan_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`日期`,style:{width:`160px`}},null,8,[`modelValue`]),h(_,{modelValue:N.meal_type,"onUpdate:modelValue":d[2]||=e=>N.meal_type=e,placeholder:`餐型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(L,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:N.status,"onUpdate:modelValue":d[3]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(R,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{type:`primary`,onClick:H},{default:e(()=>[...d[12]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:U},{default:e(()=>[...d[13]||=[o(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[15]||=m(`div`,{class:`flex items-center gap-3`},null,-1),h(y,{type:`primary`,onClick:W},{default:e(()=>[...d[14]||=[o(`新增排餐`,-1)]]),_:1})]),m(`div`,w,[c((n(),s(Q,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(b,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(b,{prop:`plan_date`,label:`日期`,width:`110`}),h(b,{label:`餐型`,width:`80`,align:`center`},{default:e(({row:e})=>[o(a(L[e.meal_type]),1)]),_:1}),h(b,{prop:`special_note`,label:`特殊备注`,"min-width":`150`,"show-overflow-tooltip":``}),h(b,{label:`评分`,width:`70`,align:`center`},{default:e(({row:e})=>[o(a(e.review?.score||`-`),1)]),_:1}),h(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(E,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(b,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<2?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[16]||=[o(`送达`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(Z,{key:1,trigger:`click`,onCommand:e=>q(t,e),style:{margin:`0 8px`}},{dropdown:e(()=>[h(V,null,{default:e(()=>[(n(),f(u,null,g(R,(t,n)=>h(B,{key:n,command:Number(n)},{default:e(()=>[o(a(t),1)]),_:2},1032,[`command`])),64))]),_:1})]),default:e(()=>[h(y,{size:`small`,type:`warning`,text:``},{default:e(()=>[...d[17]||=[o(`状态`,-1)]]),_:1})]),_:1},8,[`onCommand`])):l(``,!0),t.status===0?(n(),s(y,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ae,k.value]])]),m(`div`,T,[h(te,{"current-page":P.page,"onUpdate:currentPage":d[4]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":d[5]||=e=>P.per_page=e,total:O.value,"page-sizes":[10,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),h(ie,{modelValue:A.value,"onUpdate:modelValue":d[11]||=e=>A.value=e,title:I.value?`编辑排餐`:`新增排餐`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[10]||=e=>A.value=!1},{default:e(()=>[...d[19]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:j.value,onClick:G},{default:e(()=>[...d[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(re,{model:F,"label-width":`80px`},{default:e(()=>[h($,{label:`客户`},{default:e(()=>[h(_,{modelValue:F.customer_id,"onUpdate:modelValue":d[6]||=e=>F.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(M.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`日期`},{default:e(()=>[h(v,{modelValue:F.plan_date,"onUpdate:modelValue":d[7]||=e=>F.plan_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h($,{label:`餐型`},{default:e(()=>[h(_,{modelValue:F.meal_type,"onUpdate:modelValue":d[8]||=e=>F.meal_type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(L,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h($,{label:`特殊备注`},{default:e(()=>[h(ne,{modelValue:F.special_note,"onUpdate:modelValue":d[9]||=e=>F.special_note=e,type:`textarea`,rows:3,placeholder:`如:忌辣、素食等`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file diff --git a/frontend/dist/assets/dashboard-CCYZXxTu.js b/frontend/dist/assets/dashboard-CEXQa1pu.js similarity index 94% rename from frontend/dist/assets/dashboard-CCYZXxTu.js rename to frontend/dist/assets/dashboard-CEXQa1pu.js index 1e6e69e..455f471 100644 --- a/frontend/dist/assets/dashboard-CCYZXxTu.js +++ b/frontend/dist/assets/dashboard-CEXQa1pu.js @@ -1 +1 @@ -import{L as e,P as t,Vt as n,Wt as r,_ as i,_t as a,g as o,i as s,l as c,lt as l,p as u,u as d,v as f,z as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{i as m}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as h}from"./user-DwrZIuIR.js";import{t as g}from"./iconify-f5JHLb1p.js";var _={class:`p-6 space-y-5`},v={class:`bg-gradient-to-r from-rose-50 to-orange-50 rounded-3xl p-8 flex items-center justify-between border border-rose-100`},y={class:`text-2xl font-bold text-gray-800 mb-1`},b={class:`text-gray-400 text-sm`},x={class:`grid grid-cols-4 gap-5`},S={class:`flex items-center gap-4 mb-4`},C={class:`text-gray-400 text-xs`},w={class:`text-2xl font-bold text-gray-800`},T={class:`bg-white rounded-3xl border border-gray-100 shadow-sm p-6`},E={class:`grid grid-cols-6 gap-4`},D=[`onClick`],O={class:`text-xs font-medium text-gray-600 group-hover:text-rose-500`},k={__name:`index`,setup(k){let A=h(),j=m(),M=c(()=>A.userInfo?.name||A.userInfo?.username||`用户`),N=c(()=>{let e=new Date;return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日 ${[`星期日`,`星期一`,`星期二`,`星期三`,`星期四`,`星期五`,`星期六`][e.getDay()]}`}),P=l([{title:`今日预约客户`,value:`--`,trend:`+12% 较昨日`,trendUp:!0,icon:`solar:users-group-rounded-bold-duotone`,iconBg:`bg-rose-50`,iconColor:`text-rose-500`},{title:`当前入驻率`,value:`--`,trend:`良好运营状态`,trendUp:!0,icon:`solar:home-bold-duotone`,iconBg:`bg-blue-50`,iconColor:`text-blue-500`},{title:`今日护理评分`,value:`--`,trend:`历史最高纪录`,trendUp:!0,icon:`solar:heart-pulse-bold-duotone`,iconBg:`bg-amber-50`,iconColor:`text-amber-500`},{title:`本月营收(预计)`,value:`--`,trend:`+8.4% 较上月`,trendUp:!0,icon:`solar:wad-of-money-bold-duotone`,iconBg:`bg-teal-50`,iconColor:`text-teal-500`}]),F=[{label:`新增客户`,icon:`solar:user-plus-bold-duotone`,path:`/crm/customers`},{label:`办理入住`,icon:`solar:home-bold-duotone`,path:`/room/reservations`},{label:`办理退住`,icon:`solar:door-open-bold-duotone`,path:`/room/rooms`},{label:`新建工单`,icon:`solar:document-add-bold-duotone`,path:`/service/orders`},{label:`今日月子餐`,icon:`solar:cup-bold`,path:`/meal/daily-plans`},{label:`护理记录`,icon:`solar:heart-pulse-bold-duotone`,path:`/care/records`}];return t(()=>{}),(t,c)=>(e(),u(`div`,_,[d(`div`,v,[d(`div`,null,[d(`h2`,y,`你好,`+r(M.value)+` 👋`,1),d(`p`,b,r(N.value)+`,祝您工作愉快!`,1)]),f(a(g),{icon:`solar:heart-bold`,class:`text-8xl text-rose-200`})]),d(`div`,x,[(e(!0),u(s,null,p(P.value,t=>(e(),u(`div`,{key:t.title,class:`bg-white rounded-3xl border border-gray-100 shadow-sm p-6`},[d(`div`,S,[d(`div`,{class:n([`w-12 h-12 rounded-2xl flex items-center justify-center text-2xl`,[t.iconBg,t.iconColor]])},[f(a(g),{icon:t.icon},null,8,[`icon`])],2),d(`div`,null,[d(`p`,C,r(t.title),1),d(`p`,w,r(t.value),1)])]),d(`div`,{class:n([`text-xs font-bold flex items-center gap-1`,t.trendUp?`text-green-500`:`text-red-400`])},[f(a(g),{icon:t.trendUp?`solar:double-alt-arrow-up-bold-duotone`:`solar:double-alt-arrow-down-bold-duotone`},null,8,[`icon`]),i(` `+r(t.trend),1)],2)]))),128))]),d(`div`,T,[c[0]||=d(`h3`,{class:`font-bold text-gray-800 mb-5 flex items-center gap-2`},[d(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),i(` 快捷入口 `)],-1),d(`div`,E,[(e(),u(s,null,p(F,e=>d(`button`,{key:e.label,class:`flex flex-col items-center justify-center gap-3 p-5 rounded-2xl bg-gray-50 hover:bg-rose-50 hover:text-rose-500 transition-all duration-150 group`,onClick:t=>a(j).push(e.path)},[f(a(g),{icon:e.icon,class:`text-3xl text-gray-400 group-hover:text-rose-500 transition-colors`},null,8,[`icon`]),d(`span`,O,r(e.label),1)],8,D)),64))])]),c[1]||=o(`

系统信息

系统名称宫中有喜月子会所综合管理系统
当前版本v1.0.0
技术支持宫中有喜运营团队
`,1)]))}};export{k as default}; \ No newline at end of file +import{L as e,P as t,Vt as n,Wt as r,_ as i,_t as a,g as o,i as s,l as c,lt as l,p as u,u as d,v as f,z as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{i as m}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as h}from"./user-BFl2lhly.js";import{t as g}from"./iconify-f5JHLb1p.js";var _={class:`p-6 space-y-5`},v={class:`bg-gradient-to-r from-rose-50 to-orange-50 rounded-3xl p-8 flex items-center justify-between border border-rose-100`},y={class:`text-2xl font-bold text-gray-800 mb-1`},b={class:`text-gray-400 text-sm`},x={class:`grid grid-cols-4 gap-5`},S={class:`flex items-center gap-4 mb-4`},C={class:`text-gray-400 text-xs`},w={class:`text-2xl font-bold text-gray-800`},T={class:`bg-white rounded-3xl border border-gray-100 shadow-sm p-6`},E={class:`grid grid-cols-6 gap-4`},D=[`onClick`],O={class:`text-xs font-medium text-gray-600 group-hover:text-rose-500`},k={__name:`index`,setup(k){let A=h(),j=m(),M=c(()=>A.userInfo?.name||A.userInfo?.username||`用户`),N=c(()=>{let e=new Date;return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日 ${[`星期日`,`星期一`,`星期二`,`星期三`,`星期四`,`星期五`,`星期六`][e.getDay()]}`}),P=l([{title:`今日预约客户`,value:`--`,trend:`+12% 较昨日`,trendUp:!0,icon:`solar:users-group-rounded-bold-duotone`,iconBg:`bg-rose-50`,iconColor:`text-rose-500`},{title:`当前入驻率`,value:`--`,trend:`良好运营状态`,trendUp:!0,icon:`solar:home-bold-duotone`,iconBg:`bg-blue-50`,iconColor:`text-blue-500`},{title:`今日护理评分`,value:`--`,trend:`历史最高纪录`,trendUp:!0,icon:`solar:heart-pulse-bold-duotone`,iconBg:`bg-amber-50`,iconColor:`text-amber-500`},{title:`本月营收(预计)`,value:`--`,trend:`+8.4% 较上月`,trendUp:!0,icon:`solar:wad-of-money-bold-duotone`,iconBg:`bg-teal-50`,iconColor:`text-teal-500`}]),F=[{label:`新增客户`,icon:`solar:user-plus-bold-duotone`,path:`/crm/customers`},{label:`办理入住`,icon:`solar:home-bold-duotone`,path:`/room/reservations`},{label:`办理退住`,icon:`solar:door-open-bold-duotone`,path:`/room/rooms`},{label:`新建工单`,icon:`solar:document-add-bold-duotone`,path:`/service/orders`},{label:`今日月子餐`,icon:`solar:cup-bold`,path:`/meal/daily-plans`},{label:`护理记录`,icon:`solar:heart-pulse-bold-duotone`,path:`/care/records`}];return t(()=>{}),(t,c)=>(e(),u(`div`,_,[d(`div`,v,[d(`div`,null,[d(`h2`,y,`你好,`+r(M.value)+` 👋`,1),d(`p`,b,r(N.value)+`,祝您工作愉快!`,1)]),f(a(g),{icon:`solar:heart-bold`,class:`text-8xl text-rose-200`})]),d(`div`,x,[(e(!0),u(s,null,p(P.value,t=>(e(),u(`div`,{key:t.title,class:`bg-white rounded-3xl border border-gray-100 shadow-sm p-6`},[d(`div`,S,[d(`div`,{class:n([`w-12 h-12 rounded-2xl flex items-center justify-center text-2xl`,[t.iconBg,t.iconColor]])},[f(a(g),{icon:t.icon},null,8,[`icon`])],2),d(`div`,null,[d(`p`,C,r(t.title),1),d(`p`,w,r(t.value),1)])]),d(`div`,{class:n([`text-xs font-bold flex items-center gap-1`,t.trendUp?`text-green-500`:`text-red-400`])},[f(a(g),{icon:t.trendUp?`solar:double-alt-arrow-up-bold-duotone`:`solar:double-alt-arrow-down-bold-duotone`},null,8,[`icon`]),i(` `+r(t.trend),1)],2)]))),128))]),d(`div`,T,[c[0]||=d(`h3`,{class:`font-bold text-gray-800 mb-5 flex items-center gap-2`},[d(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),i(` 快捷入口 `)],-1),d(`div`,E,[(e(),u(s,null,p(F,e=>d(`button`,{key:e.label,class:`flex flex-col items-center justify-center gap-3 p-5 rounded-2xl bg-gray-50 hover:bg-rose-50 hover:text-rose-500 transition-all duration-150 group`,onClick:t=>a(j).push(e.path)},[f(a(g),{icon:e.icon,class:`text-3xl text-gray-400 group-hover:text-rose-500 transition-colors`},null,8,[`icon`]),d(`span`,O,r(e.label),1)],8,D)),64))])]),c[1]||=o(`

系统信息

系统名称宫中有喜月子会所综合管理系统
当前版本v1.0.0
技术支持宫中有喜运营团队
`,1)]))}};export{k as default}; \ No newline at end of file diff --git a/frontend/dist/assets/departments-CnYyi91t.js b/frontend/dist/assets/departments-CnYyi91t.js new file mode 100644 index 0000000..0f2fa60 --- /dev/null +++ b/frontend/dist/assets/departments-CnYyi91t.js @@ -0,0 +1 @@ +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{departmentApi as v}from"./system-DEm1DLCy.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`flex items-center gap-3`},C={class:`px-2`},w={__name:`index`,setup(w){let T=u([]),E=u(!1),D=u(!1),O=u(`新增部门`),k=u(!1),A=u(!1),j=u(null),M=u([]),N=f({id:null,parent_id:null,name:``,code:``,leader:``,phone:``,sort:0,status:1,description:``}),P={name:[{required:!0,message:`请输入部门名称`,trigger:`blur`}]};function F(e,t=[]){for(let n of e)t.push({id:n.id,name:n.name}),n.children?.length&&F(n.children,t);return t}function I(e,t){let n=[e],r=t.find(t=>t.id===e);if(r?.children)for(let e of r.children)n.push(...I(e.id,M.value.map(e=>({...e}))));return n}let L=u([]);function R(e){if(!e){L.value=M.value;return}L.value=M.value.filter(t=>t.id!==e)}async function z(){E.value=!0;try{let e=await v.getList({per_page:500});if(Array.isArray(e.data))T.value=e.data,M.value=F(e.data);else{let t=e.data?.list||e.data?.data||[];M.value=t.map(e=>({id:e.id,name:e.name})),T.value=B(t)}}catch{}finally{E.value=!1}}function B(e,t=0){return e.filter(e=>(e.parent_id??0)===t).map(t=>({...t,children:B(e,t.id)}))}function V(e){A.value=!1,O.value=e?`在「${e.name}」下新增部门`:`新增顶级部门`,Object.assign(N,{id:null,parent_id:e?.id||null,name:``,code:``,leader:``,phone:``,sort:0,status:1,description:``}),R(null),D.value=!0}async function H(e){A.value=!0,O.value=`编辑部门 - ${e.name}`,Object.assign(N,{id:e.id,parent_id:e.parent_id,name:e.name,code:e.code||``,leader:e.leader||``,phone:e.phone||``,sort:e.sort||0,status:e.status,description:e.description||``}),R(e.id),D.value=!0}async function U(){j.value&&await j.value.validate(async e=>{if(e){k.value=!0;try{A.value?(await v.update(N.id,N),_.success(`部门信息更新成功`)):(await v.create(N),_.success(`部门创建成功`)),D.value=!1,z()}catch{}finally{k.value=!1}}})}async function W(e){if(e.children&&e.children.length>0){_.warning(`请先删除子部门`);return}await g.confirm(`确定删除部门「${e.name}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await v.delete(e.id),_.success(`删除成功`),z()}return r(z),(r,u)=>{let f=i(`el-button`),g=i(`el-table-column`),_=i(`el-tag`),v=i(`el-table`),w=i(`el-option`),M=i(`el-select`),F=i(`el-form-item`),I=i(`el-col`),R=i(`el-input`),B=i(`el-input-number`),G=i(`el-radio`),K=i(`el-radio-group`),q=i(`el-row`),J=i(`el-form`),Y=i(`el-dialog`),X=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[p(`div`,x,[p(`div`,S,[m(f,{icon:`Refresh`,onClick:z},{default:e(()=>[...u[11]||=[o(`刷新`,-1)]]),_:1})]),m(f,{type:`primary`,icon:`Plus`,onClick:u[0]||=e=>V(null)},{default:e(()=>[...u[12]||=[o(`新增顶级部门`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(v,{data:T.value,"row-key":`id`,"tree-props":{children:`children`,hasChildren:`has_children`},"default-expand-all":``,style:{width:`100%`}},{default:e(()=>[m(g,{prop:`name`,label:`部门名称`,"min-width":`200`}),m(g,{prop:`code`,label:`部门编码`,width:`120`}),m(g,{prop:`leader`,label:`负责人`,width:`110`}),m(g,{prop:`phone`,label:`联系电话`,width:`140`}),m(g,{prop:`sort`,label:`排序`,width:`70`,align:`center`}),m(g,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(_,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`正常`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),m(g,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(g,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(f,{size:`small`,type:`success`,text:``,onClick:e=>V(t)},{default:e(()=>[...u[13]||=[o(`新增子部门`,-1)]]),_:1},8,[`onClick`]),m(f,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...u[14]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(f,{size:`small`,type:`danger`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[15]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[X,E.value]])])]),m(Y,{modelValue:D.value,"onUpdate:modelValue":u[10]||=e=>D.value=e,title:O.value,width:`520px`,"destroy-on-close":``},{footer:e(()=>[m(f,{onClick:u[9]||=e=>D.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(f,{type:`primary`,loading:k.value,onClick:U},{default:e(()=>[o(a(A.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[m(J,{ref_key:`formRef`,ref:j,model:N,rules:P,"label-width":`90px`},{default:e(()=>[m(q,{gutter:16},{default:e(()=>[m(I,{span:24},{default:e(()=>[m(F,{label:`上级部门`,prop:`parent_id`},{default:e(()=>[m(M,{modelValue:N.parent_id,"onUpdate:modelValue":u[1]||=e=>N.parent_id=e,placeholder:`不选则为顶级部门`,clearable:``,style:{width:`100%`}},{default:e(()=>[m(w,{label:`顶级部门(无上级)`,value:null}),(n(!0),d(l,null,h(L.value,e=>(n(),s(w,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`部门名称`,prop:`name`},{default:e(()=>[m(R,{modelValue:N.name,"onUpdate:modelValue":u[2]||=e=>N.name=e,placeholder:`请输入部门名称`},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`部门编码`,prop:`code`},{default:e(()=>[m(R,{modelValue:N.code,"onUpdate:modelValue":u[3]||=e=>N.code=e,placeholder:`如: HR(选填)`},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`负责人`,prop:`leader`},{default:e(()=>[m(R,{modelValue:N.leader,"onUpdate:modelValue":u[4]||=e=>N.leader=e,placeholder:`部门负责人`},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`联系电话`,prop:`phone`},{default:e(()=>[m(R,{modelValue:N.phone,"onUpdate:modelValue":u[5]||=e=>N.phone=e,placeholder:`部门联系电话`},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`排序`,prop:`sort`},{default:e(()=>[m(B,{modelValue:N.sort,"onUpdate:modelValue":u[6]||=e=>N.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`状态`,prop:`status`},{default:e(()=>[m(K,{modelValue:N.status,"onUpdate:modelValue":u[7]||=e=>N.status=e},{default:e(()=>[m(G,{value:1},{default:e(()=>[...u[16]||=[o(`正常`,-1)]]),_:1}),m(G,{value:0},{default:e(()=>[...u[17]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:24},{default:e(()=>[m(F,{label:`备注`,prop:`description`},{default:e(()=>[m(R,{modelValue:N.description,"onUpdate:modelValue":u[8]||=e=>N.description=e,type:`textarea`,rows:2,placeholder:`备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/departments-IS1n2am2.js b/frontend/dist/assets/departments-IS1n2am2.js deleted file mode 100644 index bea96de..0000000 --- a/frontend/dist/assets/departments-IS1n2am2.js +++ /dev/null @@ -1 +0,0 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{departmentApi as v}from"./system-C8g7zsei.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`flex items-center gap-3`},C={class:`px-2`},w={__name:`index`,setup(w){let T=u([]),E=u(!1),D=u(!1),O=u(`新增部门`),k=u(!1),A=u(!1),j=u(null),M=u([]),N=f({id:null,parent_id:null,name:``,code:``,leader:``,phone:``,sort:0,status:1,description:``}),P={name:[{required:!0,message:`请输入部门名称`,trigger:`blur`}]};function F(e,t=[]){for(let n of e)t.push({id:n.id,name:n.name}),n.children?.length&&F(n.children,t);return t}function I(e,t){let n=[e],r=t.find(t=>t.id===e);if(r?.children)for(let e of r.children)n.push(...I(e.id,M.value.map(e=>({...e}))));return n}let L=u([]);function R(e){if(!e){L.value=M.value;return}L.value=M.value.filter(t=>t.id!==e)}async function z(){E.value=!0;try{let e=await v.getList({per_page:500}),t=e.data?.list||e.data?.data||[];M.value=t.map(e=>({id:e.id,name:e.name})),T.value=B(t)}catch{}finally{E.value=!1}}function B(e,t=null){return e.filter(e=>(e.parent_id??null)===t).map(t=>({...t,children:B(e,t.id)}))}function V(e){A.value=!1,O.value=e?`在「${e.name}」下新增部门`:`新增顶级部门`,Object.assign(N,{id:null,parent_id:e?.id||null,name:``,code:``,leader:``,phone:``,sort:0,status:1,description:``}),R(null),D.value=!0}async function H(e){A.value=!0,O.value=`编辑部门 - ${e.name}`,Object.assign(N,{id:e.id,parent_id:e.parent_id,name:e.name,code:e.code||``,leader:e.leader||``,phone:e.phone||``,sort:e.sort||0,status:e.status,description:e.description||``}),R(e.id),D.value=!0}async function U(){j.value&&await j.value.validate(async e=>{if(e){k.value=!0;try{A.value?(await v.update(N.id,N),_.success(`部门信息更新成功`)):(await v.create(N),_.success(`部门创建成功`)),D.value=!1,z()}catch{}finally{k.value=!1}}})}async function W(e){if(e.children&&e.children.length>0){_.warning(`请先删除子部门`);return}await g.confirm(`确定删除部门「${e.name}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await v.delete(e.id),_.success(`删除成功`),z()}return r(z),(r,u)=>{let f=i(`el-button`),g=i(`el-table-column`),_=i(`el-tag`),v=i(`el-table`),w=i(`el-option`),M=i(`el-select`),F=i(`el-form-item`),I=i(`el-col`),R=i(`el-input`),B=i(`el-input-number`),G=i(`el-radio`),K=i(`el-radio-group`),q=i(`el-row`),J=i(`el-form`),Y=i(`el-dialog`),X=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[p(`div`,x,[p(`div`,S,[m(f,{icon:`Refresh`,onClick:z},{default:e(()=>[...u[11]||=[o(`刷新`,-1)]]),_:1})]),m(f,{type:`primary`,icon:`Plus`,onClick:u[0]||=e=>V(null)},{default:e(()=>[...u[12]||=[o(`新增顶级部门`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(v,{data:T.value,"row-key":`id`,"tree-props":{children:`children`,hasChildren:`has_children`},"default-expand-all":``,style:{width:`100%`}},{default:e(()=>[m(g,{prop:`name`,label:`部门名称`,"min-width":`200`}),m(g,{prop:`code`,label:`部门编码`,width:`120`}),m(g,{prop:`leader`,label:`负责人`,width:`110`}),m(g,{prop:`phone`,label:`联系电话`,width:`140`}),m(g,{prop:`sort`,label:`排序`,width:`70`,align:`center`}),m(g,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(_,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`正常`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),m(g,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(g,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(f,{size:`small`,type:`success`,text:``,onClick:e=>V(t)},{default:e(()=>[...u[13]||=[o(`新增子部门`,-1)]]),_:1},8,[`onClick`]),m(f,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...u[14]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(f,{size:`small`,type:`danger`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[15]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[X,E.value]])])]),m(Y,{modelValue:D.value,"onUpdate:modelValue":u[10]||=e=>D.value=e,title:O.value,width:`520px`,"destroy-on-close":``},{footer:e(()=>[m(f,{onClick:u[9]||=e=>D.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(f,{type:`primary`,loading:k.value,onClick:U},{default:e(()=>[o(a(A.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[m(J,{ref_key:`formRef`,ref:j,model:N,rules:P,"label-width":`90px`},{default:e(()=>[m(q,{gutter:16},{default:e(()=>[m(I,{span:24},{default:e(()=>[m(F,{label:`上级部门`,prop:`parent_id`},{default:e(()=>[m(M,{modelValue:N.parent_id,"onUpdate:modelValue":u[1]||=e=>N.parent_id=e,placeholder:`不选则为顶级部门`,clearable:``,style:{width:`100%`}},{default:e(()=>[m(w,{label:`顶级部门(无上级)`,value:null}),(n(!0),d(l,null,h(L.value,e=>(n(),s(w,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`部门名称`,prop:`name`},{default:e(()=>[m(R,{modelValue:N.name,"onUpdate:modelValue":u[2]||=e=>N.name=e,placeholder:`请输入部门名称`},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`部门编码`,prop:`code`},{default:e(()=>[m(R,{modelValue:N.code,"onUpdate:modelValue":u[3]||=e=>N.code=e,placeholder:`如: HR(选填)`},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`负责人`,prop:`leader`},{default:e(()=>[m(R,{modelValue:N.leader,"onUpdate:modelValue":u[4]||=e=>N.leader=e,placeholder:`部门负责人`},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`联系电话`,prop:`phone`},{default:e(()=>[m(R,{modelValue:N.phone,"onUpdate:modelValue":u[5]||=e=>N.phone=e,placeholder:`部门联系电话`},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`排序`,prop:`sort`},{default:e(()=>[m(B,{modelValue:N.sort,"onUpdate:modelValue":u[6]||=e=>N.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:12},{default:e(()=>[m(F,{label:`状态`,prop:`status`},{default:e(()=>[m(K,{modelValue:N.status,"onUpdate:modelValue":u[7]||=e=>N.status=e},{default:e(()=>[m(G,{value:1},{default:e(()=>[...u[16]||=[o(`正常`,-1)]]),_:1}),m(G,{value:0},{default:e(()=>[...u[17]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(I,{span:24},{default:e(()=>[m(F,{label:`备注`,prop:`description`},{default:e(()=>[m(R,{modelValue:N.description,"onUpdate:modelValue":u[8]||=e=>N.description=e,type:`textarea`,rows:2,placeholder:`备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/dictionaries-Cy4AY1wm.js b/frontend/dist/assets/dictionaries-CV3_WCLC.js similarity index 98% rename from frontend/dist/assets/dictionaries-Cy4AY1wm.js rename to frontend/dist/assets/dictionaries-CV3_WCLC.js index cc925ca..9dd1afe 100644 --- a/frontend/dist/assets/dictionaries-Cy4AY1wm.js +++ b/frontend/dist/assets/dictionaries-CV3_WCLC.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as ee,V as r,Vt as i,Wt as a,_ as o,d as s,et as c,f as l,i as te,lt as u,p as d,st as f,u as p,v as m,z as ne}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as re,o as h,s as g,t as _,u as ie}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{dictApi as v}from"./system-C8g7zsei.js";var ae={class:`p-6 space-y-4`},oe={class:`flex gap-4`,style:{"min-height":`0`}},se={class:`bg-white rounded-2xl border border-gray-100 shadow-sm flex flex-col gap-3 p-4`,style:{width:`280px`,"flex-shrink":`0`,height:`fit-content`,"max-height":`calc(100vh - 140px)`,overflow:`hidden`}},ce={class:`flex items-center justify-between`},le={class:`flex-1 overflow-y-auto`,style:{"min-height":`100px`}},ue=[`onClick`],de={class:`flex-1 min-w-0`},fe={class:`text-[11px] text-gray-400 mt-0.5`},pe={class:`bg-white rounded-2xl border border-gray-100 shadow-sm flex-1 min-w-0`},me={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},he={class:`text-[15px] font-semibold text-gray-800`},ge={class:`px-2`},_e={key:1},ve={key:1,class:`px-5 py-3 border-t border-gray-50`},ye={style:{display:`flex`,"align-items":`center`,gap:`10px`}},y=_({__name:`index`,setup(_){let y=u([]),b=u(0),x=u(!1),S=u(null),C=f({keyword:``}),w=f({page:1,page_size:20}),T=u(!1),E=u(`新增字典类型`),D=u(!1),O=u(!1),k=u(null),A=f({id:null,name:``,code:``,description:``,status:1}),be={name:[{required:!0,message:`请输入类型名称`,trigger:`blur`}],code:[{required:!0,message:`请输入类型编码`,trigger:`blur`},{pattern:/^[a-zA-Z][a-zA-Z0-9_]*$/,message:`编码以字母开头,只允许字母、数字、下划线`,trigger:`blur`}]},j=u([]),M=u(0),N=u(!1),P=f({page:1,page_size:20}),F=u(!1),I=u(`新增字典项`),L=u(!1),R=u(!1),z=u(null),B=f({id:null,label:``,value:``,sort:0,color:``,description:``,status:1}),xe={label:[{required:!0,message:`请输入字典标签`,trigger:`blur`}],value:[{required:!0,message:`请输入字典值`,trigger:`blur`}]};async function V(){x.value=!0;try{let e=await v.getTypeList({keyword:C.keyword,...w});y.value=e.data?.list||[],b.value=e.data?.total||0,!S.value&&y.value.length>0&&H(y.value[0])}catch{}finally{x.value=!1}}function H(e){S.value=e,P.page=1,W()}function U(){w.page=1,V()}function Se(){O.value=!1,E.value=`新增字典类型`,Object.assign(A,{id:null,name:``,code:``,description:``,status:1}),T.value=!0}async function Ce(e){O.value=!0,E.value=`编辑字典类型 - ${e.name}`,Object.assign(A,{id:e.id,name:e.name,code:e.code,description:e.description||``,status:e.status}),T.value=!0}async function we(){k.value&&await k.value.validate(async e=>{if(e){D.value=!0;try{O.value?(await v.deleteType(A.id),await v.createType({name:A.name,code:A.code,description:A.description,status:A.status}),g.success(`字典类型更新成功`),S.value?.id===A.id&&(S.value.name=A.name)):(await v.createType(A),g.success(`字典类型创建成功`)),T.value=!1,V()}catch{}finally{D.value=!1}}})}async function Te(e){await h.confirm(`确定删除字典类型「${e.name}」吗?该类型下的所有字典项将一并删除。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await v.deleteType(e.id),g.success(`删除成功`),S.value?.id===e.id&&(S.value=null,j.value=[]),V()}async function W(){if(S.value){N.value=!0;try{let e=await v.getItemList(S.value.id,P);j.value=e.data?.list||[],M.value=e.data?.total||0}catch{}finally{N.value=!1}}}function Ee(){if(!S.value){g.warning(`请先选择左侧字典类型`);return}R.value=!1,I.value=`在「${S.value.name}」下新增字典项`,Object.assign(B,{id:null,label:``,value:``,sort:0,color:``,description:``,status:1}),F.value=!0}async function De(e){R.value=!0,I.value=`编辑字典项 - ${e.label}`,Object.assign(B,{id:e.id,label:e.label,value:e.value,sort:e.sort||0,color:e.color||``,description:e.description||``,status:e.status}),F.value=!0}async function Oe(){z.value&&await z.value.validate(async e=>{if(e){L.value=!0;try{R.value?(await v.updateItem(B.id,B),g.success(`字典项更新成功`)):(await v.createItem(S.value.id,B),g.success(`字典项创建成功`)),F.value=!1,W()}catch{}finally{L.value=!1}}})}async function ke(e){await h.confirm(`确定删除字典项「${e.label}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await v.deleteItem(e.id),g.success(`删除成功`),W()}function Ae(e){P.page=e,W()}return ee(V),(ee,u)=>{let f=r(`el-button`),h=r(`Search`),g=r(`el-icon`),_=r(`el-input`),v=r(`Edit`),W=r(`Delete`),G=r(`el-empty`),K=r(`el-pagination`),q=r(`el-tag`),J=r(`el-table-column`),je=r(`el-table`),Y=r(`el-form-item`),X=r(`el-radio`),Z=r(`el-radio-group`),Q=r(`el-form`),Me=r(`el-dialog`),Ne=r(`el-color-picker`),Pe=r(`el-input-number`),$=t(`loading`);return n(),d(`div`,ae,[p(`div`,oe,[p(`div`,se,[p(`div`,ce,[u[18]||=p(`span`,{class:`text-[15px] font-semibold text-gray-800`},`字典类型`,-1),m(f,{size:`small`,type:`primary`,icon:`Plus`,onClick:Se})]),p(`div`,null,[m(_,{modelValue:C.keyword,"onUpdate:modelValue":u[0]||=e=>C.keyword=e,placeholder:`搜索类型`,size:`small`,clearable:``,onKeydown:re(U,[`enter`]),onClear:U},{prefix:e(()=>[m(g,null,{default:e(()=>[m(h)]),_:1})]),_:1},8,[`modelValue`])]),c((n(),d(`div`,le,[(n(!0),d(te,null,ne(y.value,t=>(n(),d(`div`,{key:t.id,class:i([`flex items-center justify-between px-3 py-2.5 rounded-md cursor-pointer transition-colors duration-150 hover:bg-blue-50 group`,{"bg-blue-50":S.value?.id===t.id}]),onClick:e=>H(t)},[p(`div`,de,[p(`div`,{class:i([`text-sm truncate`,S.value?.id===t.id?`text-blue-700 font-semibold`:`text-gray-800`])},a(t.name),3),p(`div`,fe,a(t.code),1)]),p(`div`,{class:`flex gap-1.5 opacity-0 group-hover:opacity-100 transition-opacity duration-150`,onClick:u[1]||=ie(()=>{},[`stop`])},[m(g,{class:`cursor-pointer text-gray-400 hover:text-blue-500 text-[14px]`,onClick:e=>Ce(t)},{default:e(()=>[m(v)]),_:1},8,[`onClick`]),m(g,{class:`cursor-pointer text-gray-400 hover:text-red-500 text-[14px]`,onClick:e=>Te(t)},{default:e(()=>[m(W)]),_:1},8,[`onClick`])])],10,ue))),128)),!x.value&&y.value.length===0?(n(),s(G,{key:0,description:`暂无字典类型`,"image-size":60})):l(``,!0)])),[[$,x.value]]),b.value>w.page_size?(n(),s(K,{key:0,"current-page":w.page,"onUpdate:currentPage":u[2]||=e=>w.page=e,"page-size":w.page_size,total:b.value,layout:`prev, pager, next`,small:``,onCurrentChange:V},null,8,[`current-page`,`page-size`,`total`])):l(``,!0)]),p(`div`,pe,[p(`div`,me,[p(`span`,he,a(S.value?`字典项 — ${S.value.name}(${S.value.code})`:`字典项`),1),m(f,{size:`small`,type:`primary`,icon:`Plus`,disabled:!S.value,onClick:Ee},{default:e(()=>[...u[19]||=[o(` 新增字典项 `,-1)]]),_:1},8,[`disabled`])]),p(`div`,ge,[c((n(),s(je,{data:j.value,style:{width:`100%`}},{default:e(()=>[m(J,{prop:`label`,label:`字典标签`,"min-width":`140`},{default:e(({row:t})=>[t.color?(n(),s(q,{key:0,color:t.color,style:{color:`#fff`,"border-color":`transparent`},size:`small`},{default:e(()=>[o(a(t.label),1)]),_:2},1032,[`color`])):(n(),d(`span`,_e,a(t.label),1))]),_:1}),m(J,{prop:`value`,label:`字典值`,"min-width":`120`}),m(J,{prop:`sort`,label:`排序`,width:`70`,align:`center`}),m(J,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(q,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(J,{prop:`description`,label:`备注`,"min-width":`160`,"show-overflow-tooltip":``}),m(J,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(f,{size:`small`,type:`primary`,text:``,onClick:e=>De(t)},{default:e(()=>[...u[20]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(f,{size:`small`,type:`danger`,text:``,onClick:e=>ke(t)},{default:e(()=>[...u[21]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[$,N.value]])]),!N.value&&!S.value?(n(),s(G,{key:0,description:`请在左侧选择字典类型`,style:{"margin-top":`40px`}})):l(``,!0),M.value>0?(n(),d(`div`,ve,[m(K,{"current-page":P.page,"onUpdate:currentPage":u[3]||=e=>P.page=e,"page-size":P.page_size,total:M.value,layout:`total, prev, pager, next`,background:``,onCurrentChange:Ae},null,8,[`current-page`,`page-size`,`total`])])):l(``,!0)])]),m(Me,{modelValue:T.value,"onUpdate:modelValue":u[9]||=e=>T.value=e,title:E.value,width:`460px`,"destroy-on-close":``},{footer:e(()=>[m(f,{onClick:u[8]||=e=>T.value=!1},{default:e(()=>[...u[25]||=[o(`取消`,-1)]]),_:1}),m(f,{type:`primary`,loading:D.value,onClick:we},{default:e(()=>[o(a(O.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`typeFormRef`,ref:k,model:A,rules:be,"label-width":`90px`},{default:e(()=>[m(Y,{label:`类型名称`,prop:`name`},{default:e(()=>[m(_,{modelValue:A.name,"onUpdate:modelValue":u[4]||=e=>A.name=e,placeholder:`如: 性别、状态`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`类型编码`,prop:`code`},{default:e(()=>[m(_,{modelValue:A.code,"onUpdate:modelValue":u[5]||=e=>A.code=e,placeholder:`如: gender、order_status`,disabled:O.value},null,8,[`modelValue`,`disabled`]),u[22]||=p(`div`,{class:`form-tip`},`编码唯一,用于程序中取值,创建后不可修改`,-1)]),_:1}),m(Y,{label:`描述`,prop:`description`},{default:e(()=>[m(_,{modelValue:A.description,"onUpdate:modelValue":u[6]||=e=>A.description=e,type:`textarea`,rows:2,placeholder:`选填`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`状态`,prop:`status`},{default:e(()=>[m(Z,{modelValue:A.status,"onUpdate:modelValue":u[7]||=e=>A.status=e},{default:e(()=>[m(X,{value:1},{default:e(()=>[...u[23]||=[o(`启用`,-1)]]),_:1}),m(X,{value:0},{default:e(()=>[...u[24]||=[o(`禁用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m(Me,{modelValue:F.value,"onUpdate:modelValue":u[17]||=e=>F.value=e,title:I.value,width:`460px`,"destroy-on-close":``},{footer:e(()=>[m(f,{onClick:u[16]||=e=>F.value=!1},{default:e(()=>[...u[29]||=[o(`取消`,-1)]]),_:1}),m(f,{type:`primary`,loading:L.value,onClick:Oe},{default:e(()=>[o(a(R.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`itemFormRef`,ref:z,model:B,rules:xe,"label-width":`90px`},{default:e(()=>[m(Y,{label:`字典标签`,prop:`label`},{default:e(()=>[m(_,{modelValue:B.label,"onUpdate:modelValue":u[10]||=e=>B.label=e,placeholder:`显示文本,如: 男、启用`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`字典值`,prop:`value`},{default:e(()=>[m(_,{modelValue:B.value,"onUpdate:modelValue":u[11]||=e=>B.value=e,placeholder:`存储值,如: male、1`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`标签颜色`,prop:`color`},{default:e(()=>[p(`div`,ye,[m(Ne,{modelValue:B.color,"onUpdate:modelValue":u[12]||=e=>B.color=e},null,8,[`modelValue`]),u[26]||=p(`span`,{class:`form-tip`},`可选,设置后标签将显示对应颜色`,-1)])]),_:1}),m(Y,{label:`排序`,prop:`sort`},{default:e(()=>[m(Pe,{modelValue:B.sort,"onUpdate:modelValue":u[13]||=e=>B.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Y,{label:`状态`,prop:`status`},{default:e(()=>[m(Z,{modelValue:B.status,"onUpdate:modelValue":u[14]||=e=>B.status=e},{default:e(()=>[m(X,{value:1},{default:e(()=>[...u[27]||=[o(`启用`,-1)]]),_:1}),m(X,{value:0},{default:e(()=>[...u[28]||=[o(`禁用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),m(Y,{label:`备注`,prop:`description`},{default:e(()=>[m(_,{modelValue:B.description,"onUpdate:modelValue":u[15]||=e=>B.description=e,type:`textarea`,rows:2,placeholder:`选填`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}},[[`__scopeId`,`data-v-aa3d11a2`]]);export{y as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as ee,V as r,Vt as i,Wt as a,_ as o,d as s,et as c,f as l,i as te,lt as u,p as d,st as f,u as p,v as m,z as ne}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as re,o as h,s as g,t as _,u as ie}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{dictApi as v}from"./system-DEm1DLCy.js";var ae={class:`p-6 space-y-4`},oe={class:`flex gap-4`,style:{"min-height":`0`}},se={class:`bg-white rounded-2xl border border-gray-100 shadow-sm flex flex-col gap-3 p-4`,style:{width:`280px`,"flex-shrink":`0`,height:`fit-content`,"max-height":`calc(100vh - 140px)`,overflow:`hidden`}},ce={class:`flex items-center justify-between`},le={class:`flex-1 overflow-y-auto`,style:{"min-height":`100px`}},ue=[`onClick`],de={class:`flex-1 min-w-0`},fe={class:`text-[11px] text-gray-400 mt-0.5`},pe={class:`bg-white rounded-2xl border border-gray-100 shadow-sm flex-1 min-w-0`},me={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},he={class:`text-[15px] font-semibold text-gray-800`},ge={class:`px-2`},_e={key:1},ve={key:1,class:`px-5 py-3 border-t border-gray-50`},ye={style:{display:`flex`,"align-items":`center`,gap:`10px`}},y=_({__name:`index`,setup(_){let y=u([]),b=u(0),x=u(!1),S=u(null),C=f({keyword:``}),w=f({page:1,page_size:20}),T=u(!1),E=u(`新增字典类型`),D=u(!1),O=u(!1),k=u(null),A=f({id:null,name:``,code:``,description:``,status:1}),be={name:[{required:!0,message:`请输入类型名称`,trigger:`blur`}],code:[{required:!0,message:`请输入类型编码`,trigger:`blur`},{pattern:/^[a-zA-Z][a-zA-Z0-9_]*$/,message:`编码以字母开头,只允许字母、数字、下划线`,trigger:`blur`}]},j=u([]),M=u(0),N=u(!1),P=f({page:1,page_size:20}),F=u(!1),I=u(`新增字典项`),L=u(!1),R=u(!1),z=u(null),B=f({id:null,label:``,value:``,sort:0,color:``,description:``,status:1}),xe={label:[{required:!0,message:`请输入字典标签`,trigger:`blur`}],value:[{required:!0,message:`请输入字典值`,trigger:`blur`}]};async function V(){x.value=!0;try{let e=await v.getTypeList({keyword:C.keyword,...w});y.value=e.data?.list||[],b.value=e.data?.total||0,!S.value&&y.value.length>0&&H(y.value[0])}catch{}finally{x.value=!1}}function H(e){S.value=e,P.page=1,W()}function U(){w.page=1,V()}function Se(){O.value=!1,E.value=`新增字典类型`,Object.assign(A,{id:null,name:``,code:``,description:``,status:1}),T.value=!0}async function Ce(e){O.value=!0,E.value=`编辑字典类型 - ${e.name}`,Object.assign(A,{id:e.id,name:e.name,code:e.code,description:e.description||``,status:e.status}),T.value=!0}async function we(){k.value&&await k.value.validate(async e=>{if(e){D.value=!0;try{O.value?(await v.deleteType(A.id),await v.createType({name:A.name,code:A.code,description:A.description,status:A.status}),g.success(`字典类型更新成功`),S.value?.id===A.id&&(S.value.name=A.name)):(await v.createType(A),g.success(`字典类型创建成功`)),T.value=!1,V()}catch{}finally{D.value=!1}}})}async function Te(e){await h.confirm(`确定删除字典类型「${e.name}」吗?该类型下的所有字典项将一并删除。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await v.deleteType(e.id),g.success(`删除成功`),S.value?.id===e.id&&(S.value=null,j.value=[]),V()}async function W(){if(S.value){N.value=!0;try{let e=await v.getItemList(S.value.id,P);j.value=e.data?.list||[],M.value=e.data?.total||0}catch{}finally{N.value=!1}}}function Ee(){if(!S.value){g.warning(`请先选择左侧字典类型`);return}R.value=!1,I.value=`在「${S.value.name}」下新增字典项`,Object.assign(B,{id:null,label:``,value:``,sort:0,color:``,description:``,status:1}),F.value=!0}async function De(e){R.value=!0,I.value=`编辑字典项 - ${e.label}`,Object.assign(B,{id:e.id,label:e.label,value:e.value,sort:e.sort||0,color:e.color||``,description:e.description||``,status:e.status}),F.value=!0}async function Oe(){z.value&&await z.value.validate(async e=>{if(e){L.value=!0;try{R.value?(await v.updateItem(B.id,B),g.success(`字典项更新成功`)):(await v.createItem(S.value.id,B),g.success(`字典项创建成功`)),F.value=!1,W()}catch{}finally{L.value=!1}}})}async function ke(e){await h.confirm(`确定删除字典项「${e.label}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await v.deleteItem(e.id),g.success(`删除成功`),W()}function Ae(e){P.page=e,W()}return ee(V),(ee,u)=>{let f=r(`el-button`),h=r(`Search`),g=r(`el-icon`),_=r(`el-input`),v=r(`Edit`),W=r(`Delete`),G=r(`el-empty`),K=r(`el-pagination`),q=r(`el-tag`),J=r(`el-table-column`),je=r(`el-table`),Y=r(`el-form-item`),X=r(`el-radio`),Z=r(`el-radio-group`),Q=r(`el-form`),Me=r(`el-dialog`),Ne=r(`el-color-picker`),Pe=r(`el-input-number`),$=t(`loading`);return n(),d(`div`,ae,[p(`div`,oe,[p(`div`,se,[p(`div`,ce,[u[18]||=p(`span`,{class:`text-[15px] font-semibold text-gray-800`},`字典类型`,-1),m(f,{size:`small`,type:`primary`,icon:`Plus`,onClick:Se})]),p(`div`,null,[m(_,{modelValue:C.keyword,"onUpdate:modelValue":u[0]||=e=>C.keyword=e,placeholder:`搜索类型`,size:`small`,clearable:``,onKeydown:re(U,[`enter`]),onClear:U},{prefix:e(()=>[m(g,null,{default:e(()=>[m(h)]),_:1})]),_:1},8,[`modelValue`])]),c((n(),d(`div`,le,[(n(!0),d(te,null,ne(y.value,t=>(n(),d(`div`,{key:t.id,class:i([`flex items-center justify-between px-3 py-2.5 rounded-md cursor-pointer transition-colors duration-150 hover:bg-blue-50 group`,{"bg-blue-50":S.value?.id===t.id}]),onClick:e=>H(t)},[p(`div`,de,[p(`div`,{class:i([`text-sm truncate`,S.value?.id===t.id?`text-blue-700 font-semibold`:`text-gray-800`])},a(t.name),3),p(`div`,fe,a(t.code),1)]),p(`div`,{class:`flex gap-1.5 opacity-0 group-hover:opacity-100 transition-opacity duration-150`,onClick:u[1]||=ie(()=>{},[`stop`])},[m(g,{class:`cursor-pointer text-gray-400 hover:text-blue-500 text-[14px]`,onClick:e=>Ce(t)},{default:e(()=>[m(v)]),_:1},8,[`onClick`]),m(g,{class:`cursor-pointer text-gray-400 hover:text-red-500 text-[14px]`,onClick:e=>Te(t)},{default:e(()=>[m(W)]),_:1},8,[`onClick`])])],10,ue))),128)),!x.value&&y.value.length===0?(n(),s(G,{key:0,description:`暂无字典类型`,"image-size":60})):l(``,!0)])),[[$,x.value]]),b.value>w.page_size?(n(),s(K,{key:0,"current-page":w.page,"onUpdate:currentPage":u[2]||=e=>w.page=e,"page-size":w.page_size,total:b.value,layout:`prev, pager, next`,small:``,onCurrentChange:V},null,8,[`current-page`,`page-size`,`total`])):l(``,!0)]),p(`div`,pe,[p(`div`,me,[p(`span`,he,a(S.value?`字典项 — ${S.value.name}(${S.value.code})`:`字典项`),1),m(f,{size:`small`,type:`primary`,icon:`Plus`,disabled:!S.value,onClick:Ee},{default:e(()=>[...u[19]||=[o(` 新增字典项 `,-1)]]),_:1},8,[`disabled`])]),p(`div`,ge,[c((n(),s(je,{data:j.value,style:{width:`100%`}},{default:e(()=>[m(J,{prop:`label`,label:`字典标签`,"min-width":`140`},{default:e(({row:t})=>[t.color?(n(),s(q,{key:0,color:t.color,style:{color:`#fff`,"border-color":`transparent`},size:`small`},{default:e(()=>[o(a(t.label),1)]),_:2},1032,[`color`])):(n(),d(`span`,_e,a(t.label),1))]),_:1}),m(J,{prop:`value`,label:`字典值`,"min-width":`120`}),m(J,{prop:`sort`,label:`排序`,width:`70`,align:`center`}),m(J,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(q,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(J,{prop:`description`,label:`备注`,"min-width":`160`,"show-overflow-tooltip":``}),m(J,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(f,{size:`small`,type:`primary`,text:``,onClick:e=>De(t)},{default:e(()=>[...u[20]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(f,{size:`small`,type:`danger`,text:``,onClick:e=>ke(t)},{default:e(()=>[...u[21]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[$,N.value]])]),!N.value&&!S.value?(n(),s(G,{key:0,description:`请在左侧选择字典类型`,style:{"margin-top":`40px`}})):l(``,!0),M.value>0?(n(),d(`div`,ve,[m(K,{"current-page":P.page,"onUpdate:currentPage":u[3]||=e=>P.page=e,"page-size":P.page_size,total:M.value,layout:`total, prev, pager, next`,background:``,onCurrentChange:Ae},null,8,[`current-page`,`page-size`,`total`])])):l(``,!0)])]),m(Me,{modelValue:T.value,"onUpdate:modelValue":u[9]||=e=>T.value=e,title:E.value,width:`460px`,"destroy-on-close":``},{footer:e(()=>[m(f,{onClick:u[8]||=e=>T.value=!1},{default:e(()=>[...u[25]||=[o(`取消`,-1)]]),_:1}),m(f,{type:`primary`,loading:D.value,onClick:we},{default:e(()=>[o(a(O.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`typeFormRef`,ref:k,model:A,rules:be,"label-width":`90px`},{default:e(()=>[m(Y,{label:`类型名称`,prop:`name`},{default:e(()=>[m(_,{modelValue:A.name,"onUpdate:modelValue":u[4]||=e=>A.name=e,placeholder:`如: 性别、状态`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`类型编码`,prop:`code`},{default:e(()=>[m(_,{modelValue:A.code,"onUpdate:modelValue":u[5]||=e=>A.code=e,placeholder:`如: gender、order_status`,disabled:O.value},null,8,[`modelValue`,`disabled`]),u[22]||=p(`div`,{class:`form-tip`},`编码唯一,用于程序中取值,创建后不可修改`,-1)]),_:1}),m(Y,{label:`描述`,prop:`description`},{default:e(()=>[m(_,{modelValue:A.description,"onUpdate:modelValue":u[6]||=e=>A.description=e,type:`textarea`,rows:2,placeholder:`选填`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`状态`,prop:`status`},{default:e(()=>[m(Z,{modelValue:A.status,"onUpdate:modelValue":u[7]||=e=>A.status=e},{default:e(()=>[m(X,{value:1},{default:e(()=>[...u[23]||=[o(`启用`,-1)]]),_:1}),m(X,{value:0},{default:e(()=>[...u[24]||=[o(`禁用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m(Me,{modelValue:F.value,"onUpdate:modelValue":u[17]||=e=>F.value=e,title:I.value,width:`460px`,"destroy-on-close":``},{footer:e(()=>[m(f,{onClick:u[16]||=e=>F.value=!1},{default:e(()=>[...u[29]||=[o(`取消`,-1)]]),_:1}),m(f,{type:`primary`,loading:L.value,onClick:Oe},{default:e(()=>[o(a(R.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`itemFormRef`,ref:z,model:B,rules:xe,"label-width":`90px`},{default:e(()=>[m(Y,{label:`字典标签`,prop:`label`},{default:e(()=>[m(_,{modelValue:B.label,"onUpdate:modelValue":u[10]||=e=>B.label=e,placeholder:`显示文本,如: 男、启用`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`字典值`,prop:`value`},{default:e(()=>[m(_,{modelValue:B.value,"onUpdate:modelValue":u[11]||=e=>B.value=e,placeholder:`存储值,如: male、1`},null,8,[`modelValue`])]),_:1}),m(Y,{label:`标签颜色`,prop:`color`},{default:e(()=>[p(`div`,ye,[m(Ne,{modelValue:B.color,"onUpdate:modelValue":u[12]||=e=>B.color=e},null,8,[`modelValue`]),u[26]||=p(`span`,{class:`form-tip`},`可选,设置后标签将显示对应颜色`,-1)])]),_:1}),m(Y,{label:`排序`,prop:`sort`},{default:e(()=>[m(Pe,{modelValue:B.sort,"onUpdate:modelValue":u[13]||=e=>B.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Y,{label:`状态`,prop:`status`},{default:e(()=>[m(Z,{modelValue:B.status,"onUpdate:modelValue":u[14]||=e=>B.status=e},{default:e(()=>[m(X,{value:1},{default:e(()=>[...u[27]||=[o(`启用`,-1)]]),_:1}),m(X,{value:0},{default:e(()=>[...u[28]||=[o(`禁用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),m(Y,{label:`备注`,prop:`description`},{default:e(()=>[m(_,{modelValue:B.description,"onUpdate:modelValue":u[15]||=e=>B.description=e,type:`textarea`,rows:2,placeholder:`选填`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}},[[`__scopeId`,`data-v-aa3d11a2`]]);export{y as default}; \ No newline at end of file diff --git a/frontend/dist/assets/dishes-DyX1JK0o.js b/frontend/dist/assets/dishes-6mBLTW6z.js similarity index 97% rename from frontend/dist/assets/dishes-DyX1JK0o.js rename to frontend/dist/assets/dishes-6mBLTW6z.js index e940b32..9697a56 100644 --- a/frontend/dist/assets/dishes-DyX1JK0o.js +++ b/frontend/dist/assets/dishes-6mBLTW6z.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as y}from"./meal-CL1Cz_RN.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({name:``,category:``,status:``}),N=f({page:1,per_page:20}),P=u(null),F=f({id:null,name:``,category:``,description:``,image:``,ingredients:[],contraindications:[],price:0,status:1}),I=u(!1),L={name:[{required:!0,message:`请输入菜品名称`,trigger:`blur`}]},R=[`汤`,`主食`,`配菜`,`甜品`,`水果`,`饮品`];async function z(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function B(){N.page=1,z()}function V(){Object.assign(M,{name:``,category:``,status:``}),B()}function H(){I.value=!1,Object.assign(F,{id:null,name:``,category:``,description:``,image:``,ingredients:[],contraindications:[],price:0,status:1}),A.value=!0}async function U(e){I.value=!0;let t=(await y.getDetail(e.id)).data;Object.assign(F,{id:t.id,name:t.name,category:t.category||``,description:t.description||``,image:t.image||``,ingredients:t.ingredients||[],contraindications:t.contraindications||[],price:t.price||0,status:t.status}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?await y.update(F.id,F):await y.create(F),v.success(I.value?`更新成功`:`创建成功`),A.value=!1,z()}finally{j.value=!1}}})}async function G(e){await _.confirm(`确定删除菜品「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),z()}function K(e){N.page=e,z()}function q(e){N.per_page=e,N.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input-number`),Q=i(`el-switch`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.name,"onUpdate:modelValue":u[0]||=e=>M.name=e,placeholder:`菜品名称`,style:{width:`180px`},clearable:``,onKeydown:g(B,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.category,"onUpdate:modelValue":u[1]||=e=>M.category=e,placeholder:`分类`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,e=>m(_,{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{modelValue:M.status,"onUpdate:modelValue":u[2]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(_,{label:`启用`,value:1}),m(_,{label:`禁用`,value:0})]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:B},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:V},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[15]||=p(`div`,{class:`flex items-center gap-3`},null,-1),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[14]||=[o(`新增菜品`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(J,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`name`,label:`菜品名称`,"min-width":`120`}),m(E,{prop:`category`,label:`分类`,width:`80`,align:`center`}),m(E,{prop:`price`,label:`价格`,width:`90`,align:`right`}),m(E,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),m(E,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(E,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,k.value]])]),p(`div`,T,[m(Y,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[4]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:A.value,"onUpdate:modelValue":u[11]||=e=>A.value=e,title:I.value?`编辑菜品`:`新增菜品`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[10]||=e=>A.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m(X,{label:`菜品名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[5]||=e=>F.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`分类`},{default:e(()=>[m(v,{modelValue:F.category,"onUpdate:modelValue":u[6]||=e=>F.category=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,e=>m(_,{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`价格`},{default:e(()=>[m(Z,{modelValue:F.price,"onUpdate:modelValue":u[7]||=e=>F.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`描述`},{default:e(()=>[m(f,{modelValue:F.description,"onUpdate:modelValue":u[8]||=e=>F.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Q,{modelValue:F.status,"onUpdate:modelValue":u[9]||=e=>F.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as y}from"./meal-CgJENF-S.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({name:``,category:``,status:``}),N=f({page:1,per_page:20}),P=u(null),F=f({id:null,name:``,category:``,description:``,image:``,ingredients:[],contraindications:[],price:0,status:1}),I=u(!1),L={name:[{required:!0,message:`请输入菜品名称`,trigger:`blur`}]},R=[`汤`,`主食`,`配菜`,`甜品`,`水果`,`饮品`];async function z(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function B(){N.page=1,z()}function V(){Object.assign(M,{name:``,category:``,status:``}),B()}function H(){I.value=!1,Object.assign(F,{id:null,name:``,category:``,description:``,image:``,ingredients:[],contraindications:[],price:0,status:1}),A.value=!0}async function U(e){I.value=!0;let t=(await y.getDetail(e.id)).data;Object.assign(F,{id:t.id,name:t.name,category:t.category||``,description:t.description||``,image:t.image||``,ingredients:t.ingredients||[],contraindications:t.contraindications||[],price:t.price||0,status:t.status}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?await y.update(F.id,F):await y.create(F),v.success(I.value?`更新成功`:`创建成功`),A.value=!1,z()}finally{j.value=!1}}})}async function G(e){await _.confirm(`确定删除菜品「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),z()}function K(e){N.page=e,z()}function q(e){N.per_page=e,N.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input-number`),Q=i(`el-switch`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.name,"onUpdate:modelValue":u[0]||=e=>M.name=e,placeholder:`菜品名称`,style:{width:`180px`},clearable:``,onKeydown:g(B,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.category,"onUpdate:modelValue":u[1]||=e=>M.category=e,placeholder:`分类`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,e=>m(_,{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{modelValue:M.status,"onUpdate:modelValue":u[2]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(_,{label:`启用`,value:1}),m(_,{label:`禁用`,value:0})]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:B},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:V},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[15]||=p(`div`,{class:`flex items-center gap-3`},null,-1),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[14]||=[o(`新增菜品`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(J,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`name`,label:`菜品名称`,"min-width":`120`}),m(E,{prop:`category`,label:`分类`,width:`80`,align:`center`}),m(E,{prop:`price`,label:`价格`,width:`90`,align:`right`}),m(E,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),m(E,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(E,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,k.value]])]),p(`div`,T,[m(Y,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[4]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:A.value,"onUpdate:modelValue":u[11]||=e=>A.value=e,title:I.value?`编辑菜品`:`新增菜品`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[10]||=e=>A.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m(X,{label:`菜品名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[5]||=e=>F.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`分类`},{default:e(()=>[m(v,{modelValue:F.category,"onUpdate:modelValue":u[6]||=e=>F.category=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,e=>m(_,{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`价格`},{default:e(()=>[m(Z,{modelValue:F.price,"onUpdate:modelValue":u[7]||=e=>F.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`描述`},{default:e(()=>[m(f,{modelValue:F.description,"onUpdate:modelValue":u[8]||=e=>F.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Q,{modelValue:F.status,"onUpdate:modelValue":u[9]||=e=>F.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file diff --git a/frontend/dist/assets/exceptions-CeoPfK2B.js b/frontend/dist/assets/exceptions-BOFWWrYu.js similarity index 98% rename from frontend/dist/assets/exceptions-CeoPfK2B.js rename to frontend/dist/assets/exceptions-BOFWWrYu.js index f1bad24..6b6f0dd 100644 --- a/frontend/dist/assets/exceptions-CeoPfK2B.js +++ b/frontend/dist/assets/exceptions-BOFWWrYu.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,et as u,f as d,i as f,lt as p,p as m,st as h,u as g,v as _,z as v}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as y,s as b}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as x}from"./iconify-f5JHLb1p.js";import{t as S}from"./care-ChCKRopi.js";import{i as C}from"./crm-Do-MgkuV.js";var w={class:`p-6 space-y-4`},T={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},E={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},D={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},O={class:`px-2`},ee={class:`px-5 py-3 border-t border-gray-50`},k={__name:`index`,setup(k){let A=p([]),j=p(0),M=p(!1),N=p(!1),P=p(!1),F=p(!1),I=p([]),L=p(null),R=h({customer_id:``,level:``,status:``,date:``}),z=h({page:1,per_page:20}),B=p(null),V=h({id:null,customer_id:``,care_record_id:``,level:``,exception_type:``,description:``,action_taken:``}),H=p(!1),U={mild:`轻度`,moderate:`中度`,severe:`重度`},W={open:`待处理`,resolved:`已解决`},G={mild:`bg-yellow-100 text-yellow-700 border-yellow-200`,moderate:`bg-orange-100 text-orange-700 border-orange-200`,severe:`bg-red-100 text-red-700 border-red-200`},K={mild:``,moderate:`bg-orange-50`,severe:`bg-red-50`},q={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],level:[{required:!0,message:`请选择严重程度`,trigger:`change`}],exception_type:[{required:!0,message:`请输入异常类型`,trigger:`blur`}],description:[{required:!0,message:`请输入异常描述`,trigger:`blur`}]};async function J(){M.value=!0;try{let e=await S.getList({...R,...z});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}catch{b.error(`加载失败`)}finally{M.value=!1}}async function Y(){try{let e=await C.getList({per_page:500,status:3});I.value=e.data?.list||e.data?.data||[]}catch{}}function X(){z.page=1,J()}function te(){Object.assign(R,{customer_id:``,level:``,status:``,date:``}),X()}function ne(){H.value=!1,Object.assign(V,{id:null,customer_id:``,care_record_id:``,level:``,exception_type:``,description:``,action_taken:``}),N.value=!0}function re(e){H.value=!0,Object.assign(V,{id:e.id,customer_id:e.customer_id,care_record_id:e.care_record_id||``,level:e.level,exception_type:e.exception_type,description:e.description,action_taken:e.action_taken||``}),N.value=!0}function ie(e){L.value=e,P.value=!0}async function ae(e){await y.confirm(`确认将该异常标记为已解决?`,`标记解决`,{type:`success`,confirmButtonText:`确认解决`});try{await S.resolve(e.id),b.success(`已标记为解决`),J()}catch{b.error(`操作失败`)}}async function oe(){B.value&&await B.value.validate(async e=>{if(e){F.value=!0;try{H.value?await S.update(V.id,V):await S.create(V),b.success(H.value?`更新成功`:`创建成功`),N.value=!1,J()}catch{b.error(`操作失败`)}finally{F.value=!1}}})}function se(e){z.page=e,J()}function ce(e){z.per_page=e,z.page=1,J()}function le({row:e}){return K[e.level]||``}return r(()=>{J(),Y()}),(r,p)=>{let h=i(`el-option`),y=i(`el-select`),b=i(`el-date-picker`),S=i(`el-button`),C=i(`el-table-column`),k=i(`el-tag`),K=i(`el-table`),J=i(`el-pagination`),Y=i(`el-form-item`),Z=i(`el-input`),ue=i(`el-form`),Q=i(`el-dialog`),$=i(`el-descriptions-item`),de=i(`el-descriptions`),fe=t(`loading`);return n(),m(`div`,w,[g(`div`,T,[_(y,{modelValue:R.customer_id,"onUpdate:modelValue":p[0]||=e=>R.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),m(f,null,v(I.value,e=>(n(),l(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),_(y,{modelValue:R.level,"onUpdate:modelValue":p[1]||=e=>R.level=e,placeholder:`严重程度`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),m(f,null,v(U,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),_(y,{modelValue:R.status,"onUpdate:modelValue":p[2]||=e=>R.status=e,placeholder:`处理状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),m(f,null,v(W,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),_(b,{modelValue:R.date,"onUpdate:modelValue":p[3]||=e=>R.date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`异常日期`,style:{width:`160px`}},null,8,[`modelValue`]),_(S,{type:`primary`,onClick:X},{default:e(()=>[_(c(x),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),p[16]||=s(`查询 `,-1)]),_:1}),_(S,{onClick:te},{default:e(()=>[...p[17]||=[s(`重置`,-1)]]),_:1})]),g(`div`,E,[g(`div`,D,[p[19]||=g(`div`,{class:`flex items-center gap-2`},[g(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),g(`span`,{class:`font-semibold text-gray-700`},`护理异常记录`)],-1),_(S,{type:`primary`,onClick:ne},{default:e(()=>[_(c(x),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),p[18]||=s(`新建异常 `,-1)]),_:1})]),g(`div`,O,[u((n(),l(K,{data:A.value,style:{width:`100%`},"row-class-name":le},{default:e(()=>[_(C,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[s(o(e.customer_name||`-`),1)]),_:1}),_(C,{label:`严重程度`,width:`90`,align:`center`},{default:e(({row:e})=>[g(`span`,{class:a([`text-xs font-medium px-2 py-0.5 rounded border`,G[e.level]])},o(U[e.level]||`-`),3)]),_:1}),_(C,{prop:`exception_type`,label:`异常类型`,"min-width":`120`}),_(C,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),_(C,{prop:`action_taken`,label:`处理措施`,"min-width":`150`,"show-overflow-tooltip":``}),_(C,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[_(k,{type:t.status===`resolved`?`success`:`danger`,size:`small`},{default:e(()=>[s(o(W[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),_(C,{prop:`created_at`,label:`记录时间`,"min-width":`160`}),_(C,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[_(S,{size:`small`,type:`primary`,text:``,onClick:e=>ie(t)},{default:e(()=>[...p[20]||=[s(`详情`,-1)]]),_:1},8,[`onClick`]),t.status===`open`?(n(),l(S,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...p[21]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`])):d(``,!0),t.status===`open`?(n(),l(S,{key:1,size:`small`,type:`success`,text:``,onClick:e=>ae(t)},{default:e(()=>[...p[22]||=[s(`标记解决`,-1)]]),_:1},8,[`onClick`])):d(``,!0)]),_:1})]),_:1},8,[`data`])),[[fe,M.value]])]),g(`div`,ee,[_(J,{"current-page":z.page,"onUpdate:currentPage":p[4]||=e=>z.page=e,"page-size":z.per_page,"onUpdate:pageSize":p[5]||=e=>z.per_page=e,total:j.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:se,onSizeChange:ce},null,8,[`current-page`,`page-size`,`total`])])]),_(Q,{modelValue:N.value,"onUpdate:modelValue":p[13]||=e=>N.value=e,title:H.value?`编辑异常`:`新建异常`,width:`560px`,"destroy-on-close":``},{footer:e(()=>[_(S,{onClick:p[12]||=e=>N.value=!1},{default:e(()=>[...p[23]||=[s(`取消`,-1)]]),_:1}),_(S,{type:`primary`,loading:F.value,onClick:oe},{default:e(()=>[...p[24]||=[s(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[_(ue,{ref_key:`formRef`,ref:B,model:V,rules:q,"label-width":`90px`},{default:e(()=>[_(Y,{label:`客户`,prop:`customer_id`},{default:e(()=>[_(y,{modelValue:V.customer_id,"onUpdate:modelValue":p[6]||=e=>V.customer_id=e,filterable:``,style:{width:`100%`},placeholder:`请选择客户`},{default:e(()=>[(n(!0),m(f,null,v(I.value,e=>(n(),l(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),_(Y,{label:`严重程度`,prop:`level`},{default:e(()=>[_(y,{modelValue:V.level,"onUpdate:modelValue":p[7]||=e=>V.level=e,style:{width:`100%`}},{default:e(()=>[(n(),m(f,null,v(U,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),_(Y,{label:`异常类型`,prop:`exception_type`},{default:e(()=>[_(Z,{modelValue:V.exception_type,"onUpdate:modelValue":p[8]||=e=>V.exception_type=e,placeholder:`如:体温异常、血压偏高等`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`护理记录ID`},{default:e(()=>[_(Z,{modelValue:V.care_record_id,"onUpdate:modelValue":p[9]||=e=>V.care_record_id=e,placeholder:`关联护理记录(可选)`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`异常描述`,prop:`description`},{default:e(()=>[_(Z,{modelValue:V.description,"onUpdate:modelValue":p[10]||=e=>V.description=e,type:`textarea`,rows:3,placeholder:`详细描述异常情况`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`处理措施`},{default:e(()=>[_(Z,{modelValue:V.action_taken,"onUpdate:modelValue":p[11]||=e=>V.action_taken=e,type:`textarea`,rows:2,placeholder:`已采取的处理措施`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),_(Q,{modelValue:P.value,"onUpdate:modelValue":p[15]||=e=>P.value=e,title:`异常详情`,width:`500px`},{footer:e(()=>[_(S,{onClick:p[14]||=e=>P.value=!1},{default:e(()=>[...p[25]||=[s(`关闭`,-1)]]),_:1})]),default:e(()=>[L.value?(n(),l(de,{key:0,column:2,border:``},{default:e(()=>[_($,{label:`客户`},{default:e(()=>[s(o(L.value.customer_name||`-`),1)]),_:1}),_($,{label:`严重程度`},{default:e(()=>[g(`span`,{class:a([`text-xs font-medium px-2 py-0.5 rounded border`,G[L.value.level]])},o(U[L.value.level]||`-`),3)]),_:1}),_($,{label:`异常类型`},{default:e(()=>[s(o(L.value.exception_type||`-`),1)]),_:1}),_($,{label:`状态`},{default:e(()=>[_(k,{type:L.value.status===`resolved`?`success`:`danger`,size:`small`},{default:e(()=>[s(o(W[L.value.status]||`-`),1)]),_:1},8,[`type`])]),_:1}),_($,{label:`异常描述`,span:2},{default:e(()=>[s(o(L.value.description||`-`),1)]),_:1}),_($,{label:`处理措施`,span:2},{default:e(()=>[s(o(L.value.action_taken||`-`),1)]),_:1}),_($,{label:`记录时间`},{default:e(()=>[s(o(L.value.created_at||`-`),1)]),_:1}),_($,{label:`解决时间`},{default:e(()=>[s(o(L.value.resolved_at||`-`),1)]),_:1})]),_:1})):d(``,!0)]),_:1},8,[`modelValue`])])}}};export{k as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,et as u,f as d,i as f,lt as p,p as m,st as h,u as g,v as _,z as v}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as y,s as b}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as x}from"./iconify-f5JHLb1p.js";import{t as S}from"./care-BUQYu5B3.js";import{i as C}from"./crm-CvCW8IfR.js";var w={class:`p-6 space-y-4`},T={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},E={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},D={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},O={class:`px-2`},ee={class:`px-5 py-3 border-t border-gray-50`},k={__name:`index`,setup(k){let A=p([]),j=p(0),M=p(!1),N=p(!1),P=p(!1),F=p(!1),I=p([]),L=p(null),R=h({customer_id:``,level:``,status:``,date:``}),z=h({page:1,per_page:20}),B=p(null),V=h({id:null,customer_id:``,care_record_id:``,level:``,exception_type:``,description:``,action_taken:``}),H=p(!1),U={mild:`轻度`,moderate:`中度`,severe:`重度`},W={open:`待处理`,resolved:`已解决`},G={mild:`bg-yellow-100 text-yellow-700 border-yellow-200`,moderate:`bg-orange-100 text-orange-700 border-orange-200`,severe:`bg-red-100 text-red-700 border-red-200`},K={mild:``,moderate:`bg-orange-50`,severe:`bg-red-50`},q={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],level:[{required:!0,message:`请选择严重程度`,trigger:`change`}],exception_type:[{required:!0,message:`请输入异常类型`,trigger:`blur`}],description:[{required:!0,message:`请输入异常描述`,trigger:`blur`}]};async function J(){M.value=!0;try{let e=await S.getList({...R,...z});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}catch{b.error(`加载失败`)}finally{M.value=!1}}async function Y(){try{let e=await C.getList({per_page:500,status:3});I.value=e.data?.list||e.data?.data||[]}catch{}}function X(){z.page=1,J()}function te(){Object.assign(R,{customer_id:``,level:``,status:``,date:``}),X()}function ne(){H.value=!1,Object.assign(V,{id:null,customer_id:``,care_record_id:``,level:``,exception_type:``,description:``,action_taken:``}),N.value=!0}function re(e){H.value=!0,Object.assign(V,{id:e.id,customer_id:e.customer_id,care_record_id:e.care_record_id||``,level:e.level,exception_type:e.exception_type,description:e.description,action_taken:e.action_taken||``}),N.value=!0}function ie(e){L.value=e,P.value=!0}async function ae(e){await y.confirm(`确认将该异常标记为已解决?`,`标记解决`,{type:`success`,confirmButtonText:`确认解决`});try{await S.resolve(e.id),b.success(`已标记为解决`),J()}catch{b.error(`操作失败`)}}async function oe(){B.value&&await B.value.validate(async e=>{if(e){F.value=!0;try{H.value?await S.update(V.id,V):await S.create(V),b.success(H.value?`更新成功`:`创建成功`),N.value=!1,J()}catch{b.error(`操作失败`)}finally{F.value=!1}}})}function se(e){z.page=e,J()}function ce(e){z.per_page=e,z.page=1,J()}function le({row:e}){return K[e.level]||``}return r(()=>{J(),Y()}),(r,p)=>{let h=i(`el-option`),y=i(`el-select`),b=i(`el-date-picker`),S=i(`el-button`),C=i(`el-table-column`),k=i(`el-tag`),K=i(`el-table`),J=i(`el-pagination`),Y=i(`el-form-item`),Z=i(`el-input`),ue=i(`el-form`),Q=i(`el-dialog`),$=i(`el-descriptions-item`),de=i(`el-descriptions`),fe=t(`loading`);return n(),m(`div`,w,[g(`div`,T,[_(y,{modelValue:R.customer_id,"onUpdate:modelValue":p[0]||=e=>R.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),m(f,null,v(I.value,e=>(n(),l(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),_(y,{modelValue:R.level,"onUpdate:modelValue":p[1]||=e=>R.level=e,placeholder:`严重程度`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),m(f,null,v(U,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),_(y,{modelValue:R.status,"onUpdate:modelValue":p[2]||=e=>R.status=e,placeholder:`处理状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),m(f,null,v(W,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),_(b,{modelValue:R.date,"onUpdate:modelValue":p[3]||=e=>R.date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`异常日期`,style:{width:`160px`}},null,8,[`modelValue`]),_(S,{type:`primary`,onClick:X},{default:e(()=>[_(c(x),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),p[16]||=s(`查询 `,-1)]),_:1}),_(S,{onClick:te},{default:e(()=>[...p[17]||=[s(`重置`,-1)]]),_:1})]),g(`div`,E,[g(`div`,D,[p[19]||=g(`div`,{class:`flex items-center gap-2`},[g(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),g(`span`,{class:`font-semibold text-gray-700`},`护理异常记录`)],-1),_(S,{type:`primary`,onClick:ne},{default:e(()=>[_(c(x),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),p[18]||=s(`新建异常 `,-1)]),_:1})]),g(`div`,O,[u((n(),l(K,{data:A.value,style:{width:`100%`},"row-class-name":le},{default:e(()=>[_(C,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[s(o(e.customer_name||`-`),1)]),_:1}),_(C,{label:`严重程度`,width:`90`,align:`center`},{default:e(({row:e})=>[g(`span`,{class:a([`text-xs font-medium px-2 py-0.5 rounded border`,G[e.level]])},o(U[e.level]||`-`),3)]),_:1}),_(C,{prop:`exception_type`,label:`异常类型`,"min-width":`120`}),_(C,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),_(C,{prop:`action_taken`,label:`处理措施`,"min-width":`150`,"show-overflow-tooltip":``}),_(C,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[_(k,{type:t.status===`resolved`?`success`:`danger`,size:`small`},{default:e(()=>[s(o(W[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),_(C,{prop:`created_at`,label:`记录时间`,"min-width":`160`}),_(C,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[_(S,{size:`small`,type:`primary`,text:``,onClick:e=>ie(t)},{default:e(()=>[...p[20]||=[s(`详情`,-1)]]),_:1},8,[`onClick`]),t.status===`open`?(n(),l(S,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...p[21]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`])):d(``,!0),t.status===`open`?(n(),l(S,{key:1,size:`small`,type:`success`,text:``,onClick:e=>ae(t)},{default:e(()=>[...p[22]||=[s(`标记解决`,-1)]]),_:1},8,[`onClick`])):d(``,!0)]),_:1})]),_:1},8,[`data`])),[[fe,M.value]])]),g(`div`,ee,[_(J,{"current-page":z.page,"onUpdate:currentPage":p[4]||=e=>z.page=e,"page-size":z.per_page,"onUpdate:pageSize":p[5]||=e=>z.per_page=e,total:j.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:se,onSizeChange:ce},null,8,[`current-page`,`page-size`,`total`])])]),_(Q,{modelValue:N.value,"onUpdate:modelValue":p[13]||=e=>N.value=e,title:H.value?`编辑异常`:`新建异常`,width:`560px`,"destroy-on-close":``},{footer:e(()=>[_(S,{onClick:p[12]||=e=>N.value=!1},{default:e(()=>[...p[23]||=[s(`取消`,-1)]]),_:1}),_(S,{type:`primary`,loading:F.value,onClick:oe},{default:e(()=>[...p[24]||=[s(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[_(ue,{ref_key:`formRef`,ref:B,model:V,rules:q,"label-width":`90px`},{default:e(()=>[_(Y,{label:`客户`,prop:`customer_id`},{default:e(()=>[_(y,{modelValue:V.customer_id,"onUpdate:modelValue":p[6]||=e=>V.customer_id=e,filterable:``,style:{width:`100%`},placeholder:`请选择客户`},{default:e(()=>[(n(!0),m(f,null,v(I.value,e=>(n(),l(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),_(Y,{label:`严重程度`,prop:`level`},{default:e(()=>[_(y,{modelValue:V.level,"onUpdate:modelValue":p[7]||=e=>V.level=e,style:{width:`100%`}},{default:e(()=>[(n(),m(f,null,v(U,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),_(Y,{label:`异常类型`,prop:`exception_type`},{default:e(()=>[_(Z,{modelValue:V.exception_type,"onUpdate:modelValue":p[8]||=e=>V.exception_type=e,placeholder:`如:体温异常、血压偏高等`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`护理记录ID`},{default:e(()=>[_(Z,{modelValue:V.care_record_id,"onUpdate:modelValue":p[9]||=e=>V.care_record_id=e,placeholder:`关联护理记录(可选)`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`异常描述`,prop:`description`},{default:e(()=>[_(Z,{modelValue:V.description,"onUpdate:modelValue":p[10]||=e=>V.description=e,type:`textarea`,rows:3,placeholder:`详细描述异常情况`},null,8,[`modelValue`])]),_:1}),_(Y,{label:`处理措施`},{default:e(()=>[_(Z,{modelValue:V.action_taken,"onUpdate:modelValue":p[11]||=e=>V.action_taken=e,type:`textarea`,rows:2,placeholder:`已采取的处理措施`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),_(Q,{modelValue:P.value,"onUpdate:modelValue":p[15]||=e=>P.value=e,title:`异常详情`,width:`500px`},{footer:e(()=>[_(S,{onClick:p[14]||=e=>P.value=!1},{default:e(()=>[...p[25]||=[s(`关闭`,-1)]]),_:1})]),default:e(()=>[L.value?(n(),l(de,{key:0,column:2,border:``},{default:e(()=>[_($,{label:`客户`},{default:e(()=>[s(o(L.value.customer_name||`-`),1)]),_:1}),_($,{label:`严重程度`},{default:e(()=>[g(`span`,{class:a([`text-xs font-medium px-2 py-0.5 rounded border`,G[L.value.level]])},o(U[L.value.level]||`-`),3)]),_:1}),_($,{label:`异常类型`},{default:e(()=>[s(o(L.value.exception_type||`-`),1)]),_:1}),_($,{label:`状态`},{default:e(()=>[_(k,{type:L.value.status===`resolved`?`success`:`danger`,size:`small`},{default:e(()=>[s(o(W[L.value.status]||`-`),1)]),_:1},8,[`type`])]),_:1}),_($,{label:`异常描述`,span:2},{default:e(()=>[s(o(L.value.description||`-`),1)]),_:1}),_($,{label:`处理措施`,span:2},{default:e(()=>[s(o(L.value.action_taken||`-`),1)]),_:1}),_($,{label:`记录时间`},{default:e(()=>[s(o(L.value.created_at||`-`),1)]),_:1}),_($,{label:`解决时间`},{default:e(()=>[s(o(L.value.resolved_at||`-`),1)]),_:1})]),_:1})):d(``,!0)]),_:1},8,[`modelValue`])])}}};export{k as default}; \ No newline at end of file diff --git a/frontend/dist/assets/executions-BNgXsTAf.js b/frontend/dist/assets/executions-CxoDnYt2.js similarity index 96% rename from frontend/dist/assets/executions-BNgXsTAf.js rename to frontend/dist/assets/executions-CxoDnYt2.js index 6d1841c..b0f9d98 100644 --- a/frontend/dist/assets/executions-BNgXsTAf.js +++ b/frontend/dist/assets/executions-CxoDnYt2.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,_t as s,d as c,et as l,f as u,i as d,l as f,lt as p,p as m,st as h,u as g,v as _,z as v}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as y,s as b,t as x}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as S}from"./iconify-f5JHLb1p.js";import{t as C}from"./service-Cm4zwPyA.js";var w={class:`p-6 space-y-4`},T={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},E={key:0,class:`bg-rose-50 border border-rose-200 rounded-xl px-4 py-3 flex items-center gap-2`},D={class:`text-rose-600 text-sm font-medium`},ee={class:`text-rose-700 font-bold`},te={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},O={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},k={class:`px-2`},A={key:0,class:`text-amber-500 font-medium`},j={key:1,class:`text-gray-300`},M={class:`px-5 py-3 border-t border-gray-50`},N=x({__name:`index`,setup(x){let N=p([]),P=p(0),F=p(!1),I=p(!1),L=p(!1),R=new Date().toISOString().slice(0,10),z=h({order_id:``,technician_id:``,status:``,date:R}),B=h({page:1,per_page:20}),V=p(null),H=h({order_id:``,service_item_name:``,technician_id:``,technician_name:``,scheduled_at:``,notes:``}),U={scheduled:`待执行`,in_progress:`执行中`,completed:`已完成`,cancelled:`已取消`},W={scheduled:`warning`,in_progress:`primary`,completed:`success`,cancelled:`info`},G={order_id:[{required:!0,message:`请输入关联订单ID`,trigger:`blur`}],service_item_name:[{required:!0,message:`请输入服务项目名称`,trigger:`blur`}],scheduled_at:[{required:!0,message:`请选择计划执行时间`,trigger:`change`}]};function K({row:e}){return(e.scheduled_at?e.scheduled_at.slice(0,10):``)===R&&e.status===`scheduled`?`row-today-highlight`:``}let q=f(()=>N.value.filter(e=>(e.scheduled_at?e.scheduled_at.slice(0,10):``)===R&&e.status===`scheduled`).length);async function J(){F.value=!0;try{let e=await C.getList({...z,...B});N.value=e.data?.list||e.data?.data||[],P.value=e.data?.total||0}catch{b.error(`加载失败`)}finally{F.value=!1}}function Y(){B.page=1,J()}function X(){Object.assign(z,{order_id:``,technician_id:``,status:``,date:R}),Y()}function Z(){Object.assign(H,{order_id:``,service_item_name:``,technician_id:``,technician_name:``,scheduled_at:``,notes:``}),I.value=!0}async function ne(e){await y.confirm(`确认「${e.service_item_name}」已执行完成?`,`标记完成`,{type:`success`,confirmButtonText:`确认完成`});try{await C.finish(e.id),b.success(`已标记完成`),J()}catch{b.error(`操作失败`)}}async function re(){V.value&&await V.value.validate(async e=>{if(e){L.value=!0;try{await C.create(H),b.success(`创建成功`),I.value=!1,J()}catch{b.error(`创建失败`)}finally{L.value=!1}}})}function ie(e){B.page=e,J()}function Q(e){B.per_page=e,B.page=1,J()}return r(()=>J()),(r,f)=>{let p=i(`el-input`),h=i(`el-option`),y=i(`el-select`),b=i(`el-date-picker`),x=i(`el-button`),C=i(`el-table-column`),R=i(`el-tag`),J=i(`el-table`),ae=i(`el-pagination`),$=i(`el-form-item`),oe=i(`el-form`),se=i(`el-dialog`),ce=t(`loading`);return n(),m(`div`,w,[g(`div`,T,[_(p,{modelValue:z.order_id,"onUpdate:modelValue":f[0]||=e=>z.order_id=e,placeholder:`订单ID`,clearable:``,style:{width:`140px`}},null,8,[`modelValue`]),_(p,{modelValue:z.technician_id,"onUpdate:modelValue":f[1]||=e=>z.technician_id=e,placeholder:`技师ID`,clearable:``,style:{width:`140px`}},null,8,[`modelValue`]),_(y,{modelValue:z.status,"onUpdate:modelValue":f[2]||=e=>z.status=e,placeholder:`执行状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),m(d,null,v(U,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),_(b,{modelValue:z.date,"onUpdate:modelValue":f[3]||=e=>z.date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`执行日期`,style:{width:`160px`}},null,8,[`modelValue`]),_(x,{type:`primary`,onClick:Y},{default:e(()=>[_(s(S),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),f[13]||=o(`查询 `,-1)]),_:1}),_(x,{onClick:X},{default:e(()=>[...f[14]||=[o(`重置`,-1)]]),_:1})]),q.value>0?(n(),m(`div`,E,[_(s(S),{icon:`solar:bell-bing-bold-duotone`,class:`text-rose-500 text-xl flex-shrink-0`}),g(`span`,D,[f[15]||=o(` 今日共有 `,-1),g(`span`,ee,a(q.value),1),f[16]||=o(` 条待执行服务,已高亮显示。 `,-1)])])):u(``,!0),g(`div`,te,[g(`div`,O,[f[18]||=g(`div`,{class:`flex items-center gap-2`},[g(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),g(`span`,{class:`font-semibold text-gray-700`},`服务执行记录`)],-1),_(x,{type:`primary`,onClick:Z},{default:e(()=>[_(s(S),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),f[17]||=o(`新建执行记录 `,-1)]),_:1})]),g(`div`,k,[l((n(),c(J,{data:N.value,style:{width:`100%`},"row-class-name":K},{default:e(()=>[_(C,{prop:`service_item_name`,label:`服务项目`,"min-width":`140`}),_(C,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||`-`),1)]),_:1}),_(C,{label:`执行技师`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.technician_name||`-`),1)]),_:1}),_(C,{prop:`scheduled_at`,label:`计划时间`,"min-width":`160`}),_(C,{prop:`completed_at`,label:`完成时间`,"min-width":`160`},{default:e(({row:e})=>[o(a(e.completed_at||`—`),1)]),_:1}),_(C,{label:`客户评分`,width:`90`,align:`center`},{default:e(({row:e})=>[e.customer_rating?(n(),m(`span`,A,a(e.customer_rating)+` ★`,1)):(n(),m(`span`,j,`—`))]),_:1}),_(C,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[_(R,{type:W[t.status],size:`small`},{default:e(()=>[o(a(U[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),_(C,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`scheduled`||t.status===`in_progress`?(n(),c(x,{key:0,size:`small`,type:`success`,text:``,onClick:e=>ne(t)},{default:e(()=>[...f[19]||=[o(` 标记完成 `,-1)]]),_:1},8,[`onClick`])):u(``,!0)]),_:1})]),_:1},8,[`data`])),[[ce,F.value]])]),g(`div`,M,[_(ae,{"current-page":B.page,"onUpdate:currentPage":f[4]||=e=>B.page=e,"page-size":B.per_page,"onUpdate:pageSize":f[5]||=e=>B.per_page=e,total:P.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ie,onSizeChange:Q},null,8,[`current-page`,`page-size`,`total`])])]),_(se,{modelValue:I.value,"onUpdate:modelValue":f[12]||=e=>I.value=e,title:`新建执行记录`,width:`540px`,"destroy-on-close":``},{footer:e(()=>[_(x,{onClick:f[11]||=e=>I.value=!1},{default:e(()=>[...f[20]||=[o(`取消`,-1)]]),_:1}),_(x,{type:`primary`,loading:L.value,onClick:re},{default:e(()=>[...f[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[_(oe,{ref_key:`formRef`,ref:V,model:H,rules:G,"label-width":`100px`},{default:e(()=>[_($,{label:`关联订单ID`,prop:`order_id`},{default:e(()=>[_(p,{modelValue:H.order_id,"onUpdate:modelValue":f[6]||=e=>H.order_id=e,placeholder:`请输入服务订单ID`},null,8,[`modelValue`])]),_:1}),_($,{label:`服务项目`,prop:`service_item_name`},{default:e(()=>[_(p,{modelValue:H.service_item_name,"onUpdate:modelValue":f[7]||=e=>H.service_item_name=e,placeholder:`服务项目名称`},null,8,[`modelValue`])]),_:1}),_($,{label:`执行技师`},{default:e(()=>[_(p,{modelValue:H.technician_name,"onUpdate:modelValue":f[8]||=e=>H.technician_name=e,placeholder:`技师姓名(可选)`},null,8,[`modelValue`])]),_:1}),_($,{label:`计划时间`,prop:`scheduled_at`},{default:e(()=>[_(b,{modelValue:H.scheduled_at,"onUpdate:modelValue":f[9]||=e=>H.scheduled_at=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`选择计划执行时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),_($,{label:`备注`},{default:e(()=>[_(p,{modelValue:H.notes,"onUpdate:modelValue":f[10]||=e=>H.notes=e,type:`textarea`,rows:2,placeholder:`执行备注(可选)`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}},[[`__scopeId`,`data-v-42007c88`]]);export{N as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,_t as s,d as c,et as l,f as u,i as d,l as f,lt as p,p as m,st as h,u as g,v as _,z as v}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as y,s as b,t as x}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as S}from"./iconify-f5JHLb1p.js";import{t as C}from"./service-nZ3xVURY.js";var w={class:`p-6 space-y-4`},T={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},E={key:0,class:`bg-rose-50 border border-rose-200 rounded-xl px-4 py-3 flex items-center gap-2`},D={class:`text-rose-600 text-sm font-medium`},ee={class:`text-rose-700 font-bold`},te={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},O={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},k={class:`px-2`},A={key:0,class:`text-amber-500 font-medium`},j={key:1,class:`text-gray-300`},M={class:`px-5 py-3 border-t border-gray-50`},N=x({__name:`index`,setup(x){let N=p([]),P=p(0),F=p(!1),I=p(!1),L=p(!1),R=new Date().toISOString().slice(0,10),z=h({order_id:``,technician_id:``,status:``,date:R}),B=h({page:1,per_page:20}),V=p(null),H=h({order_id:``,service_item_name:``,technician_id:``,technician_name:``,scheduled_at:``,notes:``}),U={scheduled:`待执行`,in_progress:`执行中`,completed:`已完成`,cancelled:`已取消`},W={scheduled:`warning`,in_progress:`primary`,completed:`success`,cancelled:`info`},G={order_id:[{required:!0,message:`请输入关联订单ID`,trigger:`blur`}],service_item_name:[{required:!0,message:`请输入服务项目名称`,trigger:`blur`}],scheduled_at:[{required:!0,message:`请选择计划执行时间`,trigger:`change`}]};function K({row:e}){return(e.scheduled_at?e.scheduled_at.slice(0,10):``)===R&&e.status===`scheduled`?`row-today-highlight`:``}let q=f(()=>N.value.filter(e=>(e.scheduled_at?e.scheduled_at.slice(0,10):``)===R&&e.status===`scheduled`).length);async function J(){F.value=!0;try{let e=await C.getList({...z,...B});N.value=e.data?.list||e.data?.data||[],P.value=e.data?.total||0}catch{b.error(`加载失败`)}finally{F.value=!1}}function Y(){B.page=1,J()}function X(){Object.assign(z,{order_id:``,technician_id:``,status:``,date:R}),Y()}function Z(){Object.assign(H,{order_id:``,service_item_name:``,technician_id:``,technician_name:``,scheduled_at:``,notes:``}),I.value=!0}async function ne(e){await y.confirm(`确认「${e.service_item_name}」已执行完成?`,`标记完成`,{type:`success`,confirmButtonText:`确认完成`});try{await C.finish(e.id),b.success(`已标记完成`),J()}catch{b.error(`操作失败`)}}async function re(){V.value&&await V.value.validate(async e=>{if(e){L.value=!0;try{await C.create(H),b.success(`创建成功`),I.value=!1,J()}catch{b.error(`创建失败`)}finally{L.value=!1}}})}function ie(e){B.page=e,J()}function Q(e){B.per_page=e,B.page=1,J()}return r(()=>J()),(r,f)=>{let p=i(`el-input`),h=i(`el-option`),y=i(`el-select`),b=i(`el-date-picker`),x=i(`el-button`),C=i(`el-table-column`),R=i(`el-tag`),J=i(`el-table`),ae=i(`el-pagination`),$=i(`el-form-item`),oe=i(`el-form`),se=i(`el-dialog`),ce=t(`loading`);return n(),m(`div`,w,[g(`div`,T,[_(p,{modelValue:z.order_id,"onUpdate:modelValue":f[0]||=e=>z.order_id=e,placeholder:`订单ID`,clearable:``,style:{width:`140px`}},null,8,[`modelValue`]),_(p,{modelValue:z.technician_id,"onUpdate:modelValue":f[1]||=e=>z.technician_id=e,placeholder:`技师ID`,clearable:``,style:{width:`140px`}},null,8,[`modelValue`]),_(y,{modelValue:z.status,"onUpdate:modelValue":f[2]||=e=>z.status=e,placeholder:`执行状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),m(d,null,v(U,(e,t)=>_(h,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),_(b,{modelValue:z.date,"onUpdate:modelValue":f[3]||=e=>z.date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`执行日期`,style:{width:`160px`}},null,8,[`modelValue`]),_(x,{type:`primary`,onClick:Y},{default:e(()=>[_(s(S),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),f[13]||=o(`查询 `,-1)]),_:1}),_(x,{onClick:X},{default:e(()=>[...f[14]||=[o(`重置`,-1)]]),_:1})]),q.value>0?(n(),m(`div`,E,[_(s(S),{icon:`solar:bell-bing-bold-duotone`,class:`text-rose-500 text-xl flex-shrink-0`}),g(`span`,D,[f[15]||=o(` 今日共有 `,-1),g(`span`,ee,a(q.value),1),f[16]||=o(` 条待执行服务,已高亮显示。 `,-1)])])):u(``,!0),g(`div`,te,[g(`div`,O,[f[18]||=g(`div`,{class:`flex items-center gap-2`},[g(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),g(`span`,{class:`font-semibold text-gray-700`},`服务执行记录`)],-1),_(x,{type:`primary`,onClick:Z},{default:e(()=>[_(s(S),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),f[17]||=o(`新建执行记录 `,-1)]),_:1})]),g(`div`,k,[l((n(),c(J,{data:N.value,style:{width:`100%`},"row-class-name":K},{default:e(()=>[_(C,{prop:`service_item_name`,label:`服务项目`,"min-width":`140`}),_(C,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||`-`),1)]),_:1}),_(C,{label:`执行技师`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.technician_name||`-`),1)]),_:1}),_(C,{prop:`scheduled_at`,label:`计划时间`,"min-width":`160`}),_(C,{prop:`completed_at`,label:`完成时间`,"min-width":`160`},{default:e(({row:e})=>[o(a(e.completed_at||`—`),1)]),_:1}),_(C,{label:`客户评分`,width:`90`,align:`center`},{default:e(({row:e})=>[e.customer_rating?(n(),m(`span`,A,a(e.customer_rating)+` ★`,1)):(n(),m(`span`,j,`—`))]),_:1}),_(C,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[_(R,{type:W[t.status],size:`small`},{default:e(()=>[o(a(U[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),_(C,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`scheduled`||t.status===`in_progress`?(n(),c(x,{key:0,size:`small`,type:`success`,text:``,onClick:e=>ne(t)},{default:e(()=>[...f[19]||=[o(` 标记完成 `,-1)]]),_:1},8,[`onClick`])):u(``,!0)]),_:1})]),_:1},8,[`data`])),[[ce,F.value]])]),g(`div`,M,[_(ae,{"current-page":B.page,"onUpdate:currentPage":f[4]||=e=>B.page=e,"page-size":B.per_page,"onUpdate:pageSize":f[5]||=e=>B.per_page=e,total:P.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ie,onSizeChange:Q},null,8,[`current-page`,`page-size`,`total`])])]),_(se,{modelValue:I.value,"onUpdate:modelValue":f[12]||=e=>I.value=e,title:`新建执行记录`,width:`540px`,"destroy-on-close":``},{footer:e(()=>[_(x,{onClick:f[11]||=e=>I.value=!1},{default:e(()=>[...f[20]||=[o(`取消`,-1)]]),_:1}),_(x,{type:`primary`,loading:L.value,onClick:re},{default:e(()=>[...f[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[_(oe,{ref_key:`formRef`,ref:V,model:H,rules:G,"label-width":`100px`},{default:e(()=>[_($,{label:`关联订单ID`,prop:`order_id`},{default:e(()=>[_(p,{modelValue:H.order_id,"onUpdate:modelValue":f[6]||=e=>H.order_id=e,placeholder:`请输入服务订单ID`},null,8,[`modelValue`])]),_:1}),_($,{label:`服务项目`,prop:`service_item_name`},{default:e(()=>[_(p,{modelValue:H.service_item_name,"onUpdate:modelValue":f[7]||=e=>H.service_item_name=e,placeholder:`服务项目名称`},null,8,[`modelValue`])]),_:1}),_($,{label:`执行技师`},{default:e(()=>[_(p,{modelValue:H.technician_name,"onUpdate:modelValue":f[8]||=e=>H.technician_name=e,placeholder:`技师姓名(可选)`},null,8,[`modelValue`])]),_:1}),_($,{label:`计划时间`,prop:`scheduled_at`},{default:e(()=>[_(b,{modelValue:H.scheduled_at,"onUpdate:modelValue":f[9]||=e=>H.scheduled_at=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`选择计划执行时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),_($,{label:`备注`},{default:e(()=>[_(p,{modelValue:H.notes,"onUpdate:modelValue":f[10]||=e=>H.notes=e,type:`textarea`,rows:2,placeholder:`执行备注(可选)`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}},[[`__scopeId`,`data-v-42007c88`]]);export{N as default}; \ No newline at end of file diff --git a/frontend/dist/assets/exports-D3q-Ds3y.js b/frontend/dist/assets/exports-DUkrHlPt.js similarity index 97% rename from frontend/dist/assets/exports-D3q-Ds3y.js rename to frontend/dist/assets/exports-DUkrHlPt.js index ab01f0a..7f05ebd 100644 --- a/frontend/dist/assets/exports-D3q-Ds3y.js +++ b/frontend/dist/assets/exports-DUkrHlPt.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,s as _,t as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as y}from"./report-DzdIZI4P.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={key:1,class:`text-muted`},E={class:`px-5 py-3 border-t border-gray-50`},D=v({__name:`index`,setup(v){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({type:``,status:``}),N=f({page:1,per_page:20}),P=u(null),F=f({name:``,type:``,params:``}),I={name:[{required:!0,message:`请输入报表名称`,trigger:`blur`}],type:[{required:!0,message:`请选择报表类型`,trigger:`change`}]},L=[{label:`经营概览`,value:`overview`},{label:`营收报表`,value:`revenue`},{label:`入住率报表`,value:`occupancy`},{label:`CRM转化报表`,value:`crm`}],R={0:`生成中`,1:`已完成`,2:`失败`},z={0:`warning`,1:`success`,2:`danger`};async function B(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function V(){N.page=1,B()}function H(){Object.assign(M,{type:``,status:``}),V()}function U(){Object.assign(F,{name:``,type:``,params:``}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{let e={...F};if(e.params)try{e.params=JSON.parse(e.params)}catch{}await y.create(e),_.success(`导出任务已创建`),A.value=!1,B()}finally{j.value=!1}}})}function G(e){e.file_path&&window.open(e.file_path,`_blank`)}function K(e){N.page=e,B()}function q(e){N.per_page=e,N.page=1,B()}return r(B),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),B=i(`el-table-column`),J=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-form-item`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.type,"onUpdate:modelValue":u[0]||=e=>M.type=e,placeholder:`报表类型`,style:{width:`160px`},clearable:``,onKeydown:g(V,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.status,"onUpdate:modelValue":u[1]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:V},{default:e(()=>[...u[9]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:H},{default:e(()=>[...u[10]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[12]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`导出记录列表`)],-1),m(y,{type:`primary`,onClick:U},{default:e(()=>[...u[11]||=[o(`新建导出`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(Y,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(B,{prop:`name`,label:`报表名称`,"min-width":`160`}),m(B,{prop:`type`,label:`类型`,"min-width":`120`}),m(B,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(J,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),m(B,{label:`操作人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.operator?.name||`-`),1)]),_:1}),m(B,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(B,{label:`操作`,width:`100`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===1&&t.file_path?(n(),s(y,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[13]||=[o(`下载`,-1)]]),_:1},8,[`onClick`])):(n(),d(`span`,T,`-`))]),_:1})]),_:1},8,[`data`])),[[ee,k.value]])]),p(`div`,E,[m(X,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:A.value,"onUpdate:modelValue":u[8]||=e=>A.value=e,title:`新建导出`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[7]||=e=>A.value=!1},{default:e(()=>[...u[14]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[15]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:P,model:F,rules:I,"label-width":`90px`},{default:e(()=>[m(Z,{label:`报表名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[4]||=e=>F.name=e,placeholder:`请输入报表名称`},null,8,[`modelValue`])]),_:1}),m(Z,{label:`报表类型`,prop:`type`},{default:e(()=>[m(v,{modelValue:F.type,"onUpdate:modelValue":u[5]||=e=>F.type=e,placeholder:`请选择报表类型`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(L,e=>m(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Z,{label:`参数`},{default:e(()=>[m(f,{modelValue:F.params,"onUpdate:modelValue":u[6]||=e=>F.params=e,type:`textarea`,rows:4,placeholder:`可选,JSON 格式参数`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}},[[`__scopeId`,`data-v-ebc24859`]]);export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,s as _,t as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as y}from"./report-wIlYRH-f.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={key:1,class:`text-muted`},E={class:`px-5 py-3 border-t border-gray-50`},D=v({__name:`index`,setup(v){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({type:``,status:``}),N=f({page:1,per_page:20}),P=u(null),F=f({name:``,type:``,params:``}),I={name:[{required:!0,message:`请输入报表名称`,trigger:`blur`}],type:[{required:!0,message:`请选择报表类型`,trigger:`change`}]},L=[{label:`经营概览`,value:`overview`},{label:`营收报表`,value:`revenue`},{label:`入住率报表`,value:`occupancy`},{label:`CRM转化报表`,value:`crm`}],R={0:`生成中`,1:`已完成`,2:`失败`},z={0:`warning`,1:`success`,2:`danger`};async function B(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function V(){N.page=1,B()}function H(){Object.assign(M,{type:``,status:``}),V()}function U(){Object.assign(F,{name:``,type:``,params:``}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{let e={...F};if(e.params)try{e.params=JSON.parse(e.params)}catch{}await y.create(e),_.success(`导出任务已创建`),A.value=!1,B()}finally{j.value=!1}}})}function G(e){e.file_path&&window.open(e.file_path,`_blank`)}function K(e){N.page=e,B()}function q(e){N.per_page=e,N.page=1,B()}return r(B),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),B=i(`el-table-column`),J=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-form-item`),Q=i(`el-form`),$=i(`el-dialog`),ee=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.type,"onUpdate:modelValue":u[0]||=e=>M.type=e,placeholder:`报表类型`,style:{width:`160px`},clearable:``,onKeydown:g(V,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.status,"onUpdate:modelValue":u[1]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:V},{default:e(()=>[...u[9]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:H},{default:e(()=>[...u[10]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[12]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`导出记录列表`)],-1),m(y,{type:`primary`,onClick:U},{default:e(()=>[...u[11]||=[o(`新建导出`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(Y,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(B,{prop:`name`,label:`报表名称`,"min-width":`160`}),m(B,{prop:`type`,label:`类型`,"min-width":`120`}),m(B,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(J,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]||`-`),1)]),_:2},1032,[`type`])]),_:1}),m(B,{label:`操作人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.operator?.name||`-`),1)]),_:1}),m(B,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(B,{label:`操作`,width:`100`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===1&&t.file_path?(n(),s(y,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[13]||=[o(`下载`,-1)]]),_:1},8,[`onClick`])):(n(),d(`span`,T,`-`))]),_:1})]),_:1},8,[`data`])),[[ee,k.value]])]),p(`div`,E,[m(X,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:A.value,"onUpdate:modelValue":u[8]||=e=>A.value=e,title:`新建导出`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[7]||=e=>A.value=!1},{default:e(()=>[...u[14]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[15]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:P,model:F,rules:I,"label-width":`90px`},{default:e(()=>[m(Z,{label:`报表名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[4]||=e=>F.name=e,placeholder:`请输入报表名称`},null,8,[`modelValue`])]),_:1}),m(Z,{label:`报表类型`,prop:`type`},{default:e(()=>[m(v,{modelValue:F.type,"onUpdate:modelValue":u[5]||=e=>F.type=e,placeholder:`请选择报表类型`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(L,e=>m(_,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Z,{label:`参数`},{default:e(()=>[m(f,{modelValue:F.params,"onUpdate:modelValue":u[6]||=e=>F.params=e,type:`textarea`,rows:4,placeholder:`可选,JSON 格式参数`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}},[[`__scopeId`,`data-v-ebc24859`]]);export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/finance-CoczR0xj.js b/frontend/dist/assets/finance-xn2Nlkdw.js similarity index 95% rename from frontend/dist/assets/finance-CoczR0xj.js rename to frontend/dist/assets/finance-xn2Nlkdw.js index c346cca..7446219 100644 --- a/frontend/dist/assets/finance-CoczR0xj.js +++ b/frontend/dist/assets/finance-xn2Nlkdw.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/finance/categories`,{params:t}),getDetail:t=>e.get(`/finance/categories/${t}`),create:t=>e.post(`/finance/categories`,t),update:(t,n)=>e.put(`/finance/categories/${t}`,n),delete:t=>e.delete(`/finance/categories/${t}`)},n={getList:t=>e.get(`/finance/records`,{params:t}),getDetail:t=>e.get(`/finance/records/${t}`),create:t=>e.post(`/finance/records`,t),update:(t,n)=>e.put(`/finance/records/${t}`,n),delete:t=>e.delete(`/finance/records/${t}`),audit:(t,n)=>e.put(`/finance/records/${t}/audit`,n)},r={getList:t=>e.get(`/finance/accounts`,{params:t}),recharge:t=>e.post(`/finance/accounts/recharge`,t)},i={getList:t=>e.get(`/finance/transactions`,{params:t})},a={getList:t=>e.get(`/finance/prepaid-cards`,{params:t}),getDetail:t=>e.get(`/finance/prepaid-cards/${t}`),create:t=>e.post(`/finance/prepaid-cards`,t),update:(t,n)=>e.put(`/finance/prepaid-cards/${t}`,n),delete:t=>e.delete(`/finance/prepaid-cards/${t}`)},o={getList:t=>e.get(`/finance/invoices`,{params:t}),getDetail:t=>e.get(`/finance/invoices/${t}`),create:t=>e.post(`/finance/invoices`,t),update:(t,n)=>e.put(`/finance/invoices/${t}`,n),delete:t=>e.delete(`/finance/invoices/${t}`),issue:t=>e.put(`/finance/invoices/${t}/issue`)},s={getList:t=>e.get(`/finance/records`,{params:{type:`payment`,...t}}),create:t=>e.post(`/finance/records`,t),audit:(t,n)=>e.put(`/finance/records/${t}/audit`,n)};export{o as a,n as i,r as n,s as o,t as r,a as s,i as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/finance/categories`,{params:t}),getDetail:t=>e.get(`/finance/categories/${t}`),create:t=>e.post(`/finance/categories`,t),update:(t,n)=>e.put(`/finance/categories/${t}`,n),delete:t=>e.delete(`/finance/categories/${t}`)},n={getList:t=>e.get(`/finance/records`,{params:t}),getDetail:t=>e.get(`/finance/records/${t}`),create:t=>e.post(`/finance/records`,t),update:(t,n)=>e.put(`/finance/records/${t}`,n),delete:t=>e.delete(`/finance/records/${t}`),audit:(t,n)=>e.put(`/finance/records/${t}/audit`,n)},r={getList:t=>e.get(`/finance/accounts`,{params:t}),recharge:t=>e.post(`/finance/accounts/recharge`,t)},i={getList:t=>e.get(`/finance/transactions`,{params:t})},a={getList:t=>e.get(`/finance/prepaid-cards`,{params:t}),getDetail:t=>e.get(`/finance/prepaid-cards/${t}`),create:t=>e.post(`/finance/prepaid-cards`,t),update:(t,n)=>e.put(`/finance/prepaid-cards/${t}`,n),delete:t=>e.delete(`/finance/prepaid-cards/${t}`)},o={getList:t=>e.get(`/finance/invoices`,{params:t}),getDetail:t=>e.get(`/finance/invoices/${t}`),create:t=>e.post(`/finance/invoices`,t),update:(t,n)=>e.put(`/finance/invoices/${t}`,n),delete:t=>e.delete(`/finance/invoices/${t}`),issue:t=>e.put(`/finance/invoices/${t}/issue`)},s={getList:t=>e.get(`/finance/records`,{params:{type:`payment`,...t}}),create:t=>e.post(`/finance/records`,t),audit:(t,n)=>e.put(`/finance/records/${t}/audit`,n)};export{o as a,n as i,r as n,s as o,t as r,a as s,i as t}; \ No newline at end of file diff --git a/frontend/dist/assets/handovers-DrzjoVE_.js b/frontend/dist/assets/handovers-s3E48LIK.js similarity index 96% rename from frontend/dist/assets/handovers-DrzjoVE_.js rename to frontend/dist/assets/handovers-s3E48LIK.js index 51f203d..772b7f2 100644 --- a/frontend/dist/assets/handovers-DrzjoVE_.js +++ b/frontend/dist/assets/handovers-s3E48LIK.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as y}from"./office-DHw6Jomg.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=d([]),O=d(0),k=d(!1),A=d(!1),j=d(!1),M=p({shift_date:``,shift_type:``}),N=p({page:1,per_page:20}),P=d(null),F=p({shift_date:``,shift_type:1,content:``,issues:``}),I={1:`早班`,2:`中班`,3:`晚班`,4:`夜班`},L={1:``,2:`warning`,3:`danger`,4:`info`},R={0:`待确认`,1:`已确认`},z={0:`warning`,1:`success`},B={shift_date:[{required:!0,message:`请选择交接日期`}],shift_type:[{required:!0,message:`请选择班次`}],content:[{required:!0,message:`请输入交接内容`}]};async function V(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function H(){N.page=1,V()}function U(){Object.assign(M,{shift_date:``,shift_type:``}),H()}function W(){Object.assign(F,{shift_date:``,shift_type:1,content:``,issues:``}),A.value=!0}async function G(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{await y.create(F),v.success(`创建成功`),A.value=!1,V()}finally{j.value=!1}}})}async function K(e){await _.confirm(`确定确认接班吗?`,`确认接班`,{type:`warning`}),await y.confirm(e.id),v.success(`确认成功`),V()}function q(e){N.page=e,V()}function J(e){N.per_page=e,N.page=1,V()}return r(()=>{V()}),(r,d)=>{let p=i(`el-date-picker`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),V=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-form-item`),Q=i(`el-input`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),f(`div`,b,[m(`div`,x,[h(p,{modelValue:M.shift_date,"onUpdate:modelValue":d[0]||=e=>M.shift_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`交接日期`,clearable:``,style:{width:`160px`}},null,8,[`modelValue`]),h(v,{modelValue:M.shift_type,"onUpdate:modelValue":d[1]||=e=>M.shift_type=e,placeholder:`班次`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{type:`primary`,onClick:H},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:U},{default:e(()=>[...d[11]||=[o(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[13]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`交接记录列表`)],-1),h(y,{type:`primary`,onClick:W},{default:e(()=>[...d[12]||=[o(`新增交接`,-1)]]),_:1})]),m(`div`,w,[c((n(),s(Y,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(E,{prop:`shift_date`,label:`交接日期`,width:`120`}),h(E,{label:`班次`,width:`90`,align:`center`},{default:e(({row:t})=>[h(V,{type:L[t.shift_type],size:`small`},{default:e(()=>[o(a(I[t.shift_type]),1)]),_:2},1032,[`type`])]),_:1}),h(E,{label:`交班人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.handover_user?.name||`-`),1)]),_:1}),h(E,{label:`接班人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.receiver_user?.name||`待确认`),1)]),_:1}),h(E,{prop:`content`,label:`交接内容`,"min-width":`200`,"show-overflow-tooltip":``}),h(E,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(V,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(E,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[14]||=[o(`确认接班`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[te,k.value]])]),m(`div`,T,[h(X,{"current-page":N.page,"onUpdate:currentPage":d[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":d[3]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),h(ee,{modelValue:A.value,"onUpdate:modelValue":d[9]||=e=>A.value=e,title:`新增交接记录`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[8]||=e=>A.value=!1},{default:e(()=>[...d[15]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:j.value,onClick:G},{default:e(()=>[...d[16]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h($,{ref_key:`formRef`,ref:P,model:F,rules:B,"label-width":`90px`},{default:e(()=>[h(Z,{label:`交接日期`,prop:`shift_date`},{default:e(()=>[h(p,{modelValue:F.shift_date,"onUpdate:modelValue":d[4]||=e=>F.shift_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`请选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(Z,{label:`班次`,prop:`shift_type`},{default:e(()=>[h(v,{modelValue:F.shift_type,"onUpdate:modelValue":d[5]||=e=>F.shift_type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(Z,{label:`交接内容`,prop:`content`},{default:e(()=>[h(Q,{modelValue:F.content,"onUpdate:modelValue":d[6]||=e=>F.content=e,type:`textarea`,rows:4,placeholder:`请输入交接内容`},null,8,[`modelValue`])]),_:1}),h(Z,{label:`遗留问题`},{default:e(()=>[h(Q,{modelValue:F.issues,"onUpdate:modelValue":d[7]||=e=>F.issues=e,type:`textarea`,rows:3,placeholder:`请输入遗留问题(选填)`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{E as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as y}from"./office-CIThbrL3.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=d([]),O=d(0),k=d(!1),A=d(!1),j=d(!1),M=p({shift_date:``,shift_type:``}),N=p({page:1,per_page:20}),P=d(null),F=p({shift_date:``,shift_type:1,content:``,issues:``}),I={1:`早班`,2:`中班`,3:`晚班`,4:`夜班`},L={1:``,2:`warning`,3:`danger`,4:`info`},R={0:`待确认`,1:`已确认`},z={0:`warning`,1:`success`},B={shift_date:[{required:!0,message:`请选择交接日期`}],shift_type:[{required:!0,message:`请选择班次`}],content:[{required:!0,message:`请输入交接内容`}]};async function V(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function H(){N.page=1,V()}function U(){Object.assign(M,{shift_date:``,shift_type:``}),H()}function W(){Object.assign(F,{shift_date:``,shift_type:1,content:``,issues:``}),A.value=!0}async function G(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{await y.create(F),v.success(`创建成功`),A.value=!1,V()}finally{j.value=!1}}})}async function K(e){await _.confirm(`确定确认接班吗?`,`确认接班`,{type:`warning`}),await y.confirm(e.id),v.success(`确认成功`),V()}function q(e){N.page=e,V()}function J(e){N.per_page=e,N.page=1,V()}return r(()=>{V()}),(r,d)=>{let p=i(`el-date-picker`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),V=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-form-item`),Q=i(`el-input`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),f(`div`,b,[m(`div`,x,[h(p,{modelValue:M.shift_date,"onUpdate:modelValue":d[0]||=e=>M.shift_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`交接日期`,clearable:``,style:{width:`160px`}},null,8,[`modelValue`]),h(v,{modelValue:M.shift_type,"onUpdate:modelValue":d[1]||=e=>M.shift_type=e,placeholder:`班次`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{type:`primary`,onClick:H},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:U},{default:e(()=>[...d[11]||=[o(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[13]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`交接记录列表`)],-1),h(y,{type:`primary`,onClick:W},{default:e(()=>[...d[12]||=[o(`新增交接`,-1)]]),_:1})]),m(`div`,w,[c((n(),s(Y,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(E,{prop:`shift_date`,label:`交接日期`,width:`120`}),h(E,{label:`班次`,width:`90`,align:`center`},{default:e(({row:t})=>[h(V,{type:L[t.shift_type],size:`small`},{default:e(()=>[o(a(I[t.shift_type]),1)]),_:2},1032,[`type`])]),_:1}),h(E,{label:`交班人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.handover_user?.name||`-`),1)]),_:1}),h(E,{label:`接班人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.receiver_user?.name||`待确认`),1)]),_:1}),h(E,{prop:`content`,label:`交接内容`,"min-width":`200`,"show-overflow-tooltip":``}),h(E,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(V,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(E,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[14]||=[o(`确认接班`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[te,k.value]])]),m(`div`,T,[h(X,{"current-page":N.page,"onUpdate:currentPage":d[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":d[3]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),h(ee,{modelValue:A.value,"onUpdate:modelValue":d[9]||=e=>A.value=e,title:`新增交接记录`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[8]||=e=>A.value=!1},{default:e(()=>[...d[15]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:j.value,onClick:G},{default:e(()=>[...d[16]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h($,{ref_key:`formRef`,ref:P,model:F,rules:B,"label-width":`90px`},{default:e(()=>[h(Z,{label:`交接日期`,prop:`shift_date`},{default:e(()=>[h(p,{modelValue:F.shift_date,"onUpdate:modelValue":d[4]||=e=>F.shift_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`请选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(Z,{label:`班次`,prop:`shift_type`},{default:e(()=>[h(v,{modelValue:F.shift_type,"onUpdate:modelValue":d[5]||=e=>F.shift_type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(I,(e,t)=>h(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(Z,{label:`交接内容`,prop:`content`},{default:e(()=>[h(Q,{modelValue:F.content,"onUpdate:modelValue":d[6]||=e=>F.content=e,type:`textarea`,rows:4,placeholder:`请输入交接内容`},null,8,[`modelValue`])]),_:1}),h(Z,{label:`遗留问题`},{default:e(()=>[h(Q,{modelValue:F.issues,"onUpdate:modelValue":d[7]||=e=>F.issues=e,type:`textarea`,rows:3,placeholder:`请输入遗留问题(选填)`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{E as default}; \ No newline at end of file diff --git a/frontend/dist/assets/health-metrics-B4-E0Srw.js b/frontend/dist/assets/health-metrics-BLPCzyXH.js similarity index 97% rename from frontend/dist/assets/health-metrics-B4-E0Srw.js rename to frontend/dist/assets/health-metrics-BLPCzyXH.js index e3b4b71..ac01153 100644 --- a/frontend/dist/assets/health-metrics-B4-E0Srw.js +++ b/frontend/dist/assets/health-metrics-BLPCzyXH.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,_t as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as y}from"./iconify-f5JHLb1p.js";import{a as b}from"./care-ChCKRopi.js";import{i as x}from"./crm-Do-MgkuV.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={class:`font-medium text-rose-600`},O={class:`text-xs text-gray-400 ml-1`},k={class:`px-5 py-3 border-t border-gray-50`},A={__name:`index`,setup(A){let j=d([]),M=d(0),N=d(!1),P=d(!1),F=d(!1),I=d([]),L=p({customer_id:``,metric_type:``,date_from:``,date_to:``}),R=p({page:1,per_page:20}),z=d(null),B=p({customer_id:``,metric_type:``,value:``,unit:``,recorded_at:``,note:``}),V={blood_pressure:`血压`,weight:`体重`,temperature:`体温`,heart_rate:`心率`,blood_sugar:`血糖`,lochia:`恶露`,fundus:`宫底高度`,other:`其他`},H={blood_pressure:`mmHg`,weight:`kg`,temperature:`°C`,heart_rate:`次/分`,blood_sugar:`mmol/L`,lochia:``,fundus:`cm`,other:``},U={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],metric_type:[{required:!0,message:`请选择指标类型`,trigger:`change`}],value:[{required:!0,message:`请输入指标值`,trigger:`blur`}],recorded_at:[{required:!0,message:`请选择记录时间`,trigger:`change`}]};function W(e){B.unit=H[e]||``}async function G(){N.value=!0;try{let e=await b.getList({...L,...R});j.value=e.data?.list||e.data?.data||[],M.value=e.data?.total||0}catch{v.error(`加载失败`)}finally{N.value=!1}}async function K(){try{let e=await x.getList({per_page:500,status:3});I.value=e.data?.list||e.data?.data||[]}catch{}}function q(){R.page=1,G()}function J(){Object.assign(L,{customer_id:``,metric_type:``,date_from:``,date_to:``}),q()}function Y(){Object.assign(B,{customer_id:``,metric_type:``,value:``,unit:``,recorded_at:``,note:``}),P.value=!0}function X(e){_.confirm(`确定删除该健康指标记录吗?`,`删除确认`,{type:`warning`}).then(()=>{j.value=j.value.filter(t=>t.id!==e.id),v.success(`已移除`)}).catch(()=>{})}async function Z(){z.value&&await z.value.validate(async e=>{if(e){F.value=!0;try{await b.create(B),v.success(`记录成功`),P.value=!1,G()}catch{v.error(`操作失败`)}finally{F.value=!1}}})}function Q(e){R.page=e,G()}function $(e){R.per_page=e,R.page=1,G()}return r(()=>{G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-date-picker`),b=i(`el-button`),x=i(`el-table-column`),A=i(`el-table`),H=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),ee=i(`el-form`),te=i(`el-dialog`),ne=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(_,{modelValue:L.customer_id,"onUpdate:modelValue":d[0]||=e=>L.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(I.value,e=>(n(),c(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:L.metric_type,"onUpdate:modelValue":d[1]||=e=>L.metric_type=e,placeholder:`指标类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),f(u,null,g(V,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{modelValue:L.date_from,"onUpdate:modelValue":d[2]||=e=>L.date_from=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`,style:{width:`150px`}},null,8,[`modelValue`]),h(v,{modelValue:L.date_to,"onUpdate:modelValue":d[3]||=e=>L.date_to=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`,style:{width:`150px`}},null,8,[`modelValue`]),h(b,{type:`primary`,onClick:q},{default:e(()=>[h(s(y),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),d[13]||=o(`查询 `,-1)]),_:1}),h(b,{onClick:J},{default:e(()=>[...d[14]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[16]||=m(`div`,{class:`flex items-center gap-2`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-semibold text-gray-700`},`健康指标记录`)],-1),h(b,{type:`primary`,onClick:Y},{default:e(()=>[h(s(y),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),d[15]||=o(`新增记录 `,-1)]),_:1})]),m(`div`,E,[l((n(),c(A,{data:j.value,style:{width:`100%`}},{default:e(()=>[h(x,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||`-`),1)]),_:1}),h(x,{label:`指标类型`,width:`110`,align:`center`},{default:e(({row:e})=>[o(a(V[e.metric_type]||e.metric_type||`-`),1)]),_:1}),h(x,{label:`指标值`,width:`130`,align:`center`},{default:e(({row:e})=>[m(`span`,D,a(e.value),1),m(`span`,O,a(e.unit),1)]),_:1}),h(x,{prop:`note`,label:`备注`,"min-width":`160`,"show-overflow-tooltip":``}),h(x,{prop:`created_by_name`,label:`记录人`,width:`100`}),h(x,{prop:`recorded_at`,label:`记录时间`,"min-width":`160`}),h(x,{label:`操作`,width:`80`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(b,{size:`small`,type:`danger`,text:``,onClick:e=>X(t)},{default:e(()=>[...d[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ne,N.value]])]),m(`div`,k,[h(H,{"current-page":R.page,"onUpdate:currentPage":d[4]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":d[5]||=e=>R.per_page=e,total:M.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Q,onSizeChange:$},null,8,[`current-page`,`page-size`,`total`])])]),h(te,{modelValue:P.value,"onUpdate:modelValue":d[12]||=e=>P.value=e,title:`新增健康指标`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(b,{onClick:d[11]||=e=>P.value=!1},{default:e(()=>[...d[18]||=[o(`取消`,-1)]]),_:1}),h(b,{type:`primary`,loading:F.value,onClick:Z},{default:e(()=>[...d[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ee,{ref_key:`formRef`,ref:z,model:B,rules:U,"label-width":`90px`},{default:e(()=>[h(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:B.customer_id,"onUpdate:modelValue":d[6]||=e=>B.customer_id=e,filterable:``,style:{width:`100%`},placeholder:`请选择客户`},{default:e(()=>[(n(!0),f(u,null,g(I.value,e=>(n(),c(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`指标类型`,prop:`metric_type`},{default:e(()=>[h(_,{modelValue:B.metric_type,"onUpdate:modelValue":d[7]||=e=>B.metric_type=e,style:{width:`100%`},onChange:W},{default:e(()=>[(n(),f(u,null,g(V,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`指标值`,prop:`value`},{default:e(()=>[h(K,{modelValue:B.value,"onUpdate:modelValue":d[8]||=e=>B.value=e,placeholder:`请输入数值`,style:{width:`100%`}},{append:e(()=>[o(a(B.unit||`单位`),1)]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`记录时间`,prop:`recorded_at`},{default:e(()=>[h(v,{modelValue:B.recorded_at,"onUpdate:modelValue":d[9]||=e=>B.recorded_at=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`请选择记录时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(G,{label:`备注`},{default:e(()=>[h(K,{modelValue:B.note,"onUpdate:modelValue":d[10]||=e=>B.note=e,type:`textarea`,rows:2,placeholder:`补充说明(可选)`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{A as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,_t as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as y}from"./iconify-f5JHLb1p.js";import{a as b}from"./care-BUQYu5B3.js";import{i as x}from"./crm-CvCW8IfR.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={class:`font-medium text-rose-600`},O={class:`text-xs text-gray-400 ml-1`},k={class:`px-5 py-3 border-t border-gray-50`},A={__name:`index`,setup(A){let j=d([]),M=d(0),N=d(!1),P=d(!1),F=d(!1),I=d([]),L=p({customer_id:``,metric_type:``,date_from:``,date_to:``}),R=p({page:1,per_page:20}),z=d(null),B=p({customer_id:``,metric_type:``,value:``,unit:``,recorded_at:``,note:``}),V={blood_pressure:`血压`,weight:`体重`,temperature:`体温`,heart_rate:`心率`,blood_sugar:`血糖`,lochia:`恶露`,fundus:`宫底高度`,other:`其他`},H={blood_pressure:`mmHg`,weight:`kg`,temperature:`°C`,heart_rate:`次/分`,blood_sugar:`mmol/L`,lochia:``,fundus:`cm`,other:``},U={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],metric_type:[{required:!0,message:`请选择指标类型`,trigger:`change`}],value:[{required:!0,message:`请输入指标值`,trigger:`blur`}],recorded_at:[{required:!0,message:`请选择记录时间`,trigger:`change`}]};function W(e){B.unit=H[e]||``}async function G(){N.value=!0;try{let e=await b.getList({...L,...R});j.value=e.data?.list||e.data?.data||[],M.value=e.data?.total||0}catch{v.error(`加载失败`)}finally{N.value=!1}}async function K(){try{let e=await x.getList({per_page:500,status:3});I.value=e.data?.list||e.data?.data||[]}catch{}}function q(){R.page=1,G()}function J(){Object.assign(L,{customer_id:``,metric_type:``,date_from:``,date_to:``}),q()}function Y(){Object.assign(B,{customer_id:``,metric_type:``,value:``,unit:``,recorded_at:``,note:``}),P.value=!0}function X(e){_.confirm(`确定删除该健康指标记录吗?`,`删除确认`,{type:`warning`}).then(()=>{j.value=j.value.filter(t=>t.id!==e.id),v.success(`已移除`)}).catch(()=>{})}async function Z(){z.value&&await z.value.validate(async e=>{if(e){F.value=!0;try{await b.create(B),v.success(`记录成功`),P.value=!1,G()}catch{v.error(`操作失败`)}finally{F.value=!1}}})}function Q(e){R.page=e,G()}function $(e){R.per_page=e,R.page=1,G()}return r(()=>{G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-date-picker`),b=i(`el-button`),x=i(`el-table-column`),A=i(`el-table`),H=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),ee=i(`el-form`),te=i(`el-dialog`),ne=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(_,{modelValue:L.customer_id,"onUpdate:modelValue":d[0]||=e=>L.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(I.value,e=>(n(),c(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:L.metric_type,"onUpdate:modelValue":d[1]||=e=>L.metric_type=e,placeholder:`指标类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),f(u,null,g(V,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{modelValue:L.date_from,"onUpdate:modelValue":d[2]||=e=>L.date_from=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`,style:{width:`150px`}},null,8,[`modelValue`]),h(v,{modelValue:L.date_to,"onUpdate:modelValue":d[3]||=e=>L.date_to=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`,style:{width:`150px`}},null,8,[`modelValue`]),h(b,{type:`primary`,onClick:q},{default:e(()=>[h(s(y),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),d[13]||=o(`查询 `,-1)]),_:1}),h(b,{onClick:J},{default:e(()=>[...d[14]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[16]||=m(`div`,{class:`flex items-center gap-2`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-semibold text-gray-700`},`健康指标记录`)],-1),h(b,{type:`primary`,onClick:Y},{default:e(()=>[h(s(y),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),d[15]||=o(`新增记录 `,-1)]),_:1})]),m(`div`,E,[l((n(),c(A,{data:j.value,style:{width:`100%`}},{default:e(()=>[h(x,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||`-`),1)]),_:1}),h(x,{label:`指标类型`,width:`110`,align:`center`},{default:e(({row:e})=>[o(a(V[e.metric_type]||e.metric_type||`-`),1)]),_:1}),h(x,{label:`指标值`,width:`130`,align:`center`},{default:e(({row:e})=>[m(`span`,D,a(e.value),1),m(`span`,O,a(e.unit),1)]),_:1}),h(x,{prop:`note`,label:`备注`,"min-width":`160`,"show-overflow-tooltip":``}),h(x,{prop:`created_by_name`,label:`记录人`,width:`100`}),h(x,{prop:`recorded_at`,label:`记录时间`,"min-width":`160`}),h(x,{label:`操作`,width:`80`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(b,{size:`small`,type:`danger`,text:``,onClick:e=>X(t)},{default:e(()=>[...d[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ne,N.value]])]),m(`div`,k,[h(H,{"current-page":R.page,"onUpdate:currentPage":d[4]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":d[5]||=e=>R.per_page=e,total:M.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Q,onSizeChange:$},null,8,[`current-page`,`page-size`,`total`])])]),h(te,{modelValue:P.value,"onUpdate:modelValue":d[12]||=e=>P.value=e,title:`新增健康指标`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(b,{onClick:d[11]||=e=>P.value=!1},{default:e(()=>[...d[18]||=[o(`取消`,-1)]]),_:1}),h(b,{type:`primary`,loading:F.value,onClick:Z},{default:e(()=>[...d[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ee,{ref_key:`formRef`,ref:z,model:B,rules:U,"label-width":`90px`},{default:e(()=>[h(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:B.customer_id,"onUpdate:modelValue":d[6]||=e=>B.customer_id=e,filterable:``,style:{width:`100%`},placeholder:`请选择客户`},{default:e(()=>[(n(!0),f(u,null,g(I.value,e=>(n(),c(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`指标类型`,prop:`metric_type`},{default:e(()=>[h(_,{modelValue:B.metric_type,"onUpdate:modelValue":d[7]||=e=>B.metric_type=e,style:{width:`100%`},onChange:W},{default:e(()=>[(n(),f(u,null,g(V,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`指标值`,prop:`value`},{default:e(()=>[h(K,{modelValue:B.value,"onUpdate:modelValue":d[8]||=e=>B.value=e,placeholder:`请输入数值`,style:{width:`100%`}},{append:e(()=>[o(a(B.unit||`单位`),1)]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`记录时间`,prop:`recorded_at`},{default:e(()=>[h(v,{modelValue:B.recorded_at,"onUpdate:modelValue":d[9]||=e=>B.recorded_at=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`请选择记录时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(G,{label:`备注`},{default:e(()=>[h(K,{modelValue:B.note,"onUpdate:modelValue":d[10]||=e=>B.note=e,type:`textarea`,rows:2,placeholder:`补充说明(可选)`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{A as default}; \ No newline at end of file diff --git a/frontend/dist/assets/hr-CYqLK_6c.js b/frontend/dist/assets/hr-BpuQE_Km.js similarity index 93% rename from frontend/dist/assets/hr-CYqLK_6c.js rename to frontend/dist/assets/hr-BpuQE_Km.js index 1dac53c..d1bbd9e 100644 --- a/frontend/dist/assets/hr-CYqLK_6c.js +++ b/frontend/dist/assets/hr-BpuQE_Km.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/hr/profiles`,{params:t}),getDetail:t=>e.get(`/hr/profiles/${t}`),create:t=>e.post(`/hr/profiles`,t),update:(t,n)=>e.put(`/hr/profiles/${t}`,n),delete:t=>e.delete(`/hr/profiles/${t}`)},n={getList:t=>e.get(`/hr/schedules`,{params:t}),create:t=>e.post(`/hr/schedules`,t)},r={getList:t=>e.get(`/hr/attendances`,{params:t}),create:t=>e.post(`/hr/attendances`,t),clockIn:()=>e.post(`/hr/attendances/clock-in`),clockOut:()=>e.post(`/hr/attendances/clock-out`)},i={getList:t=>e.get(`/hr/leaves`,{params:t}),getDetail:t=>e.get(`/hr/leaves/${t}`),create:t=>e.post(`/hr/leaves`,t),update:(t,n)=>e.put(`/hr/leaves/${t}`,n),delete:t=>e.delete(`/hr/leaves/${t}`),audit:(t,n)=>e.put(`/hr/leaves/${t}/audit`,n)},a={getList:t=>e.get(`/hr/salaries`,{params:t}),getDetail:t=>e.get(`/hr/salaries/${t}`),create:t=>e.post(`/hr/salaries`,t),update:(t,n)=>e.put(`/hr/salaries/${t}`,n),delete:t=>e.delete(`/hr/salaries/${t}`),confirm:t=>e.put(`/hr/salaries/${t}/confirm`),pay:t=>e.put(`/hr/salaries/${t}/pay`)};export{n as a,a as i,t as n,i as r,r as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/hr/profiles`,{params:t}),getDetail:t=>e.get(`/hr/profiles/${t}`),create:t=>e.post(`/hr/profiles`,t),update:(t,n)=>e.put(`/hr/profiles/${t}`,n),delete:t=>e.delete(`/hr/profiles/${t}`)},n={getList:t=>e.get(`/hr/schedules`,{params:t}),create:t=>e.post(`/hr/schedules`,t)},r={getList:t=>e.get(`/hr/attendances`,{params:t}),create:t=>e.post(`/hr/attendances`,t),clockIn:()=>e.post(`/hr/attendances/clock-in`),clockOut:()=>e.post(`/hr/attendances/clock-out`)},i={getList:t=>e.get(`/hr/leaves`,{params:t}),getDetail:t=>e.get(`/hr/leaves/${t}`),create:t=>e.post(`/hr/leaves`,t),update:(t,n)=>e.put(`/hr/leaves/${t}`,n),delete:t=>e.delete(`/hr/leaves/${t}`),audit:(t,n)=>e.put(`/hr/leaves/${t}/audit`,n)},a={getList:t=>e.get(`/hr/salaries`,{params:t}),getDetail:t=>e.get(`/hr/salaries/${t}`),create:t=>e.post(`/hr/salaries`,t),update:(t,n)=>e.put(`/hr/salaries/${t}`,n),delete:t=>e.delete(`/hr/salaries/${t}`),confirm:t=>e.put(`/hr/salaries/${t}/confirm`),pay:t=>e.put(`/hr/salaries/${t}/pay`)};export{n as a,a as i,t as n,i as r,r as t}; \ No newline at end of file diff --git a/frontend/dist/assets/index-ZRE77JpD.js b/frontend/dist/assets/index-3YculFMX.js similarity index 99% rename from frontend/dist/assets/index-ZRE77JpD.js rename to frontend/dist/assets/index-3YculFMX.js index 6f6d676..5f82100 100644 --- a/frontend/dist/assets/index-ZRE77JpD.js +++ b/frontend/dist/assets/index-3YculFMX.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/login-yCCWUWEu.js","assets/iconify-f5JHLb1p.js","assets/runtime-core.esm-bundler-DbRZbT7v.js","assets/user-DwrZIuIR.js","assets/request-C_vMs8Bs.js","assets/axios-Cty4xAHp.js","assets/register-DkbZcE0x.js","assets/404-BTD8CAKp.js","assets/404-lb1dpT3n.css","assets/permission-Dd6fKlgM.js","assets/preload-helper-DSXbuxSR.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/login-ChQUh91H.js","assets/iconify-f5JHLb1p.js","assets/runtime-core.esm-bundler-DbRZbT7v.js","assets/user-BFl2lhly.js","assets/request-DD5g7hLU.js","assets/axios-M7beJlyD.js","assets/register-CDFAtgib.js","assets/404-F8BsopE3.js","assets/404-lb1dpT3n.css","assets/permission-CF2X1nKp.js","assets/preload-helper-DSXbuxSR.js"])))=>i.map(i=>d[i]); import{$ as e,A as t,At as n,B as r,Bt as i,C as a,Ct as o,D as s,Dt as c,E as l,Et as u,F as d,Ft as f,G as p,Gt as m,H as h,Ht as g,I as _,It as v,J as y,K as b,Kt as x,L as S,Lt as C,M as w,Mt as T,N as E,Nt as D,O,Ot as k,P as A,Pt as j,Q as M,R as N,Rt as ee,S as te,St as ne,T as P,Tt as re,U as F,Ut as I,V as ie,Vt as L,W as ae,Wt as R,X as oe,Y as se,Z as z,_ as ce,_t as B,a as le,at as ue,b as de,bt as fe,c as pe,ct as me,d as V,dt as he,et as ge,f as H,ft as _e,gt as ve,h as ye,ht as be,i as xe,it as Se,j as Ce,jt as we,k as Te,kt as Ee,l as U,lt as W,m as De,mt as Oe,n as ke,nt as Ae,o as je,ot as Me,p as G,pt as Ne,q as Pe,r as Fe,rt as Ie,s as Le,st as Re,t as ze,tt as Be,u as K,ut as Ve,v as q,vt as He,w as Ue,wt as We,x as Ge,xt as Ke,y as J,yt as qe,z as Je,zt as Ye}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{t as Xe}from"./preload-helper-DSXbuxSR.js";var Ze=Object.create,Qe=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,et=Object.getOwnPropertyNames,tt=Object.getPrototypeOf,nt=Object.prototype.hasOwnProperty,rt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),it=(e,t)=>{let n={};for(var r in e)Qe(n,r,{get:e[r],enumerable:!0});return t||Qe(n,Symbol.toStringTag,{value:`Module`}),n},at=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=et(t),a=0,o=i.length,s;at[e]).bind(null,s),enumerable:!(r=$e(t,s))||r.enumerable});return e},ot=(e,t,n)=>(n=e==null?{}:Ze(tt(e)),at(t||!e||!e.__esModule?Qe(n,`default`,{value:e,enumerable:!0}):n,e));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var st=void 0,ct=typeof window<`u`&&window.trustedTypes;if(ct)try{st=ct.createPolicy(`vue`,{createHTML:e=>e})}catch{}var lt=st?e=>st.createHTML(e):e=>e,ut=`http://www.w3.org/2000/svg`,dt=`http://www.w3.org/1998/Math/MathML`,ft=typeof document<`u`?document:null,pt=ft&&ft.createElement(`template`),mt={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?ft.createElementNS(ut,e):t===`mathml`?ft.createElementNS(dt,e):n?ft.createElement(e,{is:n}):ft.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>ft.createTextNode(e),createComment:e=>ft.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ft.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{pt.innerHTML=lt(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=pt.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ht=`transition`,gt=`animation`,_t=Symbol(`_vtc`),vt={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},yt=Ke({},ke,vt),bt=(e=>(e.displayName=`Transition`,e.props=yt,e))((e,{slots:t})=>a(ze,Ct(e),t)),xt=(e,t=[])=>{u(e)?e.forEach(e=>e(...t)):e&&e(...t)},St=e=>e?u(e)?e.some(e=>e.length>1):e.length>1:!1;function Ct(e){let t={};for(let n in e)n in vt||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=wt(i),h=m&&m[0],g=m&&m[1],{onBeforeEnter:_,onEnter:v,onEnterCancelled:y,onLeave:b,onLeaveCancelled:x,onBeforeAppear:S=_,onAppear:C=v,onAppearCancelled:w=y}=t,T=(e,t,n,r)=>{e._enterCancelled=r,Dt(e,t?u:s),Dt(e,t?l:o),n&&n()},E=(e,t)=>{e._isLeaving=!1,Dt(e,d),Dt(e,p),Dt(e,f),t&&t()},D=e=>(t,n)=>{let i=e?C:v,o=()=>T(t,e,n);xt(i,[t,o]),Ot(()=>{Dt(t,e?c:a),Et(t,e?u:s),St(i)||At(t,r,h,o)})};return Ke(t,{onBeforeEnter(e){xt(_,[e]),Et(e,a),Et(e,o)},onBeforeAppear(e){xt(S,[e]),Et(e,c),Et(e,l)},onEnter:D(!1),onAppear:D(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>E(e,t);Et(e,d),e._enterCancelled?(Et(e,f),Pt(e)):(Pt(e),Et(e,f)),Ot(()=>{e._isLeaving&&(Dt(e,d),Et(e,p),St(b)||At(e,r,g,n))}),xt(b,[e,n])},onEnterCancelled(e){T(e,!1,void 0,!0),xt(y,[e])},onAppearCancelled(e){T(e,!0,void 0,!0),xt(w,[e])},onLeaveCancelled(e){E(e),xt(x,[e])}})}function wt(e){if(e==null)return null;if(n(e))return[Tt(e.enter),Tt(e.leave)];{let t=Tt(e);return[t,t]}}function Tt(e){return x(e)}function Et(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[_t]||(e[_t]=new Set)).add(t)}function Dt(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[_t];n&&(n.delete(t),n.size||(e[_t]=void 0))}function Ot(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var kt=0;function At(e,t,n,r){let i=e._endId=++kt,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=jt(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${ht}Delay`),a=r(`${ht}Duration`),o=Mt(i,a),s=r(`${gt}Delay`),c=r(`${gt}Duration`),l=Mt(s,c),u=null,d=0,f=0;t===ht?o>0&&(u=ht,d=o,f=a.length):t===gt?l>0&&(u=gt,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?ht:gt:null,f=u?u===ht?a.length:c.length:0);let p=u===ht&&/\b(?:transform|all)(?:,|$)/.test(r(`${ht}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Mt(e,t){for(;e.lengthNt(t)+Nt(e[n])))}function Nt(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Pt(e){return(e?e.ownerDocument:document).body.offsetHeight}function Ft(e,t,n){let r=e[_t];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var It=Symbol(`_vod`),Lt=Symbol(`_vsh`),Rt={name:`show`,beforeMount(e,{value:t},{transition:n}){e[It]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):zt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),zt(e,!0),r.enter(e)):r.leave(e,()=>{zt(e,!1)}):zt(e,t))},beforeUnmount(e,{value:t}){zt(e,t)}};function zt(e,t){e.style.display=t?e[It]:`none`,e[Lt]=!t}var Bt=Symbol(``),Vt=/(?:^|;)\s*display\s*:/;function Ht(e,t,n){let r=e.style,i=v(n),a=!1;if(n&&!i){if(t)if(v(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Wt(r,t,``)}else for(let e in t)n[e]??Wt(r,e,``);for(let e in n)e===`display`&&(a=!0),Wt(r,e,n[e])}else if(i){if(t!==n){let e=r[Bt];e&&(n+=`;`+e),r.cssText=n,a=Vt.test(n)}}else t&&e.removeAttribute(`style`);It in e&&(e[It]=a?r.display:``,e[Lt]&&(r.display=`none`))}var Ut=/\s*!important$/;function Wt(e,t,n){if(u(n))n.forEach(n=>Wt(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=qt(e,t);Ut.test(n)?e.setProperty(o(r),n.replace(Ut,``),`important`):e[r]=n}}var Gt=[`Webkit`,`Moz`,`ms`],Kt={};function qt(e,t){let n=Kt[t];if(n)return n;let r=qe(t);if(r!==`filter`&&r in e)return Kt[t]=r;r=fe(r);for(let n=0;nrn||=(an.then(()=>rn=0),Date.now());function sn(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;Le(cn(e,n.value),t,5,[e])};return n.value=e,n.attached=on(),n}function cn(e,t){if(u(t)){let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}else return t}var ln=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,un=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Ft(e,r,o):t===`style`?Ht(e,n,r):we(t)?Ee(t)||en(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):dn(e,t,r,o))?(Xt(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Yt(e,t,r,o,a,t!==`value`)):e._isVueCE&&(fn(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!v(r)))?Xt(e,qe(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Yt(e,t,r,o))};function dn(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&ln(t)&&k(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return ln(t)&&v(n)?!1:t in e}function fn(e,t){let n=e._def.props;if(!n)return!1;let r=qe(t);return Array.isArray(n)?n.some(e=>qe(e)===r):Object.keys(n).some(e=>qe(e)===r)}var pn=new WeakMap,mn=new WeakMap,hn=Symbol(`_moveCb`),gn=Symbol(`_enterCb`),_n=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:Ke({},yt,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=de(),r=se(),i,a;return _(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Sn(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(vn),i.forEach(yn);let r=i.filter(bn);Pt(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Et(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[hn]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[hn]=null,Dt(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=_e(e),s=Ct(o),c=o.tag||xe;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=jt(r);return a.removeChild(r),o}var Cn=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return u(t)?e=>re(t,e):t};function wn(e){e.target.composing=!0}function Tn(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var En=Symbol(`_assign`);function Dn(e,t,n){return t&&(e=e.trim()),n&&(e=i(e)),e}var On={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[En]=Cn(i);let a=r||i.props&&i.props.type===`number`;Zt(e,t?`change`:`input`,t=>{t.target.composing||e[En](Dn(e.value,n,a))}),(n||a)&&Zt(e,`change`,()=>{e.value=Dn(e.value,n,a)}),t||(Zt(e,`compositionstart`,wn),Zt(e,`compositionend`,Tn),Zt(e,`change`,Tn))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:a,number:o}},s){if(e[En]=Cn(s),e.composing)return;let c=(o||e.type===`number`)&&!/^0\d/.test(e.value)?i(e.value):e.value,l=t??``;c!==l&&(document.activeElement===e&&e.type!==`range`&&(r&&t===n||a&&e.value.trim()===l)||(e.value=l))}},kn={deep:!0,created(e,t,n){e[En]=Cn(n),Zt(e,`change`,()=>{let t=e._modelValue,n=Mn(e),r=e.checked,i=e[En];if(u(t)){let e=Ye(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(j(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(Nn(e,r))})},mounted:An,beforeUpdate(e,t,n){e[En]=Cn(n),An(e,t,n)}};function An(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(u(t))i=Ye(t,r.props.value)>-1;else if(j(t))i=t.has(r.props.value);else{if(t===n)return;i=ee(t,Nn(e,!0))}e.checked!==i&&(e.checked=i)}var jn={created(e,{value:t},n){e.checked=ee(t,n.props.value),e[En]=Cn(n),Zt(e,`change`,()=>{e[En](Mn(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[En]=Cn(r),t!==n&&(e.checked=ee(t,r.props.value))}};function Mn(e){return`_value`in e?e._value:e.value}function Nn(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var Pn=[`ctrl`,`shift`,`alt`,`meta`],Fn={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Pn.some(n=>e[`${n}Key`]&&!t.includes(n))},In=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=o(n.key);if(t.some(e=>e===r||Ln[e]===r))return e(n)}))},zn=Ke({patchProp:un},mt),Bn;function Vn(){return Bn||=De(zn)}var Hn=((...e)=>{Vn().render(...e)}),Un=((...e)=>{let t=Vn().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Gn(e);if(!r)return;let i=t._component;!k(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Wn(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function Wn(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Gn(e){return v(e)?document.querySelector(e):e}var Y={tab:`Tab`,enter:`Enter`,space:`Space`,left:`ArrowLeft`,up:`ArrowUp`,right:`ArrowRight`,down:`ArrowDown`,esc:`Escape`,delete:`Delete`,backspace:`Backspace`,numpadEnter:`NumpadEnter`,pageUp:`PageUp`,pageDown:`PageDown`,home:`Home`,end:`End`},Kn=[`year`,`years`,`month`,`months`,`date`,`dates`,`week`,`datetime`,`datetimerange`,`daterange`,`monthrange`,`yearrange`],qn=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`],Jn=`update:modelValue`,Yn=`change`,Xn=`input`,Zn=Symbol(`INSTALLED_KEY`),Qn=[``,`default`,`small`,`large`],$n=[`left`,`center`,`right`],er=typeof global==`object`&&global&&global.Object===Object&&global,tr=typeof self==`object`&&self&&self.Object===Object&&self,nr=er||tr||Function(`return this`)(),rr=nr.Symbol,ir=Object.prototype,ar=ir.hasOwnProperty,or=ir.toString,sr=rr?rr.toStringTag:void 0;function cr(e){var t=ar.call(e,sr),n=e[sr];try{e[sr]=void 0;var r=!0}catch{}var i=or.call(e);return r&&(t?e[sr]=n:delete e[sr]),i}var lr=Object.prototype.toString;function ur(e){return lr.call(e)}var dr=`[object Null]`,fr=`[object Undefined]`,pr=rr?rr.toStringTag:void 0;function mr(e){return e==null?e===void 0?fr:dr:pr&&pr in Object(e)?cr(e):ur(e)}function hr(e){return typeof e==`object`&&!!e}var gr=`[object Symbol]`;function _r(e){return typeof e==`symbol`||hr(e)&&mr(e)==gr}function vr(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=fi)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function gi(e){return function(){return e}}var _i=function(){try{var e=ai(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),vi=hi(_i?function(e,t){return _i(e,`toString`,{configurable:!0,enumerable:!1,value:gi(t),writable:!0})}:zr);function yi(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var Ti=9007199254740991,Ei=/^(?:0|[1-9]\d*)$/;function Di(e,t){var n=typeof e;return t??=Ti,!!t&&(n==`number`||n!=`symbol`&&Ei.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Ii}function Ri(e){return e!=null&&Li(e.length)&&!Wr(e)}function zi(e,t,n){if(!Or(n))return!1;var r=typeof t;return(r==`number`?Ri(n)&&Di(t,n.length):r==`string`&&t in n)?ki(n[t],e):!1}function Bi(e){return Fi(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&zi(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r-1}function fo(e,t){var n=this.__data__,r=oo(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function po(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(s)?t>1?zo(s,t-1,n,r,i):Io(i,s):r||(i[i.length]=s)}return i}function Bo(e){return e!=null&&e.length?zo(e,1):[]}function Vo(e){return vi(Pi(e,void 0,Bo),e+``)}var Ho=Ia(Object.getPrototypeOf,Object),Uo=`[object Object]`,Wo=Function.prototype,Go=Object.prototype,Ko=Wo.toString,qo=Go.hasOwnProperty,Jo=Ko.call(Object);function Yo(e){if(!hr(e)||mr(e)!=Uo)return!1;var t=Ho(e);if(t===null)return!0;var n=qo.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&Ko.call(n)==Jo}function Xo(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r=t?e:t)),e}function $o(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=Pr(n),n=n===n?n:0),t!==void 0&&(t=Pr(t),t=t===t?t:0),Qo(Pr(e),t,n)}function es(){this.__data__=new po,this.size=0}function ts(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function ns(e){return this.__data__.get(e)}function rs(e){return this.__data__.has(e)}var is=200;function as(e,t){var n=this.__data__;if(n instanceof po){var r=n.__data__;if(!mo||r.lengths))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&ml?new ul:void 0;for(a.set(e,t),a.set(t,e);++d=t||n<0||d&&r>=a}function _(){var e=fu();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(fu())}function x(){var e=fu(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}function _u(e,t,n){(n!==void 0&&!ki(e[t],n)||n===void 0&&!(t in e))&&Oi(e,t,n)}function vu(e){return hr(e)&&Ri(e)}function yu(e,t){if(!(t===`constructor`&&typeof e[t]==`function`)&&t!=`__proto__`)return e[t]}function bu(e){return Mi(e,Wa(e))}function xu(e,t,n,r,i,a,o){var s=yu(e,n),c=yu(t,n),l=o.get(c);if(l){_u(e,n,l);return}var u=a?a(s,c,n+``,e,t,o):void 0,d=u===void 0;if(d){var f=yr(c),p=!f&&ea(c),m=!f&&!p&&Na(c);u=c,f||p||m?yr(s)?u=s:vu(s)?u=di(s):p?(d=!1,u=ps(c,!0)):m?(d=!1,u=Zs(c,!0)):u=[]:Yo(c)||Yi(c)?(u=s,Yi(s)?u=bu(s):(!Or(s)||Wr(s))&&(u=vc(c))):d=!1}d&&(o.set(c,u),i(u,c,r,a,o),o.delete(c)),_u(e,n,u)}function Su(e,t,n,r,i){e!==t&&cu(t,function(a,o){if(i||=new os,Or(a))xu(e,t,o,n,Su,r,i);else{var s=r?r(yu(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),_u(e,o,s)}},Wa)}function Cu(e,t,n){for(var r=-1,i=e==null?0:e.length;++r1,t}),Mi(e,ws(e),n),r&&(n=rl(n,Uu|Wu|Gu,Hu));for(var i=t.length;i--;)Vu(n,t[i]);return n});function qu(e,t,n,r){if(!Or(e))return e;t=jo(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i=td){var l=t?null:ed(e);if(l)return _l(l);o=!1,i=fl,c=new ul}else c=t?[]:s;outer:for(;++re===void 0,ad=e=>typeof e==`boolean`,od=e=>typeof e==`number`,sd=e=>!e&&e!==0||u(e)&&e.length===0||n(e)&&!Object.keys(e).length,cd=e=>typeof Element>`u`?!1:e instanceof Element,ld=e=>Iu(e),ud=e=>v(e)?!Number.isNaN(Number(e)):!1,dd=e=>e===window,fd=e=>Object.keys(e),pd=e=>Object.entries(e),md=(e,t,n)=>({get value(){return Fo(e,t,n)},set value(n){Zu(e,t,n)}}),hd=`__epPropKey`,X=e=>e,gd=e=>n(e)&&!!e.__epPropKey,_d=(e,t)=>{if(!n(e)||gd(e))return e;let{values:r,required:i,default:a,type:o,validator:s}=e,c={type:o,required:!!i,validator:r||s?n=>{let i=!1,o=[];if(r&&(o=Array.from(r),ne(e,`default`)&&o.push(a),i||=o.includes(n)),s&&(i||=s(n)),!i&&o.length>0){let e=[...new Set(o)].map(e=>JSON.stringify(e)).join(`, `);oe(`Invalid prop: validation failed${t?` for prop "${t}"`:``}. Expected one of [${e}], got value ${JSON.stringify(n)}.`)}return i}:void 0,[hd]:!0};return ne(e,`default`)&&(c.default=a),c},Z=e=>Nu(Object.entries(e).map(([e,t])=>[e,_d(t,e)])),vd=Z({to:{type:X([String,Object]),required:!0},disabled:Boolean}),yd=Z({zIndex:{type:X([Number,String]),default:100},target:{type:String,default:``},offset:{type:Number,default:0},position:{type:String,values:[`top`,`bottom`],default:`top`},teleported:Boolean,appendTo:{type:vd.to.type,default:`body`}}),bd={scroll:({scrollTop:e,fixed:t})=>od(e)&&ad(t),[Yn]:e=>ad(e)},xd=class extends Error{constructor(e){super(e),this.name=`ElementPlusError`}};function Sd(e,t){throw new xd(`[${e}] ${t}`)}function Cd(e,t){{let n=v(e)?new xd(`[${e}] ${t}`):e;console.warn(n)}}var wd=[`class`,`style`],Td=/^on[A-Z]/,Ed=(e={})=>{let{excludeListeners:t=!1,excludeKeys:n}=e,r=U(()=>(n?.value||[]).concat(wd)),i=de();return i?U(()=>Nu(Object.entries(i.proxy?.$attrs).filter(([e])=>!r.value.includes(e)&&!(t&&Td.test(e))))):(Cd(`use-attrs`,`getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function`),U(()=>({})))};function Dd(e,t){let n=he();return M(()=>{n.value=e()},{...t,flush:t?.flush??`sync`}),me(n)}function Od(e){return Ae()?(Me(e),!0):!1}function kd(e){return typeof e==`function`?e():B(e)}function Ad(e){return Se(e)?Re(new Proxy({},{get(t,n,r){return B(Reflect.get(e.value,n,r))},set(t,n,r){return Se(e.value[n])&&!Se(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}})):Re(e)}function jd(e){return Ad(U(e))}var Md=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Nd=e=>e!==void 0,Pd=e=>e!=null,Fd=Object.prototype.toString,Id=e=>Fd.call(e)===`[object Object]`,Ld=(e,t,n)=>Math.min(n,Math.max(t,e)),Rd=()=>{},zd=Bd();function Bd(){return Md&&(window==null?void 0:window.navigator)?.userAgent&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||(window==null?void 0:window.navigator)?.maxTouchPoints>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Vd(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}function Hd(e,t={}){let n,r,i=Rd,a=e=>{clearTimeout(e),i(),i=Rd};return o=>{let s=kd(e),c=kd(t.maxWait);return n&&a(n),s<=0||c!==void 0&&c<=0?(r&&=(a(r),null),Promise.resolve(o())):new Promise((e,l)=>{i=t.rejectOnCancel?l:e,c&&!r&&(r=setTimeout(()=>{n&&a(n),r=null,e(o())},c)),n=setTimeout(()=>{r&&a(r),r=null,e(o())},s)})}}function Ud(...e){let t=0,n,r=!0,i=Rd,a,o,s,c,l;!Se(e[0])&&typeof e[0]==`object`?{delay:o,trailing:s=!0,leading:c=!0,rejectOnCancel:l=!1}=e[0]:[o,s=!0,c=!0,l=!1]=e;let u=()=>{n&&(clearTimeout(n),n=void 0,i(),i=Rd)};return e=>{let d=kd(o),f=Date.now()-t,p=()=>a=e();return u(),d<=0?(t=Date.now(),p()):(f>d&&(c||!r)?(t=Date.now(),p()):s&&(a=new Promise((e,a)=>{i=l?a:e,n=setTimeout(()=>{t=Date.now(),r=!0,e(p()),u()},Math.max(0,d-f))})),!c&&!n&&(n=setTimeout(()=>r=!0,d)),r=!1,a)}}function Wd(e){return e||de()}function Gd(e,t=200,n={}){return Vd(Hd(t,n),e)}function Kd(e,t=200,n={}){let r=W(e.value),i=Gd(()=>{r.value=e.value},t,n);return z(e,()=>i()),r}function qd(e,t=200,n=!1,r=!0,i=!1){return Vd(Ud(t,n,r,i),e)}function Jd(e,t=!0,n){Wd()?A(e,n):t?e():O(e)}function Yd(e,t,n={}){let{immediate:r=!0}=n,i=W(!1),a=null;function o(){a&&=(clearTimeout(a),null)}function s(){i.value=!1,o()}function c(...n){o(),i.value=!0,a=setTimeout(()=>{i.value=!1,a=null,e(...n)},kd(t))}return r&&(i.value=!0,Md&&c()),Od(s),{isPending:me(i),start:c,stop:s}}var Xd=Md?window:void 0,Zd=Md?window.document:void 0;Md&&window.navigator,Md&&window.location;function Qd(e){let t=kd(e);return t?.$el??t}function $d(...e){let t,n,r,i;if(typeof e[0]==`string`||Array.isArray(e[0])?([n,r,i]=e,t=Xd):[t,n,r,i]=e,!t)return Rd;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);let a=[],o=()=>{a.forEach(e=>e()),a.length=0},s=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),c=z(()=>[Qd(t),kd(i)],([e,t])=>{if(o(),!e)return;let i=Id(t)?{...t}:t;a.push(...n.flatMap(t=>r.map(n=>s(e,t,n,i))))},{immediate:!0,flush:`post`}),l=()=>{c(),o()};return Od(l),l}var ef=!1;function tf(e,t,n={}){let{window:r=Xd,ignore:i=[],capture:a=!0,detectIframe:o=!1}=n;if(!r)return Rd;zd&&!ef&&(ef=!0,Array.from(r.document.body.children).forEach(e=>e.addEventListener(`click`,Rd)),r.document.documentElement.addEventListener(`click`,Rd));let s=!0,c=e=>kd(i).some(t=>{if(typeof t==`string`)return Array.from(r.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{let n=Qd(t);return n&&(e.target===n||e.composedPath().includes(n))}});function l(e){let t=kd(e);return t&&t.$.subTree.shapeFlag===16}function u(e,t){let n=kd(e),r=n.$.subTree&&n.$.subTree.children;return r==null||!Array.isArray(r)?!1:r.some(e=>e.el===t.target||t.composedPath().includes(e.el))}let d=n=>{let r=Qd(e);if(n.target!=null&&!(!(r instanceof Element)&&l(e)&&u(e,n))&&!(!r||r===n.target||n.composedPath().includes(r))){if(n.detail===0&&(s=!c(n)),!s){s=!0;return}t(n)}},f=!1,p=[$d(r,`click`,e=>{f||(f=!0,setTimeout(()=>{f=!1},0),d(e))},{passive:!0,capture:a}),$d(r,`pointerdown`,t=>{let n=Qd(e);s=!c(t)&&!!(n&&!t.composedPath().includes(n))},{passive:!0}),o&&$d(r,`blur`,n=>{setTimeout(()=>{let i=Qd(e);r.document.activeElement?.tagName===`IFRAME`&&!i?.contains(r.document.activeElement)&&t(n)},0)})].filter(Boolean);return()=>p.forEach(e=>e())}function nf(){let e=W(!1),t=de();return t&&A(()=>{e.value=!0},t),e}function rf(e){let t=nf();return U(()=>(t.value,!!e()))}function af(e,t,n={}){let{window:r=Xd,...i}=n,a,o=rf(()=>r&&`MutationObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=U(()=>{let t=kd(e),n=(Array.isArray(t)?t:[t]).map(Qd).filter(Pd);return new Set(n)}),l=z(()=>c.value,e=>{s(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),u=()=>a?.takeRecords(),d=()=>{l(),s()};return Od(d),{isSupported:o,stop:d,takeRecords:u}}function of(e={}){let{window:t=Xd,deep:n=!0,triggerOnRemoval:r=!1}=e,i=e.document??t?.document,a=()=>{let e=i?.activeElement;if(n)for(;e?.shadowRoot;)e=e?.shadowRoot?.activeElement;return e},o=W(),s=()=>{o.value=a()};return t&&($d(t,`blur`,e=>{e.relatedTarget===null&&s()},!0),$d(t,`focus`,s,!0)),r&&af(i,e=>{e.filter(e=>e.removedNodes.length).map(e=>Array.from(e.removedNodes)).flat().forEach(e=>{e===o.value&&s()})},{childList:!0,subtree:!0}),s(),o}function sf(e,t={}){let{window:n=Xd}=t,r=rf(()=>n&&`matchMedia`in n&&typeof n.matchMedia==`function`),i,a=W(!1),o=e=>{a.value=e.matches},s=()=>{i&&(`removeEventListener`in i?i.removeEventListener(`change`,o):i.removeListener(o))},c=M(()=>{r.value&&(s(),i=n.matchMedia(kd(e)),`addEventListener`in i?i.addEventListener(`change`,o):i.addListener(o),a.value=i.matches)});return Od(()=>{c(),s(),i=void 0}),a}function cf(e){return JSON.parse(JSON.stringify(e))}function lf(e,t,n={}){let{window:r=Xd,initialValue:i,observe:a=!1}=n,o=W(i),s=U(()=>Qd(t)||r?.document?.documentElement);function c(){let t=kd(e),n=kd(s);n&&r&&t&&(o.value=r.getComputedStyle(n).getPropertyValue(t)?.trim()||i)}return a&&af(s,c,{attributeFilter:[`style`,`class`],window:r}),z([s,()=>kd(e)],(e,t)=>{t[0]&&t[1]&&t[0].style.removeProperty(t[1]),c()},{immediate:!0}),z(o,t=>{let n=kd(e);s.value?.style&&n&&(t==null?s.value.style.removeProperty(n):s.value.style.setProperty(n,t))}),o}function uf(e={}){let{document:t=Zd}=e;if(!t)return W(`visible`);let n=W(t.visibilityState);return $d(t,`visibilitychange`,()=>{n.value=t.visibilityState}),n}function df(e,t,n={}){let{window:r=Xd,...i}=n,a,o=rf(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=z(U(()=>{let t=kd(e);return Array.isArray(t)?t.map(e=>Qd(e)):[Qd(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),l=()=>{s(),c()};return Od(l),{isSupported:o,stop:l}}function ff(e,t={}){let{reset:n=!0,windowResize:r=!0,windowScroll:i=!0,immediate:a=!0,updateTiming:o=`sync`}=t,s=W(0),c=W(0),l=W(0),u=W(0),d=W(0),f=W(0),p=W(0),m=W(0);function h(){let t=Qd(e);if(!t){n&&(s.value=0,c.value=0,l.value=0,u.value=0,d.value=0,f.value=0,p.value=0,m.value=0);return}let r=t.getBoundingClientRect();s.value=r.height,c.value=r.bottom,l.value=r.left,u.value=r.right,d.value=r.top,f.value=r.width,p.value=r.x,m.value=r.y}function g(){o===`sync`?h():o===`next-frame`&&requestAnimationFrame(()=>h())}return df(e,g),z(()=>Qd(e),e=>!e&&g()),af(e,g,{attributeFilter:[`style`,`class`]}),i&&$d(`scroll`,g,{capture:!0,passive:!0}),r&&$d(`resize`,g,{passive:!0}),Jd(()=>{a&&g()}),{height:s,bottom:c,left:l,right:u,top:d,width:f,x:p,y:m,update:g}}function pf(e,t={width:0,height:0},n={}){let{window:r=Xd,box:i=`content-box`}=n,a=U(()=>(Qd(e)?.namespaceURI)?.includes(`svg`)),o=W(t.width),s=W(t.height),{stop:c}=df(e,([t])=>{let n=i===`border-box`?t.borderBoxSize:i===`content-box`?t.contentBoxSize:t.devicePixelContentBoxSize;if(r&&a.value){let t=Qd(e);if(t){let e=t.getBoundingClientRect();o.value=e.width,s.value=e.height}}else if(n){let e=Array.isArray(n)?n:[n];o.value=e.reduce((e,{inlineSize:t})=>e+t,0),s.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,s.value=t.contentRect.height},n);Jd(()=>{let n=Qd(e);n&&(o.value=`offsetWidth`in n?n.offsetWidth:t.width,s.value=`offsetHeight`in n?n.offsetHeight:t.height)});let l=z(()=>Qd(e),e=>{o.value=e?t.width:0,s.value=e?t.height:0});function u(){c(),l()}return{width:o,height:s,stop:u}}function mf(e,t,n={}){let{root:r,rootMargin:i=`0px`,threshold:a=0,window:o=Xd,immediate:s=!0}=n,c=rf(()=>o&&`IntersectionObserver`in o),l=U(()=>{let t=kd(e);return(Array.isArray(t)?t:[t]).map(Qd).filter(Pd)}),u=Rd,d=W(s),f=c.value?z(()=>[l.value,Qd(r),d.value],([e,n])=>{if(u(),!d.value||!e.length)return;let r=new IntersectionObserver(t,{root:Qd(n),rootMargin:i,threshold:a});e.forEach(e=>e&&r.observe(e)),u=()=>{r.disconnect(),u=Rd}},{immediate:s,flush:`post`}):Rd,p=()=>{u(),f(),d.value=!1};return Od(p),{isSupported:c,isActive:d,pause(){u(),d.value=!1},resume(){d.value=!0},stop:p}}function hf(e,t,n,r={}){let{clone:i=!1,passive:a=!1,eventName:o,deep:s=!1,defaultValue:c,shouldEmit:l}=r,u=de(),d=n||u?.emit||(u?.$emit)?.bind(u)||(u?.proxy?.$emit)?.bind(u?.proxy),f=o;t||=`modelValue`,f||=`update:${t.toString()}`;let p=e=>i?typeof i==`function`?i(e):cf(e):e,m=()=>Nd(e[t])?p(e[t]):c,h=e=>{l?l(e)&&d(f,e):d(f,e)};if(a){let n=W(m()),r=!1;return z(()=>e[t],e=>{r||(r=!0,n.value=p(e),O(()=>r=!1))}),z(n,n=>{!r&&(n!==e[t]||s)&&h(n)},{deep:s}),n}else return U({get(){return m()},set(e){h(e)}})}function gf(e={}){let{window:t=Xd}=e;if(!t)return W(!1);let n=W(t.document.hasFocus());return $d(t,`blur`,()=>{n.value=!1}),$d(t,`focus`,()=>{n.value=!0}),n}function _f(e={}){let{window:t=Xd,initialWidth:n=1/0,initialHeight:r=1/0,listenOrientation:i=!0,includeScrollbar:a=!0,type:o=`inner`}=e,s=W(n),c=W(r),l=()=>{t&&(o===`outer`?(s.value=t.outerWidth,c.value=t.outerHeight):a?(s.value=t.innerWidth,c.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight))};return l(),Jd(l),$d(`resize`,l,{passive:!0}),i&&z(sf(`(orientation: portrait)`),()=>l()),{width:s,height:c}}function vf(){let e=he(),t=W(0),n=U(()=>({minWidth:`${Math.max(t.value,11)}px`}));return df(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}var yf=({from:e,replacement:t,scope:n,version:r,ref:i,type:a=`API`},o)=>{z(()=>B(o),o=>{o&&Cd(n,`[${a}] ${e} is about to be deprecated in version ${r}, please use ${t} instead. For more detail, please visit: ${i} `)},{immediate:!0})},bf=`a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])`,xf=e=>typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot,Sf=e=>typeof Element>`u`?!1:e instanceof Element,Cf=e=>getComputedStyle(e).position===`fixed`?!1:e.offsetParent!==null,wf=e=>Array.from(e.querySelectorAll(bf)).filter(e=>Tf(e)&&Cf(e)),Tf=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute(`tabIndex`)!==null)return!0;if(e.tabIndex<0||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`)return!1;switch(e.nodeName){case`A`:return!!e.href&&e.rel!==`ignore`;case`INPUT`:return!(e.type===`hidden`||e.type===`file`);case`BUTTON`:case`SELECT`:case`TEXTAREA`:return!0;default:return!1}},Ef=function(e,t,...n){let r;r=t.includes(`mouse`)||t.includes(`click`)?`MouseEvents`:t.includes(`key`)?`KeyboardEvent`:`HTMLEvents`;let i=document.createEvent(r);return i.initEvent(t,...n),e.dispatchEvent(i),e},Df=e=>!e.getAttribute(`aria-owns`),Of=(e,t,n)=>{let{parentNode:r}=e;if(!r)return null;let i=r.querySelectorAll(n);return i[Array.prototype.indexOf.call(i,e)+t]||null},kf=(e,t)=>{if(!e||!e.focus)return;let n=!1;Sf(e)&&!Tf(e)&&!e.getAttribute(`tabindex`)&&(e.setAttribute(`tabindex`,`-1`),n=!0),e.focus(t),Sf(e)&&n&&e.removeAttribute(`tabindex`)},Af=e=>{e&&(kf(e),!Df(e)&&e.click())},jf=()=>Md&&/firefox/i.test(window.navigator.userAgent),Mf=()=>Md&&/android/i.test(window.navigator.userAgent),Nf=(e=``)=>e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`),Pf=e=>fe(e),Ff=`utils/dom/style`,If=(e=``)=>e.split(` `).filter(e=>!!e.trim()),Lf=(e,t)=>{if(!e||!t)return!1;if(t.includes(` `))throw Error(`className should not contain space.`);return e.classList.contains(t)},Rf=(e,t)=>{!e||!t.trim()||e.classList.add(...If(t))},zf=(e,t)=>{!e||!t.trim()||e.classList.remove(...If(t))},Bf=(e,t)=>{if(!Md||!e||!t||xf(e))return``;let n=qe(t);n===`float`&&(n=`cssFloat`);try{let t=e.style[n];if(t)return t;let r=document.defaultView?.getComputedStyle(e,``);return r?r[n]:``}catch{return e.style[n]}},Vf=(e,t,r)=>{if(!(!e||!t))if(n(t))pd(t).forEach(([t,n])=>Vf(e,t,n));else{let n=qe(t);e.style[n]=r}};function Hf(e,t=`px`){if(!e&&e!==0)return``;if(od(e)||ud(e))return`${e}${t}`;if(v(e))return e;Cd(Ff,`binding value must be a string or number`)}var Uf=(e,t,n,r)=>{let i={offsetX:0,offsetY:0},a=W(!1),o=(t,n)=>{if(e.value){let{offsetX:a,offsetY:o}=i,s=e.value.getBoundingClientRect(),c=s.left,l=s.top,u=s.width,d=s.height,f=document.documentElement.clientWidth,p=document.documentElement.clientHeight,m=-c+a,h=-l+o,g=f-c-u+a,_=p-l-(d{let t=e.clientX,n=e.clientY,{offsetX:r,offsetY:s}=i,c=e=>{a.value||=!0,o(r+e.clientX-t,s+e.clientY-n)},l=()=>{a.value=!1,document.removeEventListener(`mousemove`,c),document.removeEventListener(`mouseup`,l)};document.addEventListener(`mousemove`,c),document.addEventListener(`mouseup`,l)},c=()=>{t.value&&e.value&&(t.value.addEventListener(`mousedown`,s),window.addEventListener(`resize`,d))},l=()=>{t.value&&e.value&&(t.value.removeEventListener(`mousedown`,s),window.removeEventListener(`resize`,d))},u=()=>{i.offsetX=0,i.offsetY=0,e.value&&(e.value.style.transform=``)},d=()=>{let{offsetX:e,offsetY:t}=i;o(e,t)};return A(()=>{M(()=>{n.value?c():l()})}),Ce(()=>{l()}),{isDragging:a,resetPosition:u,updatePosition:d}},Wf={name:`en`,el:{breadcrumb:{label:`Breadcrumb`},colorpicker:{confirm:`OK`,clear:`Clear`,defaultLabel:`color picker`,description:`current color is {color}. press enter to select a new color.`,alphaLabel:`pick alpha value`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`Now`,today:`Today`,cancel:`Cancel`,clear:`Clear`,confirm:`OK`,dateTablePrompt:`Use the arrow keys and enter to select the day of the month`,monthTablePrompt:`Use the arrow keys and enter to select the month`,yearTablePrompt:`Use the arrow keys and enter to select the year`,selectedDate:`Selected date`,selectDate:`Select date`,selectTime:`Select time`,startDate:`Start Date`,startTime:`Start Time`,endDate:`End Date`,endTime:`End Time`,prevYear:`Previous Year`,nextYear:`Next Year`,prevMonth:`Previous Month`,nextMonth:`Next Month`,year:``,month1:`January`,month2:`February`,month3:`March`,month4:`April`,month5:`May`,month6:`June`,month7:`July`,month8:`August`,month9:`September`,month10:`October`,month11:`November`,month12:`December`,weeks:{sun:`Sun`,mon:`Mon`,tue:`Tue`,wed:`Wed`,thu:`Thu`,fri:`Fri`,sat:`Sat`},weeksFull:{sun:`Sunday`,mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`},months:{jan:`Jan`,feb:`Feb`,mar:`Mar`,apr:`Apr`,may:`May`,jun:`Jun`,jul:`Jul`,aug:`Aug`,sep:`Sep`,oct:`Oct`,nov:`Nov`,dec:`Dec`}},inputNumber:{decrease:`decrease number`,increase:`increase number`},select:{loading:`Loading`,noMatch:`No matching data`,noData:`No data`,placeholder:`Select`},mention:{loading:`Loading`},dropdown:{toggleDropdown:`Toggle Dropdown`},cascader:{noMatch:`No matching data`,loading:`Loading`,placeholder:`Select`,noData:`No data`},pagination:{goto:`Go to`,pagesize:`/page`,total:`Total {total}`,pageClassifier:``,page:`Page`,prev:`Go to previous page`,next:`Go to next page`,currentPage:`page {pager}`,prevPages:`Previous {pager} pages`,nextPages:`Next {pager} pages`,deprecationWarning:`Deprecated usages detected, please refer to the el-pagination documentation for more details`},dialog:{close:`Close this dialog`},drawer:{close:`Close this dialog`},messagebox:{title:`Message`,confirm:`OK`,cancel:`Cancel`,error:`Illegal input`,close:`Close this dialog`},upload:{deleteTip:`press delete to remove`,delete:`Delete`,preview:`Preview`,continue:`Continue`},slider:{defaultLabel:`slider between {min} and {max}`,defaultRangeStartLabel:`pick start value`,defaultRangeEndLabel:`pick end value`},table:{emptyText:`No Data`,confirmFilter:`Confirm`,resetFilter:`Reset`,clearFilter:`All`,sumText:`Sum`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`Close this tag`},tour:{next:`Next`,previous:`Previous`,finish:`Finish`,close:`Close this dialog`},tree:{emptyText:`No Data`},transfer:{noMatch:`No matching data`,noData:`No data`,titles:[`List 1`,`List 2`],filterPlaceholder:`Enter keyword`,noCheckedFormat:`{total} items`,hasCheckedFormat:`{checked}/{total} checked`},image:{error:`FAILED`},pageHeader:{title:`Back`},popconfirm:{confirmButtonText:`Yes`,cancelButtonText:`No`},carousel:{leftArrow:`Carousel arrow left`,rightArrow:`Carousel arrow right`,indicator:`Carousel switch to index {index}`}}},Gf=e=>(t,n)=>Kf(t,n,B(e)),Kf=(e,t,n)=>Fo(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>`${t?.[n]??`{${n}}`}`),qf=e=>({lang:U(()=>B(e).name),locale:Se(e)?e:W(e),t:Gf(e)}),Jf=Symbol(`localeContextKey`),Yf=e=>{let t=e||P(Jf,W());return qf(U(()=>t.value||Wf))},Xf=`is-`,Zf=(e,t,n,r,i)=>{let a=`${e}-${t}`;return n&&(a+=`-${n}`),r&&(a+=`__${r}`),i&&(a+=`--${i}`),a},Qf=Symbol(`namespaceContextKey`),$f=e=>{let t=e||(de()?P(Qf,W(`el`)):W(`el`));return U(()=>B(t)||`el`)},Q=(e,t)=>{let n=$f(t);return{namespace:n,b:(t=``)=>Zf(n.value,e,t,``,``),e:t=>t?Zf(n.value,e,``,t,``):``,m:t=>t?Zf(n.value,e,``,``,t):``,be:(t,r)=>t&&r?Zf(n.value,e,t,r,``):``,em:(t,r)=>t&&r?Zf(n.value,e,``,t,r):``,bm:(t,r)=>t&&r?Zf(n.value,e,t,``,r):``,bem:(t,r,i)=>t&&r&&i?Zf(n.value,e,t,r,i):``,is:(e,...t)=>{let n=t.length>=1?t[0]:!0;return e&&n?`${Xf}${e}`:``},cssVar:e=>{let t={};for(let r in e)e[r]&&(t[`--${n.value}-${r}`]=e[r]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{let r={};for(let i in t)t[i]&&(r[`--${n.value}-${e}-${i}`]=t[i]);return r},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}};function ep(e,t,n,r){let i=n-t;return e/=r/2,e<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}var tp=e=>Md?window.requestAnimationFrame(e):setTimeout(e,16),np=e=>Md?window.cancelAnimationFrame(e):clearTimeout(e),rp=(e,t)=>{if(!Md)return!1;let n={undefined:`overflow`,true:`overflow-y`,false:`overflow-x`}[String(t)],r=Bf(e,n);return[`scroll`,`auto`,`overlay`].some(e=>r.includes(e))},ip=(e,t)=>{if(!Md)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(rp(n,t))return n;n=xf(n)?n.host:n.parentNode}return n},ap,op=e=>{if(!Md)return 0;if(ap!==void 0)return ap;let t=document.createElement(`div`);t.className=`${e}-scrollbar__wrap`,t.style.visibility=`hidden`,t.style.width=`100px`,t.style.position=`absolute`,t.style.top=`-9999px`,document.body.appendChild(t);let n=t.offsetWidth;t.style.overflow=`scroll`;let r=document.createElement(`div`);r.style.width=`100%`,t.appendChild(r);let i=r.offsetWidth;return t.parentNode?.removeChild(t),ap=n-i,ap};function sp(e,t){if(!Md)return;if(!t){e.scrollTop=0;return}let n=[],r=t.offsetParent;for(;r!==null&&e!==r&&e.contains(r);)n.push(r),r=r.offsetParent;let i=t.offsetTop+n.reduce((e,t)=>e+t.offsetTop,0),a=i+t.offsetHeight,o=e.scrollTop,s=o+e.clientHeight;is&&(e.scrollTop=a-e.clientHeight)}function cp(e,t,n,r,i){let a=Date.now(),o,s=()=>{let c=Date.now()-a,l=ep(c>r?r:c,t,n,r);dd(e)?e.scrollTo(window.pageXOffset,l):e.scrollTop=l,c{o&&np(o)}}var lp=(e,t)=>dd(t)?e.ownerDocument.documentElement:t,up=e=>dd(e)?window.scrollY:e.scrollTop,dp=(e,t={})=>{Se(e)||Sd(`[useLockscreen]`,`You need to pass a ref param to this function`);let n=t.ns||Q(`popup`),r=U(()=>n.bm(`parent`,`hidden`)),i=0,a=!1,o=`0`,s=!1,c=()=>{s||(s=!0,setTimeout(()=>{typeof document>`u`||a&&document&&(document.body.style.width=o,zf(document.body,r.value))},200))};z(e,e=>{if(!e){c();return}s=!1,a=!Lf(document.body,r.value),a&&(o=document.body.style.width,Rf(document.body,r.value)),i=op(n.namespace.value);let t=document.documentElement.clientHeight0&&(t||l===`scroll`)&&a&&(document.body.style.width=`calc(100% - ${i}px)`)}),Me(()=>c())},fp=(e,t,{checkForDefaultPrevented:n=!0}={})=>r=>{let i=e?.(r);if(n===!1||!i)return t?.(r)},pp=e=>t=>t.pointerType===`mouse`?e(t):void 0,mp=e=>{if(e.code&&e.code!==`Unidentified`)return e.code;let t=hp(e);if(t){if(Object.values(Y).includes(t))return t;switch(t){case` `:return Y.space;default:return``}}return``},hp=e=>{let t=e.key&&e.key!==`Unidentified`?e.key:``;if(!t&&e.type===`keyup`&&Mf()){let n=e.target;t=n.value.charAt(n.selectionStart-1)}return t},gp=_d({type:X(Boolean),default:null}),_p=_d({type:X(Function)}),vp=e=>{let t=`update:${e}`,n=`onUpdate:${e}`,r=[t];return{useModelToggle:({indicator:r,toggleReason:i,shouldHideWhenRouteChanges:a,shouldProceed:o,onShow:s,onHide:c})=>{let l=de(),{emit:u}=l,d=l.props,f=U(()=>k(d[n])),p=U(()=>d[e]===null),m=e=>{r.value!==!0&&(r.value=!0,i&&(i.value=e),k(s)&&s(e))},h=e=>{r.value!==!1&&(r.value=!1,i&&(i.value=e),k(c)&&c(e))},g=e=>{if(d.disabled===!0||k(o)&&!o())return;let n=f.value&&Md;n&&u(t,!0),(p.value||!n)&&m(e)},_=e=>{if(d.disabled===!0||!Md)return;let n=f.value&&Md;n&&u(t,!1),(p.value||!n)&&h(e)},v=e=>{ad(e)&&(d.disabled&&e?f.value&&u(t,!1):r.value!==e&&(e?m():h()))};return z(()=>d[e],v),a&&l.appContext.config.globalProperties.$route!==void 0&&z(()=>({...l.proxy.$route}),()=>{a.value&&r.value&&_()}),A(()=>{v(d[e])}),{hide:_,show:g,toggle:()=>{r.value?_():g()},hasUpdateHandler:f}},useModelToggleProps:{[e]:gp,[n]:_p},useModelToggleEmits:r}},{useModelToggle:yp,useModelToggleProps:bp,useModelToggleEmits:xp}=vp(`modelValue`),Sp=e=>{let t=de();return U(()=>t?.proxy?.$props?.[e])},Cp=`bottom`,wp=`right`,Tp=`left`,Ep=`auto`,Dp=[`top`,Cp,wp,Tp],Op=`start`,kp=`clippingParents`,Ap=`viewport`,jp=`popper`,Mp=`reference`,Np=Dp.reduce(function(e,t){return e.concat([t+`-`+Op,t+`-end`])},[]),Pp=[].concat(Dp,[Ep]).reduce(function(e,t){return e.concat([t,t+`-`+Op,t+`-end`])},[]),Fp=[`beforeRead`,`read`,`afterRead`,`beforeMain`,`main`,`afterMain`,`beforeWrite`,`write`,`afterWrite`];function Ip(e){return e?(e.nodeName||``).toLowerCase():null}function Lp(e){if(e==null)return window;if(e.toString()!==`[object Window]`){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Rp(e){return e instanceof Lp(e).Element||e instanceof Element}function zp(e){return e instanceof Lp(e).HTMLElement||e instanceof HTMLElement}function Bp(e){return typeof ShadowRoot>`u`?!1:e instanceof Lp(e).ShadowRoot||e instanceof ShadowRoot}function Vp(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];!zp(i)||!Ip(i)||(Object.assign(i.style,n),Object.keys(r).forEach(function(e){var t=r[e];t===!1?i.removeAttribute(e):i.setAttribute(e,t===!0?``:t)}))})}function Hp(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var r=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]=``,e},{});!zp(r)||!Ip(r)||(Object.assign(r.style,a),Object.keys(i).forEach(function(e){r.removeAttribute(e)}))})}}var Up={name:`applyStyles`,enabled:!0,phase:`write`,fn:Vp,effect:Hp,requires:[`computeStyles`]};function Wp(e){return e.split(`-`)[0]}var Gp=Math.max,Kp=Math.min,qp=Math.round;function Jp(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+`/`+e.version}).join(` `):navigator.userAgent}function Yp(){return!/^((?!chrome|android).)*safari/i.test(Jp())}function Xp(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&zp(e)&&(i=e.offsetWidth>0&&qp(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&qp(r.height)/e.offsetHeight||1);var o=(Rp(e)?Lp(e):window).visualViewport,s=!Yp()&&n,c=(r.left+(s&&o?o.offsetLeft:0))/i,l=(r.top+(s&&o?o.offsetTop:0))/a,u=r.width/i,d=r.height/a;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c,x:c,y:l}}function Zp(e){var t=Xp(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function Qp(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Bp(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function $p(e){return Lp(e).getComputedStyle(e)}function em(e){return[`table`,`td`,`th`].indexOf(Ip(e))>=0}function tm(e){return((Rp(e)?e.ownerDocument:e.document)||window.document).documentElement}function nm(e){return Ip(e)===`html`?e:e.assignedSlot||e.parentNode||(Bp(e)?e.host:null)||tm(e)}function rm(e){return!zp(e)||$p(e).position===`fixed`?null:e.offsetParent}function im(e){var t=/firefox/i.test(Jp());if(/Trident/i.test(Jp())&&zp(e)&&$p(e).position===`fixed`)return null;var n=nm(e);for(Bp(n)&&(n=n.host);zp(n)&&[`html`,`body`].indexOf(Ip(n))<0;){var r=$p(n);if(r.transform!==`none`||r.perspective!==`none`||r.contain===`paint`||[`transform`,`perspective`].indexOf(r.willChange)!==-1||t&&r.willChange===`filter`||t&&r.filter&&r.filter!==`none`)return n;n=n.parentNode}return null}function am(e){for(var t=Lp(e),n=rm(e);n&&em(n)&&$p(n).position===`static`;)n=rm(n);return n&&(Ip(n)===`html`||Ip(n)===`body`&&$p(n).position===`static`)?t:n||im(e)||t}function om(e){return[`top`,`bottom`].indexOf(e)>=0?`x`:`y`}function sm(e,t,n){return Gp(e,Kp(t,n))}function cm(e,t,n){var r=sm(e,t,n);return r>n?n:r}function lm(){return{top:0,right:0,bottom:0,left:0}}function um(e){return Object.assign({},lm(),e)}function dm(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var fm=function(e,t){return e=typeof e==`function`?e(Object.assign({},t.rects,{placement:t.placement})):e,um(typeof e==`number`?dm(e,Dp):e)};function pm(e){var t,n=e.state,r=e.name,i=e.options,a=n.elements.arrow,o=n.modifiersData.popperOffsets,s=Wp(n.placement),c=om(s),l=[`left`,`right`].indexOf(s)>=0?`height`:`width`;if(!(!a||!o)){var u=fm(i.padding,n),d=Zp(a),f=c===`y`?`top`:Tp,p=c===`y`?Cp:wp,m=n.rects.reference[l]+n.rects.reference[c]-o[c]-n.rects.popper[l],h=o[c]-n.rects.reference[c],g=am(a),_=g?c===`y`?g.clientHeight||0:g.clientWidth||0:0,v=m/2-h/2,y=u[f],b=_-d[l]-u[p],x=_/2-d[l]/2+v,S=sm(y,x,b),C=c;n.modifiersData[r]=(t={},t[C]=S,t.centerOffset=S-x,t)}}function mm(e){var t=e.state,n=e.options.element,r=n===void 0?`[data-popper-arrow]`:n;r!=null&&(typeof r==`string`&&(r=t.elements.popper.querySelector(r),!r)||Qp(t.elements.popper,r)&&(t.elements.arrow=r))}var hm={name:`arrow`,enabled:!0,phase:`main`,fn:pm,effect:mm,requires:[`popperOffsets`],requiresIfExists:[`preventOverflow`]};function gm(e){return e.split(`-`)[1]}var _m={top:`auto`,right:`auto`,bottom:`auto`,left:`auto`};function vm(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:qp(n*i)/i||0,y:qp(r*i)/i||0}}function ym(e){var t,n=e.popper,r=e.popperRect,i=e.placement,a=e.variation,o=e.offsets,s=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=o.x,p=f===void 0?0:f,m=o.y,h=m===void 0?0:m,g=typeof u==`function`?u({x:p,y:h}):{x:p,y:h};p=g.x,h=g.y;var _=o.hasOwnProperty(`x`),v=o.hasOwnProperty(`y`),y=Tp,b=`top`,x=window;if(l){var S=am(n),C=`clientHeight`,w=`clientWidth`;if(S===Lp(n)&&(S=tm(n),$p(S).position!==`static`&&s===`absolute`&&(C=`scrollHeight`,w=`scrollWidth`)),S=S,i===`top`||(i===`left`||i===`right`)&&a===`end`){b=Cp;var T=d&&S===x&&x.visualViewport?x.visualViewport.height:S[C];h-=T-r.height,h*=c?1:-1}if(i===`left`||(i===`top`||i===`bottom`)&&a===`end`){y=wp;var E=d&&S===x&&x.visualViewport?x.visualViewport.width:S[w];p-=E-r.width,p*=c?1:-1}}var D=Object.assign({position:s},l&&_m),O=u===!0?vm({x:p,y:h},Lp(n)):{x:p,y:h};if(p=O.x,h=O.y,c){var k;return Object.assign({},D,(k={},k[b]=v?`0`:``,k[y]=_?`0`:``,k.transform=(x.devicePixelRatio||1)<=1?`translate(`+p+`px, `+h+`px)`:`translate3d(`+p+`px, `+h+`px, 0)`,k))}return Object.assign({},D,(t={},t[b]=v?h+`px`:``,t[y]=_?p+`px`:``,t.transform=``,t))}function bm(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,a=n.adaptive,o=a===void 0?!0:a,s=n.roundOffsets,c=s===void 0?!0:s,l={placement:Wp(t.placement),variation:gm(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy===`fixed`};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,ym(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,ym(Object.assign({},l,{offsets:t.modifiersData.arrow,position:`absolute`,adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var xm={name:`computeStyles`,enabled:!0,phase:`beforeWrite`,fn:bm,data:{}},Sm={passive:!0};function Cm(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=i===void 0?!0:i,o=r.resize,s=o===void 0?!0:o,c=Lp(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&l.forEach(function(e){e.addEventListener(`scroll`,n.update,Sm)}),s&&c.addEventListener(`resize`,n.update,Sm),function(){a&&l.forEach(function(e){e.removeEventListener(`scroll`,n.update,Sm)}),s&&c.removeEventListener(`resize`,n.update,Sm)}}var wm={name:`eventListeners`,enabled:!0,phase:`write`,fn:function(){},effect:Cm,data:{}},Tm={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Em(e){return e.replace(/left|right|bottom|top/g,function(e){return Tm[e]})}var Dm={start:`end`,end:`start`};function Om(e){return e.replace(/start|end/g,function(e){return Dm[e]})}function km(e){var t=Lp(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Am(e){return Xp(tm(e)).left+km(e).scrollLeft}function jm(e,t){var n=Lp(e),r=tm(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;var l=Yp();(l||!l&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s+Am(e),y:c}}function Mm(e){var t=tm(e),n=km(e),r=e.ownerDocument?.body,i=Gp(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=Gp(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),o=-n.scrollLeft+Am(e),s=-n.scrollTop;return $p(r||t).direction===`rtl`&&(o+=Gp(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:o,y:s}}function Nm(e){var t=$p(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function Pm(e){return[`html`,`body`,`#document`].indexOf(Ip(e))>=0?e.ownerDocument.body:zp(e)&&Nm(e)?e:Pm(nm(e))}function Fm(e,t){t===void 0&&(t=[]);var n=Pm(e),r=n===e.ownerDocument?.body,i=Lp(n),a=r?[i].concat(i.visualViewport||[],Nm(n)?n:[]):n,o=t.concat(a);return r?o:o.concat(Fm(nm(a)))}function Im(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lm(e,t){var n=Xp(e,!1,t===`fixed`);return n.top+=e.clientTop,n.left+=e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Rm(e,t,n){return t===`viewport`?Im(jm(e,n)):Rp(t)?Lm(t,n):Im(Mm(tm(e)))}function zm(e){var t=Fm(nm(e)),n=[`absolute`,`fixed`].indexOf($p(e).position)>=0&&zp(e)?am(e):e;return Rp(n)?t.filter(function(e){return Rp(e)&&Qp(e,n)&&Ip(e)!==`body`}):[]}function Bm(e,t,n,r){var i=t===`clippingParents`?zm(e):[].concat(t),a=[].concat(i,[n]),o=a[0],s=a.reduce(function(t,n){var i=Rm(e,n,r);return t.top=Gp(i.top,t.top),t.right=Kp(i.right,t.right),t.bottom=Kp(i.bottom,t.bottom),t.left=Gp(i.left,t.left),t},Rm(e,o,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function Vm(e){var t=e.reference,n=e.element,r=e.placement,i=r?Wp(r):null,a=r?gm(r):null,o=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,c;switch(i){case`top`:c={x:o,y:t.y-n.height};break;case Cp:c={x:o,y:t.y+t.height};break;case wp:c={x:t.x+t.width,y:s};break;case Tp:c={x:t.x-n.width,y:s};break;default:c={x:t.x,y:t.y}}var l=i?om(i):null;if(l!=null){var u=l===`y`?`height`:`width`;switch(a){case Op:c[l]=c[l]-(t[u]/2-n[u]/2);break;case`end`:c[l]=c[l]+(t[u]/2-n[u]/2);break}}return c}function Hm(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,a=n.strategy,o=a===void 0?e.strategy:a,s=n.boundary,c=s===void 0?kp:s,l=n.rootBoundary,u=l===void 0?Ap:l,d=n.elementContext,f=d===void 0?jp:d,p=n.altBoundary,m=p===void 0?!1:p,h=n.padding,g=h===void 0?0:h,_=um(typeof g==`number`?dm(g,Dp):g),v=f===`popper`?Mp:jp,y=e.rects.popper,b=e.elements[m?v:f],x=Bm(Rp(b)?b:b.contextElement||tm(e.elements.popper),c,u,o),S=Xp(e.elements.reference),C=Vm({reference:S,element:y,placement:i}),w=Im(Object.assign({},y,C)),T=f===`popper`?w:S,E={top:x.top-T.top+_.top,bottom:T.bottom-x.bottom+_.bottom,left:x.left-T.left+_.left,right:T.right-x.right+_.right},D=e.modifiersData.offset;if(f===`popper`&&D){var O=D[i];Object.keys(E).forEach(function(e){var t=[`right`,`bottom`].indexOf(e)>=0?1:-1,n=[`top`,`bottom`].indexOf(e)>=0?`y`:`x`;E[e]+=O[n]*t})}return E}function Um(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,a=n.rootBoundary,o=n.padding,s=n.flipVariations,c=n.allowedAutoPlacements,l=c===void 0?Pp:c,u=gm(r),d=u?s?Np:Np.filter(function(e){return gm(e)===u}):Dp,f=d.filter(function(e){return l.indexOf(e)>=0});f.length===0&&(f=d);var p=f.reduce(function(t,n){return t[n]=Hm(e,{placement:n,boundary:i,rootBoundary:a,padding:o})[Wp(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}function Wm(e){if(Wp(e)===`auto`)return[];var t=Em(e);return[Om(e),t,Om(t)]}function Gm(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,s=o===void 0?!0:o,c=n.fallbackPlacements,l=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,h=n.allowedAutoPlacements,g=t.options.placement,_=Wp(g)===g,v=c||(_||!m?[Em(g)]:Wm(g)),y=[g].concat(v).reduce(function(e,n){return e.concat(Wp(n)===`auto`?Um(t,{placement:n,boundary:u,rootBoundary:d,padding:l,flipVariations:m,allowedAutoPlacements:h}):n)},[]),b=t.rects.reference,x=t.rects.popper,S=new Map,C=!0,w=y[0],T=0;T=0,A=k?`width`:`height`,j=Hm(t,{placement:E,boundary:u,rootBoundary:d,altBoundary:f,padding:l}),M=k?O?wp:Tp:O?Cp:`top`;b[A]>x[A]&&(M=Em(M));var N=Em(M),ee=[];if(a&&ee.push(j[D]<=0),s&&ee.push(j[M]<=0,j[N]<=0),ee.every(function(e){return e})){w=E,C=!1;break}S.set(E,ee)}if(C)for(var te=m?3:1,ne=function(e){var t=y.find(function(t){var n=S.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return w=t,`break`},P=te;P>0&&ne(P)!==`break`;P--);t.placement!==w&&(t.modifiersData[r]._skip=!0,t.placement=w,t.reset=!0)}}var Km={name:`flip`,enabled:!0,phase:`main`,fn:Gm,requiresIfExists:[`offset`],data:{_skip:!1}};function qm(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Jm(e){return[`top`,wp,Cp,Tp].some(function(t){return e[t]>=0})}function Ym(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=Hm(t,{elementContext:`reference`}),s=Hm(t,{altBoundary:!0}),c=qm(o,r),l=qm(s,i,a),u=Jm(c),d=Jm(l);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}var Xm={name:`hide`,enabled:!0,phase:`main`,requiresIfExists:[`preventOverflow`],fn:Ym};function Zm(e,t,n){var r=Wp(e),i=[`left`,`top`].indexOf(r)>=0?-1:1,a=typeof n==`function`?n(Object.assign({},t,{placement:e})):n,o=a[0],s=a[1];return o||=0,s=(s||0)*i,[`left`,`right`].indexOf(r)>=0?{x:s,y:o}:{x:o,y:s}}function Qm(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=i===void 0?[0,0]:i,o=Pp.reduce(function(e,n){return e[n]=Zm(n,t.rects,a),e},{}),s=o[t.placement],c=s.x,l=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[r]=o}var $m={name:`offset`,enabled:!0,phase:`main`,requires:[`popperOffsets`],fn:Qm};function eh(e){var t=e.state,n=e.name;t.modifiersData[n]=Vm({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var th={name:`popperOffsets`,enabled:!0,phase:`read`,fn:eh,data:{}};function nh(e){return e===`x`?`y`:`x`}function rh(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,s=o===void 0?!1:o,c=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,m=n.tetherOffset,h=m===void 0?0:m,g=Hm(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),_=Wp(t.placement),v=gm(t.placement),y=!v,b=om(_),x=nh(b),S=t.modifiersData.popperOffsets,C=t.rects.reference,w=t.rects.popper,T=typeof h==`function`?h(Object.assign({},t.rects,{placement:t.placement})):h,E=typeof T==`number`?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(S){if(a){var k=b===`y`?`top`:Tp,A=b===`y`?Cp:wp,j=b===`y`?`height`:`width`,M=S[b],N=M+g[k],ee=M-g[A],te=p?-w[j]/2:0,ne=v===`start`?C[j]:w[j],P=v===`start`?-w[j]:-C[j],re=t.elements.arrow,F=p&&re?Zp(re):{width:0,height:0},I=t.modifiersData[`arrow#persistent`]?t.modifiersData[`arrow#persistent`].padding:lm(),ie=I[k],L=I[A],ae=sm(0,C[j],F[j]),R=y?C[j]/2-te-ae-ie-E.mainAxis:ne-ae-ie-E.mainAxis,oe=y?-C[j]/2+te+ae+L+E.mainAxis:P+ae+L+E.mainAxis,se=t.elements.arrow&&am(t.elements.arrow),z=se?b===`y`?se.clientTop||0:se.clientLeft||0:0,ce=D?.[b]??0,B=M+R-ce-z,le=M+oe-ce,ue=sm(p?Kp(N,B):N,M,p?Gp(ee,le):ee);S[b]=ue,O[b]=ue-M}if(s){var de=b===`x`?`top`:Tp,fe=b===`x`?Cp:wp,pe=S[x],me=x===`y`?`height`:`width`,V=pe+g[de],he=pe-g[fe],ge=[`top`,Tp].indexOf(_)!==-1,H=D?.[x]??0,_e=ge?V:pe-C[me]-w[me]-H+E.altAxis,ve=ge?pe+C[me]+w[me]-H-E.altAxis:he,ye=p&&ge?cm(_e,pe,ve):sm(p?_e:V,pe,p?ve:he);S[x]=ye,O[x]=ye-pe}t.modifiersData[r]=O}}var ih={name:`preventOverflow`,enabled:!0,phase:`main`,fn:rh,requiresIfExists:[`offset`]};function ah(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function oh(e){return e===Lp(e)||!zp(e)?km(e):ah(e)}function sh(e){var t=e.getBoundingClientRect(),n=qp(t.width)/e.offsetWidth||1,r=qp(t.height)/e.offsetHeight||1;return n!==1||r!==1}function ch(e,t,n){n===void 0&&(n=!1);var r=zp(t),i=zp(t)&&sh(t),a=tm(t),o=Xp(e,i,n),s={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((Ip(t)!==`body`||Nm(a))&&(s=oh(t)),zp(t)?(c=Xp(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):a&&(c.x=Am(a))),{x:o.left+s.scrollLeft-c.x,y:o.top+s.scrollTop-c.y,width:o.width,height:o.height}}function lh(e){var t=new Map,n=new Set,r=[];e.forEach(function(e){t.set(e.name,e)});function i(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var r=t.get(e);r&&i(r)}}),r.push(e)}return e.forEach(function(e){n.has(e.name)||i(e)}),r}function uh(e){var t=lh(e);return Fp.reduce(function(e,n){return e.concat(t.filter(function(e){return e.phase===n}))},[])}function dh(e){var t;return function(){return t||=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})}),t}}function fh(e){var t=e.reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}var ph={placement:`bottom`,modifiers:[],strategy:`absolute`};function mh(){return![...arguments].some(function(e){return!(e&&typeof e.getBoundingClientRect==`function`)})}function hh(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,i=t.defaultOptions,a=i===void 0?ph:i;return function(e,t,n){n===void 0&&(n=a);var i={placement:`bottom`,orderedModifiers:[],options:Object.assign({},ph,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},o=[],s=!1,c={state:i,setOptions:function(n){var o=typeof n==`function`?n(i.options):n;u(),i.options=Object.assign({},a,i.options,o),i.scrollParents={reference:Rp(e)?Fm(e):e.contextElement?Fm(e.contextElement):[],popper:Fm(t)};var s=uh(fh([].concat(r,i.options.modifiers)));return i.orderedModifiers=s.filter(function(e){return e.enabled}),l(),c.update()},forceUpdate:function(){if(!s){var e=i.elements,t=e.reference,n=e.popper;if(mh(t,n)){i.rects={reference:ch(t,am(n),i.options.strategy===`fixed`),popper:Zp(n)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach(function(e){return i.modifiersData[e.name]=Object.assign({},e.data)});for(var r=0;r{let r={name:`updateState`,enabled:!0,phase:`write`,fn:({state:e})=>{let t=vh(e);Object.assign(o.value,t)},requires:[`computeStyles`]},i=U(()=>{let{onFirstUpdate:e,placement:t,strategy:i,modifiers:a}=B(n);return{onFirstUpdate:e,placement:t||`bottom`,strategy:i||`absolute`,modifiers:[...a||[],r,{name:`applyStyles`,enabled:!1}]}}),a=he(),o=W({styles:{popper:{position:B(i).strategy,left:`0`,top:`0`},arrow:{position:`absolute`}},attributes:{}}),s=()=>{a.value&&=(a.value.destroy(),void 0)};return z(i,e=>{let t=B(a);t&&t.setOptions(e)},{deep:!0}),z([e,t],([e,t])=>{s(),!(!e||!t)&&(a.value=gh(e,t,B(i)))}),Ce(()=>{s()}),{state:U(()=>({...B(a)?.state||{}})),styles:U(()=>B(o).styles),attributes:U(()=>B(o).attributes),update:()=>B(a)?.update(),forceUpdate:()=>B(a)?.forceUpdate(),instanceRef:U(()=>B(a))}};function vh(e){let t=Object.keys(e.elements);return{styles:Nu(t.map(t=>[t,e.styles[t]||{}])),attributes:Nu(t.map(t=>[t,e.attributes[t]]))}}var yh=e=>{if(!e)return{onClick:He,onMousedown:He,onMouseup:He};let t=!1,n=!1;return{onClick:r=>{t&&n&&e(r),t=n=!1},onMousedown:e=>{t=e.target===e.currentTarget},onMouseup:e=>{n=e.target===e.currentTarget}}},bh=(e,t=0)=>{if(t===0)return e;let r=W(n(t)&&!!t.initVal),i=null,a=t=>{if(id(t)){r.value=e.value;return}i&&clearTimeout(i),i=setTimeout(()=>{r.value=e.value},t)},o=e=>{e===`leading`?od(t)?a(t):a(t.leading):n(t)?a(t.trailing):r.value=!1};return A(()=>o(`leading`)),z(()=>e.value,e=>{o(e?`leading`:`trailing`)}),r};function xh(){let e,t=(t,r)=>{n(),e=window.setTimeout(t,r)},n=()=>window.clearTimeout(e);return Od(()=>n()),{registerTimeout:t,cancelTimeout:n}}var Sh={prefix:Math.floor(Math.random()*1e4),current:0},Ch=Symbol(`elIdInjection`),wh=()=>de()?P(Ch,Sh):Sh,Th=e=>{let t=wh();!Md&&t===Sh&&Cd(`IdInjection`,`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed @@ -48,4 +48,4 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:r,curr "rowHeight" must be passed as function, instead ${typeof t} was given. `)}}),wV=Symbol(`ElSelectV2Injection`),TV=Z({allowCreate:Boolean,autocomplete:{type:X(String),default:`none`},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:FC,default:cy},effect:{type:X(String),default:`light`},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:X(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:{type:Boolean,default:void 0},estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:{type:X(Function)},height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:X([Array,String,Number,Boolean,Object]),default:void 0},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:{type:X(Function)},reserveKeyword:{type:Boolean,default:!0},options:{type:X(Array),required:!0},placeholder:{type:String},teleported:pE.teleported,persistent:{type:Boolean,default:!0},popperClass:pE.popperClass,popperStyle:pE.popperStyle,popperOptions:{type:X(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},size:W_,props:{type:X(Object),default:()=>fA},valueKey:{type:String,default:`value`},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},offset:{type:Number,default:12},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},placement:{type:X(String),values:Pp,default:`bottom-start`},fallbackPlacements:{type:X(Array),default:[`bottom-start`,`top-start`,`right`,`left`]},tagType:{...aA.type,default:`info`},tagEffect:{...aA.effect,default:`light`},tabindex:{type:[String,Number],default:0},appendTo:pE.appendTo,fitInputWidth:{type:[Boolean,Number],default:!0,validator(e){return ad(e)||od(e)}},suffixIcon:{type:FC,default:_v},...$_,...nv([`ariaLabel`])}),EV=Z({data:Array,disabled:Boolean,hovering:Boolean,item:{type:X(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),DV={[Jn]:e=>!0,[Yn]:e=>!0,"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},OV={hover:e=>od(e),select:(e,t)=>!0},kV=J({props:{item:{type:Object,required:!0},style:{type:Object},height:Number},setup(){return{ns:Q(`select`)}}});function AV(e,t,n,r,i,a){return S(),G(`div`,{class:L(e.ns.be(`group`,`title`)),style:I({...e.style,lineHeight:`${e.height}px`})},R(e.item.label),7)}var jV=eE(kV,[[`render`,AV]]);function MV(e,{emit:t}){return{hoverItem:()=>{e.disabled||t(`hover`,e.index)},selectOptionClick:()=>{e.disabled||t(`select`,e.item,e.index)}}}var NV=J({props:EV,emits:OV,setup(e,{emit:t}){let n=P(wV),r=Q(`select`),{hoverItem:i,selectOptionClick:a}=MV(e,{emit:t}),{getLabel:o}=pA(n.props);return{ns:r,contentId:n.contentId,hoverItem:i,selectOptionClick:a,getLabel:o}}}),PV=[`id`,`aria-selected`,`aria-disabled`];function FV(e,t,n,i,a,o){return S(),G(`li`,{id:`${e.contentId}-${e.index}`,role:`option`,"aria-selected":e.selected,"aria-disabled":e.disabled||void 0,style:I(e.style),class:L([e.ns.be(`dropdown`,`item`),e.ns.is(`selected`,e.selected),e.ns.is(`disabled`,e.disabled),e.ns.is(`created`,e.created),e.ns.is(`hovering`,e.hovering)]),onMousemove:t[0]||=(...t)=>e.hoverItem&&e.hoverItem(...t),onClick:t[1]||=In((...t)=>e.selectOptionClick&&e.selectOptionClick(...t),[`stop`])},[r(e.$slots,`default`,{item:e.item,index:e.index,disabled:e.disabled},()=>[K(`span`,null,R(e.getLabel(e.item)),1)])],46,PV)}var IV=eE(NV,[[`render`,FV]]),LV=J({name:`ElSelectDropdown`,props:{loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number,id:String,ariaLabel:String},setup(e,{slots:t,expose:r}){let i=P(wV),a=Q(`select`),{getLabel:o,getValue:c,getDisabled:l}=pA(i.props),u=W([]),d=W(),f=U(()=>e.data.length);z(()=>f.value,()=>{i.tooltipRef.value?.updatePopper?.()});let p=U(()=>id(i.props.estimatedOptionHeight)),m=U(()=>p.value?{itemSize:i.props.itemHeight}:{estimatedSize:i.props.estimatedOptionHeight,itemSize:e=>u.value[e]}),h=(e=[],t)=>{let{props:{valueKey:r}}=i;return n(t)?e&&e.some(e=>_e(Fo(e,r))===Fo(t,r)):e.includes(t)},g=(e,t)=>{if(n(t)){let{valueKey:n}=i.props;return Fo(e,n)===Fo(t,n)}else return e===t},_=(e,t)=>i.props.multiple?h(e,c(t)):g(e,c(t)),v=(e,t)=>{let{disabled:n,multiple:r,multipleLimit:a}=i.props;return n||!t&&(r?a>0&&e.length>=a:!1)},y=t=>e.hoveringIndex===t;r({listRef:d,isSized:p,isItemDisabled:v,isItemHovering:y,isItemSelected:_,scrollToItem:e=>{let t=d.value;t&&t.scrollToItem(e)},resetScrollTop:()=>{let e=d.value;e&&e.resetScrollTop()}});let b=e=>{let{index:n,data:r,style:a}=e,c=B(p),{itemSize:u,estimatedSize:d}=B(m),{modelValue:f}=i.props,{onSelect:h,onHover:g}=i,b=r[n];if(b.type===`Group`)return q(jV,{item:b,style:a,height:c?u:d},null);let x=_(f,b),S=v(f,x),C=y(n);return q(IV,s(e,{selected:x,disabled:l(b)||S,created:!!b.created,hovering:C,item:b,onSelect:h,onHover:g}),{default:e=>t.default?.(e)||q(`span`,null,[o(b)])})},{onKeyboardNavigate:x,onKeyboardSelect:S}=i,C=()=>{x(`forward`)},w=()=>{x(`backward`)},T=e=>{let t=mp(e),{tab:n,esc:r,down:i,up:a,enter:o,numpadEnter:s}=Y;switch([r,i,a,o,s].includes(t)&&(e.preventDefault(),e.stopPropagation()),t){case n:case r:break;case i:C();break;case a:w();break;case o:case s:S();break}};return()=>{let{data:n,width:r}=e,{height:o,multiple:c,scrollbarAlwaysOn:l}=i.props,u=U(()=>zd?!0:l),f=B(p)?XB:rV;return q(`div`,{class:[a.b(`dropdown`),a.is(`multiple`,c)],style:{width:`${r}px`}},[t.header?.(),t.loading?.()||t.empty?.()||q(f,s({ref:d},B(m),{className:a.be(`dropdown`,`list`),scrollbarAlwaysOn:u.value,data:n,height:o,width:r,total:n.length,innerElement:`ul`,innerProps:{id:e.id,role:`listbox`,"aria-label":e.ariaLabel,"aria-orientation":`vertical`},onKeydown:T}),{default:e=>q(b,e,null)}),t.footer?.()])}}});function RV(e,t){let{aliasProps:n,getLabel:r,getValue:i}=pA(e),a=W(0),o=W(),s=U(()=>e.allowCreate&&e.filterable);z(()=>e.options,e=>{let n=new Set(e.map(e=>r(e)));t.createdOptions=t.createdOptions.filter(e=>!n.has(r(e)))});function c(n){let i=e=>r(e)===n;return e.options&&e.options.some(i)||t.createdOptions.some(i)}function l(t){s.value&&(e.multiple&&t.created?a.value++:o.value=t)}function u(i){if(s.value)if(i&&i.length>0){if(c(i)){t.createdOptions=t.createdOptions.filter(e=>r(e)!==t.previousQuery);return}let e={[n.value.value]:i,[n.value.label]:i,created:!0,[n.value.disabled]:!1};t.createdOptions.length>=a.value?t.createdOptions[a.value]=e:t.createdOptions.push(e)}else if(e.multiple)t.createdOptions.length=a.value;else{let e=o.value;t.createdOptions.length=0,e&&e.created&&t.createdOptions.push(e)}}function d(n){if(!s.value||!n||!n.created||n.created&&e.reserveKeyword&&t.inputValue===r(n))return;let o=t.createdOptions.findIndex(e=>i(e)===i(n));~o&&(t.createdOptions.splice(o,1),a.value--)}function f(){s.value&&(t.createdOptions.length=0,a.value=0)}return{createNewOption:u,removeNewOption:d,selectNewOption:l,clearAllNewOption:f}}var zV=(e,t)=>{let{t:r}=Yf(),i=y(),a=Q(`select`),o=Q(`input`),{form:s,formItem:c}=dw(),{inputId:l}=fw(e,{formItemContext:c}),{aliasProps:d,getLabel:f,getValue:p,getDisabled:m,getOptions:h}=pA(e),{valueOnClear:g,isEmptyValue:_}=ev(e),v=Re({inputValue:``,cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:``,menuVisibleOnFocus:!1,isBeforeHide:!1}),b=W(-1),x=W(!1),S=W(),C=W(),w=W(),T=W(),E=W(),D=W(),j=W(),N=W(),ee=W(),te=W(),{isComposing:ne,handleCompositionStart:P,handleCompositionEnd:re,handleCompositionUpdate:F}=Y_({afterComposition:e=>dt(e)}),I=uw(),{wrapperRef:ie,isFocused:L,handleBlur:ae}=q_(E,{disabled:I,afterFocus(){e.automaticDropdown&&!ce.value&&(ce.value=!0,v.menuVisibleOnFocus=!0)},beforeBlur(e){return w.value?.isFocusInsideContent(e)||T.value?.isFocusInsideContent(e)},afterBlur(){ce.value=!1,v.menuVisibleOnFocus=!1,e.validateEvent&&c?.validate?.(`blur`).catch(e=>Cd(e))}}),R=U(()=>ye(``)),oe=U(()=>e.loading?!1:e.options.length>0||v.createdOptions.length>0),se=W([]),ce=W(!1),B=U(()=>s?.statusIcon??!1),le=U(()=>{let t=se.value.length*e.itemHeight;return t>e.height?e.height:t}),ue=U(()=>e.multiple?u(e.modelValue)&&e.modelValue.length>0:!_(e.modelValue)),de=U(()=>e.clearable&&!I.value&&ue.value&&(L.value||v.inputHovering)),fe=U(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?``:e.suffixIcon),pe=U(()=>fe.value&&a.is(`reverse`,ce.value)),me=U(()=>c?.validateState||``),V=U(()=>{if(me.value)return zC[me.value]}),he=U(()=>e.remote?e.debounce:0),ge=U(()=>e.remote&&!v.inputValue&&!oe.value),H=U(()=>e.loading?e.loadingText||r(`el.select.loading`):e.filterable&&v.inputValue&&oe.value&&se.value.length===0?e.noMatchText||r(`el.select.noMatch`):oe.value?null:e.noDataText||r(`el.select.noData`)),_e=U(()=>e.filterable&&k(e.filterMethod)),ve=U(()=>e.filterable&&e.remote&&k(e.remoteMethod)),ye=t=>{let n=new RegExp(Nf(t),`i`),r=e=>_e.value||ve.value?!0:t?n.test(f(e)||``):!0;return e.loading?[]:[...v.createdOptions,...e.options].reduce((t,n)=>{let i=h(n);if(u(i)){let e=i.filter(r);e.length>0&&t.push({label:f(n),type:`Group`},...e)}else (e.remote||r(n))&&t.push(n);return t},[])},be=()=>{se.value=ye(v.inputValue)},xe=U(()=>{let e=new Map;return R.value.forEach((t,n)=>{e.set(qe(p(t)),{option:t,index:n})}),e}),Se=U(()=>{let e=new Map;return se.value.forEach((t,n)=>{e.set(qe(p(t)),{option:t,index:n})}),e}),Ce=U(()=>se.value.every(e=>m(e))),we=lw(),Te=U(()=>we.value===`small`?`small`:`default`),Ee=()=>{if(od(e.fitInputWidth)){b.value=e.fitInputWidth;return}let t=S.value?.offsetWidth||200;!e.fitInputWidth&&oe.value?O(()=>{b.value=Math.max(t,De())}):b.value=t},De=()=>{let e=document.createElement(`canvas`).getContext(`2d`),t=a.be(`dropdown`,`item`),n=(N.value?.listRef?.innerRef||document).querySelector(`.${t}`);if(n===null||e===null)return 0;let r=getComputedStyle(n),i=Number.parseFloat(r.paddingLeft)+Number.parseFloat(r.paddingRight);return e.font=`bold ${r.font.replace(RegExp(`\\b${r.fontWeight}\\b`),``)}`,se.value.reduce((t,n)=>{let r=e.measureText(f(n));return Math.max(r.width,t)},0)+i},Oe=()=>{if(!C.value)return 0;let e=window.getComputedStyle(C.value);return Number.parseFloat(e.gap||`6px`)},ke=U(()=>{let t=Oe(),n=e.filterable?t+11:0;return{maxWidth:`${te.value&&e.maxCollapseTags===1?v.selectionWidth-v.collapseItemWidth-t-n:v.selectionWidth-n}px`}}),Ae=U(()=>({maxWidth:`${v.selectionWidth}px`})),je=U(()=>u(e.modelValue)?e.modelValue.length===0&&!v.inputValue:e.filterable?!v.inputValue:!0),Me=U(()=>{let t=e.placeholder??r(`el.select.placeholder`);return e.multiple||!ue.value?t:v.selectedLabel}),G=U(()=>w.value?.popperRef?.contentRef),Ne=U(()=>{if(e.multiple){let t=e.modelValue.length;if(t>0&&Se.value.has(e.modelValue[t-1])){let{index:n}=Se.value.get(e.modelValue[t-1]);return n}}else if(!_(e.modelValue)&&Se.value.has(e.modelValue)){let{index:t}=Se.value.get(e.modelValue);return t}return-1}),Pe=U({get(){return ce.value&&(e.loading||!ge.value||e.remote&&!!i.empty)&&(!x.value||!sd(v.previousQuery))},set(e){ce.value=e}}),Fe=U(()=>e.multiple?e.collapseTags?v.cachedOptions.slice(0,e.maxCollapseTags):v.cachedOptions:[]),Ie=U(()=>e.multiple&&e.collapseTags?v.cachedOptions.slice(e.maxCollapseTags):[]),{createNewOption:Le,removeNewOption:ze,selectNewOption:Be,clearAllNewOption:K}=RV(e,v),Ve=t=>{I.value||e.filterable&&ce.value&&t&&!j.value?.contains(t.target)||(v.menuVisibleOnFocus?v.menuVisibleOnFocus=!1:ce.value=!ce.value)},q=()=>{v.inputValue.length>0&&!ce.value&&(ce.value=!0),Le(v.inputValue),O(()=>{Ue(v.inputValue)})},He=Gd(()=>{q(),x.value=!1},he),Ue=t=>{v.previousQuery===t||ne.value||(v.previousQuery=t,e.filterable&&k(e.filterMethod)?e.filterMethod(t):e.filterable&&e.remote&&k(e.remoteMethod)&&e.remoteMethod(t),e.defaultFirstOption&&(e.filterable||e.remote)&&se.value.length?O(We):O(ut))},We=()=>{let e=se.value.filter(e=>!e.disabled&&e.type!==`Group`),t=e.find(e=>e.created),n=e[0];v.hoveringIndex=J(se.value,t||n)},Ge=n=>{Fu(e.modelValue,n)||t(Yn,n)},Ke=n=>{t(Jn,n),Ge(n),v.previousValue=e.multiple?String(n):n,O(()=>{if(e.multiple&&u(e.modelValue)){let t=v.cachedOptions.slice(),n=e.modelValue.map(e=>ht(e,t));Fu(v.cachedOptions,n)||(v.cachedOptions=n)}else _t(!0)})},J=(t=[],r)=>{if(!n(r))return t.indexOf(r);let i=e.valueKey,a=-1;return t.some((e,t)=>Fo(e,i)===Fo(r,i)?(a=t,!0):!1),a},qe=t=>n(t)?Fo(t,e.valueKey):t,Je=()=>{Ee()},Ye=()=>{v.selectionWidth=Number.parseFloat(window.getComputedStyle(C.value).width)},Xe=()=>{v.collapseItemWidth=te.value.getBoundingClientRect().width},Ze=()=>{w.value?.updatePopper?.()},Qe=()=>{T.value?.updatePopper?.()},$e=t=>{let n=p(t);if(e.multiple){let r=e.modelValue.slice(),i=J(r,n);i>-1?(r=[...r.slice(0,i),...r.slice(i+1)],v.cachedOptions.splice(i,1),ze(t)):(e.multipleLimit<=0||r.length{let i=e.modelValue.slice(),a=J(i,p(r));a>-1&&!I.value&&(i=[...e.modelValue.slice(0,a),...e.modelValue.slice(a+1)],v.cachedOptions.splice(a,1),Ke(i),t(`remove-tag`,p(r)),ze(r)),n.stopPropagation(),tt()},tt=()=>{E.value?.focus()},nt=()=>{if(ce.value){ce.value=!1,O(()=>E.value?.blur());return}E.value?.blur()},rt=()=>{v.inputValue.length>0?v.inputValue=``:ce.value=!1},it=e=>Du(e,e=>!v.cachedOptions.some(t=>p(t)===e&&m(t))),at=n=>{let r=mp(n);if(e.multiple&&r!==Y.delete&&v.inputValue.length===0){n.preventDefault();let r=e.modelValue.slice(),i=it(r);if(i<0)return;let a=r[i];r.splice(i,1);let o=v.cachedOptions[i];v.cachedOptions.splice(i,1),ze(o),Ke(r),t(`remove-tag`,a)}},ot=()=>{let n;n=u(e.modelValue)?[]:g.value,v.selectedLabel=``,ce.value=!1,Ke(n),t(`clear`),K(),tt()},st=(e,t=void 0)=>{let n=se.value;if(![`forward`,`backward`].includes(e)||I.value||n.length<=0||Ce.value||ne.value)return;if(!ce.value)return Ve();id(t)&&(t=v.hoveringIndex);let r=-1;e===`forward`?(r=t+1,r>=n.length&&(r=0)):e===`backward`&&(r=t-1,(r<0||r>=n.length)&&(r=n.length-1));let i=n[r];if(m(i)||i.type===`Group`)return st(e,r);v.hoveringIndex=r,mt(r)},ct=()=>{if(ce.value)~v.hoveringIndex&&se.value[v.hoveringIndex]&&$e(se.value[v.hoveringIndex]);else return Ve()},lt=e=>{v.hoveringIndex=e??-1},ut=()=>{if(!e.multiple)v.hoveringIndex=se.value.findIndex(t=>qe(p(t))===qe(e.modelValue));else{let t=e.modelValue.length;if(t>0){let n=e.modelValue[t-1];v.hoveringIndex=se.value.findIndex(e=>qe(n)===qe(p(e)))}else v.hoveringIndex=-1}},dt=t=>{if(v.inputValue=t.target.value,e.remote)x.value=!0,He();else return q()},ft=e=>{ce.value=!1,L.value&&ae(new FocusEvent(`blur`,e))},pt=()=>(v.isBeforeHide=!1,O(()=>{~Ne.value&&mt(Ne.value)})),mt=e=>{N.value.scrollToItem(e)},ht=(e,t)=>{let n=qe(e);if(xe.value.has(n)){let{option:e}=xe.value.get(n);return e}if(t&&t.length){let e=t.find(e=>qe(p(e))===n);if(e)return e}return{[d.value.value]:e,[d.value.label]:e}},gt=e=>xe.value.get(p(e))?.index??-1,_t=(t=!1)=>{if(e.multiple)if(e.modelValue.length>0){let t=v.cachedOptions.slice();v.cachedOptions.length=0,v.previousValue=e.modelValue.toString();for(let n of e.modelValue){let e=ht(n,t);v.cachedOptions.push(e)}}else v.cachedOptions=[],v.previousValue=void 0;else if(ue.value){v.previousValue=e.modelValue;let n=se.value,r=n.findIndex(t=>qe(p(t))===qe(e.modelValue));~r?v.selectedLabel=f(n[r]):(!v.selectedLabel||t)&&(v.selectedLabel=qe(e.modelValue))}else v.selectedLabel=``,v.previousValue=void 0;K(),Ee()};z(()=>e.fitInputWidth,()=>{Ee()}),z(ce,t=>{t?(e.persistent||Ee(),Ue(``)):(v.inputValue=``,v.previousQuery=null,v.isBeforeHide=!0,v.menuVisibleOnFocus=!1,Le(``))}),z(()=>e.modelValue,(t,n)=>{(!t||u(t)&&t.length===0||e.multiple&&!Fu(t.toString(),v.previousValue)||!e.multiple&&qe(t)!==qe(v.previousValue))&&_t(!0),!Fu(t,n)&&e.validateEvent&&c?.validate?.(`change`).catch(e=>Cd(e))},{deep:!0}),z(()=>e.options,()=>{let e=E.value;(!e||e&&document.activeElement!==e)&&_t()},{deep:!0,flush:`post`}),z(()=>se.value,()=>(Ee(),N.value&&O(N.value.resetScrollTop))),M(()=>{v.isBeforeHide||be()}),M(()=>{let{valueKey:t,options:r}=e,i=new Map;for(let e of r){let r=p(e),a=r;if(n(a)&&(a=Fo(r,t)),i.get(a)){Cd(`ElSelectV2`,`The option values you provided seem to be duplicated, which may cause some problems, please check.`);break}else i.set(a,!0)}}),A(()=>{_t()}),df(S,Je),df(C,Ye),df(ie,Ze),df(ee,Qe),df(te,Xe);let vt;return z(()=>Pe.value,e=>{e?vt=df(N,Ze).stop:(vt?.(),vt=void 0),t(`visible-change`,e)}),{inputId:l,collapseTagSize:Te,currentPlaceholder:Me,expanded:ce,emptyText:H,popupHeight:le,debounce:he,allOptions:R,allOptionsValueMap:xe,filteredOptions:se,iconComponent:fe,iconReverse:pe,tagStyle:ke,collapseTagStyle:Ae,popperSize:b,dropdownMenuVisible:Pe,hasModelValue:ue,shouldShowPlaceholder:je,selectDisabled:I,selectSize:we,needStatusIcon:B,showClearBtn:de,states:v,isFocused:L,nsSelect:a,nsInput:o,inputRef:E,menuRef:N,tagMenuRef:ee,tooltipRef:w,tagTooltipRef:T,selectRef:S,wrapperRef:ie,selectionRef:C,prefixRef:D,suffixRef:j,collapseItemRef:te,popperRef:G,validateState:me,validateIcon:V,showTagList:Fe,collapseTagList:Ie,debouncedOnInputChange:He,deleteTag:et,getLabel:f,getValue:p,getDisabled:m,getValueKey:qe,getIndex:gt,handleClear:ot,handleClickOutside:ft,handleDel:at,handleEsc:rt,focus:tt,blur:nt,handleMenuEnter:pt,handleResize:Je,resetSelectionWidth:Ye,updateTooltip:Ze,updateTagTooltip:Qe,updateOptions:be,toggleMenu:Ve,scrollTo:mt,onInput:dt,onKeyboardNavigate:st,onKeyboardSelect:ct,onSelect:$e,onHover:lt,handleCompositionStart:P,handleCompositionEnd:re,handleCompositionUpdate:F}},BV=J({name:`ElSelectV2`,components:{ElSelectMenu:LV,ElTag:lA,ElTooltip:DE,ElIcon:$},directives:{ClickOutside:rk},props:TV,emits:DV,setup(e,{emit:t}){let n=U(()=>{let{modelValue:t,multiple:n}=e,r=n?[]:void 0;return u(t)?n?t:r:n?r:t}),r=zV(Re({...Oe(e),modelValue:n}),t),{calculatorRef:i,inputStyle:a}=vf(),o=Th();N(wV,{props:Re({...Oe(e),height:r.popupHeight,modelValue:n}),expanded:r.expanded,tooltipRef:r.tooltipRef,contentId:o,onSelect:r.onSelect,onHover:r.onHover,onKeyboardNavigate:r.onKeyboardNavigate,onKeyboardSelect:r.onKeyboardSelect});let s=U(()=>e.multiple?r.states.cachedOptions.map(e=>r.getLabel(e)):r.states.selectedLabel);return{...r,modelValue:n,selectedLabel:s,calculatorRef:i,inputStyle:a,contentId:o,BORDER_HORIZONTAL_WIDTH:2}}}),VV=[`id`,`value`,`autocomplete`,`tabindex`,`aria-expanded`,`aria-label`,`disabled`,`aria-controls`,`aria-activedescendant`,`readonly`,`name`],HV=[`textContent`],UV={key:1};function WV(t,n,i,a,o,s){let c=ie(`el-tag`),l=ie(`el-tooltip`),u=ie(`el-icon`),d=ie(`el-select-menu`),f=h(`click-outside`);return ge((S(),G(`div`,{ref:`selectRef`,class:L([t.nsSelect.b(),t.nsSelect.m(t.selectSize)]),onMouseenter:n[15]||=e=>t.states.inputHovering=!0,onMouseleave:n[16]||=e=>t.states.inputHovering=!1},[q(l,{ref:`tooltipRef`,visible:t.dropdownMenuVisible,teleported:t.teleported,"popper-class":[t.nsSelect.e(`popper`),t.popperClass],"popper-style":t.popperStyle,"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"popper-options":t.popperOptions,"fallback-placements":t.fallbackPlacements,effect:t.effect,placement:t.placement,pure:``,transition:`${t.nsSelect.namespace.value}-zoom-in-top`,trigger:`click`,persistent:t.persistent,"append-to":t.appendTo,"show-arrow":t.showArrow,offset:t.offset,onBeforeShow:t.handleMenuEnter,onHide:n[14]||=e=>t.states.isBeforeHide=!1},{default:e(()=>[K(`div`,{ref:`wrapperRef`,class:L([t.nsSelect.e(`wrapper`),t.nsSelect.is(`focused`,t.isFocused),t.nsSelect.is(`hovering`,t.states.inputHovering),t.nsSelect.is(`filterable`,t.filterable),t.nsSelect.is(`disabled`,t.selectDisabled)]),onClick:n[11]||=In((...e)=>t.toggleMenu&&t.toggleMenu(...e),[`prevent`])},[t.$slots.prefix?(S(),G(`div`,{key:0,ref:`prefixRef`,class:L(t.nsSelect.e(`prefix`))},[r(t.$slots,`prefix`)],2)):H(`v-if`,!0),K(`div`,{ref:`selectionRef`,class:L([t.nsSelect.e(`selection`),t.nsSelect.is(`near`,t.multiple&&!t.$slots.prefix&&!!t.modelValue.length)])},[t.multiple?r(t.$slots,`tag`,{key:0,data:t.states.cachedOptions,deleteTag:t.deleteTag,selectDisabled:t.selectDisabled},()=>[(S(!0),G(xe,null,Je(t.showTagList,n=>(S(),G(`div`,{key:t.getValueKey(t.getValue(n)),class:L(t.nsSelect.e(`selected-item`))},[q(c,{closable:!t.selectDisabled&&!t.getDisabled(n),size:t.collapseTagSize,type:t.tagType,effect:t.tagEffect,"disable-transitions":``,style:I(t.tagStyle),onClose:e=>t.deleteTag(e,n)},{default:e(()=>[K(`span`,{class:L(t.nsSelect.e(`tags-text`))},[r(t.$slots,`label`,{index:t.getIndex(n),label:t.getLabel(n),value:t.getValue(n)},()=>[ce(R(t.getLabel(n)),1)])],2)]),_:2},1032,[`closable`,`size`,`type`,`effect`,`style`,`onClose`])],2))),128)),t.collapseTags&&t.states.cachedOptions.length>t.maxCollapseTags?(S(),V(l,{key:0,ref:`tagTooltipRef`,disabled:t.dropdownMenuVisible||!t.collapseTagsTooltip,"fallback-placements":t.tagTooltip?.fallbackPlacements??[`bottom`,`top`,`right`,`left`],effect:t.tagTooltip?.effect??t.effect,placement:t.tagTooltip?.placement??`bottom`,"popper-class":t.tagTooltip?.popperClass??t.popperClass,"popper-style":t.tagTooltip?.popperStyle??t.popperStyle,teleported:t.tagTooltip?.teleported??t.teleported,"append-to":t.tagTooltip?.appendTo??t.appendTo,"popper-options":t.tagTooltip?.popperOptions??t.popperOptions,transition:t.tagTooltip?.transition,"show-after":t.tagTooltip?.showAfter,"hide-after":t.tagTooltip?.hideAfter,"auto-close":t.tagTooltip?.autoClose,offset:t.tagTooltip?.offset},{default:e(()=>[K(`div`,{ref:`collapseItemRef`,class:L(t.nsSelect.e(`selected-item`))},[q(c,{closable:!1,size:t.collapseTagSize,type:t.tagType,effect:t.tagEffect,style:I(t.collapseTagStyle),"disable-transitions":``},{default:e(()=>[K(`span`,{class:L(t.nsSelect.e(`tags-text`))},` + `+R(t.states.cachedOptions.length-t.maxCollapseTags),3)]),_:1},8,[`size`,`type`,`effect`,`style`])],2)]),content:e(()=>[K(`div`,{ref:`tagMenuRef`,class:L(t.nsSelect.e(`selection`))},[(S(!0),G(xe,null,Je(t.collapseTagList,n=>(S(),G(`div`,{key:t.getValueKey(t.getValue(n)),class:L(t.nsSelect.e(`selected-item`))},[q(c,{class:`in-tooltip`,closable:!t.selectDisabled&&!t.getDisabled(n),size:t.collapseTagSize,type:t.tagType,effect:t.tagEffect,"disable-transitions":``,onClose:e=>t.deleteTag(e,n)},{default:e(()=>[K(`span`,{class:L(t.nsSelect.e(`tags-text`))},[r(t.$slots,`label`,{index:t.getIndex(n),label:t.getLabel(n),value:t.getValue(n)},()=>[ce(R(t.getLabel(n)),1)])],2)]),_:2},1032,[`closable`,`size`,`type`,`effect`,`onClose`])],2))),128))],2)]),_:3},8,[`disabled`,`fallback-placements`,`effect`,`placement`,`popper-class`,`popper-style`,`teleported`,`append-to`,`popper-options`,`transition`,`show-after`,`hide-after`,`auto-close`,`offset`])):H(`v-if`,!0)]):H(`v-if`,!0),K(`div`,{class:L([t.nsSelect.e(`selected-item`),t.nsSelect.e(`input-wrapper`),t.nsSelect.is(`hidden`,!t.filterable||t.selectDisabled||!t.states.inputValue&&!t.isFocused)])},[K(`input`,{id:t.inputId,ref:`inputRef`,value:t.states.inputValue,style:I(t.inputStyle),autocomplete:t.autocomplete,tabindex:t.tabindex,"aria-autocomplete":`none`,"aria-haspopup":`listbox`,autocapitalize:`off`,"aria-expanded":t.expanded,"aria-label":t.ariaLabel,class:L([t.nsSelect.e(`input`),t.nsSelect.is(t.selectSize)]),disabled:t.selectDisabled,role:`combobox`,"aria-controls":t.contentId,"aria-activedescendant":t.states.hoveringIndex>=0?`${t.contentId}-${t.states.hoveringIndex}`:``,readonly:!t.filterable,spellcheck:`false`,type:`text`,name:t.name,onInput:n[0]||=(...e)=>t.onInput&&t.onInput(...e),onChange:n[1]||=In(()=>{},[`stop`]),onCompositionstart:n[2]||=(...e)=>t.handleCompositionStart&&t.handleCompositionStart(...e),onCompositionupdate:n[3]||=(...e)=>t.handleCompositionUpdate&&t.handleCompositionUpdate(...e),onCompositionend:n[4]||=(...e)=>t.handleCompositionEnd&&t.handleCompositionEnd(...e),onKeydown:[n[5]||=Rn(In(e=>t.onKeyboardNavigate(`backward`),[`stop`,`prevent`]),[`up`]),n[6]||=Rn(In(e=>t.onKeyboardNavigate(`forward`),[`stop`,`prevent`]),[`down`]),n[7]||=Rn(In((...e)=>t.onKeyboardSelect&&t.onKeyboardSelect(...e),[`stop`,`prevent`]),[`enter`]),n[8]||=Rn(In((...e)=>t.handleEsc&&t.handleEsc(...e),[`stop`,`prevent`]),[`esc`]),n[9]||=Rn(In((...e)=>t.handleDel&&t.handleDel(...e),[`stop`]),[`delete`])],onClick:n[10]||=In((...e)=>t.toggleMenu&&t.toggleMenu(...e),[`stop`])},null,46,VV),t.filterable?(S(),G(`span`,{key:0,ref:`calculatorRef`,"aria-hidden":`true`,class:L(t.nsSelect.e(`input-calculator`)),textContent:R(t.states.inputValue)},null,10,HV)):H(`v-if`,!0)],2),t.shouldShowPlaceholder?(S(),G(`div`,{key:1,class:L([t.nsSelect.e(`selected-item`),t.nsSelect.e(`placeholder`),t.nsSelect.is(`transparent`,!t.hasModelValue||t.expanded&&!t.states.inputValue)])},[t.hasModelValue?r(t.$slots,`label`,{key:0,index:t.allOptionsValueMap.get(t.modelValue)?.index??-1,label:t.currentPlaceholder,value:t.modelValue},()=>[K(`span`,null,R(t.currentPlaceholder),1)]):(S(),G(`span`,UV,R(t.currentPlaceholder),1))],2)):H(`v-if`,!0)],2),K(`div`,{ref:`suffixRef`,class:L(t.nsSelect.e(`suffix`))},[t.iconComponent?ge((S(),V(u,{key:0,class:L([t.nsSelect.e(`caret`),t.nsInput.e(`icon`),t.iconReverse])},{default:e(()=>[(S(),V(F(t.iconComponent)))]),_:1},8,[`class`])),[[Rt,!t.showClearBtn]]):H(`v-if`,!0),t.showClearBtn&&t.clearIcon?(S(),V(u,{key:1,class:L([t.nsSelect.e(`caret`),t.nsInput.e(`icon`),t.nsSelect.e(`clear`)]),onClick:In(t.handleClear,[`prevent`,`stop`])},{default:e(()=>[(S(),V(F(t.clearIcon)))]),_:1},8,[`class`,`onClick`])):H(`v-if`,!0),t.validateState&&t.validateIcon&&t.needStatusIcon?(S(),V(u,{key:2,class:L([t.nsInput.e(`icon`),t.nsInput.e(`validateIcon`),t.nsInput.is(`loading`,t.validateState===`validating`)])},{default:e(()=>[(S(),V(F(t.validateIcon)))]),_:1},8,[`class`])):H(`v-if`,!0)],2)],2)]),content:e(()=>[q(d,{id:t.contentId,ref:`menuRef`,data:t.filteredOptions,width:t.popperSize-t.BORDER_HORIZONTAL_WIDTH,"hovering-index":t.states.hoveringIndex,"scrollbar-always-on":t.scrollbarAlwaysOn,"aria-label":t.ariaLabel},ye({default:e(e=>[r(t.$slots,`default`,g(te(e)))]),_:2},[t.$slots.header?{name:`header`,fn:e(()=>[K(`div`,{class:L(t.nsSelect.be(`dropdown`,`header`)),onClick:n[12]||=In(()=>{},[`stop`])},[r(t.$slots,`header`)],2)]),key:`0`}:void 0,t.$slots.loading&&t.loading?{name:`loading`,fn:e(()=>[K(`div`,{class:L(t.nsSelect.be(`dropdown`,`loading`))},[r(t.$slots,`loading`)],2)]),key:`1`}:t.loading||t.filteredOptions.length===0?{name:`empty`,fn:e(()=>[K(`div`,{class:L(t.nsSelect.be(`dropdown`,`empty`))},[r(t.$slots,`empty`,{},()=>[K(`span`,null,R(t.emptyText),1)])],2)]),key:`2`}:void 0,t.$slots.footer?{name:`footer`,fn:e(()=>[K(`div`,{class:L(t.nsSelect.be(`dropdown`,`footer`)),onClick:n[13]||=In(()=>{},[`stop`])},[r(t.$slots,`footer`)],2)]),key:`3`}:void 0]),1032,[`id`,`data`,`width`,`hovering-index`,`scrollbar-always-on`,`aria-label`])]),_:3},8,[`visible`,`teleported`,`popper-class`,`popper-style`,`popper-options`,`fallback-placements`,`effect`,`placement`,`transition`,`persistent`,`append-to`,`show-arrow`,`offset`,`onBeforeShow`])],34)),[[f,t.handleClickOutside,t.popperRef]])}var GV=iv(eE(BV,[[`render`,WV]])),KV=Z({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:X([Number,Object])}}),qV=J({name:`ElSkeletonItem`,__name:`skeleton-item`,props:Z({variant:{type:String,values:[`circle`,`rect`,`h1`,`h3`,`text`,`caption`,`p`,`image`,`button`],default:`text`}}),setup(e){let t=Q(`skeleton`);return(n,r)=>(S(),G(`div`,{class:L([B(t).e(`item`),B(t).e(e.variant)])},[e.variant===`image`?(S(),V(B(Wx),{key:0})):H(`v-if`,!0)],2))}}),JV=iv(J({name:`ElSkeleton`,__name:`skeleton`,props:KV,setup(e,{expose:t}){let n=e,i=Q(`skeleton`),a=bh(Ne(n,`loading`),n.throttle);return t({uiLoading:a}),(t,n)=>B(a)?(S(),G(`div`,s({key:0,class:[B(i).b(),B(i).is(`animated`,e.animated)]},t.$attrs),[(S(!0),G(xe,null,Je(e.count,n=>(S(),G(xe,{key:n},[B(a)?r(t.$slots,`template`,{key:n},()=>[q(qV,{class:L(B(i).is(`first`)),variant:`p`},null,8,[`class`]),(S(!0),G(xe,null,Je(e.rows,t=>(S(),V(qV,{key:t,class:L([B(i).e(`paragraph`),B(i).is(`last`,t===e.rows&&e.rows>1)]),variant:`p`},null,8,[`class`]))),128))]):H(`v-if`,!0)],64))),128))],16)):r(t.$slots,`default`,g(s({key:1},t.$attrs)))}}),{SkeletonItem:qV}),YV=sv(qV),XV=Symbol(`sliderContextKey`),ZV=Z({modelValue:{type:X([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:W_,inputSize:W_,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:X(Function),default:void 0},disabled:{type:Boolean,default:void 0},range:Boolean,vertical:Boolean,height:String,rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:X(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:Pp,default:`top`},marks:{type:X(Object)},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...nv([`ariaLabel`])}),QV=e=>od(e)||u(e)&&e.every(od),$V={[Jn]:QV,[Xn]:QV,[Yn]:QV},eH=(e,t,n)=>{let r=W();return A(async()=>{e.range?(u(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(!od(e.modelValue)||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),$d(window,`resize`,n),await O(),n()}),{sliderWrapper:r}},tH=e=>U(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((e,t)=>e-t).filter(t=>t<=e.max&&t>=e.min).map(t=>({point:t,position:(t-e.min)*100/(e.max-e.min),mark:e.marks[t]})):[]),nH=(e,t,n)=>{let{formItem:r}=dw(),i=he(),a=W(),o=W(),s={firstButton:a,secondButton:o},c=uw(),l=U(()=>Math.min(t.firstValue,t.secondValue)),u=U(()=>Math.max(t.firstValue,t.secondValue)),d=U(()=>e.range?`${100*(u.value-l.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),f=U(()=>e.range?`${100*(l.value-e.min)/(e.max-e.min)}%`:`0%`),p=U(()=>e.vertical?{height:e.height}:{}),m=U(()=>e.vertical?{height:d.value,bottom:f.value}:{width:d.value,left:f.value}),h=()=>{i.value&&(t.sliderSize=i.value.getBoundingClientRect()[e.vertical?`height`:`width`])},g=n=>{let r=e.min+n*(e.max-e.min)/100;if(!e.range)return a;let i;return i=Math.abs(l.value-r)t.secondValue?`firstButton`:`secondButton`,s[i]},_=e=>{let t=g(e);return t.value.setPosition(e),t},v=n=>{t.firstValue=n??e.min,b(e.range?[l.value,u.value]:n??e.min)},y=n=>{t.secondValue=n,e.range&&b([l.value,u.value])},b=e=>{n(Jn,e),n(Xn,e)},x=async()=>{await O(),n(Yn,e.range?[l.value,u.value]:e.modelValue)},S=n=>{if(c.value||t.dragging)return;h();let r=0;if(e.vertical){let e=n.touches?.item(0)?.clientY??n.clientY;r=(i.value.getBoundingClientRect().bottom-e)/t.sliderSize*100}else r=((n.touches?.item(0)?.clientX??n.clientX)-i.value.getBoundingClientRect().left)/t.sliderSize*100;if(!(r<0||r>100))return _(r)};return{elFormItem:r,slider:i,firstButton:a,secondButton:o,sliderDisabled:c,minValue:l,maxValue:u,runwayStyle:p,barStyle:m,resetSize:h,setPosition:_,emitChange:x,onSliderWrapperPrevent:e=>{(s.firstButton.value?.dragging||s.secondButton.value?.dragging)&&e.preventDefault()},onSliderClick:e=>{S(e)&&x()},onSliderDown:async e=>{let t=S(e);t&&(await O(),t.value.onButtonDown(e))},onSliderMarkerDown:e=>{c.value||t.dragging||_(e)&&x()},setFirstValue:v,setSecondValue:y}},rH=(e,t,n,r)=>({stops:U(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step===0)return Cd(`ElSlider`,`step should not be 0.`),[];let i=Math.ceil((e.max-e.min)/e.step),a=100*e.step/(e.max-e.min),o=Array.from({length:i-1}).map((e,t)=>(t+1)*a);return e.range?o.filter(t=>t<100*(n.value-e.min)/(e.max-e.min)||t>100*(r.value-e.min)/(e.max-e.min)):o.filter(n=>n>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:t=>e.vertical?{bottom:`${t}%`}:{left:`${t}%`}}),iH=(e,t,n,r,i,a)=>{let o=e=>{i(Jn,e),i(Xn,e)},s=()=>e.range?![n.value,r.value].every((e,n)=>e===t.oldValue[n]):e.modelValue!==t.oldValue,c=()=>{e.min>e.max&&Sd(`Slider`,`min should not be greater than max.`);let n=e.modelValue;e.range&&u(n)?n[1]e.max?o([e.max,e.max]):n[0]e.max?o([n[0],e.max]):(t.firstValue=n[0],t.secondValue=n[1],s()&&(e.validateEvent&&a?.validate?.(`change`).catch(e=>Cd(e)),t.oldValue=n.slice())):!e.range&&od(n)&&!Number.isNaN(n)&&(ne.max?o(e.max):(t.firstValue=n,s()&&(e.validateEvent&&a?.validate?.(`change`).catch(e=>Cd(e)),t.oldValue=n)))};c(),z(()=>t.dragging,e=>{e||c()}),z(()=>e.modelValue,(e,n)=>{t.dragging||u(e)&&u(n)&&e.every((e,t)=>e===n[t])&&t.firstValue===e[0]&&t.secondValue===e[1]||c()},{deep:!0}),z(()=>[e.min,e.max],()=>{c()})},aH=(e,t,n)=>{let r=W(),i=W(!1),a=U(()=>t.value instanceof Function);return{tooltip:r,tooltipVisible:i,formatValue:U(()=>a.value&&t.value(e.modelValue)||e.modelValue),displayTooltip:gu(()=>{n.value&&(i.value=!0)},50),hideTooltip:gu(()=>{n.value&&(i.value=!1)},50)}},oH=(e,t,n)=>{let{disabled:r,min:i,max:a,step:o,showTooltip:s,persistent:c,precision:l,sliderSize:u,formatTooltip:d,emitChange:f,resetSize:p,updateDragging:m}=P(XV),{tooltip:h,tooltipVisible:g,formatValue:_,displayTooltip:v,hideTooltip:y}=aH(e,d,s),b=W(),x=U(()=>`${(e.modelValue-i.value)/(a.value-i.value)*100}%`),S=U(()=>e.vertical?{bottom:x.value}:{left:x.value}),C=()=>{t.hovering=!0,v()},w=()=>{t.hovering=!1,t.dragging||y()},T=e=>{r.value||(e.preventDefault(),ne(e),window.addEventListener(`mousemove`,re),window.addEventListener(`touchmove`,re),window.addEventListener(`mouseup`,F),window.addEventListener(`touchend`,F),window.addEventListener(`contextmenu`,F),b.value.focus())},E=e=>{r.value||(t.newPosition=Number.parseFloat(x.value)+e/(a.value-i.value)*100,I(t.newPosition),f())},D=()=>{E(-o.value)},k=()=>{E(o.value)},A=()=>{E(-o.value*4)},j=()=>{E(o.value*4)},M=()=>{r.value||(I(0),f())},N=()=>{r.value||(I(100),f())},ee=e=>{let t=mp(e),n=!0;switch(t){case Y.left:case Y.down:D();break;case Y.right:case Y.up:k();break;case Y.home:M();break;case Y.end:N();break;case Y.pageDown:A();break;case Y.pageUp:j();break;default:n=!1;break}n&&e.preventDefault()},te=e=>{let t,n;return e.type.startsWith(`touch`)?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}},ne=n=>{t.dragging=!0,t.isClick=!0;let{clientX:r,clientY:i}=te(n);e.vertical?t.startY=i:t.startX=r,t.startPosition=Number.parseFloat(x.value),t.newPosition=t.startPosition},re=n=>{if(t.dragging){t.isClick=!1,v(),p();let r,{clientX:i,clientY:a}=te(n);e.vertical?(t.currentY=a,r=(t.startY-t.currentY)/u.value*100):(t.currentX=i,r=(t.currentX-t.startX)/u.value*100),t.newPosition=t.startPosition+r,I(t.newPosition)}},F=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||y(),t.isClick||I(t.newPosition),f()},0),window.removeEventListener(`mousemove`,re),window.removeEventListener(`touchmove`,re),window.removeEventListener(`mouseup`,F),window.removeEventListener(`touchend`,F),window.removeEventListener(`contextmenu`,F))},I=async r=>{if(r===null||Number.isNaN(+r))return;r=$o(r,0,100);let s=Math.floor((a.value-i.value)/o.value),c=s*o.value/(a.value-i.value)*100,u=c+(100-c)/2,d;if(rt.dragging,e=>{m(e)}),$d(b,`touchstart`,T,{passive:!1}),{disabled:r,button:b,tooltip:h,tooltipVisible:g,showTooltip:s,persistent:c,wrapperStyle:S,formatValue:_,handleMouseEnter:C,handleMouseLeave:w,onButtonDown:T,onKeyDown:ee,setPosition:I}},sH=Z({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:Pp,default:`top`}}),cH={[Jn]:e=>od(e)},lH=[`tabindex`],uH=J({name:`ElSliderButton`,__name:`button`,props:sH,emits:cH,setup(t,{expose:n,emit:r}){let i=t,a=r,o=Q(`slider`),s=Re({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:i.modelValue}),c=U(()=>f.value?p.value:!1),{disabled:l,button:u,tooltip:d,showTooltip:f,persistent:p,tooltipVisible:m,wrapperStyle:h,formatValue:g,handleMouseEnter:_,handleMouseLeave:v,onButtonDown:y,onKeyDown:b,setPosition:x}=oH(i,s,a),{hovering:C,dragging:w}=Oe(s);return n({onButtonDown:y,onKeyDown:b,setPosition:x,hovering:C,dragging:w}),(t,n)=>(S(),G(`div`,{ref_key:`button`,ref:u,class:L([B(o).e(`button-wrapper`),{hover:B(C),dragging:B(w)}]),style:I(B(h)),tabindex:B(l)?void 0:0,onMouseenter:n[0]||=(...e)=>B(_)&&B(_)(...e),onMouseleave:n[1]||=(...e)=>B(v)&&B(v)(...e),onMousedown:n[2]||=(...e)=>B(y)&&B(y)(...e),onFocus:n[3]||=(...e)=>B(_)&&B(_)(...e),onBlur:n[4]||=(...e)=>B(v)&&B(v)(...e),onKeydown:n[5]||=(...e)=>B(b)&&B(b)(...e)},[q(B(DE),{ref_key:`tooltip`,ref:d,visible:B(m),placement:t.placement,"fallback-placements":[`top`,`bottom`,`right`,`left`],"stop-popper-mouse-event":!1,"popper-class":t.tooltipClass,disabled:!B(f),persistent:c.value},{content:e(()=>[K(`span`,null,R(B(g)),1)]),default:e(()=>[K(`div`,{class:L([B(o).e(`button`),{hover:B(C),dragging:B(w)}])},null,2)]),_:1},8,[`visible`,`placement`,`popper-class`,`disabled`,`persistent`])],46,lH))}}),dH=J({name:`ElSliderMarker`,props:Z({mark:{type:X([String,Object]),default:void 0}}),setup(e){let t=Q(`slider`),n=U(()=>v(e.mark)?e.mark:e.mark.label),r=U(()=>v(e.mark)?void 0:e.mark.style);return()=>a(`div`,{class:t.e(`marks-text`),style:r.value},n.value)}}),fH=[`id`,`role`,`aria-label`,`aria-labelledby`],pH={key:1},mH=iv(J({name:`ElSlider`,__name:`slider`,props:ZV,emits:$V,setup(e,{expose:t,emit:n}){let r=e,i=n,a=Q(`slider`),{t:o}=Yf(),s=Re({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:c,slider:l,firstButton:u,secondButton:d,sliderDisabled:f,minValue:p,maxValue:m,runwayStyle:h,barStyle:g,resetSize:_,emitChange:v,onSliderWrapperPrevent:y,onSliderClick:b,onSliderDown:x,onSliderMarkerDown:C,setFirstValue:w,setSecondValue:T}=nH(r,s,i),{stops:E,getStopStyle:D}=rH(r,s,p,m),{inputId:O,isLabeledByFormItem:k}=fw(r,{formItemContext:c}),A=lw(),j=U(()=>r.inputSize||A.value),M=U(()=>r.ariaLabel||o(`el.slider.defaultLabel`,{min:r.min,max:r.max})),ee=U(()=>r.range?r.rangeStartLabel||o(`el.slider.defaultRangeStartLabel`):M.value),te=U(()=>r.formatValueText?r.formatValueText(R.value):`${R.value}`),ne=U(()=>r.rangeEndLabel||o(`el.slider.defaultRangeEndLabel`)),P=U(()=>r.formatValueText?r.formatValueText(oe.value):`${oe.value}`),re=U(()=>[a.b(),a.m(A.value),a.is(`vertical`,r.vertical),{[a.m(`with-input`)]:r.showInput}]),F=tH(r);iH(r,s,p,m,i,c);let ie=U(()=>{let e=[r.min,r.max,r.step].map(e=>{let t=`${e}`.split(`.`)[1];return t?t.length:0});return Math.max.apply(null,e)}),{sliderWrapper:ae}=eH(r,s,_),{firstValue:R,secondValue:oe,sliderSize:se}=Oe(s),z=e=>{s.dragging=e};return $d(ae,`touchstart`,y,{passive:!1}),$d(ae,`touchmove`,y,{passive:!1}),N(XV,{...Oe(r),sliderSize:se,disabled:f,precision:ie,emitChange:v,resetSize:_,updateDragging:z}),t({onSliderClick:b}),(e,t)=>(S(),G(`div`,{id:e.range?B(O):void 0,ref_key:`sliderWrapper`,ref:ae,class:L(re.value),role:e.range?`group`:void 0,"aria-label":e.range&&!B(k)?M.value:void 0,"aria-labelledby":e.range&&B(k)?B(c)?.labelId:void 0},[K(`div`,{ref_key:`slider`,ref:l,class:L([B(a).e(`runway`),{"show-input":e.showInput&&!e.range},B(a).is(`disabled`,B(f))]),style:I(B(h)),onMousedown:t[0]||=(...e)=>B(x)&&B(x)(...e),onTouchstartPassive:t[1]||=(...e)=>B(x)&&B(x)(...e)},[K(`div`,{class:L(B(a).e(`bar`)),style:I(B(g))},null,6),q(uH,{id:e.range?void 0:B(O),ref_key:`firstButton`,ref:u,"model-value":B(R),vertical:e.vertical,"tooltip-class":e.tooltipClass,placement:e.placement,role:`slider`,"aria-label":e.range||!B(k)?ee.value:void 0,"aria-labelledby":!e.range&&B(k)?B(c)?.labelId:void 0,"aria-valuemin":e.min,"aria-valuemax":e.range?B(oe):e.max,"aria-valuenow":B(R),"aria-valuetext":te.value,"aria-orientation":e.vertical?`vertical`:`horizontal`,"aria-disabled":B(f),"onUpdate:modelValue":B(w)},null,8,[`id`,`model-value`,`vertical`,`tooltip-class`,`placement`,`aria-label`,`aria-labelledby`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-orientation`,`aria-disabled`,`onUpdate:modelValue`]),e.range?(S(),V(uH,{key:0,ref_key:`secondButton`,ref:d,"model-value":B(oe),vertical:e.vertical,"tooltip-class":e.tooltipClass,placement:e.placement,role:`slider`,"aria-label":ne.value,"aria-valuemin":B(R),"aria-valuemax":e.max,"aria-valuenow":B(oe),"aria-valuetext":P.value,"aria-orientation":e.vertical?`vertical`:`horizontal`,"aria-disabled":B(f),"onUpdate:modelValue":B(T)},null,8,[`model-value`,`vertical`,`tooltip-class`,`placement`,`aria-label`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-orientation`,`aria-disabled`,`onUpdate:modelValue`])):H(`v-if`,!0),e.showStops?(S(),G(`div`,pH,[(S(!0),G(xe,null,Je(B(E),(e,t)=>(S(),G(`div`,{key:t,class:L(B(a).e(`stop`)),style:I(B(D)(e))},null,6))),128))])):H(`v-if`,!0),B(F).length>0?(S(),G(xe,{key:2},[K(`div`,null,[(S(!0),G(xe,null,Je(B(F),(e,t)=>(S(),G(`div`,{key:t,style:I(B(D)(e.position)),class:L([B(a).e(`stop`),B(a).e(`marks-stop`)])},null,6))),128))]),K(`div`,{class:L(B(a).e(`marks`))},[(S(!0),G(xe,null,Je(B(F),(e,t)=>(S(),V(B(dH),{key:t,mark:e.mark,style:I(B(D)(e.position)),onMousedown:In(t=>B(C)(e.position),[`stop`])},null,8,[`mark`,`style`,`onMousedown`]))),128))],2)],64)):H(`v-if`,!0)],38),e.showInput&&!e.range?(S(),V(B(ER),{key:0,ref:`input`,"model-value":B(R),class:L(B(a).e(`input`)),step:e.step,disabled:B(f),controls:e.showInputControls,min:e.min,max:e.max,precision:ie.value,size:j.value,"onUpdate:modelValue":B(w),onChange:B(v)},null,8,[`model-value`,`class`,`step`,`disabled`,`controls`,`min`,`max`,`precision`,`size`,`onUpdate:modelValue`,`onChange`])):H(`v-if`,!0)],10,fH))}})),hH=J({name:`ElSpaceItem`,props:Z({prefixCls:{type:String}}),setup(e,{slots:t}){let n=Q(`space`),i=U(()=>`${e.prefixCls||n.b()}__item`);return()=>a(`div`,{class:i.value},r(t,`default`))}}),gH={small:8,default:12,large:16};function _H(e){let t=Q(`space`),n=U(()=>[t.b(),t.m(e.direction),e.class]),r=W(0),i=W(0),a=U(()=>[e.wrap||e.fill?{flexWrap:`wrap`}:{},{alignItems:e.alignment},{rowGap:`${i.value}px`,columnGap:`${r.value}px`},e.style]),o=U(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return M(()=>{let{size:t=`small`,wrap:n,direction:a,fill:o}=e;if(u(t)){let[e=0,n=0]=t;r.value=e,i.value=n}else{let e;e=od(t)?t:gH[t||`small`]||gH.small,(n||o)&&a===`horizontal`?r.value=i.value=e:a===`horizontal`?(r.value=e,i.value=0):(i.value=e,r.value=0)}}),{classes:n,containerStyle:a,itemStyle:o}}var vH=iv(J({name:`ElSpace`,props:Z({direction:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},class:{type:X([String,Object,Array]),default:``},style:{type:X([String,Array,Object]),default:``},alignment:{type:X(String),default:`center`},prefixCls:{type:String},spacer:{type:X([Object,String,Number,Array]),default:null,validator:e=>l(e)||od(e)||v(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:Qn,validator:e=>od(e)||u(e)&&e.length===2&&e.every(od)}}),setup(e,{slots:t}){let{classes:n,containerStyle:i,itemStyle:a}=_H(e);function o(t,n=``,r=[]){let{prefixCls:i}=e;return t.forEach((e,t)=>{L_(e)?u(e.children)&&e.children.forEach((e,t)=>{L_(e)&&u(e.children)?o(e.children,`${n+t}-`,r):l(e)&&e?.type===Fe?r.push(e):r.push(q(hH,{style:a.value,prefixCls:i,key:`nested-${n+t}`},{default:()=>[e]},I_.PROPS|I_.STYLE,[`style`,`prefixCls`]))}):z_(e)&&r.push(q(hH,{style:a.value,prefixCls:i,key:`LoopKey${n+t}`},{default:()=>[e]},I_.PROPS|I_.STYLE,[`style`,`prefixCls`]))}),r}return()=>{let{spacer:s,direction:c}=e,d=r(t,`default`,{key:0},()=>[]);if((d.children??[]).length===0)return null;if(u(d.children)){let e=o(d.children);if(s){let t=e.length-1;e=e.reduce((e,n,r)=>{let i=[...e,n];return r!==t&&i.push(q(`span`,{style:[a.value,c===`vertical`?`width: 100%`:null],key:r},[l(s)?s:ce(s,I_.TEXT)],I_.STYLE)),i},[])}return q(`div`,{class:n.value,style:i.value},e,I_.STYLE|I_.CLASS)}return d.children}}})),yH=Z({space:{type:[Number,String],default:``},active:{type:Number,default:0},direction:{type:String,default:`horizontal`,values:[`horizontal`,`vertical`]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:[`wait`,`process`,`finish`,`error`,`success`],default:`finish`},processStatus:{type:String,values:[`wait`,`process`,`finish`,`error`,`success`],default:`process`}}),bH={[Yn]:(e,t)=>[e,t].every(od)},xH=`ElSteps`,SH=Z({title:{type:String,default:``},icon:{type:FC},description:{type:String,default:``},status:{type:String,values:[``,`wait`,`process`,`finish`,`error`,`success`],default:``}}),CH=J({name:`ElSteps`,__name:`steps`,props:yH,emits:bH,setup(e,{emit:t}){let n=e,i=t,a=Q(`steps`),{children:o,addChild:s,removeChild:c,ChildrenSorter:l}=U_(de(),`ElStep`);return z(o,()=>{o.value.forEach((e,t)=>{e.setIndex(t)})}),N(xH,{props:n,steps:o,addStep:s,removeStep:c}),z(()=>n.active,(e,t)=>{i(Yn,e,t)}),(t,n)=>(S(),G(`div`,{class:L([B(a).b(),B(a).m(e.simple?`simple`:e.direction)])},[r(t.$slots,`default`),q(B(l))],2))}}),wH=J({name:`ElStep`,__name:`item`,props:SH,setup(t){let n=t,i=Q(`step`),a=W(-1),o=W({}),s=W(``),c=P(xH),l=de(),u=0,d=0;A(()=>{z([()=>c.props.active,()=>c.props.processStatus,()=>c.props.finishStatus],([e],[t])=>{d=t||0,u=e-d,T(e)},{immediate:!0})});let f=U(()=>n.status||s.value),p=U(()=>{let e=c.steps.value[a.value-1];return e?e.internalStatus.value:`wait`}),m=U(()=>c.props.alignCenter),h=U(()=>c.props.direction===`vertical`),g=U(()=>c.props.simple),_=U(()=>c.steps.value.length),v=U(()=>c.steps.value[_.value-1]?.uid===l.uid),y=U(()=>g.value?``:c.props.space),b=U(()=>[i.b(),i.is(g.value?`simple`:c.props.direction),i.is(`flex`,v.value&&!y.value&&!m.value),i.is(`center`,m.value&&!h.value&&!g.value)]),x=U(()=>{let e={flexBasis:od(y.value)?`${y.value}px`:y.value?y.value:`${100/(_.value-(m.value?0:1))}%`};return h.value||v.value&&(e.maxWidth=`${100/_.value}%`),e}),C=e=>{a.value=e},w=e=>{let t=e===`wait`,n={transitionDelay:`${Math.abs(u)===1?0:u>0?(a.value+1-d)*150:-(a.value+1-c.props.active)*150}ms`},r=e===c.props.processStatus||t?0:100;n.borderWidth=r&&!g.value?`1px`:0,n[c.props.direction===`vertical`?`height`:`width`]=`${r}%`,o.value=n},T=e=>{e>a.value?s.value=c.props.finishStatus:e===a.value&&p.value!==`error`?s.value=c.props.processStatus:s.value=`wait`;let t=c.steps.value[a.value-1];t&&t.calcProgress(s.value)},E={uid:l.uid,getVnode:()=>l.vnode,currentStatus:f,internalStatus:s,setIndex:C,calcProgress:w};return c.addStep(E),Ce(()=>{c.removeStep(E)}),(n,s)=>(S(),G(`div`,{style:I(x.value),class:L(b.value)},[H(` icon & line `),K(`div`,{class:L([B(i).e(`head`),B(i).is(f.value)])},[g.value?H(`v-if`,!0):(S(),G(`div`,{key:0,class:L(B(i).e(`line`))},[K(`i`,{class:L(B(i).e(`line-inner`)),style:I(o.value)},null,6)],2)),K(`div`,{class:L([B(i).e(`icon`),B(i).is(t.icon||n.$slots.icon?`icon`:`text`)])},[r(n.$slots,`icon`,{},()=>[t.icon?(S(),V(B($),{key:0,class:L(B(i).e(`icon-inner`))},{default:e(()=>[(S(),V(F(t.icon)))]),_:1},8,[`class`])):f.value===`success`?(S(),V(B($),{key:1,class:L([B(i).e(`icon-inner`),B(i).is(`status`)])},{default:e(()=>[q(B(ey))]),_:1},8,[`class`])):f.value===`error`?(S(),V(B($),{key:2,class:L([B(i).e(`icon-inner`),B(i).is(`status`)])},{default:e(()=>[q(B(py))]),_:1},8,[`class`])):g.value?H(`v-if`,!0):(S(),G(`div`,{key:3,class:L(B(i).e(`icon-inner`))},R(a.value+1),3))])],2)],2),H(` title & description `),K(`div`,{class:L(B(i).e(`main`))},[K(`div`,{class:L([B(i).e(`title`),B(i).is(f.value)])},[r(n.$slots,`title`,{},()=>[ce(R(t.title),1)])],2),g.value?(S(),G(`div`,{key:0,class:L(B(i).e(`arrow`))},null,2)):(S(),G(`div`,{key:1,class:L([B(i).e(`description`),B(i).is(f.value)])},[r(n.$slots,`description`,{},()=>[ce(R(t.description),1)])],2))],2)],6))}}),TH=iv(CH,{Step:wH}),EH=sv(wH),DH=e=>[``,...Qn].includes(e),OH=Z({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void 0},loading:Boolean,size:{type:String,validator:DH},width:{type:[String,Number],default:``},inlinePrompt:Boolean,inactiveActionIcon:{type:FC},activeActionIcon:{type:FC},activeIcon:{type:FC},inactiveIcon:{type:FC},activeText:{type:String,default:``},inactiveText:{type:String,default:``},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:``},validateEvent:{type:Boolean,default:!0},beforeChange:{type:X(Function)},id:String,tabindex:{type:[String,Number]},...nv([`ariaLabel`])}),kH={[Jn]:e=>ad(e)||v(e)||od(e),[Yn]:e=>ad(e)||v(e)||od(e),[Xn]:e=>ad(e)||v(e)||od(e)},AH=[`id`,`aria-checked`,`aria-disabled`,`aria-label`,`name`,`true-value`,`false-value`,`disabled`,`tabindex`],jH=[`aria-hidden`],MH={key:1},NH={key:1},PH=[`aria-hidden`],FH=`ElSwitch`,IH=iv(J({name:FH,__name:`switch`,props:OH,emits:kH,setup(t,{expose:n,emit:i}){let a=t,o=i,{formItem:s}=dw(),c=lw(),l=Q(`switch`),{inputId:u}=fw(a,{formItemContext:s}),d=uw(U(()=>{if(a.loading)return!0})),f=W(a.modelValue!==!1),p=he(),m=U(()=>[l.b(),l.m(c.value),l.is(`disabled`,d.value),l.is(`checked`,y.value)]),h=U(()=>[l.e(`label`),l.em(`label`,`left`),l.is(`active`,!y.value)]),g=U(()=>[l.e(`label`),l.em(`label`,`right`),l.is(`active`,y.value)]),_=U(()=>({width:Hf(a.width)}));z(()=>a.modelValue,()=>{f.value=!0});let v=U(()=>f.value?a.modelValue:!1),y=U(()=>v.value===a.activeValue);[a.activeValue,a.inactiveValue].includes(v.value)||(o(Jn,a.inactiveValue),o(Yn,a.inactiveValue),o(Xn,a.inactiveValue)),z(y,e=>{p.value.checked=e,a.validateEvent&&s?.validate?.(`change`).catch(e=>Cd(e))});let b=()=>{let e=y.value?a.inactiveValue:a.activeValue;o(Jn,e),o(Yn,e),o(Xn,e),O(()=>{p.value.checked=y.value})},x=()=>{if(d.value)return;let{beforeChange:e}=a;if(!e){b();return}let t=e();[D(t),ad(t)].includes(!0)||Sd(FH,"beforeChange must return type `Promise` or `boolean`"),D(t)?t.then(e=>{e&&b()}).catch(e=>{Cd(FH,`some error occurred: ${e}`)}):t&&b()};return A(()=>{p.value.checked=y.value}),n({focus:()=>{p.value?.focus?.()},checked:y}),(n,i)=>(S(),G(`div`,{class:L(m.value),onClick:In(x,[`prevent`])},[K(`input`,{id:B(u),ref_key:`input`,ref:p,class:L(B(l).e(`input`)),type:`checkbox`,role:`switch`,"aria-checked":y.value,"aria-disabled":B(d),"aria-label":t.ariaLabel,name:t.name,"true-value":t.activeValue,"false-value":t.inactiveValue,disabled:B(d),tabindex:t.tabindex,onChange:b,onKeydown:Rn(x,[`enter`])},null,42,AH),!t.inlinePrompt&&(t.inactiveIcon||t.inactiveText||n.$slots.inactive)?(S(),G(`span`,{key:0,class:L(h.value)},[r(n.$slots,`inactive`,{},()=>[t.inactiveIcon?(S(),V(B($),{key:0},{default:e(()=>[(S(),V(F(t.inactiveIcon)))]),_:1})):H(`v-if`,!0),!t.inactiveIcon&&t.inactiveText?(S(),G(`span`,{key:1,"aria-hidden":y.value},R(t.inactiveText),9,jH)):H(`v-if`,!0)])],2)):H(`v-if`,!0),K(`span`,{class:L(B(l).e(`core`)),style:I(_.value)},[t.inlinePrompt?(S(),G(`div`,{key:0,class:L(B(l).e(`inner`))},[y.value?(S(),G(`div`,{key:1,class:L(B(l).e(`inner-wrapper`))},[r(n.$slots,`active`,{},()=>[t.activeIcon?(S(),V(B($),{key:0},{default:e(()=>[(S(),V(F(t.activeIcon)))]),_:1})):H(`v-if`,!0),!t.activeIcon&&t.activeText?(S(),G(`span`,NH,R(t.activeText),1)):H(`v-if`,!0)])],2)):(S(),G(`div`,{key:0,class:L(B(l).e(`inner-wrapper`))},[r(n.$slots,`inactive`,{},()=>[t.inactiveIcon?(S(),V(B($),{key:0},{default:e(()=>[(S(),V(F(t.inactiveIcon)))]),_:1})):H(`v-if`,!0),!t.inactiveIcon&&t.inactiveText?(S(),G(`span`,MH,R(t.inactiveText),1)):H(`v-if`,!0)])],2))],2)):H(`v-if`,!0),K(`div`,{class:L(B(l).e(`action`))},[t.loading?(S(),V(B($),{key:0,class:L(B(l).is(`loading`))},{default:e(()=>[q(B($b))]),_:1},8,[`class`])):y.value?r(n.$slots,`active-action`,{key:1},()=>[t.activeActionIcon?(S(),V(B($),{key:0},{default:e(()=>[(S(),V(F(t.activeActionIcon)))]),_:1})):H(`v-if`,!0)]):y.value?H(`v-if`,!0):r(n.$slots,`inactive-action`,{key:2},()=>[t.inactiveActionIcon?(S(),V(B($),{key:0},{default:e(()=>[(S(),V(F(t.inactiveActionIcon)))]),_:1})):H(`v-if`,!0)])],2)],6),!t.inlinePrompt&&(t.activeIcon||t.activeText||n.$slots.active)?(S(),G(`span`,{key:1,class:L(g.value)},[r(n.$slots,`active`,{},()=>[t.activeIcon?(S(),V(B($),{key:0},{default:e(()=>[(S(),V(F(t.activeIcon)))]),_:1})):H(`v-if`,!0),!t.activeIcon&&t.activeText?(S(),G(`span`,{key:1,"aria-hidden":!y.value},R(t.activeText),9,PH)):H(`v-if`,!0)])],2)):H(`v-if`,!0)],2))}})),LH=function(e){return e.target?.closest(`td`)},RH=function(e,t,r,i,a){if(!t&&!i&&(!a||u(a)&&!a.length))return e;r=v(r)?r===`descending`?-1:1:r&&r<0?-1:1;let o=i?null:function(r,i){return a?Au(Zo(a),t=>v(t)?Fo(r,t):t(r,i,e)):(t!==`$key`&&n(r)&&`$value`in r&&(r=r.$value),[n(r)?t?Fo(r,t):null:r])},s=function(e,t){if(i)return i(e.value,t.value);for(let n=0,r=e.key?.length??0;nt.key?.[n])return 1}return 0};return e.map((e,t)=>({value:e,index:t,key:o?o(e,t):null})).sort((e,t)=>{let n=s(e,t);return n||=e.index-t.index,n*+r}).map(e=>e.value)},zH=function(e,t){let n=null;return e.columns.forEach(e=>{e.id===t&&(n=e)}),n},BH=function(e,t){let n=null;for(let r=0;r{if(!e)throw Error(`Row is required when get row identity`);if(v(t)){if(!t.includes(`.`))return`${e[t]}`;let n=t.split(`.`),r=e;for(let e of n)r=r[e];return`${r}`}else if(k(t))return t.call(null,e);return``},UH=function(e,t,n=!1,r=`children`){let i=e||[],a={};return i.forEach((e,i)=>{if(a[HH(e,t)]={row:e,index:i},n){let n=e[r];u(n)&&Object.assign(a,UH(n,t,!0,r))}}),a};function WH(e,t){let n={},r;for(r in e)n[r]=e[r];for(r in t)if(ne(t,r)){let e=t[r];id(e)||(n[r]=e)}return n}function GH(e){return e===``||id(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e=``)),e}function KH(e){return e===``||id(e)||(e=GH(e),Number.isNaN(e)&&(e=80)),e}function qH(e){return od(e)?e:v(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function JH(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function YH(e,t,n,r,i,a,o){let s=a??0,c=!1,l=(()=>{if(!o)return e.indexOf(t);let n=HH(t,o);return e.findIndex(e=>HH(e,o)===n)})(),d=l!==-1,f=i?.call(null,t,s),p=n=>{n===`add`?e.push(t):e.splice(l,1),c=!0},m=e=>{let t=0,n=r?.children&&e[r.children];return n&&u(n)&&(t+=n.length,n.forEach(e=>{t+=m(e)})),t};return(!i||f)&&(ad(n)?n&&!d?p(`add`):!n&&d&&p(`remove`):p(d?`remove`:`add`)),!r?.checkStrictly&&r?.children&&u(t[r.children])&&t[r.children].forEach(t=>{let a=YH(e,t,n??!d,r,i,s+1,o);s+=m(t)+1,a&&(c=a)}),c}function XH(e,t,n=`children`,r=`hasChildren`,i=!1){let a=e=>!(u(e)&&e.length);function o(e,s,c){t(e,s,c),s.forEach(e=>{if(e[r]&&i){t(e,null,c+1);return}let s=e[n];a(s)||o(e,s,c+1)})}e.forEach(e=>{if(e[r]&&i){t(e,null,0);return}let s=e[n];a(s)||o(e,s,0)})}var ZH=(e,t,n,r)=>{let i={strategy:`fixed`,...e.popperOptions},a=k(r?.tooltipFormatter)?r.tooltipFormatter({row:n,column:r,cellValue:md(n,r.property).value}):void 0;return l(a)?{slotContent:a,content:null,...e,popperOptions:i}:{slotContent:null,content:a??t,...e,popperOptions:i}},QH=null;function $H(e,t,n,r,i,a){let o=ZH(e,t,n,r),s={...o,slotContent:void 0};if(QH?.trigger===i){let e=QH.vm?.component;zu(e?.props,s),e&&o.slotContent&&(e.slots.content=()=>[o.slotContent]);return}QH?.();let c=a?.refs.tableWrapper,l=c?.dataset.prefix,u=q(DE,{virtualTriggering:!0,virtualRef:i,appendTo:c,placement:`top`,transition:`none`,offset:0,hideAfter:0,...s},o.slotContent?{content:()=>o.slotContent}:void 0);u.appContext={...a.appContext,...a};let d=document.createElement(`div`);Hn(u,d),u.component.exposed.onOpen();let f=c?.querySelector(`.${l}-scrollbar__wrap`);QH=()=>{u.component?.exposed?.onClose&&u.component.exposed.onClose(),Hn(null,d);let e=QH;f?.removeEventListener(`scroll`,e),e.trigger=void 0,e.vm=void 0,QH=null},QH.trigger=i??void 0,QH.vm=u,f?.addEventListener(`scroll`,QH)}function eU(e){return e.children?Au(e.children,eU):[e]}function tU(e,t){return e+t.colSpan}var nU=(e,t,n,r)=>{let i=0,a=e,o=n.states.columns.value;if(r){let t=eU(r[e]);i=o.slice(0,o.indexOf(t[0])).reduce(tU,0),a=i+t.reduce(tU,0)-1}else i=e;let s;switch(t){case`left`:a=o.length-n.states.rightFixedLeafColumnsLength.value&&(s=`right`);break;default:a=o.length-n.states.rightFixedLeafColumnsLength.value&&(s=`right`)}return s?{direction:s,start:i,after:a}:{}},rU=(e,t,n,r,i,a=0)=>{let o=[],{direction:s,start:c,after:l}=nU(t,n,r,i);if(s){let t=s===`left`;o.push(`${e}-fixed-column--${s}`),t&&l+a===r.states.fixedLeafColumnsLength.value-1?o.push(`is-last-column`):!t&&c-a===r.states.columns.value.length-r.states.rightFixedLeafColumnsLength.value&&o.push(`is-first-column`)}return o};function iU(e,t){return e+(Lu(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}var aU=(e,t,n,r)=>{let{direction:i,start:a=0,after:o=0}=nU(e,t,n,r);if(!i)return;let s={},c=i===`left`,l=n.states.columns.value;return c?s.left=l.slice(0,a).reduce(iU,0):s.right=l.slice(o+1).reverse().reduce(iU,0),s},oU=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function sU(e){return e.some(e=>l(e)?!(e.type===Fe||e.type===xe&&!sU(e.children)):!0)?e:null}function cU(e){let t=de(),n=W(!1),r=W([]),i=(e,n)=>{let r=t.store.states.rowExpandable.value;return r?.(e,n)??!0};return{updateExpandRows:()=>{let a=e.data.value||[],o=e.rowKey.value;if(n.value)r.value=t.store.states.rowExpandable.value?a.filter(i):a.slice();else if(o){let e=UH(r.value,o);r.value=a.filter((t,n)=>!!e[HH(t,o)]&&i(t,n))}else r.value=[]},toggleRowExpansion:(n,a)=>{let o=(e.data.value||[]).indexOf(n);o>-1&&!i(n,o)||YH(r.value,n,a,void 0,void 0,void 0,e.rowKey.value)&&t.emit(`expand-change`,n,r.value.slice())},setExpandRowKeys:n=>{t.store.assertRowKey();let a=e.data.value||[],o=e.rowKey.value,s=UH(a,o);r.value=n.reduce((e,t)=>{let n=s[t];return n&&i(n.row,n.index)&&e.push(n.row),e},[])},isRowExpanded:t=>{let n=e.rowKey.value;return n?!!UH(r.value,n)[HH(t,n)]:r.value.includes(t)},states:{expandRows:r,defaultExpandAll:n}}}function lU(e){let t=de(),n=W(null),r=W(null),i=e=>{t.store.assertRowKey(),n.value=e,o(e)},a=()=>{n.value=null},o=n=>{let{data:i,rowKey:a}=e,o=r.value,s=null;a.value&&(s=(B(i)||[]).find(e=>HH(e,a.value)===n)??null),r.value=s??null,t.emit(`current-change`,r.value,o)};return{setCurrentRowKey:i,restoreCurrentRowKey:a,setCurrentRowByKey:o,updateCurrentRow:e=>{let n=r.value;if(e&&e!==n){r.value=e,t.emit(`current-change`,r.value,n);return}!e&&n&&(r.value=null,t.emit(`current-change`,null,n))},updateCurrentRowData:()=>{let i=e.rowKey.value,s=e.data.value||[],c=r.value;c&&!s.includes(c)?i?o(HH(c,i)):(r.value=null,t.emit(`current-change`,null,c)):n.value&&(o(n.value),a())},states:{_currentRowKey:n,currentRow:r}}}function uU(e){let t=W([]),n=W({}),r=W(16),i=W(!1),a=W({}),o=W(`hasChildren`),s=W(`children`),c=W(!1),l=de(),d=U(()=>e.rowKey.value?p(e.data.value||[]):{}),f=U(()=>{let t=e.rowKey.value,n=Object.keys(a.value),r={};return n.length&&n.forEach(e=>{if(a.value[e].length){let n={children:[]};a.value[e].forEach(e=>{let i=HH(e,t);n.children.push(i),e[o.value]&&!r[i]&&(r[i]={children:[]})}),r[e]=n}}),r}),p=t=>{let n=e.rowKey.value,r={};return XH(t,(e,t,a)=>{let o=HH(e,n);u(t)?r[o]={children:t.map(e=>HH(e,n)),level:a}:i.value&&(r[o]={children:[],lazy:!0,level:a})},s.value,o.value,i.value),r},m=(e=!1,r)=>{r||=l.store?.states.defaultExpandAll.value;let a=d.value,o=f.value,s=Object.keys(a),c={};if(s.length){let l=B(n),u=[],d=(n,i)=>{if(e)return t.value?r||t.value.includes(i):!!(r||n?.expanded);{let e=r||t.value&&t.value.includes(i);return!!(n?.expanded||e)}};s.forEach(e=>{let t=l[e],n={...a[e]};if(n.expanded=d(t,e),n.lazy){let{loaded:r=!1,loading:i=!1}=t||{};n.loaded=!!r,n.loading=!!i,u.push(e)}c[e]=n});let f=Object.keys(o);i.value&&f.length&&u.length&&f.forEach(e=>{let t=l[e],n=o[e].children;if(u.includes(e)){if(c[e].children?.length!==0)throw Error(`[ElTable]children must be an empty array.`);c[e].children=n}else{let{loaded:r=!1,loading:i=!1}=t||{};c[e]={lazy:!0,loaded:!!r,loading:!!i,expanded:d(t,e),children:n,level:void 0}}})}n.value=c,l.store?.updateTableScrollY()};z(()=>t.value,()=>{m(!0)}),z(()=>d.value,()=>{m()}),z(()=>f.value,()=>{m()});let h=e=>{t.value=e,m()},g=e=>i.value&&e&&`loaded`in e&&!e.loaded,_=(t,r)=>{l.store.assertRowKey();let i=e.rowKey.value,a=HH(t,i),o=a&&n.value[a];if(a&&o&&`expanded`in o){let e=o.expanded;r=id(r)?!o.expanded:r,n.value[a].expanded=r,e!==r&&l.emit(`expand-change`,t,r),r&&g(o)&&y(t,a,o),l.store.updateTableScrollY()}},v=t=>{l.store.assertRowKey();let r=e.rowKey.value,i=HH(t,r),a=n.value[i];g(a)?y(t,i,a):_(t,void 0)},y=(e,t,r)=>{let{load:i}=l.props;i&&!n.value[t].loaded&&(n.value[t].loading=!0,i(e,r,r=>{if(!u(r))throw TypeError(`[ElTable] data must be an array`);n.value[t].loading=!1,n.value[t].loaded=!0,n.value[t].expanded=!0,r.length&&(a.value[t]=r),l.emit(`expand-change`,e,!0)}))};return{loadData:y,loadOrToggle:v,toggleTreeExpansion:_,updateTreeExpandKeys:h,updateTreeData:m,updateKeyChildren:(e,t)=>{let{lazy:n,rowKey:r}=l.props;if(n){if(!r)throw Error(`[Table] rowKey is required in updateKeyChild`);a.value[e]&&(a.value[e]=t)}},normalize:p,states:{expandRowKeys:t,treeData:n,indent:r,lazy:i,lazyTreeNodeMap:a,lazyColumnIdentifier:o,childrenColumnName:s,checkStrictly:c}}}var dU=(e,t)=>{let n=t.sortingColumn;return!n||v(n.sortable)?e:RH(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},fU=e=>{let t=[];return e.forEach(e=>{e.children&&e.children.length>0?t.push.apply(t,fU(e.children)):t.push(e)}),t};function pU(){let e=de(),{size:t}=Oe(e.proxy?.$props),n=W(null),r=W([]),i=W([]),a=W(!1),o=W([]),s=W([]),c=W([]),l=W([]),d=W([]),f=W([]),p=W([]),m=W([]),h=[],g=W(0),_=W(0),y=W(0),b=W(!1),x=W([]),S=W(!1),C=W(!1),w=W(null),T=W(null),E=W({}),D=W(null),O=W(null),k=W(null),A=W(null),j=W(null),M=U(()=>n.value?UH(x.value,n.value):void 0);z(r,()=>{e.state&&(P(!1),e.props.tableLayout===`auto`&&e.refs.tableHeaderRef?.updateFixedColumnStyle())},{deep:!0});let N=()=>{if(!n.value)throw Error(`[ElTable] prop row-key is required`)},ee=e=>{e.children?.forEach(t=>{t.fixed=e.fixed,ee(t)})},te=()=>{o.value.forEach(e=>{ee(e)}),l.value=o.value.filter(e=>[!0,`left`].includes(e.fixed));let e=o.value.find(e=>e.type===`selection`),t;e&&e.fixed!==`right`&&!l.value.includes(e)&&o.value.indexOf(e)===0&&l.value.length&&(l.value.unshift(e),t=!0),d.value=o.value.filter(e=>e.fixed===`right`);let n=o.value.filter(e=>(t?e.type!==`selection`:!0)&&!e.fixed);s.value=Array.from(l.value).concat(n).concat(d.value);let r=fU(n),i=fU(l.value),u=fU(d.value);g.value=r.length,_.value=i.length,y.value=u.length,c.value=Array.from(i).concat(r).concat(u),a.value=l.value.length>0||d.value.length>0},P=(t,n=!1)=>{t&&te(),n?e.state.doLayout():e.state.debouncedUpdateLayout()},re=e=>M.value?!!M.value[HH(e,n.value)]:x.value.includes(e),F=()=>{b.value=!1;let t=x.value;x.value=[],t.length&&e.emit(`selection-change`,[])},I=()=>{let t;if(n.value){t=[];let i=e?.store?.states?.childrenColumnName.value,a=UH(r.value,n.value,!0,i);for(let e in M.value)ne(M.value,e)&&!a[e]&&t.push(M.value[e].row)}else t=x.value.filter(e=>!r.value.includes(e));if(t.length){let n=x.value.filter(e=>!t.includes(e));x.value=n,e.emit(`selection-change`,n.slice())}},ie=()=>(x.value||[]).slice(),L=(t,i,a=!0,o=!1)=>{let s={children:e?.store?.states?.childrenColumnName.value,checkStrictly:e?.store?.states?.checkStrictly.value};if(YH(x.value,t,i,s,o?void 0:w.value,r.value.indexOf(t),n.value)){let n=(x.value||[]).slice();a&&e.emit(`select`,n,t),e.emit(`selection-change`,n)}},ae=()=>{let t=C.value?!b.value:!(b.value||x.value.length);b.value=t;let n=!1,i=0,a=e?.store?.states?.rowKey.value,{childrenColumnName:o}=e.store.states,s={children:o.value,checkStrictly:!1};r.value.forEach((e,r)=>{let o=r+i;YH(x.value,e,t,s,w.value,o,a)&&(n=!0),i+=oe(HH(e,a))}),n&&e.emit(`selection-change`,x.value?x.value.slice():[]),e.emit(`select-all`,(x.value||[]).slice())},R=()=>{if(r.value?.length===0){b.value=!1;return}let{childrenColumnName:t}=e.store.states,n=0,i=0,a=e=>{for(let r of e){let e=w.value&&w.value.call(null,r,n);if(re(r))i++;else if(!w.value||e)return!1;if(n++,r[t.value]?.length&&!a(r[t.value]))return!1}return!0},o=a(r.value||[]);b.value=i===0?!1:o},oe=t=>{if(!e||!e.store)return 0;let{treeData:n}=e.store.states,r=0,i=n.value[t]?.children;return i&&(r+=i.length,i.forEach(e=>{r+=oe(e)})),r},se=(e,t)=>{let n={};return Zo(e).forEach(e=>{E.value[e.id]=t,n[e.columnKey||e.id]=t}),n},ce=(e,t,n)=>{O.value&&O.value!==e&&(O.value.order=null),O.value=e,k.value=t,A.value=n},le=()=>{let e=B(i);Object.keys(E.value).forEach(t=>{let n=E.value[t];if(!n||n.length===0)return;let r=zH({columns:c.value},t);r&&r.filterMethod&&(e=e.filter(e=>n.some(t=>r.filterMethod.call(null,t,e,r))))}),D.value=e},ue=()=>{r.value=dU(D.value??[],{sortingColumn:O.value,sortProp:k.value,sortOrder:A.value})},fe=(e=void 0)=>{e?.filter||le(),ue()},pe=t=>{let{tableHeaderRef:n}=e.refs;if(!n)return;let r=Object.assign({},n.filterPanels),i=Object.keys(r);if(i.length)if(v(t)&&(t=[t]),u(t)){let n=t.map(e=>BH({columns:c.value},e));i.forEach(e=>{let t=n.find(t=>t.id===e);t&&(t.filteredValue=[])}),e.store.commit(`filterChange`,{column:n,values:[],silent:!0,multi:!0})}else i.forEach(e=>{let t=c.value.find(t=>t.id===e);t&&(t.filteredValue=[])}),E.value={},e.store.commit(`filterChange`,{column:{},values:[],silent:!0})},me=()=>{O.value&&(ce(null,null,null),e.store.commit(`changeSortCondition`,{silent:!0}))},{setExpandRowKeys:V,toggleRowExpansion:he,updateExpandRows:ge,states:H,isRowExpanded:_e}=cU({data:r,rowKey:n}),{updateTreeExpandKeys:ve,toggleTreeExpansion:ye,updateTreeData:be,updateKeyChildren:xe,loadOrToggle:Se,states:Ce}=uU({data:r,rowKey:n}),{updateCurrentRowData:we,updateCurrentRow:Te,setCurrentRowKey:Ee,states:De}=lU({data:r,rowKey:n});return{assertRowKey:N,updateColumns:te,scheduleLayout:P,isSelected:re,clearSelection:F,cleanSelection:I,getSelectionRows:ie,toggleRowSelection:L,_toggleAllSelection:ae,toggleAllSelection:null,updateAllSelected:R,updateFilters:se,updateCurrentRow:Te,updateSort:ce,execFilter:le,execSort:ue,execQuery:fe,clearFilter:pe,clearSort:me,toggleRowExpansion:he,setExpandRowKeysAdapter:e=>{V(e),ve(e)},setCurrentRowKey:Ee,toggleRowExpansionAdapter:(e,t)=>{c.value.some(({type:e})=>e===`expand`)?he(e,t):ye(e,t)},isRowExpanded:_e,updateExpandRows:ge,updateCurrentRowData:we,loadOrToggle:Se,updateTreeData:be,updateKeyChildren:xe,states:{tableSize:t,rowKey:n,data:r,_data:i,isComplex:a,_columns:o,originColumns:s,columns:c,fixedColumns:l,rightFixedColumns:d,leafColumns:f,fixedLeafColumns:p,rightFixedLeafColumns:m,updateOrderFns:h,leafColumnsLength:g,fixedLeafColumnsLength:_,rightFixedLeafColumnsLength:y,isAllSelected:b,selection:x,reserveSelection:S,selectOnIndeterminate:C,selectable:w,rowExpandable:T,filters:E,filteredData:D,sortingColumn:O,sortProp:k,sortOrder:A,hoverRow:j,...H,...Ce,...De}}}function mU(e,t){return e.map(e=>e.id===t.id?t:(e.children?.length&&(e.children=mU(e.children,t)),e))}function hU(e){e.forEach(e=>{e.no=e.getColumnIndex?.(),e.children?.length&&hU(e.children)}),e.sort((e,t)=>e.no-t.no)}function gU(){let e=de(),t=pU(),n=Q(`table`),{t:r}=Yf(),i={setData(t,n){let r=B(t._data)!==n;t.data.value=n,t._data.value=n,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),B(t.reserveSelection)?e.store.assertRowKey():r?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(t,n,r,i){let a=B(t._columns),o=[];r?(r&&!r.children&&(r.children=[]),r.children?.push(n),o=mU(a,r)):(a.push(n),o=a),hU(o),t._columns.value=o,t.updateOrderFns.push(i),n.type===`selection`&&(t.selectable.value=n.selectable,t.reserveSelection.value=n.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(t,n){n.getColumnIndex?.()!==n.no&&(hU(t._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(t,n,r,i){let a=B(t._columns)||[];if(r)r.children?.splice(r.children.findIndex(e=>e.id===n.id),1),O(()=>{r.children?.length===0&&delete r.children}),t._columns.value=mU(a,r);else{let e=a.indexOf(n);e>-1&&(a.splice(e,1),t._columns.value=a)}let o=t.updateOrderFns.indexOf(i);o>-1&&t.updateOrderFns.splice(o,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(t,n){let{prop:r,order:i,init:a}=n;if(r){let n=B(t.columns).find(e=>e.property===r);n&&(n.order=i,e.store.updateSort(n,r,i),e.store.commit(`changeSortCondition`,{init:a}))}},changeSortCondition(t,n){let{sortingColumn:r,sortProp:i,sortOrder:a}=t,o=B(r),s=B(i),c=B(a);Lu(c)&&(t.sortingColumn.value=null,t.sortProp.value=null),e.store.execQuery({filter:!0}),(!n||!(n.silent||n.init))&&e.emit(`sort-change`,{column:o,prop:s,order:c}),e.store.updateTableScrollY()},filterChange(t,n){let{column:r,values:i,silent:a}=n,o=e.store.updateFilters(r,i);e.store.execQuery(),a||e.emit(`filter-change`,o),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection?.()},rowSelectedChanged(t,n){e.store.toggleRowSelection(n),e.store.updateAllSelected()},setHoverRow(e,t){e.hoverRow.value=t},setCurrentRow(t,n){e.store.updateCurrentRow(n)}},a=function(t,...n){let r=e.store.mutations;if(r[t])r[t].apply(e,[e.store.states,...n]);else throw Error(`Action not found: ${t}`)},o=function(){O(()=>e.layout.updateScrollY.apply(e.layout))};return{ns:n,t:r,...t,mutations:i,commit:a,updateTableScrollY:o}}var _U={rowKey:`rowKey`,defaultExpandAll:`defaultExpandAll`,rowExpandable:`rowExpandable`,selectOnIndeterminate:`selectOnIndeterminate`,indent:`indent`,lazy:`lazy`,"treeProps.hasChildren":{key:`lazyColumnIdentifier`,default:`hasChildren`},"treeProps.children":{key:`childrenColumnName`,default:`children`},"treeProps.checkStrictly":{key:`checkStrictly`,default:!1}};function vU(e,t){if(!e)throw Error(`Table is required.`);let n=gU();return n.toggleAllSelection=gu(n._toggleAllSelection,10),Object.keys(_U).forEach(e=>{bU(xU(t,e),e,n)}),yU(n,t),n}function yU(e,t){Object.keys(_U).forEach(n=>{z(()=>xU(t,n),t=>{bU(t,n,e)})})}function bU(e,t,r){let i=e,a=_U[t];n(a)&&(i||=a.default,a=a.key),r.states[a].value=i}function xU(e,t){if(t.includes(`.`)){let n=t.split(`.`),r=e;return n.forEach(e=>{r=r[e]}),r}else return e[t]}var SU=class{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=W(null),this.scrollX=W(!1),this.scrollY=W(!1),this.bodyWidth=W(null),this.fixedWidth=W(null),this.rightFixedWidth=W(null),this.gutterWidth=0;for(let t in e)ne(e,t)&&(Se(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw Error(`Table is required for Table Layout`);if(!this.store)throw Error(`Store is required for Table Layout`)}updateScrollY(){let e=this.height.value;if(Lu(e))return!1;let t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&t?.wrapRef){let e=!0,n=this.scrollY.value;return e=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=e,n!==e}return!1}setHeight(e,t=`height`){if(!Md)return;let n=this.table.vnode.el;if(e=qH(e),this.height.value=Number(e),!n&&(e||e===0)){O(()=>this.setHeight(e,t));return}n&&od(e)?(n.style[t]=`${e}px`,this.updateElsHeight()):n&&v(e)&&(n.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,`max-height`)}getFlattenColumns(){let e=[];return this.table.store.states.columns.value.forEach(t=>{t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers(`scrollable`)}headerDisplayNone(e){if(!e)return!0;let t=e;for(;t.tagName!==`DIV`;){if(getComputedStyle(t).display===`none`)return!0;t=t.parentElement}return!1}updateColumnsWidth(){if(!Md)return;let e=this.fit,t=this.table.vnode.el?.clientWidth,n=0,r=this.getFlattenColumns(),i=r.filter(e=>!od(e.width));if(r.forEach(e=>{od(e.width)&&e.realWidth&&(e.realWidth=null)}),i.length>0&&e){if(r.forEach(e=>{n+=Number(e.width||e.minWidth||80)}),n<=t){this.scrollX.value=!1;let e=t-n;if(i.length===1)i[0].realWidth=Number(i[0].minWidth||80)+e;else{let t=e/i.reduce((e,t)=>e+Number(t.minWidth||80),0),n=0;i.forEach((e,r)=>{if(r===0)return;let i=Math.floor(Number(e.minWidth||80)*t);n+=i,e.realWidth=Number(e.minWidth||80)+i}),i[0].realWidth=Number(i[0].minWidth||80)+e-n}}else this.scrollX.value=!0,i.forEach(e=>{e.realWidth=Number(e.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else r.forEach(e=>{!e.width&&!e.minWidth?e.realWidth=80:e.realWidth=Number(e.width||e.minWidth),n+=e.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;let a=this.store.states.fixedColumns.value;if(a.length>0){let e=0;a.forEach(t=>{e+=Number(t.realWidth||t.width)}),this.fixedWidth.value=e}let o=this.store.states.rightFixedColumns.value;if(o.length>0){let e=0;o.forEach(t=>{e+=Number(t.realWidth||t.width)}),this.rightFixedWidth.value=e}this.notifyObservers(`columns`)}addObserver(e){this.observers.push(e)}removeObserver(e){let t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(t=>{switch(e){case`columns`:t.state?.onColumnsChange(this);break;case`scrollable`:t.state?.onScrollableChange(this);break;default:throw Error(`Table Layout don't have event ${e}.`)}})}},CU=Symbol(`ElTable`),wU=e=>{let t=[];return e.forEach(e=>{e.children?(t.push(e),t.push.apply(t,wU(e.children))):t.push(e)}),t},TU=e=>{let t=1,n=(e,r)=>{if(r&&(e.level=r.level+1,t{n(r,e),t+=r.colSpan}),e.colSpan=t}else e.colSpan=1};e.forEach(e=>{e.level=1,n(e,void 0)});let r=[];for(let e=0;e{e.children?(e.rowSpan=1,e.children.forEach(e=>e.isSubColumn=!0)):e.rowSpan=t-e.level+1,r[e.level-1].push(e)}),r};function EU(e){let t=P(CU),n=U(()=>TU(e.store.states.originColumns.value));return{isGroup:U(()=>{let e=n.value.length>1;return e&&t&&(t.state.isGroup.value=!0),e}),toggleAllSelection:e=>{e.stopPropagation(),t?.store.commit(`toggleAllSelection`)},columnRows:n}}var DU=J({name:`ElTableFilterPanel`,components:{ElCheckbox:Kj,ElCheckboxGroup:Jj,ElScrollbar:tD,ElTooltip:DE,ElIcon:$,ArrowDown:_v,ArrowUp:Cv},props:{placement:{type:String,default:`bottom-start`},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:pE.appendTo},setup(e){let t=de(),{t:n}=Yf(),r=Q(`table-filter`),i=t?.parent;e.column&&!i.filterPanels.value[e.column.id]&&(i.filterPanels.value[e.column.id]=t);let a=W(null),o=W(null),s=W(0),c=U(()=>e.column&&e.column.filters),l=U(()=>e.column&&e.column.filterClassName?`${r.b()} ${e.column.filterClassName}`:r.b()),u=U({get:()=>(e.column?.filteredValue||[])[0],set:e=>{d.value&&(ld(e)?d.value.splice(0,1):d.value.splice(0,1,e))}}),d=U({get(){return e.column&&e.column.filteredValue||[]},set(t){e.column&&e.upDataColumn?.(`filteredValue`,t)}}),f=U(()=>e.column?e.column.filterMultiple:!0),p=e=>e.value===u.value,m=()=>{a.value?.onClose()},h=()=>{v(d.value),m()},g=()=>{d.value=[],v(d.value),m()},_=(e,t)=>{u.value=e,s.value=t,ld(e)?v([]):v(d.value),m()},v=t=>{e.store?.commit(`filterChange`,{column:e.column,values:t}),e.store?.updateAllSelected()},y=()=>{o.value?.focus(),!f.value&&x(),e.column&&e.upDataColumn?.(`filterOpened`,!0)},b=()=>{e.column&&e.upDataColumn?.(`filterOpened`,!1)},x=()=>{if(ld(u)){s.value=0;return}let e=(c.value||[]).findIndex(e=>e.value===u.value);s.value=e>=0?e+1:0};return{multiple:f,filterClassName:l,filteredValue:d,filterValue:u,filters:c,handleConfirm:h,handleReset:g,handleSelect:_,isPropAbsent:ld,isActive:p,t:n,ns:r,tooltipRef:a,rootRef:o,checkedIndex:s,handleShowTooltip:y,handleHideTooltip:b,handleKeydown:e=>{let t=mp(e),n=(c.value?c.value.length:0)+1,i=s.value,a=!0;switch(t){case Y.down:case Y.right:i=(i+1)%n;break;case Y.up:case Y.left:i=(i-1+n)%n;break;case Y.tab:m(),a=!1;break;case Y.enter:case Y.space:if(i===0)_(null,0);else{let e=(c.value||[])[i-1];e.value&&_(e.value,i)}break;default:a=!1;break}a&&e.preventDefault(),s.value=i,o.value?.querySelector(`.${r.e(`list-item`)}:nth-child(${i+1})`)?.focus()}}}}),OU=[`disabled`],kU=[`tabindex`,`aria-checked`],AU=[`tabindex`,`aria-checked`,`onClick`],jU=[`aria-label`];function MU(t,n,i,a,o,s){let c=ie(`el-checkbox`),l=ie(`el-checkbox-group`),u=ie(`el-scrollbar`),d=ie(`arrow-up`),f=ie(`arrow-down`),p=ie(`el-icon`),m=ie(`el-tooltip`);return S(),V(m,{ref:`tooltipRef`,offset:0,placement:t.placement,"show-arrow":!1,trigger:`click`,role:`dialog`,teleported:``,effect:`light`,pure:``,loop:``,"popper-class":t.filterClassName,persistent:``,"append-to":t.appendTo,onShow:t.handleShowTooltip,onHide:t.handleHideTooltip},{content:e(()=>[t.multiple?(S(),G(`div`,{key:0,ref:`rootRef`,tabindex:`-1`,class:L(t.ns.e(`multiple`))},[K(`div`,{class:L(t.ns.e(`content`))},[q(u,{"wrap-class":t.ns.e(`wrap`)},{default:e(()=>[q(l,{modelValue:t.filteredValue,"onUpdate:modelValue":n[0]||=e=>t.filteredValue=e,class:L(t.ns.e(`checkbox-group`))},{default:e(()=>[(S(!0),G(xe,null,Je(t.filters,t=>(S(),V(c,{key:t.value,value:t.value},{default:e(()=>[ce(R(t.text),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`,`class`])]),_:1},8,[`wrap-class`])],2),K(`div`,{class:L(t.ns.e(`bottom`))},[K(`button`,{class:L(t.ns.is(`disabled`,t.filteredValue.length===0)),disabled:t.filteredValue.length===0,type:`button`,onClick:n[1]||=(...e)=>t.handleConfirm&&t.handleConfirm(...e)},R(t.t(`el.table.confirmFilter`)),11,OU),K(`button`,{type:`button`,onClick:n[2]||=(...e)=>t.handleReset&&t.handleReset(...e)},R(t.t(`el.table.resetFilter`)),1)],2)],2)):(S(),G(`ul`,{key:1,ref:`rootRef`,tabindex:`-1`,role:`radiogroup`,class:L(t.ns.e(`list`)),onKeydown:n[4]||=(...e)=>t.handleKeydown&&t.handleKeydown(...e)},[K(`li`,{role:`radio`,class:L([t.ns.e(`list-item`),t.ns.is(`active`,t.isPropAbsent(t.filterValue))]),tabindex:t.checkedIndex===0?0:-1,"aria-checked":t.isPropAbsent(t.filterValue),onClick:n[3]||=e=>t.handleSelect(null,0)},R(t.t(`el.table.clearFilter`)),11,kU),(S(!0),G(xe,null,Je(t.filters,(e,n)=>(S(),G(`li`,{key:e.value,role:`radio`,class:L([t.ns.e(`list-item`),t.ns.is(`active`,t.isActive(e))]),tabindex:t.checkedIndex===n+1?0:-1,"aria-checked":t.isActive(e),onClick:r=>t.handleSelect(e.value,n+1)},R(e.text),11,AU))),128))],34))]),default:e(()=>[K(`button`,{type:`button`,class:L(`${t.ns.namespace.value}-table__column-filter-trigger`),"aria-label":t.t(`el.table.filterLabel`,{column:t.column?.label||``})},[q(p,null,{default:e(()=>[r(t.$slots,`filter-icon`,{},()=>[t.column?.filterOpened?(S(),V(d,{key:0})):(S(),V(f,{key:1}))])]),_:3})],10,jU)]),_:3},8,[`placement`,`popper-class`,`append-to`,`onShow`,`onHide`])}var NU=eE(DU,[[`render`,MU]]);function PU(e){let n=de();t(()=>{r.value.addObserver(n)}),A(()=>{i(r.value),a(r.value)}),_(()=>{i(r.value),a(r.value)}),d(()=>{r.value.removeObserver(n)});let r=U(()=>{let t=e.layout;if(!t)throw Error(`Can not find table layout.`);return t}),i=t=>{let n=e.vnode.el?.querySelectorAll(`colgroup > col`)||[];if(!n.length)return;let r=t.getFlattenColumns(),i={};r.forEach(e=>{i[e.id]=e});for(let e=0,t=n.length;e{let n=e.vnode.el?.querySelectorAll(`colgroup > col[name=gutter]`)||[];for(let e=0,r=n.length;e{e.stopPropagation()},a=(e,t)=>{!t.filters&&t.sortable?m(e,t,!1):t.filterable&&!t.sortable&&i(e),r?.emit(`header-click`,t,e)},o=(e,t)=>{r?.emit(`header-contextmenu`,t,e)},s=W(null),c=W(!1),l=W(),u=(i,a)=>{if(Md&&!(a.children&&a.children.length>0)&&s.value&&e.border&&s.value.id===a.id){c.value=!0;let o=r;t(`set-drag-visible`,!0);let u=(o?.vnode.el)?.getBoundingClientRect().left,d=n?.vnode?.el?.querySelector(`th.${a.id}`),f=d.getBoundingClientRect(),p=f.left-u+30;Rf(d,`noclick`),l.value={startMouseLeft:i.clientX,startLeft:f.right-u,startColumnLeft:f.left-u,tableLeft:u};let m=o?.refs.resizeProxy;m.style.left=`${l.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};let h=e=>{let t=e.clientX-l.value.startMouseLeft,n=l.value.startLeft+t;m.style.left=`${Math.max(p,n)}px`},g=()=>{if(c.value){let{startColumnLeft:n,startLeft:r}=l.value;a.width=a.realWidth=Number.parseInt(m.style.left,10)-n,o?.emit(`header-dragend`,a.width,r-n,a,i),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor=``,c.value=!1,s.value=null,l.value=void 0,t(`set-drag-visible`,!1)}document.removeEventListener(`mousemove`,h),document.removeEventListener(`mouseup`,g),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{zf(d,`noclick`)},0)};document.addEventListener(`mousemove`,h),document.addEventListener(`mouseup`,g)}},d=(t,n)=>{if(!e.border||n.children&&n.children.length>0)return;let r=t.target,i=cd(r)?r.closest(`th`):null;if(!i)return;let a=Lf(i,`is-sortable`);if(a){let e=c.value?`col-resize`:``;i.style.cursor=e;let t=i.querySelector(`.caret-wrapper`);t&&(t.style.cursor=e)}if(!n.resizable||c.value){s.value=null;return}let o=i.getBoundingClientRect(),l=i.parentNode?.lastElementChild===i,u=e.allowDragLastColumn||!l,d=o.width>12&&o.right-t.clientX<8&&u,f=d?`col-resize`:``;document.body.style.cursor=f,s.value=d?n:null,a&&(i.style.cursor=f)},f=()=>{!Md||c.value||(document.body.style.cursor=``)},p=({order:e,sortOrders:t})=>{if(e===``)return t[0];let n=t.indexOf(e||null);return t[n>t.length-2?0:n+1]},m=(t,n,i)=>{t.stopPropagation();let a=n.order===i?null:i||p(n),o=t.target?.closest(`th`);if(o&&Lf(o,`noclick`)){zf(o,`noclick`);return}if(!n.sortable)return;let s=t.currentTarget;if([`ascending`,`descending`].some(e=>Lf(s,e)&&!n.sortOrders.includes(e)))return;let c=e.store.states,l=c.sortProp.value,u,d=c.sortingColumn.value;(d!==n||d===n&&Lu(d.order))&&(d&&(d.order=null),c.sortingColumn.value=n,l=n.property),u=a?n.order=a:n.order=null,c.sortProp.value=l,c.sortOrder.value=u,r?.store.commit(`changeSortCondition`)};return{handleHeaderClick:a,handleHeaderContextMenu:o,handleMouseDown:u,handleMouseMove:d,handleMouseOut:f,handleSortClick:m,handleFilterClick:i}}function IU(e){let t=P(CU),n=Q(`table`);return{getHeaderRowStyle:e=>{let n=t?.props.headerRowStyle;return k(n)?n.call(null,{rowIndex:e}):n},getHeaderRowClass:e=>{let n=[],r=t?.props.headerRowClassName;return v(r)?n.push(r):k(r)&&n.push(r.call(null,{rowIndex:e})),n.join(` `)},getHeaderCellStyle:(n,r,i,a)=>{let o=t?.props.headerCellStyle??{};k(o)&&(o=o.call(null,{rowIndex:n,columnIndex:r,row:i,column:a}));let s=aU(r,a.fixed,e.store,i);return oU(s,`left`),oU(s,`right`),Object.assign({},o,s)},getHeaderCellClass:(r,i,a,o)=>{let s=rU(n.b(),i,o.fixed,e.store,a),c=[o.id,o.order,o.headerAlign,o.className,o.labelClassName,...s];o.children||c.push(`is-leaf`),o.sortable&&c.push(`is-sortable`);let l=t?.props.headerCellClassName;return v(l)?c.push(l):k(l)&&c.push(l.call(null,{rowIndex:r,columnIndex:i,row:a,column:o})),c.push(n.e(`cell`)),c.filter(e=>!!e).join(` `)}}}var LU=J({name:`ElTableHeader`,components:{ElCheckbox:Kj},props:{fixed:{type:String,default:``},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:``,order:``})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){let n=de(),r=P(CU),i=Q(`table`),a=W({}),{onColumnsChange:o,onScrollableChange:s}=PU(r),c=r?.props.tableLayout===`auto`,l=Re(new Map),u=W(),d,f=()=>{d=setTimeout(()=>{l.size>0&&(l.forEach((e,t)=>{let n=u.value.querySelector(`.${t.replace(/\s/g,`.`)}`);n&&(e.width=n.getBoundingClientRect().width||e.width)}),l.clear())})};z(l,f),Ce(()=>{d&&=(clearTimeout(d),void 0)}),A(async()=>{await O(),await O();let{prop:t,order:n}=e.defaultSort;r?.store.commit(`sort`,{prop:t,order:n,init:!0}),f()});let{handleHeaderClick:p,handleHeaderContextMenu:m,handleMouseDown:h,handleMouseMove:g,handleMouseOut:_,handleSortClick:v,handleFilterClick:y}=FU(e,t),{getHeaderRowStyle:b,getHeaderRowClass:x,getHeaderCellStyle:S,getHeaderCellClass:C}=IU(e),{isGroup:w,toggleAllSelection:T,columnRows:E}=EU(e),{t:D}=Yf();return n.state={onColumnsChange:o,onScrollableChange:s},n.filterPanels=a,{ns:i,t:D,filterPanels:a,onColumnsChange:o,onScrollableChange:s,columnRows:E,getHeaderRowClass:x,getHeaderRowStyle:b,getHeaderCellClass:C,getHeaderCellStyle:S,handleHeaderClick:p,handleHeaderContextMenu:m,handleMouseDown:h,handleMouseMove:g,handleMouseOut:_,handleSortClick:v,handleFilterClick:y,isGroup:w,toggleAllSelection:T,saveIndexSelection:l,isTableLayoutAuto:c,theadRef:u,updateFixedColumnStyle:f}},render(){let{ns:e,t,isGroup:n,columnRows:r,getHeaderCellStyle:i,getHeaderCellClass:o,getHeaderRowClass:s,getHeaderRowStyle:c,handleHeaderClick:l,handleHeaderContextMenu:u,handleMouseDown:d,handleMouseMove:f,handleSortClick:p,handleMouseOut:m,store:h,$parent:g,saveIndexSelection:_,isTableLayoutAuto:v}=this,y=1;return a(`thead`,{ref:`theadRef`,class:e.is(`group`,n)},r.map((e,n)=>a(`tr`,{class:s(n),key:n,style:c(n)},e.map((r,s)=>{r.rowSpan>y&&(y=r.rowSpan);let c=o(n,s,e,r);return v&&r.fixed&&_.set(c,r),a(`th`,{class:c,colspan:r.colSpan,key:`${r.id}-thead`,rowspan:r.rowSpan,scope:r.colSpan>1?`colgroup`:`col`,ariaSort:r.sortable?r.order:void 0,style:i(n,s,e,r),onClick:e=>{e.currentTarget?.classList.contains(`noclick`)||l(e,r)},onContextmenu:e=>u(e,r),onMousedown:e=>d(e,r),onMousemove:e=>f(e,r),onMouseout:m},[a(`div`,{class:[`cell`,r.filteredValue&&r.filteredValue.length>0?`highlight`:``]},[r.renderHeader?r.renderHeader({column:r,$index:s,store:h,_self:g}):r.label,r.sortable&&a(`button`,{type:`button`,class:`caret-wrapper`,"aria-label":t(`el.table.sortLabel`,{column:r.label||``}),onClick:e=>p(e,r)},[a(`i`,{onClick:e=>p(e,r,`ascending`),class:`sort-caret ascending`}),a(`i`,{onClick:e=>p(e,r,`descending`),class:`sort-caret descending`})]),r.filterable&&a(NU,{store:h,placement:r.filterPlacement||`bottom-start`,appendTo:g?.appendFilterPanelTo,column:r,upDataColumn:(e,t)=>{r[e]=t}},{"filter-icon":()=>r.renderFilterIcon?r.renderFilterIcon({filterOpened:r.filterOpened}):null})])])}))))}});function RU(e,t,n=.03){return e-t>n}function zU(e){let t=P(CU),n=W(``),r=W(a(`div`)),i=(n,r,i)=>{let a=t,o=LH(n),s=null,c=a?.vnode.el?.dataset.prefix;o&&(s=VH({columns:e.store?.states.columns.value??[]},o,c),s&&a?.emit(`cell-${i}`,r,s,o,n)),a?.emit(`row-${i}`,r,s,n)},o=(e,t)=>{i(e,t,`dblclick`)},s=(t,n)=>{e.store?.commit(`setCurrentRow`,n),i(t,n,`click`)},c=(e,t)=>{i(e,t,`contextmenu`)},l=gu(t=>{e.store?.commit(`setHoverRow`,t)},30),u=gu(()=>{e.store?.commit(`setHoverRow`,null)},30),d=e=>{let t=window.getComputedStyle(e,null);return{left:Number.parseInt(t.paddingLeft,10)||0,right:Number.parseInt(t.paddingRight,10)||0,top:Number.parseInt(t.paddingTop,10)||0,bottom:Number.parseInt(t.paddingBottom,10)||0}},f=(e,t,n)=>{let r=t?.target?.parentNode;for(;e>1&&(r=r?.nextSibling,!(!r||r.nodeName!==`TR`));)n(r,`hover-row hover-fixed-row`),e--};return{handleDoubleClick:o,handleClick:s,handleContextMenu:c,handleMouseEnter:l,handleMouseLeave:u,handleCellMouseEnter:(n,r,i)=>{if(!t)return;let a=t,o=LH(n),s=a?.vnode.el?.dataset.prefix,c=null;if(o){if(c=VH({columns:e.store?.states.columns.value??[]},o,s),!c)return;o.rowSpan>1&&f(o.rowSpan,n,Rf);let t=a.hoverState={cell:o,column:c,row:r};a?.emit(`cell-mouse-enter`,t.row,t.column,t.cell,n)}if(!i){QH?.trigger===o&&QH?.();return}let l=n.target.querySelector(`.cell`);if(!(Lf(l,`${s}-tooltip`)&&l.childNodes.length&&l.textContent?.trim()))return;let u=document.createRange();u.setStart(l,0),u.setEnd(l,l.childNodes.length);let{width:p,height:m}=u.getBoundingClientRect(),{width:h,height:g}=l.getBoundingClientRect(),{top:_,left:v,right:y,bottom:b}=d(l),x=v+y,S=_+b;RU(p+x,h)||RU(m+S,g)||RU(l.scrollWidth,h)?$H(i,(o?.innerText||o?.textContent)??``,r,c,o,a):QH?.trigger===o&&QH?.()},handleCellMouseLeave:e=>{let n=LH(e);if(!n)return;n.rowSpan>1&&f(n.rowSpan,e,zf);let r=t?.hoverState;t?.emit(`cell-mouse-leave`,r?.row,r?.column,r?.cell,e)},tooltipContent:n,tooltipTrigger:r}}function BU(e){let t=P(CU),r=Q(`table`);return{getRowStyle:(e,n)=>{let r=t?.props.rowStyle;return k(r)?r.call(null,{row:e,rowIndex:n}):r||null},getRowClass:(n,i,a)=>{let o=[r.e(`row`)];t?.props.highlightCurrentRow&&n===e.store?.states.currentRow.value&&o.push(`current-row`),e.stripe&&a%2==1&&o.push(r.em(`row`,`striped`));let s=t?.props.rowClassName;return v(s)?o.push(s):k(s)&&o.push(s.call(null,{row:n,rowIndex:i})),o},getCellStyle:(n,r,i,a)=>{let o=t?.props.cellStyle,s=o??{};k(o)&&(s=o.call(null,{rowIndex:n,columnIndex:r,row:i,column:a}));let c=aU(r,e?.fixed,e.store);return oU(c,`left`),oU(c,`right`),Object.assign({},s,c)},getCellClass:(n,i,a,o,s)=>{let c=rU(r.b(),i,e?.fixed,e.store,void 0,s),l=[o.id,o.align,o.className,...c],u=t?.props.cellClassName;return v(u)?l.push(u):k(u)&&l.push(u.call(null,{rowIndex:n,columnIndex:i,row:a,column:o})),l.push(r.e(`cell`)),l.filter(e=>!!e).join(` `)},getSpan:(e,r,i,a)=>{let o=1,s=1,c=t?.props.spanMethod;if(k(c)){let t=c({row:e,column:r,rowIndex:i,columnIndex:a});u(t)?(o=t[0],s=t[1]):n(t)&&(o=t.rowspan,s=t.colspan)}return{rowspan:o,colspan:s}},getColspanRealWidth:(e,t,n)=>{if(t<1)return e[n].realWidth;let r=e.map(({realWidth:e,width:t})=>e||t).slice(n,n+t);return Number(r.reduce((e,t)=>Number(e)+Number(t),-1))}}}var VU=[`colspan`,`rowspan`],HU=J({name:`TableTdWrapper`,__name:`td-wrapper`,props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(S(),G(`td`,{colspan:e.colspan,rowspan:e.rowspan},[r(t.$slots,`default`)],8,VU))}});function UU(e){let t=P(CU),n=Q(`table`),{handleDoubleClick:r,handleClick:i,handleContextMenu:o,handleMouseEnter:s,handleMouseLeave:c,handleCellMouseEnter:l,handleCellMouseLeave:u,tooltipContent:d,tooltipTrigger:f}=zU(e),{getRowStyle:p,getRowClass:m,getCellStyle:h,getCellClass:g,getSpan:_,getColspanRealWidth:v}=BU(e),y=-1,b=U(()=>e.store?.states.columns.value.findIndex(({type:e})=>e===`default`)),x=(e,n)=>{let r=t?.props?.rowKey;return r?HH(e,r):n},S=(d,f,S,w=!1)=>{let{tooltipEffect:T,tooltipOptions:E,store:D}=e,{indent:O,columns:k}=D.states,A=[],j=!0;return S&&(A.push(n.em(`row`,`level-${S.level}`)),j=!!S.display),f===0&&(y=-1),e.stripe&&j&&y++,A.push(...m(d,f,y)),a(`tr`,{style:[j?null:{display:`none`},p(d,f)],class:A,key:x(d,f),onDblclick:e=>r(e,d),onClick:e=>i(e,d),onContextmenu:e=>o(e,d),onMouseenter:()=>s(f),onMouseleave:c},k.value.map((n,r)=>{let{rowspan:i,colspan:o}=_(d,n,f,r);if(!i||!o)return null;let s=Object.assign({},n);s.realWidth=v(k.value,o,r);let c={store:D,_self:e.context||t,column:s,row:d,$index:f,cellIndex:r,expanded:w};r===b.value&&S&&(c.treeNode={indent:S.level&&S.level*O.value,level:S.level},ad(S.expanded)&&(c.treeNode.expanded=S.expanded,`loading`in S&&(c.treeNode.loading=S.loading),`noLazyChildren`in S&&(c.treeNode.noLazyChildren=S.noLazyChildren)));let p=`${x(d,f)},${r}`,m=s.columnKey||s.rawColumnKey||``,y=n.showOverflowTooltip&&zu({effect:T},E,n.showOverflowTooltip);return a(HU,{style:h(f,r,d,n),class:g(f,r,d,n,o-1),key:`${m}${p}`,rowspan:i,colspan:o,onMouseenter:e=>l(e,d,y),onMouseleave:u},{default:()=>C(r,n,c)})}))},C=(e,t,n)=>t.renderCell(n);return{wrappedRowRender:(r,i)=>{let o=e.store,{isRowExpanded:s,assertRowKey:c}=o,{treeData:l,lazyTreeNodeMap:u,childrenColumnName:d,rowKey:f}=o.states,p=o.states.columns.value;if(p.some(({type:e})=>e===`expand`)){let e=s(r),c=S(r,i,void 0,e),l=t?.renderExpanded;if(!l)return console.error(`[Element Error]renderExpanded is required.`),c;let u=[[c]];return(t.props.preserveExpandedContent||e)&&u[0].push(a(`tr`,{key:`expanded-row__${c.key}`,style:{display:e?``:`none`}},[a(`td`,{colspan:p.length,class:`${n.e(`cell`)} ${n.e(`expanded-cell`)}`},[l({row:r,$index:i,store:o,expanded:e})])])),u}else if(Object.keys(l.value).length){c();let e=HH(r,f.value),t=l.value[e],n=null;t&&(n={expanded:t.expanded,level:t.level,display:!0,noLazyChildren:void 0,loading:void 0},ad(t.lazy)&&(n&&ad(t.loaded)&&t.loaded&&(n.noLazyChildren=!(t.children&&t.children.length)),n.loading=t.loading));let a=[S(r,i,n??void 0)];if(t){let n=0,o=(e,r)=>{e&&e.length&&r&&e.forEach(e=>{let s={display:r.display&&r.expanded,level:r.level+1,expanded:!1,noLazyChildren:!1,loading:!1},c=HH(e,f.value);if(ld(c))throw Error(`For nested data item, row-key is required.`);t={...l.value[c]},t&&(s.expanded=t.expanded,t.level=t.level||s.level,t.display=!!(t.expanded&&s.display),ad(t.lazy)&&(ad(t.loaded)&&t.loaded&&(s.noLazyChildren=!(t.children&&t.children.length)),s.loading=t.loading)),n++,a.push(S(e,i+n,s)),t&&o(u.value[c]||e[d.value],t)})};t.display=!0,o(u.value[e]||r[d.value],t)}return a}else return S(r,i,void 0)},tooltipContent:d,tooltipTrigger:f}}var WU=J({name:`ElTableBody`,props:{store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:``},highlight:Boolean},setup(e){let t=de(),n=P(CU),r=Q(`table`),{wrappedRowRender:i,tooltipContent:a,tooltipTrigger:o}=UU(e),{onColumnsChange:s,onScrollableChange:c}=PU(n),l=[];return z(e.store?.states.hoverRow,(n,i)=>{let a=t?.vnode.el,o=Array.from(a?.children||[]).filter(e=>e?.classList.contains(`${r.e(`row`)}`)),s=n,c=o[s]?.childNodes;if(c?.length){let e=0;Array.from(c).reduce((t,n,r)=>(c[r]?.colSpan>1&&(e=c[r]?.colSpan),n.nodeName!==`TD`&&e===0&&t.push(r),e>0&&e--,t),[]).forEach(e=>{for(s=n;s>0;){let t=o[s-1]?.childNodes;if(t[e]&&t[e].nodeName===`TD`&&t[e].rowSpan>1){Rf(t[e],`hover-cell`),l.push(t[e]);break}s--}})}else l.forEach(e=>zf(e,`hover-cell`)),l.length=0;!e.store?.states.isComplex.value||!Md||tp(()=>{let e=o[i],t=o[n];e&&!e.classList.contains(`hover-fixed-row`)&&zf(e,`hover-row`),t&&Rf(t,`hover-row`)})}),d(()=>{QH?.()}),{ns:r,onColumnsChange:s,onScrollableChange:c,wrappedRowRender:i,tooltipContent:a,tooltipTrigger:o}},render(){let{wrappedRowRender:e,store:t}=this;return a(`tbody`,{tabIndex:-1},[(t?.states.data.value||[]).reduce((t,n)=>t.concat(e(n,t.length)),[])])}});function GU(){let e=P(CU)?.store;return{leftFixedLeafCount:U(()=>e?.states.fixedLeafColumnsLength.value??0),rightFixedLeafCount:U(()=>e?.states.rightFixedColumns.value.length??0),columnsCount:U(()=>e?.states.columns.value.length??0),leftFixedCount:U(()=>e?.states.fixedColumns.value.length??0),rightFixedCount:U(()=>e?.states.rightFixedColumns.value.length??0),columns:U(()=>e?.states.columns.value??[])}}function KU(e){let{columns:t}=GU(),n=Q(`table`);return{getCellClasses:(t,r)=>{let i=t[r],a=[n.e(`cell`),i.id,i.align,i.labelClassName,...rU(n.b(),r,i.fixed,e.store)];return i.className&&a.push(i.className),i.children||a.push(n.is(`leaf`)),a},getCellStyles:(t,n)=>{let r=aU(n,t.fixed,e.store);return oU(r,`left`),oU(r,`right`),r},columns:t}}var qU=J({name:`ElTableFooter`,props:{fixed:{type:String,default:``},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:``,order:``})}},setup(e){let t=P(CU),n=Q(`table`),{getCellClasses:r,getCellStyles:i,columns:a}=KU(e),{onScrollableChange:o,onColumnsChange:s}=PU(t);return{ns:n,onScrollableChange:o,onColumnsChange:s,getCellClasses:r,getCellStyles:i,columns:a}},render(){let{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:r,sumText:i}=this,o=this.store.states.data.value,s=[];return r?s=r({columns:e,data:o}):e.forEach((e,t)=>{if(t===0){s[t]=i;return}let n=o.map(t=>Number(t[e.property])),r=[],a=!0;n.forEach(e=>{if(!Number.isNaN(+e)){a=!1;let t=`${e}`.split(`.`)[1];r.push(t?t.length:0)}});let c=Math.max.apply(null,r);a?s[t]=``:s[t]=n.reduce((e,t)=>{let n=Number(t);return Number.isNaN(+n)?e:Number.parseFloat((e+t).toFixed(Math.min(c,20)))},0)}),a(a(`tfoot`,[a(`tr`,{},[...e.map((r,i)=>a(`td`,{key:i,colspan:r.colSpan,rowspan:r.rowSpan,class:n(e,i),style:t(r,i)},[a(`div`,{class:[`cell`,r.labelClassName]},[s[i]])]))])]))}});function JU(e){return{setCurrentRow:t=>{e.commit(`setCurrentRow`,t)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(t,n,r=!0)=>{e.toggleRowSelection(t,n,!1,r),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:t=>{e.clearFilter(t)},toggleAllSelection:()=>{e.commit(`toggleAllSelection`)},toggleRowExpansion:(t,n)=>{e.toggleRowExpansionAdapter(t,n)},clearSort:()=>{e.clearSort()},sort:(t,n)=>{e.commit(`sort`,{prop:t,order:n})},updateKeyChildren:(t,n)=>{e.updateKeyChildren(t,n)}}}function YU(e,t,n,r){let i=W(!1),a=W(null),o=W(!1),s=e=>{o.value=e},c=W({width:null,height:null,headerHeight:null}),l=W(!1),u={display:`inline-block`,verticalAlign:`middle`},d=W(),f=W(0),p=W(0),m=W(0),h=W(0),g=W(0);z(()=>e.height,e=>{t.setHeight(e??null)},{immediate:!0}),z(()=>e.maxHeight,e=>{t.setMaxHeight(e??null)},{immediate:!0}),z(()=>[e.currentRowKey,n.states.rowKey],([e,t])=>{!B(t)||!B(e)||n.setCurrentRowKey(`${e}`)},{immediate:!0}),z(()=>e.data,e=>{r.store.commit(`setData`,e)},{immediate:!0,deep:!0}),M(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});let _=()=>{r.store.commit(`setHoverRow`,null),r.hoverState&&=null},v=(e,t)=>{let{pixelX:n,pixelY:i}=t;Math.abs(n)>=Math.abs(i)&&(r.refs.bodyWrapper.scrollLeft+=t.pixelX/5)},y=U(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),b=U(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:``})),x=()=>{y.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>`u`)&&requestAnimationFrame(T)};A(async()=>{await O(),n.updateColumns(),E(),requestAnimationFrame(x);let t=r.vnode.el,i=r.refs.headerWrapper;e.flexible&&t&&t.parentElement&&(t.parentElement.style.minWidth=`0`),c.value={width:d.value=t.offsetWidth,height:t.offsetHeight,headerHeight:e.showHeader&&i?i.offsetHeight:null},n.states.columns.value.forEach(e=>{e.filteredValue&&e.filteredValue.length&&r.store.commit(`filterChange`,{column:e,values:e.filteredValue,silent:!0})}),r.$ready=!0});let S=(e,n)=>{if(!e)return;let r=Array.from(e.classList).filter(e=>!e.startsWith(`is-scrolling-`));r.push(t.scrollX.value?n:`is-scrolling-none`),e.className=r.join(` `)},C=e=>{let{tableWrapper:t}=r.refs;S(t,e)},w=e=>{let{tableWrapper:t}=r.refs;return!!(t&&t.classList.contains(e))},T=function(){if(!r.refs.scrollBarRef)return;if(!t.scrollX.value){let e=`is-scrolling-none`;w(e)||C(e);return}let e=r.refs.scrollBarRef.wrapRef;if(!e)return;let{scrollLeft:n,offsetWidth:i,scrollWidth:a}=e,{headerWrapper:o,footerWrapper:s}=r.refs;o&&(o.scrollLeft=n),s&&(s.scrollLeft=n),n>=a-i-1?C(`is-scrolling-right`):C(n===0?`is-scrolling-left`:`is-scrolling-middle`)},E=()=>{r.refs.scrollBarRef&&(r.refs.scrollBarRef.wrapRef&&$d(r.refs.scrollBarRef.wrapRef,`scroll`,T,{passive:!0}),e.fit?df(r.vnode.el,D):$d(window,`resize`,D),df(r.refs.tableInnerWrapper,()=>{D(),r.refs?.scrollBarRef?.update()}))},D=()=>{let t=r.vnode.el;if(!r.$ready||!t)return;let n=!1,{width:i,height:a,headerHeight:o}=c.value,s=d.value=t.offsetWidth;i!==s&&(n=!0);let l=t.offsetHeight;(e.height||y.value)&&a!==l&&(n=!0);let u=e.tableLayout===`fixed`?r.refs.headerWrapper:r.refs.tableHeaderRef?.$el;e.showHeader&&u?.offsetHeight!==o&&(n=!0),f.value=r.refs.tableWrapper?.scrollHeight||0,m.value=u?.scrollHeight||0,h.value=r.refs.footerWrapper?.offsetHeight||0,g.value=r.refs.appendWrapper?.offsetHeight||0,p.value=f.value-m.value-h.value-g.value,n&&(c.value={width:s,height:l,headerHeight:e.showHeader&&u?.offsetHeight||0},x())},k=lw(),j=U(()=>{let{bodyWidth:e,scrollY:n,gutterWidth:r}=t;return e.value?`${e.value-(n.value?r:0)}px`:``}),N=U(()=>e.maxHeight?`fixed`:e.tableLayout);return{isHidden:i,renderExpanded:a,setDragVisible:s,isGroup:l,handleMouseLeave:_,handleHeaderFooterMousewheel:v,tableSize:k,emptyBlockStyle:U(()=>{if(e.data&&e.data.length)return;let t=`100%`;e.height&&p.value&&(t=`${p.value}px`);let n=d.value;return{width:n?`${n}px`:``,height:t}}),resizeProxyVisible:o,bodyWidth:j,resizeState:c,doLayout:x,tableBodyStyles:b,tableLayout:N,scrollbarViewStyle:u,scrollbarStyle:U(()=>e.height?{height:`100%`}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${m.value+h.value}px)`}:{maxHeight:`${+e.maxHeight-m.value-h.value}px`}:{})}}function XU(e){let t,n=()=>{let n=e.vnode.el.querySelector(`.hidden-columns`),r={childList:!0,subtree:!0},i=e.store.states.updateOrderFns;t=new MutationObserver(()=>{i.forEach(e=>e())}),t.observe(n,r)};A(()=>{n()}),d(()=>{t?.disconnect()})}var ZU={data:{type:Array,default:()=>[]},size:W_,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:`hasChildren`,children:`children`,checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array],default:()=>({})},className:{type:String,default:``},tableLayout:{type:String,default:`fixed`},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};function QU(e){let t=e.tableLayout===`auto`,n=e.columns||[];t&&n.every(({width:e})=>id(e))&&(n=[]);let r=n=>{let r={key:`${e.tableLayout}_${n.id}`,style:{},name:void 0};return t?r.style={width:`${n.width}px`}:r.name=n.id,r};return a(`colgroup`,{},n.map(e=>a(`col`,r(e))))}QU.props=[`columns`,`tableLayout`];var $U=()=>{let e=W(),t=(t,n)=>{let r=e.value;r&&r.scrollTo(t,n)},n=(t,n)=>{let r=e.value;r&&od(n)&&[`Top`,`Left`].includes(t)&&r[`setScroll${t}`](n)};return{scrollBarRef:e,scrollTo:t,setScrollTop:e=>n(`Top`,e),setScrollLeft:e=>n(`Left`,e)}},eW=1,tW=J({name:`ElTable`,directives:{Mousewheel:Hk},components:{TableHeader:LU,TableBody:WU,TableFooter:qU,ElScrollbar:tD,hColgroup:QU},props:ZU,emits:[`select`,`select-all`,`selection-change`,`cell-mouse-enter`,`cell-mouse-leave`,`cell-contextmenu`,`cell-click`,`cell-dblclick`,`row-click`,`row-contextmenu`,`row-dblclick`,`header-click`,`header-contextmenu`,`sort-change`,`filter-change`,`current-change`,`header-dragend`,`expand-change`,`scroll`],setup(e){let{t}=Yf(),n=Q(`table`),r=FD(`table`),i=de();N(CU,i);let a=vU(i,e);i.store=a;let o=new SU({store:i.store,table:i,fit:e.fit,showHeader:e.showHeader});i.layout=o;let s=U(()=>(a.states.data.value||[]).length===0),{setCurrentRow:c,getSelectionRows:l,toggleRowSelection:u,clearSelection:d,clearFilter:f,toggleAllSelection:p,toggleRowExpansion:m,clearSort:h,sort:g,updateKeyChildren:_}=JU(a),{isHidden:v,renderExpanded:y,setDragVisible:b,isGroup:x,handleMouseLeave:S,handleHeaderFooterMousewheel:C,tableSize:w,emptyBlockStyle:T,resizeProxyVisible:E,bodyWidth:D,resizeState:O,doLayout:k,tableBodyStyles:A,tableLayout:j,scrollbarViewStyle:M,scrollbarStyle:ee}=YU(e,o,a,i),{scrollBarRef:te,scrollTo:ne,setScrollLeft:P,setScrollTop:re}=$U(),F=gu(k,50),I=`${n.namespace.value}-table_${eW++}`;i.tableId=I,i.state={isGroup:x,resizeState:O,doLayout:k,debouncedUpdateLayout:F};let ie=U(()=>e.sumText??t(`el.table.sumText`)),L=U(()=>e.emptyText??t(`el.table.emptyText`)),ae=U(()=>e.tooltipEffect??r.value?.tooltipEffect),R=U(()=>e.tooltipOptions??r.value?.tooltipOptions),oe=U(()=>TU(a.states.originColumns.value)[0]);return XU(i),Ce(()=>{F.cancel()}),{ns:n,layout:o,store:a,columns:oe,handleHeaderFooterMousewheel:C,handleMouseLeave:S,tableId:I,tableSize:w,isHidden:v,isEmpty:s,renderExpanded:y,resizeProxyVisible:E,resizeState:O,isGroup:x,bodyWidth:D,tableBodyStyles:A,emptyBlockStyle:T,debouncedUpdateLayout:F,setCurrentRow:c,getSelectionRows:l,toggleRowSelection:u,clearSelection:d,clearFilter:f,toggleAllSelection:p,toggleRowExpansion:m,clearSort:h,doLayout:k,sort:g,updateKeyChildren:_,t,setDragVisible:b,context:i,computedSumText:ie,computedEmptyText:L,computedTooltipEffect:ae,computedTooltipOptions:R,tableLayout:j,scrollbarViewStyle:M,scrollbarStyle:ee,scrollBarRef:te,scrollTo:ne,setScrollLeft:P,setScrollTop:re,allowDragLastColumn:e.allowDragLastColumn}}}),nW=[`data-prefix`],rW={ref:`hiddenColumns`,class:`hidden-columns`};function iW(t,n,i,a,o,s){let c=ie(`hColgroup`),l=ie(`table-header`),u=ie(`table-body`),d=ie(`table-footer`),f=ie(`el-scrollbar`),p=h(`mousewheel`);return S(),G(`div`,{ref:`tableWrapper`,class:L([{[t.ns.m(`fit`)]:t.fit,[t.ns.m(`striped`)]:t.stripe,[t.ns.m(`border`)]:t.border||t.isGroup,[t.ns.m(`hidden`)]:t.isHidden,[t.ns.m(`group`)]:t.isGroup,[t.ns.m(`fluid-height`)]:t.maxHeight,[t.ns.m(`scrollable-x`)]:t.layout.scrollX.value,[t.ns.m(`scrollable-y`)]:t.layout.scrollY.value,[t.ns.m(`enable-row-hover`)]:!t.store.states.isComplex.value,[t.ns.m(`enable-row-transition`)]:(t.store.states.data.value||[]).length!==0&&(t.store.states.data.value||[]).length<100,"has-footer":t.showSummary},t.ns.m(t.tableSize),t.className,t.ns.b(),t.ns.m(`layout-${t.tableLayout}`)]),style:I(t.style),"data-prefix":t.ns.namespace.value,onMouseleave:n[1]||=(...e)=>t.handleMouseLeave&&t.handleMouseLeave(...e)},[K(`div`,{ref:`tableInnerWrapper`,class:L(t.ns.e(`inner-wrapper`))},[K(`div`,rW,[r(t.$slots,`default`)],512),t.showHeader&&t.tableLayout===`fixed`?ge((S(),G(`div`,{key:0,ref:`headerWrapper`,class:L(t.ns.e(`header-wrapper`))},[K(`table`,{ref:`tableHeader`,class:L(t.ns.e(`header`)),style:I(t.tableBodyStyles),border:`0`,cellpadding:`0`,cellspacing:`0`},[q(c,{columns:t.store.states.columns.value,"table-layout":t.tableLayout},null,8,[`columns`,`table-layout`]),q(l,{ref:`tableHeaderRef`,border:t.border,"default-sort":t.defaultSort,store:t.store,"append-filter-panel-to":t.appendFilterPanelTo,"allow-drag-last-column":t.allowDragLastColumn,onSetDragVisible:t.setDragVisible},null,8,[`border`,`default-sort`,`store`,`append-filter-panel-to`,`allow-drag-last-column`,`onSetDragVisible`])],6)],2)),[[p,t.handleHeaderFooterMousewheel]]):H(`v-if`,!0),K(`div`,{ref:`bodyWrapper`,class:L(t.ns.e(`body-wrapper`))},[q(f,{ref:`scrollBarRef`,"view-style":t.scrollbarViewStyle,"wrap-style":t.scrollbarStyle,always:t.scrollbarAlwaysOn,tabindex:t.scrollbarTabindex,native:t.nativeScrollbar,onScroll:n[0]||=e=>t.$emit(`scroll`,e)},{default:e(()=>[K(`table`,{ref:`tableBody`,class:L(t.ns.e(`body`)),cellspacing:`0`,cellpadding:`0`,border:`0`,style:I({width:t.bodyWidth,tableLayout:t.tableLayout})},[q(c,{columns:t.store.states.columns.value,"table-layout":t.tableLayout},null,8,[`columns`,`table-layout`]),t.showHeader&&t.tableLayout===`auto`?(S(),V(l,{key:0,ref:`tableHeaderRef`,class:L(t.ns.e(`body-header`)),border:t.border,"default-sort":t.defaultSort,store:t.store,"append-filter-panel-to":t.appendFilterPanelTo,onSetDragVisible:t.setDragVisible},null,8,[`class`,`border`,`default-sort`,`store`,`append-filter-panel-to`,`onSetDragVisible`])):H(`v-if`,!0),q(u,{context:t.context,highlight:t.highlightCurrentRow,"row-class-name":t.rowClassName,"tooltip-effect":t.computedTooltipEffect,"tooltip-options":t.computedTooltipOptions,"row-style":t.rowStyle,store:t.store,stripe:t.stripe},null,8,[`context`,`highlight`,`row-class-name`,`tooltip-effect`,`tooltip-options`,`row-style`,`store`,`stripe`]),t.showSummary&&t.tableLayout===`auto`?(S(),V(d,{key:1,class:L(t.ns.e(`body-footer`)),border:t.border,"default-sort":t.defaultSort,store:t.store,"sum-text":t.computedSumText,"summary-method":t.summaryMethod},null,8,[`class`,`border`,`default-sort`,`store`,`sum-text`,`summary-method`])):H(`v-if`,!0)],6),t.isEmpty?(S(),G(`div`,{key:0,ref:`emptyBlock`,style:I(t.emptyBlockStyle),class:L(t.ns.e(`empty-block`))},[K(`span`,{class:L(t.ns.e(`empty-text`))},[r(t.$slots,`empty`,{},()=>[ce(R(t.computedEmptyText),1)])],2)],6)):H(`v-if`,!0),t.$slots.append?(S(),G(`div`,{key:1,ref:`appendWrapper`,class:L(t.ns.e(`append-wrapper`))},[r(t.$slots,`append`)],2)):H(`v-if`,!0)]),_:3},8,[`view-style`,`wrap-style`,`always`,`tabindex`,`native`])],2),t.showSummary&&t.tableLayout===`fixed`?ge((S(),G(`div`,{key:1,ref:`footerWrapper`,class:L(t.ns.e(`footer-wrapper`))},[K(`table`,{class:L(t.ns.e(`footer`)),cellspacing:`0`,cellpadding:`0`,border:`0`,style:I(t.tableBodyStyles)},[q(c,{columns:t.store.states.columns.value,"table-layout":t.tableLayout},null,8,[`columns`,`table-layout`]),q(d,{border:t.border,"default-sort":t.defaultSort,store:t.store,"sum-text":t.computedSumText,"summary-method":t.summaryMethod},null,8,[`border`,`default-sort`,`store`,`sum-text`,`summary-method`])],6)],2)),[[Rt,!t.isEmpty],[p,t.handleHeaderFooterMousewheel]]):H(`v-if`,!0),t.border||t.isGroup?(S(),G(`div`,{key:2,class:L(t.ns.e(`border-left-patch`))},null,2)):H(`v-if`,!0)],2),ge(K(`div`,{ref:`resizeProxy`,class:L(t.ns.e(`column-resize-proxy`))},null,2),[[Rt,t.resizeProxyVisible]])],46,nW)}var aW=eE(tW,[[`render`,iW]]),oW={selection:`table-column--selection`,expand:`table__expand-column`},sW={default:{order:``},selection:{width:48,minWidth:48,realWidth:48,order:``},expand:{width:48,minWidth:48,realWidth:48,order:``},index:{width:48,minWidth:48,realWidth:48,order:``}},cW=e=>oW[e]||``,lW={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return a(Kj,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection??void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t(`el.table.selectAllLabel`)})},renderCell({row:e,column:t,store:n,$index:r}){return a(Kj,{disabled:t.selectable?!t.selectable.call(null,e,r):!1,size:n.states.tableSize.value,onChange:()=>{n.commit(`rowSelectedChanged`,e)},onClick:e=>e.stopPropagation(),modelValue:n.isSelected(e),ariaLabel:n.t(`el.table.selectRowLabel`)})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||`#`},renderCell({column:e,$index:t}){let n=t+1,r=e.index;return od(r)?n=t+r:k(r)&&(n=r(t)),a(`div`,{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||``},renderCell({column:e,row:t,store:n,expanded:r,$index:i}){let{ns:o}=n,s=[o.e(`expand-icon`)];!e.renderExpand&&r&&s.push(o.em(`expand-icon`,`expanded`));let c=function(e){e.stopPropagation(),n.toggleRowExpansion(t)},l=n.states.rowExpandable.value?.(t,i)??!0;return l||s.push(o.is(`disabled`)),a(`button`,{type:`button`,disabled:!l,"aria-label":n.t(r?`el.table.collapseRowLabel`:`el.table.expandRowLabel`),"aria-expanded":r,class:s,onClick:c},{default:()=>e.renderExpand?[e.renderExpand({expanded:r,expandable:l})]:[a($,null,{default:()=>[a(xv)]})]})},sortable:!1,resizable:!1}};function uW({row:e,column:t,$index:n}){let r=t.property,i=r&&md(e,r).value;return t&&t.formatter?t.formatter(e,t,i,n):i?.toString?.()||``}function dW({row:e,treeNode:t,store:n},r=!1){let{ns:i}=n;if(!t)return r?[a(`span`,{class:i.e(`placeholder`)})]:null;let o=[],s=function(r){r.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&o.push(a(`span`,{class:i.e(`indent`),style:{"padding-left":`${t.indent}px`}})),ad(t.expanded)&&!t.noLazyChildren){let e=[i.e(`expand-icon`),t.expanded?i.em(`expand-icon`,`expanded`):``],r=xv;t.loading&&(r=$b),o.push(a(`button`,{type:`button`,"aria-label":n.t(t.expanded?`el.table.collapseRowLabel`:`el.table.expandRowLabel`),"aria-expanded":t.expanded,class:e,onClick:s},{default:()=>[a($,{class:i.is(`loading`,t.loading)},{default:()=>[a(r)]})]}))}else o.push(a(`span`,{class:i.e(`placeholder`)}));return o}function fW(e,t){return e.reduce((e,t)=>(e[t]=t,e),t)}function pW(e,t){let n=de();return{registerComplexWatchers:()=>{let r=[`fixed`],i={realWidth:`width`,realMinWidth:`minWidth`},a=fW(r,i);Object.keys(a).forEach(r=>{let a=i[r];ne(t,a)&&z(()=>t[a],t=>{let i=t;a===`width`&&r===`realWidth`&&(i=GH(t)),a===`minWidth`&&r===`realMinWidth`&&(i=KH(t)),n.columnConfig.value[a]=i,n.columnConfig.value[r]=i;let o=a===`fixed`;e.value.store.scheduleLayout(o)})})},registerNormalWatchers:()=>{let r=[`label`,`filters`,`filterMultiple`,`filteredValue`,`sortable`,`index`,`formatter`,`className`,`labelClassName`,`filterClassName`,`showOverflowTooltip`,`tooltipFormatter`,`resizable`],i=[`showOverflowTooltip`],a={property:`prop`,align:`realAlign`,headerAlign:`realHeaderAlign`},o=fW(r,a);Object.keys(o).forEach(e=>{let r=a[e];ne(t,r)&&z(()=>t[r],t=>{n.columnConfig.value[e]=t,(e===`filters`||e===`filterMethod`)&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),i.forEach(r=>{ne(e.value.props,r)&&z(()=>e.value.props[r],e=>{n.columnConfig.value.type!==`selection`&&id(t[r])&&(n.columnConfig.value[r]=e)})});let s=FD(`table`);s.value&&ne(s.value,`showOverflowTooltip`)&&z(()=>s.value?.showOverflowTooltip,r=>{n.columnConfig.value.type!==`selection`&&(!id(t.showOverflowTooltip)||!id(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=r))})}}}function mW(e,t,n){let i=de(),o=W(``),s=W(!1),c=W(),l=W(),d=Q(`table`);M(()=>{c.value=e.align?`is-${e.align}`:null,c.value}),M(()=>{l.value=e.headerAlign?`is-${e.headerAlign}`:c.value,l.value});let f=U(()=>{let e=i.vnode.vParent||i.parent;for(;e&&!e.tableId&&!e.columnId;)e=e.vnode.vParent||e.parent;return e}),p=U(()=>{let{store:e}=i.parent;if(!e)return!1;let{treeData:t}=e.states,n=t.value;return n&&Object.keys(n).length>0}),m=W(GH(e.width)),h=W(KH(e.minWidth)),g=e=>(m.value&&(e.width=m.value),h.value&&(e.minWidth=h.value),!m.value&&h.value&&(e.width=void 0),e.minWidth||=80,e.realWidth=Number(id(e.width)?e.minWidth:e.width),e),_=e=>{let t=e.type,n=lW[t]||{};Object.keys(n).forEach(t=>{let r=n[t];t!==`className`&&!id(r)&&(e[t]=r)});let r=cW(t);if(r){let t=`${B(d.namespace)}-${r}`;e.className=e.className?`${e.className} ${t}`:t}return e},v=e=>{u(e)?e.forEach(e=>t(e)):t(e);function t(e){e?.type?.name===`ElTableColumn`&&(e.vParent=i)}};return{columnId:o,realAlign:c,isSubColumn:s,realHeaderAlign:l,columnOrTableParent:f,setColumnWidth:g,setColumnForcedProps:_,setColumnRenders:o=>{e.renderHeader?Cd(`TableColumn`,`Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.`):o.type!==`selection`&&(o.renderHeader=e=>{if(i.columnConfig.value.label,t.header){let n=t.header(e);if(sU(n))return a(xe,n)}return ce(o.label)}),t[`filter-icon`]&&(o.renderFilterIcon=e=>r(t,`filter-icon`,e)),t.expand&&(o.renderExpand=e=>r(t,`expand`,e));let s=o.renderCell;return o.type===`expand`?(o.renderCell=e=>a(`div`,{class:`cell`},[s(e)]),n.value.renderExpanded=e=>t.default?t.default(e):t.default):(s||=uW,o.renderCell=e=>{let r=null;if(t.default){let n=t.default(e);r=n.some(e=>e.type!==Fe)?n:s(e)}else r=s(e);let{columns:i}=n.value.store.states,c=i.value.findIndex(e=>e.type===`default`),l=dW(e,p.value&&e.cellIndex===c),u={class:`cell`,style:{}};return o.showOverflowTooltip&&(u.class=`${u.class} ${B(d.namespace)}-tooltip`,u.style={width:`${(e.column.realWidth||Number(e.column.width))-1}px`}),v(r),a(`div`,u,[l,r])}),o},getPropsData:(...t)=>t.reduce((t,n)=>(u(n)&&n.forEach(n=>{t[n]=e[n]}),t),{}),getColumnElIndex:(e,t)=>Array.prototype.indexOf.call(e,t),updateColumnOrder:()=>{n.value.store.commit(`updateColumnOrder`,i.columnConfig.value)}}}var hW={type:{type:String,default:`default`},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:``},minWidth:{type:[String,Number],default:``},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>[`ascending`,`descending`,null],validator:e=>e.every(e=>[`ascending`,`descending`,null].includes(e))}},gW=1,_W=J({name:`ElTableColumn`,components:{ElCheckbox:Kj},props:hW,setup(e,{slots:n}){let r=de(),i=FD(`table`),a=W({}),o=U(()=>{let e=r.parent;for(;e&&!e.tableId;)e=e.parent;return e}),{registerNormalWatchers:s,registerComplexWatchers:c}=pW(o,e),{columnId:l,isSubColumn:u,realHeaderAlign:d,columnOrTableParent:f,setColumnWidth:p,setColumnForcedProps:m,setColumnRenders:h,getPropsData:g,getColumnElIndex:_,realAlign:v,updateColumnOrder:y}=mW(e,n,o),b=f.value;l.value=`${`tableId`in b&&b.tableId||`columnId`in b&&b.columnId}_column_${gW++}`,t(()=>{u.value=o.value!==b;let t=e.type||`default`,n=e.sortable===``?!0:e.sortable,f=t===`selection`?!1:id(e.showOverflowTooltip)?b.props.showOverflowTooltip??i.value?.showOverflowTooltip:e.showOverflowTooltip,_=id(e.tooltipFormatter)?b.props.tooltipFormatter??i.value?.tooltipFormatter:e.tooltipFormatter,y={...sW[t],id:l.value,type:t,property:e.prop||e.property,align:v,headerAlign:d,showOverflowTooltip:f,tooltipFormatter:_,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:``,filterClassName:``,isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:n,index:e.index,rawColumnKey:r.vnode.key},x=g([`columnKey`,`label`,`className`,`labelClassName`,`type`,`renderHeader`,`formatter`,`fixed`,`resizable`],[`sortMethod`,`sortBy`,`sortOrders`],[`selectable`,`reserveSelection`],[`filterMethod`,`filters`,`filterMultiple`,`filterOpened`,`filteredValue`,`filterPlacement`,`filterClassName`]);x=WH(y,x),x=JH(h,p,m)(x),a.value=x,s(),c()}),A(()=>{let e=f.value,t=u.value?e.vnode.el?.children:e.refs.hiddenColumns?.children,n=()=>_(t||[],r.vnode.el);a.value.getColumnIndex=n,n()>-1&&o.value.store.commit(`insertColumn`,a.value,u.value?`columnConfig`in e&&e.columnConfig.value:null,y)}),Ce(()=>{let e=a.value.getColumnIndex;(e?e():-1)>-1&&o.value.store.commit(`removeColumn`,a.value,u.value?`columnConfig`in b&&b.columnConfig.value:null,y)}),r.columnId=l.value,r.columnConfig=a},render(){try{let e=this.$slots.default?.({row:{},column:{},$index:-1}),t=[];if(u(e))for(let n of e)n.type?.name===`ElTableColumn`||n.shapeFlag&2?t.push(n):n.type===xe&&u(n.children)&&n.children.forEach(e=>{e?.patchFlag!==1024&&!v(e?.children)&&t.push(e)});return a(`div`,t)}catch{return a(`div`,[])}}}),vW=iv(aW,{TableColumn:_W}),yW=sv(_W),bW=function(e){return e.ASC=`asc`,e.DESC=`desc`,e}({}),xW=function(e){return e.LEFT=`left`,e.CENTER=`center`,e.RIGHT=`right`,e}({}),SW=function(e){return e.LEFT=`left`,e.RIGHT=`right`,e}({}),CW={[bW.ASC]:bW.DESC,[bW.DESC]:bW.ASC};bW.ASC,bW.DESC;var wW=Symbol(`placeholder`),TW=String,EW={type:X(Array),required:!0};Object;var DW={type:X(Array)},OW={...DW,required:!0},kW=String,AW={type:X(Array),default:()=>OE([])},jW={type:Number,required:!0},MW={type:X([String,Number,Symbol]),default:`id`},NW={type:X(Object)},PW=Z({class:String,columns:EW,columnsStyles:{type:X(Object),required:!0},depth:Number,expandColumnKey:kW,estimatedRowHeight:{...PB.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:X(Function)},onRowHover:{type:X(Function)},onRowHeightChange:{type:X(Function)},rowData:{type:X(Object),required:!0},rowEventHandlers:{type:X(Object)},rowIndex:{type:Number,required:!0},rowKey:MW,style:{type:X(Object)}}),FW={type:Number,required:!0},IW=Z({class:String,columns:EW,fixedHeaderData:{type:X(Array)},headerData:{type:X(Array),required:!0},headerHeight:{type:X([Number,Array]),default:50},rowWidth:FW,rowHeight:{type:Number,default:50},height:FW,width:FW}),LW=Z({columns:EW,data:OW,fixedData:DW,estimatedRowHeight:PW.estimatedRowHeight,width:jW,height:jW,headerWidth:jW,headerHeight:IW.headerHeight,bodyWidth:jW,rowHeight:jW,cache:AB.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:PB.scrollbarAlwaysOn,scrollbarStartGap:PB.scrollbarStartGap,scrollbarEndGap:PB.scrollbarEndGap,class:TW,style:NW,containerStyle:NW,getRowHeight:{type:X(Function),required:!0},rowKey:PW.rowKey,onRowsRendered:{type:X(Function)},onScroll:{type:X(Function)}}),RW=Z({cache:LW.cache,estimatedRowHeight:PW.estimatedRowHeight,rowKey:MW,headerClass:{type:X([String,Function])},headerProps:{type:X([Object,Function])},headerCellProps:{type:X([Object,Function])},headerHeight:IW.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:X([String,Function])},rowProps:{type:X([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:X([Object,Function])},columns:EW,data:OW,dataGetter:{type:X(Function)},fixedData:DW,expandColumnKey:PW.expandColumnKey,expandedRowKeys:AW,defaultExpandedRowKeys:AW,class:TW,fixed:Boolean,style:{type:X(Object)},width:jW,height:jW,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:PB.hScrollbarSize,vScrollbarSize:PB.vScrollbarSize,scrollbarAlwaysOn:FB.alwaysOn,sortBy:{type:X(Object),default:()=>({})},sortState:{type:X(Object),default:void 0},onColumnSort:{type:X(Function)},onExpandedRowsChange:{type:X(Function)},onEndReached:{type:X(Function)},onRowExpand:PW.onRowExpand,onScroll:LW.onScroll,onRowsRendered:LW.onRowsRendered,rowEventHandlers:PW.rowEventHandlers}),zW=(e,t,n)=>{let r={flexGrow:0,flexShrink:0,...n?{}:{flexGrow:e.flexGrow??0,flexShrink:e.flexShrink??1}},i={...e.style??{},...r,flexBasis:`auto`,width:e.width};return t||(e.maxWidth&&(i.maxWidth=e.maxWidth),e.minWidth&&(i.minWidth=e.minWidth)),i};function BW(e,t,r){let i=U(()=>B(t).map((e,t)=>({...e,key:e.key??e.dataKey??t}))),a=U(()=>B(i).filter(e=>!e.hidden)),o=U(()=>B(a).filter(e=>e.fixed===`left`||e.fixed===!0)),s=U(()=>B(a).filter(e=>e.fixed===`right`)),c=U(()=>B(a).filter(e=>!e.fixed)),l=U(()=>{let e=[];return B(o).forEach(t=>{e.push({...t,placeholderSign:wW})}),B(c).forEach(t=>{e.push(t)}),B(s).forEach(t=>{e.push({...t,placeholderSign:wW})}),e}),u=U(()=>B(o).length||B(s).length),d=U(()=>B(i).reduce((t,n)=>(t[n.key]=zW(n,B(r),e.fixed),t),{})),f=U(()=>B(a).reduce((e,t)=>e+t.width,0)),p=e=>B(i).find(t=>t.key===e),m=e=>B(d)[e],h=(e,t)=>{e.width=t};function g(t){let{key:r}=t.currentTarget.dataset;if(!r)return;let{sortState:i,sortBy:a}=e,o=bW.ASC;o=n(i)?CW[i[r]]:CW[a.order],e.onColumnSort?.({column:p(r),key:r,order:o})}return{columns:i,columnsStyles:d,columnsTotalWidth:f,fixedColumnsOnLeft:o,fixedColumnsOnRight:s,hasFixedColumns:u,mainColumns:l,normalColumns:c,visibleColumns:a,getColumn:p,getColumnStyle:m,updateColumnWidth:h,onColumnSorted:g}}var VW=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:r,onMaybeEndReached:i})=>{let a=W({scrollLeft:0,scrollTop:0});function o(e){let{scrollTop:i}=e;t.value?.scrollTo(e),n.value?.scrollToTop(i),r.value?.scrollToTop(i)}function s(e){a.value=e,o(e)}function c(e){a.value.scrollTop=e,o(B(a))}function l(e){a.value.scrollLeft=e,t.value?.scrollTo?.(B(a))}function u(t){s(t),e.onScroll?.(t)}function d({scrollTop:e}){let{scrollTop:t}=B(a);e!==t&&c(e)}function f(e,n=`auto`){t.value?.scrollToRow(e,n)}return z(()=>B(a).scrollTop,(e,t)=>{e>t&&i()}),{scrollPos:a,scrollTo:s,scrollToLeft:l,scrollToTop:c,scrollToRow:f,onScroll:u,onVerticalScroll:d}},HW=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:r,tableInstance:i,ns:a,isScrolling:o})=>{let s=de(),{emit:c}=s,l=he(!1),u=W(e.defaultExpandedRowKeys||[]),d=W(-1),f=he(null),p=W({}),m=W({}),h=he({}),g=he({}),_=he({}),v=U(()=>od(e.estimatedRowHeight));function y(t){e.onRowsRendered?.(t),t.rowCacheEnd>B(d)&&(d.value=t.rowCacheEnd)}function b({hovered:e,rowKey:t}){o.value||i.vnode.el.querySelectorAll(`[rowkey="${String(t)}"]`).forEach(t=>{e?t.classList.add(a.is(`hovered`)):t.classList.remove(a.is(`hovered`))})}function x({expanded:t,rowData:n,rowIndex:r,rowKey:o}){let s=[...B(u)],l=s.indexOf(o);t?l===-1&&s.push(o):l>-1&&s.splice(l,1),u.value=s,c(`update:expandedRowKeys`,s),e.onRowExpand?.({expanded:t,rowData:n,rowIndex:r,rowKey:o}),e.onExpandedRowsChange?.(s),i.vnode.el.querySelector(`.${a.is(`hovered`)}[rowkey="${String(o)}"]`)&&O(()=>b({hovered:!0,rowKey:o}))}let S=gu(()=>{l.value=!0,p.value={...B(p),...B(m)},C(B(f),!1),m.value={},f.value=null,t.value?.forceUpdate(),n.value?.forceUpdate(),r.value?.forceUpdate(),s.proxy?.$forceUpdate(),l.value=!1},0);function C(e,i=!1){B(v)&&[t,n,r].forEach(t=>{let n=B(t);n&&n.resetAfterRowIndex(e,i)})}function w(e,t,n){let r=B(f);(r===null||r>n)&&(f.value=n),m.value[e]=t}function T({rowKey:e,height:t,rowIndex:n},r){r?r===SW.RIGHT?_.value[e]=t:h.value[e]=t:g.value[e]=t;let i=Math.max(...[h,_,g].map(t=>t.value[e]||0));B(p)[e]!==i&&(w(e,i,n),S())}return{expandedRowKeys:u,lastRenderedRowIndex:d,isDynamic:v,isResetting:l,rowHeights:p,resetAfterIndex:C,onRowExpanded:x,onRowHovered:b,onRowsRendered:y,onRowHeightChange:T}},UW=(e,{expandedRowKeys:t,lastRenderedRowIndex:n,resetAfterIndex:r})=>{let i=W({}),a=U(()=>{let n={},{data:r,rowKey:a}=e,o=B(t);if(!o||!o.length)return r;let s=[],c=new Set;o.forEach(e=>c.add(e));let l=r.slice();for(l.forEach(e=>n[e[a]]=0);l.length>0;){let e=l.shift();s.push(e),c.has(e[a])&&u(e.children)&&e.children.length>0&&(l=[...e.children,...l],e.children.forEach(t=>n[t[a]]=n[e[a]]+1))}return i.value=n,s}),o=U(()=>{let{data:t,expandColumnKey:n}=e;return n?B(a):t});return z(o,(e,t)=>{e!==t&&(n.value=-1,r(0,!0))}),{data:o,depthMap:i}},WW=(e,t)=>e+t,GW=e=>u(e)?e.reduce(WW,0):e,KW=(e,t,n={})=>k(e)?e(t):e??n,qW=e=>([`width`,`maxWidth`,`minWidth`,`height`].forEach(t=>{e[t]=Hf(e[t])}),e),JW=e=>l(e)?t=>a(e,t):e,YW=(e,{columnsTotalWidth:t,rowsHeight:n,fixedColumnsOnLeft:r,fixedColumnsOnRight:i})=>{let a=U(()=>{let{fixed:n,width:r,vScrollbarSize:i}=e,a=r-i;return n?Math.max(Math.round(B(t)),a):a}),o=U(()=>{let{height:t=0,maxHeight:r=0,footerHeight:i,hScrollbarSize:a}=e;if(r>0){let e=B(f),t=B(n),o=B(d)+e+t+a;return Math.min(o,r-i)}return t-i}),s=U(()=>{let{maxHeight:t}=e,r=B(o);if(od(t)&&t>0)return r;let i=B(n)+B(d)+B(f);return Math.min(r,i)}),c=e=>e.width,l=U(()=>GW(B(r).map(c))),u=U(()=>GW(B(i).map(c))),d=U(()=>GW(e.headerHeight)),f=U(()=>(e.fixedData?.length||0)*e.rowHeight),p=U(()=>B(o)-B(d)-B(f)),m=U(()=>{let{style:t={},height:n,width:r}=e;return qW({...t,height:n,width:r})});return{bodyWidth:a,fixedTableHeight:s,mainTableHeight:o,leftTableWidth:l,rightTableWidth:u,windowHeight:p,footerHeight:U(()=>qW({height:e.footerHeight})),emptyStyle:U(()=>({top:Hf(B(d)),bottom:Hf(e.footerHeight),width:Hf(e.width)})),rootStyle:m,headerHeight:d}};function XW(e){let t=W(),n=W(),r=W(),{columns:i,columnsStyles:a,columnsTotalWidth:o,fixedColumnsOnLeft:s,fixedColumnsOnRight:c,hasFixedColumns:l,mainColumns:d,onColumnSorted:f}=BW(e,Ne(e,`columns`),Ne(e,`fixed`)),{scrollTo:p,scrollToLeft:m,scrollToTop:h,scrollToRow:g,onScroll:_,onVerticalScroll:v,scrollPos:y}=VW(e,{mainTableRef:t,leftTableRef:n,rightTableRef:r,onMaybeEndReached:fe}),b=Q(`table-v2`),x=de(),S=he(!1),{expandedRowKeys:C,lastRenderedRowIndex:w,isDynamic:T,isResetting:E,rowHeights:D,resetAfterIndex:O,onRowExpanded:k,onRowHeightChange:A,onRowHovered:j,onRowsRendered:M}=HW(e,{mainTableRef:t,leftTableRef:n,rightTableRef:r,tableInstance:x,ns:b,isScrolling:S}),{data:N,depthMap:ee}=UW(e,{expandedRowKeys:C,lastRenderedRowIndex:w,resetAfterIndex:O}),te=U(()=>{let{estimatedRowHeight:t,rowHeight:n}=e,r=B(N);return od(t)?Object.values(B(D)).reduce((e,t)=>e+t,0):r.length*n}),{bodyWidth:ne,fixedTableHeight:P,mainTableHeight:re,leftTableWidth:F,rightTableWidth:I,windowHeight:ie,footerHeight:L,emptyStyle:ae,rootStyle:R,headerHeight:oe}=YW(e,{columnsTotalWidth:o,fixedColumnsOnLeft:s,fixedColumnsOnRight:c,rowsHeight:te}),se=W(),ce=U(()=>{let t=B(N).length===0;return u(e.fixedData)?e.fixedData.length===0&&t:t});function le(t){let{estimatedRowHeight:n,rowHeight:r,rowKey:i}=e;return n?B(D)[B(N)[t][i]]||n:r}let ue=W(!1);function fe(){let{onEndReached:t}=e;if(!t)return;let{scrollTop:n}=B(y),r=B(te),i=r-(n+B(ie))+e.hScrollbarSize;!ue.value&&B(w)>=0&&r<=n+B(re)-B(oe)?(ue.value=!0,t(i)):ue.value=!1}return z(()=>B(te),()=>ue.value=!1),z(()=>e.expandedRowKeys,e=>C.value=e,{deep:!0}),{columns:i,containerRef:se,mainTableRef:t,leftTableRef:n,rightTableRef:r,isDynamic:T,isResetting:E,isScrolling:S,hasFixedColumns:l,columnsStyles:a,columnsTotalWidth:o,data:N,expandedRowKeys:C,depthMap:ee,fixedColumnsOnLeft:s,fixedColumnsOnRight:c,mainColumns:d,bodyWidth:ne,emptyStyle:ae,rootStyle:R,footerHeight:L,mainTableHeight:re,fixedTableHeight:P,leftTableWidth:F,rightTableWidth:I,showEmpty:ce,getRowHeight:le,onColumnSorted:f,onRowHovered:j,onRowExpanded:k,onRowsRendered:M,onRowHeightChange:A,scrollTo:p,scrollToLeft:m,scrollToTop:h,scrollToRow:g,onScroll:_,onVerticalScroll:v}}var ZW=Symbol(`tableV2`),QW=`tableV2GridScrollLeft`,$W=J({name:`ElTableV2Header`,props:IW,setup(e,{slots:t,expose:n}){let r=Q(`table-v2`),i=P(QW),a=W(),o=U(()=>qW({width:e.width,height:e.height})),s=U(()=>qW({width:e.rowWidth,height:e.height})),c=U(()=>Zo(B(e.headerHeight))),l=e=>{let t=B(a);O(()=>{t?.scroll&&t.scroll({left:e})})},u=()=>{let n=r.e(`fixed-header-row`),{columns:i,fixedHeaderData:a,rowHeight:o}=e;return a?.map((e,r)=>{let a=qW({height:o,width:`100%`});return t.fixed?.({class:n,columns:i,rowData:e,rowIndex:-(r+1),style:a})})},d=()=>{let n=r.e(`dynamic-header-row`),{columns:i}=e;return B(c).map((e,r)=>{let a=qW({width:`100%`,height:e});return t.dynamic?.({class:n,columns:i,headerIndex:r,style:a})})};return _(()=>{i?.value&&l(i.value)}),n({scrollToLeft:l}),()=>{if(!(e.height<=0))return q(`div`,{ref:a,class:e.class,style:B(o),role:`rowgroup`},[q(`div`,{style:B(s),class:r.e(`header`)},[d(),u()])])}}}),eG=`ElTableV2Grid`,tG=e=>{let t=W(),r=W(),i=W(0),a=U(()=>{let{data:t,rowHeight:n,estimatedRowHeight:r}=e;if(!r)return t.length*n}),o=U(()=>{let{fixedData:t,rowHeight:n}=e;return(t?.length||0)*n}),s=U(()=>GW(e.headerHeight)),c=U(()=>{let{height:t}=e;return Math.max(0,t-B(s)-B(o))}),l=U(()=>B(s)+B(o)>0),u=({data:t,rowIndex:n})=>t[n][e.rowKey];function d({rowCacheStart:t,rowCacheEnd:n,rowVisibleStart:r,rowVisibleEnd:i}){e.onRowsRendered?.({rowCacheStart:t,rowCacheEnd:n,rowVisibleStart:r,rowVisibleEnd:i})}function f(e,t){r.value?.resetAfterRowIndex(e,t)}function p(e,a){let o=B(t),s=B(r);n(e)?(o?.scrollToLeft(e.scrollLeft),i.value=e.scrollLeft,s?.scrollTo(e)):(o?.scrollToLeft(e),i.value=e,s?.scrollTo({scrollLeft:e,scrollTop:a}))}function m(e){B(r)?.scrollTo({scrollTop:e})}function h(e,t){let n=B(r);if(!n)return;let a=i.value;n.scrollToItem(e,0,t),a&&p({scrollLeft:a})}function g(){B(r)?.$forceUpdate(),B(t)?.$forceUpdate()}return z(()=>e.bodyWidth,()=>{od(e.estimatedRowHeight)&&r.value?.resetAfter({columnIndex:0},!1)}),{bodyRef:r,forceUpdate:g,fixedRowHeight:o,gridHeight:c,hasHeader:l,headerHeight:s,headerRef:t,totalHeight:a,itemKey:u,onItemRendered:d,resetAfterRowIndex:f,scrollTo:p,scrollToTop:m,scrollToRow:h,scrollLeft:i}},nG=J({name:eG,props:LW,setup(e,{slots:t,expose:n}){let{ns:r}=P(ZW),{bodyRef:i,fixedRowHeight:a,gridHeight:o,hasHeader:s,headerRef:c,headerHeight:l,totalHeight:u,forceUpdate:d,itemKey:f,onItemRendered:p,resetAfterRowIndex:m,scrollTo:h,scrollToTop:g,scrollToRow:_,scrollLeft:v}=tG(e);N(QW,v),Te(async()=>{await O();let e=i.value?.states.scrollTop;e&&g(Math.round(e)+1)}),n({forceUpdate:d,totalHeight:u,scrollTo:h,scrollToTop:g,scrollToRow:_,resetAfterRowIndex:m});let y=()=>e.bodyWidth;return()=>{let{cache:n,columns:u,data:d,fixedData:m,useIsScrolling:h,scrollbarAlwaysOn:g,scrollbarEndGap:_,scrollbarStartGap:v,style:b,rowHeight:x,bodyWidth:S,estimatedRowHeight:C,headerWidth:w,height:T,width:E,getRowHeight:D,onScroll:O}=e,k=od(C),A=k?CV:cV,j=B(l);return q(`div`,{role:`table`,class:[r.e(`table`),e.class],style:b},[q(A,{ref:i,data:d,useIsScrolling:h,itemKey:f,columnCache:0,columnWidth:k?y:S,totalColumn:1,totalRow:d.length,rowCache:n,rowHeight:k?D:x,width:E,height:B(o),class:r.e(`body`),role:`rowgroup`,scrollbarStartGap:v,scrollbarEndGap:_,scrollbarAlwaysOn:g,onScroll:O,onItemRendered:p,perfMode:!1},{default:e=>{let n=d[e.rowIndex];return t.row?.({...e,columns:u,rowData:n})}}),B(s)&&q($W,{ref:c,class:r.e(`header-wrapper`),columns:u,headerData:d,headerHeight:e.headerHeight,fixedHeaderData:m,rowWidth:w,rowHeight:x,width:E,height:Math.min(j+B(a),T)},{dynamic:t.header,fixed:t.row})])}}});function rG(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!l(e)}var iG=(e,{slots:t})=>{let{mainTableRef:n,...r}=e;return q(nG,s({ref:n},r),rG(t)?t:{default:()=>[t]})};function aG(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!l(e)}var oG=(e,{slots:t})=>{if(!e.columns.length)return;let{leftTableRef:n,...r}=e;return q(nG,s({ref:n},r),aG(t)?t:{default:()=>[t]})};function sG(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!l(e)}var cG=(e,{slots:t})=>{if(!e.columns.length)return;let{rightTableRef:n,...r}=e;return q(nG,s({ref:n},r),sG(t)?t:{default:()=>[t]})},lG=e=>{let{isScrolling:t}=P(ZW),n=W(!1),r=W(),i=U(()=>od(e.estimatedRowHeight)&&e.rowIndex>=0),a=(t=!1)=>{let i=B(r);if(!i)return;let{columns:a,onRowHeightChange:o,rowKey:s,rowIndex:c,style:l}=e,{height:u}=i.getBoundingClientRect();n.value=!0,O(()=>{if(t||u!==Number.parseInt(l.height)){let e=a[0],t=e?.placeholderSign===wW;o?.({rowKey:s,height:u,rowIndex:c},e&&!t&&e.fixed)}})},o=U(()=>{let{rowData:t,rowIndex:n,rowKey:r,onRowHover:i}=e,a=e.rowEventHandlers||{},o={};return Object.entries(a).forEach(([e,i])=>{k(i)&&(o[e]=e=>{i({event:e,rowData:t,rowIndex:n,rowKey:r})})}),i&&[{name:`onMouseleave`,hovered:!1},{name:`onMouseenter`,hovered:!0}].forEach(({name:e,hovered:a})=>{let s=o[e];o[e]=e=>{i({event:e,hovered:a,rowData:t,rowIndex:n,rowKey:r}),s?.(e)}}),o});return A(()=>{B(i)&&a(!0)}),{isScrolling:t,measurable:i,measured:n,rowRef:r,eventHandlers:o,onExpand:t=>{let{onRowExpand:n,rowData:r,rowIndex:i,rowKey:a}=e;n?.({expanded:t,rowData:r,rowIndex:i,rowKey:a})}}},uG=J({name:`ElTableV2TableRow`,props:PW,setup(e,{expose:t,slots:n,attrs:r}){let{eventHandlers:i,isScrolling:a,measurable:o,measured:c,rowRef:l,onExpand:d}=lG(e);return t({onExpand:d}),()=>{let{columns:t,columnsStyles:f,expandColumnKey:p,depth:m,rowData:h,rowIndex:g,style:_}=e,v=t.map((e,r)=>{let i=u(h.children)&&h.children.length>0&&e.key===p;return n.cell({column:e,columns:t,columnIndex:r,depth:m,style:f[e.key],rowData:h,rowIndex:g,isScrolling:B(a),expandIconProps:i?{rowData:h,rowIndex:g,onExpand:d}:void 0})});if(n.row&&(v=n.row({cells:v.map(e=>u(e)&&e.length===1?e[0]:e),style:_,columns:t,depth:m,rowData:h,rowIndex:g,isScrolling:B(a)})),B(o)){let{height:t,...n}=_||{},a=B(c);return q(`div`,s({ref:l,class:e.class,style:a?_:n,role:`row`},r,B(i)),[v])}return q(`div`,s(r,{ref:l,class:e.class,style:_,role:`row`},B(i)),[v])}}});function dG(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!l(e)}var fG=(e,{slots:t})=>{let{columns:n,columnsStyles:r,depthMap:i,expandColumnKey:a,expandedRowKeys:o,estimatedRowHeight:c,hasFixedColumns:l,rowData:u,rowIndex:d,style:f,isScrolling:p,rowProps:m,rowClass:h,rowKey:g,rowEventHandlers:_,ns:v,onRowHovered:y,onRowExpanded:b}=e,x=KW(h,{columns:n,rowData:u,rowIndex:d},``),S=KW(m,{columns:n,rowData:u,rowIndex:d}),C=u[g],w=i[C]||0,T=!!a,E=d<0,D=[v.e(`row`),x,v.is(`expanded`,T&&o.includes(C)),v.is(`fixed`,!w&&E),v.is(`customized`,!!t.row),{[v.e(`row-depth-${w}`)]:T&&d>=0}],O=l?y:void 0;return q(uG,s({...S,columns:n,columnsStyles:r,class:D,depth:w,expandColumnKey:a,estimatedRowHeight:E?void 0:c,isScrolling:p,rowIndex:d,rowData:u,rowKey:C,rowEventHandlers:_,style:f},{onRowExpand:b,onMouseenter:e=>{O?.({hovered:!0,rowKey:C,event:e,rowData:u,rowIndex:d})},onMouseleave:e=>{O?.({hovered:!1,rowKey:C,event:e,rowData:u,rowIndex:d})},rowkey:C}),dG(t)?t:{default:()=>[t]})},pG=(e,{slots:t})=>{let{cellData:n,style:i}=e,a=n?.toString?.()||``,o=r(t,`default`,e,()=>[a]);return q(`div`,{class:e.class,title:a,style:i},[o])};pG.displayName=`ElTableV2Cell`,pG.inheritAttrs=!1;var mG=e=>{let{expanded:t,expandable:n,onExpand:r,style:i,size:a,ariaLabel:o}=e;return q(`button`,s({onClick:n?()=>r(!t):void 0,ariaLabel:o,ariaExpanded:t,class:e.class},{type:`button`}),[q($,{size:a,style:i},{default:()=>[q(xv,null,null)]})])};mG.inheritAttrs=!1;var hG=({columns:e,column:t,columnIndex:i,depth:a,expandIconProps:o,isScrolling:c,rowData:l,rowIndex:u,style:d,expandedRowKeys:f,ns:p,t:m,cellProps:h,expandColumnKey:g,indentSize:_,iconSize:v,rowKey:y},{slots:b})=>{let x=qW(d);if(t.placeholderSign===wW)return q(`div`,{class:p.em(`row-cell`,`placeholder`),style:x},null);let{cellRenderer:S,dataKey:C,dataGetter:w}=t,T=k(w)?w({columns:e,column:t,columnIndex:i,rowData:l,rowIndex:u}):Fo(l,C??``),E=KW(h,{cellData:T,columns:e,column:t,columnIndex:i,rowIndex:u,rowData:l}),D={class:p.e(`cell-text`),columns:e,column:t,columnIndex:i,cellData:T,isScrolling:c,rowData:l,rowIndex:u},O=JW(S),A=O?O(D):r(b,`default`,D,()=>[q(pG,D,null)]),j=[p.e(`row-cell`),t.class,t.align===xW.CENTER&&p.is(`align-center`),t.align===xW.RIGHT&&p.is(`align-right`)],M=u>=0&&g&&t.key===g,N=u>=0&&f.includes(l[y]),ee,te=`margin-inline-start: ${a*_}px;`;return M&&(ee=n(o)?q(mG,s(o,{class:[p.e(`expand-icon`),p.is(`expanded`,N)],size:v,expanded:N,ariaLabel:m(N?`el.table.collapseRowLabel`:`el.table.expandRowLabel`),style:te,expandable:!0}),null):q(`div`,{style:[te,`width: ${v}px; height: ${v}px;`].join(` `)},null)),q(`div`,s({class:j,style:x},E,{role:`cell`}),[ee,A])};hG.inheritAttrs=!1;var gG=J({name:`ElTableV2HeaderRow`,props:Z({class:String,columns:EW,columnsStyles:{type:X(Object),required:!0},headerIndex:Number,style:{type:X(Object)}}),setup(e,{slots:t}){return()=>{let{columns:n,columnsStyles:r,headerIndex:i,style:a}=e,o=n.map((e,a)=>t.cell({columns:n,column:e,columnIndex:a,headerIndex:i,style:r[e.key]}));return t.header&&(o=t.header({cells:o.map(e=>u(e)&&e.length===1?e[0]:e),columns:n,headerIndex:i})),q(`div`,{class:e.class,style:a,role:`row`},[o])}}});function _G(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!l(e)}var vG=({columns:e,columnsStyles:t,headerIndex:n,style:r,headerClass:i,headerProps:a,ns:o},{slots:s})=>{let c={columns:e,headerIndex:n},l=[o.e(`header-row`),KW(i,c,``),o.is(`customized`,!!s.header)];return q(gG,{...KW(a,c),columnsStyles:t,class:l,columns:e,headerIndex:n,style:r},_G(s)?s:{default:()=>[s]})},yG=(e,{slots:t})=>r(t,`default`,e,()=>[q(`div`,{class:e.class,title:e.column?.title},[e.column?.title])]);yG.displayName=`ElTableV2HeaderCell`,yG.inheritAttrs=!1;var bG=e=>{let{sortOrder:t}=e;return q(`button`,{type:`button`,"aria-label":e.ariaLabel,class:e.class},[q($,{size:14},{default:()=>[t===bW.ASC?q(RS,null,null):q(LS,null,null)]})])},xG=(e,{slots:t})=>{let{column:n,ns:i,t:a,style:o,onColumnSorted:c}=e,l=qW(o);if(n.placeholderSign===wW)return q(`div`,{class:i.em(`header-row-cell`,`placeholder`),style:l},null);let{headerCellRenderer:u,headerClass:d,sortable:f}=n,p={...e,class:i.e(`header-cell-text`)},m=JW(u),h=m?m(p):r(t,`default`,p,()=>[q(yG,p,null)]),{sortBy:g,sortState:_,headerCellProps:v}=e,y,b,x;if(_){let e=_[n.key];y=!!CW[e],b=y?e:bW.ASC}else y=n.key===g.key,b=y?g.order:bW.ASC;x=b===bW.ASC?`ascending`:b===bW.DESC?`descending`:void 0;let S=[i.e(`header-cell`),KW(d,e,``),n.align===xW.CENTER&&i.is(`align-center`),n.align===xW.RIGHT&&i.is(`align-right`),f&&i.is(`sortable`)];return q(`div`,s({...KW(v,e),onClick:n.sortable?c:void 0,ariaSort:f?x:void 0,class:S,style:l,"data-key":n.key},{role:`columnheader`}),[h,f&&q(bG,{class:[i.e(`sort-icon`),y&&i.is(`sorting`)],sortOrder:b,ariaLabel:a(`el.table.sortLabel`,{column:n.title||``})},null)])},SG=(e,{slots:t})=>q(`div`,{class:e.class,style:e.style},[t.default?.()]);SG.displayName=`ElTableV2Footer`;var CG=(e,{slots:t})=>{let n=r(t,`default`,{},()=>[q(fR,null,null)]);return q(`div`,{class:e.class,style:e.style},[n])};CG.displayName=`ElTableV2Empty`;var wG=(e,{slots:t})=>q(`div`,{class:e.class,style:e.style},[t.default?.()]);wG.displayName=`ElTableV2Overlay`;function TG(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!l(e)}var EG=J({name:`ElTableV2`,props:RW,setup(e,{slots:t,expose:n}){let r=Q(`table-v2`),{t:i}=Yf(),{columnsStyles:a,fixedColumnsOnLeft:o,fixedColumnsOnRight:c,mainColumns:l,mainTableHeight:u,fixedTableHeight:d,leftTableWidth:f,rightTableWidth:p,data:m,depthMap:h,expandedRowKeys:g,hasFixedColumns:_,mainTableRef:v,leftTableRef:y,rightTableRef:b,isDynamic:x,isResetting:S,isScrolling:C,bodyWidth:w,emptyStyle:T,rootStyle:E,footerHeight:D,showEmpty:O,scrollTo:k,scrollToLeft:A,scrollToTop:j,scrollToRow:M,getRowHeight:ee,onColumnSorted:te,onRowHeightChange:ne,onRowHovered:P,onRowExpanded:re,onRowsRendered:F,onScroll:I,onVerticalScroll:ie}=XW(e);return n({scrollTo:k,scrollToLeft:A,scrollToTop:j,scrollToRow:M}),N(ZW,{ns:r,isResetting:S,isScrolling:C}),()=>{let{cache:n,cellProps:S,estimatedRowHeight:C,expandColumnKey:k,fixedData:A,headerHeight:j,headerClass:M,headerProps:N,headerCellProps:L,sortBy:ae,sortState:R,rowHeight:oe,rowClass:se,rowEventHandlers:z,rowKey:ce,rowProps:le,scrollbarAlwaysOn:ue,indentSize:de,iconSize:fe,useIsScrolling:pe,vScrollbarSize:me,width:V}=e,he=B(m),ge={cache:n,class:r.e(`main`),columns:B(l),data:he,fixedData:A,estimatedRowHeight:C,bodyWidth:B(w),headerHeight:j,headerWidth:B(w),height:B(u),mainTableRef:v,rowKey:ce,rowHeight:oe,scrollbarAlwaysOn:ue,scrollbarStartGap:2,scrollbarEndGap:me,useIsScrolling:pe,width:V,getRowHeight:ee,onRowsRendered:F,onScroll:I},H=B(f),_e=B(d),ve={cache:n,class:r.e(`left`),columns:B(o),data:he,fixedData:A,estimatedRowHeight:C,leftTableRef:y,rowHeight:oe,bodyWidth:H,headerWidth:H,headerHeight:j,height:_e,rowKey:ce,scrollbarAlwaysOn:ue,scrollbarStartGap:2,scrollbarEndGap:me,useIsScrolling:pe,width:H,getRowHeight:ee,onScroll:ie},ye=B(p),be={cache:n,class:r.e(`right`),columns:B(c),data:he,fixedData:A,estimatedRowHeight:C,rightTableRef:b,rowHeight:oe,bodyWidth:ye,headerWidth:ye,headerHeight:j,height:_e,rowKey:ce,scrollbarAlwaysOn:ue,scrollbarStartGap:2,scrollbarEndGap:me,width:ye,style:`${r.cssVarName(`table-scrollbar-size`)}: ${me}px`,useIsScrolling:pe,getRowHeight:ee,onScroll:ie},xe=B(a),Se={ns:r,depthMap:B(h),columnsStyles:xe,expandColumnKey:k,expandedRowKeys:B(g),estimatedRowHeight:C,hasFixedColumns:B(_),rowProps:le,rowClass:se,rowKey:ce,rowEventHandlers:z,onRowHovered:P,onRowExpanded:re,onRowHeightChange:ne},Ce={cellProps:S,expandColumnKey:k,indentSize:de,iconSize:fe,rowKey:ce,expandedRowKeys:B(g),ns:r,t:i},we={ns:r,headerClass:M,headerProps:N,columnsStyles:xe},Te={ns:r,t:i,sortBy:ae,sortState:R,headerCellProps:L,onColumnSorted:te},Ee={row:e=>q(fG,s(e,Se),{row:t.row,cell:e=>{let n;return t.cell?q(hG,s(e,Ce,{style:xe[e.column.key]}),TG(n=t.cell(e))?n:{default:()=>[n]}):q(hG,s(e,Ce,{style:xe[e.column.key]}),null)}}),header:e=>q(vG,s(e,we),{header:t.header,cell:e=>{let n;return t[`header-cell`]?q(xG,s(e,Te,{style:xe[e.column.key]}),TG(n=t[`header-cell`](e))?n:{default:()=>[n]}):q(xG,s(e,Te,{style:xe[e.column.key]}),null)}})},U=[e.class,r.b(),r.e(`root`),r.is(`dynamic`,B(x))],W={class:r.e(`footer`),style:B(D)};return q(`div`,{class:U,style:B(E)},[q(iG,ge,TG(Ee)?Ee:{default:()=>[Ee]}),q(oG,ve,TG(Ee)?Ee:{default:()=>[Ee]}),q(cG,be,TG(Ee)?Ee:{default:()=>[Ee]}),t.footer&&q(SG,W,{default:t.footer}),B(O)&&q(CG,{class:r.e(`empty`),style:B(T)},{default:t.empty}),t.overlay&&q(wG,{class:r.e(`overlay`)},{default:t.overlay})])}}}),DG=Z({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:X(Function)}}),OG=e=>{let t=W(),n=W(0),r=W(0),i;return A(()=>{i=df(t,([e])=>{let{width:t,height:i}=e.contentRect,{paddingLeft:a,paddingRight:o,paddingTop:s,paddingBottom:c}=getComputedStyle(e.target),l=Number.parseInt(a)||0,u=Number.parseInt(o)||0,d=Number.parseInt(s)||0,f=Number.parseInt(c)||0;n.value=t-l-u,r.value=i-d-f}).stop}),Ce(()=>{i?.()}),z([n,r],([t,n])=>{e.onResize?.({width:t,height:n})}),{sizer:t,width:n,height:r}},kG=J({name:`ElAutoResizer`,props:DG,setup(e,{slots:t}){let n=Q(`auto-resizer`),{height:r,width:i,sizer:a}=OG(e),o={width:`100%`,height:`100%`};return()=>q(`div`,{ref:a,class:n.b(),style:o},[t.default?.({height:r.value,width:i.value})])}}),AG=iv(EG),jG=iv(kG),MG=Symbol(`tabsRootContextKey`),NG=Z({tabs:{type:X(Array),default:()=>OE([])},tabRefs:{type:X(Object),default:()=>OE({})}}),PG=`ElTabBar`,FG=J({name:PG,__name:`tab-bar`,props:NG,setup(e,{expose:t}){let n=e,r=P(MG);r||Sd(PG,``);let i=Q(`tabs`),a=W(),o=W(),s=U(()=>id(r.props.defaultValue)||!!o.value?.transform),c=()=>{let e=0,t=0,i=[`top`,`bottom`].includes(r.props.tabPosition)?`width`:`height`,a=i===`width`?`x`:`y`,o=a===`x`?`left`:`top`;return n.tabs.every(r=>{if(id(r.paneName))return!1;let a=n.tabRefs[r.paneName];if(!a)return!1;if(!r.active)return!0;e=a[`offset${Pf(o)}`],t=a[`client${Pf(i)}`];let s=window.getComputedStyle(a);return i===`width`&&(t-=Number.parseFloat(s.paddingLeft)+Number.parseFloat(s.paddingRight),e+=Number.parseFloat(s.paddingLeft)),!1}),{[i]:`${t}px`,transform:`translate${Pf(a)}(${e}px)`}},l=()=>o.value=c(),u=[],d=()=>{u.forEach(e=>e.stop()),u.length=0,Object.values(n.tabRefs).forEach(e=>{u.push(df(e,l))})};z(()=>n.tabs,async()=>{await O(),l(),d()},{immediate:!0});let f=df(a,()=>l());return Ce(()=>{u.forEach(e=>e.stop()),u.length=0,f.stop()}),t({ref:a,update:l}),(e,t)=>s.value?(S(),G(`div`,{key:0,ref_key:`barRef`,ref:a,class:L([B(i).e(`active-bar`),B(i).is(B(r).props.tabPosition)]),style:I(o.value)},null,6)):H(`v-if`,!0)}}),IG=Z({panes:{type:X(Array),default:()=>OE([])},currentName:{type:[String,Number],default:``},editable:Boolean,type:{type:String,values:[`card`,`border-card`,``],default:``},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),LG={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},RG=`ElTabNav`,zG=J({name:RG,props:IG,emits:LG,setup(e,{expose:t,emit:n}){let r=P(MG);r||Sd(RG,``);let i=Q(`tabs`),a=uf(),o=gf(),s=W(),c=W(),l=W(),u=W({}),d=W(),f=W(!1),p=W(0),m=W(!1),h=W(!0),g=he(),v=U(()=>[`top`,`bottom`].includes(r.props.tabPosition)),y=U(()=>v.value?`width`:`height`),b=U(()=>({transform:`translate${y.value===`width`?`X`:`Y`}(-${p.value}px)`})),{width:x,height:S}=pf(s),{width:C,height:w}=pf(c,{width:0,height:0},{box:`border-box`}),T=U(()=>v.value?x.value:S.value),E=U(()=>v.value?C.value:w.value),{onWheel:D}=qB({atStartEdge:U(()=>p.value<=0),atEndEdge:U(()=>E.value-p.value<=T.value),layout:U(()=>v.value?`horizontal`:`vertical`)},e=>{p.value=$o(p.value+e,0,E.value-T.value)}),k=()=>{if(!s.value)return;let e=s.value[`offset${Pf(y.value)}`],t=p.value;t&&(p.value=t>e?t-e:0)},j=()=>{if(!s.value||!c.value)return;let e=c.value[`offset${Pf(y.value)}`],t=s.value[`offset${Pf(y.value)}`],n=p.value;e-n<=t||(p.value=e-n>t*2?n+t:e-t)},M=async()=>{let t=c.value;if(!f.value||!l.value||!s.value||!t)return;await O();let n=u.value[e.currentName];if(!n)return;let r=s.value,i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=v.value?t.offsetWidth-a.width:t.offsetHeight-a.height,d=p.value,m=d;v.value?(i.lefta.right&&(m=d+i.right-a.right)):(i.topa.bottom&&(m=d+(i.bottom-a.bottom))),m=Math.max(m,0),p.value=Math.min(m,o)},N=()=>{if(!c.value||!s.value)return;e.stretch&&d.value?.update();let t=c.value[`offset${Pf(y.value)}`],n=s.value[`offset${Pf(y.value)}`],r=p.value;n0&&(p.value=0))},ee=e=>{let t=mp(e),n=0;switch(t){case Y.left:case Y.up:n=-1;break;case Y.right:case Y.down:n=1;break;default:return}let r=Array.from(e.currentTarget.querySelectorAll(`[role=tab]:not(.is-disabled)`)),i=r.indexOf(e.target)+n;i<0?i=r.length-1:i>=r.length&&(i=0),r[i].focus({preventScroll:!0}),r[i].click(),te()},te=()=>{h.value&&(m.value=!0)},ne=()=>m.value=!1,re=(e,t)=>{u.value[t]=e};return z(a,e=>{e===`hidden`?h.value=!1:e===`visible`&&setTimeout(()=>h.value=!0,50)}),z(o,e=>{e?setTimeout(()=>h.value=!0,50):h.value=!1}),df(l,()=>{tp(N)}),A(()=>setTimeout(()=>M(),0)),_(()=>N()),t({scrollToActiveTab:M,removeFocus:ne,focusActiveTab:async()=>{await O(),u.value[e.currentName]?.focus({preventScroll:!0})},tabListRef:c,tabBarRef:d,scheduleRender:()=>ve(g)}),()=>{let t=f.value?[q(`span`,{class:[i.e(`nav-prev`),i.is(`disabled`,!f.value.prev)],onClick:k},[q($,null,{default:()=>[q(yv,null,null)]})]),q(`span`,{class:[i.e(`nav-next`),i.is(`disabled`,!f.value.next)],onClick:j},[q($,null,{default:()=>[q(xv,null,null)]})])]:null,a=e.panes.map((t,a)=>{let o=t.uid,s=t.props.disabled,c=t.props.name??t.index??`${a}`,l=!s&&(t.isClosable||t.props.closable!==!1&&e.editable);t.index=`${a}`;let u=l?q($,{class:`is-icon-close`,onClick:e=>n(`tabRemove`,t,e)},{default:()=>[q(py,null,null)]}):null,d=t.slots.label?.()||t.props.label,f=!s&&t.active?e.tabindex??r.props.tabindex:-1;return q(`div`,{ref:e=>re(e,c),class:[i.e(`item`),i.is(r.props.tabPosition),i.is(`active`,t.active),i.is(`disabled`,s),i.is(`closable`,l),i.is(`focus`,m.value)],id:`tab-${c}`,key:`tab-${o}`,"aria-controls":`pane-${c}`,role:`tab`,"aria-selected":t.active,tabindex:f,onFocus:()=>te(),onBlur:()=>ne(),onClick:e=>{ne(),n(`tabClick`,t,c,e)},onKeydown:e=>{let r=mp(e);l&&(r===Y.delete||r===Y.backspace)&&n(`tabRemove`,t,e)}},[...[d,u]])});return g.value,q(`div`,{ref:l,class:[i.e(`nav-wrap`),i.is(`scrollable`,!!f.value),i.is(r.props.tabPosition)]},[t,q(`div`,{class:i.e(`nav-scroll`),ref:s},[e.panes.length>0?q(`div`,{class:[i.e(`nav`),i.is(r.props.tabPosition),i.is(`stretch`,e.stretch&&[`top`,`bottom`].includes(r.props.tabPosition))],ref:c,style:b.value,role:`tablist`,onKeydown:ee,onWheel:D},[...[e.type?null:q(FG,{ref:d,tabs:[...e.panes],tabRefs:u.value},null),a]]):null])])}}}),BG=Z({type:{type:String,values:[`card`,`border-card`,``],default:``},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},defaultValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:[`top`,`right`,`bottom`,`left`],default:`top`},beforeLeave:{type:X(Function),default:()=>!0},stretch:Boolean,tabindex:{type:[String,Number],default:0}}),VG=e=>v(e)||od(e),HG=J({name:`ElTabs`,props:BG,emits:{[Jn]:e=>VG(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>VG(e),edit:(e,t)=>[`remove`,`add`].includes(t),tabRemove:e=>VG(e),tabAdd:()=>!0},setup(e,{emit:t,slots:n,expose:i}){let a=Q(`tabs`),o=U(()=>[`left`,`right`].includes(e.tabPosition)),{children:s,addChild:c,removeChild:l,ChildrenSorter:u}=U_(de(),`ElTabPane`),d=W(),f=W((id(e.modelValue)?e.defaultValue:e.modelValue)??`0`),p=async(n,r=!1)=>{if(!(f.value===n||id(n)))try{let i;if(e.beforeLeave){let t=e.beforeLeave(n,f.value);i=t instanceof Promise?await t:t}else i=!0;if(i!==!1){let e=s.value.find(e=>e.paneName===f.value)?.isFocusInsidePane();f.value=n,r&&(t(Jn,n),t(`tabChange`,n)),d.value?.removeFocus?.(),e&&d.value?.focusActiveTab()}}catch{}},m=(e,n,r)=>{e.props.disabled||(t(`tabClick`,e,r),p(n,!0))},h=(e,n)=>{e.props.disabled||id(e.props.name)||(n.stopPropagation(),t(`edit`,e.props.name,`remove`),t(`tabRemove`,e.props.name))},g=()=>{t(`edit`,void 0,`add`),t(`tabAdd`)},_=e=>{let t=mp(e);[Y.enter,Y.numpadEnter].includes(t)&&g()},v=t=>{let n=t.el.firstChild,r=[`bottom`,`right`].includes(e.tabPosition)?t.children[0].el:t.children[1].el;n!==r&&n.before(r)};return z(()=>e.modelValue,e=>p(e)),z(f,async()=>{await O(),d.value?.scrollToActiveTab()}),N(MG,{props:e,currentName:f,registerPane:c,unregisterPane:l,nav$:d}),i({currentName:f,get tabNavRef(){return Ku(d.value,[`scheduleRender`])}}),()=>{let t=n[`add-icon`],i=e.editable||e.addable?q(`div`,{class:[a.e(`new-tab`),o.value&&a.e(`new-tab-vertical`)],tabindex:e.tabindex,onClick:g,onKeydown:_},[t?r(n,`add-icon`):q($,{class:a.is(`icon-plus`)},{default:()=>[q(Xx,null,null)]})]):null,c=q(`div`,{class:[a.e(`header`),o.value&&a.e(`header-vertical`),a.is(e.tabPosition)]},[q(u,null,{default:()=>q(zG,{ref:d,currentName:f.value,editable:e.editable,type:e.type,panes:s.value,stretch:e.stretch,onTabClick:m,onTabRemove:h},null),$stable:!0}),i]),l=q(`div`,{class:a.e(`content`)},[r(n,`default`)]);return q(`div`,{class:[a.b(),a.m(e.tabPosition),{[a.m(`card`)]:e.type===`card`,[a.m(`border-card`)]:e.type===`border-card`}],onVnodeMounted:v,onVnodeUpdated:v},[l,c])}}}),UG=Z({label:{type:String,default:``},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),WG=[`id`,`aria-hidden`,`aria-labelledby`],GG=`ElTabPane`,KG=J({name:GG,__name:`tab-pane`,props:UG,setup(e){let t=e,n=de(),i=y(),a=P(MG);a||Sd(GG,`usage: `);let o=Q(`tab-pane`),s=W(),c=W(),l=U(()=>t.closable??a.props.closable),u=U(()=>a.currentName.value===(t.name??c.value)),d=W(u.value),f=U(()=>t.name??c.value),p=U(()=>!t.lazy||d.value||u.value),m=()=>s.value?.contains(document.activeElement);z(u,e=>{e&&(d.value=!0)});let h=Re({uid:n.uid,getVnode:()=>n.vnode,slots:i,props:t,paneName:f,active:u,index:c,isClosable:l,isFocusInsidePane:m});return a.registerPane(h),Ce(()=>{a.unregisterPane(h)}),w(()=>{i.label&&a.nav$.value?.scheduleRender()}),(e,t)=>p.value?ge((S(),G(`div`,{key:0,id:`pane-${f.value}`,ref_key:`paneRef`,ref:s,class:L(B(o).b()),role:`tabpanel`,"aria-hidden":!u.value,"aria-labelledby":`tab-${f.value}`},[r(e.$slots,`default`)],10,WG)),[[Rt,u.value]]):H(`v-if`,!0)}}),qG=iv(HG,{TabPane:KG}),JG=sv(KG),YG=iv(J({name:`ElText`,__name:`text`,props:Z({type:{type:String,values:[`primary`,`success`,`info`,`warning`,`danger`,``],default:``},size:{type:String,values:Qn,default:``},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:`span`}}),setup(t){let n=t,i=W(),a=lw(),o=Q(`text`),s=U(()=>[o.b(),o.m(n.type),o.m(a.value),o.is(`truncated`,n.truncated),o.is(`line-clamp`,!id(n.lineClamp))]),c=()=>{if(Pe().title)return;let e=!1,t=i.value?.textContent||``;if(n.truncated){let t=i.value?.offsetWidth,n=i.value?.scrollWidth;t&&n&&n>t&&(e=!0)}else if(!id(n.lineClamp)){let t=i.value?.offsetHeight,n=i.value?.scrollHeight;t&&n&&n>t&&(e=!0)}e?i.value?.setAttribute(`title`,t):i.value?.removeAttribute(`title`)};return A(c),_(c),(n,a)=>(S(),V(F(t.tag),{ref_key:`textRef`,ref:i,class:L(s.value),style:I({"-webkit-line-clamp":t.lineClamp})},{default:e(()=>[r(n.$slots,`default`)]),_:3},8,[`class`,`style`]))}})),XG=`00:30`,ZG=Z({format:{type:String,default:`HH:mm`},modelValue:{type:X(String)},disabled:{type:Boolean,default:void 0},editable:{type:Boolean,default:!0},effect:{type:X(String),default:`light`},clearable:{type:Boolean,default:!0},size:W_,placeholder:String,start:{type:String,default:`09:00`},end:{type:String,default:`18:00`},step:{type:String,default:XG},minTime:{type:X(String)},maxTime:{type:X(String)},includeEndTime:Boolean,name:String,prefixIcon:{type:X([String,Object]),default:()=>dy},clearIcon:{type:X([String,Object]),default:()=>cy},popperClass:{type:String,default:``},popperStyle:{type:X([String,Object])},...$_}),QG=e=>{let t=(e||``).split(`:`);if(t.length>=2){let n=Number.parseInt(t[0],10),r=Number.parseInt(t[1],10),i=e.toUpperCase();return i.includes(`AM`)&&n===12?n=0:i.includes(`PM`)&&n!==12&&(n+=12),{hours:n,minutes:r}}return null},$G=(e,t)=>{let n=QG(e);if(!n)return-1;let r=QG(t);if(!r)return-1;let i=n.minutes+n.hours*60,a=r.minutes+r.hours*60;return i===a?0:i>a?1:-1},eK=e=>`${e}`.padStart(2,`0`),tK=e=>`${eK(e.hours)}:${eK(e.minutes)}`,nK=(e,t)=>{let n=QG(e);if(!n)return``;let r=QG(t);if(!r)return``;let i={hours:n.hours,minutes:n.minutes};return i.minutes+=r.minutes,i.hours+=r.hours,i.hours+=Math.floor(i.minutes/60),i.minutes%=60,tK(i)},rK=iv(J({name:`ElTimeSelect`,__name:`time-select`,props:ZG,emits:[Yn,`blur`,`focus`,`clear`,Jn],setup(t,{expose:n}){FO.default.extend(rA.default);let{Option:r}=zA,i=t,a=Q(`input`),o=W(),s=uw(),{lang:c}=Yf(),l=U(()=>i.modelValue),u=U(()=>{let e=QG(i.start);return e?tK(e):null}),d=U(()=>{let e=QG(i.end);return e?tK(e):null}),f=U(()=>{let e=QG(i.minTime||``);return e?tK(e):null}),p=U(()=>{let e=QG(i.maxTime||``);return e?tK(e):null}),m=U(()=>{let e=QG(i.step),t=!e||e.hours<0||e.minutes<0||Number.isNaN(e.hours)||Number.isNaN(e.minutes)||e.hours===0&&e.minutes===0;return t&&Cd(`ElTimeSelect`,`invalid step, fallback to default step (${XG}).`),t?XG:tK(e)}),h=U(()=>{let e=[],t=(t,n)=>{e.push({value:t,rawValue:n,disabled:$G(n,f.value||`-1:-1`)<=0||$G(n,p.value||`100:100`)>=0})};if(i.start&&i.end&&i.step){let n=u.value,r;for(;n&&d.value&&$G(n,d.value)<=0;)r=(0,FO.default)(n,`HH:mm`).locale(c.value).format(i.format),t(r,n),n=nK(n,m.value);i.includeEndTime&&d.value&&e[e.length-1]?.rawValue!==d.value&&t((0,FO.default)(d.value,`HH:mm`).locale(c.value).format(i.format),d.value)}return e});return n({blur:()=>{o.value?.blur?.()},focus:()=>{o.value?.focus?.()}}),(n,i)=>(S(),V(B(zA),{ref_key:`select`,ref:o,name:t.name,"model-value":l.value,disabled:B(s),clearable:t.clearable,"clear-icon":t.clearIcon,size:t.size,effect:t.effect,placeholder:t.placeholder,"default-first-option":``,filterable:t.editable,"empty-values":t.emptyValues,"value-on-clear":t.valueOnClear,"popper-class":t.popperClass,"popper-style":t.popperStyle,"onUpdate:modelValue":i[0]||=e=>n.$emit(B(`update:modelValue`),e),onChange:i[1]||=e=>n.$emit(B(`change`),e),onBlur:i[2]||=e=>n.$emit(`blur`,e),onFocus:i[3]||=e=>n.$emit(`focus`,e),onClear:i[4]||=()=>n.$emit(`clear`)},{prefix:e(()=>[t.prefixIcon?(S(),V(B($),{key:0,class:L(B(a).e(`prefix-icon`))},{default:e(()=>[(S(),V(F(t.prefixIcon)))]),_:1},8,[`class`])):H(`v-if`,!0)]),default:e(()=>[(S(!0),G(xe,null,Je(h.value,e=>(S(),V(B(r),{key:e.value,label:e.value,value:e.value,disabled:e.disabled},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`name`,`model-value`,`disabled`,`clearable`,`clear-icon`,`size`,`effect`,`placeholder`,`filterable`,`empty-values`,`value-on-clear`,`popper-class`,`popper-style`]))}})),iK=`timeline`,aK=J({name:`ElTimeline`,props:Z({mode:{type:String,values:[`start`,`alternate`,`alternate-reverse`,`end`],default:`start`},reverse:Boolean}),setup(e,{slots:t}){let n=Q(`timeline`);N(iK,{props:e,slots:t});let r=U(()=>[n.b(),n.is(e.mode)]);return()=>{let n=V_(t.default?.()??[]);return a(`ul`,{class:r.value},e.reverse?n.reverse():n)}}}),oK=J({name:`ElTimelineItem`,__name:`timeline-item`,props:Z({timestamp:{type:String,default:``},hideTimestamp:Boolean,center:Boolean,placement:{type:String,values:[`top`,`bottom`],default:`bottom`},type:{type:String,values:[`primary`,`success`,`warning`,`danger`,`info`],default:``},color:{type:String,default:``},size:{type:String,values:[`normal`,`large`],default:`normal`},icon:{type:FC},hollow:Boolean}),setup(t){let n=t,{props:i}=P(iK),a=Q(`timeline-item`),o=U(()=>[a.e(`node`),a.em(`node`,n.size||``),a.em(`node`,n.type||``),a.is(`hollow`,n.hollow)]),s=U(()=>[a.b(),{[a.e(`center`)]:n.center},a.is(i.mode)]);return(n,i)=>(S(),G(`li`,{class:L(s.value)},[K(`div`,{class:L(B(a).e(`tail`))},null,2),n.$slots.dot?H(`v-if`,!0):(S(),G(`div`,{key:0,class:L(o.value),style:I({backgroundColor:t.color})},[t.icon?(S(),V(B($),{key:0,class:L(B(a).e(`icon`))},{default:e(()=>[(S(),V(F(t.icon)))]),_:1},8,[`class`])):H(`v-if`,!0)],6)),n.$slots.dot?(S(),G(`div`,{key:1,class:L(B(a).e(`dot`))},[r(n.$slots,`dot`)],2)):H(`v-if`,!0),K(`div`,{class:L(B(a).e(`wrapper`))},[!t.hideTimestamp&&t.placement===`top`?(S(),G(`div`,{key:0,class:L([B(a).e(`timestamp`),B(a).is(`top`)])},R(t.timestamp),3)):H(`v-if`,!0),K(`div`,{class:L(B(a).e(`content`))},[r(n.$slots,`default`)],2),!t.hideTimestamp&&t.placement===`bottom`?(S(),G(`div`,{key:1,class:L([B(a).e(`timestamp`),B(a).is(`bottom`)])},R(t.timestamp),3)):H(`v-if`,!0)],2)],2))}}),sK=iv(aK,{TimelineItem:oK}),cK=sv(oK),lK=`left-check-change`,uK=`right-check-change`,dK=Z({data:{type:X(Array),default:()=>[]},titles:{type:X(Array),default:()=>[]},buttonTexts:{type:X(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:X(Function)},leftDefaultChecked:{type:X(Array),default:()=>[]},rightDefaultChecked:{type:X(Array),default:()=>[]},renderContent:{type:X(Function)},modelValue:{type:X(Array),default:()=>[]},format:{type:X(Object),default:()=>({})},filterable:Boolean,props:{type:X(Object),default:()=>OE({label:`label`,key:`key`,disabled:`disabled`})},targetOrder:{type:String,values:[`original`,`push`,`unshift`],default:`original`},validateEvent:{type:Boolean,default:!0}}),fK=(e,t)=>[e,t].every(u)||u(e)&&Iu(t),pK={[Yn]:(e,t,n)=>[e,n].every(u)&&[`left`,`right`].includes(t),[Jn]:e=>u(e),[lK]:fK,[uK]:fK},mK=e=>{let t={label:`label`,key:`key`,disabled:`disabled`};return U(()=>({...t,...e.props}))},hK=(e,t)=>({onSourceCheckedChange:(n,r)=>{e.leftChecked=n,r&&t(lK,n,r)},onTargetCheckedChange:(n,r)=>{e.rightChecked=n,r&&t(uK,n,r)}}),gK=e=>{let t=mK(e),n=U(()=>e.data.reduce((e,n)=>(e[n[t.value.key]]=n)&&e,{}));return{sourceData:U(()=>e.data.filter(n=>!e.modelValue.includes(n[t.value.key]))),targetData:U(()=>e.targetOrder===`original`?e.data.filter(n=>e.modelValue.includes(n[t.value.key])):e.modelValue.reduce((e,t)=>{let r=n.value[t];return r&&e.push(r),e},[]))}},_K=(e,t,n)=>{let r=mK(e),i=(e,t,r)=>{n(Jn,e),n(Yn,e,t,r)};return{addToLeft:()=>{let n=e.modelValue.slice();t.rightChecked.forEach(e=>{let t=n.indexOf(e);t>-1&&n.splice(t,1)}),i(n,`left`,t.rightChecked)},addToRight:()=>{let n=e.modelValue.slice(),a=e.data.filter(n=>{let i=n[r.value.key];return t.leftChecked.includes(i)&&!e.modelValue.includes(i)}).map(e=>e[r.value.key]);n=e.targetOrder===`unshift`?a.concat(n):n.concat(a),e.targetOrder===`original`&&(n=e.data.filter(e=>n.includes(e[r.value.key])).map(e=>e[r.value.key])),i(n,`right`,t.leftChecked)}}},vK=`checked-change`,yK=Z({data:dK.data,optionRender:{type:X(Function)},placeholder:String,title:String,filterable:Boolean,format:dK.format,filterMethod:dK.filterMethod,defaultChecked:dK.leftDefaultChecked,props:dK.props}),bK={[vK]:fK},xK=(e,t,n)=>{let r=mK(e),i=U(()=>e.data.filter(n=>k(e.filterMethod)?e.filterMethod(t.query,n):String(n[r.value.label]||n[r.value.key]).toLowerCase().includes(t.query.toLowerCase()))),a=U(()=>i.value.filter(e=>!e[r.value.disabled])),o=U(()=>{let n=t.checked.length,r=e.data.length,{noChecked:i,hasChecked:a}=e.format;return i&&a?n>0?a.replace(/\${checked}/g,n.toString()).replace(/\${total}/g,r.toString()):i.replace(/\${total}/g,r.toString()):`${n}/${r}`}),s=U(()=>{let e=t.checked.length;return e>0&&e{let e=a.value.map(e=>e[r.value.key]);t.allChecked=e.length>0&&e.every(e=>t.checked.includes(e))};return z(()=>t.checked,(e,r)=>{c(),t.checkChangeByUser?n(vK,e,e.concat(r).filter(t=>!e.includes(t)||!r.includes(t))):(n(vK,e),t.checkChangeByUser=!0)}),z(a,()=>{c()}),z(()=>e.data,()=>{let e=[],n=i.value.map(e=>e[r.value.key]);t.checked.forEach(t=>{n.includes(t)&&e.push(t)}),t.checkChangeByUser=!1,t.checked=e}),z(()=>e.defaultChecked,(e,n)=>{if(n&&e.length===n.length&&e.every(e=>n.includes(e)))return;let i=[],o=a.value.map(e=>e[r.value.key]);e.forEach(e=>{o.includes(e)&&i.push(e)}),t.checkChangeByUser=!1,t.checked=i},{immediate:!0}),{filteredData:i,checkableData:a,checkedSummary:o,isIndeterminate:s,updateAllChecked:c,handleAllCheckedChange:e=>{t.checked=e?a.value.map(e=>e[r.value.key]):[]}}},SK=J({name:`ElTransferPanel`,__name:`transfer-panel`,props:yK,emits:bK,setup(t,{expose:n,emit:i}){let a=t,o=i,s=y(),c=({option:e})=>e,{t:l}=Yf(),u=Q(`transfer`),d=Re({checked:[],allChecked:!1,query:``,checkChangeByUser:!0}),f=mK(a),{filteredData:p,checkedSummary:m,isIndeterminate:h,handleAllCheckedChange:g}=xK(a,d,o),_=U(()=>!sd(d.query)&&sd(p.value)),v=U(()=>!sd(s.default()[0].children)),{checked:b,allChecked:x,query:C}=Oe(d);return n({query:C}),(n,i)=>(S(),G(`div`,{class:L(B(u).b(`panel`))},[K(`p`,{class:L(B(u).be(`panel`,`header`))},[q(B(Kj),{modelValue:B(x),"onUpdate:modelValue":i[0]||=e=>Se(x)?x.value=e:null,indeterminate:B(h),"validate-event":!1,onChange:B(g)},{default:e(()=>[K(`span`,{class:L(B(u).be(`panel`,`header-title`))},R(t.title),3),K(`span`,{class:L(B(u).be(`panel`,`header-count`))},R(B(m)),3)]),_:1},8,[`modelValue`,`indeterminate`,`onChange`])],2),K(`div`,{class:L([B(u).be(`panel`,`body`),B(u).is(`with-footer`,v.value)])},[t.filterable?(S(),V(B(BE),{key:0,modelValue:B(C),"onUpdate:modelValue":i[1]||=e=>Se(C)?C.value=e:null,class:L(B(u).be(`panel`,`filter`)),size:`default`,placeholder:t.placeholder,"prefix-icon":B(bS),clearable:``,"validate-event":!1},null,8,[`modelValue`,`class`,`placeholder`,`prefix-icon`])):H(`v-if`,!0),ge(q(B(Jj),{modelValue:B(b),"onUpdate:modelValue":i[2]||=e=>Se(b)?b.value=e:null,"validate-event":!1,class:L([B(u).is(`filterable`,t.filterable),B(u).be(`panel`,`list`)])},{default:e(()=>[(S(!0),G(xe,null,Je(B(p),n=>(S(),V(B(Kj),{key:n[B(f).key],class:L(B(u).be(`panel`,`item`)),value:n[B(f).key],disabled:n[B(f).disabled],"validate-event":!1},{default:e(()=>[q(c,{option:t.optionRender?.(n)},null,8,[`option`])]),_:2},1032,[`class`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`class`]),[[Rt,!_.value&&!B(sd)(t.data)]]),ge(K(`div`,{class:L(B(u).be(`panel`,`empty`))},[r(n.$slots,`empty`,{},()=>[ce(R(_.value?B(l)(`el.transfer.noMatch`):B(l)(`el.transfer.noData`)),1)])],2),[[Rt,_.value||B(sd)(t.data)]])],2),v.value?(S(),G(`p`,{key:0,class:L(B(u).be(`panel`,`footer`))},[r(n.$slots,`default`)],2)):H(`v-if`,!0)],2))}}),CK={key:0},wK={key:0},TK=iv(J({name:`ElTransfer`,__name:`transfer`,props:dK,emits:pK,setup(t,{expose:n,emit:i}){let o=t,s=i,c=y(),{t:l}=Yf(),u=Q(`transfer`),{formItem:d}=dw(),f=Re({leftChecked:[],rightChecked:[]}),p=mK(o),{sourceData:m,targetData:h}=gK(o),{onSourceCheckedChange:g,onTargetCheckedChange:_}=hK(f,s),{addToLeft:v,addToRight:b}=_K(o,f,s),x=W(),C=W(),w=e=>{switch(e){case`left`:x.value.query=``;break;case`right`:C.value.query=``;break}},T=U(()=>o.buttonTexts.length===2),E=U(()=>o.titles[0]||l(`el.transfer.titles.0`)),D=U(()=>o.titles[1]||l(`el.transfer.titles.1`)),O=U(()=>o.filterPlaceholder||l(`el.transfer.filterPlaceholder`));z(()=>o.modelValue,()=>{o.validateEvent&&d?.validate?.(`change`).catch(e=>Cd(e))});let k=U(()=>e=>{if(o.renderContent)return o.renderContent(a,e);let t=(c.default?.({option:e})||[]).filter(e=>e.type!==Fe);return t.length?t:a(`span`,e[p.value.label]||e[p.value.key])});return n({clearQuery:w,leftPanel:x,rightPanel:C}),(n,i)=>(S(),G(`div`,{class:L(B(u).b())},[q(SK,{ref_key:`leftPanel`,ref:x,data:B(m),"option-render":k.value,placeholder:O.value,title:E.value,filterable:t.filterable,format:t.format,"filter-method":t.filterMethod,"default-checked":t.leftDefaultChecked,props:o.props,onCheckedChange:B(g)},{empty:e(()=>[r(n.$slots,`left-empty`)]),default:e(()=>[r(n.$slots,`left-footer`)]),_:3},8,[`data`,`option-render`,`placeholder`,`title`,`filterable`,`format`,`filter-method`,`default-checked`,`props`,`onCheckedChange`]),K(`div`,{class:L(B(u).e(`buttons`))},[q(B(wO),{type:`primary`,class:L([B(u).e(`button`),B(u).is(`with-texts`,T.value)]),disabled:B(sd)(f.rightChecked),onClick:B(v)},{default:e(()=>[q(B($),null,{default:e(()=>[q(B(yv))]),_:1}),B(id)(t.buttonTexts[0])?H(`v-if`,!0):(S(),G(`span`,CK,R(t.buttonTexts[0]),1))]),_:1},8,[`class`,`disabled`,`onClick`]),q(B(wO),{type:`primary`,class:L([B(u).e(`button`),B(u).is(`with-texts`,T.value)]),disabled:B(sd)(f.leftChecked),onClick:B(b)},{default:e(()=>[B(id)(t.buttonTexts[1])?H(`v-if`,!0):(S(),G(`span`,wK,R(t.buttonTexts[1]),1)),q(B($),null,{default:e(()=>[q(B(xv))]),_:1})]),_:1},8,[`class`,`disabled`,`onClick`])],2),q(SK,{ref_key:`rightPanel`,ref:C,data:B(h),"option-render":k.value,placeholder:O.value,filterable:t.filterable,format:t.format,"filter-method":t.filterMethod,title:D.value,"default-checked":t.rightDefaultChecked,props:o.props,onCheckedChange:B(_)},{empty:e(()=>[r(n.$slots,`right-empty`)]),default:e(()=>[r(n.$slots,`right-footer`)]),_:3},8,[`data`,`option-render`,`placeholder`,`filterable`,`format`,`filter-method`,`title`,`default-checked`,`props`,`onCheckedChange`])],2))}})),EK=`RootTree`,DK=`NodeInstance`,OK=`TreeNodeMap`,kK=Z({data:{type:X(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:{type:Array},defaultExpandedKeys:{type:Array},currentNodeKey:{type:[String,Number]},renderContent:{type:X(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:X(Function)},allowDrop:{type:X(Function)},props:{type:Object,default:()=>({children:`children`,label:`label`,disabled:`disabled`})},lazy:Boolean,highlightCurrent:Boolean,load:{type:Function},filterNodeMethod:{type:Function},accordion:Boolean,indent:{type:Number,default:18},icon:{type:FC}}),AK={"check-change":(e,t,n)=>e&&ad(t)&&ad(n),"current-change":(e,t)=>!0,"node-click":(e,t,n,r)=>e&&t&&r instanceof Event,"node-contextmenu":(e,t,n,r)=>e instanceof Event&&t&&n,"node-collapse":(e,t,n)=>e&&t,"node-expand":(e,t,n)=>e&&t,check:(e,t)=>e&&t,"node-drag-start":(e,t)=>e&&t,"node-drag-end":(e,t,n,r)=>e&&r,"node-drop":(e,t,n,r)=>e&&t&&r,"node-drag-leave":(e,t,n)=>e&&t&&n,"node-drag-enter":(e,t,n)=>e&&t&&n,"node-drag-over":(e,t,n)=>e&&t&&n},jK=`$treeNodeId`,MK=function(e,t){!t||t.$treeNodeId||Object.defineProperty(t,jK,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},NK=(e,t)=>t?.[e||`$treeNodeId`],PK=(e,t,n)=>{let r=e.value.currentNode;n();let i=e.value.currentNode;r!==i&&t(`current-change`,i?i.data:null,i)},FK=e=>{let t=!0,n=!0,r=!0,i=!0;for(let a=0,o=e.length;a{e.canFocus=t,RK(e.childNodes,t)})},zK=0,BK=class e{constructor(e){this.isLeafByUser=void 0,this.isLeaf=void 0,this.isEffectivelyChecked=!1,this.id=zK++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(let t in e)ne(e,t)&&(this[t]=e[t]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){let e=this.store;if(!e)throw Error(`[Node]store is required!`);e.registerNode(this);let t=e.props;if(t&&t.isLeaf!==void 0){let e=LK(this,`isLeaf`);ad(e)&&(this.isLeafByUser=e)}if(e.lazy!==!0&&this.data?(this.setData(this.data),e.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&e.lazy&&e.defaultExpandAll&&!this.isLeafByUser&&this.expand(),u(this.data)||MK(this,this.data),!this.data)return;let n=e.defaultExpandedKeys,r=e.key;r&&!Iu(this.key)&&n&&n.includes(this.key)&&this.expand(null,e.autoExpandParent),r&&e.currentNodeKey!==void 0&&this.key===e.currentNodeKey&&(e.currentNode&&(e.currentNode.isCurrent=!1),e.currentNode=this,e.currentNode.isCurrent=!0),e.lazy&&e._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||this.parent?.expanded===!0)&&(this.canFocus=!0)}setData(e){u(e)||MK(this,e),this.data=e,this.childNodes=[];let t;t=this.level===0&&u(this.data)?this.data:LK(this,`children`)||[];for(let e=0,n=t.length;e-1)return e.childNodes[t+1]}return null}get previousSibling(){let e=this.parent;if(e){let t=e.childNodes.indexOf(this);if(t>-1)return t>0?e.childNodes[t-1]:null}return null}contains(e,t=!0){return(this.childNodes||[]).some(n=>n===e||t&&n.contains(e))}remove(){let e=this.parent;e&&e.removeChild(this)}insertChild(t,n,r){if(!t)throw Error(`InsertChild error: child is required.`);if(!(t instanceof e)){if(!r){let e=this.getChildren(!0);e?.includes(t.data)||(id(n)||n<0?e?.push(t.data):e?.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=Re(new e(t)),t instanceof e&&t.initialize()}t.level=this.level+1,id(n)||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(e,t){let n;t&&(n=this.childNodes.indexOf(t)),this.insertChild(e,n)}insertAfter(e,t){let n;t&&(n=this.childNodes.indexOf(t),n!==-1&&(n+=1)),this.insertChild(e,n)}removeChild(e){let t=this.getChildren()||[],n=t.indexOf(e.data);n>-1&&t.splice(n,1);let r=this.childNodes.indexOf(e);r>-1&&(this.store&&this.store.deregisterNode(e),e.parent=null,this.childNodes.splice(r,1)),this.updateLeafState()}removeChildByData(e){let t=this.childNodes.find(t=>t.data===e);t&&this.removeChild(t)}expand(e,t){let n=()=>{if(t){let e=this.parent;for(;e&&e.level>0;)e.expanded=!0,e=e.parent}this.expanded=!0,e&&e(),RK(this.childNodes,!0)};this.shouldLoadData()?this.loadData(e=>{u(e)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||IK(this),n())}):n()}doCreateChildren(e,t={}){e.forEach(e=>{this.insertChild(Object.assign({data:e},t),void 0,!0)})}collapse(){this.expanded=!1,RK(this.childNodes,!1)}shouldLoadData(){return!!(this.store.lazy===!0&&this.store.load&&!this.loaded)}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&this.isLeafByUser!==void 0){this.isLeaf=this.isLeafByUser,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}let e=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!e||e.length===0,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}this.isLeaf=!1}setChecked(e,t,n,r){if(this.indeterminate=e===`half`,this.checked=e===!0,this.isEffectivelyChecked=!this.childNodes.length&&(this.disabled||this.checked),this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){let n=()=>{if(t){let n=this.childNodes;for(let i=0,a=n.length;i{n(),IK(this)},{checked:e!==!1});return}else n()}let i=this.parent;!i||i.level===0||n||IK(i)}getChildren(e=!1){if(this.level===0)return this.data;let t=this.data;if(!t)return null;let n=this.store.props,r=`children`;return n&&(r=n.children||`children`),id(t[r])&&(t[r]=null),e&&!t[r]&&(t[r]=[]),t[r]}updateChildren(){let e=this.getChildren()||[],t=this.childNodes.map(e=>e.data),n={},r=[];e.forEach((e,i)=>{let a=e[jK];a&&t.some(e=>e?.$treeNodeId===a)?n[a]={index:i,data:e}:r.push({index:i,data:e})}),this.store.lazy||t.forEach(e=>{n[e?.$treeNodeId]||this.removeChildByData(e)}),r.forEach(({index:e,data:t})=>{this.insertChild({data:t},e)}),this.updateLeafState()}loadData(e,t={}){this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(t).length)?(this.loading=!0,this.store.load(this,n=>{this.childNodes=[],this.doCreateChildren(n,t),this.loaded=!0,this.loading=!1,this.updateLeafState(),e&&e.call(this,n)},()=>{this.loading=!1})):e&&e.call(this)}eachNode(e){let t=[this];for(;t.length;){let n=t.shift();t.unshift(...n.childNodes),e(n)}}reInitChecked(){this.store.checkStrictly||IK(this)}},VK=class{constructor(e){this.lazy=!1,this.checkStrictly=!1,this.autoExpandParent=!1,this.defaultExpandAll=!1,this.checkDescendants=!1,this.currentNode=null,this.currentNodeKey=null;for(let t in e)ne(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new BK({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){let e=this.load;e(this.root,e=>{this.root.doCreateChildren(e),this._initDefaultCheckedNodes()},He)}else this._initDefaultCheckedNodes()}filter(e){let t=this.filterNodeMethod,n=this.lazy,r=async function(i){let a=i.root?i.root.childNodes:i.childNodes;for(let[n,i]of a.entries())i.visible=!!t?.call(i,e,i.data,i),n%80==0&&n>0&&await O(),await r(i);if(!i.visible&&a.length){let e=!0;e=!a.some(e=>e.visible),i.root?i.root.visible=e===!1:i.visible=e===!1}e&&i.visible&&!i.isLeaf&&(!n||i.loaded)&&i.expand()};r(this)}setData(e){e===this.root.data?this.root.updateChildren():(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey))}getNode(e){if(e instanceof BK)return e;let t=n(e)?NK(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){let n=this.getNode(t);n.parent?.insertBefore({data:e},n)}insertAfter(e,t){let n=this.getNode(t);n.parent?.insertAfter({data:e},n)}remove(e){let t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){let n=ld(t)?this.root:this.getNode(t);n&&n.insertChild({data:e})}_initDefaultCheckedNodes(){let e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(e=>{let n=t[e];n&&n.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){let t=this.defaultCheckedKeys||[];!Iu(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){let t=this.key;if(!(!e||!e.data))if(!t)this.nodesMap[e.id]=e;else{let t=e.key;Iu(t)||(this.nodesMap[t]=e)}}deregisterNode(e){!this.key||!e||!e.data||(e.childNodes.forEach(e=>{this.deregisterNode(e)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){let n=[],r=function(i){(i.root?i.root.childNodes:i.childNodes).forEach(i=>{(i.checked||t&&i.indeterminate)&&(!e||e&&i.isLeaf)&&n.push(i.data),r(i)})};return r(this),n}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(e=>(e||{})[this.key])}getHalfCheckedNodes(){let e=[],t=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(n=>{n.indeterminate&&e.push(n.data),t(n)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){let e=[],t=this.nodesMap;for(let n in t)ne(t,n)&&e.push(t[n]);return e}updateChildren(e,t){let n=this.nodesMap[e];if(!n)return;let r=n.childNodes;for(let e=r.length-1;e>=0;e--){let t=r[e];this.remove(t.data)}for(let e=0,r=t.length;ee.level-t.level),i=Object.create(null),a=Object.keys(n);r.forEach(e=>e.setChecked(!1,!1));let o=t=>{t.childNodes.forEach(t=>{i[t.data[e]]=!0,t.childNodes?.length&&o(t)})};for(let n=0,s=r.length;n{t.isLeaf||t.setChecked(!1,!1,!0),e(t)}),t.reInitChecked()};e(s)}}}setCheckedNodes(e,t=!1){let n=this.key,r={};e.forEach(e=>{r[(e||{})[n]]=!0}),this._setCheckedKeys(n,t,r)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;let n=this.key,r={};e.forEach(e=>{r[e]=!0}),this._setCheckedKeys(n,t,r)}setDefaultExpandedKeys(e){e||=[],this.defaultExpandedKeys=e,e.forEach(e=>{let t=this.getNode(e);t&&t.expand(null,this.autoExpandParent)})}setChecked(e,t,n){let r=this.getNode(e);r&&r.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){let t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){let n=e[this.key],r=this.nodesMap[n];this.setCurrentNode(r),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(this.currentNodeKey=e,ld(e)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}let n=this.getNode(e);n&&(this.setCurrentNode(n),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0))}};function HK(e){let t=P(OK,null),n={treeNodeExpand:t=>{e.node!==t&&e.node?.collapse()},children:new Set};return t&&t.children.add(n),Ce(()=>{t&&t.children.delete(n),n=null}),N(OK,n),{broadcastExpanded:t=>{if(e.accordion)for(let e of n.children)e.treeNodeExpand(t)}}}var UK=Symbol(`dragEvents`);function WK({props:e,ctx:t,el$:n,dropIndicator$:r,store:i}){let a=Q(`tree`),o=W({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return N(UK,{treeNodeDragStart:({event:n,treeNode:r})=>{if(n.dataTransfer){if(k(e.allowDrag)&&!e.allowDrag(r.node))return n.preventDefault(),!1;n.dataTransfer.effectAllowed=`move`;try{n.dataTransfer.setData(`text/plain`,``)}catch{}o.value.draggingNode=r,t.emit(`node-drag-start`,r.node,n)}},treeNodeDragOver:({event:i,treeNode:s})=>{if(!i.dataTransfer)return;let c=s,l=o.value.dropNode;l&&l.node.id!==c.node.id&&zf(l.$el,a.is(`drop-inner`));let u=o.value.draggingNode;if(!u||!c)return;let d=!0,f=!0,p=!0,m=!0;k(e.allowDrop)&&(d=e.allowDrop(u.node,c.node,`prev`),m=f=e.allowDrop(u.node,c.node,`inner`),p=e.allowDrop(u.node,c.node,`next`)),i.dataTransfer.dropEffect=f||d||p?`move`:`none`,(d||f||p)&&l?.node.id!==c.node.id&&(l&&t.emit(`node-drag-leave`,u.node,l.node,i),t.emit(`node-drag-enter`,u.node,c.node,i)),d||f||p?o.value.dropNode=c:o.value.dropNode=null,c.node.nextSibling===u.node&&(p=!1),c.node.previousSibling===u.node&&(d=!1),c.node.contains(u.node,!1)&&(f=!1),(u.node===c.node||u.node.contains(c.node))&&(d=!1,f=!1,p=!1);let h=c.$el,g=h.querySelector(`.${a.be(`node`,`content`)}`).getBoundingClientRect(),_=n.value.getBoundingClientRect(),v=n.value.scrollTop,y,b=d?f?.25:p?.45:1:-1/0,x=p?f?.75:d?.55:0:1/0,S=-9999,C=i.clientY-g.top;y=Cg.height*x?`after`:f?`inner`:`none`;let w=h.querySelector(`.${a.be(`node`,`expand-icon`)}`).getBoundingClientRect(),T=r.value;y===`before`?S=w.top-_.top+v:y===`after`&&(S=w.bottom-_.top+v),T.style.top=`${S}px`,T.style.left=`${w.right-_.left}px`,y===`inner`?Rf(h,a.is(`drop-inner`)):zf(h,a.is(`drop-inner`)),o.value.showDropIndicator=y===`before`||y===`after`,o.value.allowDrop=o.value.showDropIndicator||m,o.value.dropType=y,t.emit(`node-drag-over`,u.node,c.node,i)},treeNodeDragEnd:e=>{let{draggingNode:n,dropType:r,dropNode:s}=o.value;if(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`),n?.node.data&&s){let o={data:n.node.data};r!==`none`&&n.node.remove(),r===`before`?s.node.parent?.insertBefore(o,s.node):r===`after`?s.node.parent?.insertAfter(o,s.node):r===`inner`&&s.node.insertChild(o),r!==`none`&&(i.value.registerNode(o),i.value.key&&n.node.eachNode(e=>{i.value.nodesMap[e.data[i.value.key]]?.setChecked(e.checked,!i.value.checkStrictly)})),zf(s.$el,a.is(`drop-inner`)),t.emit(`node-drag-end`,n.node,s.node,r,e),r!==`none`&&t.emit(`node-drop`,n.node,s.node,r,e)}n&&!s&&t.emit(`node-drag-end`,n.node,null,r,e),o.value.showDropIndicator=!1,o.value.draggingNode=null,o.value.dropNode=null,o.value.allowDrop=!0}}),{dragState:o}}var GK=J({name:`ElTreeNode`,components:{ElCollapseTransition:GM,ElCheckbox:Kj,NodeContent:J({name:`ElTreeNodeContent`,props:{node:{type:Object,required:!0},renderContent:Function},setup(e){let t=Q(`tree`),n=P(DK),i=P(EK);return()=>{let o=e.node,{data:s,store:c}=o;return e.renderContent?e.renderContent(a,{_self:n,node:o,data:s,store:c}):r(i.ctx.slots,`default`,{node:o,data:s},()=>[a(YG,{tag:`span`,truncated:!0,class:t.be(`node`,`label`)},()=>[o.label])])}}}),ElIcon:$,Loading:$b},props:{node:{type:BK,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:[`node-expand`],setup(e,t){let n=Q(`tree`),{broadcastExpanded:r}=HK(e),i=P(EK),a=W(!1),o=W(!1),s=W(),c=W(),l=W(),u=P(UK),d=de();N(DK,d),i||Cd(`Tree`,`Can not find node's tree.`),e.node.expanded&&(a.value=!0,o.value=!0);let f=i.props.props.children||`children`;z(()=>{let t=e.node.data?.[f];return t&&[...t]},()=>{e.node.updateChildren()}),z(()=>e.node.indeterminate,t=>{h(e.node.checked,t)}),z(()=>e.node.checked,t=>{h(t,e.node.indeterminate)}),z(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),z(()=>e.node.expanded,e=>{O(()=>a.value=e),e&&(o.value=!0)});let p=e=>i.props.nodeKey?NK(i.props.nodeKey,e.data):e.id,m=t=>{let n=e.props.class;if(!n)return{};let r;if(k(n)){let{data:e}=t;r=n(e,t)}else r=n;return v(r)?{[r]:!0}:r},h=(t,n)=>{(s.value!==t||c.value!==n)&&i.ctx.emit(`check-change`,e.node.data,t,n),s.value=t,c.value=n},g=t=>{PK(i.store,i.ctx.emit,()=>{if(i?.props?.nodeKey){let t=p(e.node);i.store.value.setCurrentNodeKey(t)}else i.store.value.setCurrentNode(e.node)}),i.currentNode.value=e.node,i.props.expandOnClickNode&&y(),(i.props.checkOnClickNode||e.node.isLeaf&&i.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&b(!e.node.checked),i.ctx.emit(`node-click`,e.node.data,e.node,d,t)},_=t=>{i.instance.vnode.props?.onNodeContextmenu&&(t.stopPropagation(),t.preventDefault()),i.ctx.emit(`node-contextmenu`,t,e.node.data,e.node,d)},y=()=>{e.node.isLeaf||(a.value?(i.ctx.emit(`node-collapse`,e.node.data,e.node,d),e.node.collapse()):e.node.expand(()=>{t.emit(`node-expand`,e.node.data,e.node,d)}))},b=t=>{let n=i?.props.checkStrictly,r=e.node.childNodes;!n&&r.length&&(t=r.some(e=>!e.isEffectivelyChecked)),e.node.setChecked(t,!n),O(()=>{let t=i.store.value;i.ctx.emit(`check`,e.node.data,{checkedNodes:t.getCheckedNodes(),checkedKeys:t.getCheckedKeys(),halfCheckedNodes:t.getHalfCheckedNodes(),halfCheckedKeys:t.getHalfCheckedKeys()})})};return{ns:n,node$:l,tree:i,expanded:a,childNodeRendered:o,oldChecked:s,oldIndeterminate:c,getNodeKey:p,getNodeClass:m,handleSelectChange:h,handleClick:g,handleContextMenu:_,handleExpandIconClick:y,handleCheckChange:b,handleChildNodeExpand:(e,t,n)=>{r(t),i.ctx.emit(`node-expand`,e,t,n)},handleDragStart:t=>{i.props.draggable&&u.treeNodeDragStart({event:t,treeNode:e})},handleDragOver:t=>{t.preventDefault(),i.props.draggable&&u.treeNodeDragOver({event:t,treeNode:{$el:l.value,node:e.node}})},handleDrop:e=>{e.preventDefault()},handleDragEnd:e=>{i.props.draggable&&u.treeNodeDragEnd(e)},CaretRight:Gv}}}),KK=[`aria-expanded`,`aria-disabled`,`aria-checked`,`draggable`,`data-key`],qK=[`aria-expanded`];function JK(t,n,r,i,a,o){let s=ie(`el-icon`),c=ie(`el-checkbox`),l=ie(`loading`),u=ie(`node-content`),d=ie(`el-tree-node`),f=ie(`el-collapse-transition`);return ge((S(),G(`div`,{ref:`node$`,class:L([t.ns.b(`node`),t.ns.is(`expanded`,t.expanded),t.ns.is(`current`,t.node.isCurrent),t.ns.is(`hidden`,!t.node.visible),t.ns.is(`focusable`,!t.node.disabled),t.ns.is(`checked`,!t.node.disabled&&t.node.checked),t.getNodeClass(t.node)]),role:`treeitem`,tabindex:`-1`,"aria-expanded":t.expanded,"aria-disabled":t.node.disabled,"aria-checked":t.node.checked,draggable:t.tree.props.draggable,"data-key":t.getNodeKey(t.node),onClick:n[2]||=In((...e)=>t.handleClick&&t.handleClick(...e),[`stop`]),onContextmenu:n[3]||=(...e)=>t.handleContextMenu&&t.handleContextMenu(...e),onDragstart:n[4]||=In((...e)=>t.handleDragStart&&t.handleDragStart(...e),[`stop`]),onDragover:n[5]||=In((...e)=>t.handleDragOver&&t.handleDragOver(...e),[`stop`]),onDragend:n[6]||=In((...e)=>t.handleDragEnd&&t.handleDragEnd(...e),[`stop`]),onDrop:n[7]||=In((...e)=>t.handleDrop&&t.handleDrop(...e),[`stop`])},[K(`div`,{class:L(t.ns.be(`node`,`content`)),style:I({paddingLeft:(t.node.level-1)*t.tree.props.indent+`px`})},[t.tree.props.icon||t.CaretRight?(S(),V(s,{key:0,class:L([t.ns.be(`node`,`expand-icon`),t.ns.is(`leaf`,t.node.isLeaf),{expanded:!t.node.isLeaf&&t.expanded}]),onClick:In(t.handleExpandIconClick,[`stop`])},{default:e(()=>[(S(),V(F(t.tree.props.icon||t.CaretRight)))]),_:1},8,[`class`,`onClick`])):H(`v-if`,!0),t.showCheckbox?(S(),V(c,{key:1,"model-value":t.node.checked,indeterminate:t.node.indeterminate,disabled:!!t.node.disabled,onClick:n[0]||=In(()=>{},[`stop`]),onChange:t.handleCheckChange},null,8,[`model-value`,`indeterminate`,`disabled`,`onChange`])):H(`v-if`,!0),t.node.loading?(S(),V(s,{key:2,class:L([t.ns.be(`node`,`loading-icon`),t.ns.is(`loading`)])},{default:e(()=>[q(l)]),_:1},8,[`class`])):H(`v-if`,!0),q(u,{node:t.node,"render-content":t.renderContent},null,8,[`node`,`render-content`])],6),q(f,null,{default:e(()=>[!t.renderAfterExpand||t.childNodeRendered?ge((S(),G(`div`,{key:0,class:L(t.ns.be(`node`,`children`)),role:`group`,"aria-expanded":t.expanded,onClick:n[1]||=In(()=>{},[`stop`])},[(S(!0),G(xe,null,Je(t.node.childNodes,e=>(S(),V(d,{key:t.getNodeKey(e),"render-content":t.renderContent,"render-after-expand":t.renderAfterExpand,"show-checkbox":t.showCheckbox,node:e,accordion:t.accordion,props:t.props,onNodeExpand:t.handleChildNodeExpand},null,8,[`render-content`,`render-after-expand`,`show-checkbox`,`node`,`accordion`,`props`,`onNodeExpand`]))),128))],10,qK)),[[Rt,t.expanded]]):H(`v-if`,!0)]),_:1})],42,KK)),[[Rt,t.node.visible]])}var YK=eE(GK,[[`render`,JK]]);function XK({el$:e},t){let n=Q(`tree`);A(()=>{i()}),_(()=>{e.value?.querySelectorAll(`input[type=checkbox]`).forEach(e=>{e.setAttribute(`tabindex`,`-1`)})});function r(e,n){let r=t.value.getNode(e[n].dataset.key);return r.canFocus&&r.visible&&(r.parent?.expanded||r.parent?.level===0)}$d(e,`keydown`,t=>{let i=t.target;if(!i.className.includes(n.b(`node`)))return;let a=mp(t),o=Array.from(e.value.querySelectorAll(`.${n.is(`focusable`)}[role=treeitem]`)),s=o.indexOf(i),c;if([Y.up,Y.down].includes(a)){if(t.preventDefault(),a===Y.up){c=s===-1?0:s===0?o.length-1:s-1;let e=c;for(;!r(o,c);){if(c--,c===e){c=-1;break}c<0&&(c=o.length-1)}}else{c=s===-1?0:s=o.length&&(c=0)}}c!==-1&&o[c].focus()}[Y.left,Y.right].includes(a)&&(t.preventDefault(),i.click());let l=i.querySelector(`[type="checkbox"]`);[Y.enter,Y.numpadEnter,Y.space].includes(a)&&l&&(t.preventDefault(),l.click())});let i=()=>{if(!e.value)return;let t=Array.from(e.value.querySelectorAll(`.${n.is(`focusable`)}[role=treeitem]`));Array.from(e.value.querySelectorAll(`input[type=checkbox]`)).forEach(e=>{e.setAttribute(`tabindex`,`-1`)});let r=e.value.querySelectorAll(`.${n.is(`checked`)}[role=treeitem]`);if(r.length){r[0].setAttribute(`tabindex`,`0`);return}t[0]?.setAttribute(`tabindex`,`0`)}}var ZK=J({name:`ElTree`,components:{ElTreeNode:YK},props:kK,emits:AK,setup(e,t){let{t:n}=Yf(),r=Q(`tree`),i=W(new VK({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));i.value.initialize();let a=W(i.value.root),o=W(null),s=W(null),c=W(null),{broadcastExpanded:l}=HK(e),{dragState:u}=WK({props:e,ctx:t,el$:s,dropIndicator$:c,store:i});XK({el$:s},i);let d=de(),f=U(()=>{let e=d?.parent;for(;e;){if(e.type.name===`ElTreeSelect`)return!0;e=e.parent}return!1}),p=U(()=>{let{childNodes:e}=a.value;return(!e||e.length===0||e.every(({visible:e})=>!e))&&!f.value});z(()=>e.currentNodeKey,e=>{i.value.setCurrentNodeKey(e??null)}),z(()=>e.defaultCheckedKeys,(e,t)=>{Fu(e,t)||i.value.setDefaultCheckedKey(e??[])}),z(()=>e.defaultExpandedKeys,e=>{i.value.setDefaultExpandedKeys(e??[])}),z(()=>e.data,e=>{i.value.setData(e)},{deep:!0}),z(()=>e.checkStrictly,e=>{i.value.checkStrictly=e});let m=t=>{if(!e.filterNodeMethod)throw Error(`[Tree] filterNodeMethod is required when filter`);i.value.filter(t)},h=t=>e.nodeKey?NK(e.nodeKey,t.data):t.id,g=t=>{if(!e.nodeKey)throw Error(`[Tree] nodeKey is required in ${t}`)},_=e=>{g(`getNodePath`);let t=i.value.getNode(e);if(!t)return[];let n=[t.data],r=t.parent;for(;r&&r!==a.value;)n.push(r.data),r=r.parent;return n.reverse()},v=(e,t)=>i.value.getCheckedNodes(e,t),y=e=>i.value.getCheckedKeys(e),b=()=>{let e=i.value.getCurrentNode();return e?e.data:null};return N(EK,{ctx:t,props:e,store:i,root:a,currentNode:o,instance:d}),N(cw,void 0),{ns:r,store:i,root:a,currentNode:o,dragState:u,el$:s,dropIndicator$:c,isEmpty:p,filter:m,getNodeKey:h,getNodePath:_,getCheckedNodes:v,getCheckedKeys:y,getCurrentNode:b,getCurrentKey:()=>{g(`getCurrentKey`);let t=b();return t?t[e.nodeKey]:null},setCheckedNodes:(e,t)=>{g(`setCheckedNodes`),i.value.setCheckedNodes(e,t)},setCheckedKeys:(e,t)=>{g(`setCheckedKeys`),i.value.setCheckedKeys(e,t)},setChecked:(e,t,n)=>{i.value.setChecked(e,t,n)},getHalfCheckedNodes:()=>i.value.getHalfCheckedNodes(),getHalfCheckedKeys:()=>i.value.getHalfCheckedKeys(),setCurrentNode:(e,n=!0)=>{g(`setCurrentNode`),PK(i,t.emit,()=>{l(e),i.value.setUserCurrentNode(e,n)})},setCurrentKey:(e=null,n=!0)=>{g(`setCurrentKey`),PK(i,t.emit,()=>{l(),i.value.setCurrentNodeKey(e,n)})},t:n,getNode:e=>i.value.getNode(e),remove:e=>{i.value.remove(e)},append:(e,t)=>{i.value.append(e,t)},insertBefore:(e,t)=>{i.value.insertBefore(e,t)},insertAfter:(e,t)=>{i.value.insertAfter(e,t)},handleNodeExpand:(e,n,r)=>{l(n),t.emit(`node-expand`,e,n,r)},updateKeyChildren:(e,t)=>{g(`updateKeyChildren`),i.value.updateChildren(e,t)}}}});function QK(e,t,n,i,a,o){let s=ie(`el-tree-node`);return S(),G(`div`,{ref:`el$`,class:L([e.ns.b(),e.ns.is(`dragging`,!!e.dragState.draggingNode),e.ns.is(`drop-not-allow`,!e.dragState.allowDrop),e.ns.is(`drop-inner`,e.dragState.dropType===`inner`),{[e.ns.m(`highlight-current`)]:e.highlightCurrent}]),role:`tree`},[(S(!0),G(xe,null,Je(e.root.childNodes,t=>(S(),V(s,{key:e.getNodeKey(t),node:t,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,[`node`,`props`,`accordion`,`render-after-expand`,`show-checkbox`,`render-content`,`onNodeExpand`]))),128)),e.isEmpty?(S(),G(`div`,{key:0,class:L(e.ns.e(`empty-block`))},[r(e.$slots,`empty`,{},()=>[K(`span`,{class:L(e.ns.e(`empty-text`))},R(e.emptyText??e.t(`el.tree.emptyText`)),3)])],2)):H(`v-if`,!0),ge(K(`div`,{ref:`dropIndicator$`,class:L(e.ns.e(`drop-indicator`))},null,2),[[Rt,e.dragState.showDropIndicator]])],2)}var $K=iv(eE(ZK,[[`render`,QK]])),eq=(e,{attrs:t,emit:n},{select:r,tree:i,key:a})=>{let o=Q(`tree-select`);z(()=>e.data,()=>{e.filterable&&O(()=>{i.value?.filter(r.value?.states.inputValue)})},{flush:`post`});let s=e=>{let t=e.at(-1);if(t.expanded&&t.childNodes.at(-1))s([t.childNodes.at(-1)]);else{(i.value.el$?.querySelector(`[data-key="${e.at(-1).key}"]`))?.focus({preventScroll:!0});return}};return A(()=>{$d(()=>r.value?.$el,`keydown`,async e=>{let t=mp(e),{dropdownMenuVisible:n}=r.value;[Y.down,Y.up].includes(t)&&n&&(await O(),setTimeout(()=>{if(Y.up===t){let e=i.value.store.root.childNodes;s(e);return}r.value.optionsArray[r.value.states.hoveringIndex].$el?.parentNode?.parentNode?.focus({preventScroll:!0})}))},{capture:!0})}),{...Xu(Oe(e),Object.keys(zA.props)),...t,class:U(()=>t.class),style:U(()=>t.style),"onUpdate:modelValue":e=>n(Jn,e),valueKey:a,popperClass:U(()=>{let t=[o.e(`popper`)];return e.popperClass&&t.push(e.popperClass),t.join(` `)}),filterMethod:(t=``)=>{e.filterMethod?e.filterMethod(t):e.remoteMethod?e.remoteMethod(t):i.value?.filter(t)}}},tq=J({extends:BA,setup(e,t){let n=BA.setup(e,t);delete n.selectOptionClick;let r=de().proxy;return O(()=>{n.select.states.cachedOptions.get(r.value)||n.select.onOptionCreate(r)}),z(()=>t.attrs.visible,e=>{O(()=>{n.states.visible=e})},{immediate:!0}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function nq(e){return e||e===0}function rq(e){return u(e)&&e.length}function iq(e){return u(e)?e:nq(e)?[e]:[]}function aq(e,t,n,r,i){for(let a=0;a{z([()=>e.modelValue,a],()=>{e.showCheckbox&&O(()=>{let t=a.value;t&&!Fu(t.getCheckedKeys(),iq(e.modelValue))&&t.setCheckedKeys(iq(e.modelValue))})},{immediate:!0,deep:!0});let s=U(()=>({value:o.value,label:`label`,children:`children`,disabled:`disabled`,isLeaf:`isLeaf`,...e.props})),c=(e,t)=>{let n=s.value[e];return k(n)?n(t,a.value?.getNode(c(`value`,t))):t[n]},l=iq(e.modelValue).map(t=>aq(e.data||[],e=>c(`value`,e)===t,e=>c(`children`,e),(e,t,n,r)=>r&&c(`value`,r))).filter(e=>nq(e)),u=U(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];let t=[];return oq(e.data.concat(e.cacheData),e=>{let n=c(`value`,e);t.push({value:n,currentLabel:c(`label`,e),isDisabled:c(`disabled`,e)})},e=>c(`children`,e)),t}),d=()=>a.value?.getCheckedKeys().filter(e=>{let t=a.value?.getNode(e);return!Iu(t)&&sd(t.childNodes)}),f=t=>{Fu(e.modelValue,t)||r(Yn,t)};function p(e){r(Jn,e),f(e)}return{...Xu(Oe(e),Object.keys($K.props)),...t,nodeKey:o,expandOnClickNode:U(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:U(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(l):l),renderContent:(t,{node:r,data:i,store:a})=>t(tq,{value:c(`value`,i),label:c(`label`,i),disabled:c(`disabled`,i),visible:r.visible},e.renderContent?()=>e.renderContent(t,{node:r,data:i,store:a}):n.default?()=>n.default({node:r,data:i,store:a}):void 0),filterNodeMethod:(t,n,r)=>e.filterNodeMethod?e.filterNodeMethod(t,n,r):t?new RegExp(Nf(t),`i`).test(c(`label`,n)||``):!0,onNodeClick:(n,r,a)=>{if(t.onNodeClick?.(n,r,a),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||r.isLeaf)){if(!c(`disabled`,n)){let e=i.value?.states.options.get(c(`value`,n));i.value?.handleOptionSelect(e)}}else e.expandOnClickNode&&a.proxy.handleExpandIconClick()},onCheck:(n,r)=>{if(!e.showCheckbox)return;let o=c(`value`,n),s={};oq([a.value.store.root],e=>s[e.key]=e,e=>e.childNodes);let l=r.checkedKeys,u=e.multiple?iq(e.modelValue).filter(e=>!(e in s)&&!l.includes(e)):[],f=u.concat(l);if(e.checkStrictly)p(e.multiple?f:f.includes(o)?o:void 0);else if(e.multiple){let e=d();p(u.concat(e))}else{let t=aq([n],e=>!rq(c(`children`,e))&&!c(`disabled`,e),e=>c(`children`,e)),r=t?c(`value`,t):void 0,i=nq(e.modelValue)&&!!aq([n],t=>c(`value`,t)===e.modelValue,e=>c(`children`,e));p(r===e.modelValue||i?void 0:r)}O(()=>{let r=iq(e.modelValue);a.value.setCheckedKeys(r),t.onCheck?.(n,{checkedKeys:a.value.getCheckedKeys(),checkedNodes:a.value.getCheckedNodes(),halfCheckedKeys:a.value.getHalfCheckedKeys(),halfCheckedNodes:a.value.getHalfCheckedNodes()})}),i.value?.focus()},onNodeExpand:(n,r,i)=>{t.onNodeExpand?.(n,r,i),O(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&r.checked){let t={},n=a.value.getCheckedKeys();oq([a.value.store.root],e=>t[e.key]=e,e=>e.childNodes);let r=iq(e.modelValue).filter(e=>!(e in t)&&!n.includes(e)),i=d();p(r.concat(i))}})},cacheOptions:u}},cq=J({props:{data:{type:Array,default:()=>[]}},setup(e){let t=P(dA);return z(()=>e.data,()=>{e.data.forEach(e=>{t.states.cachedOptions.has(e.value)||t.states.cachedOptions.set(e.value,e)});let n=t.selectRef?.querySelectorAll(`input`)||[];Md&&!Array.from(n).includes(document.activeElement)&&t.setSelected()},{flush:`post`,immediate:!0}),()=>void 0}}),lq=iv(J({name:`ElTreeSelect`,inheritAttrs:!1,props:{...mA,...kK,cacheData:{type:Array,default:()=>[]}},setup(e,t){let{slots:n,expose:r,emit:i,attrs:o}=t,s={...o,onChange:void 0},c=W(),l=W(),u=U(()=>e.nodeKey||e.valueKey||`value`),d=eq(e,{attrs:o,emit:i},{select:c,tree:l,key:u}),{cacheOptions:f,...p}=sq(e,{attrs:s,slots:n,emit:i},{select:c,tree:l,key:u}),m=Re({});return r(m),A(()=>{Object.assign(m,{...Xu(l.value,[`filter`,`updateKeyChildren`,`getCheckedNodes`,`setCheckedNodes`,`getCheckedKeys`,`setCheckedKeys`,`setChecked`,`getHalfCheckedNodes`,`getHalfCheckedKeys`,`getCurrentKey`,`getCurrentNode`,`setCurrentKey`,`setCurrentNode`,`getNode`,`remove`,`append`,`insertBefore`,`insertAfter`]),...Xu(c.value,[`focus`,`blur`,`selectedLabel`]),treeRef:l.value,selectRef:c.value})}),()=>a(zA,Re({...d,ref:e=>c.value=e}),{...n,default:()=>[a(cq,{data:f.value}),a($K,Re({...p,ref:e=>l.value=e}))]})}})),uq=Symbol(),dq={key:-1,level:-1,data:{}},fq=function(e){return e.KEY=`id`,e.LABEL=`label`,e.CHILDREN=`children`,e.DISABLED=`disabled`,e.CLASS=``,e}({}),pq=function(e){return e.ADD=`add`,e.DELETE=`delete`,e}({}),mq={type:Number,default:26},hq=Z({data:{type:X(Array),default:()=>OE([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:X(Object),default:()=>OE({children:fq.CHILDREN,label:fq.LABEL,disabled:fq.DISABLED,value:fq.KEY,class:fq.CLASS})},highlightCurrent:Boolean,showCheckbox:Boolean,defaultCheckedKeys:{type:X(Array),default:()=>OE([])},checkStrictly:Boolean,defaultExpandedKeys:{type:X(Array),default:()=>OE([])},indent:{type:Number,default:16},itemSize:mq,icon:{type:FC},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},currentNodeKey:{type:X([String,Number])},accordion:Boolean,filterMethod:{type:X(Function)},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),gq=Z({node:{type:X(Object),default:()=>OE(dq)},expanded:Boolean,checked:Boolean,indeterminate:Boolean,showCheckbox:Boolean,disabled:Boolean,current:Boolean,hiddenExpandIcon:Boolean,itemSize:mq}),_q=Z({node:{type:X(Object),required:!0}}),vq=`node-click`,yq=`node-drop`,bq=`node-expand`,xq=`node-collapse`,Sq=`current-change`,Cq=`check`,wq=`check-change`,Tq=`node-contextmenu`,Eq={[vq]:(e,t,n)=>e&&t&&n,[yq]:(e,t,n)=>e&&t&&n,[bq]:(e,t)=>e&&t,[xq]:(e,t)=>e&&t,[Sq]:(e,t)=>e&&t,[Cq]:(e,t)=>e&&t,[wq]:(e,t)=>e&&ad(t),[Tq]:(e,t,n)=>e&&t&&n},Dq={click:(e,t)=>!!(e&&t),drop:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&ad(t)};function Oq(e,t){let n=W(new Set),r=W(new Set),{emit:i}=de();z([()=>t.value,()=>e.defaultCheckedKeys],()=>O(()=>{v(e.defaultCheckedKeys)}),{immediate:!0});let a=()=>{if(!t.value||!e.showCheckbox||e.checkStrictly)return;let{levelTreeNodeMap:i,maxLevel:a}=t.value,o=n.value,s=new Set;for(let e=a;e>=1;--e){let t=i.get(e);t&&t.forEach(e=>{let t=e.children,n=!e.isLeaf||e.disabled||o.has(e.key);if(t){let r=!0,i=!1;for(let e of t){let t=e.key;if(e.isEffectivelyChecked||(n=!1),o.has(t))i=!0;else if(s.has(t)){r=!1,i=!0;break}else r=!1}r?o.add(e.key):i?(s.add(e.key),o.delete(e.key)):(o.delete(e.key),s.delete(e.key))}e.isEffectivelyChecked=n})}r.value=s},o=e=>n.value.has(e.key),s=e=>r.value.has(e.key),c=(t,r,i=!0,o=!0)=>{let s=n.value,c=t.children;!e.checkStrictly&&i&&c?.length&&(r=c.some(e=>!e.isEffectivelyChecked));let u=(t,n)=>{s[n?pq.ADD:pq.DELETE](t.key);let r=t.children;!e.checkStrictly&&r&&r.forEach(e=>{(!e.disabled||e.children)&&u(e,n)})};u(t,r),o&&a(),i&&l(t,r)},l=(e,t)=>{let{checkedNodes:n,checkedKeys:r}=m(),{halfCheckedNodes:a,halfCheckedKeys:o}=h();i(Cq,e.data,{checkedKeys:r,checkedNodes:n,halfCheckedKeys:o,halfCheckedNodes:a}),i(wq,e.data,t)};function u(e=!1){return m(e).checkedKeys}function d(e=!1){return m(e).checkedNodes}function f(){return h().halfCheckedKeys}function p(){return h().halfCheckedNodes}function m(r=!1){let i=[],a=[];if(t?.value&&e.showCheckbox){let{treeNodeMap:e}=t.value;n.value.forEach(t=>{let n=e.get(t);n&&(!r||r&&n.isLeaf)&&(a.push(t),i.push(n.data))})}return{checkedKeys:a,checkedNodes:i}}function h(){let n=[],i=[];if(t?.value&&e.showCheckbox){let{treeNodeMap:e}=t.value;r.value.forEach(t=>{let r=e.get(t);r&&(i.push(t),n.push(r.data))})}return{halfCheckedNodes:n,halfCheckedKeys:i}}function g(e){n.value.clear(),r.value.clear(),O(()=>{v(e)})}function _(n,r){if(t?.value&&e.showCheckbox){let e=t.value.treeNodeMap.get(n);e&&c(e,r,!1)}}function v(n){if(t?.value){let{treeNodeMap:r}=t.value;if(e.showCheckbox&&r&&n?.length>0){for(let e of n){let t=r.get(e);t&&!o(t)&&c(t,!0,!1,!1)}a()}}}return{updateCheckedKeys:a,toggleCheckbox:c,isChecked:o,isIndeterminate:s,getCheckedKeys:u,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:p,setChecked:_,setCheckedKeys:g}}function kq(e,t){let n=W(new Set([])),r=W(new Set([])),i=U(()=>k(e.filterMethod));function a(a){if(!i.value)return;let o=new Set,s=r.value,c=n.value,l=[],u=t.value?.treeNodes||[],d=e.filterMethod;c.clear();function f(e){e.forEach(e=>{l.push(e),d?.(a,e.data,e)?l.forEach(e=>{o.add(e.key),e.expanded=!0}):(e.expanded=!1,e.isLeaf&&c.add(e.key));let t=e.children;if(t&&f(t),!e.isLeaf){if(!o.has(e.key))c.add(e.key);else if(t){let n=!0;for(let e of t)if(!c.has(e.key)){n=!1;break}n?s.add(e.key):s.delete(e.key)}}l.pop()})}return f(u),o}function o(e){return r.value.has(e.key)}return{hiddenExpandIconKeySet:r,hiddenNodeKeySet:n,doFilter:a,isForceHiddenExpandIcon:o}}function Aq(e,t){let r=W(new Set),i=W(),a=he(),o=W(),{isIndeterminate:s,isChecked:c,toggleCheckbox:l,getCheckedKeys:u,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:p,setChecked:m,setCheckedKeys:h}=Oq(e,a),{doFilter:g,hiddenNodeKeySet:_,isForceHiddenExpandIcon:v}=kq(e,a),y=U(()=>e.props?.value||fq.KEY),b=U(()=>e.props?.children||fq.CHILDREN),x=U(()=>e.props?.disabled||fq.DISABLED),S=U(()=>e.props?.label||fq.LABEL),C=U(()=>{let e=r.value,t=_.value,n=[],i=a.value?.treeNodes||[],o=[];for(let e=i.length-1;e>=0;--e)o.push(i[e]);for(;o.length;){let r=o.pop();if(!t.has(r.key)&&(n.push(r),r.children&&e.has(r.key)))for(let e=r.children.length-1;e>=0;--e)o.push(r.children[e])}return n}),w=U(()=>C.value.length>0);function T(e){let t=new Map,n=new Map,i=1;function a(e,o=1,s=void 0){let c=[];for(let i of e){let e=O(i),l={level:o,key:e,data:i};l.label=A(i),l.parent=s;let u=D(i);l.disabled=k(i),l.isLeaf=!u||u.length===0,l.expanded=r.value.has(e),u&&u.length&&(l.children=a(u,o+1,l)),c.push(l),t.set(e,l),n.has(o)||n.set(o,[]),n.get(o)?.push(l)}return o>i&&(i=o),c}let o=a(e);return{treeNodeMap:t,levelTreeNodeMap:n,maxLevel:i,treeNodes:o}}function E(e){let t=g(e);t&&(r.value=t)}function D(e){return e[b.value]}function O(e){return e?e[y.value]:``}function k(e){return e[x.value]}function A(e){return e[S.value]}function j(e){r.value.has(e.key)?re(e):P(e)}function M(e){let t=new Set,n=a.value.treeNodeMap;r.value.forEach(e=>{let t=n.get(e);r.value.delete(t.key),t.expanded=!1}),e.forEach(e=>{let r=n.get(e);for(;r&&!t.has(r.key);)t.add(r.key),r.expanded=!0,r=r.parent}),r.value=t}function N(n,r){t(vq,n.data,n,r),te(n),e.expandOnClickNode&&j(n),e.showCheckbox&&(e.checkOnClickNode||n.isLeaf&&e.checkOnClickLeaf)&&!n.disabled&&l(n,!c(n),!0)}function ee(e,n){t(yq,e.data,e,n)}function te(e){I(e)||(i.value=e.key,t(Sq,e.data,e))}function ne(e,t){l(e,t)}function P(n){let i=r.value;if(a.value&&e.accordion){let{treeNodeMap:e}=a.value;i.forEach(t=>{let r=e.get(t);n&&n.level===r?.level&&(i.delete(t),r.expanded=!1)})}i.add(n.key);let o=oe(n.key);o&&(o.expanded=!0,t(bq,o.data,o))}function re(e){r.value.delete(e.key);let n=oe(e.key);n&&(n.expanded=!1,t(xq,n.data,n))}function F(e){return!!e.disabled}function I(e){let t=i.value;return t!==void 0&&t===e.key}function ie(){if(i.value)return a.value?.treeNodeMap.get(i.value)?.data}function L(){return i.value}function ae(e){i.value=e}function R(e){a.value=T(e)}function oe(e){let t=n(e)?O(e):e;return a.value?.treeNodeMap.get(t)}function se(e,t=`auto`){let n=oe(e);n&&o.value&&o.value.scrollToItem(C.value.indexOf(n),t)}function ce(e){o.value?.scrollTo(e)}return z(()=>e.currentNodeKey,e=>{i.value=e},{immediate:!0}),z(()=>e.defaultExpandedKeys,e=>{r.value=new Set(e)},{immediate:!0}),z(()=>e.data,e=>{R(e)},{immediate:!0}),{tree:a,flattenTree:C,isNotEmpty:w,listRef:o,getKey:O,getChildren:D,toggleExpand:j,toggleCheckbox:l,isChecked:c,isIndeterminate:s,isDisabled:F,isCurrent:I,isForceHiddenExpandIcon:v,handleNodeClick:N,handleNodeDrop:ee,handleNodeCheck:ne,getCurrentNode:ie,getCurrentKey:L,setCurrentKey:ae,getCheckedKeys:u,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:p,setChecked:m,setCheckedKeys:h,filter:E,setData:R,getNode:oe,expandNode:P,collapseNode:re,setExpandedKeys:M,scrollToNode:se,scrollTo:ce}}var jq=J({name:`ElTreeNodeContent`,props:_q,setup(e){let t=P(uq),n=Q(`tree`);return()=>{let r=e.node,{data:i}=r;return t?.ctx.slots.default?t.ctx.slots.default({node:r,data:i}):a(YG,{tag:`span`,truncated:!0,class:n.be(`node`,`label`)},()=>[r?.label])}}}),Mq=[`aria-expanded`,`aria-disabled`,`aria-checked`,`data-key`],Nq=J({name:`ElTreeNode`,__name:`tree-node`,props:gq,emits:Dq,setup(t,{emit:n}){let r=t,i=n,a=P(uq),o=Q(`tree`),s=U(()=>a?.props.indent??16),c=U(()=>a?.props.icon??Gv),l=e=>{let t=a?.props.props?.class;if(!t)return{};let n;if(k(t)){let{data:r}=e;n=t(r,e)}else n=t;return v(n)?{[n]:!0}:n},u=e=>{i(`click`,r.node,e)},d=e=>{i(`drop`,r.node,e)},f=()=>{i(`toggle`,r.node)},p=e=>{i(`check`,r.node,e)},m=e=>{a?.instance?.vnode?.props?.onNodeContextmenu&&(e.stopPropagation(),e.preventDefault()),a?.ctx.emit(Tq,e,r.node?.data,r.node)};return(n,r)=>(S(),G(`div`,{ref:`node$`,class:L([B(o).b(`node`),B(o).is(`expanded`,t.expanded),B(o).is(`current`,t.current),B(o).is(`focusable`,!t.disabled),B(o).is(`checked`,!t.disabled&&t.checked),l(t.node)]),role:`treeitem`,tabindex:`-1`,"aria-expanded":t.expanded,"aria-disabled":t.disabled,"aria-checked":t.checked,"data-key":t.node?.key,onClick:In(u,[`stop`]),onContextmenu:m,onDragover:r[1]||=In(()=>{},[`prevent`]),onDragenter:r[2]||=In(()=>{},[`prevent`]),onDrop:In(d,[`stop`])},[K(`div`,{class:L(B(o).be(`node`,`content`)),style:I({paddingLeft:`${(t.node.level-1)*s.value}px`,height:t.itemSize+`px`})},[c.value?(S(),V(B($),{key:0,class:L([B(o).is(`leaf`,!!t.node?.isLeaf),B(o).is(`hidden`,t.hiddenExpandIcon),{expanded:!t.node?.isLeaf&&t.expanded},B(o).be(`node`,`expand-icon`)]),onClick:In(f,[`stop`])},{default:e(()=>[(S(),V(F(c.value)))]),_:1},8,[`class`])):H(`v-if`,!0),t.showCheckbox?(S(),V(B(Kj),{key:1,"model-value":t.checked,indeterminate:t.indeterminate,disabled:t.disabled,onChange:p,onClick:r[0]||=In(()=>{},[`stop`])},null,8,[`model-value`,`indeterminate`,`disabled`])):H(`v-if`,!0),q(B(jq),{node:{...t.node,expanded:t.expanded}},null,8,[`node`])],6)],42,Mq))}}),Pq=iv(J({name:`ElTreeV2`,__name:`tree`,props:hq,emits:Eq,setup(t,{expose:n,emit:i}){let a=t,o=i,s=y(),c=U(()=>a.itemSize);N(uq,{ctx:{emit:o,slots:s},props:a,instance:de()}),N(cw,void 0);let{t:l}=Yf(),u=Q(`tree`),{flattenTree:d,isNotEmpty:f,listRef:p,toggleExpand:m,isIndeterminate:h,isChecked:g,isDisabled:_,isCurrent:v,isForceHiddenExpandIcon:b,handleNodeClick:x,handleNodeDrop:C,handleNodeCheck:w,toggleCheckbox:T,getCurrentNode:E,getCurrentKey:D,setCurrentKey:O,getCheckedKeys:k,getCheckedNodes:A,getHalfCheckedKeys:j,getHalfCheckedNodes:M,setChecked:ee,setCheckedKeys:te,filter:ne,setData:P,getNode:re,expandNode:F,collapseNode:ie,setExpandedKeys:ae,scrollToNode:oe,scrollTo:se}=Aq(a,o);return n({toggleCheckbox:T,getCurrentNode:E,getCurrentKey:D,setCurrentKey:O,getCheckedKeys:k,getCheckedNodes:A,getHalfCheckedKeys:j,getHalfCheckedNodes:M,setChecked:ee,setCheckedKeys:te,filter:ne,setData:P,getNode:re,expandNode:F,collapseNode:ie,setExpandedKeys:ae,scrollToNode:oe,scrollTo:se}),(n,i)=>(S(),G(`div`,{class:L([B(u).b(),{[B(u).m(`highlight-current`)]:t.highlightCurrent}]),role:`tree`},[B(f)?(S(),V(B(XB),{key:0,ref_key:`listRef`,ref:p,"class-name":B(u).b(`virtual-list`),data:B(d),total:B(d).length,height:t.height,"item-size":c.value,"perf-mode":t.perfMode,"scrollbar-always-on":t.scrollbarAlwaysOn},{default:e(({data:e,index:n,style:r})=>[(S(),V(Nq,{key:e[n].key,style:I(r),node:e[n],expanded:e[n].expanded,"show-checkbox":t.showCheckbox,checked:B(g)(e[n]),indeterminate:B(h)(e[n]),"item-size":c.value,disabled:B(_)(e[n]),current:B(v)(e[n]),"hidden-expand-icon":B(b)(e[n]),onClick:B(x),onToggle:B(m),onCheck:B(w),onDrop:B(C)},null,8,[`style`,`node`,`expanded`,`show-checkbox`,`checked`,`indeterminate`,`item-size`,`disabled`,`current`,`hidden-expand-icon`,`onClick`,`onToggle`,`onCheck`,`onDrop`]))]),_:1},8,[`class-name`,`data`,`total`,`height`,`item-size`,`perf-mode`,`scrollbar-always-on`])):(S(),G(`div`,{key:1,class:L(B(u).e(`empty-block`))},[r(n.$slots,`empty`,{},()=>[K(`span`,{class:L(B(u).e(`empty-text`))},R(t.emptyText??B(l)(`el.tree.emptyText`)),3)])],2))],2))}})),Fq=`ElUpload`,Iq=class extends Error{constructor(e,t,n,r){super(e),this.name=`UploadAjaxError`,this.status=t,this.method=n,this.url=r}};function Lq(e,t,n){let r;return r=n.response?`${n.response.error||n.response}`:n.responseText?`${n.responseText}`:`fail to ${t.method} ${e} ${n.status}`,new Iq(r,n.status,t.method,e)}function Rq(e){let t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}var zq=e=>{typeof XMLHttpRequest>`u`&&Sd(Fq,`XMLHttpRequest is undefined`);let t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener(`progress`,t=>{let n=t;n.percent=t.total>0?t.loaded/t.total*100:0,e.onProgress(n)});let r=new FormData;if(e.data)for(let[t,n]of Object.entries(e.data))u(n)?n.length===2&&n[0]instanceof Blob&&v(n[1])?r.append(t,n[0],n[1]):n.forEach(e=>{r.append(t,e)}):r.append(t,n);r.append(e.filename,e.file,e.file.name),t.addEventListener(`error`,()=>{e.onError(Lq(n,e,t))}),t.addEventListener(`load`,()=>{if(t.status<200||t.status>=300)return e.onError(Lq(n,e,t));e.onSuccess(Rq(t))}),t.open(e.method,n,!0),e.withCredentials&&`withCredentials`in t&&(t.withCredentials=!0);let i=e.headers||{};if(i instanceof Headers)i.forEach((e,n)=>t.setRequestHeader(n,e));else for(let[e,n]of Object.entries(i))Iu(n)||t.setRequestHeader(e,String(n));return t.send(r),t},Bq=[`text`,`picture`,`picture-card`],Vq=1,Hq=()=>Date.now()+ Vq++,Uq=Z({action:{type:String,default:`#`},headers:{type:X(Object)},method:{type:String,default:`post`},data:{type:X([Object,Function,Promise]),default:()=>OE({})},multiple:Boolean,name:{type:String,default:`file`},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:``},fileList:{type:X(Array),default:()=>OE([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:Bq,default:`text`},httpRequest:{type:X(Function),default:zq},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),Wq=Z({...Uq,beforeUpload:{type:X(Function),default:He},beforeRemove:{type:X(Function)},onRemove:{type:X(Function),default:He},onChange:{type:X(Function),default:He},onPreview:{type:X(Function),default:He},onSuccess:{type:X(Function),default:He},onProgress:{type:X(Function),default:He},onError:{type:X(Function),default:He},onExceed:{type:X(Function),default:He},crossorigin:{type:X(String)}}),Gq={action:`#`,method:`post`,data:()=>OE({}),name:`file`,showFileList:!0,accept:``,fileList:()=>OE([]),autoUpload:!0,listType:`text`,httpRequest:zq,disabled:void 0};({...Gq});var Kq=Symbol(`uploadContextKey`),qq=Z({files:{type:X(Array),default:()=>OE([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:X(Function),default:He},listType:{type:String,values:Bq,default:`text`},crossorigin:{type:X(String)}}),Jq={remove:e=>!!e},Yq=Z({...Uq,beforeUpload:{type:X(Function),default:He},onRemove:{type:X(Function),default:He},onStart:{type:X(Function),default:He},onSuccess:{type:X(Function),default:He},onProgress:{type:X(Function),default:He},onError:{type:X(Function),default:He},onExceed:{type:X(Function),default:He}});({...Gq});var Xq=Z({disabled:{type:Boolean,default:void 0},directory:Boolean}),Zq={file:e=>u(e)},Qq=[`tabindex`,`aria-disabled`,`onKeydown`],$q=[`src`,`crossorigin`],eJ=[`onClick`],tJ=[`title`],nJ=[`onClick`],rJ=[`onClick`],iJ=J({name:`ElUploadList`,__name:`upload-list`,props:qq,emits:Jq,setup(t,{emit:n}){let i=t,a=n,{t:o}=Yf(),s=Q(`upload`),c=Q(`icon`),l=Q(`list`),u=uw(),d=W(!1),f=U(()=>[s.b(`list`),s.bm(`list`,i.listType),s.is(`disabled`,u.value)]),p=e=>{a(`remove`,e)};return(n,i)=>(S(),V(_n,{tag:`ul`,class:L(f.value),name:B(l).b()},{default:e(()=>[(S(!0),G(xe,null,Je(t.files,(a,l)=>(S(),G(`li`,{key:a.uid||a.name,class:L([B(s).be(`list`,`item`),B(s).is(a.status),{focusing:d.value}]),tabindex:B(u)?void 0:0,"aria-disabled":B(u),role:`button`,onKeydown:Rn(e=>!B(u)&&p(a),[`delete`]),onFocus:i[0]||=e=>d.value=!0,onBlur:i[1]||=e=>d.value=!1,onClick:i[2]||=e=>d.value=!1},[r(n.$slots,`default`,{file:a,index:l},()=>[t.listType===`picture`||a.status!==`uploading`&&t.listType===`picture-card`?(S(),G(`img`,{key:0,class:L(B(s).be(`list`,`item-thumbnail`)),src:a.url,crossorigin:t.crossorigin,alt:``},null,10,$q)):H(`v-if`,!0),a.status===`uploading`||t.listType!==`picture-card`?(S(),G(`div`,{key:1,class:L(B(s).be(`list`,`item-info`))},[K(`a`,{class:L(B(s).be(`list`,`item-name`)),onClick:In(e=>t.handlePreview(a),[`prevent`])},[q(B($),{class:L(B(c).m(`document`))},{default:e(()=>[q(B(qy))]),_:1},8,[`class`]),K(`span`,{class:L(B(s).be(`list`,`item-file-name`)),title:a.name},R(a.name),11,tJ)],10,eJ),a.status===`uploading`?(S(),V(B(eB),{key:0,type:t.listType===`picture-card`?`circle`:`line`,"stroke-width":t.listType===`picture-card`?6:2,percentage:Number(a.percentage),style:I(t.listType===`picture-card`?``:`margin-top: 0.5rem`)},null,8,[`type`,`stroke-width`,`percentage`,`style`])):H(`v-if`,!0)],2)):H(`v-if`,!0),K(`label`,{class:L(B(s).be(`list`,`item-status-label`))},[t.listType===`text`?(S(),V(B($),{key:0,class:L([B(c).m(`upload-success`),B(c).m(`circle-check`)])},{default:e(()=>[q(B(oy))]),_:1},8,[`class`])):[`picture-card`,`picture`].includes(t.listType)?(S(),V(B($),{key:1,class:L([B(c).m(`upload-success`),B(c).m(`check`)])},{default:e(()=>[q(B(ey))]),_:1},8,[`class`])):H(`v-if`,!0)],2),B(u)?H(`v-if`,!0):(S(),V(B($),{key:2,class:L(B(c).m(`close`)),"aria-label":B(o)(`el.upload.delete`),role:`button`,tabindex:`0`,onClick:e=>p(a),onKeydown:Rn(In(e=>p(a),[`prevent`]),[`enter`,`space`])},{default:e(()=>[q(B(py))]),_:1},8,[`class`,`aria-label`,`onClick`,`onKeydown`])),B(u)?H(`v-if`,!0):(S(),G(`i`,{key:3,class:L(B(c).m(`close-tip`))},R(B(o)(`el.upload.deleteTip`)),3)),t.listType===`picture-card`?(S(),G(`span`,{key:4,class:L(B(s).be(`list`,`item-actions`))},[K(`span`,{class:L(B(s).be(`list`,`item-preview`)),onClick:e=>t.handlePreview(a)},[q(B($),{class:L(B(c).m(`zoom-in`))},{default:e(()=>[q(B(NC))]),_:1},8,[`class`])],10,nJ),B(u)?H(`v-if`,!0):(S(),G(`span`,{key:0,class:L(B(s).be(`list`,`item-delete`)),onClick:e=>p(a)},[q(B($),{class:L(B(c).m(`delete`))},{default:e(()=>[q(B(Ly))]),_:1},8,[`class`])],10,rJ))],2)):H(`v-if`,!0)])],42,Qq))),128)),r(n.$slots,`append`)]),_:3},8,[`class`,`name`]))}}),aJ=`ElUploadDrag`,oJ=J({name:aJ,__name:`upload-dragger`,props:Xq,emits:Zq,setup(e,{emit:t}){let n=e,i=t;P(Kq)||Sd(aJ,`usage: `);let a=Q(`upload`),o=W(!1),s=uw(),c=e=>new Promise((t,n)=>e.file(t,n)),l=async e=>{try{if(e.isFile){let t=await c(e);return t.isDirectory=!1,[t]}if(e.isDirectory){let t=e.createReader(),n=()=>new Promise((e,n)=>t.readEntries(e,n)),r=[],i=await n();for(;i.length>0;)r.push(...i),i=await n();let a=r.map(e=>l(e).catch(()=>[]));return Bo(await Promise.all(a))}}catch{return[]}return[]},u=async e=>{if(s.value)return;o.value=!1,e.stopPropagation();let t=Array.from(e.dataTransfer.files),r=e.dataTransfer.items||[];if(n.directory){let e=Array.from(r).map(e=>e?.webkitGetAsEntry?.()).filter(e=>e);i(`file`,Bo(await Promise.all(e.map(l))));return}t.forEach((e,t)=>{let n=r[t]?.webkitGetAsEntry?.();n&&(e.isDirectory=n.isDirectory)}),i(`file`,t)},d=()=>{s.value||(o.value=!0)},f=e=>{e.currentTarget.contains(e.relatedTarget)||(o.value=!1)};return(e,t)=>(S(),G(`div`,{class:L([B(a).b(`dragger`),B(a).is(`dragover`,o.value)]),onDrop:In(u,[`prevent`]),onDragover:In(d,[`prevent`]),onDragleave:In(f,[`prevent`])},[r(e.$slots,`default`)],34))}}),sJ=[`tabindex`,`aria-disabled`,`onKeydown`],cJ=[`name`,`disabled`,`multiple`,`accept`,`webkitdirectory`],lJ=J({name:`ElUploadContent`,inheritAttrs:!1,__name:`upload-content`,props:Yq,setup(t,{expose:n}){let i=t,a=Q(`upload`),o=uw(),s=he({}),c=he(),l=e=>{if(e.length===0)return;let{autoUpload:t,limit:n,fileList:r,multiple:a,onStart:o,onExceed:s}=i;if(n&&r.length+e.length>n){s(e,r);return}a||(e=e.slice(0,1));for(let n of e){let e=n;e.uid=Hq(),o(e),t&&u(e)}},u=async e=>{if(c.value.value=``,!i.beforeUpload)return f(e);let t,n={};try{let r=i.data,a=i.beforeUpload(e);n=T(i.data)?ol(i.data):i.data,t=await a,T(i.data)&&Fu(r,n)&&(n=ol(i.data))}catch{t=!1}if(t===!1){i.onRemove(e);return}let r=e;t instanceof Blob&&(r=t instanceof File?t:new File([t],e.name,{type:e.type})),f(Object.assign(r,{uid:e.uid}),n)},d=async(e,t)=>k(e)?e(t):e,f=async(e,t)=>{let{headers:n,data:r,method:a,withCredentials:o,name:c,action:l,onProgress:u,onSuccess:f,onError:p,httpRequest:m}=i;try{t=await d(t??r,e)}catch{i.onRemove(e);return}let{uid:h}=e,g={headers:n||{},withCredentials:o,file:e,data:t,method:a,filename:c,action:l,onProgress:t=>{u(t,e)},onSuccess:t=>{f(t,e),delete s.value[h]},onError:t=>{p(t,e),delete s.value[h]}},_=m(g);s.value[h]=_,_ instanceof Promise&&_.then(g.onSuccess,g.onError)},p=e=>{let t=e.target.files;t&&l(Array.from(t))},m=()=>{o.value||(c.value.value=``,c.value.click())},h=()=>{m()};return n({abort:e=>{pd(s.value).filter(e?([t])=>String(e.uid)===t:()=>!0).forEach(([e,t])=>{t instanceof XMLHttpRequest&&t.abort(),delete s.value[e]})},upload:u}),(n,i)=>(S(),G(`div`,{class:L([B(a).b(),B(a).m(t.listType),B(a).is(`drag`,t.drag),B(a).is(`disabled`,B(o))]),tabindex:B(o)?void 0:0,"aria-disabled":B(o),role:`button`,onClick:m,onKeydown:Rn(In(h,[`self`]),[`enter`,`space`])},[t.drag?(S(),V(oJ,{key:0,disabled:B(o),directory:t.directory,onFile:l},{default:e(()=>[r(n.$slots,`default`)]),_:3},8,[`disabled`,`directory`])):r(n.$slots,`default`,{key:1}),K(`input`,{ref_key:`inputRef`,ref:c,class:L(B(a).e(`input`)),name:t.name,disabled:B(o),multiple:t.multiple,accept:t.accept,webkitdirectory:t.directory||void 0,type:`file`,onChange:p,onClick:i[0]||=In(()=>{},[`stop`])},null,42,cJ)],42,sJ))}}),uJ=`ElUpload`,dJ=e=>{e.url?.startsWith(`blob:`)&&URL.revokeObjectURL(e.url)},fJ=(e,t)=>{let n=hf(e,`fileList`,void 0,{passive:!0}),r=e=>n.value.find(t=>t.uid===e.uid);function i(e){t.value?.abort(e)}function a(e=[`ready`,`uploading`,`success`,`fail`]){n.value=n.value.filter(t=>!e.includes(t.status))}function o(e){n.value=n.value.filter(t=>t.uid!==e.uid)}let s=t=>{O(()=>e.onChange(t,n.value))},c=(t,i)=>{let a=r(i);a&&(console.error(t),a.status=`fail`,o(a),e.onError(t,a,n.value),s(a))},l=(t,i)=>{let a=r(i);a&&(e.onProgress(t,a,n.value),a.status=`uploading`,a.percentage=Math.round(t.percent))},u=(t,i)=>{let a=r(i);a&&(a.status=`success`,a.response=t,e.onSuccess(t,a,n.value),s(a))},d=t=>{Iu(t.uid)&&(t.uid=Hq());let r={name:t.name,percentage:0,status:`ready`,size:t.size,raw:t,uid:t.uid};if(e.listType===`picture-card`||e.listType===`picture`)try{r.url=URL.createObjectURL(t)}catch(t){Cd(uJ,t.message),e.onError(t,r,n.value)}n.value=[...n.value,r],s(r)},f=async t=>{let a=t instanceof File?r(t):t;a||Sd(uJ,`file to be removed not found`);let s=t=>{i(t),o(t),e.onRemove(t,n.value),dJ(t)};e.beforeRemove?await e.beforeRemove(a,n.value)!==!1&&s(a):s(a)};function p(){n.value.filter(({status:e})=>e===`ready`).forEach(({raw:e})=>e&&t.value?.upload(e))}return z(()=>e.listType,t=>{t!==`picture-card`&&t!==`picture`||(n.value=n.value.map(t=>{let{raw:r,url:i}=t;if(!i&&r)try{t.url=URL.createObjectURL(r)}catch(r){e.onError(r,t,n.value)}return t}))}),z(n,e=>{for(let t of e)t.uid||=Hq(),t.status||=`success`},{immediate:!0,deep:!0}),{uploadFiles:n,abort:i,clearFiles:a,handleError:c,handleProgress:l,handleStart:d,handleSuccess:u,handleRemove:f,submit:p,revokeFileObjectURL:dJ}},pJ=iv(J({name:`ElUpload`,__name:`upload`,props:Wq,setup(t,{expose:n}){let i=t,a=uw(),o=he(),{abort:c,submit:l,clearFiles:u,uploadFiles:d,handleStart:f,handleError:p,handleRemove:m,handleSuccess:h,handleProgress:g,revokeFileObjectURL:_}=fJ(i,o),v=U(()=>i.listType===`picture-card`),y=U(()=>({...i,fileList:d.value,onStart:f,onProgress:g,onSuccess:h,onError:p,onRemove:m}));return Ce(()=>{d.value.forEach(_)}),N(Kq,{accept:Ne(i,`accept`)}),n({abort:c,submit:l,clearFiles:u,handleStart:f,handleRemove:m}),(n,i)=>(S(),G(`div`,null,[v.value&&t.showFileList?(S(),V(iJ,{key:0,disabled:B(a),"list-type":t.listType,files:B(d),crossorigin:t.crossorigin,"handle-preview":t.onPreview,onRemove:B(m)},ye({append:e(()=>[q(lJ,s({ref_key:`uploadRef`,ref:o},y.value),{default:e(()=>[n.$slots.trigger?r(n.$slots,`trigger`,{key:0}):H(`v-if`,!0),!n.$slots.trigger&&n.$slots.default?r(n.$slots,`default`,{key:1}):H(`v-if`,!0)]),_:3},16)]),_:2},[n.$slots.file?{name:`default`,fn:e(({file:e,index:t})=>[r(n.$slots,`file`,{file:e,index:t})]),key:`0`}:void 0]),1032,[`disabled`,`list-type`,`files`,`crossorigin`,`handle-preview`,`onRemove`])):H(`v-if`,!0),!v.value||v.value&&!t.showFileList?(S(),V(lJ,s({key:1,ref_key:`uploadRef`,ref:o},y.value),{default:e(()=>[n.$slots.trigger?r(n.$slots,`trigger`,{key:0}):H(`v-if`,!0),!n.$slots.trigger&&n.$slots.default?r(n.$slots,`default`,{key:1}):H(`v-if`,!0)]),_:3},16)):H(`v-if`,!0),n.$slots.trigger?r(n.$slots,`default`,{key:2}):H(`v-if`,!0),r(n.$slots,`tip`),!v.value&&t.showFileList?(S(),V(iJ,{key:3,disabled:B(a),"list-type":t.listType,files:B(d),crossorigin:t.crossorigin,"handle-preview":t.onPreview,onRemove:B(m)},ye({_:2},[n.$slots.file?{name:`default`,fn:e(({file:e,index:t})=>[r(n.$slots,`file`,{file:e,index:t})]),key:`0`}:void 0]),1032,[`disabled`,`list-type`,`files`,`crossorigin`,`handle-preview`,`onRemove`])):H(`v-if`,!0)]))}})),mJ=Z({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:X([String,Array]),default:`Element Plus`},font:{type:X(Object)},gap:{type:X(Array),default:()=>[100,100]},offset:{type:X(Array)}});function hJ(e){return e.replace(/([A-Z])/g,`-$1`).toLowerCase()}function gJ(e){return Object.keys(e).map(t=>`${hJ(t)}: ${e[t]};`).join(` `)}function _J(){return window.devicePixelRatio||1}var vJ=(e,t)=>{let n=!1;return e.removedNodes.length&&t&&(n=Array.from(e.removedNodes).includes(t)),e.type===`attributes`&&e.target===t&&(n=!0),n},yJ={left:[0,.5],start:[0,.5],center:[.5,0],right:[1,-.5],end:[1,-.5]};function bJ(e,t,n=1){let r=document.createElement(`canvas`),i=r.getContext(`2d`),a=e*n,o=t*n;return r.setAttribute(`width`,`${a}px`),r.setAttribute(`height`,`${o}px`),i.save(),[i,r,a,o]}function xJ(){function e(e,t,n,r,i,a,o,s,c){let[l,d,f,p]=bJ(r,i,n),m=0;if(e instanceof HTMLImageElement)l.drawImage(e,0,0,f,p);else{let{color:t,fontSize:r,fontStyle:o,fontWeight:s,fontFamily:d,textAlign:p,textBaseline:h}=a,g=Number(r)*n;l.font=`${o} normal ${s} ${g}px/${i}px ${d}`,l.fillStyle=t,l.textAlign=p,l.textBaseline=h;let _=u(e)?e:[e];if(h!==`top`&&_[0]){let e=l.measureText(_[0]);l.textBaseline=`top`;let t=l.measureText(_[0]);m=e.actualBoundingBoxAscent-t.actualBoundingBoxAscent}_?.forEach((e,t)=>{let[r,i]=yJ[p];l.fillText(e??``,f*r+c*i,t*(g+a.fontGap*n))})}let h=Math.PI/180*Number(t),g=Math.max(r,i),[_,v,y]=bJ(g,g,n);_.translate(y/2,y/2),_.rotate(h),f>0&&p>0&&_.drawImage(d,-f/2,-p/2);function b(e,t){return[e*Math.cos(h)-t*Math.sin(h),e*Math.sin(h)+t*Math.cos(h)]}let x=0,S=0,C=0,w=0,T=f/2,E=p/2;[[0-T,0-E],[0+T,0-E],[0+T,0+E],[0-T,0+E]].forEach(([e,t])=>{let[n,r]=b(e,t);x=Math.min(x,n),S=Math.max(S,n),C=Math.min(C,r),w=Math.max(w,r)});let D=x+y/2,O=C+y/2,k=S-x,A=w-C,j=o*n,M=s*n,N=(k+j)*2,ee=A+M,[te,ne]=bJ(N,ee);function P(e=0,t=0){te.drawImage(v,D,O,k,A,e,t+m,k,A)}return P(),P(k+j,-A/2-M/2),P(k+j,A/2+M/2),[ne.toDataURL(),N/n,ee/n]}return e}var SJ=iv(J({name:`ElWatermark`,__name:`watermark`,props:mJ,setup(e){let t={position:`relative`},n=e,i=U(()=>n.font?.fontGap??3),a=U(()=>n.font?.color??`rgba(0,0,0,.15)`),o=U(()=>n.font?.fontSize??16),s=U(()=>n.font?.fontWeight??`normal`),c=U(()=>n.font?.fontStyle??`normal`),l=U(()=>n.font?.fontFamily??`sans-serif`),d=U(()=>n.font?.textAlign??`center`),f=U(()=>n.font?.textBaseline??`hanging`),p=U(()=>n.gap[0]),m=U(()=>n.gap[1]),h=U(()=>p.value/2),g=U(()=>m.value/2),_=U(()=>n.offset?.[0]??h.value),v=U(()=>n.offset?.[1]??g.value),y=()=>{let e={zIndex:n.zIndex,position:`absolute`,left:0,top:0,width:`100%`,height:`100%`,pointerEvents:`none`,backgroundRepeat:`repeat`},t=_.value-h.value,r=v.value-g.value;return t>0&&(e.left=`${t}px`,e.width=`calc(100% - ${t}px)`,t=0),r>0&&(e.top=`${r}px`,e.height=`calc(100% - ${r}px)`,r=0),e.backgroundPosition=`${t}px ${r}px`,e},b=he(null),x=he(),C=W(!1),w=()=>{x.value&&=(x.value.remove(),void 0)},T=(e,t)=>{b.value&&x.value&&(C.value=!0,x.value.setAttribute(`style`,gJ({...y(),backgroundImage:`url('${e}')`,backgroundSize:`${Math.floor(t)}px`})),b.value?.append(x.value),setTimeout(()=>{C.value=!1}))},E=e=>{let t=120,r=64,a=0,{image:s,content:c,width:d,height:f,rotate:p}=n;if(!s&&e.measureText){e.font=`${Number(o.value)}px ${l.value}`;let n=u(c)?c:[c],s=0,d=0;n.forEach(t=>{let{width:n,fontBoundingBoxAscent:r,fontBoundingBoxDescent:i,actualBoundingBoxAscent:a,actualBoundingBoxDescent:o}=e.measureText(t),c=id(r)?a+o:r+i;n>s&&(s=Math.ceil(n)),c>d&&(d=Math.ceil(c))}),t=s,r=d*n.length+(n.length-1)*i.value;let f=Math.PI/180*Number(p);a=Math.ceil(Math.abs(Math.sin(f)*r)/2),t+=a}return[d??t,f??r,a]},D=xJ(),O=()=>{let e=document.createElement(`canvas`).getContext(`2d`),t=n.image,r=n.content,u=n.rotate;if(e){x.value||=document.createElement(`div`);let n=_J(),[h,g,_]=E(e),v=e=>{let[t,r]=D(e||``,u,n,h,g,{color:a.value,fontSize:o.value,fontStyle:c.value,fontWeight:s.value,fontFamily:l.value,fontGap:i.value,textAlign:d.value,textBaseline:f.value},p.value,m.value,_);T(t,r)};if(t){let e=new Image;e.onload=()=>{v(e)},e.onerror=()=>{v(r)},e.crossOrigin=`anonymous`,e.referrerPolicy=`no-referrer`,e.src=t}else v(r)}};return A(()=>{O()}),z(()=>n,()=>{O()},{deep:!0,flush:`post`}),Ce(()=>{w()}),af(b,e=>{C.value||e.forEach(e=>{vJ(e,x.value)&&(w(),O())})},{attributes:!0,subtree:!0,childList:!0}),(e,n)=>(S(),G(`div`,{ref_key:`containerRef`,ref:b,style:I([t])},[r(e.$slots,`default`)],4))}})),CJ=Z({placement:{type:X(String),values:[`top-start`,`top-end`,`top`,`bottom-start`,`bottom-end`,`bottom`,`left-start`,`left-end`,`left`,`right-start`,`right-end`,`right`],default:`bottom`},reference:{type:X(Object),default:null},strategy:{type:X(String),values:[`absolute`,`fixed`],default:`absolute`},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),wJ={close:()=>!0},TJ=Z({modelValue:Boolean,current:{type:Number,default:0},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:FC},placement:CJ.placement,contentStyle:{type:X([Object])},mask:{type:X([Boolean,Object]),default:!0},gap:{type:X(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:X([Boolean,Object]),default:()=>({block:`center`})},type:{type:X(String)},appendTo:{type:vd.to.type,default:`body`},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),EJ={[Jn]:e=>ad(e),"update:current":e=>od(e),close:e=>od(e),finish:()=>!0,change:e=>od(e)},DJ=Z({target:{type:X([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:FC},showArrow:{type:Boolean,default:void 0},placement:CJ.placement,mask:{type:X([Boolean,Object]),default:void 0},contentStyle:{type:X([Object])},prevButtonProps:{type:X(Object)},nextButtonProps:{type:X(Object)},scrollIntoViewOptions:{type:X([Boolean,Object]),default:void 0},type:{type:X(String)}}),OJ={close:()=>!0},kJ=(e,t,n,r,i)=>{let a=W(null),o=()=>{let t;return t=v(e.value)?document.querySelector(e.value):k(e.value)?e.value():e.value,t},s=()=>{let e=o();if(!e||!t.value){a.value=null;return}jJ(e)||e.scrollIntoView(i.value);let{left:n,top:r,width:s,height:c}=e.getBoundingClientRect();a.value={left:n,top:r,width:s,height:c,radius:0}};A(()=>{z([t,e],()=>{s()},{immediate:!0}),window.addEventListener(`resize`,s)}),Ce(()=>{window.removeEventListener(`resize`,s)});let c=e=>(u(n.value.offset)?n.value.offset[e]:n.value.offset)??6,l=U(()=>{if(!a.value)return a.value;let e=c(0),t=c(1),r=n.value?.radius||2;return{left:a.value.left-e,top:a.value.top-t,width:a.value.width+e*2,height:a.value.height+t*2,radius:r}});return{mergedPosInfo:l,triggerTarget:U(()=>{let e=o();return!r.value||!e||!window.DOMRect?e||void 0:{getBoundingClientRect(){return window.DOMRect.fromRect({width:l.value?.width||0,height:l.value?.height||0,x:l.value?.left||0,y:l.value?.top||0})}}})}},AJ=Symbol(`ElTour`);function jJ(e){let t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:r,right:i,bottom:a,left:o}=e.getBoundingClientRect();return r>=0&&o>=0&&i<=t&&a<=n}var MJ=(e,t,n,r,i,a,o,s)=>{let c=W(),l=W(),u=W({}),d={x:c,y:l,placement:r,strategy:i,middlewareData:u},f=U(()=>{let e=[k_(B(a)),j_(),A_(),NJ()];return B(s)&&B(n)&&e.push(M_({element:B(n)})),e}),p=async()=>{if(!Md)return;let n=B(e),a=B(t);if(!n||!a)return;let o=await N_(n,a,{placement:B(r),strategy:B(i),middleware:B(f)});fd(d).forEach(e=>{d[e].value=o[e]})},m=U(()=>{if(!B(e))return{position:`fixed`,top:`50%`,left:`50%`,transform:`translate3d(-50%, -50%, 0)`,maxWidth:`100vw`,zIndex:B(o)};let{overflow:t}=B(u);return{position:B(i),zIndex:B(o),top:B(l)==null?``:`${B(l)}px`,left:B(c)==null?``:`${B(c)}px`,maxWidth:t?.maxWidth?`${t?.maxWidth}px`:``}}),h=U(()=>{if(!B(s))return{};let{arrow:e}=B(u);return{left:e?.x==null?``:`${e?.x}px`,top:e?.y==null?``:`${e?.y}px`}}),g;return A(()=>{let n=B(e),r=B(t);n&&r&&(g=D_(n,r,p)),M(()=>{p()})}),Ce(()=>{g&&g()}),{update:p,contentStyle:m,arrowStyle:h}},NJ=()=>({name:`overflow`,async fn(e){let t=await O_(e),n=0;return t.left>0&&(n=t.left),t.right>0&&(n=t.right),{data:{maxWidth:e.rects.floating.width-n}}}}),PJ=Z({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:`rgba(0,0,0,0.5)`},pos:{type:X(Object)},targetAreaClickable:{type:Boolean,default:!0}}),FJ={style:{width:`100%`,height:`100%`}},IJ=[`d`],LJ=J({name:`ElTourMask`,inheritAttrs:!1,__name:`mask`,props:PJ,setup(e){let t=e,{ns:n}=P(AJ),r=U(()=>t.pos?.radius??2),i=U(()=>{let e=r.value,t=`a${e},${e} 0 0 1`;return{topRight:`${t} ${e},${e}`,bottomRight:`${t} ${-e},${e}`,bottomLeft:`${t} ${-e},${-e}`,topLeft:`${t} ${e},${-e}`}}),{width:a,height:o}=_f(),c=U(()=>{let e=a.value,n=o.value,s=i.value,c=`M${e},0 L0,0 L0,${n} L${e},${n} L${e},0 Z`,l=r.value;return t.pos?`${c} M${t.pos.left+l},${t.pos.top} h${t.pos.width-l*2} ${s.topRight} v${t.pos.height-l*2} ${s.bottomRight} h${-t.pos.width+l*2} ${s.bottomLeft} v${-t.pos.height+l*2} ${s.topLeft} z`:c}),l=U(()=>({position:`fixed`,left:0,right:0,top:0,bottom:0,zIndex:t.zIndex,pointerEvents:t.pos&&t.targetAreaClickable?`none`:`auto`})),u=U(()=>({fill:t.fill,pointerEvents:`auto`,cursor:`auto`}));return dp(Ne(t,`visible`),{ns:n}),(t,r)=>e.visible?(S(),G(`div`,s({key:0,class:B(n).e(`mask`),style:l.value},t.$attrs),[(S(),G(`svg`,FJ,[K(`path`,{class:L(B(n).e(`hollow`)),style:I(u.value),d:c.value},null,14,IJ)]))],16)):H(`v-if`,!0)}}),RJ=[`data-side`],zJ=J({name:`ElTourContent`,__name:`content`,props:CJ,emits:wJ,setup(t,{emit:n}){let i=t,a=n,o=W(i.placement),s=W(i.strategy),c=W(null),l=W(null);z(()=>i.placement,()=>{o.value=i.placement});let{contentStyle:u,arrowStyle:d}=MJ(Ne(i,`reference`),c,l,o,s,Ne(i,`offset`),Ne(i,`zIndex`),Ne(i,`showArrow`)),f=U(()=>o.value.split(`-`)[0]),{ns:p}=P(AJ),m=()=>{a(`close`)},h=e=>{e.detail.focusReason===`pointer`&&e.preventDefault()};return(n,i)=>(S(),G(`div`,{ref_key:`contentRef`,ref:c,style:I(B(u)),class:L(B(p).e(`content`)),"data-side":f.value,tabindex:`-1`},[q(B(nE),{loop:``,trapped:``,"focus-start-el":`container`,"focus-trap-el":c.value||void 0,onReleaseRequested:m,onFocusoutPrevented:h},{default:e(()=>[r(n.$slots,`default`)]),_:3},8,[`focus-trap-el`]),t.showArrow?(S(),G(`span`,{key:0,ref_key:`arrowRef`,ref:l,style:I(B(d)),class:L(B(p).e(`arrow`))},null,6)):H(`v-if`,!0)],14,RJ))}}),BJ=J({name:`ElTourSteps`,props:{current:{type:Number,default:0}},emits:[`update-total`],setup(e,{slots:t,emit:n}){let r=0;return()=>{let i=t.default?.(),a=[],o=0;function s(e){u(e)&&e.forEach(e=>{(e?.type||{})?.name===`ElTourStep`&&(a.push(e),o+=1)})}return i.length&&s(V_(i[0]?.children)),r!==o&&(r=o,n(`update-total`,o)),a.length?a[e.current]:null}}}),VJ=J({name:`ElTour`,inheritAttrs:!1,__name:`tour`,props:TJ,emits:EJ,setup(t,{emit:n}){let i=t,a=n,o=Q(`tour`),c=W(0),l=W(),u=hf(i,`current`,a,{passive:!0}),d=U(()=>l.value?.target),f=U(()=>[o.b(),x.value===`primary`?o.m(`primary`):``]),p=U(()=>l.value?.placement||i.placement),m=U(()=>l.value?.contentStyle??i.contentStyle),h=U(()=>l.value?.mask??i.mask),g=U(()=>!!h.value&&i.modelValue),_=U(()=>ad(h.value)?void 0:h.value),v=U(()=>!!d.value&&(l.value?.showArrow??i.showArrow)),b=U(()=>l.value?.scrollIntoViewOptions??i.scrollIntoViewOptions),x=U(()=>l.value?.type??i.type),{nextZIndex:C}=Uh(),w=C(),T=U(()=>i.zIndex??w),{mergedPosInfo:E,triggerTarget:D}=kJ(d,Ne(i,`modelValue`),Ne(i,`gap`),h,b);z(()=>i.modelValue,e=>{e||(u.value=0)});let O=()=>{i.closeOnPressEscape&&(a(Jn,!1),a(`close`,u.value))},k=e=>{c.value=e},A=y();return N(AJ,{currentStep:l,current:u,total:c,showClose:Ne(i,`showClose`),closeIcon:Ne(i,`closeIcon`),mergedType:x,ns:o,slots:A,updateModelValue(e){a(Jn,e)},onClose(){a(`close`,u.value)},onFinish(){a(`finish`)},onChange(){a(Yn,u.value)}}),(n,i)=>(S(),G(xe,null,[q(B(cv),{to:t.appendTo},{default:e(()=>[K(`div`,s({class:f.value},n.$attrs),[q(LJ,{visible:g.value,fill:_.value?.color,style:I(_.value?.style),pos:B(E),"z-index":T.value,"target-area-clickable":t.targetAreaClickable},null,8,[`visible`,`fill`,`style`,`pos`,`z-index`,`target-area-clickable`]),t.modelValue?(S(),V(zJ,{key:B(u),reference:B(D),placement:p.value,"show-arrow":v.value,"z-index":T.value,style:I(m.value),onClose:O},{default:e(()=>[q(B(BJ),{current:B(u),onUpdateTotal:k},{default:e(()=>[r(n.$slots,`default`)]),_:3},8,[`current`])]),_:3},8,[`reference`,`placement`,`show-arrow`,`z-index`,`style`])):H(`v-if`,!0)],16)]),_:3},8,[`to`]),H(` just for IDE `),H(`v-if`,!0)],64))}}),HJ=[`aria-label`],UJ=J({name:`ElTourStep`,__name:`step`,props:DJ,emits:OJ,setup(t,{emit:n}){let i=t,a=n,{Close:o}=IC,{t:c}=Yf(),{currentStep:l,current:u,total:d,showClose:f,closeIcon:p,mergedType:m,ns:h,slots:g,updateModelValue:_,onClose:v,onFinish:y,onChange:b}=P(AJ);z(i,e=>{l.value=e},{immediate:!0});let x=U(()=>i.showClose??f.value),C=U(()=>i.closeIcon??p.value??o),w=e=>{if(e)return Ku(e,[`children`,`onClick`])},T=()=>{--u.value,i.prevButtonProps?.onClick&&i.prevButtonProps?.onClick(),b()},E=()=>{u.value>=d.value-1?D():u.value+=1,i.nextButtonProps?.onClick&&i.nextButtonProps.onClick(),b()},D=()=>{O(),y()},O=()=>{_(!1),v(),a(`close`)},k=e=>{if(!e.target?.isContentEditable)switch(mp(e)){case Y.left:e.preventDefault(),u.value>0&&T();break;case Y.right:e.preventDefault(),E();break}};return A(()=>{window.addEventListener(`keydown`,k)}),Ce(()=>{window.removeEventListener(`keydown`,k)}),(n,i)=>(S(),G(xe,null,[x.value?(S(),G(`button`,{key:0,"aria-label":B(c)(`el.tour.close`),class:L(B(h).e(`closebtn`)),type:`button`,onClick:O},[q(B($),{class:L(B(h).e(`close`))},{default:e(()=>[(S(),V(F(C.value)))]),_:1},8,[`class`])],10,HJ)):H(`v-if`,!0),K(`header`,{class:L([B(h).e(`header`),{"show-close":B(f)}])},[r(n.$slots,`header`,{},()=>[K(`span`,{role:`heading`,class:L(B(h).e(`title`))},R(t.title),3)])],2),K(`div`,{class:L(B(h).e(`body`))},[r(n.$slots,`default`,{},()=>[K(`span`,null,R(t.description),1)])],2),K(`footer`,{class:L(B(h).e(`footer`))},[K(`div`,{class:L(B(h).b(`indicators`))},[B(g).indicators?(S(),V(F(B(g).indicators),{key:0,current:B(u),total:B(d)},null,8,[`current`,`total`])):(S(!0),G(xe,{key:1},Je(B(d),(e,t)=>(S(),G(`span`,{key:e,class:L([B(h).b(`indicator`),B(h).is(`active`,t===B(u))])},null,2))),128))],2),K(`div`,{class:L(B(h).b(`buttons`))},[B(u)>0?(S(),V(B(wO),s({key:0,size:`small`,type:B(m)},w(t.prevButtonProps),{onClick:T}),{default:e(()=>[ce(R(t.prevButtonProps?.children??B(c)(`el.tour.previous`)),1)]),_:1},16,[`type`])):H(`v-if`,!0),B(u)<=B(d)-1?(S(),V(B(wO),s({key:1,size:`small`,type:B(m)===`primary`?`default`:`primary`},w(t.nextButtonProps),{onClick:E}),{default:e(()=>[ce(R(t.nextButtonProps?.children??(B(u)===B(d)-1?B(c)(`el.tour.finish`):B(c)(`el.tour.next`))),1)]),_:1},16,[`type`])):H(`v-if`,!0)],2)],2)],64))}}),WJ=iv(VJ,{TourStep:UJ}),GJ=sv(UJ),KJ=Z({container:{type:X([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:X(String),default:`default`},direction:{type:X(String),default:`vertical`},selectScrollTop:Boolean}),qJ={change:e=>v(e),click:(e,t)=>e instanceof MouseEvent&&(v(t)||id(t))},JJ=(e=>{if(!Md||e===``)return null;if(v(e))try{return document.querySelector(e)}catch{return null}return e});function YJ(e){let t=0,n=(...n)=>{t&&np(t),t=tp(()=>{e(...n),t=0})};return n.cancel=()=>{np(t),t=0},n}var XJ=Symbol(`anchor`),ZJ=J({name:`ElAnchor`,__name:`anchor`,props:KJ,emits:qJ,setup(e,{expose:t,emit:n}){let i=e,a=n,o=y(),s=W(``),c=W({}),l=W(null),u=W(null),d=W(),f={},p=!1,m=0,h=Q(`anchor`),g=U(()=>[h.b(),i.type===`underline`?h.m(`underline`):``,h.m(i.direction)]),_=e=>{f[e.href]=e.el},v=e=>{delete f[e]},b=e=>{s.value!==e&&(s.value=e,a(Yn,e))},x=null,C=``,w=e=>{if(!d.value)return;let t=JJ(e);if(!t)return;if(x){if(C===e)return;x()}C=e,p=!0;let n=lp(t,d.value),r=uN(t,n),a=n.scrollHeight-n.clientHeight,o=Math.min(r-i.offset,a);x=cp(d.value,m,o,i.duration,()=>{setTimeout(()=>{p=!1,C=``},20)})},T=e=>{e&&(b(e),w(e))},E=(e,t)=>{a(`click`,e,t),T(t)},D=YJ(()=>{d.value&&(m=up(d.value));let e=k();p||id(e)||b(e)}),k=()=>{if(!d.value)return;let e=up(d.value),t=[];for(let e of Object.keys(f)){let n=JJ(e);if(!n)continue;let r=uN(n,lp(n,d.value));t.push({top:r-i.offset-i.bound,href:e})}t.sort((e,t)=>e.top-t.top);for(let n=0;ne))return r.href}},j=()=>{let e=JJ(i.container);!e||dd(e)?d.value=window:d.value=e};$d(d,`scroll`,D);let M=()=>{O(()=>{if(!l.value||!u.value||!s.value){c.value={};return}let e=f[s.value];if(!e){c.value={};return}let t=l.value.getBoundingClientRect(),n=u.value.getBoundingClientRect(),r=e.getBoundingClientRect();i.direction===`horizontal`?c.value={left:`${r.left-t.left}px`,width:`${r.width}px`,opacity:1}:c.value={top:`${r.top-t.top+(r.height-n.height)/2}px`,opacity:1}})};return z(s,M),z(()=>o.default?.(),M),A(()=>{j();let e=decodeURIComponent(window.location.hash);JJ(e)?T(e):D()}),z(()=>i.container,()=>{j()}),N(XJ,{ns:h,direction:i.direction,currentAnchor:s,addLink:_,removeLink:v,handleClick:E}),t({scrollTo:T}),(t,n)=>(S(),G(`div`,{ref_key:`anchorRef`,ref:l,class:L(g.value)},[e.marker?(S(),G(`div`,{key:0,ref_key:`markerRef`,ref:u,class:L(B(h).e(`marker`)),style:I(c.value)},null,6)):H(`v-if`,!0),K(`div`,{class:L(B(h).e(`list`))},[r(t.$slots,`default`)],2)],2))}}),QJ=Z({title:String,href:String}),$J=[`href`],eY=J({name:`ElAnchorLink`,__name:`anchor-link`,props:QJ,setup(e){let t=e,n=W(null),{ns:i,direction:a,currentAnchor:o,addLink:s,removeLink:c,handleClick:l}=P(XJ),u=U(()=>[i.e(`link`),i.is(`active`,o.value===t.href)]),d=e=>{l(e,t.href)};return z(()=>t.href,(e,t)=>{O(()=>{t&&c(t),e&&s({href:e,el:n.value})})}),A(()=>{let{href:e}=t;e&&s({href:e,el:n.value})}),Ce(()=>{let{href:e}=t;e&&c(e)}),(t,o)=>(S(),G(`div`,{class:L(B(i).e(`item`))},[K(`a`,{ref_key:`linkRef`,ref:n,class:L(u.value),href:e.href,onClick:d},[r(t.$slots,`default`,{},()=>[ce(R(e.title),1)])],10,$J),t.$slots[`sub-link`]&&B(a)===`vertical`?(S(),G(`div`,{key:0,class:L(B(i).e(`list`))},[r(t.$slots,`sub-link`)],2)):H(`v-if`,!0)],2))}}),tY=iv(ZJ,{AnchorLink:eY}),nY=sv(eY),rY={label:`label`,value:`value`,disabled:`disabled`},iY=Z({direction:{type:X(String),default:`horizontal`},options:{type:X(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:X(Object),default:()=>rY},block:Boolean,size:W_,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...nv([`ariaLabel`])}),aY={[Jn]:e=>v(e)||od(e)||ad(e),[Yn]:e=>v(e)||od(e)||ad(e)},oY=[`id`,`aria-label`,`aria-labelledby`],sY=[`name`,`disabled`,`checked`,`onChange`],cY=iv(J({name:`ElSegmented`,__name:`segmented`,props:iY,emits:aY,setup(e,{emit:t}){let i=e,a=t,o=Q(`segmented`),s=Th(),c=lw(),l=uw(),{formItem:u}=dw(),{inputId:d,isLabeledByFormItem:f}=fw(i,{formItemContext:u}),p=W(null),m=of(),h=Re({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),g=(e,t)=>{let n=y(t);a(Jn,n),a(Yn,n),e.target.checked=n===i.modelValue},_=U(()=>({...rY,...i.props})),v=e=>e,y=e=>n(e)?e[_.value.value]:e,b=e=>n(e)?e[_.value.label]:e,x=e=>!!(l.value||n(e)&&e[_.value.disabled]),C=e=>i.modelValue===y(e),w=e=>i.options.find(t=>y(t)===e),T=e=>[o.e(`item`),o.is(`selected`,C(e)),o.is(`disabled`,x(e))],E=()=>{if(!p.value)return;let e=p.value.querySelector(`.is-selected`),t=p.value.querySelector(`.is-selected input`);if(!e||!t){h.width=0,h.height=0,h.translateX=0,h.translateY=0,h.focusVisible=!1;return}h.isInit=!0,i.direction===`vertical`?(h.height=e.offsetHeight,h.translateY=e.offsetTop):(h.width=e.offsetWidth,h.translateX=e.offsetLeft);try{h.focusVisible=t.matches(`:focus-visible`)}catch{}},D=U(()=>[o.b(),o.m(c.value),o.is(`block`,i.block)]),O=U(()=>({width:i.direction===`vertical`?`100%`:`${h.width}px`,height:i.direction===`vertical`?`${h.height}px`:`100%`,transform:i.direction===`vertical`?`translateY(${h.translateY}px)`:`translateX(${h.translateX}px)`,display:h.isInit?`block`:`none`})),k=U(()=>[o.e(`item-selected`),o.is(`disabled`,x(w(i.modelValue))),o.is(`focus-visible`,h.focusVisible)]),A=U(()=>i.name||s.value);return df(p,E),z(m,E),z(()=>i.modelValue,()=>{E(),i.validateEvent&&u?.validate?.(`change`).catch(e=>Cd(e))},{flush:`post`}),(t,n)=>e.options.length?(S(),G(`div`,{key:0,id:B(d),ref_key:`segmentedRef`,ref:p,class:L(D.value),role:`radiogroup`,"aria-label":B(f)?void 0:e.ariaLabel||`segmented`,"aria-labelledby":B(f)?B(u).labelId:void 0},[K(`div`,{class:L([B(o).e(`group`),B(o).m(e.direction)])},[K(`div`,{style:I(O.value),class:L(k.value)},null,6),(S(!0),G(xe,null,Je(e.options,(e,n)=>(S(),G(`label`,{key:n,class:L(T(e))},[K(`input`,{class:L(B(o).e(`item-input`)),type:`radio`,name:A.value,disabled:x(e),checked:C(e),onChange:t=>g(t,e)},null,42,sY),K(`div`,{class:L(B(o).e(`item-label`))},[r(t.$slots,`default`,{item:v(e)},()=>[ce(R(b(e)),1)])],2)],2))),128))],2)],10,oY)):H(`v-if`,!0)}})),lY=(e,t)=>{let n=e.toLowerCase();return(t.label||t.value||``).toLowerCase().includes(n)},uY=(e,t,n)=>{let{selectionEnd:r}=e;if(r===null)return;let i=e.value,a=Zo(t),o=-1,s;for(let e=r-1;e>=0;--e){let t=i[e];if(t===n||t===` -`||t===`\r`){o=e;continue}if(a.includes(t)){let n=o===-1?r:o;s={pattern:i.slice(e+1,n),start:e+1,end:n,prefix:t,prefixIndex:e,splitIndex:o,selectionEnd:r};break}}return s},dY=(e,t={debug:!1,useSelectionEnd:!1})=>{let n=e.selectionStart===null?0:e.selectionStart,r=e.selectionEnd===null?0:e.selectionEnd,i=t.useSelectionEnd?r:n,a=`direction.boxSizing.width.height.overflowX.overflowY.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.fontSizeAdjust.lineHeight.fontFamily.textAlign.textTransform.textIndent.textDecoration.letterSpacing.wordSpacing.tabSize.MozTabSize`.split(`.`);if(t.debug){let e=document.querySelector(`#input-textarea-caret-position-mirror-div`);e?.parentNode&&e.parentNode.removeChild(e)}let o=document.createElement(`div`);o.id=`input-textarea-caret-position-mirror-div`,document.body.appendChild(o);let s=o.style,c=window.getComputedStyle(e),l=e.nodeName===`INPUT`;s.whiteSpace=l?`nowrap`:`pre-wrap`,l||(s.wordWrap=`break-word`),s.position=`absolute`,t.debug||(s.visibility=`hidden`),a.forEach(e=>{if(l&&e===`lineHeight`)if(c.boxSizing===`border-box`){let e=Number.parseInt(c.height),t=Number.parseInt(c.paddingTop)+Number.parseInt(c.paddingBottom)+Number.parseInt(c.borderTopWidth)+Number.parseInt(c.borderBottomWidth),n=t+Number.parseInt(c.lineHeight);e>n?s.lineHeight=`${e-t}px`:e===n?s.lineHeight=c.lineHeight:s.lineHeight=`0`}else s.lineHeight=c.height;else s[e]=c[e]}),jf()?e.scrollHeight>Number.parseInt(c.height)&&(s.overflowY=`scroll`):s.overflow=`hidden`,o.textContent=e.value.slice(0,Math.max(0,i)),l&&o.textContent&&(o.textContent=o.textContent.replace(/\s/g,`\xA0`));let u=document.createElement(`span`);u.textContent=e.value.slice(Math.max(0,i))||`.`,u.style.position=`relative`,u.style.left=`${-e.scrollLeft}px`,u.style.top=`${-e.scrollTop}px`,o.appendChild(u);let d={top:u.offsetTop+Number.parseInt(c.borderTopWidth),left:u.offsetLeft+Number.parseInt(c.borderLeftWidth),height:Number.parseInt(c.fontSize)*1.5};return t.debug?u.style.backgroundColor=`#aaa`:document.body.removeChild(o),d.left>=e.clientWidth&&(d.left=e.clientWidth),d},fY=Z({...kE,options:{type:X(Array),default:()=>[]},prefix:{type:X([String,Array]),default:`@`,validator:e=>v(e)?e.length===1:e.every(e=>v(e)&&e.length===1)},split:{type:String,default:` `,validator:e=>e.length===1},filterOption:{type:X([Boolean,Function]),default:()=>lY,validator:e=>e===!1?!0:k(e)},placement:{type:X(String),default:`bottom`},showArrow:Boolean,offset:{type:Number,default:0},whole:Boolean,checkIsWhole:{type:X(Function)},modelValue:String,loading:Boolean,popperClass:pE.popperClass,popperStyle:pE.popperStyle,popperOptions:{type:X(Object),default:()=>({})},props:{type:X(Object),default:()=>mY}}),pY={[Jn]:e=>v(e),"whole-remove":(e,t)=>v(e)&&v(t),input:e=>v(e),search:(e,t)=>v(e)&&v(t),select:(e,t)=>n(e)&&v(t),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},mY={value:`value`,label:`label`,disabled:`disabled`},hY=Z({options:{type:X(Array),default:()=>[]},loading:Boolean,disabled:Boolean,contentId:String,ariaLabel:String}),gY={select:e=>v(e.value)},_Y=[`id`,`aria-disabled`,`aria-selected`,`onMousemove`,`onClick`],vY=J({name:`ElMentionDropdown`,__name:`mention-dropdown`,props:hY,emits:gY,setup(t,{expose:n,emit:i}){let a=t,o=i,s=Q(`mention`),{t:c}=Yf(),l=W(-1),u=W(),d=W(),f=W(),p=(e,t)=>[s.be(`dropdown`,`item`),s.is(`hovering`,l.value===t),s.is(`disabled`,e.disabled||a.disabled)],m=e=>{e.disabled||a.disabled||o(`select`,e)},h=e=>{l.value=e},g=U(()=>a.disabled||a.options.every(e=>e.disabled)),_=U(()=>a.options[l.value]),v=()=>{!_.value||_.value.disabled||a.disabled||o(`select`,_.value)},y=e=>{let{options:t}=a;if(t.length===0||g.value)return;e===`next`?(l.value++,l.value===t.length&&(l.value=0)):e===`prev`&&(l.value--,l.value<0&&(l.value=t.length-1));let n=t[l.value];if(n.disabled){y(e);return}O(()=>b(n))},b=e=>{let{options:t}=a,n=t.findIndex(t=>t.value===e.value),r=d.value?.[n];if(r){let e=f.value?.querySelector?.(`.${s.be(`dropdown`,`wrap`)}`);e&&sp(e,r)}u.value?.handleScroll()};return z(()=>a.options,()=>{g.value||a.options.length===0?l.value=-1:l.value=a.options.findIndex(e=>!e.disabled)},{immediate:!0}),n({hoveringIndex:l,navigateOptions:y,selectHoverOption:v,hoverOption:_}),(n,i)=>(S(),G(`div`,{ref_key:`dropdownRef`,ref:f,class:L(B(s).b(`dropdown`))},[n.$slots.header?(S(),G(`div`,{key:0,class:L(B(s).be(`dropdown`,`header`))},[r(n.$slots,`header`)],2)):H(`v-if`,!0),ge(q(B(tD),{id:t.contentId,ref_key:`scrollbarRef`,ref:u,tag:`ul`,"wrap-class":B(s).be(`dropdown`,`wrap`),"view-class":B(s).be(`dropdown`,`list`),role:`listbox`,"aria-label":t.ariaLabel,"aria-orientation":`vertical`},{default:e(()=>[(S(!0),G(xe,null,Je(t.options,(e,i)=>(S(),G(`li`,{id:`${t.contentId}-${i}`,ref_for:!0,ref_key:`optionRefs`,ref:d,key:i,class:L(p(e,i)),role:`option`,"aria-disabled":e.disabled||t.disabled||void 0,"aria-selected":l.value===i,onMousemove:e=>h(i),onClick:In(t=>m(e),[`stop`])},[r(n.$slots,`label`,{item:e,index:i},()=>[K(`span`,null,R(e.label??e.value),1)])],42,_Y))),128))]),_:3},8,[`id`,`wrap-class`,`view-class`,`aria-label`]),[[Rt,t.options.length>0&&!t.loading]]),t.loading?(S(),G(`div`,{key:1,class:L(B(s).be(`dropdown`,`loading`))},[r(n.$slots,`loading`,{},()=>[ce(R(B(c)(`el.mention.loading`)),1)])],2)):H(`v-if`,!0),n.$slots.footer?(S(),G(`div`,{key:2,class:L(B(s).be(`dropdown`,`footer`))},[r(n.$slots,`footer`)],2)):H(`v-if`,!0)],2))}}),yY=iv(J({name:`ElMention`,inheritAttrs:!1,__name:`mention`,props:fY,emits:pY,setup(t,{expose:n,emit:i}){let a=t,o=i,c=U(()=>Xu(a,Object.keys(kE))),l=Q(`mention`),u=uw(),d=Th(),f=W(),p=W(),m=W(),h=W(!1),_=W(),v=W(),y=U(()=>a.showArrow?a.placement:`${a.placement}-start`),b=U(()=>a.showArrow?[`bottom`,`top`]:[`bottom-start`,`top-start`]),x=U(()=>({...mY,...a.props})),C=e=>{let t={label:e[x.value.label],value:e[x.value.value],disabled:e[x.value.disabled]};return{...e,...t}},w=U(()=>a.options.map(C)),T=U(()=>{let{filterOption:e}=a;return!v.value||!e?w.value:w.value.filter(t=>e(v.value.pattern,t))}),E=U(()=>h.value&&(!!T.value.length||a.loading)),D=U(()=>`${d.value}-${m.value?.hoveringIndex}`),A=e=>{o(Jn,e),o(Xn,e),re()},j=e=>{if(f.value?.isComposing)return;let t=mp(e);switch(t){case Y.left:case Y.right:re();break;case Y.up:case Y.down:if(!h.value)return;e.preventDefault(),m.value?.navigateOptions(t===Y.up?`prev`:`next`);break;case Y.enter:case Y.numpadEnter:if(!h.value){a.type!==`textarea`&&re();return}e.preventDefault(),m.value?.hoverOption?m.value?.selectHoverOption():h.value=!1;break;case Y.esc:if(!h.value)return;e.preventDefault(),h.value=!1;break;case Y.backspace:if(a.whole&&v.value){let{splitIndex:t,selectionEnd:n,pattern:r,prefixIndex:i,prefix:s}=v.value,c=P();if(!c)return;let l=c.value,u=w.value.find(e=>e.value===r);if((k(a.checkIsWhole)?a.checkIsWhole(r,s):u)&&t!==-1&&t+1===n){e.preventDefault();let n=l.slice(0,i)+l.slice(t+1);o(Jn,n),o(Xn,n),o(`whole-remove`,r,s);let a=i;O(()=>{c.selectionStart=a,c.selectionEnd=a,ie()})}}}},{wrapperRef:M}=q_(f,{disabled:u,afterFocus(){re()},beforeBlur(e){return p.value?.isFocusInsideContent(e)},afterBlur(){h.value=!1}}),N=()=>{re()},ee=e=>a.options.find(t=>e.value===t[x.value.value]),ne=e=>{if(!v.value)return;let t=P();if(!t)return;let n=t.value,{split:r}=a,i=n.slice(v.value.end),s=i.startsWith(r),c=`${e.value}${s?``:r}`,l=n.slice(0,v.value.start)+c+i;o(Jn,l),o(Xn,l),o(`select`,ee(e),v.value.prefix);let u=v.value.start+c.length+(s?1:0);O(()=>{t.selectionStart=u,t.selectionEnd=u,t.focus(),ie()})},P=()=>a.type===`textarea`?f.value?.textarea:f.value?.input,re=()=>{setTimeout(()=>{F(),ie(),O(()=>p.value?.updatePopper())},0)},F=()=>{let e=P();if(!e)return;let t=dY(e),n=e.getBoundingClientRect(),r=M.value.getBoundingClientRect();_.value={position:`absolute`,width:0,height:`${t.height}px`,left:`${t.left+n.left-r.left}px`,top:`${t.top+n.top-r.top}px`}},ie=()=>{let e=P();if(document.activeElement!==e){h.value=!1;return}let{prefix:t,split:n}=a;if(v.value=uY(e,t,n),v.value&&v.value.splitIndex===-1){h.value=!0,o(`search`,v.value.pattern,v.value.prefix);return}h.value=!1};return n({input:f,tooltip:p,dropdownVisible:E}),(n,i)=>(S(),G(`div`,{ref_key:`wrapperRef`,ref:M,class:L(B(l).b())},[q(B(BE),s(s(c.value,n.$attrs),{ref_key:`elInputRef`,ref:f,"model-value":t.modelValue,disabled:B(u),role:E.value?`combobox`:void 0,"aria-activedescendant":E.value?D.value||``:void 0,"aria-controls":E.value?B(d):void 0,"aria-expanded":E.value||void 0,"aria-label":t.ariaLabel,"aria-autocomplete":E.value?`none`:void 0,"aria-haspopup":E.value?`listbox`:void 0,onInput:A,onKeydown:j,onMousedown:N}),ye({_:2},[Je(n.$slots,(t,i)=>({name:i,fn:e(e=>[r(n.$slots,i,g(te(e)))])}))]),1040,[`model-value`,`disabled`,`role`,`aria-activedescendant`,`aria-controls`,`aria-expanded`,`aria-label`,`aria-autocomplete`,`aria-haspopup`]),q(B(DE),{ref_key:`tooltipRef`,ref:p,visible:E.value,"popper-class":[B(l).e(`popper`),t.popperClass],"popper-style":t.popperStyle,"popper-options":t.popperOptions,placement:y.value,"fallback-placements":b.value,effect:`light`,pure:``,offset:t.offset,"show-arrow":t.showArrow},{default:e(()=>[K(`div`,{style:I(_.value)},null,4)]),content:e(()=>[q(vY,{ref_key:`dropdownRef`,ref:m,options:T.value,disabled:B(u),loading:t.loading,"content-id":B(d),"aria-label":t.ariaLabel,onSelect:ne,onClick:i[0]||=In(e=>f.value?.focus(),[`stop`])},ye({_:2},[Je(n.$slots,(t,i)=>({name:i,fn:e(e=>[r(n.$slots,i,g(te(e)))])}))]),1032,[`options`,`disabled`,`loading`,`content-id`,`aria-label`])]),_:3},8,[`visible`,`popper-class`,`popper-style`,`popper-options`,`placement`,`fallback-placements`,`offset`,`show-arrow`])],2))}})),bY=Z({layout:{type:String,default:`horizontal`,values:[`horizontal`,`vertical`]},lazy:Boolean}),xY={resizeStart:(e,t)=>!0,resize:(e,t)=>!0,resizeEnd:(e,t)=>!0,collapse:(e,t,n)=>!0},SY=Z({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),CY={"update:size":e=>typeof e==`number`||typeof e==`string`};function wY(e){let t=W(),{width:n,height:r}=pf(t);return{containerEl:t,containerSize:U(()=>e.value===`horizontal`?n.value:r.value)}}function TY(e){return Number(e.slice(0,-1))/100}function EY(e){return Number(e.slice(0,-2))}function DY(e){return v(e)&&e.endsWith(`%`)}function OY(e){return v(e)&&e.endsWith(`px`)}function kY(e,t){let n=U(()=>e.value.map(e=>e.size)),r=U(()=>e.value.length),i=W([]);z([n,r,t],()=>{let n=[],a=0;for(let i=0;ie+(t||0),0);if(o>1||!a){let e=1/o;n=n.map(t=>t===void 0?0:t*e)}else{let e=(1-o)/a;n=n.map(t=>t===void 0?e:t)}i.value=n});let a=e=>e*t.value;return{percentSizes:i,pxSizes:U(()=>i.value.map(a))}}function AY(e,t,n,r){let i=e=>e*t.value||0;function a(e,t){return DY(e)?i(TY(e)):OY(e)?EY(e):e??t}let o=W(0),s=W(null),c=[],l=He,u=U(()=>e.value.map(e=>[e.min,e.max]));z(r,()=>{if(o.value){let e=new MouseEvent(`mouseup`,{bubbles:!0});window.dispatchEvent(e)}});let d=e=>{o.value=0,s.value={index:e,confirmed:!1},c=n.value},f=(n,i)=>{let d=null;if((!s.value||!s.value.confirmed)&&i!==0){if(i>0)d=n,s.value={index:n,confirmed:!0};else for(let e=n;e>=0;--e)if(c[e]>0){d=e,s.value={index:e,confirmed:!0};break}}let f=d??s.value?.index??n,p=[...c],m=f+1,h=a(u.value[f][0],0),g=a(u.value[m][0],0),_=a(u.value[f][1],t.value||0),v=a(u.value[m][1],t.value||0),y=i;p[f]+y_&&(y=_-p[f]),p[m]-y>v&&(y=p[m]-v),p[f]+=y,p[m]-=y,o.value=y,l=()=>{e.value.forEach((e,t)=>{e.size=p[t]}),l=He},r.value||l()},p=()=>{r.value&&l(),o.value=0,s.value=null,c=[]},m=[];return{lazyOffset:o,onMoveStart:d,onMoving:f,onMoveEnd:p,movingIndex:s,onCollapse:(t,r)=>{m.length||m.push(...n.value);let i=n.value,a=r===`start`?t:t+1,o=r===`start`?t+1:t,s=i[a],c=i[o];if(s!==0&&c!==0)i[a]=0,i[o]+=s,m[t]=s;else{let e=s+c,n=m[t],r=e-n;i[o]=n,i[a]=r}e.value.forEach((e,t)=>{e.size=i[t]})}}}var jY=Symbol(`splitterRootContextKey`),MY=J({name:`ElSplitter`,__name:`splitter`,props:bY,emits:xY,setup(e,{emit:t}){let n=Q(`splitter`),i=t,a=e,o=Ne(a,`layout`),s=Ne(a,`lazy`),{containerEl:c,containerSize:l}=wY(o),{removeChild:u,children:d,addChild:f,ChildrenSorter:p}=U_(de(),`ElSplitterPanel`);z(d,()=>{_.value=null,d.value.forEach((e,t)=>{e.setIndex(t)})});let{percentSizes:m,pxSizes:h}=kY(d,l),{lazyOffset:g,movingIndex:_,onMoveStart:v,onMoving:y,onMoveEnd:b,onCollapse:x}=AY(d,l,h,s),C=U(()=>({[n.cssVarBlockName(`bar-offset`)]:s.value?`${g.value}px`:void 0}));return N(jY,Re({panels:d,percentSizes:m,pxSizes:h,layout:o,lazy:s,movingIndex:_,containerSize:l,onMoveStart:e=>{v(e),i(`resizeStart`,e,h.value)},onMoving:(e,t)=>{y(e,t),s.value||i(`resize`,e,h.value)},onMoveEnd:async e=>{b(),await O(),i(`resizeEnd`,e,h.value)},onCollapse:(e,t)=>{x(e,t),i(`collapse`,e,t,h.value)},registerPanel:f,unregisterPanel:u})),(e,t)=>(S(),G(`div`,{ref_key:`containerEl`,ref:c,class:L([B(n).b(),B(n).e(o.value)]),style:I(C.value)},[r(e.$slots,`default`),q(B(p)),H(` Prevent iframe touch events from breaking `),B(_)?(S(),G(`div`,{key:0,class:L([B(n).e(`mask`),B(n).e(`mask-${o.value}`)])},null,2)):H(`v-if`,!0)],6))}});function NY(e){return e&&n(e)?e:{start:!!e,end:!!e}}function PY(e,t,n,r){return!!(e?.collapsible.end&&t>0||n?.collapsible.start&&r===0&&t>0)}var FY=J({name:`ElSplitterBar`,__name:`split-bar`,props:{index:{type:Number,required:!0},layout:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:[`moveStart`,`moving`,`moveEnd`,`collapse`],setup(e,{emit:t}){let n=Q(`splitter-bar`),i=e,a=t,o=U(()=>i.layout===`horizontal`),s=U(()=>o.value?{width:0}:{height:0}),c=U(()=>({width:o.value?`16px`:`100%`,height:o.value?`100%`:`16px`,cursor:i.resizable?o.value?`ew-resize`:`ns-resize`:`auto`,touchAction:`none`})),l=U(()=>{let e=n.e(`dragger`);return{[`${e}-horizontal`]:o.value,[`${e}-vertical`]:!o.value,[`${e}-active`]:!!u.value}}),u=W(null),d=e=>{i.resizable&&(u.value=[e.pageX,e.pageY],a(`moveStart`,i.index),window.addEventListener(`mouseup`,h),window.addEventListener(`mousemove`,p))},f=e=>{if(i.resizable&&e.touches.length===1){e.preventDefault();let t=e.touches[0];u.value=[t.pageX,t.pageY],a(`moveStart`,i.index),window.addEventListener(`touchend`,g),window.addEventListener(`touchmove`,m)}},p=e=>{let{pageX:t,pageY:n}=e,r=t-u.value[0],s=n-u.value[1],c=o.value?r:s;a(`moving`,i.index,c)},m=e=>{if(e.touches.length===1){e.preventDefault();let t=e.touches[0],n=t.pageX-u.value[0],r=t.pageY-u.value[1],s=o.value?n:r;a(`moving`,i.index,s)}},h=()=>{u.value=null,window.removeEventListener(`mouseup`,h),window.removeEventListener(`mousemove`,p),a(`moveEnd`,i.index)},g=()=>{u.value=null,window.removeEventListener(`touchend`,g),window.removeEventListener(`touchmove`,m),a(`moveEnd`,i.index)},_=U(()=>o.value?yv:Cv),v=U(()=>o.value?xv:_v);return(t,i)=>(S(),G(`div`,{class:L([B(n).b()]),style:I(s.value)},[e.startCollapsible?(S(),G(`div`,{key:0,class:L([B(n).e(`collapse-icon`),B(n).e(`${e.layout}-collapse-icon-start`)]),onClick:i[0]||=t=>a(`collapse`,e.index,`start`)},[r(t.$slots,`start-collapsible`,{},()=>[(S(),V(F(_.value),{style:{width:`12px`,height:`12px`}}))])],2)):H(`v-if`,!0),K(`div`,{class:L([B(n).e(`dragger`),l.value,B(n).is(`disabled`,!e.resizable),B(n).is(`lazy`,e.resizable&&e.lazy)]),style:I(c.value),onMousedown:d,onTouchstart:f},null,38),e.endCollapsible?(S(),G(`div`,{key:1,class:L([B(n).e(`collapse-icon`),B(n).e(`${e.layout}-collapse-icon-end`)]),onClick:i[1]||=t=>a(`collapse`,e.index,`end`)},[r(t.$slots,`end-collapsible`,{},()=>[(S(),V(F(v.value),{style:{width:`12px`,height:`12px`}}))])],2)):H(`v-if`,!0)],6))}}),IY=`ElSplitterPanel`,LY=J({name:IY,__name:`split-panel`,props:SY,emits:CY,setup(t,{expose:n,emit:i}){let a=Q(`splitter-panel`),o=t,c=i,l=P(jY);l||Sd(IY,`usage: `);let{panels:u,layout:d,lazy:f,containerSize:p,pxSizes:m}=Oe(l),{registerPanel:h,unregisterPanel:g,onCollapse:_,onMoveEnd:v,onMoveStart:y,onMoving:b}=l,x=W(),C=de(),w=C.uid,T=W(0),E=U(()=>u.value[T.value]),D=e=>{T.value=e},k=U(()=>E.value?m.value[T.value]??0:0),A=U(()=>E.value?m.value[T.value+1]??0:0),j=U(()=>E.value?u.value[T.value+1]:null),M=U(()=>j.value?o.resizable&&j.value?.resizable&&(k.value!==0||!o.min)&&(A.value!==0||!j.value.min):!1),N=U(()=>E.value?T.value!==u.value.length-1:!1),ee=U(()=>PY(E.value,k.value,j.value,A.value)),te=U(()=>PY(j.value,A.value,E.value,k.value));function ne(e){return DY(e)?TY(e)*p.value||0:OY(e)?EY(e):e??0}let re=!1;z(()=>o.size,()=>{if(!re&&E.value){if(!p.value){E.value.size=o.size;return}let e=ne(o.size),t=ne(o.max),n=ne(o.min),r=Math.min(Math.max(e,n||0),t||e);r!==e&&c(`update:size`,r),E.value.size=r}}),z(()=>E.value?.size,e=>{e!==o.size&&(re=!0,c(`update:size`,e),O(()=>re=!1))}),z(()=>o.resizable,e=>{E.value&&(E.value.resizable=e)});let F=Re({uid:w,getVnode:()=>C.vnode,setIndex:D,...o,collapsible:U(()=>NY(o.collapsible))});return h(F),Ce(()=>g(F)),n({splitterPanelRef:x}),(t,n)=>(S(),G(xe,null,[K(`div`,s({ref_key:`panelEl`,ref:x,class:[B(a).b()],style:{flexBasis:`${k.value}px`}},t.$attrs),[r(t.$slots,`default`)],16),N.value?(S(),V(FY,{key:0,index:T.value,layout:B(d),lazy:B(f),resizable:M.value,"start-collapsible":ee.value,"end-collapsible":te.value,onMoveStart:B(y),onMoving:B(b),onMoveEnd:B(v),onCollapse:B(_)},{"start-collapsible":e(()=>[r(t.$slots,`start-collapsible`)]),"end-collapsible":e(()=>[r(t.$slots,`end-collapsible`)]),_:3},8,[`index`,`layout`,`lazy`,`resizable`,`start-collapsible`,`end-collapsible`,`onMoveStart`,`onMoving`,`onMoveEnd`,`onCollapse`])):H(`v-if`,!0)],64))}}),RY=iv(MY,{SplitPanel:LY}),zY=sv(LY),BY=`ElInfiniteScroll`,VY={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},HY=(e,t)=>Object.entries(VY).reduce((n,[r,i])=>{let{type:a,default:o}=i,s=e.getAttribute(`infinite-scroll-${r}`),c=t[s]??s??o;return c=c===`false`?!1:c,c=a(c),n[r]=Number.isNaN(c)?o:c,n},{}),UY=e=>{let{observer:t}=e[BY];t&&(t.disconnect(),delete e[BY].observer)},WY=(e,t)=>{let{container:n,containerEl:r,instance:i,observer:a,lastScrollTop:o}=e[BY],{disabled:s,distance:c}=HY(e,i),{clientHeight:l,scrollHeight:u,scrollTop:d}=r,f=d-o;if(e[BY].lastScrollTop=d,a||s||f<0)return;let p=!1;if(n===e)p=u-(l+d)<=c;else{let{clientTop:t,scrollHeight:n}=e,i=uN(e,r);p=d+l>=i+t+n-c}p&&t.call(i)};function GY(e,t){let{containerEl:n,instance:r}=e[BY],{disabled:i}=HY(e,r);i||n.clientHeight===0||(n.scrollHeight<=n.clientHeight?t.call(r):UY(e))}var KY={async mounted(e,t){let{instance:n,value:r}=t;yf({scope:BY,from:`the directive v-infinite-scroll`,replacement:`the el-scrollbar infinite scroll`,version:`3.0.0`,ref:`https://element-plus.org/en-US/component/scrollbar#infinite-scroll`},!0),k(r)||Sd(BY,`'v-infinite-scroll' binding value must be a function`),await O();let{delay:i,immediate:a}=HY(e,n),o=ip(e,!0),s=o===window?document.documentElement:o,c=$u(WY.bind(null,e,r),i);if(o){if(e[BY]={instance:n,container:o,containerEl:s,delay:i,cb:r,onScroll:c,lastScrollTop:s.scrollTop},a){let t=new MutationObserver($u(GY.bind(null,e,r),50));e[BY].observer=t,t.observe(e,{childList:!0,subtree:!0}),GY(e,r)}o.addEventListener(`scroll`,c)}},unmounted(e){if(!e.ElInfiniteScroll)return;let{container:t,onScroll:n}=e[BY];t?.removeEventListener(`scroll`,n),UY(e)},async updated(e){if(!e.ElInfiniteScroll)await O();else{let{containerEl:t,cb:n,observer:r}=e[BY];t.clientHeight&&r&&GY(e,n)}}};KY.install=e=>{e.directive(`InfiniteScroll`,KY)};var qY=KY;function JY(t,n){let r,i=W(!1),o=Re({...t,originalPosition:``,originalOverflow:``,visible:!1});function s(e){o.text=e}function c(){let e=o.parent,t=p.ns;if(!e.vLoadingAddClassList){let n=e.getAttribute(`loading-number`);n=Number.parseInt(n)-1,n?e.setAttribute(`loading-number`,n.toString()):(zf(e,t.bm(`parent`,`relative`)),e.removeAttribute(`loading-number`)),zf(e,t.bm(`parent`,`hidden`))}l(),f.unmount()}function l(){p.$el?.parentNode?.removeChild(p.$el)}function u(){t.beforeClose&&!t.beforeClose()||(i.value=!0,clearTimeout(r),r=setTimeout(d,400),o.visible=!1,t.closed?.())}function d(){if(!i.value)return;let e=o.parent;i.value=!1,e.vLoadingAddClassList=void 0,c()}let f=Un(J({name:`ElLoading`,setup(t,{expose:n}){let{ns:r,zIndex:i}=ID(`loading`);return n({ns:r,zIndex:i}),()=>{let t=o.spinner||o.svg,n=a(`svg`,{class:`circular`,viewBox:o.svgViewBox?o.svgViewBox:`0 0 50 50`,...t?{innerHTML:t}:{}},[a(`circle`,{class:`path`,cx:`25`,cy:`25`,r:`20`,fill:`none`})]),i=o.text?a(`p`,{class:r.b(`text`)},[o.text]):void 0;return a(bt,{name:r.b(`fade`),onAfterLeave:d},{default:e(()=>[ge(q(`div`,{style:{backgroundColor:o.background||``},class:[r.b(`mask`),o.customClass,r.is(`fullscreen`,o.fullscreen)]},[a(`div`,{class:r.b(`spinner`)},[n,i])]),[[Rt,o.visible]])])})}}}));Object.assign(f._context,n??{});let p=f.mount(document.createElement(`div`));return{...Oe(o),setText:s,removeElLoadingChild:l,close:u,handleAfterLeave:d,vm:p,get $el(){return p.$el}}}var YY=void 0,XY=function(e={},t){if(!Md)return;let n=ZY(e);if(n.fullscreen&&YY)return YY;let r=JY({...n,closed:()=>{n.closed?.(),n.fullscreen&&(YY=void 0)}},t??XY._context);QY(n,n.parent,r),$Y(n,n.parent,r),n.parent.vLoadingAddClassList=()=>$Y(n,n.parent,r);let i=n.parent.getAttribute(`loading-number`);return i=i?`${Number.parseInt(i)+1}`:`1`,n.parent.setAttribute(`loading-number`,i),n.parent.appendChild(r.$el),O(()=>r.visible.value=n.visible),n.fullscreen&&(YY=r),r},ZY=e=>{let t;return t=v(e.target)?document.querySelector(e.target)??document.body:e.target||document.body,{parent:t===document.body||e.body?document.body:t,background:e.background||``,svg:e.svg||``,svgViewBox:e.svgViewBox||``,spinner:e.spinner||!1,text:e.text||``,fullscreen:t===document.body&&(e.fullscreen??!0),lock:e.lock??!1,customClass:e.customClass||``,visible:e.visible??!0,beforeClose:e.beforeClose,closed:e.closed,target:t}},QY=async(e,t,n)=>{let{nextZIndex:r}=n.vm.zIndex||n.vm._.exposed.zIndex,i={};if(e.fullscreen)n.originalPosition.value=Bf(document.body,`position`),n.originalOverflow.value=Bf(document.body,`overflow`),i.zIndex=r();else if(e.parent===document.body){n.originalPosition.value=Bf(document.body,`position`),await O();for(let t of[`top`,`left`]){let n=t===`top`?`scrollTop`:`scrollLeft`;i[t]=`${e.target.getBoundingClientRect()[t]+document.body[n]+document.documentElement[n]-Number.parseInt(Bf(document.body,`margin-${t}`),10)}px`}for(let t of[`height`,`width`])i[t]=`${e.target.getBoundingClientRect()[t]}px`}else n.originalPosition.value=Bf(t,`position`);for(let[e,t]of Object.entries(i))n.$el.style[e]=t},$Y=(e,t,n)=>{let r=n.vm.ns||n.vm._.exposed.ns;[`absolute`,`fixed`,`sticky`].includes(n.originalPosition.value)?zf(t,r.bm(`parent`,`relative`)):Rf(t,r.bm(`parent`,`relative`)),e.fullscreen&&e.lock?Rf(t,r.bm(`parent`,`hidden`)):zf(t,r.bm(`parent`,`hidden`))};XY._context=null;var eX=Symbol(`ElLoading`),tX=e=>`element-loading-${o(e)}`,nX=(e,t)=>{let r=t.instance,i=e=>n(t.value)?t.value[e]:void 0,a=e=>W(v(e)&&r?.[e]||e),o=t=>a(i(t)||e.getAttribute(tX(t))),s=i(`fullscreen`)??t.modifiers.fullscreen,c={text:o(`text`),svg:o(`svg`),svgViewBox:o(`svgViewBox`),spinner:o(`spinner`),background:o(`background`),customClass:o(`customClass`),fullscreen:s,target:i(`target`)??(s?void 0:e),body:i(`body`)??t.modifiers.body,lock:i(`lock`)??t.modifiers.lock},l=XY(c);l._context=iX._context,e[eX]={options:c,instance:l}},rX=(e,t)=>{for(let n of Object.keys(e))Se(e[n])&&(e[n].value=t[n])},iX={mounted(e,t){t.value&&nX(e,t)},updated(e,t){let r=e[eX];if(!t.value){r?.instance.close(),e[eX]=null;return}r?rX(r.options,n(t.value)?t.value:{text:e.getAttribute(tX(`text`)),svg:e.getAttribute(tX(`svg`)),svgViewBox:e.getAttribute(tX(`svgViewBox`)),spinner:e.getAttribute(tX(`spinner`)),background:e.getAttribute(tX(`background`)),customClass:e.getAttribute(tX(`customClass`))}):nX(e,t)},unmounted(e){e[eX]?.instance.close(),e[eX]=null}};iX._context=null;var aX={install(e){XY._context=e._context,iX._context=e._context,e.directive(`loading`,iX),e.config.globalProperties.$loading=XY},directive:iX,service:XY},oX=[`primary`,`success`,`info`,`warning`,`error`],sX=[`top`,`top-left`,`top-right`,`bottom`,`bottom-left`,`bottom-right`],cX=OE({customClass:``,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:``,message:``,onClose:void 0,showClose:!1,type:`info`,plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:Md?document.body:void 0}),lX=Z({customClass:{type:String,default:cX.customClass},dangerouslyUseHTMLString:{type:Boolean,default:cX.dangerouslyUseHTMLString},duration:{type:Number,default:cX.duration},icon:{type:FC,default:cX.icon},id:{type:String,default:cX.id},message:{type:X([String,Object,Function]),default:cX.message},onClose:{type:X(Function),default:cX.onClose},showClose:{type:Boolean,default:cX.showClose},type:{type:String,values:oX,default:cX.type},plain:{type:Boolean,default:cX.plain},offset:{type:Number,default:cX.offset},placement:{type:String,values:sX,default:cX.placement},zIndex:{type:Number,default:cX.zIndex},grouping:{type:Boolean,default:cX.grouping},repeatNum:{type:Number,default:cX.repeatNum}}),uX={destroy:()=>!0},dX=Ve({}),fX=e=>(dX[e]||(dX[e]=Ve([])),dX[e]),pX=(e,t)=>{let n=dX[t]||[],r=n.findIndex(t=>t.id===e),i=n[r],a;return r>0&&(a=n[r-1]),{current:i,prev:a}},mX=(e,t)=>{let{prev:n}=pX(e,t);return n?n.vm.exposed.bottom.value:0},hX=(e,t,n)=>(dX[n]||[]).findIndex(t=>t.id===e)>0?16:t,gX=[`id`],_X=[`innerHTML`],vX=J({name:`ElMessage`,__name:`message`,props:lX,emits:uX,setup(t,{expose:n,emit:i}){let{Close:a}=LC,o=t,s=i,c=W(!1),{ns:l,zIndex:u}=ID(`message`),{currentZIndex:d,nextZIndex:f}=u,p=W(),m=W(!1),h=W(0),g,_=U(()=>o.type?o.type===`error`?`danger`:o.type:`info`),v=U(()=>{let e=o.type;return{[l.bm(`icon`,e)]:e&&RC[e]}}),y=U(()=>o.icon||RC[o.type]||``),b=U(()=>o.placement||`top`),x=U(()=>mX(o.id,b.value)),C=U(()=>hX(o.id,o.offset,b.value)+x.value),w=U(()=>h.value+C.value),T=U(()=>b.value.includes(`left`)?l.is(`left`):b.value.includes(`right`)?l.is(`right`):l.is(`center`)),E=U(()=>b.value.startsWith(`top`)?`top`:`bottom`),D=U(()=>({[E.value]:`${C.value}px`,zIndex:d.value}));function k(){o.duration!==0&&({stop:g}=Yd(()=>{M()},o.duration))}function j(){g?.()}function M(){m.value=!1,O(()=>{c.value||(o.onClose?.(),s(`destroy`))})}function N(e){mp(e)===Y.esc&&M()}return A(()=>{k(),f(),m.value=!0}),z(()=>o.repeatNum,()=>{j(),k()}),$d(document,`keydown`,N),df(p,()=>{h.value=p.value.getBoundingClientRect().height}),n({visible:m,bottom:w,close:M}),(n,i)=>(S(),V(bt,{name:B(l).b(`fade`),onBeforeEnter:i[0]||=e=>c.value=!0,onBeforeLeave:t.onClose,onAfterLeave:i[1]||=e=>n.$emit(`destroy`),persisted:``},{default:e(()=>[ge(K(`div`,{id:t.id,ref_key:`messageRef`,ref:p,class:L([B(l).b(),{[B(l).m(t.type)]:t.type},B(l).is(`closable`,t.showClose),B(l).is(`plain`,t.plain),B(l).is(`bottom`,E.value===`bottom`),T.value,t.customClass]),style:I(D.value),role:`alert`,onMouseenter:j,onMouseleave:k},[t.repeatNum>1?(S(),V(B(xD),{key:0,value:t.repeatNum,type:_.value,class:L(B(l).e(`badge`))},null,8,[`value`,`type`,`class`])):H(`v-if`,!0),y.value?(S(),V(B($),{key:1,class:L([B(l).e(`icon`),v.value])},{default:e(()=>[(S(),V(F(y.value)))]),_:1},8,[`class`])):H(`v-if`,!0),r(n.$slots,`default`,{},()=>[t.dangerouslyUseHTMLString?(S(),G(xe,{key:1},[H(` Caution here, message could've been compromised, never use user's input as message `),K(`p`,{class:L(B(l).e(`content`)),innerHTML:t.message},null,10,_X)],2112)):(S(),G(`p`,{key:0,class:L(B(l).e(`content`))},R(t.message),3))]),t.showClose?(S(),V(B($),{key:2,class:L(B(l).e(`closeBtn`)),onClick:In(M,[`stop`])},{default:e(()=>[q(B(a))]),_:1},8,[`class`])):H(`v-if`,!0)],46,gX),[[Rt,m.value]])]),_:3},8,[`name`,`onBeforeLeave`]))}}),yX=1,bX=e=>{if(!e.appendTo)e.appendTo=document.body;else if(v(e.appendTo)){let t=document.querySelector(e.appendTo);cd(t)||(Cd(`ElMessage`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),t=document.body),e.appendTo=t}},xX=e=>{!e.placement&&v(BD.placement)&&BD.placement&&(e.placement=BD.placement),e.placement||=`top`,sX.includes(e.placement)||(Cd(`ElMessage`,`Invalid placement: ${e.placement}. Falling back to 'top'.`),e.placement=`top`)},SX=e=>{let t=!e||v(e)||l(e)||k(e)?{message:e}:e,n={...cX,...t};return bX(n),xX(n),ad(BD.grouping)&&!n.grouping&&(n.grouping=BD.grouping),od(BD.duration)&&n.duration===3e3&&(n.duration=BD.duration),od(BD.offset)&&n.offset===16&&(n.offset=BD.offset),ad(BD.showClose)&&!n.showClose&&(n.showClose=BD.showClose),ad(BD.plain)&&!n.plain&&(n.plain=BD.plain),n},CX=e=>{let t=dX[e.props.placement||`top`],n=t.indexOf(e);if(n===-1)return;t.splice(n,1);let{handler:r}=e;r.close()},wX=({appendTo:e,...t},n)=>{let r=`message_${yX++}`,i=t.onClose,a=document.createElement(`div`),o={...t,id:r,onClose:()=>{i?.(),CX(u)},onDestroy:()=>{Hn(null,a)}},s=q(vX,o,k(o.message)||l(o.message)?{default:k(o.message)?o.message:()=>o.message}:null);s.appContext=n||TX._context,Hn(s,a),e.appendChild(a.firstElementChild);let c=s.component,u={id:r,vnode:s,vm:c,handler:{close:()=>{c.exposed.close()}},props:s.component.props};return u},TX=(e={},t)=>{if(!Md)return{close:()=>void 0};let n=SX(e),r=fX(n.placement||`top`);if(n.grouping&&r.length){let e=r.find(({vnode:e})=>e.props?.message===n.message);if(e)return e.props.repeatNum+=1,e.props.type=n.type,e.handler}if(od(BD.max)&&r.length>=BD.max)return{close:()=>void 0};let i=wX(n,t);return r.push(i),i.handler};oX.forEach(e=>{TX[e]=(t={},n)=>TX({...SX(t),type:e},n)});function EX(e){for(let t in dX)if(ne(dX,t)){let n=[...dX[t]];for(let t of n)(!e||e===t.props.type)&&t.handler.close()}}function DX(e){dX[e]&&[...dX[e]].forEach(e=>e.handler.close())}TX.closeAll=EX,TX.closeAllByPlacement=DX,TX._context=null;var OX=av(TX,`$message`),kX=J({name:`ElMessageBox`,directives:{TrapFocus:lk},components:{ElButton:wO,ElFocusTrap:nE,ElInput:BE,ElOverlay:mI,ElIcon:$,...LC},inheritAttrs:!1,props:{buttonSize:{type:String,validator:DH},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:`body`},boxType:{type:String,default:``}},emits:[`vanish`,`action`],setup(e,{emit:t}){let{locale:n,zIndex:r,ns:i,size:a}=ID(`message-box`,U(()=>e.buttonSize)),{t:o}=n,{nextZIndex:s}=r,c=W(!1),l=Re({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:``,cancelButtonClass:``,confirmButtonText:``,confirmButtonClass:``,cancelButtonType:``,confirmButtonType:`primary`,customClass:``,customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:``,closeIcon:``,inputPattern:null,inputPlaceholder:``,inputType:`text`,inputValue:``,inputValidator:void 0,inputErrorMessage:``,message:``,modalFade:!0,modalClass:``,showCancelButton:!1,showConfirmButton:!0,type:``,title:void 0,showInput:!1,action:``,confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:ue($b),cancelButtonLoadingIcon:ue($b),confirmButtonDisabled:!1,editorErrorMessage:``,validateError:!1,zIndex:s()}),u=U(()=>{let e=l.type;return{[i.bm(`icon`,e)]:e&&RC[e]}}),d=Th(),f=Th(),p=U(()=>{let e=l.type;return l.icon||e&&RC[e]||``}),m=U(()=>!!l.message),h=W(),g=W(),_=W(),y=W(),b=W(),x=U(()=>l.confirmButtonClass);z(()=>l.inputValue,async t=>{await O(),e.boxType===`prompt`&&t&&j()},{immediate:!0}),z(()=>c.value,t=>{t&&(e.boxType!==`prompt`&&(l.autofocus?_.value=b.value?.$el??h.value:_.value=h.value),l.zIndex=s()),e.boxType===`prompt`&&(t?O().then(()=>{y.value&&y.value.$el&&(l.autofocus?_.value=M()??h.value:_.value=h.value)}):(l.editorErrorMessage=``,l.validateError=!1))});let{isDragging:S}=Uf(h,g,U(()=>e.draggable),U(()=>e.overflow));A(async()=>{await O(),e.closeOnHashChange&&window.addEventListener(`hashchange`,C)}),Ce(()=>{e.closeOnHashChange&&window.removeEventListener(`hashchange`,C)});function C(){c.value&&(c.value=!1,O(()=>{l.action&&t(`action`,l.action)}))}let w=()=>{e.closeOnClickModal&&D(l.distinguishCancelAndClose?`close`:`cancel`)},T=yh(w),E=e=>{if(l.inputType!==`textarea`&&!y.value?.isComposing)return e.preventDefault(),D(`confirm`)},D=t=>{e.boxType===`prompt`&&t===`confirm`&&!j()||(l.action=t,l.beforeClose?l.beforeClose?.(t,l,C):C())},j=()=>{if(e.boxType===`prompt`){let e=l.inputPattern;if(e&&!e.test(l.inputValue||``))return l.editorErrorMessage=l.inputErrorMessage||o(`el.messagebox.error`),l.validateError=!0,!1;let t=l.inputValidator;if(k(t)){let e=t(l.inputValue);if(e===!1)return l.editorErrorMessage=l.inputErrorMessage||o(`el.messagebox.error`),l.validateError=!0,!1;if(v(e))return l.editorErrorMessage=e,l.validateError=!0,!1}}return l.editorErrorMessage=``,l.validateError=!1,!0},M=()=>{let e=y.value?.$refs;return e?.input??e?.textarea},N=()=>{D(`close`)},ee=()=>{e.closeOnPressEscape&&N()};return e.lockScroll&&dp(c,{ns:i}),{...Oe(l),ns:i,overlayEvent:T,visible:c,hasMessage:m,typeClass:u,contentId:d,inputId:f,btnSize:a,iconComponent:p,confirmButtonClasses:x,rootRef:h,focusStartRef:_,headerRef:g,inputRef:y,isDragging:S,confirmRef:b,doClose:C,handleClose:N,onCloseRequested:ee,handleWrapperClick:w,handleInputEnter:E,handleAction:D,t:o}}}),AX=[`aria-label`,`aria-describedby`],jX=[`aria-label`],MX=[`id`];function NX(t,n,i,a,o,s){let c=ie(`el-icon`),l=ie(`el-input`),u=ie(`el-button`),d=ie(`el-focus-trap`),f=ie(`el-overlay`);return S(),V(bt,{name:`fade-in-linear`,onAfterLeave:n[11]||=e=>t.$emit(`vanish`),persisted:``},{default:e(()=>[ge(q(f,{"z-index":t.zIndex,"overlay-class":[t.ns.is(`message-box`),t.modalClass],mask:t.modal},{default:e(()=>[K(`div`,{role:`dialog`,"aria-label":t.title,"aria-modal":`true`,"aria-describedby":t.showInput?void 0:t.contentId,class:L(`${t.ns.namespace.value}-overlay-message-box`),onClick:n[8]||=(...e)=>t.overlayEvent.onClick&&t.overlayEvent.onClick(...e),onMousedown:n[9]||=(...e)=>t.overlayEvent.onMousedown&&t.overlayEvent.onMousedown(...e),onMouseup:n[10]||=(...e)=>t.overlayEvent.onMouseup&&t.overlayEvent.onMouseup(...e)},[q(d,{loop:``,trapped:t.visible,"focus-trap-el":t.rootRef,"focus-start-el":t.focusStartRef,onReleaseRequested:t.onCloseRequested},{default:e(()=>[K(`div`,{ref:`rootRef`,class:L([t.ns.b(),t.customClass,t.ns.is(`draggable`,t.draggable),t.ns.is(`dragging`,t.isDragging),{[t.ns.m(`center`)]:t.center}]),style:I(t.customStyle),tabindex:`-1`,onClick:n[7]||=In(()=>{},[`stop`])},[t.title!==null&&t.title!==void 0?(S(),G(`div`,{key:0,ref:`headerRef`,class:L([t.ns.e(`header`),{"show-close":t.showClose}])},[K(`div`,{class:L(t.ns.e(`title`))},[t.iconComponent&&t.center?(S(),V(c,{key:0,class:L([t.ns.e(`status`),t.typeClass])},{default:e(()=>[(S(),V(F(t.iconComponent)))]),_:1},8,[`class`])):H(`v-if`,!0),K(`span`,null,R(t.title),1)],2),t.showClose?(S(),G(`button`,{key:0,type:`button`,class:L(t.ns.e(`headerbtn`)),"aria-label":t.t(`el.messagebox.close`),onClick:n[0]||=e=>t.handleAction(t.distinguishCancelAndClose?`close`:`cancel`),onKeydown:n[1]||=Rn(In(e=>t.handleAction(t.distinguishCancelAndClose?`close`:`cancel`),[`prevent`]),[`enter`])},[q(c,{class:L(t.ns.e(`close`))},{default:e(()=>[(S(),V(F(t.closeIcon||`close`)))]),_:1},8,[`class`])],42,jX)):H(`v-if`,!0)],2)):H(`v-if`,!0),K(`div`,{id:t.contentId,class:L(t.ns.e(`content`))},[K(`div`,{class:L(t.ns.e(`container`))},[t.iconComponent&&!t.center&&t.hasMessage?(S(),V(c,{key:0,class:L([t.ns.e(`status`),t.typeClass])},{default:e(()=>[(S(),V(F(t.iconComponent)))]),_:1},8,[`class`])):H(`v-if`,!0),t.hasMessage?(S(),G(`div`,{key:1,class:L(t.ns.e(`message`))},[r(t.$slots,`default`,{},()=>[t.dangerouslyUseHTMLString?(S(),V(F(t.showInput?`label`:`p`),{key:1,for:t.showInput?t.inputId:void 0,innerHTML:t.message},null,8,[`for`,`innerHTML`])):(S(),V(F(t.showInput?`label`:`p`),{key:0,for:t.showInput?t.inputId:void 0,textContent:R(t.message)},null,8,[`for`,`textContent`]))])],2)):H(`v-if`,!0)],2),ge(K(`div`,{class:L(t.ns.e(`input`))},[q(l,{id:t.inputId,ref:`inputRef`,modelValue:t.inputValue,"onUpdate:modelValue":n[2]||=e=>t.inputValue=e,type:t.inputType,placeholder:t.inputPlaceholder,"aria-invalid":t.validateError,class:L({invalid:t.validateError}),onKeydown:Rn(t.handleInputEnter,[`enter`])},null,8,[`id`,`modelValue`,`type`,`placeholder`,`aria-invalid`,`class`,`onKeydown`]),K(`div`,{class:L(t.ns.e(`errormsg`)),style:I({visibility:t.editorErrorMessage?`visible`:`hidden`})},R(t.editorErrorMessage),7)],2),[[Rt,t.showInput]])],10,MX),K(`div`,{class:L(t.ns.e(`btns`))},[t.showCancelButton?(S(),V(u,{key:0,type:t.cancelButtonType===`text`?``:t.cancelButtonType,text:t.cancelButtonType===`text`,loading:t.cancelButtonLoading,"loading-icon":t.cancelButtonLoadingIcon,class:L([t.cancelButtonClass]),round:t.roundButton,size:t.btnSize,onClick:n[3]||=e=>t.handleAction(`cancel`),onKeydown:n[4]||=Rn(In(e=>t.handleAction(`cancel`),[`prevent`]),[`enter`])},{default:e(()=>[ce(R(t.cancelButtonText||t.t(`el.messagebox.cancel`)),1)]),_:1},8,[`type`,`text`,`loading`,`loading-icon`,`class`,`round`,`size`])):H(`v-if`,!0),ge(q(u,{ref:`confirmRef`,type:t.confirmButtonType===`text`?``:t.confirmButtonType,text:t.confirmButtonType===`text`,loading:t.confirmButtonLoading,"loading-icon":t.confirmButtonLoadingIcon,class:L([t.confirmButtonClasses]),round:t.roundButton,disabled:t.confirmButtonDisabled,size:t.btnSize,onClick:n[5]||=e=>t.handleAction(`confirm`),onKeydown:n[6]||=Rn(In(e=>t.handleAction(`confirm`),[`prevent`]),[`enter`])},{default:e(()=>[ce(R(t.confirmButtonText||t.t(`el.messagebox.confirm`)),1)]),_:1},8,[`type`,`text`,`loading`,`loading-icon`,`class`,`round`,`disabled`,`size`]),[[Rt,t.showConfirmButton]])],2)],6)]),_:3},8,[`trapped`,`focus-trap-el`,`focus-start-el`,`onReleaseRequested`])],42,AX)]),_:3},8,[`z-index`,`overlay-class`,`mask`]),[[Rt,t.visible]])]),_:3})}var PX=eE(kX,[[`render`,NX]]),FX=new Map,IX=e=>{let t=document.body;return e.appendTo&&(v(e.appendTo)&&(t=document.querySelector(e.appendTo)),cd(e.appendTo)&&(t=e.appendTo),cd(t)||(Cd(`ElMessageBox`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),t=document.body)),t},LX=(e,t,n=null)=>{let r=q(PX,e,k(e.message)||l(e.message)?{default:k(e.message)?e.message:()=>e.message}:null);return r.appContext=n,Hn(r,t),IX(e).appendChild(t.firstElementChild),r.component},RX=()=>document.createElement(`div`),zX=(e,t)=>{let r=RX();e.onVanish=()=>{Hn(null,r),FX.delete(a)},e.onAction=t=>{let n=FX.get(a),r;r=e.showInput?{value:a.inputValue,action:t}:t,e.callback?e.callback(r,i.proxy):t===`cancel`||t===`close`?e.distinguishCancelAndClose&&t!==`cancel`?n.reject(`close`):n.reject(`cancel`):n.resolve(r)};let i=LX(e,r,t),a=i.proxy;for(let t in e)ne(e,t)&&!ne(a.$props,t)&&(t===`closeIcon`&&n(e[t])?a[t]=ue(e[t]):a[t]=e[t]);return a.visible=!0,a};function BX(e,t=null){if(!Md)return Promise.reject();let n;return v(e)||l(e)?e={message:e}:n=e.callback,new Promise((r,i)=>{let a=zX(e,t??BX._context);FX.set(a,{options:e,callback:n,resolve:r,reject:i})})}var VX=[`alert`,`confirm`,`prompt`],HX={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};VX.forEach(e=>{BX[e]=UX(e)});function UX(e){return(t,r,i,a)=>{let o=``;return n(r)?(i=r,o=``):o=id(r)?``:r,BX(Object.assign({title:o,message:t,type:``,...HX[e]},i,{boxType:e}),a)}}BX.close=()=>{FX.forEach((e,t)=>{t.doClose()}),FX.clear()},BX._context=null;var WX=BX;WX.install=e=>{WX._context=e._context,e.config.globalProperties.$msgbox=WX,e.config.globalProperties.$messageBox=WX,e.config.globalProperties.$alert=WX.alert,e.config.globalProperties.$confirm=WX.confirm,e.config.globalProperties.$prompt=WX.prompt};var GX=WX,KX=[`primary`,`success`,`info`,`warning`,`error`],qX=Z({customClass:{type:String,default:``},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:FC},id:{type:String,default:``},message:{type:X([String,Object,Function]),default:``},offset:{type:Number,default:0},onClick:{type:X(Function),default:()=>void 0},onClose:{type:X(Function),required:!0},position:{type:String,values:[`top-right`,`top-left`,`bottom-right`,`bottom-left`],default:`top-right`},showClose:{type:Boolean,default:!0},title:{type:String,default:``},type:{type:String,values:[...KX,``],default:``},zIndex:Number,closeIcon:{type:FC,default:py}}),JX={destroy:()=>!0},YX=[`id`],XX=[`textContent`],ZX={key:0},QX=[`innerHTML`],$X=J({name:`ElNotification`,__name:`notification`,props:qX,emits:JX,setup(t,{expose:n}){let i=t,{ns:a,zIndex:o}=ID(`notification`),{nextZIndex:s,currentZIndex:c}=o,l=W(!1),u,d=U(()=>{let e=i.type;return e&&RC[i.type]?a.m(e):``}),f=U(()=>i.type&&RC[i.type]||i.icon),p=U(()=>i.position.endsWith(`right`)?`right`:`left`),m=U(()=>i.position.startsWith(`top`)?`top`:`bottom`),h=U(()=>({[m.value]:`${i.offset}px`,zIndex:i.zIndex??c.value}));function g(){i.duration>0&&({stop:u}=Yd(()=>{l.value&&v()},i.duration))}function _(){u?.()}function v(){l.value=!1}function y(e){switch(mp(e)){case Y.delete:case Y.backspace:_();break;case Y.esc:l.value&&v();break;default:g();break}}return A(()=>{g(),s(),l.value=!0}),$d(document,`keydown`,y),n({visible:l,close:v}),(n,i)=>(S(),V(bt,{name:B(a).b(`fade`),onBeforeLeave:t.onClose,onAfterLeave:i[1]||=e=>n.$emit(`destroy`),persisted:``},{default:e(()=>[ge(K(`div`,{id:t.id,class:L([B(a).b(),t.customClass,p.value]),style:I(h.value),role:`alert`,onMouseenter:_,onMouseleave:g,onClick:i[0]||=(...e)=>t.onClick&&t.onClick(...e)},[f.value?(S(),V(B($),{key:0,class:L([B(a).e(`icon`),d.value])},{default:e(()=>[(S(),V(F(f.value)))]),_:1},8,[`class`])):H(`v-if`,!0),K(`div`,{class:L(B(a).e(`group`))},[K(`h2`,{class:L(B(a).e(`title`)),textContent:R(t.title)},null,10,XX),ge(K(`div`,{class:L(B(a).e(`content`)),style:I(t.title?void 0:{margin:0})},[r(n.$slots,`default`,{},()=>[t.dangerouslyUseHTMLString?(S(),G(xe,{key:1},[H(` Caution here, message could've been compromised, never use user's input as message `),K(`p`,{innerHTML:t.message},null,8,QX)],2112)):(S(),G(`p`,ZX,R(t.message),1))])],6),[[Rt,t.message]]),t.showClose?(S(),V(B($),{key:0,class:L(B(a).e(`closeBtn`)),onClick:In(v,[`stop`])},{default:e(()=>[(S(),V(F(t.closeIcon)))]),_:1},8,[`class`])):H(`v-if`,!0)],2)],46,YX),[[Rt,l.value]])]),_:3},8,[`name`,`onBeforeLeave`]))}}),eZ={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},tZ=16,nZ=1,rZ=function(e={},t){if(!Md)return{close:()=>void 0};(v(e)||l(e))&&(e={message:e});let n=e.position||`top-right`,r=e.offset||0;eZ[n].forEach(({vm:e})=>{r+=(e.el?.offsetHeight||0)+tZ}),r+=tZ;let i=`notification_${nZ++}`,a=e.onClose,o={...e,offset:r,id:i,onClose:()=>{iZ(i,n,a)}},s=document.body;cd(e.appendTo)?s=e.appendTo:v(e.appendTo)&&(s=document.querySelector(e.appendTo)),cd(s)||(Cd(`ElNotification`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),s=document.body);let c=document.createElement(`div`),u=q($X,o,k(o.message)?o.message:l(o.message)?()=>o.message:null);return u.appContext=id(t)?rZ._context:t,u.props.onDestroy=()=>{Hn(null,c)},Hn(u,c),eZ[n].push({vm:u}),s.appendChild(c.firstElementChild),{close:()=>{u.component.exposed.visible.value=!1}}};KX.forEach(e=>{rZ[e]=(t={},n)=>((v(t)||l(t))&&(t={message:t}),rZ({...t,type:e},n))});function iZ(e,t,n){let r=eZ[t],i=r.findIndex(({vm:t})=>t.component?.props.id===e);if(i===-1)return;let{vm:a}=r[i];if(!a)return;n?.(a);let o=a.el.offsetHeight,s=t.split(`-`)[0];r.splice(i,1);let c=r.length;if(!(c<1))for(let e=i;e{e.component.exposed.visible.value=!1})}function oZ(e=`top-right`){let t=eZ[e][0]?.vm.component?.props?.offset||0;for(let{vm:n}of eZ[e])n.component.props.offset=t,t+=(n.el?.offsetHeight||0)+tZ}rZ.closeAll=aZ,rZ.updateOffsets=oZ,rZ._context=null;var sZ=av(rZ,`$notify`),cZ=Z({trigger:mE.trigger,triggerKeys:mE.triggerKeys,placement:FI.placement,disabled:mE.disabled,visible:pE.visible,transition:pE.transition,popperOptions:FI.popperOptions,tabindex:FI.tabindex,content:pE.content,popperStyle:pE.popperStyle,popperClass:pE.popperClass,enterable:{...pE.enterable,default:!0},effect:{...pE.effect,default:`light`},teleported:pE.teleported,appendTo:pE.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),lZ={"update:visible":e=>ad(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},uZ=`onUpdate:visible`,dZ=J({name:`ElPopover`,__name:`popover`,props:cZ,emits:lZ,setup(t,{expose:n,emit:i}){let a=t,o=i,c=U(()=>a[uZ]),l=Q(`popover`),u=W(),d=U(()=>B(u)?.popperRef),f=U(()=>[{width:Hf(a.width)},a.popperStyle]),p=U(()=>[l.b(),a.popperClass,{[l.m(`plain`)]:!!a.content}]),m=U(()=>a.transition===`${l.namespace.value}-fade-in-linear`),h=()=>{u.value?.hide()},g=()=>{o(`before-enter`)},_=()=>{o(`before-leave`)},v=()=>{o(`after-enter`)},y=()=>{o(`update:visible`,!1),o(`after-leave`)};return n({popperRef:d,hide:h}),(n,i)=>(S(),V(B(DE),s({ref_key:`tooltipRef`,ref:u},n.$attrs,{trigger:t.trigger,"trigger-keys":t.triggerKeys,placement:t.placement,disabled:t.disabled,visible:t.visible,transition:t.transition,"popper-options":t.popperOptions,tabindex:t.tabindex,content:t.content,offset:t.offset,"show-after":t.showAfter,"hide-after":t.hideAfter,"auto-close":t.autoClose,"show-arrow":t.showArrow,"aria-label":t.title,effect:t.effect,enterable:t.enterable,"popper-class":p.value,"popper-style":f.value,teleported:t.teleported,"append-to":t.appendTo,persistent:t.persistent,"gpu-acceleration":m.value,"onUpdate:visible":c.value,onBeforeShow:g,onBeforeHide:_,onShow:v,onHide:y}),{content:e(()=>[t.title?(S(),G(`div`,{key:0,class:L(B(l).e(`title`)),role:`title`},R(t.title),3)):H(`v-if`,!0),r(n.$slots,`default`,{hide:h},()=>[ce(R(t.content),1)])]),default:e(()=>[n.$slots.reference?r(n.$slots,`reference`,{key:0}):H(`v-if`,!0)]),_:3},16,[`trigger`,`trigger-keys`,`placement`,`disabled`,`visible`,`transition`,`popper-options`,`tabindex`,`content`,`offset`,`show-after`,`hide-after`,`auto-close`,`show-arrow`,`aria-label`,`effect`,`enterable`,`popper-class`,`popper-style`,`teleported`,`append-to`,`persistent`,`gpu-acceleration`,`onUpdate:visible`]))}}),fZ=(e,t)=>{let n=(t.arg||t.value)?.popperRef;n&&(n.triggerRef=e)},pZ=ov({mounted(e,t){fZ(e,t)},updated(e,t){fZ(e,t)}},`popover`),mZ=iv(dZ,{directive:pZ}),hZ=`2.13.5`,gZ=(e=[])=>({version:hZ,install:(t,n)=>{t[Zn]||(t[Zn]=!0,e.forEach(e=>t.use(e)),n&&LD(n,t,!0))}}),_Z=[uv,HC,oD,jG,mD,hD,bD,xD,OD,kD,wO,TO,rj,ij,Sj,Cj,NM,DM,PM,Kj,qj,Jj,zM,tN,nN,GM,IN,BN,VD,KN,qN,JN,YN,XN,YF,KF,iI,aI,TI,EI,PI,IL,LL,RL,fR,wT,TT,$,xR,vR,BE,ER,FR,zR,lz,uz,dz,fz,gz,Kz,qz,mZ,fE,eB,uM,fM,dM,aB,cB,RM,tD,zA,BA,VA,GV,JV,YV,mH,vH,$N,rP,TH,EH,IH,vW,yW,AG,qG,JG,lA,YG,iA,rK,sK,cK,DE,TK,$K,lq,Pq,pJ,SJ,WJ,GJ,tY,nY,cY,yY,RY,zY],vZ=[qY,aX,OX,GX,sZ,pZ],yZ=gZ([..._Z,...vZ]);yZ.install,yZ.version;var bZ=yZ,xZ=typeof window<`u`,SZ,CZ=e=>SZ=e,wZ=Symbol();function TZ(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var EZ;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(EZ||={});var DZ=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function OZ(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function kZ(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){PZ(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function AZ(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function jZ(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var MZ=typeof navigator==`object`?navigator:{userAgent:``},NZ=/Macintosh/.test(MZ.userAgent)&&/AppleWebKit/.test(MZ.userAgent)&&!/Safari/.test(MZ.userAgent),PZ=xZ?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!NZ?FZ:`msSaveOrOpenBlob`in MZ?IZ:LZ:()=>{};function FZ(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?jZ(r):AZ(r.href)?kZ(e,t,n):(r.target=`_blank`,jZ(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){jZ(r)},0))}function IZ(e,t=`download`,n){if(typeof e==`string`)if(AZ(e))kZ(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){jZ(t)})}else navigator.msSaveOrOpenBlob(OZ(e,n),t)}function LZ(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return kZ(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(DZ.HTMLElement))||`safari`in DZ,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||NZ)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:RZ}=Object;function zZ(){let e=Be(!0),t=e.run(()=>W({})),n=[],r=[],i=ue({install(e){CZ(i),i._a=e,e.provide(wZ,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var BZ=()=>{};function VZ(e,t,n,r=BZ){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Ae()&&Me(i),i}function HZ(e,...t){e.forEach(e=>{e(...t)})}var UZ=e=>e(),WZ=Symbol(),GZ=Symbol();function KZ(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];TZ(i)&&TZ(r)&&e.hasOwnProperty(n)&&!Se(r)&&!Ie(r)?e[n]=KZ(i,r):e[n]=r}return e}var qZ=Symbol();function JZ(e){return!TZ(e)||!Object.prototype.hasOwnProperty.call(e,qZ)}var{assign:YZ}=Object;function XZ(e){return!!(Se(e)&&e.effect)}function ZZ(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),YZ(Oe(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=ue(U(()=>{CZ(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=QZ(e,l,t,n,r,!0),c}function QZ(e,t,n={},r,i,a){let o,s=YZ({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={}),W({});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:EZ.patchFunction,storeId:e,events:void 0}):(KZ(r.state.value[e],t),n={type:EZ.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();O().then(()=>{m===i&&(l=!0)}),u=!0,HZ(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{YZ(e,t)})}:BZ;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(WZ in t)return t[GZ]=n,t;let i=function(){CZ(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}HZ(f,{args:n,name:i[GZ],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw HZ(o,e),e}return l instanceof Promise?l.then(e=>(HZ(a,e),e)).catch(e=>(HZ(o,e),Promise.reject(e))):(HZ(a,l),l)};return i[WZ]=!0,i[GZ]=n,i},y=Re({_p:r,$id:e,$onAction:VZ.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=VZ(d,t,n.detached,()=>a()),a=o.run(()=>z(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:EZ.direct,events:void 0},r)},YZ({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||UZ)(()=>r._e.run(()=>(o=Be()).run(()=>t({action:v}))));for(let t in b){let n=b[t];Se(n)&&!XZ(n)||Ie(n)?a||(p&&JZ(n)&&(Se(n)?n.value=p[t]:KZ(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return YZ(y,b),YZ(_e(y),b),Object.defineProperty(y,`$state`,{get:()=>r.state.value[e],set:e=>{h(t=>{YZ(t,e)})}}),r._p.forEach(e=>{YZ(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function $Z(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Ue();return n||=o?P(wZ,null):null,n&&CZ(n),n=SZ,n._s.has(e)||(i?QZ(e,t,r,n):ZZ(e,r,n)),n._s.get(e)}return a.$id=e,a}var eQ=typeof document<`u`;function tQ(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function nQ(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&tQ(e.default)}var rQ=Object.assign;function iQ(e,t){let n={};for(let r in t){let i=t[r];n[r]=oQ(i)?i.map(e):e(i)}return n}var aQ=()=>{},oQ=Array.isArray;function sQ(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var cQ=/#/g,lQ=/&/g,uQ=/\//g,dQ=/=/g,fQ=/\?/g,pQ=/\+/g,mQ=/%5B/g,hQ=/%5D/g,gQ=/%5E/g,_Q=/%60/g,vQ=/%7B/g,yQ=/%7C/g,bQ=/%7D/g,xQ=/%20/g;function SQ(e){return e==null?``:encodeURI(``+e).replace(yQ,`|`).replace(mQ,`[`).replace(hQ,`]`)}function CQ(e){return SQ(e).replace(vQ,`{`).replace(bQ,`}`).replace(gQ,`^`)}function wQ(e){return SQ(e).replace(pQ,`%2B`).replace(xQ,`+`).replace(cQ,`%23`).replace(lQ,`%26`).replace(_Q,"`").replace(vQ,`{`).replace(bQ,`}`).replace(gQ,`^`)}function TQ(e){return wQ(e).replace(dQ,`%3D`)}function EQ(e){return SQ(e).replace(cQ,`%23`).replace(fQ,`%3F`)}function DQ(e){return EQ(e).replace(uQ,`%2F`)}function OQ(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var kQ=/\/$/,AQ=e=>e.replace(kQ,``);function jQ(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=zQ(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:OQ(o)}}function MQ(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function NQ(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function PQ(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&FQ(t.matched[r],n.matched[i])&&IQ(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function FQ(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function IQ(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!LQ(e[n],t[n]))return!1;return!0}function LQ(e,t){return oQ(e)?RQ(e,t):oQ(t)?RQ(t,e):e?.valueOf()===t?.valueOf()}function RQ(e,t){return oQ(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function zQ(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var BQ={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},VQ=function(e){return e.pop=`pop`,e.push=`push`,e}({}),HQ=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function UQ(e){if(!e)if(eQ){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),AQ(e)}var WQ=/^[^#]+#/;function GQ(e,t){return e.replace(WQ,`#`)+t}function KQ(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var qQ=()=>({left:window.scrollX,top:window.scrollY});function JQ(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=KQ(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function YQ(e,t){return(history.state?history.state.position-t:-1)+e}var XQ=new Map;function ZQ(e,t){XQ.set(e,t)}function QQ(e){let t=XQ.get(e);return XQ.delete(e),t}function $Q(e){return typeof e==`string`||e&&typeof e==`object`}function e$(e){return typeof e==`string`||typeof e==`symbol`}var t$=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),n$=Symbol(``);t$.MATCHER_NOT_FOUND,t$.NAVIGATION_GUARD_REDIRECT,t$.NAVIGATION_ABORTED,t$.NAVIGATION_CANCELLED,t$.NAVIGATION_DUPLICATED;function r$(e,t){return rQ(Error(),{type:e,[n$]:!0},t)}function i$(e,t){return e instanceof Error&&n$ in e&&(t==null||!!(e.type&t))}function a$(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&wQ(e)):[r&&wQ(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function s$(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=oQ(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var c$=Symbol(``),l$=Symbol(``),u$=Symbol(``),d$=Symbol(``),f$=Symbol(``);function p$(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function m$(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(r$(t$.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):$Q(e)?c(r$(t$.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function h$(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(tQ(s)){let c=(s.__vccOpts||s)[t];c&&a.push(m$(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=nQ(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&m$(c,n,r,o,e,i)()}))}}return a}function g$(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oFQ(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>FQ(e,s))||i.push(s))}return[n,r,i]}var _$=()=>location.protocol+`//`+location.host;function v$(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),NQ(n,``)}return NQ(n,e)+r+i}function y$(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=v$(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:VQ.pop,direction:u?u>0?HQ.forward:HQ.back:HQ.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(rQ({},e.state,{scroll:qQ()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function b$(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?qQ():null}}function x$(e){let{history:t,location:n}=window,r={value:v$(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:_$()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,rQ({},t.state,b$(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=rQ({},i.value,t.state,{forward:e,scroll:qQ()});a(o.current,o,!0),a(e,rQ({},b$(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function S$(e){e=UQ(e);let t=x$(e),n=y$(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=rQ({location:``,base:e,go:r,createHref:GQ.bind(null,e)},t,n);return Object.defineProperty(i,`location`,{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,`state`,{enumerable:!0,get:()=>t.state.value}),i}var C$=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),w$=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(w$||{}),T$={type:C$.Static,value:``},E$=/[a-zA-Z0-9_]/;function D$(e){if(!e)return[[]];if(e===`/`)return[[T$]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=w$.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===w$.Static?a.push({type:C$.Static,value:l}):n===w$.Param||n===w$.ParamRegExp||n===w$.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:C$.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===A$.Static+A$.Segment?1:-1:0}function P$(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var I$={strict:!1,end:!0,sensitive:!1};function L$(e,t,n){let r=rQ(M$(D$(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function R$(e,t){let n=[],r=new Map;t=sQ(I$,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=B$(e);s.aliasOf=r&&r.record;let l=sQ(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(B$(rQ({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=L$(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!H$(d)&&o(e.name)),K$(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:aQ}function o(e){if(e$(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=W$(e,n);n.splice(t,0,e),e.record.name&&!H$(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw r$(t$.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=rQ(z$(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&z$(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw r$(t$.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=rQ({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:U$(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function z$(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function B$(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:V$(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,`mods`,{value:{}}),t}function V$(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function H$(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function U$(e){return e.reduce((e,t)=>rQ(e,t.meta),{})}function W$(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;P$(e,t[i])<0?r=i:n=i+1}let i=G$(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function G$(e){let t=e;for(;t=t.parent;)if(K$(t)&&P$(e,t)===0)return t}function K$({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function q$(e){let t=P(u$),n=P(d$),r=U(()=>{let n=B(e.to);return t.resolve(n)}),i=U(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(FQ.bind(null,i));if(o>-1)return o;let s=Q$(e[t-2]);return t>1&&Q$(i)===s&&a[a.length-1].path!==s?a.findIndex(FQ.bind(null,e[t-2])):o}),a=U(()=>i.value>-1&&Z$(n.params,r.value.params)),o=U(()=>i.value>-1&&i.value===n.matched.length-1&&IQ(n.params,r.value.params));function s(n={}){if(X$(n)){let n=t[B(e.replace)?`replace`:`push`](B(e.to)).catch(aQ);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:U(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function J$(e){return e.length===1?e[0]:e}var Y$=J({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:q$,setup(e,{slots:t}){let n=Re(q$(e)),{options:r}=P(u$),i=U(()=>({[$$(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[$$(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&J$(t.default(n));return e.custom?r:a(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function X$(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Z$(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!oQ(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Q$(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var $$=(e,t,n)=>e??t??n,e1=J({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=P(f$),i=U(()=>e.route||r.value),o=P(l$,0),s=U(()=>{let e=B(o),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),c=U(()=>i.value.matched[s.value]);N(l$,U(()=>s.value+1)),N(c$,c),N(f$,i);let l=W();return z(()=>[l.value,c.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!FQ(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,o=e.name,s=c.value,u=s&&s.components[o];if(!u)return t1(n.default,{Component:u,route:r});let d=s.props[o],f=a(u,rQ({},d?d===!0?r.params:typeof d==`function`?d(r):d:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[o]=null)},ref:l}));return t1(n.default,{Component:f,route:r})||f}}});function t1(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var n1=e1;function r1(e){let t=R$(e.routes,e),n=e.parseQuery||a$,r=e.stringifyQuery||o$,i=e.history,a=p$(),o=p$(),s=p$(),c=he(BQ),l=BQ;eQ&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=iQ.bind(null,e=>``+e),d=iQ.bind(null,DQ),f=iQ.bind(null,OQ);function p(e,n){let r,i;return e$(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=rQ({},a||c.value),typeof e==`string`){let r=jQ(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return rQ(r,o,{params:f(o.params),hash:OQ(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=rQ({},e,{path:jQ(n,e.path,a.path).path});else{let t=rQ({},e.params);for(let e in t)t[e]??delete t[e];o=rQ({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=MQ(r,rQ({},e,{hash:CQ(l),path:s.path})),m=i.createHref(p);return rQ({fullPath:p,hash:l,query:r===o$?s$(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?jQ(n,e,c.value.path):rQ({},e)}function y(e,t){if(l!==e)return r$(t$.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(rQ(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),rQ({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(rQ(v(u),{state:typeof u==`object`?rQ({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&PQ(r,i,n)&&(f=r$(t$.NAVIGATION_DUPLICATED,{to:d,from:i}),re(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>i$(e)?i$(e,t$.NAVIGATION_GUARD_REDIRECT)?e:P(e):te(e,d,i)).then(e=>{if(e){if(i$(e,t$.NAVIGATION_GUARD_REDIRECT))return C(rQ({replace:s},v(e.to),{state:typeof e.to==`object`?rQ({},a,e.to.state):a,force:o}),t||d)}else e=k(d,i,!0,s,a);return D(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ie.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=g$(e,t);n=h$(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(m$(r,e,t))});let c=w.bind(null,e,t);return n.push(c),ae(n).then(()=>{n=[];for(let r of a.list())n.push(m$(r,e,t));return n.push(c),ae(n)}).then(()=>{n=h$(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(m$(r,e,t))});return n.push(c),ae(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(oQ(r.beforeEnter))for(let i of r.beforeEnter)n.push(m$(i,e,t));else n.push(m$(r.beforeEnter,e,t));return n.push(c),ae(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=h$(s,`beforeRouteEnter`,e,t,T),n.push(c),ae(n))).then(()=>{n=[];for(let r of o.list())n.push(m$(r,e,t));return n.push(c),ae(n)}).catch(e=>i$(e,t$.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function D(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function k(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===BQ,l=eQ?history.state:{};n&&(r||s?i.replace(e.fullPath,rQ({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,re(e,t,n,s),P()}let A;function j(){A||=i.listen((e,t,n)=>{if(!L.listening)return;let r=_(e),a=S(r,L.currentRoute.value);if(a){C(rQ(a,{replace:!0,force:!0}),r).catch(aQ);return}l=r;let o=c.value;eQ&&ZQ(YQ(o.fullPath,n.delta),qQ()),E(r,o).catch(e=>i$(e,t$.NAVIGATION_ABORTED|t$.NAVIGATION_CANCELLED)?e:i$(e,t$.NAVIGATION_GUARD_REDIRECT)?(C(rQ(v(e.to),{force:!0}),r).then(e=>{i$(e,t$.NAVIGATION_ABORTED|t$.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===VQ.pop&&i.go(-1,!1)}).catch(aQ),Promise.reject()):(n.delta&&i.go(-n.delta,!1),te(e,r,o))).then(e=>{e||=k(r,o,!1),e&&(n.delta&&!i$(e,t$.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===VQ.pop&&i$(e,t$.NAVIGATION_ABORTED|t$.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),D(r,o,e)}).catch(aQ)})}let M=p$(),N=p$(),ee;function te(e,t,n){P(e);let r=N.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function ne(){return ee&&c.value!==BQ?Promise.resolve():new Promise((e,t)=>{M.add([e,t])})}function P(e){return ee||(ee=!e,j(),M.list().forEach(([t,n])=>e?n(e):t()),M.reset()),e}function re(t,n,r,i){let{scrollBehavior:a}=e;if(!eQ||!a)return Promise.resolve();let o=!r&&QQ(YQ(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return O().then(()=>a(t,n,o)).then(e=>e&&JQ(e)).catch(e=>te(e,t,n))}let F=e=>i.go(e),I,ie=new Set,L={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:F,back:()=>F(-1),forward:()=>F(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:N.add,isReady:ne,install(e){e.component(`RouterLink`,Y$),e.component(`RouterView`,n1),e.config.globalProperties.$router=L,Object.defineProperty(e.config.globalProperties,`$route`,{enumerable:!0,get:()=>B(c)}),eQ&&!I&&c.value===BQ&&(I=!0,b(i.location).catch(e=>{}));let t={};for(let e in BQ)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(u$,L),e.provide(d$,Ve(t)),e.provide(f$,c);let n=e.unmount;ie.add(e),e.unmount=function(){ie.delete(e),ie.size<1&&(l=BQ,A&&A(),A=null,c.value=BQ,I=!1,ee=!1),n()}}};function ae(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return L}function i1(){return P(u$)}function a1(e){return P(d$)}var o1=ot(rt(((e,t)=>{(function(n,r){typeof define==`function`&&define.amd?define(r):typeof e==`object`?t.exports=r():n.NProgress=r()})(e,function(){var e={};e.version=`0.2.0`;var t=e.settings={minimum:.08,easing:`ease`,positionUsing:``,speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:`[role="bar"]`,spinnerSelector:`[role="spinner"]`,parent:`body`,template:`
`};e.configure=function(e){var n,r;for(n in e)r=e[n],r!==void 0&&e.hasOwnProperty(n)&&(t[n]=r);return this},e.status=null,e.set=function(r){var s=e.isStarted();r=n(r,t.minimum,1),e.status=r===1?null:r;var c=e.render(!s),l=c.querySelector(t.barSelector),u=t.speed,d=t.easing;return c.offsetWidth,a(function(n){t.positionUsing===``&&(t.positionUsing=e.getPositioningCSS()),o(l,i(r,u,d)),r===1?(o(c,{transition:`none`,opacity:1}),c.offsetWidth,setTimeout(function(){o(c,{transition:`all `+u+`ms linear`,opacity:0}),setTimeout(function(){e.remove(),n()},u)},u)):setTimeout(n,u)}),this},e.isStarted=function(){return typeof e.status==`number`},e.start=function(){e.status||e.set(0);var n=function(){setTimeout(function(){e.status&&(e.trickle(),n())},t.trickleSpeed)};return t.trickle&&n(),this},e.done=function(t){return!t&&!e.status?this:e.inc(.3+.5*Math.random()).set(1)},e.inc=function(t){var r=e.status;return r?(typeof t!=`number`&&(t=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+t,0,.994),e.set(r)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},(function(){var t=0,n=0;e.promise=function(r){return!r||r.state()===`resolved`?this:(n===0&&e.start(),t++,n++,r.always(function(){n--,n===0?(t=0,e.done()):e.set((t-n)/t)}),this)}})(),e.render=function(n){if(e.isRendered())return document.getElementById(`nprogress`);c(document.documentElement,`nprogress-busy`);var i=document.createElement(`div`);i.id=`nprogress`,i.innerHTML=t.template;var a=i.querySelector(t.barSelector),s=n?`-100`:r(e.status||0),l=document.querySelector(t.parent),u;return o(a,{transition:`all 0 linear`,transform:`translate3d(`+s+`%,0,0)`}),t.showSpinner||(u=i.querySelector(t.spinnerSelector),u&&d(u)),l!=document.body&&c(l,`nprogress-custom-parent`),l.appendChild(i),i},e.remove=function(){l(document.documentElement,`nprogress-busy`),l(document.querySelector(t.parent),`nprogress-custom-parent`);var e=document.getElementById(`nprogress`);e&&d(e)},e.isRendered=function(){return!!document.getElementById(`nprogress`)},e.getPositioningCSS=function(){var e=document.body.style,t=`WebkitTransform`in e?`Webkit`:`MozTransform`in e?`Moz`:`msTransform`in e?`ms`:`OTransform`in e?`O`:``;return t+`Perspective`in e?`translate3d`:t+`Transform`in e?`translate`:`margin`};function n(e,t,n){return en?n:e}function r(e){return(-1+e)*100}function i(e,n,i){var a=t.positionUsing===`translate3d`?{transform:`translate3d(`+r(e)+`%,0,0)`}:t.positionUsing===`translate`?{transform:`translate(`+r(e)+`%,0)`}:{"margin-left":r(e)+`%`};return a.transition=`all `+n+`ms `+i,a}var a=(function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),e.length==1&&t()}})(),o=(function(){var e=[`Webkit`,`O`,`Moz`,`ms`],t={};function n(e){return e.replace(/^-ms-/,`ms-`).replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})}function r(t){var n=document.body.style;if(t in n)return t;for(var r=e.length,i=t.charAt(0).toUpperCase()+t.slice(1),a;r--;)if(a=e[r]+i,a in n)return a;return t}function i(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=i(t),e.style[t]=n}return function(e,t){var n=arguments,r,i;if(n.length==2)for(r in t)i=t[r],i!==void 0&&t.hasOwnProperty(r)&&a(e,r,i);else a(e,n[1],n[2])}})();function s(e,t){return(typeof e==`string`?e:u(e)).indexOf(` `+t+` `)>=0}function c(e,t){var n=u(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function l(e,t){var n=u(e),r;s(e,t)&&(r=n.replace(` `+t+` `,` `),e.className=r.substring(1,r.length-1))}function u(e){return(` `+(e.className||``)+` `).replace(/\s+/gi,` `)}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return e})}))(),1),s1=[{path:`/login`,name:`Login`,component:()=>Xe(()=>import(`./login-yCCWUWEu.js`),__vite__mapDeps([0,1,2,3,4,5])),meta:{title:`登录`,hidden:!0}},{path:`/register`,name:`Register`,component:()=>Xe(()=>import(`./register-DkbZcE0x.js`),__vite__mapDeps([6,2,5])),meta:{title:`员工注册`,hidden:!0}},{path:`/404`,name:`NotFound`,component:()=>Xe(()=>import(`./404-BTD8CAKp.js`),__vite__mapDeps([7,2,8])),meta:{title:`页面不存在`,hidden:!0}}];o1.default.configure({showSpinner:!1});var c1=r1({history:S$(),routes:s1,scrollBehavior(e,t,n){return n||{top:0}}}),l1=[`/login`,`/register`,`/404`];c1.beforeEach(async(e,t,n)=>{o1.default.start();let{useUserStore:r}=await Xe(async()=>{let{useUserStore:e}=await import(`./user-DwrZIuIR.js`).then(e=>e.n);return{useUserStore:e}},__vite__mapDeps([3,2,4,5])),{usePermissionStore:i}=await Xe(async()=>{let{usePermissionStore:e}=await import(`./permission-Dd6fKlgM.js`);return{usePermissionStore:e}},__vite__mapDeps([9,10,2])),a=r(),o=i();if(a.token)if(e.path===`/login`)n({path:`/`});else if(a.userInfo)n();else try{await a.getInfo(),o.generateRoutes(a.menus).forEach(e=>c1.addRoute(e)),n({...e,replace:!0})}catch{await a.logout(),n(`/login?redirect=${e.path}`)}else l1.includes(e.path)?n():n(`/login?redirect=${e.path}`)}),c1.afterEach(()=>{o1.default.done()});var u1=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},d1={};function f1(e,t){let n=ie(`router-view`);return S(),V(n)}var p1=Un(u1(d1,[[`render`,f1]]));for(let[e,t]of Object.entries(dv))p1.component(e,t);p1.use(zZ()),p1.use(c1),p1.use(bZ),p1.mount(`#app`);export{$Z as a,bt as c,it as d,i1 as i,Rn as l,s1 as n,GX as o,a1 as r,OX as s,u1 as t,In as u}; \ No newline at end of file +`||t===`\r`){o=e;continue}if(a.includes(t)){let n=o===-1?r:o;s={pattern:i.slice(e+1,n),start:e+1,end:n,prefix:t,prefixIndex:e,splitIndex:o,selectionEnd:r};break}}return s},dY=(e,t={debug:!1,useSelectionEnd:!1})=>{let n=e.selectionStart===null?0:e.selectionStart,r=e.selectionEnd===null?0:e.selectionEnd,i=t.useSelectionEnd?r:n,a=`direction.boxSizing.width.height.overflowX.overflowY.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.fontSizeAdjust.lineHeight.fontFamily.textAlign.textTransform.textIndent.textDecoration.letterSpacing.wordSpacing.tabSize.MozTabSize`.split(`.`);if(t.debug){let e=document.querySelector(`#input-textarea-caret-position-mirror-div`);e?.parentNode&&e.parentNode.removeChild(e)}let o=document.createElement(`div`);o.id=`input-textarea-caret-position-mirror-div`,document.body.appendChild(o);let s=o.style,c=window.getComputedStyle(e),l=e.nodeName===`INPUT`;s.whiteSpace=l?`nowrap`:`pre-wrap`,l||(s.wordWrap=`break-word`),s.position=`absolute`,t.debug||(s.visibility=`hidden`),a.forEach(e=>{if(l&&e===`lineHeight`)if(c.boxSizing===`border-box`){let e=Number.parseInt(c.height),t=Number.parseInt(c.paddingTop)+Number.parseInt(c.paddingBottom)+Number.parseInt(c.borderTopWidth)+Number.parseInt(c.borderBottomWidth),n=t+Number.parseInt(c.lineHeight);e>n?s.lineHeight=`${e-t}px`:e===n?s.lineHeight=c.lineHeight:s.lineHeight=`0`}else s.lineHeight=c.height;else s[e]=c[e]}),jf()?e.scrollHeight>Number.parseInt(c.height)&&(s.overflowY=`scroll`):s.overflow=`hidden`,o.textContent=e.value.slice(0,Math.max(0,i)),l&&o.textContent&&(o.textContent=o.textContent.replace(/\s/g,`\xA0`));let u=document.createElement(`span`);u.textContent=e.value.slice(Math.max(0,i))||`.`,u.style.position=`relative`,u.style.left=`${-e.scrollLeft}px`,u.style.top=`${-e.scrollTop}px`,o.appendChild(u);let d={top:u.offsetTop+Number.parseInt(c.borderTopWidth),left:u.offsetLeft+Number.parseInt(c.borderLeftWidth),height:Number.parseInt(c.fontSize)*1.5};return t.debug?u.style.backgroundColor=`#aaa`:document.body.removeChild(o),d.left>=e.clientWidth&&(d.left=e.clientWidth),d},fY=Z({...kE,options:{type:X(Array),default:()=>[]},prefix:{type:X([String,Array]),default:`@`,validator:e=>v(e)?e.length===1:e.every(e=>v(e)&&e.length===1)},split:{type:String,default:` `,validator:e=>e.length===1},filterOption:{type:X([Boolean,Function]),default:()=>lY,validator:e=>e===!1?!0:k(e)},placement:{type:X(String),default:`bottom`},showArrow:Boolean,offset:{type:Number,default:0},whole:Boolean,checkIsWhole:{type:X(Function)},modelValue:String,loading:Boolean,popperClass:pE.popperClass,popperStyle:pE.popperStyle,popperOptions:{type:X(Object),default:()=>({})},props:{type:X(Object),default:()=>mY}}),pY={[Jn]:e=>v(e),"whole-remove":(e,t)=>v(e)&&v(t),input:e=>v(e),search:(e,t)=>v(e)&&v(t),select:(e,t)=>n(e)&&v(t),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},mY={value:`value`,label:`label`,disabled:`disabled`},hY=Z({options:{type:X(Array),default:()=>[]},loading:Boolean,disabled:Boolean,contentId:String,ariaLabel:String}),gY={select:e=>v(e.value)},_Y=[`id`,`aria-disabled`,`aria-selected`,`onMousemove`,`onClick`],vY=J({name:`ElMentionDropdown`,__name:`mention-dropdown`,props:hY,emits:gY,setup(t,{expose:n,emit:i}){let a=t,o=i,s=Q(`mention`),{t:c}=Yf(),l=W(-1),u=W(),d=W(),f=W(),p=(e,t)=>[s.be(`dropdown`,`item`),s.is(`hovering`,l.value===t),s.is(`disabled`,e.disabled||a.disabled)],m=e=>{e.disabled||a.disabled||o(`select`,e)},h=e=>{l.value=e},g=U(()=>a.disabled||a.options.every(e=>e.disabled)),_=U(()=>a.options[l.value]),v=()=>{!_.value||_.value.disabled||a.disabled||o(`select`,_.value)},y=e=>{let{options:t}=a;if(t.length===0||g.value)return;e===`next`?(l.value++,l.value===t.length&&(l.value=0)):e===`prev`&&(l.value--,l.value<0&&(l.value=t.length-1));let n=t[l.value];if(n.disabled){y(e);return}O(()=>b(n))},b=e=>{let{options:t}=a,n=t.findIndex(t=>t.value===e.value),r=d.value?.[n];if(r){let e=f.value?.querySelector?.(`.${s.be(`dropdown`,`wrap`)}`);e&&sp(e,r)}u.value?.handleScroll()};return z(()=>a.options,()=>{g.value||a.options.length===0?l.value=-1:l.value=a.options.findIndex(e=>!e.disabled)},{immediate:!0}),n({hoveringIndex:l,navigateOptions:y,selectHoverOption:v,hoverOption:_}),(n,i)=>(S(),G(`div`,{ref_key:`dropdownRef`,ref:f,class:L(B(s).b(`dropdown`))},[n.$slots.header?(S(),G(`div`,{key:0,class:L(B(s).be(`dropdown`,`header`))},[r(n.$slots,`header`)],2)):H(`v-if`,!0),ge(q(B(tD),{id:t.contentId,ref_key:`scrollbarRef`,ref:u,tag:`ul`,"wrap-class":B(s).be(`dropdown`,`wrap`),"view-class":B(s).be(`dropdown`,`list`),role:`listbox`,"aria-label":t.ariaLabel,"aria-orientation":`vertical`},{default:e(()=>[(S(!0),G(xe,null,Je(t.options,(e,i)=>(S(),G(`li`,{id:`${t.contentId}-${i}`,ref_for:!0,ref_key:`optionRefs`,ref:d,key:i,class:L(p(e,i)),role:`option`,"aria-disabled":e.disabled||t.disabled||void 0,"aria-selected":l.value===i,onMousemove:e=>h(i),onClick:In(t=>m(e),[`stop`])},[r(n.$slots,`label`,{item:e,index:i},()=>[K(`span`,null,R(e.label??e.value),1)])],42,_Y))),128))]),_:3},8,[`id`,`wrap-class`,`view-class`,`aria-label`]),[[Rt,t.options.length>0&&!t.loading]]),t.loading?(S(),G(`div`,{key:1,class:L(B(s).be(`dropdown`,`loading`))},[r(n.$slots,`loading`,{},()=>[ce(R(B(c)(`el.mention.loading`)),1)])],2)):H(`v-if`,!0),n.$slots.footer?(S(),G(`div`,{key:2,class:L(B(s).be(`dropdown`,`footer`))},[r(n.$slots,`footer`)],2)):H(`v-if`,!0)],2))}}),yY=iv(J({name:`ElMention`,inheritAttrs:!1,__name:`mention`,props:fY,emits:pY,setup(t,{expose:n,emit:i}){let a=t,o=i,c=U(()=>Xu(a,Object.keys(kE))),l=Q(`mention`),u=uw(),d=Th(),f=W(),p=W(),m=W(),h=W(!1),_=W(),v=W(),y=U(()=>a.showArrow?a.placement:`${a.placement}-start`),b=U(()=>a.showArrow?[`bottom`,`top`]:[`bottom-start`,`top-start`]),x=U(()=>({...mY,...a.props})),C=e=>{let t={label:e[x.value.label],value:e[x.value.value],disabled:e[x.value.disabled]};return{...e,...t}},w=U(()=>a.options.map(C)),T=U(()=>{let{filterOption:e}=a;return!v.value||!e?w.value:w.value.filter(t=>e(v.value.pattern,t))}),E=U(()=>h.value&&(!!T.value.length||a.loading)),D=U(()=>`${d.value}-${m.value?.hoveringIndex}`),A=e=>{o(Jn,e),o(Xn,e),re()},j=e=>{if(f.value?.isComposing)return;let t=mp(e);switch(t){case Y.left:case Y.right:re();break;case Y.up:case Y.down:if(!h.value)return;e.preventDefault(),m.value?.navigateOptions(t===Y.up?`prev`:`next`);break;case Y.enter:case Y.numpadEnter:if(!h.value){a.type!==`textarea`&&re();return}e.preventDefault(),m.value?.hoverOption?m.value?.selectHoverOption():h.value=!1;break;case Y.esc:if(!h.value)return;e.preventDefault(),h.value=!1;break;case Y.backspace:if(a.whole&&v.value){let{splitIndex:t,selectionEnd:n,pattern:r,prefixIndex:i,prefix:s}=v.value,c=P();if(!c)return;let l=c.value,u=w.value.find(e=>e.value===r);if((k(a.checkIsWhole)?a.checkIsWhole(r,s):u)&&t!==-1&&t+1===n){e.preventDefault();let n=l.slice(0,i)+l.slice(t+1);o(Jn,n),o(Xn,n),o(`whole-remove`,r,s);let a=i;O(()=>{c.selectionStart=a,c.selectionEnd=a,ie()})}}}},{wrapperRef:M}=q_(f,{disabled:u,afterFocus(){re()},beforeBlur(e){return p.value?.isFocusInsideContent(e)},afterBlur(){h.value=!1}}),N=()=>{re()},ee=e=>a.options.find(t=>e.value===t[x.value.value]),ne=e=>{if(!v.value)return;let t=P();if(!t)return;let n=t.value,{split:r}=a,i=n.slice(v.value.end),s=i.startsWith(r),c=`${e.value}${s?``:r}`,l=n.slice(0,v.value.start)+c+i;o(Jn,l),o(Xn,l),o(`select`,ee(e),v.value.prefix);let u=v.value.start+c.length+(s?1:0);O(()=>{t.selectionStart=u,t.selectionEnd=u,t.focus(),ie()})},P=()=>a.type===`textarea`?f.value?.textarea:f.value?.input,re=()=>{setTimeout(()=>{F(),ie(),O(()=>p.value?.updatePopper())},0)},F=()=>{let e=P();if(!e)return;let t=dY(e),n=e.getBoundingClientRect(),r=M.value.getBoundingClientRect();_.value={position:`absolute`,width:0,height:`${t.height}px`,left:`${t.left+n.left-r.left}px`,top:`${t.top+n.top-r.top}px`}},ie=()=>{let e=P();if(document.activeElement!==e){h.value=!1;return}let{prefix:t,split:n}=a;if(v.value=uY(e,t,n),v.value&&v.value.splitIndex===-1){h.value=!0,o(`search`,v.value.pattern,v.value.prefix);return}h.value=!1};return n({input:f,tooltip:p,dropdownVisible:E}),(n,i)=>(S(),G(`div`,{ref_key:`wrapperRef`,ref:M,class:L(B(l).b())},[q(B(BE),s(s(c.value,n.$attrs),{ref_key:`elInputRef`,ref:f,"model-value":t.modelValue,disabled:B(u),role:E.value?`combobox`:void 0,"aria-activedescendant":E.value?D.value||``:void 0,"aria-controls":E.value?B(d):void 0,"aria-expanded":E.value||void 0,"aria-label":t.ariaLabel,"aria-autocomplete":E.value?`none`:void 0,"aria-haspopup":E.value?`listbox`:void 0,onInput:A,onKeydown:j,onMousedown:N}),ye({_:2},[Je(n.$slots,(t,i)=>({name:i,fn:e(e=>[r(n.$slots,i,g(te(e)))])}))]),1040,[`model-value`,`disabled`,`role`,`aria-activedescendant`,`aria-controls`,`aria-expanded`,`aria-label`,`aria-autocomplete`,`aria-haspopup`]),q(B(DE),{ref_key:`tooltipRef`,ref:p,visible:E.value,"popper-class":[B(l).e(`popper`),t.popperClass],"popper-style":t.popperStyle,"popper-options":t.popperOptions,placement:y.value,"fallback-placements":b.value,effect:`light`,pure:``,offset:t.offset,"show-arrow":t.showArrow},{default:e(()=>[K(`div`,{style:I(_.value)},null,4)]),content:e(()=>[q(vY,{ref_key:`dropdownRef`,ref:m,options:T.value,disabled:B(u),loading:t.loading,"content-id":B(d),"aria-label":t.ariaLabel,onSelect:ne,onClick:i[0]||=In(e=>f.value?.focus(),[`stop`])},ye({_:2},[Je(n.$slots,(t,i)=>({name:i,fn:e(e=>[r(n.$slots,i,g(te(e)))])}))]),1032,[`options`,`disabled`,`loading`,`content-id`,`aria-label`])]),_:3},8,[`visible`,`popper-class`,`popper-style`,`popper-options`,`placement`,`fallback-placements`,`offset`,`show-arrow`])],2))}})),bY=Z({layout:{type:String,default:`horizontal`,values:[`horizontal`,`vertical`]},lazy:Boolean}),xY={resizeStart:(e,t)=>!0,resize:(e,t)=>!0,resizeEnd:(e,t)=>!0,collapse:(e,t,n)=>!0},SY=Z({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),CY={"update:size":e=>typeof e==`number`||typeof e==`string`};function wY(e){let t=W(),{width:n,height:r}=pf(t);return{containerEl:t,containerSize:U(()=>e.value===`horizontal`?n.value:r.value)}}function TY(e){return Number(e.slice(0,-1))/100}function EY(e){return Number(e.slice(0,-2))}function DY(e){return v(e)&&e.endsWith(`%`)}function OY(e){return v(e)&&e.endsWith(`px`)}function kY(e,t){let n=U(()=>e.value.map(e=>e.size)),r=U(()=>e.value.length),i=W([]);z([n,r,t],()=>{let n=[],a=0;for(let i=0;ie+(t||0),0);if(o>1||!a){let e=1/o;n=n.map(t=>t===void 0?0:t*e)}else{let e=(1-o)/a;n=n.map(t=>t===void 0?e:t)}i.value=n});let a=e=>e*t.value;return{percentSizes:i,pxSizes:U(()=>i.value.map(a))}}function AY(e,t,n,r){let i=e=>e*t.value||0;function a(e,t){return DY(e)?i(TY(e)):OY(e)?EY(e):e??t}let o=W(0),s=W(null),c=[],l=He,u=U(()=>e.value.map(e=>[e.min,e.max]));z(r,()=>{if(o.value){let e=new MouseEvent(`mouseup`,{bubbles:!0});window.dispatchEvent(e)}});let d=e=>{o.value=0,s.value={index:e,confirmed:!1},c=n.value},f=(n,i)=>{let d=null;if((!s.value||!s.value.confirmed)&&i!==0){if(i>0)d=n,s.value={index:n,confirmed:!0};else for(let e=n;e>=0;--e)if(c[e]>0){d=e,s.value={index:e,confirmed:!0};break}}let f=d??s.value?.index??n,p=[...c],m=f+1,h=a(u.value[f][0],0),g=a(u.value[m][0],0),_=a(u.value[f][1],t.value||0),v=a(u.value[m][1],t.value||0),y=i;p[f]+y_&&(y=_-p[f]),p[m]-y>v&&(y=p[m]-v),p[f]+=y,p[m]-=y,o.value=y,l=()=>{e.value.forEach((e,t)=>{e.size=p[t]}),l=He},r.value||l()},p=()=>{r.value&&l(),o.value=0,s.value=null,c=[]},m=[];return{lazyOffset:o,onMoveStart:d,onMoving:f,onMoveEnd:p,movingIndex:s,onCollapse:(t,r)=>{m.length||m.push(...n.value);let i=n.value,a=r===`start`?t:t+1,o=r===`start`?t+1:t,s=i[a],c=i[o];if(s!==0&&c!==0)i[a]=0,i[o]+=s,m[t]=s;else{let e=s+c,n=m[t],r=e-n;i[o]=n,i[a]=r}e.value.forEach((e,t)=>{e.size=i[t]})}}}var jY=Symbol(`splitterRootContextKey`),MY=J({name:`ElSplitter`,__name:`splitter`,props:bY,emits:xY,setup(e,{emit:t}){let n=Q(`splitter`),i=t,a=e,o=Ne(a,`layout`),s=Ne(a,`lazy`),{containerEl:c,containerSize:l}=wY(o),{removeChild:u,children:d,addChild:f,ChildrenSorter:p}=U_(de(),`ElSplitterPanel`);z(d,()=>{_.value=null,d.value.forEach((e,t)=>{e.setIndex(t)})});let{percentSizes:m,pxSizes:h}=kY(d,l),{lazyOffset:g,movingIndex:_,onMoveStart:v,onMoving:y,onMoveEnd:b,onCollapse:x}=AY(d,l,h,s),C=U(()=>({[n.cssVarBlockName(`bar-offset`)]:s.value?`${g.value}px`:void 0}));return N(jY,Re({panels:d,percentSizes:m,pxSizes:h,layout:o,lazy:s,movingIndex:_,containerSize:l,onMoveStart:e=>{v(e),i(`resizeStart`,e,h.value)},onMoving:(e,t)=>{y(e,t),s.value||i(`resize`,e,h.value)},onMoveEnd:async e=>{b(),await O(),i(`resizeEnd`,e,h.value)},onCollapse:(e,t)=>{x(e,t),i(`collapse`,e,t,h.value)},registerPanel:f,unregisterPanel:u})),(e,t)=>(S(),G(`div`,{ref_key:`containerEl`,ref:c,class:L([B(n).b(),B(n).e(o.value)]),style:I(C.value)},[r(e.$slots,`default`),q(B(p)),H(` Prevent iframe touch events from breaking `),B(_)?(S(),G(`div`,{key:0,class:L([B(n).e(`mask`),B(n).e(`mask-${o.value}`)])},null,2)):H(`v-if`,!0)],6))}});function NY(e){return e&&n(e)?e:{start:!!e,end:!!e}}function PY(e,t,n,r){return!!(e?.collapsible.end&&t>0||n?.collapsible.start&&r===0&&t>0)}var FY=J({name:`ElSplitterBar`,__name:`split-bar`,props:{index:{type:Number,required:!0},layout:{type:String,values:[`horizontal`,`vertical`],default:`horizontal`},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:[`moveStart`,`moving`,`moveEnd`,`collapse`],setup(e,{emit:t}){let n=Q(`splitter-bar`),i=e,a=t,o=U(()=>i.layout===`horizontal`),s=U(()=>o.value?{width:0}:{height:0}),c=U(()=>({width:o.value?`16px`:`100%`,height:o.value?`100%`:`16px`,cursor:i.resizable?o.value?`ew-resize`:`ns-resize`:`auto`,touchAction:`none`})),l=U(()=>{let e=n.e(`dragger`);return{[`${e}-horizontal`]:o.value,[`${e}-vertical`]:!o.value,[`${e}-active`]:!!u.value}}),u=W(null),d=e=>{i.resizable&&(u.value=[e.pageX,e.pageY],a(`moveStart`,i.index),window.addEventListener(`mouseup`,h),window.addEventListener(`mousemove`,p))},f=e=>{if(i.resizable&&e.touches.length===1){e.preventDefault();let t=e.touches[0];u.value=[t.pageX,t.pageY],a(`moveStart`,i.index),window.addEventListener(`touchend`,g),window.addEventListener(`touchmove`,m)}},p=e=>{let{pageX:t,pageY:n}=e,r=t-u.value[0],s=n-u.value[1],c=o.value?r:s;a(`moving`,i.index,c)},m=e=>{if(e.touches.length===1){e.preventDefault();let t=e.touches[0],n=t.pageX-u.value[0],r=t.pageY-u.value[1],s=o.value?n:r;a(`moving`,i.index,s)}},h=()=>{u.value=null,window.removeEventListener(`mouseup`,h),window.removeEventListener(`mousemove`,p),a(`moveEnd`,i.index)},g=()=>{u.value=null,window.removeEventListener(`touchend`,g),window.removeEventListener(`touchmove`,m),a(`moveEnd`,i.index)},_=U(()=>o.value?yv:Cv),v=U(()=>o.value?xv:_v);return(t,i)=>(S(),G(`div`,{class:L([B(n).b()]),style:I(s.value)},[e.startCollapsible?(S(),G(`div`,{key:0,class:L([B(n).e(`collapse-icon`),B(n).e(`${e.layout}-collapse-icon-start`)]),onClick:i[0]||=t=>a(`collapse`,e.index,`start`)},[r(t.$slots,`start-collapsible`,{},()=>[(S(),V(F(_.value),{style:{width:`12px`,height:`12px`}}))])],2)):H(`v-if`,!0),K(`div`,{class:L([B(n).e(`dragger`),l.value,B(n).is(`disabled`,!e.resizable),B(n).is(`lazy`,e.resizable&&e.lazy)]),style:I(c.value),onMousedown:d,onTouchstart:f},null,38),e.endCollapsible?(S(),G(`div`,{key:1,class:L([B(n).e(`collapse-icon`),B(n).e(`${e.layout}-collapse-icon-end`)]),onClick:i[1]||=t=>a(`collapse`,e.index,`end`)},[r(t.$slots,`end-collapsible`,{},()=>[(S(),V(F(v.value),{style:{width:`12px`,height:`12px`}}))])],2)):H(`v-if`,!0)],6))}}),IY=`ElSplitterPanel`,LY=J({name:IY,__name:`split-panel`,props:SY,emits:CY,setup(t,{expose:n,emit:i}){let a=Q(`splitter-panel`),o=t,c=i,l=P(jY);l||Sd(IY,`usage: `);let{panels:u,layout:d,lazy:f,containerSize:p,pxSizes:m}=Oe(l),{registerPanel:h,unregisterPanel:g,onCollapse:_,onMoveEnd:v,onMoveStart:y,onMoving:b}=l,x=W(),C=de(),w=C.uid,T=W(0),E=U(()=>u.value[T.value]),D=e=>{T.value=e},k=U(()=>E.value?m.value[T.value]??0:0),A=U(()=>E.value?m.value[T.value+1]??0:0),j=U(()=>E.value?u.value[T.value+1]:null),M=U(()=>j.value?o.resizable&&j.value?.resizable&&(k.value!==0||!o.min)&&(A.value!==0||!j.value.min):!1),N=U(()=>E.value?T.value!==u.value.length-1:!1),ee=U(()=>PY(E.value,k.value,j.value,A.value)),te=U(()=>PY(j.value,A.value,E.value,k.value));function ne(e){return DY(e)?TY(e)*p.value||0:OY(e)?EY(e):e??0}let re=!1;z(()=>o.size,()=>{if(!re&&E.value){if(!p.value){E.value.size=o.size;return}let e=ne(o.size),t=ne(o.max),n=ne(o.min),r=Math.min(Math.max(e,n||0),t||e);r!==e&&c(`update:size`,r),E.value.size=r}}),z(()=>E.value?.size,e=>{e!==o.size&&(re=!0,c(`update:size`,e),O(()=>re=!1))}),z(()=>o.resizable,e=>{E.value&&(E.value.resizable=e)});let F=Re({uid:w,getVnode:()=>C.vnode,setIndex:D,...o,collapsible:U(()=>NY(o.collapsible))});return h(F),Ce(()=>g(F)),n({splitterPanelRef:x}),(t,n)=>(S(),G(xe,null,[K(`div`,s({ref_key:`panelEl`,ref:x,class:[B(a).b()],style:{flexBasis:`${k.value}px`}},t.$attrs),[r(t.$slots,`default`)],16),N.value?(S(),V(FY,{key:0,index:T.value,layout:B(d),lazy:B(f),resizable:M.value,"start-collapsible":ee.value,"end-collapsible":te.value,onMoveStart:B(y),onMoving:B(b),onMoveEnd:B(v),onCollapse:B(_)},{"start-collapsible":e(()=>[r(t.$slots,`start-collapsible`)]),"end-collapsible":e(()=>[r(t.$slots,`end-collapsible`)]),_:3},8,[`index`,`layout`,`lazy`,`resizable`,`start-collapsible`,`end-collapsible`,`onMoveStart`,`onMoving`,`onMoveEnd`,`onCollapse`])):H(`v-if`,!0)],64))}}),RY=iv(MY,{SplitPanel:LY}),zY=sv(LY),BY=`ElInfiniteScroll`,VY={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},HY=(e,t)=>Object.entries(VY).reduce((n,[r,i])=>{let{type:a,default:o}=i,s=e.getAttribute(`infinite-scroll-${r}`),c=t[s]??s??o;return c=c===`false`?!1:c,c=a(c),n[r]=Number.isNaN(c)?o:c,n},{}),UY=e=>{let{observer:t}=e[BY];t&&(t.disconnect(),delete e[BY].observer)},WY=(e,t)=>{let{container:n,containerEl:r,instance:i,observer:a,lastScrollTop:o}=e[BY],{disabled:s,distance:c}=HY(e,i),{clientHeight:l,scrollHeight:u,scrollTop:d}=r,f=d-o;if(e[BY].lastScrollTop=d,a||s||f<0)return;let p=!1;if(n===e)p=u-(l+d)<=c;else{let{clientTop:t,scrollHeight:n}=e,i=uN(e,r);p=d+l>=i+t+n-c}p&&t.call(i)};function GY(e,t){let{containerEl:n,instance:r}=e[BY],{disabled:i}=HY(e,r);i||n.clientHeight===0||(n.scrollHeight<=n.clientHeight?t.call(r):UY(e))}var KY={async mounted(e,t){let{instance:n,value:r}=t;yf({scope:BY,from:`the directive v-infinite-scroll`,replacement:`the el-scrollbar infinite scroll`,version:`3.0.0`,ref:`https://element-plus.org/en-US/component/scrollbar#infinite-scroll`},!0),k(r)||Sd(BY,`'v-infinite-scroll' binding value must be a function`),await O();let{delay:i,immediate:a}=HY(e,n),o=ip(e,!0),s=o===window?document.documentElement:o,c=$u(WY.bind(null,e,r),i);if(o){if(e[BY]={instance:n,container:o,containerEl:s,delay:i,cb:r,onScroll:c,lastScrollTop:s.scrollTop},a){let t=new MutationObserver($u(GY.bind(null,e,r),50));e[BY].observer=t,t.observe(e,{childList:!0,subtree:!0}),GY(e,r)}o.addEventListener(`scroll`,c)}},unmounted(e){if(!e.ElInfiniteScroll)return;let{container:t,onScroll:n}=e[BY];t?.removeEventListener(`scroll`,n),UY(e)},async updated(e){if(!e.ElInfiniteScroll)await O();else{let{containerEl:t,cb:n,observer:r}=e[BY];t.clientHeight&&r&&GY(e,n)}}};KY.install=e=>{e.directive(`InfiniteScroll`,KY)};var qY=KY;function JY(t,n){let r,i=W(!1),o=Re({...t,originalPosition:``,originalOverflow:``,visible:!1});function s(e){o.text=e}function c(){let e=o.parent,t=p.ns;if(!e.vLoadingAddClassList){let n=e.getAttribute(`loading-number`);n=Number.parseInt(n)-1,n?e.setAttribute(`loading-number`,n.toString()):(zf(e,t.bm(`parent`,`relative`)),e.removeAttribute(`loading-number`)),zf(e,t.bm(`parent`,`hidden`))}l(),f.unmount()}function l(){p.$el?.parentNode?.removeChild(p.$el)}function u(){t.beforeClose&&!t.beforeClose()||(i.value=!0,clearTimeout(r),r=setTimeout(d,400),o.visible=!1,t.closed?.())}function d(){if(!i.value)return;let e=o.parent;i.value=!1,e.vLoadingAddClassList=void 0,c()}let f=Un(J({name:`ElLoading`,setup(t,{expose:n}){let{ns:r,zIndex:i}=ID(`loading`);return n({ns:r,zIndex:i}),()=>{let t=o.spinner||o.svg,n=a(`svg`,{class:`circular`,viewBox:o.svgViewBox?o.svgViewBox:`0 0 50 50`,...t?{innerHTML:t}:{}},[a(`circle`,{class:`path`,cx:`25`,cy:`25`,r:`20`,fill:`none`})]),i=o.text?a(`p`,{class:r.b(`text`)},[o.text]):void 0;return a(bt,{name:r.b(`fade`),onAfterLeave:d},{default:e(()=>[ge(q(`div`,{style:{backgroundColor:o.background||``},class:[r.b(`mask`),o.customClass,r.is(`fullscreen`,o.fullscreen)]},[a(`div`,{class:r.b(`spinner`)},[n,i])]),[[Rt,o.visible]])])})}}}));Object.assign(f._context,n??{});let p=f.mount(document.createElement(`div`));return{...Oe(o),setText:s,removeElLoadingChild:l,close:u,handleAfterLeave:d,vm:p,get $el(){return p.$el}}}var YY=void 0,XY=function(e={},t){if(!Md)return;let n=ZY(e);if(n.fullscreen&&YY)return YY;let r=JY({...n,closed:()=>{n.closed?.(),n.fullscreen&&(YY=void 0)}},t??XY._context);QY(n,n.parent,r),$Y(n,n.parent,r),n.parent.vLoadingAddClassList=()=>$Y(n,n.parent,r);let i=n.parent.getAttribute(`loading-number`);return i=i?`${Number.parseInt(i)+1}`:`1`,n.parent.setAttribute(`loading-number`,i),n.parent.appendChild(r.$el),O(()=>r.visible.value=n.visible),n.fullscreen&&(YY=r),r},ZY=e=>{let t;return t=v(e.target)?document.querySelector(e.target)??document.body:e.target||document.body,{parent:t===document.body||e.body?document.body:t,background:e.background||``,svg:e.svg||``,svgViewBox:e.svgViewBox||``,spinner:e.spinner||!1,text:e.text||``,fullscreen:t===document.body&&(e.fullscreen??!0),lock:e.lock??!1,customClass:e.customClass||``,visible:e.visible??!0,beforeClose:e.beforeClose,closed:e.closed,target:t}},QY=async(e,t,n)=>{let{nextZIndex:r}=n.vm.zIndex||n.vm._.exposed.zIndex,i={};if(e.fullscreen)n.originalPosition.value=Bf(document.body,`position`),n.originalOverflow.value=Bf(document.body,`overflow`),i.zIndex=r();else if(e.parent===document.body){n.originalPosition.value=Bf(document.body,`position`),await O();for(let t of[`top`,`left`]){let n=t===`top`?`scrollTop`:`scrollLeft`;i[t]=`${e.target.getBoundingClientRect()[t]+document.body[n]+document.documentElement[n]-Number.parseInt(Bf(document.body,`margin-${t}`),10)}px`}for(let t of[`height`,`width`])i[t]=`${e.target.getBoundingClientRect()[t]}px`}else n.originalPosition.value=Bf(t,`position`);for(let[e,t]of Object.entries(i))n.$el.style[e]=t},$Y=(e,t,n)=>{let r=n.vm.ns||n.vm._.exposed.ns;[`absolute`,`fixed`,`sticky`].includes(n.originalPosition.value)?zf(t,r.bm(`parent`,`relative`)):Rf(t,r.bm(`parent`,`relative`)),e.fullscreen&&e.lock?Rf(t,r.bm(`parent`,`hidden`)):zf(t,r.bm(`parent`,`hidden`))};XY._context=null;var eX=Symbol(`ElLoading`),tX=e=>`element-loading-${o(e)}`,nX=(e,t)=>{let r=t.instance,i=e=>n(t.value)?t.value[e]:void 0,a=e=>W(v(e)&&r?.[e]||e),o=t=>a(i(t)||e.getAttribute(tX(t))),s=i(`fullscreen`)??t.modifiers.fullscreen,c={text:o(`text`),svg:o(`svg`),svgViewBox:o(`svgViewBox`),spinner:o(`spinner`),background:o(`background`),customClass:o(`customClass`),fullscreen:s,target:i(`target`)??(s?void 0:e),body:i(`body`)??t.modifiers.body,lock:i(`lock`)??t.modifiers.lock},l=XY(c);l._context=iX._context,e[eX]={options:c,instance:l}},rX=(e,t)=>{for(let n of Object.keys(e))Se(e[n])&&(e[n].value=t[n])},iX={mounted(e,t){t.value&&nX(e,t)},updated(e,t){let r=e[eX];if(!t.value){r?.instance.close(),e[eX]=null;return}r?rX(r.options,n(t.value)?t.value:{text:e.getAttribute(tX(`text`)),svg:e.getAttribute(tX(`svg`)),svgViewBox:e.getAttribute(tX(`svgViewBox`)),spinner:e.getAttribute(tX(`spinner`)),background:e.getAttribute(tX(`background`)),customClass:e.getAttribute(tX(`customClass`))}):nX(e,t)},unmounted(e){e[eX]?.instance.close(),e[eX]=null}};iX._context=null;var aX={install(e){XY._context=e._context,iX._context=e._context,e.directive(`loading`,iX),e.config.globalProperties.$loading=XY},directive:iX,service:XY},oX=[`primary`,`success`,`info`,`warning`,`error`],sX=[`top`,`top-left`,`top-right`,`bottom`,`bottom-left`,`bottom-right`],cX=OE({customClass:``,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:``,message:``,onClose:void 0,showClose:!1,type:`info`,plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:Md?document.body:void 0}),lX=Z({customClass:{type:String,default:cX.customClass},dangerouslyUseHTMLString:{type:Boolean,default:cX.dangerouslyUseHTMLString},duration:{type:Number,default:cX.duration},icon:{type:FC,default:cX.icon},id:{type:String,default:cX.id},message:{type:X([String,Object,Function]),default:cX.message},onClose:{type:X(Function),default:cX.onClose},showClose:{type:Boolean,default:cX.showClose},type:{type:String,values:oX,default:cX.type},plain:{type:Boolean,default:cX.plain},offset:{type:Number,default:cX.offset},placement:{type:String,values:sX,default:cX.placement},zIndex:{type:Number,default:cX.zIndex},grouping:{type:Boolean,default:cX.grouping},repeatNum:{type:Number,default:cX.repeatNum}}),uX={destroy:()=>!0},dX=Ve({}),fX=e=>(dX[e]||(dX[e]=Ve([])),dX[e]),pX=(e,t)=>{let n=dX[t]||[],r=n.findIndex(t=>t.id===e),i=n[r],a;return r>0&&(a=n[r-1]),{current:i,prev:a}},mX=(e,t)=>{let{prev:n}=pX(e,t);return n?n.vm.exposed.bottom.value:0},hX=(e,t,n)=>(dX[n]||[]).findIndex(t=>t.id===e)>0?16:t,gX=[`id`],_X=[`innerHTML`],vX=J({name:`ElMessage`,__name:`message`,props:lX,emits:uX,setup(t,{expose:n,emit:i}){let{Close:a}=LC,o=t,s=i,c=W(!1),{ns:l,zIndex:u}=ID(`message`),{currentZIndex:d,nextZIndex:f}=u,p=W(),m=W(!1),h=W(0),g,_=U(()=>o.type?o.type===`error`?`danger`:o.type:`info`),v=U(()=>{let e=o.type;return{[l.bm(`icon`,e)]:e&&RC[e]}}),y=U(()=>o.icon||RC[o.type]||``),b=U(()=>o.placement||`top`),x=U(()=>mX(o.id,b.value)),C=U(()=>hX(o.id,o.offset,b.value)+x.value),w=U(()=>h.value+C.value),T=U(()=>b.value.includes(`left`)?l.is(`left`):b.value.includes(`right`)?l.is(`right`):l.is(`center`)),E=U(()=>b.value.startsWith(`top`)?`top`:`bottom`),D=U(()=>({[E.value]:`${C.value}px`,zIndex:d.value}));function k(){o.duration!==0&&({stop:g}=Yd(()=>{M()},o.duration))}function j(){g?.()}function M(){m.value=!1,O(()=>{c.value||(o.onClose?.(),s(`destroy`))})}function N(e){mp(e)===Y.esc&&M()}return A(()=>{k(),f(),m.value=!0}),z(()=>o.repeatNum,()=>{j(),k()}),$d(document,`keydown`,N),df(p,()=>{h.value=p.value.getBoundingClientRect().height}),n({visible:m,bottom:w,close:M}),(n,i)=>(S(),V(bt,{name:B(l).b(`fade`),onBeforeEnter:i[0]||=e=>c.value=!0,onBeforeLeave:t.onClose,onAfterLeave:i[1]||=e=>n.$emit(`destroy`),persisted:``},{default:e(()=>[ge(K(`div`,{id:t.id,ref_key:`messageRef`,ref:p,class:L([B(l).b(),{[B(l).m(t.type)]:t.type},B(l).is(`closable`,t.showClose),B(l).is(`plain`,t.plain),B(l).is(`bottom`,E.value===`bottom`),T.value,t.customClass]),style:I(D.value),role:`alert`,onMouseenter:j,onMouseleave:k},[t.repeatNum>1?(S(),V(B(xD),{key:0,value:t.repeatNum,type:_.value,class:L(B(l).e(`badge`))},null,8,[`value`,`type`,`class`])):H(`v-if`,!0),y.value?(S(),V(B($),{key:1,class:L([B(l).e(`icon`),v.value])},{default:e(()=>[(S(),V(F(y.value)))]),_:1},8,[`class`])):H(`v-if`,!0),r(n.$slots,`default`,{},()=>[t.dangerouslyUseHTMLString?(S(),G(xe,{key:1},[H(` Caution here, message could've been compromised, never use user's input as message `),K(`p`,{class:L(B(l).e(`content`)),innerHTML:t.message},null,10,_X)],2112)):(S(),G(`p`,{key:0,class:L(B(l).e(`content`))},R(t.message),3))]),t.showClose?(S(),V(B($),{key:2,class:L(B(l).e(`closeBtn`)),onClick:In(M,[`stop`])},{default:e(()=>[q(B(a))]),_:1},8,[`class`])):H(`v-if`,!0)],46,gX),[[Rt,m.value]])]),_:3},8,[`name`,`onBeforeLeave`]))}}),yX=1,bX=e=>{if(!e.appendTo)e.appendTo=document.body;else if(v(e.appendTo)){let t=document.querySelector(e.appendTo);cd(t)||(Cd(`ElMessage`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),t=document.body),e.appendTo=t}},xX=e=>{!e.placement&&v(BD.placement)&&BD.placement&&(e.placement=BD.placement),e.placement||=`top`,sX.includes(e.placement)||(Cd(`ElMessage`,`Invalid placement: ${e.placement}. Falling back to 'top'.`),e.placement=`top`)},SX=e=>{let t=!e||v(e)||l(e)||k(e)?{message:e}:e,n={...cX,...t};return bX(n),xX(n),ad(BD.grouping)&&!n.grouping&&(n.grouping=BD.grouping),od(BD.duration)&&n.duration===3e3&&(n.duration=BD.duration),od(BD.offset)&&n.offset===16&&(n.offset=BD.offset),ad(BD.showClose)&&!n.showClose&&(n.showClose=BD.showClose),ad(BD.plain)&&!n.plain&&(n.plain=BD.plain),n},CX=e=>{let t=dX[e.props.placement||`top`],n=t.indexOf(e);if(n===-1)return;t.splice(n,1);let{handler:r}=e;r.close()},wX=({appendTo:e,...t},n)=>{let r=`message_${yX++}`,i=t.onClose,a=document.createElement(`div`),o={...t,id:r,onClose:()=>{i?.(),CX(u)},onDestroy:()=>{Hn(null,a)}},s=q(vX,o,k(o.message)||l(o.message)?{default:k(o.message)?o.message:()=>o.message}:null);s.appContext=n||TX._context,Hn(s,a),e.appendChild(a.firstElementChild);let c=s.component,u={id:r,vnode:s,vm:c,handler:{close:()=>{c.exposed.close()}},props:s.component.props};return u},TX=(e={},t)=>{if(!Md)return{close:()=>void 0};let n=SX(e),r=fX(n.placement||`top`);if(n.grouping&&r.length){let e=r.find(({vnode:e})=>e.props?.message===n.message);if(e)return e.props.repeatNum+=1,e.props.type=n.type,e.handler}if(od(BD.max)&&r.length>=BD.max)return{close:()=>void 0};let i=wX(n,t);return r.push(i),i.handler};oX.forEach(e=>{TX[e]=(t={},n)=>TX({...SX(t),type:e},n)});function EX(e){for(let t in dX)if(ne(dX,t)){let n=[...dX[t]];for(let t of n)(!e||e===t.props.type)&&t.handler.close()}}function DX(e){dX[e]&&[...dX[e]].forEach(e=>e.handler.close())}TX.closeAll=EX,TX.closeAllByPlacement=DX,TX._context=null;var OX=av(TX,`$message`),kX=J({name:`ElMessageBox`,directives:{TrapFocus:lk},components:{ElButton:wO,ElFocusTrap:nE,ElInput:BE,ElOverlay:mI,ElIcon:$,...LC},inheritAttrs:!1,props:{buttonSize:{type:String,validator:DH},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:`body`},boxType:{type:String,default:``}},emits:[`vanish`,`action`],setup(e,{emit:t}){let{locale:n,zIndex:r,ns:i,size:a}=ID(`message-box`,U(()=>e.buttonSize)),{t:o}=n,{nextZIndex:s}=r,c=W(!1),l=Re({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:``,cancelButtonClass:``,confirmButtonText:``,confirmButtonClass:``,cancelButtonType:``,confirmButtonType:`primary`,customClass:``,customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:``,closeIcon:``,inputPattern:null,inputPlaceholder:``,inputType:`text`,inputValue:``,inputValidator:void 0,inputErrorMessage:``,message:``,modalFade:!0,modalClass:``,showCancelButton:!1,showConfirmButton:!0,type:``,title:void 0,showInput:!1,action:``,confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:ue($b),cancelButtonLoadingIcon:ue($b),confirmButtonDisabled:!1,editorErrorMessage:``,validateError:!1,zIndex:s()}),u=U(()=>{let e=l.type;return{[i.bm(`icon`,e)]:e&&RC[e]}}),d=Th(),f=Th(),p=U(()=>{let e=l.type;return l.icon||e&&RC[e]||``}),m=U(()=>!!l.message),h=W(),g=W(),_=W(),y=W(),b=W(),x=U(()=>l.confirmButtonClass);z(()=>l.inputValue,async t=>{await O(),e.boxType===`prompt`&&t&&j()},{immediate:!0}),z(()=>c.value,t=>{t&&(e.boxType!==`prompt`&&(l.autofocus?_.value=b.value?.$el??h.value:_.value=h.value),l.zIndex=s()),e.boxType===`prompt`&&(t?O().then(()=>{y.value&&y.value.$el&&(l.autofocus?_.value=M()??h.value:_.value=h.value)}):(l.editorErrorMessage=``,l.validateError=!1))});let{isDragging:S}=Uf(h,g,U(()=>e.draggable),U(()=>e.overflow));A(async()=>{await O(),e.closeOnHashChange&&window.addEventListener(`hashchange`,C)}),Ce(()=>{e.closeOnHashChange&&window.removeEventListener(`hashchange`,C)});function C(){c.value&&(c.value=!1,O(()=>{l.action&&t(`action`,l.action)}))}let w=()=>{e.closeOnClickModal&&D(l.distinguishCancelAndClose?`close`:`cancel`)},T=yh(w),E=e=>{if(l.inputType!==`textarea`&&!y.value?.isComposing)return e.preventDefault(),D(`confirm`)},D=t=>{e.boxType===`prompt`&&t===`confirm`&&!j()||(l.action=t,l.beforeClose?l.beforeClose?.(t,l,C):C())},j=()=>{if(e.boxType===`prompt`){let e=l.inputPattern;if(e&&!e.test(l.inputValue||``))return l.editorErrorMessage=l.inputErrorMessage||o(`el.messagebox.error`),l.validateError=!0,!1;let t=l.inputValidator;if(k(t)){let e=t(l.inputValue);if(e===!1)return l.editorErrorMessage=l.inputErrorMessage||o(`el.messagebox.error`),l.validateError=!0,!1;if(v(e))return l.editorErrorMessage=e,l.validateError=!0,!1}}return l.editorErrorMessage=``,l.validateError=!1,!0},M=()=>{let e=y.value?.$refs;return e?.input??e?.textarea},N=()=>{D(`close`)},ee=()=>{e.closeOnPressEscape&&N()};return e.lockScroll&&dp(c,{ns:i}),{...Oe(l),ns:i,overlayEvent:T,visible:c,hasMessage:m,typeClass:u,contentId:d,inputId:f,btnSize:a,iconComponent:p,confirmButtonClasses:x,rootRef:h,focusStartRef:_,headerRef:g,inputRef:y,isDragging:S,confirmRef:b,doClose:C,handleClose:N,onCloseRequested:ee,handleWrapperClick:w,handleInputEnter:E,handleAction:D,t:o}}}),AX=[`aria-label`,`aria-describedby`],jX=[`aria-label`],MX=[`id`];function NX(t,n,i,a,o,s){let c=ie(`el-icon`),l=ie(`el-input`),u=ie(`el-button`),d=ie(`el-focus-trap`),f=ie(`el-overlay`);return S(),V(bt,{name:`fade-in-linear`,onAfterLeave:n[11]||=e=>t.$emit(`vanish`),persisted:``},{default:e(()=>[ge(q(f,{"z-index":t.zIndex,"overlay-class":[t.ns.is(`message-box`),t.modalClass],mask:t.modal},{default:e(()=>[K(`div`,{role:`dialog`,"aria-label":t.title,"aria-modal":`true`,"aria-describedby":t.showInput?void 0:t.contentId,class:L(`${t.ns.namespace.value}-overlay-message-box`),onClick:n[8]||=(...e)=>t.overlayEvent.onClick&&t.overlayEvent.onClick(...e),onMousedown:n[9]||=(...e)=>t.overlayEvent.onMousedown&&t.overlayEvent.onMousedown(...e),onMouseup:n[10]||=(...e)=>t.overlayEvent.onMouseup&&t.overlayEvent.onMouseup(...e)},[q(d,{loop:``,trapped:t.visible,"focus-trap-el":t.rootRef,"focus-start-el":t.focusStartRef,onReleaseRequested:t.onCloseRequested},{default:e(()=>[K(`div`,{ref:`rootRef`,class:L([t.ns.b(),t.customClass,t.ns.is(`draggable`,t.draggable),t.ns.is(`dragging`,t.isDragging),{[t.ns.m(`center`)]:t.center}]),style:I(t.customStyle),tabindex:`-1`,onClick:n[7]||=In(()=>{},[`stop`])},[t.title!==null&&t.title!==void 0?(S(),G(`div`,{key:0,ref:`headerRef`,class:L([t.ns.e(`header`),{"show-close":t.showClose}])},[K(`div`,{class:L(t.ns.e(`title`))},[t.iconComponent&&t.center?(S(),V(c,{key:0,class:L([t.ns.e(`status`),t.typeClass])},{default:e(()=>[(S(),V(F(t.iconComponent)))]),_:1},8,[`class`])):H(`v-if`,!0),K(`span`,null,R(t.title),1)],2),t.showClose?(S(),G(`button`,{key:0,type:`button`,class:L(t.ns.e(`headerbtn`)),"aria-label":t.t(`el.messagebox.close`),onClick:n[0]||=e=>t.handleAction(t.distinguishCancelAndClose?`close`:`cancel`),onKeydown:n[1]||=Rn(In(e=>t.handleAction(t.distinguishCancelAndClose?`close`:`cancel`),[`prevent`]),[`enter`])},[q(c,{class:L(t.ns.e(`close`))},{default:e(()=>[(S(),V(F(t.closeIcon||`close`)))]),_:1},8,[`class`])],42,jX)):H(`v-if`,!0)],2)):H(`v-if`,!0),K(`div`,{id:t.contentId,class:L(t.ns.e(`content`))},[K(`div`,{class:L(t.ns.e(`container`))},[t.iconComponent&&!t.center&&t.hasMessage?(S(),V(c,{key:0,class:L([t.ns.e(`status`),t.typeClass])},{default:e(()=>[(S(),V(F(t.iconComponent)))]),_:1},8,[`class`])):H(`v-if`,!0),t.hasMessage?(S(),G(`div`,{key:1,class:L(t.ns.e(`message`))},[r(t.$slots,`default`,{},()=>[t.dangerouslyUseHTMLString?(S(),V(F(t.showInput?`label`:`p`),{key:1,for:t.showInput?t.inputId:void 0,innerHTML:t.message},null,8,[`for`,`innerHTML`])):(S(),V(F(t.showInput?`label`:`p`),{key:0,for:t.showInput?t.inputId:void 0,textContent:R(t.message)},null,8,[`for`,`textContent`]))])],2)):H(`v-if`,!0)],2),ge(K(`div`,{class:L(t.ns.e(`input`))},[q(l,{id:t.inputId,ref:`inputRef`,modelValue:t.inputValue,"onUpdate:modelValue":n[2]||=e=>t.inputValue=e,type:t.inputType,placeholder:t.inputPlaceholder,"aria-invalid":t.validateError,class:L({invalid:t.validateError}),onKeydown:Rn(t.handleInputEnter,[`enter`])},null,8,[`id`,`modelValue`,`type`,`placeholder`,`aria-invalid`,`class`,`onKeydown`]),K(`div`,{class:L(t.ns.e(`errormsg`)),style:I({visibility:t.editorErrorMessage?`visible`:`hidden`})},R(t.editorErrorMessage),7)],2),[[Rt,t.showInput]])],10,MX),K(`div`,{class:L(t.ns.e(`btns`))},[t.showCancelButton?(S(),V(u,{key:0,type:t.cancelButtonType===`text`?``:t.cancelButtonType,text:t.cancelButtonType===`text`,loading:t.cancelButtonLoading,"loading-icon":t.cancelButtonLoadingIcon,class:L([t.cancelButtonClass]),round:t.roundButton,size:t.btnSize,onClick:n[3]||=e=>t.handleAction(`cancel`),onKeydown:n[4]||=Rn(In(e=>t.handleAction(`cancel`),[`prevent`]),[`enter`])},{default:e(()=>[ce(R(t.cancelButtonText||t.t(`el.messagebox.cancel`)),1)]),_:1},8,[`type`,`text`,`loading`,`loading-icon`,`class`,`round`,`size`])):H(`v-if`,!0),ge(q(u,{ref:`confirmRef`,type:t.confirmButtonType===`text`?``:t.confirmButtonType,text:t.confirmButtonType===`text`,loading:t.confirmButtonLoading,"loading-icon":t.confirmButtonLoadingIcon,class:L([t.confirmButtonClasses]),round:t.roundButton,disabled:t.confirmButtonDisabled,size:t.btnSize,onClick:n[5]||=e=>t.handleAction(`confirm`),onKeydown:n[6]||=Rn(In(e=>t.handleAction(`confirm`),[`prevent`]),[`enter`])},{default:e(()=>[ce(R(t.confirmButtonText||t.t(`el.messagebox.confirm`)),1)]),_:1},8,[`type`,`text`,`loading`,`loading-icon`,`class`,`round`,`disabled`,`size`]),[[Rt,t.showConfirmButton]])],2)],6)]),_:3},8,[`trapped`,`focus-trap-el`,`focus-start-el`,`onReleaseRequested`])],42,AX)]),_:3},8,[`z-index`,`overlay-class`,`mask`]),[[Rt,t.visible]])]),_:3})}var PX=eE(kX,[[`render`,NX]]),FX=new Map,IX=e=>{let t=document.body;return e.appendTo&&(v(e.appendTo)&&(t=document.querySelector(e.appendTo)),cd(e.appendTo)&&(t=e.appendTo),cd(t)||(Cd(`ElMessageBox`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),t=document.body)),t},LX=(e,t,n=null)=>{let r=q(PX,e,k(e.message)||l(e.message)?{default:k(e.message)?e.message:()=>e.message}:null);return r.appContext=n,Hn(r,t),IX(e).appendChild(t.firstElementChild),r.component},RX=()=>document.createElement(`div`),zX=(e,t)=>{let r=RX();e.onVanish=()=>{Hn(null,r),FX.delete(a)},e.onAction=t=>{let n=FX.get(a),r;r=e.showInput?{value:a.inputValue,action:t}:t,e.callback?e.callback(r,i.proxy):t===`cancel`||t===`close`?e.distinguishCancelAndClose&&t!==`cancel`?n.reject(`close`):n.reject(`cancel`):n.resolve(r)};let i=LX(e,r,t),a=i.proxy;for(let t in e)ne(e,t)&&!ne(a.$props,t)&&(t===`closeIcon`&&n(e[t])?a[t]=ue(e[t]):a[t]=e[t]);return a.visible=!0,a};function BX(e,t=null){if(!Md)return Promise.reject();let n;return v(e)||l(e)?e={message:e}:n=e.callback,new Promise((r,i)=>{let a=zX(e,t??BX._context);FX.set(a,{options:e,callback:n,resolve:r,reject:i})})}var VX=[`alert`,`confirm`,`prompt`],HX={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};VX.forEach(e=>{BX[e]=UX(e)});function UX(e){return(t,r,i,a)=>{let o=``;return n(r)?(i=r,o=``):o=id(r)?``:r,BX(Object.assign({title:o,message:t,type:``,...HX[e]},i,{boxType:e}),a)}}BX.close=()=>{FX.forEach((e,t)=>{t.doClose()}),FX.clear()},BX._context=null;var WX=BX;WX.install=e=>{WX._context=e._context,e.config.globalProperties.$msgbox=WX,e.config.globalProperties.$messageBox=WX,e.config.globalProperties.$alert=WX.alert,e.config.globalProperties.$confirm=WX.confirm,e.config.globalProperties.$prompt=WX.prompt};var GX=WX,KX=[`primary`,`success`,`info`,`warning`,`error`],qX=Z({customClass:{type:String,default:``},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:FC},id:{type:String,default:``},message:{type:X([String,Object,Function]),default:``},offset:{type:Number,default:0},onClick:{type:X(Function),default:()=>void 0},onClose:{type:X(Function),required:!0},position:{type:String,values:[`top-right`,`top-left`,`bottom-right`,`bottom-left`],default:`top-right`},showClose:{type:Boolean,default:!0},title:{type:String,default:``},type:{type:String,values:[...KX,``],default:``},zIndex:Number,closeIcon:{type:FC,default:py}}),JX={destroy:()=>!0},YX=[`id`],XX=[`textContent`],ZX={key:0},QX=[`innerHTML`],$X=J({name:`ElNotification`,__name:`notification`,props:qX,emits:JX,setup(t,{expose:n}){let i=t,{ns:a,zIndex:o}=ID(`notification`),{nextZIndex:s,currentZIndex:c}=o,l=W(!1),u,d=U(()=>{let e=i.type;return e&&RC[i.type]?a.m(e):``}),f=U(()=>i.type&&RC[i.type]||i.icon),p=U(()=>i.position.endsWith(`right`)?`right`:`left`),m=U(()=>i.position.startsWith(`top`)?`top`:`bottom`),h=U(()=>({[m.value]:`${i.offset}px`,zIndex:i.zIndex??c.value}));function g(){i.duration>0&&({stop:u}=Yd(()=>{l.value&&v()},i.duration))}function _(){u?.()}function v(){l.value=!1}function y(e){switch(mp(e)){case Y.delete:case Y.backspace:_();break;case Y.esc:l.value&&v();break;default:g();break}}return A(()=>{g(),s(),l.value=!0}),$d(document,`keydown`,y),n({visible:l,close:v}),(n,i)=>(S(),V(bt,{name:B(a).b(`fade`),onBeforeLeave:t.onClose,onAfterLeave:i[1]||=e=>n.$emit(`destroy`),persisted:``},{default:e(()=>[ge(K(`div`,{id:t.id,class:L([B(a).b(),t.customClass,p.value]),style:I(h.value),role:`alert`,onMouseenter:_,onMouseleave:g,onClick:i[0]||=(...e)=>t.onClick&&t.onClick(...e)},[f.value?(S(),V(B($),{key:0,class:L([B(a).e(`icon`),d.value])},{default:e(()=>[(S(),V(F(f.value)))]),_:1},8,[`class`])):H(`v-if`,!0),K(`div`,{class:L(B(a).e(`group`))},[K(`h2`,{class:L(B(a).e(`title`)),textContent:R(t.title)},null,10,XX),ge(K(`div`,{class:L(B(a).e(`content`)),style:I(t.title?void 0:{margin:0})},[r(n.$slots,`default`,{},()=>[t.dangerouslyUseHTMLString?(S(),G(xe,{key:1},[H(` Caution here, message could've been compromised, never use user's input as message `),K(`p`,{innerHTML:t.message},null,8,QX)],2112)):(S(),G(`p`,ZX,R(t.message),1))])],6),[[Rt,t.message]]),t.showClose?(S(),V(B($),{key:0,class:L(B(a).e(`closeBtn`)),onClick:In(v,[`stop`])},{default:e(()=>[(S(),V(F(t.closeIcon)))]),_:1},8,[`class`])):H(`v-if`,!0)],2)],46,YX),[[Rt,l.value]])]),_:3},8,[`name`,`onBeforeLeave`]))}}),eZ={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},tZ=16,nZ=1,rZ=function(e={},t){if(!Md)return{close:()=>void 0};(v(e)||l(e))&&(e={message:e});let n=e.position||`top-right`,r=e.offset||0;eZ[n].forEach(({vm:e})=>{r+=(e.el?.offsetHeight||0)+tZ}),r+=tZ;let i=`notification_${nZ++}`,a=e.onClose,o={...e,offset:r,id:i,onClose:()=>{iZ(i,n,a)}},s=document.body;cd(e.appendTo)?s=e.appendTo:v(e.appendTo)&&(s=document.querySelector(e.appendTo)),cd(s)||(Cd(`ElNotification`,`the appendTo option is not an HTMLElement. Falling back to document.body.`),s=document.body);let c=document.createElement(`div`),u=q($X,o,k(o.message)?o.message:l(o.message)?()=>o.message:null);return u.appContext=id(t)?rZ._context:t,u.props.onDestroy=()=>{Hn(null,c)},Hn(u,c),eZ[n].push({vm:u}),s.appendChild(c.firstElementChild),{close:()=>{u.component.exposed.visible.value=!1}}};KX.forEach(e=>{rZ[e]=(t={},n)=>((v(t)||l(t))&&(t={message:t}),rZ({...t,type:e},n))});function iZ(e,t,n){let r=eZ[t],i=r.findIndex(({vm:t})=>t.component?.props.id===e);if(i===-1)return;let{vm:a}=r[i];if(!a)return;n?.(a);let o=a.el.offsetHeight,s=t.split(`-`)[0];r.splice(i,1);let c=r.length;if(!(c<1))for(let e=i;e{e.component.exposed.visible.value=!1})}function oZ(e=`top-right`){let t=eZ[e][0]?.vm.component?.props?.offset||0;for(let{vm:n}of eZ[e])n.component.props.offset=t,t+=(n.el?.offsetHeight||0)+tZ}rZ.closeAll=aZ,rZ.updateOffsets=oZ,rZ._context=null;var sZ=av(rZ,`$notify`),cZ=Z({trigger:mE.trigger,triggerKeys:mE.triggerKeys,placement:FI.placement,disabled:mE.disabled,visible:pE.visible,transition:pE.transition,popperOptions:FI.popperOptions,tabindex:FI.tabindex,content:pE.content,popperStyle:pE.popperStyle,popperClass:pE.popperClass,enterable:{...pE.enterable,default:!0},effect:{...pE.effect,default:`light`},teleported:pE.teleported,appendTo:pE.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),lZ={"update:visible":e=>ad(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},uZ=`onUpdate:visible`,dZ=J({name:`ElPopover`,__name:`popover`,props:cZ,emits:lZ,setup(t,{expose:n,emit:i}){let a=t,o=i,c=U(()=>a[uZ]),l=Q(`popover`),u=W(),d=U(()=>B(u)?.popperRef),f=U(()=>[{width:Hf(a.width)},a.popperStyle]),p=U(()=>[l.b(),a.popperClass,{[l.m(`plain`)]:!!a.content}]),m=U(()=>a.transition===`${l.namespace.value}-fade-in-linear`),h=()=>{u.value?.hide()},g=()=>{o(`before-enter`)},_=()=>{o(`before-leave`)},v=()=>{o(`after-enter`)},y=()=>{o(`update:visible`,!1),o(`after-leave`)};return n({popperRef:d,hide:h}),(n,i)=>(S(),V(B(DE),s({ref_key:`tooltipRef`,ref:u},n.$attrs,{trigger:t.trigger,"trigger-keys":t.triggerKeys,placement:t.placement,disabled:t.disabled,visible:t.visible,transition:t.transition,"popper-options":t.popperOptions,tabindex:t.tabindex,content:t.content,offset:t.offset,"show-after":t.showAfter,"hide-after":t.hideAfter,"auto-close":t.autoClose,"show-arrow":t.showArrow,"aria-label":t.title,effect:t.effect,enterable:t.enterable,"popper-class":p.value,"popper-style":f.value,teleported:t.teleported,"append-to":t.appendTo,persistent:t.persistent,"gpu-acceleration":m.value,"onUpdate:visible":c.value,onBeforeShow:g,onBeforeHide:_,onShow:v,onHide:y}),{content:e(()=>[t.title?(S(),G(`div`,{key:0,class:L(B(l).e(`title`)),role:`title`},R(t.title),3)):H(`v-if`,!0),r(n.$slots,`default`,{hide:h},()=>[ce(R(t.content),1)])]),default:e(()=>[n.$slots.reference?r(n.$slots,`reference`,{key:0}):H(`v-if`,!0)]),_:3},16,[`trigger`,`trigger-keys`,`placement`,`disabled`,`visible`,`transition`,`popper-options`,`tabindex`,`content`,`offset`,`show-after`,`hide-after`,`auto-close`,`show-arrow`,`aria-label`,`effect`,`enterable`,`popper-class`,`popper-style`,`teleported`,`append-to`,`persistent`,`gpu-acceleration`,`onUpdate:visible`]))}}),fZ=(e,t)=>{let n=(t.arg||t.value)?.popperRef;n&&(n.triggerRef=e)},pZ=ov({mounted(e,t){fZ(e,t)},updated(e,t){fZ(e,t)}},`popover`),mZ=iv(dZ,{directive:pZ}),hZ=`2.13.5`,gZ=(e=[])=>({version:hZ,install:(t,n)=>{t[Zn]||(t[Zn]=!0,e.forEach(e=>t.use(e)),n&&LD(n,t,!0))}}),_Z=[uv,HC,oD,jG,mD,hD,bD,xD,OD,kD,wO,TO,rj,ij,Sj,Cj,NM,DM,PM,Kj,qj,Jj,zM,tN,nN,GM,IN,BN,VD,KN,qN,JN,YN,XN,YF,KF,iI,aI,TI,EI,PI,IL,LL,RL,fR,wT,TT,$,xR,vR,BE,ER,FR,zR,lz,uz,dz,fz,gz,Kz,qz,mZ,fE,eB,uM,fM,dM,aB,cB,RM,tD,zA,BA,VA,GV,JV,YV,mH,vH,$N,rP,TH,EH,IH,vW,yW,AG,qG,JG,lA,YG,iA,rK,sK,cK,DE,TK,$K,lq,Pq,pJ,SJ,WJ,GJ,tY,nY,cY,yY,RY,zY],vZ=[qY,aX,OX,GX,sZ,pZ],yZ=gZ([..._Z,...vZ]);yZ.install,yZ.version;var bZ=yZ,xZ=typeof window<`u`,SZ,CZ=e=>SZ=e,wZ=Symbol();function TZ(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var EZ;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(EZ||={});var DZ=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function OZ(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function kZ(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){PZ(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function AZ(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function jZ(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var MZ=typeof navigator==`object`?navigator:{userAgent:``},NZ=/Macintosh/.test(MZ.userAgent)&&/AppleWebKit/.test(MZ.userAgent)&&!/Safari/.test(MZ.userAgent),PZ=xZ?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!NZ?FZ:`msSaveOrOpenBlob`in MZ?IZ:LZ:()=>{};function FZ(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?jZ(r):AZ(r.href)?kZ(e,t,n):(r.target=`_blank`,jZ(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){jZ(r)},0))}function IZ(e,t=`download`,n){if(typeof e==`string`)if(AZ(e))kZ(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){jZ(t)})}else navigator.msSaveOrOpenBlob(OZ(e,n),t)}function LZ(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return kZ(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(DZ.HTMLElement))||`safari`in DZ,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||NZ)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:RZ}=Object;function zZ(){let e=Be(!0),t=e.run(()=>W({})),n=[],r=[],i=ue({install(e){CZ(i),i._a=e,e.provide(wZ,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var BZ=()=>{};function VZ(e,t,n,r=BZ){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Ae()&&Me(i),i}function HZ(e,...t){e.forEach(e=>{e(...t)})}var UZ=e=>e(),WZ=Symbol(),GZ=Symbol();function KZ(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];TZ(i)&&TZ(r)&&e.hasOwnProperty(n)&&!Se(r)&&!Ie(r)?e[n]=KZ(i,r):e[n]=r}return e}var qZ=Symbol();function JZ(e){return!TZ(e)||!Object.prototype.hasOwnProperty.call(e,qZ)}var{assign:YZ}=Object;function XZ(e){return!!(Se(e)&&e.effect)}function ZZ(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),YZ(Oe(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=ue(U(()=>{CZ(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=QZ(e,l,t,n,r,!0),c}function QZ(e,t,n={},r,i,a){let o,s=YZ({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={}),W({});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:EZ.patchFunction,storeId:e,events:void 0}):(KZ(r.state.value[e],t),n={type:EZ.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();O().then(()=>{m===i&&(l=!0)}),u=!0,HZ(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{YZ(e,t)})}:BZ;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(WZ in t)return t[GZ]=n,t;let i=function(){CZ(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}HZ(f,{args:n,name:i[GZ],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw HZ(o,e),e}return l instanceof Promise?l.then(e=>(HZ(a,e),e)).catch(e=>(HZ(o,e),Promise.reject(e))):(HZ(a,l),l)};return i[WZ]=!0,i[GZ]=n,i},y=Re({_p:r,$id:e,$onAction:VZ.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=VZ(d,t,n.detached,()=>a()),a=o.run(()=>z(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:EZ.direct,events:void 0},r)},YZ({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||UZ)(()=>r._e.run(()=>(o=Be()).run(()=>t({action:v}))));for(let t in b){let n=b[t];Se(n)&&!XZ(n)||Ie(n)?a||(p&&JZ(n)&&(Se(n)?n.value=p[t]:KZ(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return YZ(y,b),YZ(_e(y),b),Object.defineProperty(y,`$state`,{get:()=>r.state.value[e],set:e=>{h(t=>{YZ(t,e)})}}),r._p.forEach(e=>{YZ(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function $Z(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Ue();return n||=o?P(wZ,null):null,n&&CZ(n),n=SZ,n._s.has(e)||(i?QZ(e,t,r,n):ZZ(e,r,n)),n._s.get(e)}return a.$id=e,a}var eQ=typeof document<`u`;function tQ(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function nQ(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&tQ(e.default)}var rQ=Object.assign;function iQ(e,t){let n={};for(let r in t){let i=t[r];n[r]=oQ(i)?i.map(e):e(i)}return n}var aQ=()=>{},oQ=Array.isArray;function sQ(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var cQ=/#/g,lQ=/&/g,uQ=/\//g,dQ=/=/g,fQ=/\?/g,pQ=/\+/g,mQ=/%5B/g,hQ=/%5D/g,gQ=/%5E/g,_Q=/%60/g,vQ=/%7B/g,yQ=/%7C/g,bQ=/%7D/g,xQ=/%20/g;function SQ(e){return e==null?``:encodeURI(``+e).replace(yQ,`|`).replace(mQ,`[`).replace(hQ,`]`)}function CQ(e){return SQ(e).replace(vQ,`{`).replace(bQ,`}`).replace(gQ,`^`)}function wQ(e){return SQ(e).replace(pQ,`%2B`).replace(xQ,`+`).replace(cQ,`%23`).replace(lQ,`%26`).replace(_Q,"`").replace(vQ,`{`).replace(bQ,`}`).replace(gQ,`^`)}function TQ(e){return wQ(e).replace(dQ,`%3D`)}function EQ(e){return SQ(e).replace(cQ,`%23`).replace(fQ,`%3F`)}function DQ(e){return EQ(e).replace(uQ,`%2F`)}function OQ(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var kQ=/\/$/,AQ=e=>e.replace(kQ,``);function jQ(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=zQ(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:OQ(o)}}function MQ(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function NQ(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function PQ(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&FQ(t.matched[r],n.matched[i])&&IQ(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function FQ(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function IQ(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!LQ(e[n],t[n]))return!1;return!0}function LQ(e,t){return oQ(e)?RQ(e,t):oQ(t)?RQ(t,e):e?.valueOf()===t?.valueOf()}function RQ(e,t){return oQ(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function zQ(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var BQ={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},VQ=function(e){return e.pop=`pop`,e.push=`push`,e}({}),HQ=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function UQ(e){if(!e)if(eQ){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),AQ(e)}var WQ=/^[^#]+#/;function GQ(e,t){return e.replace(WQ,`#`)+t}function KQ(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var qQ=()=>({left:window.scrollX,top:window.scrollY});function JQ(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=KQ(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function YQ(e,t){return(history.state?history.state.position-t:-1)+e}var XQ=new Map;function ZQ(e,t){XQ.set(e,t)}function QQ(e){let t=XQ.get(e);return XQ.delete(e),t}function $Q(e){return typeof e==`string`||e&&typeof e==`object`}function e$(e){return typeof e==`string`||typeof e==`symbol`}var t$=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),n$=Symbol(``);t$.MATCHER_NOT_FOUND,t$.NAVIGATION_GUARD_REDIRECT,t$.NAVIGATION_ABORTED,t$.NAVIGATION_CANCELLED,t$.NAVIGATION_DUPLICATED;function r$(e,t){return rQ(Error(),{type:e,[n$]:!0},t)}function i$(e,t){return e instanceof Error&&n$ in e&&(t==null||!!(e.type&t))}function a$(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&wQ(e)):[r&&wQ(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function s$(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=oQ(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var c$=Symbol(``),l$=Symbol(``),u$=Symbol(``),d$=Symbol(``),f$=Symbol(``);function p$(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function m$(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(r$(t$.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):$Q(e)?c(r$(t$.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function h$(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(tQ(s)){let c=(s.__vccOpts||s)[t];c&&a.push(m$(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=nQ(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&m$(c,n,r,o,e,i)()}))}}return a}function g$(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oFQ(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>FQ(e,s))||i.push(s))}return[n,r,i]}var _$=()=>location.protocol+`//`+location.host;function v$(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),NQ(n,``)}return NQ(n,e)+r+i}function y$(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=v$(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:VQ.pop,direction:u?u>0?HQ.forward:HQ.back:HQ.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(rQ({},e.state,{scroll:qQ()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function b$(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?qQ():null}}function x$(e){let{history:t,location:n}=window,r={value:v$(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:_$()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,rQ({},t.state,b$(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=rQ({},i.value,t.state,{forward:e,scroll:qQ()});a(o.current,o,!0),a(e,rQ({},b$(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function S$(e){e=UQ(e);let t=x$(e),n=y$(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=rQ({location:``,base:e,go:r,createHref:GQ.bind(null,e)},t,n);return Object.defineProperty(i,`location`,{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,`state`,{enumerable:!0,get:()=>t.state.value}),i}var C$=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),w$=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(w$||{}),T$={type:C$.Static,value:``},E$=/[a-zA-Z0-9_]/;function D$(e){if(!e)return[[]];if(e===`/`)return[[T$]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=w$.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===w$.Static?a.push({type:C$.Static,value:l}):n===w$.Param||n===w$.ParamRegExp||n===w$.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:C$.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===A$.Static+A$.Segment?1:-1:0}function P$(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var I$={strict:!1,end:!0,sensitive:!1};function L$(e,t,n){let r=rQ(M$(D$(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function R$(e,t){let n=[],r=new Map;t=sQ(I$,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=B$(e);s.aliasOf=r&&r.record;let l=sQ(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(B$(rQ({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=L$(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!H$(d)&&o(e.name)),K$(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:aQ}function o(e){if(e$(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=W$(e,n);n.splice(t,0,e),e.record.name&&!H$(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw r$(t$.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=rQ(z$(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&z$(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw r$(t$.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=rQ({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:U$(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function z$(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function B$(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:V$(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,`mods`,{value:{}}),t}function V$(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function H$(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function U$(e){return e.reduce((e,t)=>rQ(e,t.meta),{})}function W$(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;P$(e,t[i])<0?r=i:n=i+1}let i=G$(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function G$(e){let t=e;for(;t=t.parent;)if(K$(t)&&P$(e,t)===0)return t}function K$({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function q$(e){let t=P(u$),n=P(d$),r=U(()=>{let n=B(e.to);return t.resolve(n)}),i=U(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(FQ.bind(null,i));if(o>-1)return o;let s=Q$(e[t-2]);return t>1&&Q$(i)===s&&a[a.length-1].path!==s?a.findIndex(FQ.bind(null,e[t-2])):o}),a=U(()=>i.value>-1&&Z$(n.params,r.value.params)),o=U(()=>i.value>-1&&i.value===n.matched.length-1&&IQ(n.params,r.value.params));function s(n={}){if(X$(n)){let n=t[B(e.replace)?`replace`:`push`](B(e.to)).catch(aQ);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:U(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function J$(e){return e.length===1?e[0]:e}var Y$=J({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:q$,setup(e,{slots:t}){let n=Re(q$(e)),{options:r}=P(u$),i=U(()=>({[$$(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[$$(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&J$(t.default(n));return e.custom?r:a(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function X$(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Z$(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!oQ(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Q$(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var $$=(e,t,n)=>e??t??n,e1=J({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=P(f$),i=U(()=>e.route||r.value),o=P(l$,0),s=U(()=>{let e=B(o),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),c=U(()=>i.value.matched[s.value]);N(l$,U(()=>s.value+1)),N(c$,c),N(f$,i);let l=W();return z(()=>[l.value,c.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!FQ(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,o=e.name,s=c.value,u=s&&s.components[o];if(!u)return t1(n.default,{Component:u,route:r});let d=s.props[o],f=a(u,rQ({},d?d===!0?r.params:typeof d==`function`?d(r):d:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(s.instances[o]=null)},ref:l}));return t1(n.default,{Component:f,route:r})||f}}});function t1(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var n1=e1;function r1(e){let t=R$(e.routes,e),n=e.parseQuery||a$,r=e.stringifyQuery||o$,i=e.history,a=p$(),o=p$(),s=p$(),c=he(BQ),l=BQ;eQ&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=iQ.bind(null,e=>``+e),d=iQ.bind(null,DQ),f=iQ.bind(null,OQ);function p(e,n){let r,i;return e$(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=rQ({},a||c.value),typeof e==`string`){let r=jQ(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return rQ(r,o,{params:f(o.params),hash:OQ(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=rQ({},e,{path:jQ(n,e.path,a.path).path});else{let t=rQ({},e.params);for(let e in t)t[e]??delete t[e];o=rQ({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=MQ(r,rQ({},e,{hash:CQ(l),path:s.path})),m=i.createHref(p);return rQ({fullPath:p,hash:l,query:r===o$?s$(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?jQ(n,e,c.value.path):rQ({},e)}function y(e,t){if(l!==e)return r$(t$.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(rQ(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),rQ({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(rQ(v(u),{state:typeof u==`object`?rQ({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&PQ(r,i,n)&&(f=r$(t$.NAVIGATION_DUPLICATED,{to:d,from:i}),re(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>i$(e)?i$(e,t$.NAVIGATION_GUARD_REDIRECT)?e:P(e):te(e,d,i)).then(e=>{if(e){if(i$(e,t$.NAVIGATION_GUARD_REDIRECT))return C(rQ({replace:s},v(e.to),{state:typeof e.to==`object`?rQ({},a,e.to.state):a,force:o}),t||d)}else e=k(d,i,!0,s,a);return D(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ie.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=g$(e,t);n=h$(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(m$(r,e,t))});let c=w.bind(null,e,t);return n.push(c),ae(n).then(()=>{n=[];for(let r of a.list())n.push(m$(r,e,t));return n.push(c),ae(n)}).then(()=>{n=h$(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(m$(r,e,t))});return n.push(c),ae(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(oQ(r.beforeEnter))for(let i of r.beforeEnter)n.push(m$(i,e,t));else n.push(m$(r.beforeEnter,e,t));return n.push(c),ae(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=h$(s,`beforeRouteEnter`,e,t,T),n.push(c),ae(n))).then(()=>{n=[];for(let r of o.list())n.push(m$(r,e,t));return n.push(c),ae(n)}).catch(e=>i$(e,t$.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function D(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function k(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===BQ,l=eQ?history.state:{};n&&(r||s?i.replace(e.fullPath,rQ({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,re(e,t,n,s),P()}let A;function j(){A||=i.listen((e,t,n)=>{if(!L.listening)return;let r=_(e),a=S(r,L.currentRoute.value);if(a){C(rQ(a,{replace:!0,force:!0}),r).catch(aQ);return}l=r;let o=c.value;eQ&&ZQ(YQ(o.fullPath,n.delta),qQ()),E(r,o).catch(e=>i$(e,t$.NAVIGATION_ABORTED|t$.NAVIGATION_CANCELLED)?e:i$(e,t$.NAVIGATION_GUARD_REDIRECT)?(C(rQ(v(e.to),{force:!0}),r).then(e=>{i$(e,t$.NAVIGATION_ABORTED|t$.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===VQ.pop&&i.go(-1,!1)}).catch(aQ),Promise.reject()):(n.delta&&i.go(-n.delta,!1),te(e,r,o))).then(e=>{e||=k(r,o,!1),e&&(n.delta&&!i$(e,t$.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===VQ.pop&&i$(e,t$.NAVIGATION_ABORTED|t$.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),D(r,o,e)}).catch(aQ)})}let M=p$(),N=p$(),ee;function te(e,t,n){P(e);let r=N.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function ne(){return ee&&c.value!==BQ?Promise.resolve():new Promise((e,t)=>{M.add([e,t])})}function P(e){return ee||(ee=!e,j(),M.list().forEach(([t,n])=>e?n(e):t()),M.reset()),e}function re(t,n,r,i){let{scrollBehavior:a}=e;if(!eQ||!a)return Promise.resolve();let o=!r&&QQ(YQ(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return O().then(()=>a(t,n,o)).then(e=>e&&JQ(e)).catch(e=>te(e,t,n))}let F=e=>i.go(e),I,ie=new Set,L={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:F,back:()=>F(-1),forward:()=>F(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:N.add,isReady:ne,install(e){e.component(`RouterLink`,Y$),e.component(`RouterView`,n1),e.config.globalProperties.$router=L,Object.defineProperty(e.config.globalProperties,`$route`,{enumerable:!0,get:()=>B(c)}),eQ&&!I&&c.value===BQ&&(I=!0,b(i.location).catch(e=>{}));let t={};for(let e in BQ)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(u$,L),e.provide(d$,Ve(t)),e.provide(f$,c);let n=e.unmount;ie.add(e),e.unmount=function(){ie.delete(e),ie.size<1&&(l=BQ,A&&A(),A=null,c.value=BQ,I=!1,ee=!1),n()}}};function ae(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return L}function i1(){return P(u$)}function a1(e){return P(d$)}var o1=ot(rt(((e,t)=>{(function(n,r){typeof define==`function`&&define.amd?define(r):typeof e==`object`?t.exports=r():n.NProgress=r()})(e,function(){var e={};e.version=`0.2.0`;var t=e.settings={minimum:.08,easing:`ease`,positionUsing:``,speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:`[role="bar"]`,spinnerSelector:`[role="spinner"]`,parent:`body`,template:`
`};e.configure=function(e){var n,r;for(n in e)r=e[n],r!==void 0&&e.hasOwnProperty(n)&&(t[n]=r);return this},e.status=null,e.set=function(r){var s=e.isStarted();r=n(r,t.minimum,1),e.status=r===1?null:r;var c=e.render(!s),l=c.querySelector(t.barSelector),u=t.speed,d=t.easing;return c.offsetWidth,a(function(n){t.positionUsing===``&&(t.positionUsing=e.getPositioningCSS()),o(l,i(r,u,d)),r===1?(o(c,{transition:`none`,opacity:1}),c.offsetWidth,setTimeout(function(){o(c,{transition:`all `+u+`ms linear`,opacity:0}),setTimeout(function(){e.remove(),n()},u)},u)):setTimeout(n,u)}),this},e.isStarted=function(){return typeof e.status==`number`},e.start=function(){e.status||e.set(0);var n=function(){setTimeout(function(){e.status&&(e.trickle(),n())},t.trickleSpeed)};return t.trickle&&n(),this},e.done=function(t){return!t&&!e.status?this:e.inc(.3+.5*Math.random()).set(1)},e.inc=function(t){var r=e.status;return r?(typeof t!=`number`&&(t=(1-r)*n(Math.random()*r,.1,.95)),r=n(r+t,0,.994),e.set(r)):e.start()},e.trickle=function(){return e.inc(Math.random()*t.trickleRate)},(function(){var t=0,n=0;e.promise=function(r){return!r||r.state()===`resolved`?this:(n===0&&e.start(),t++,n++,r.always(function(){n--,n===0?(t=0,e.done()):e.set((t-n)/t)}),this)}})(),e.render=function(n){if(e.isRendered())return document.getElementById(`nprogress`);c(document.documentElement,`nprogress-busy`);var i=document.createElement(`div`);i.id=`nprogress`,i.innerHTML=t.template;var a=i.querySelector(t.barSelector),s=n?`-100`:r(e.status||0),l=document.querySelector(t.parent),u;return o(a,{transition:`all 0 linear`,transform:`translate3d(`+s+`%,0,0)`}),t.showSpinner||(u=i.querySelector(t.spinnerSelector),u&&d(u)),l!=document.body&&c(l,`nprogress-custom-parent`),l.appendChild(i),i},e.remove=function(){l(document.documentElement,`nprogress-busy`),l(document.querySelector(t.parent),`nprogress-custom-parent`);var e=document.getElementById(`nprogress`);e&&d(e)},e.isRendered=function(){return!!document.getElementById(`nprogress`)},e.getPositioningCSS=function(){var e=document.body.style,t=`WebkitTransform`in e?`Webkit`:`MozTransform`in e?`Moz`:`msTransform`in e?`ms`:`OTransform`in e?`O`:``;return t+`Perspective`in e?`translate3d`:t+`Transform`in e?`translate`:`margin`};function n(e,t,n){return en?n:e}function r(e){return(-1+e)*100}function i(e,n,i){var a=t.positionUsing===`translate3d`?{transform:`translate3d(`+r(e)+`%,0,0)`}:t.positionUsing===`translate`?{transform:`translate(`+r(e)+`%,0)`}:{"margin-left":r(e)+`%`};return a.transition=`all `+n+`ms `+i,a}var a=(function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),e.length==1&&t()}})(),o=(function(){var e=[`Webkit`,`O`,`Moz`,`ms`],t={};function n(e){return e.replace(/^-ms-/,`ms-`).replace(/-([\da-z])/gi,function(e,t){return t.toUpperCase()})}function r(t){var n=document.body.style;if(t in n)return t;for(var r=e.length,i=t.charAt(0).toUpperCase()+t.slice(1),a;r--;)if(a=e[r]+i,a in n)return a;return t}function i(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=i(t),e.style[t]=n}return function(e,t){var n=arguments,r,i;if(n.length==2)for(r in t)i=t[r],i!==void 0&&t.hasOwnProperty(r)&&a(e,r,i);else a(e,n[1],n[2])}})();function s(e,t){return(typeof e==`string`?e:u(e)).indexOf(` `+t+` `)>=0}function c(e,t){var n=u(e),r=n+t;s(n,t)||(e.className=r.substring(1))}function l(e,t){var n=u(e),r;s(e,t)&&(r=n.replace(` `+t+` `,` `),e.className=r.substring(1,r.length-1))}function u(e){return(` `+(e.className||``)+` `).replace(/\s+/gi,` `)}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return e})}))(),1),s1=[{path:`/login`,name:`Login`,component:()=>Xe(()=>import(`./login-ChQUh91H.js`),__vite__mapDeps([0,1,2,3,4,5])),meta:{title:`登录`,hidden:!0}},{path:`/register`,name:`Register`,component:()=>Xe(()=>import(`./register-CDFAtgib.js`),__vite__mapDeps([6,2,5])),meta:{title:`员工注册`,hidden:!0}},{path:`/404`,name:`NotFound`,component:()=>Xe(()=>import(`./404-F8BsopE3.js`),__vite__mapDeps([7,2,8])),meta:{title:`页面不存在`,hidden:!0}}];o1.default.configure({showSpinner:!1});var c1=r1({history:S$(),routes:s1,scrollBehavior(e,t,n){return n||{top:0}}}),l1=[`/login`,`/register`,`/404`];c1.beforeEach(async(e,t,n)=>{o1.default.start();let{useUserStore:r}=await Xe(async()=>{let{useUserStore:e}=await import(`./user-BFl2lhly.js`).then(e=>e.n);return{useUserStore:e}},__vite__mapDeps([3,2,4,5])),{usePermissionStore:i}=await Xe(async()=>{let{usePermissionStore:e}=await import(`./permission-CF2X1nKp.js`);return{usePermissionStore:e}},__vite__mapDeps([9,10,2])),a=r(),o=i();if(a.token)if(e.path===`/login`)n({path:`/`});else if(a.userInfo)n();else try{await a.getInfo(),o.generateRoutes(a.menus).forEach(e=>c1.addRoute(e)),n({...e,replace:!0})}catch{await a.logout(),n(`/login?redirect=${e.path}`)}else l1.includes(e.path)?n():n(`/login?redirect=${e.path}`)}),c1.afterEach(()=>{o1.default.done()});var u1=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},d1={};function f1(e,t){let n=ie(`router-view`);return S(),V(n)}var p1=Un(u1(d1,[[`render`,f1]]));for(let[e,t]of Object.entries(dv))p1.component(e,t);p1.use(zZ()),p1.use(c1),p1.use(bZ),p1.mount(`#app`);export{$Z as a,bt as c,it as d,i1 as i,Rn as l,s1 as n,GX as o,a1 as r,OX as s,u1 as t,In as u}; \ No newline at end of file diff --git a/frontend/dist/assets/inventory-BCukmUtW.js b/frontend/dist/assets/inventory-BVEZNzEQ.js similarity index 93% rename from frontend/dist/assets/inventory-BCukmUtW.js rename to frontend/dist/assets/inventory-BVEZNzEQ.js index 425653d..37f14e4 100644 --- a/frontend/dist/assets/inventory-BCukmUtW.js +++ b/frontend/dist/assets/inventory-BVEZNzEQ.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/inventory/warehouses`,{params:t}),getDetail:t=>e.get(`/inventory/warehouses/${t}`),create:t=>e.post(`/inventory/warehouses`,t),update:(t,n)=>e.put(`/inventory/warehouses/${t}`,n),delete:t=>e.delete(`/inventory/warehouses/${t}`)},n={getList:t=>e.get(`/inventory/suppliers`,{params:t}),getDetail:t=>e.get(`/inventory/suppliers/${t}`),create:t=>e.post(`/inventory/suppliers`,t),update:(t,n)=>e.put(`/inventory/suppliers/${t}`,n),delete:t=>e.delete(`/inventory/suppliers/${t}`)},r={getList:t=>e.get(`/inventory/materials`,{params:t}),getDetail:t=>e.get(`/inventory/materials/${t}`),create:t=>e.post(`/inventory/materials`,t),update:(t,n)=>e.put(`/inventory/materials/${t}`,n),delete:t=>e.delete(`/inventory/materials/${t}`)},i={getList:t=>e.get(`/inventory/purchase-orders`,{params:t}),getDetail:t=>e.get(`/inventory/purchase-orders/${t}`),create:t=>e.post(`/inventory/purchase-orders`,t),update:(t,n)=>e.put(`/inventory/purchase-orders/${t}`,n),delete:t=>e.delete(`/inventory/purchase-orders/${t}`),audit:(t,n)=>e.put(`/inventory/purchase-orders/${t}/audit`,n)},a={getList:t=>e.get(`/inventory/stock-movements`,{params:t}),getDetail:t=>e.get(`/inventory/stock-movements/${t}`),create:t=>e.post(`/inventory/stock-movements`,t),confirm:t=>e.put(`/inventory/stock-movements/${t}/confirm`)},o={getList:t=>e.get(`/inventory/stock`,{params:t}),export:t=>e.get(`/inventory/stock/export`,{params:t,responseType:`blob`})},s={getList:t=>e.get(`/inventory/transfers`,{params:t}),getDetail:t=>e.get(`/inventory/transfers/${t}`),create:t=>e.post(`/inventory/transfers`,t),confirm:t=>e.put(`/inventory/transfers/${t}/confirm`),cancel:t=>e.put(`/inventory/transfers/${t}/cancel`)},c={getList:t=>e.get(`/inventory/checks`,{params:t}),getDetail:t=>e.get(`/inventory/checks/${t}`),create:t=>e.post(`/inventory/checks`,t),complete:(t,n)=>e.put(`/inventory/checks/${t}/complete`,n)};export{a,t as c,o as i,r as n,n as o,i as r,s,c as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/inventory/warehouses`,{params:t}),getDetail:t=>e.get(`/inventory/warehouses/${t}`),create:t=>e.post(`/inventory/warehouses`,t),update:(t,n)=>e.put(`/inventory/warehouses/${t}`,n),delete:t=>e.delete(`/inventory/warehouses/${t}`)},n={getList:t=>e.get(`/inventory/suppliers`,{params:t}),getDetail:t=>e.get(`/inventory/suppliers/${t}`),create:t=>e.post(`/inventory/suppliers`,t),update:(t,n)=>e.put(`/inventory/suppliers/${t}`,n),delete:t=>e.delete(`/inventory/suppliers/${t}`)},r={getList:t=>e.get(`/inventory/materials`,{params:t}),getDetail:t=>e.get(`/inventory/materials/${t}`),create:t=>e.post(`/inventory/materials`,t),update:(t,n)=>e.put(`/inventory/materials/${t}`,n),delete:t=>e.delete(`/inventory/materials/${t}`)},i={getList:t=>e.get(`/inventory/purchase-orders`,{params:t}),getDetail:t=>e.get(`/inventory/purchase-orders/${t}`),create:t=>e.post(`/inventory/purchase-orders`,t),update:(t,n)=>e.put(`/inventory/purchase-orders/${t}`,n),delete:t=>e.delete(`/inventory/purchase-orders/${t}`),audit:(t,n)=>e.put(`/inventory/purchase-orders/${t}/audit`,n)},a={getList:t=>e.get(`/inventory/stock-movements`,{params:t}),getDetail:t=>e.get(`/inventory/stock-movements/${t}`),create:t=>e.post(`/inventory/stock-movements`,t),confirm:t=>e.put(`/inventory/stock-movements/${t}/confirm`)},o={getList:t=>e.get(`/inventory/stock`,{params:t}),export:t=>e.get(`/inventory/stock/export`,{params:t,responseType:`blob`})},s={getList:t=>e.get(`/inventory/transfers`,{params:t}),getDetail:t=>e.get(`/inventory/transfers/${t}`),create:t=>e.post(`/inventory/transfers`,t),confirm:t=>e.put(`/inventory/transfers/${t}/confirm`),cancel:t=>e.put(`/inventory/transfers/${t}/cancel`)},c={getList:t=>e.get(`/inventory/checks`,{params:t}),getDetail:t=>e.get(`/inventory/checks/${t}`),create:t=>e.post(`/inventory/checks`,t),complete:(t,n)=>e.put(`/inventory/checks/${t}/complete`,n)};export{a,t as c,o as i,r as n,n as o,i as r,s,c as t}; \ No newline at end of file diff --git a/frontend/dist/assets/invoices-Qo11LBiA.js b/frontend/dist/assets/invoices-BQmi2e7M.js similarity index 97% rename from frontend/dist/assets/invoices-Qo11LBiA.js rename to frontend/dist/assets/invoices-BQmi2e7M.js index e07d823..dee5b68 100644 --- a/frontend/dist/assets/invoices-Qo11LBiA.js +++ b/frontend/dist/assets/invoices-BQmi2e7M.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as s,f as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{a as y}from"./finance-CoczR0xj.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D={0:`待开`,1:`已开`,2:`已红冲`},O={0:`warning`,1:`success`,2:`danger`},k={1:`电子`,2:`纸质`},A=u([]),j=u(0),M=u(!1),N=u(!1),P=u(!1),F=f({invoice_no:``,status:``,type:``}),I=f({page:1,per_page:15}),L=u(null),R=f({id:null,invoice_no:``,customer_id:``,type:1,amount:0,tax_amount:0,title:``,tax_no:``}),z=u(!1),B={invoice_no:[{required:!0,message:`请输入发票号`,trigger:`blur`}]};async function V(){M.value=!0;try{let e=await y.getList({...F,...I});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}finally{M.value=!1}}function H(){I.page=1,V()}function U(){Object.assign(F,{invoice_no:``,status:``,type:``}),H()}function W(){z.value=!1,Object.assign(R,{id:null,invoice_no:``,customer_id:``,type:1,amount:0,tax_amount:0,title:``,tax_no:``}),N.value=!0}async function G(e){z.value=!0,Object.assign(R,{...e}),N.value=!0}async function K(){L.value&&await L.value.validate(async e=>{if(e){P.value=!0;try{z.value?(await y.update(R.id,R),v.success(`更新成功`)):(await y.create(R),v.success(`创建成功`)),N.value=!1,V()}finally{P.value=!1}}})}async function q(e){await _.confirm(`确定删除发票「${e.invoice_no}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),V()}async function J(e){await _.confirm(`确定开具发票「${e.invoice_no}」吗?`,`开票确认`,{type:`info`}),await y.issue(e.id),v.success(`开票成功`),V()}function Y(e){I.page=e,V()}function X(e){I.per_page=e,I.page=1,V()}return ee(()=>V()),(ee,u)=>{let f=r(`el-input`),_=r(`el-option`),v=r(`el-select`),y=r(`el-button`),E=r(`el-table-column`),V=r(`el-tag`),Z=r(`el-table`),te=r(`el-pagination`),Q=r(`el-form-item`),$=r(`el-input-number`),ne=r(`el-form`),re=r(`el-dialog`),ie=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:F.invoice_no,"onUpdate:modelValue":u[0]||=e=>F.invoice_no=e,placeholder:`发票号`,style:{width:`180px`},clearable:``,onKeydown:g(H,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:F.status,"onUpdate:modelValue":u[1]||=e=>F.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(D,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{modelValue:F.type,"onUpdate:modelValue":u[2]||=e=>F.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(k,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[14]||=[a(`查询`,-1)]]),_:1}),m(y,{onClick:U},{default:e(()=>[...u[15]||=[a(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[17]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`发票列表`)],-1),m(y,{type:`primary`,onClick:W},{default:e(()=>[...u[16]||=[a(`新增发票`,-1)]]),_:1})]),p(`div`,w,[s((n(),o(Z,{data:A.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`invoice_no`,label:`发票号`,"min-width":`150`}),m(E,{prop:`customer_id`,label:`客户ID`,width:`100`,align:`center`}),m(E,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[m(V,{size:`small`},{default:e(()=>[a(i(k[t.type]),1)]),_:2},1024)]),_:1}),m(E,{prop:`amount`,label:`金额`,width:`100`,align:`right`}),m(E,{prop:`tax_amount`,label:`税额`,width:`100`,align:`right`}),m(E,{prop:`title`,label:`发票抬头`,"min-width":`180`,"show-overflow-tooltip":``}),m(E,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(V,{type:O[t.status],size:`small`},{default:e(()=>[a(i(D[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(E,{prop:`issued_at`,label:`开票时间`,width:`160`}),m(E,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),o(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>J(t)},{default:e(()=>[...u[18]||=[a(`开票`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.status===0?(n(),o(y,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[19]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.status===0?(n(),o(y,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[20]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])):c(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,M.value]])]),p(`div`,T,[m(te,{"current-page":I.page,"onUpdate:currentPage":u[3]||=e=>I.page=e,"page-size":I.per_page,"onUpdate:pageSize":u[4]||=e=>I.per_page=e,total:j.value,"page-sizes":[10,15,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),m(re,{modelValue:N.value,"onUpdate:modelValue":u[13]||=e=>N.value=e,title:z.value?`编辑发票`:`新增发票`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[12]||=e=>N.value=!1},{default:e(()=>[...u[21]||=[a(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:P.value,onClick:K},{default:e(()=>[...u[22]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ne,{ref_key:`formRef`,ref:L,model:R,rules:B,"label-width":`100px`},{default:e(()=>[m(Q,{label:`发票号`,prop:`invoice_no`},{default:e(()=>[m(f,{modelValue:R.invoice_no,"onUpdate:modelValue":u[5]||=e=>R.invoice_no=e,placeholder:`请输入发票号`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`客户ID`},{default:e(()=>[m(f,{modelValue:R.customer_id,"onUpdate:modelValue":u[6]||=e=>R.customer_id=e,placeholder:`请输入客户ID`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`类型`},{default:e(()=>[m(v,{modelValue:R.type,"onUpdate:modelValue":u[7]||=e=>R.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(k,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Q,{label:`金额`},{default:e(()=>[m($,{modelValue:R.amount,"onUpdate:modelValue":u[8]||=e=>R.amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`税额`},{default:e(()=>[m($,{modelValue:R.tax_amount,"onUpdate:modelValue":u[9]||=e=>R.tax_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`发票抬头`},{default:e(()=>[m(f,{modelValue:R.title,"onUpdate:modelValue":u[10]||=e=>R.title=e,placeholder:`请输入发票抬头`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`税号`},{default:e(()=>[m(f,{modelValue:R.tax_no,"onUpdate:modelValue":u[11]||=e=>R.tax_no=e,placeholder:`请输入税号`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as s,f as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{a as y}from"./finance-xn2Nlkdw.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D={0:`待开`,1:`已开`,2:`已红冲`},O={0:`warning`,1:`success`,2:`danger`},k={1:`电子`,2:`纸质`},A=u([]),j=u(0),M=u(!1),N=u(!1),P=u(!1),F=f({invoice_no:``,status:``,type:``}),I=f({page:1,per_page:15}),L=u(null),R=f({id:null,invoice_no:``,customer_id:``,type:1,amount:0,tax_amount:0,title:``,tax_no:``}),z=u(!1),B={invoice_no:[{required:!0,message:`请输入发票号`,trigger:`blur`}]};async function V(){M.value=!0;try{let e=await y.getList({...F,...I});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}finally{M.value=!1}}function H(){I.page=1,V()}function U(){Object.assign(F,{invoice_no:``,status:``,type:``}),H()}function W(){z.value=!1,Object.assign(R,{id:null,invoice_no:``,customer_id:``,type:1,amount:0,tax_amount:0,title:``,tax_no:``}),N.value=!0}async function G(e){z.value=!0,Object.assign(R,{...e}),N.value=!0}async function K(){L.value&&await L.value.validate(async e=>{if(e){P.value=!0;try{z.value?(await y.update(R.id,R),v.success(`更新成功`)):(await y.create(R),v.success(`创建成功`)),N.value=!1,V()}finally{P.value=!1}}})}async function q(e){await _.confirm(`确定删除发票「${e.invoice_no}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),V()}async function J(e){await _.confirm(`确定开具发票「${e.invoice_no}」吗?`,`开票确认`,{type:`info`}),await y.issue(e.id),v.success(`开票成功`),V()}function Y(e){I.page=e,V()}function X(e){I.per_page=e,I.page=1,V()}return ee(()=>V()),(ee,u)=>{let f=r(`el-input`),_=r(`el-option`),v=r(`el-select`),y=r(`el-button`),E=r(`el-table-column`),V=r(`el-tag`),Z=r(`el-table`),te=r(`el-pagination`),Q=r(`el-form-item`),$=r(`el-input-number`),ne=r(`el-form`),re=r(`el-dialog`),ie=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:F.invoice_no,"onUpdate:modelValue":u[0]||=e=>F.invoice_no=e,placeholder:`发票号`,style:{width:`180px`},clearable:``,onKeydown:g(H,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:F.status,"onUpdate:modelValue":u[1]||=e=>F.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(D,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{modelValue:F.type,"onUpdate:modelValue":u[2]||=e=>F.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(k,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[14]||=[a(`查询`,-1)]]),_:1}),m(y,{onClick:U},{default:e(()=>[...u[15]||=[a(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[17]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`发票列表`)],-1),m(y,{type:`primary`,onClick:W},{default:e(()=>[...u[16]||=[a(`新增发票`,-1)]]),_:1})]),p(`div`,w,[s((n(),o(Z,{data:A.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`invoice_no`,label:`发票号`,"min-width":`150`}),m(E,{prop:`customer_id`,label:`客户ID`,width:`100`,align:`center`}),m(E,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[m(V,{size:`small`},{default:e(()=>[a(i(k[t.type]),1)]),_:2},1024)]),_:1}),m(E,{prop:`amount`,label:`金额`,width:`100`,align:`right`}),m(E,{prop:`tax_amount`,label:`税额`,width:`100`,align:`right`}),m(E,{prop:`title`,label:`发票抬头`,"min-width":`180`,"show-overflow-tooltip":``}),m(E,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(V,{type:O[t.status],size:`small`},{default:e(()=>[a(i(D[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(E,{prop:`issued_at`,label:`开票时间`,width:`160`}),m(E,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),o(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>J(t)},{default:e(()=>[...u[18]||=[a(`开票`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.status===0?(n(),o(y,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[19]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.status===0?(n(),o(y,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[20]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])):c(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,M.value]])]),p(`div`,T,[m(te,{"current-page":I.page,"onUpdate:currentPage":u[3]||=e=>I.page=e,"page-size":I.per_page,"onUpdate:pageSize":u[4]||=e=>I.per_page=e,total:j.value,"page-sizes":[10,15,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),m(re,{modelValue:N.value,"onUpdate:modelValue":u[13]||=e=>N.value=e,title:z.value?`编辑发票`:`新增发票`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[12]||=e=>N.value=!1},{default:e(()=>[...u[21]||=[a(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:P.value,onClick:K},{default:e(()=>[...u[22]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ne,{ref_key:`formRef`,ref:L,model:R,rules:B,"label-width":`100px`},{default:e(()=>[m(Q,{label:`发票号`,prop:`invoice_no`},{default:e(()=>[m(f,{modelValue:R.invoice_no,"onUpdate:modelValue":u[5]||=e=>R.invoice_no=e,placeholder:`请输入发票号`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`客户ID`},{default:e(()=>[m(f,{modelValue:R.customer_id,"onUpdate:modelValue":u[6]||=e=>R.customer_id=e,placeholder:`请输入客户ID`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`类型`},{default:e(()=>[m(v,{modelValue:R.type,"onUpdate:modelValue":u[7]||=e=>R.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(k,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Q,{label:`金额`},{default:e(()=>[m($,{modelValue:R.amount,"onUpdate:modelValue":u[8]||=e=>R.amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`税额`},{default:e(()=>[m($,{modelValue:R.tax_amount,"onUpdate:modelValue":u[9]||=e=>R.tax_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`发票抬头`},{default:e(()=>[m(f,{modelValue:R.title,"onUpdate:modelValue":u[10]||=e=>R.title=e,placeholder:`请输入发票抬头`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`税号`},{default:e(()=>[m(f,{modelValue:R.tax_no,"onUpdate:modelValue":u[11]||=e=>R.tax_no=e,placeholder:`请输入税号`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file diff --git a/frontend/dist/assets/items-C2rlBFYf.js b/frontend/dist/assets/items-DALYJmTT.js similarity index 97% rename from frontend/dist/assets/items-C2rlBFYf.js rename to frontend/dist/assets/items-DALYJmTT.js index 1d7763e..5835865 100644 --- a/frontend/dist/assets/items-C2rlBFYf.js +++ b/frontend/dist/assets/items-DALYJmTT.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as v}from"./service-Cm4zwPyA.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({name:``,category:``,status:``}),M=f({page:1,per_page:15}),N=u(null),P=f({id:null,name:``,category:``,price:0,duration:0,description:``,status:1,sort:0}),F=u(!1),I={name:[{required:!0,message:`请输入项目名称`,trigger:`blur`}],price:[{required:!0,message:`请输入价格`,trigger:`blur`}]},L={1:`启用`,0:`停用`},R={1:`产后修复`,2:`中医调理`,3:`美容美体`,4:`其他`};async function z(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function B(){M.page=1,z()}function V(){Object.assign(j,{name:``,category:``,status:``}),B()}function H(){F.value=!1,Object.assign(P,{id:null,name:``,category:``,price:0,duration:0,description:``,status:1,sort:0}),k.value=!0}function U(e){F.value=!0,Object.assign(P,{id:e.id,name:e.name,category:e.category,price:e.price,duration:e.duration,description:e.description||``,status:e.status,sort:e.sort}),k.value=!0}async function W(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?await v.update(P.id,P):await v.create(P),_.success(F.value?`更新成功`:`创建成功`),k.value=!1,z()}finally{A.value=!1}}})}async function G(e){await g.confirm(`确定删除「${e.name}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),z()}function K(e){M.page=e,z()}function q(e){M.per_page=e,M.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),g=i(`el-option`),_=i(`el-select`),v=i(`el-button`),T=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input-number`),Q=i(`el-switch`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(f,{modelValue:j.name,"onUpdate:modelValue":u[0]||=e=>j.name=e,placeholder:`项目名称`,style:{width:`180px`},clearable:``},null,8,[`modelValue`]),m(_,{modelValue:j.category,"onUpdate:modelValue":u[1]||=e=>j.category=e,placeholder:`分类`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[2]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(g,{label:`启用`,value:1}),m(g,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),m(v,{type:`primary`,onClick:B},{default:e(()=>[...u[14]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:V},{default:e(()=>[...u[15]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[17]||=p(`div`,{class:`flex items-center gap-3`},null,-1),m(v,{type:`primary`,onClick:H},{default:e(()=>[...u[16]||=[o(`新增项目`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(J,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{prop:`name`,label:`项目名称`,"min-width":`150`}),m(T,{label:`分类`,width:`120`},{default:e(({row:e})=>[o(a(R[e.category]||`-`),1)]),_:1}),m(T,{prop:`price`,label:`价格(元)`,width:`100`,align:`right`}),m(T,{prop:`duration`,label:`时长(分)`,width:`100`,align:`center`}),m(T,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(v,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[18]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(v,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[19]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,O.value]])]),p(`div`,w,[m(Y,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:D.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:k.value,"onUpdate:modelValue":u[13]||=e=>k.value=e,title:F.value?`编辑项目`:`新增项目`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[12]||=e=>k.value=!1},{default:e(()=>[...u[20]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:W},{default:e(()=>[...u[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[m(X,{label:`项目名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:P.name,"onUpdate:modelValue":u[5]||=e=>P.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`分类`},{default:e(()=>[m(_,{modelValue:P.category,"onUpdate:modelValue":u[6]||=e=>P.category=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`价格`,prop:`price`},{default:e(()=>[m(Z,{modelValue:P.price,"onUpdate:modelValue":u[7]||=e=>P.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`时长(分钟)`},{default:e(()=>[m(Z,{modelValue:P.duration,"onUpdate:modelValue":u[8]||=e=>P.duration=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`描述`},{default:e(()=>[m(f,{modelValue:P.description,"onUpdate:modelValue":u[9]||=e=>P.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Q,{modelValue:P.status,"onUpdate:modelValue":u[10]||=e=>P.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),m(X,{label:`排序`},{default:e(()=>[m(Z,{modelValue:P.sort,"onUpdate:modelValue":u[11]||=e=>P.sort=e,min:0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as v}from"./service-nZ3xVURY.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({name:``,category:``,status:``}),M=f({page:1,per_page:15}),N=u(null),P=f({id:null,name:``,category:``,price:0,duration:0,description:``,status:1,sort:0}),F=u(!1),I={name:[{required:!0,message:`请输入项目名称`,trigger:`blur`}],price:[{required:!0,message:`请输入价格`,trigger:`blur`}]},L={1:`启用`,0:`停用`},R={1:`产后修复`,2:`中医调理`,3:`美容美体`,4:`其他`};async function z(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function B(){M.page=1,z()}function V(){Object.assign(j,{name:``,category:``,status:``}),B()}function H(){F.value=!1,Object.assign(P,{id:null,name:``,category:``,price:0,duration:0,description:``,status:1,sort:0}),k.value=!0}function U(e){F.value=!0,Object.assign(P,{id:e.id,name:e.name,category:e.category,price:e.price,duration:e.duration,description:e.description||``,status:e.status,sort:e.sort}),k.value=!0}async function W(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?await v.update(P.id,P):await v.create(P),_.success(F.value?`更新成功`:`创建成功`),k.value=!1,z()}finally{A.value=!1}}})}async function G(e){await g.confirm(`确定删除「${e.name}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),z()}function K(e){M.page=e,z()}function q(e){M.per_page=e,M.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),g=i(`el-option`),_=i(`el-select`),v=i(`el-button`),T=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input-number`),Q=i(`el-switch`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(f,{modelValue:j.name,"onUpdate:modelValue":u[0]||=e=>j.name=e,placeholder:`项目名称`,style:{width:`180px`},clearable:``},null,8,[`modelValue`]),m(_,{modelValue:j.category,"onUpdate:modelValue":u[1]||=e=>j.category=e,placeholder:`分类`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[2]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(g,{label:`启用`,value:1}),m(g,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),m(v,{type:`primary`,onClick:B},{default:e(()=>[...u[14]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:V},{default:e(()=>[...u[15]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[17]||=p(`div`,{class:`flex items-center gap-3`},null,-1),m(v,{type:`primary`,onClick:H},{default:e(()=>[...u[16]||=[o(`新增项目`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(J,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{prop:`name`,label:`项目名称`,"min-width":`150`}),m(T,{label:`分类`,width:`120`},{default:e(({row:e})=>[o(a(R[e.category]||`-`),1)]),_:1}),m(T,{prop:`price`,label:`价格(元)`,width:`100`,align:`right`}),m(T,{prop:`duration`,label:`时长(分)`,width:`100`,align:`center`}),m(T,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(v,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[18]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(v,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[19]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,O.value]])]),p(`div`,w,[m(Y,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:D.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:k.value,"onUpdate:modelValue":u[13]||=e=>k.value=e,title:F.value?`编辑项目`:`新增项目`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[12]||=e=>k.value=!1},{default:e(()=>[...u[20]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:W},{default:e(()=>[...u[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[m(X,{label:`项目名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:P.name,"onUpdate:modelValue":u[5]||=e=>P.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`分类`},{default:e(()=>[m(_,{modelValue:P.category,"onUpdate:modelValue":u[6]||=e=>P.category=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`价格`,prop:`price`},{default:e(()=>[m(Z,{modelValue:P.price,"onUpdate:modelValue":u[7]||=e=>P.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`时长(分钟)`},{default:e(()=>[m(Z,{modelValue:P.duration,"onUpdate:modelValue":u[8]||=e=>P.duration=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`描述`},{default:e(()=>[m(f,{modelValue:P.description,"onUpdate:modelValue":u[9]||=e=>P.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Q,{modelValue:P.status,"onUpdate:modelValue":u[10]||=e=>P.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),m(X,{label:`排序`},{default:e(()=>[m(Z,{modelValue:P.sort,"onUpdate:modelValue":u[11]||=e=>P.sort=e,min:0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/kb-DoVqfT25.js b/frontend/dist/assets/kb-CR5OwwPK.js similarity index 87% rename from frontend/dist/assets/kb-DoVqfT25.js rename to frontend/dist/assets/kb-CR5OwwPK.js index f86a07c..690ca97 100644 --- a/frontend/dist/assets/kb-DoVqfT25.js +++ b/frontend/dist/assets/kb-CR5OwwPK.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/kb/categories`,{params:t}),getDetail:t=>e.get(`/kb/categories/${t}`),create:t=>e.post(`/kb/categories`,t),update:(t,n)=>e.put(`/kb/categories/${t}`,n),delete:t=>e.delete(`/kb/categories/${t}`)},n={getList:t=>e.get(`/kb/articles`,{params:t}),getDetail:t=>e.get(`/kb/articles/${t}`),create:t=>e.post(`/kb/articles`,t),update:(t,n)=>e.put(`/kb/articles/${t}`,n),delete:t=>e.delete(`/kb/articles/${t}`),publish:t=>e.put(`/kb/articles/${t}/publish`),offline:t=>e.put(`/kb/articles/${t}/offline`)};export{t as n,n as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/kb/categories`,{params:t}),getDetail:t=>e.get(`/kb/categories/${t}`),create:t=>e.post(`/kb/categories`,t),update:(t,n)=>e.put(`/kb/categories/${t}`,n),delete:t=>e.delete(`/kb/categories/${t}`)},n={getList:t=>e.get(`/kb/articles`,{params:t}),getDetail:t=>e.get(`/kb/articles/${t}`),create:t=>e.post(`/kb/articles`,t),update:(t,n)=>e.put(`/kb/articles/${t}`,n),delete:t=>e.delete(`/kb/articles/${t}`),publish:t=>e.put(`/kb/articles/${t}/publish`),offline:t=>e.put(`/kb/articles/${t}/offline`)};export{t as n,n as t}; \ No newline at end of file diff --git a/frontend/dist/assets/layout-BzT6v6aD.js b/frontend/dist/assets/layout-D158Zwfz.js similarity index 97% rename from frontend/dist/assets/layout-BzT6v6aD.js rename to frontend/dist/assets/layout-D158Zwfz.js index 0eb0b50..eef1345 100644 --- a/frontend/dist/assets/layout-BzT6v6aD.js +++ b/frontend/dist/assets/layout-D158Zwfz.js @@ -1 +1 @@ -import{$ as e,L as t,U as n,Ut as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,f as u,i as d,l as f,lt as p,p as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{c as v,i as y,o as b,r as x,s as S,u as C}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as w}from"./user-DwrZIuIR.js";import{t as T}from"./iconify-f5JHLb1p.js";var E={class:`flex flex-col h-full bg-white border-r border-gray-100 overflow-hidden`},D={class:`flex items-center gap-3 px-5 py-4 border-b border-gray-50 flex-shrink-0`,style:{height:`64px`}},O={class:`w-9 h-9 bg-rose-500 rounded-xl flex items-center justify-center flex-shrink-0 shadow-sm`},k={key:0,class:`overflow-hidden`},A={class:`text-[10px] bg-rose-100 text-rose-600 px-1.5 py-0.5 rounded font-bold tracking-wider`},ee={class:`flex-1 overflow-y-auto no-scrollbar py-3 px-3 space-y-0.5`},j={key:0,class:`text-sm font-medium truncate`},M={key:1,class:`ml-auto w-1.5 h-1.5 rounded-full bg-rose-500 flex-shrink-0`},N={key:0,class:`text-[10px] font-bold text-gray-300 uppercase tracking-widest px-3 pt-4 pb-1.5`},P={key:1,class:`my-2 mx-2 h-px bg-gray-100`},F=[`onClick`],I={key:0,class:`text-sm font-medium truncate`},L={key:1,class:`ml-auto w-1.5 h-1.5 rounded-full bg-rose-500 flex-shrink-0`},R=[`onClick`],z={key:0,class:`text-sm font-medium truncate`},B={key:1,class:`ml-auto w-1.5 h-1.5 rounded-full bg-rose-500 flex-shrink-0`},V={class:`flex-shrink-0 p-3 border-t border-gray-50`},H={class:`w-9 h-9 rounded-full bg-rose-100 flex items-center justify-center flex-shrink-0 text-rose-500 font-bold text-sm`},U={key:0,class:`flex-1 overflow-hidden`},W={class:`text-sm font-bold text-gray-800 truncate`},G={class:`text-[11px] text-gray-400 truncate`},K={__name:`Sidebar`,props:{collapsed:{type:Boolean,default:!1}},setup(e){let n=x(),r=y(),i=w(),s=f(()=>n.path),l=f(()=>i.menus),p=f(()=>i.userInfo?.name||i.userInfo?.username||`用户`),v=f(()=>i.userInfo?.store?.name||``),b=f(()=>i.userInfo?.is_super?`SUPER ADMIN`:`STORE ADMIN`),S={Odometer:`solar:widget-add-bold-duotone`,House:`solar:home-bold-duotone`,User:`solar:users-group-rounded-bold-duotone`,UserFilled:`solar:users-group-rounded-bold-duotone`,ShoppingCart:`solar:cart-large-bold-duotone`,Goods:`solar:cart-large-bold-duotone`,OfficeBuilding:`solar:bed-bold-duotone`,HeartPulse:`solar:heart-pulse-bold-duotone`,Food:`solar:cup-bold`,Trophy:`solar:health-bold`,Avatar:`solar:user-speak-bold-duotone`,Box:`solar:box-bold-duotone`,Money:`solar:money-bag-bold-duotone`,Wallet:`solar:money-bag-bold-duotone`,Suitcase:`solar:users-group-two-rounded-bold-duotone`,Connection:`solar:streets-navigation-bold-duotone`,DataLine:`solar:chart-2-bold-duotone`,Reading:`solar:book-bookmark-bold-duotone`,Setting:`solar:settings-bold-duotone`,Tools:`solar:settings-bold-duotone`,Menu:`solar:list-bold-duotone`};function K(e){return S[e]||`solar:circle-bold-duotone`}function q(e){return e.path&&s.value.startsWith(e.path)?!0:e.children?e.children.some(e=>q(e)):!1}function J(e){e&&r.push(e)}async function Y(){await i.logout(),r.push(`/login`)}return(n,r)=>(t(),m(`div`,E,[h(`div`,D,[h(`div`,O,[g(c(T),{icon:`solar:heart-bold`,class:`text-white text-lg`})]),e.collapsed?u(``,!0):(t(),m(`div`,k,[r[1]||=h(`h2`,{class:`font-bold text-gray-800 text-sm leading-tight`},`宫中有喜`,-1),h(`span`,A,o(b.value),1)]))]),h(`nav`,ee,[h(`button`,{class:a([`w-full flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all duration-150 text-left`,s.value===`/dashboard`?`bg-rose-50 text-rose-500`:`text-gray-500 hover:bg-gray-50 hover:text-gray-700`]),onClick:r[0]||=e=>J(`/dashboard`)},[g(c(T),{icon:`solar:widget-add-bold-duotone`,class:`text-xl flex-shrink-0`}),e.collapsed?u(``,!0):(t(),m(`span`,j,`工作台`)),!e.collapsed&&s.value===`/dashboard`?(t(),m(`div`,M)):u(``,!0)],2),(t(!0),m(d,null,_(l.value,n=>(t(),m(d,{key:n.id||n.path},[n.children&&n.children.length>0&&n.visible!==0?(t(),m(d,{key:0},[e.collapsed?(t(),m(`div`,P)):(t(),m(`div`,N,o(n.name),1)),(t(!0),m(d,null,_(n.children.filter(e=>e.visible!==0),n=>(t(),m(`button`,{key:n.id||n.path,class:a([`w-full flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all duration-150 text-left`,q(n)?`bg-rose-50 text-rose-500`:`text-gray-500 hover:bg-gray-50 hover:text-gray-700`]),onClick:e=>J(n.path)},[g(c(T),{icon:K(n.icon),class:`text-xl flex-shrink-0`},null,8,[`icon`]),e.collapsed?u(``,!0):(t(),m(`span`,I,o(n.name),1)),!e.collapsed&&q(n)?(t(),m(`div`,L)):u(``,!0)],10,F))),128))],64)):n.visible===0?u(``,!0):(t(),m(`button`,{key:1,class:a([`w-full flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all duration-150 text-left`,q(n)?`bg-rose-50 text-rose-500`:`text-gray-500 hover:bg-gray-50 hover:text-gray-700`]),onClick:e=>J(n.path)},[g(c(T),{icon:K(n.icon),class:`text-xl flex-shrink-0`},null,8,[`icon`]),e.collapsed?u(``,!0):(t(),m(`span`,z,o(n.name),1)),!e.collapsed&&q(n)?(t(),m(`div`,B)):u(``,!0)],10,R))],64))),128))]),h(`div`,V,[h(`div`,{class:a([`flex items-center gap-3 p-3 bg-gray-50 rounded-2xl`,e.collapsed?`justify-center`:``])},[h(`div`,H,o(p.value.charAt(0)),1),e.collapsed?u(``,!0):(t(),m(`div`,U,[h(`p`,W,o(p.value),1),h(`p`,G,o(v.value||`总部管理`),1)])),e.collapsed?u(``,!0):(t(),m(`button`,{key:1,class:`flex-shrink-0 p-1.5 text-rose-400 hover:bg-rose-100 rounded-lg transition-colors`,title:`退出登录`,onClick:C(Y,[`stop`])},[g(c(T),{icon:`solar:logout-bold-duotone`,class:`text-lg`})]))],2)])]))}},q={class:`flex items-center justify-between h-full px-8 bg-white border-b border-gray-100`},J={class:`flex items-center gap-4`},Y={class:`text-base font-bold text-gray-800`},X={class:`flex items-center text-xs text-gray-400 gap-1.5`},Z={class:`flex items-center gap-5`},Q={class:`relative cursor-pointer`},te={class:`flex items-center gap-1.5 text-sm text-gray-500 cursor-pointer hover:text-gray-700`},ne={class:`flex items-center gap-2.5 cursor-pointer px-3 py-1.5 rounded-xl hover:bg-gray-50 transition-colors`},re={class:`w-8 h-8 rounded-full bg-rose-100 flex items-center justify-center text-rose-500 font-bold text-sm`},ie={class:`text-sm font-medium text-gray-700`},ae={__name:`Header`,props:{collapsed:{type:Boolean,default:!1}},emits:[`toggle-sidebar`],setup(n,{emit:r}){let a=r,l=y(),u=x(),d=w(),p=f(()=>d.userInfo?.name||d.userInfo?.username||`用户`),_=f(()=>d.userInfo?.store?.name||`所有门店 (总览)`),v=f(()=>{let e=u.matched.filter(e=>e.meta?.title&&!e.meta?.hidden);return e.length?e[e.length-1].meta.title:`工作台`}),C=f(()=>{let e=new Date;return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日 ${[`星期日`,`星期一`,`星期二`,`星期三`,`星期四`,`星期五`,`星期六`][e.getDay()]}`});async function E(){await b.confirm(`确定要退出登录吗?`,`提示`,{confirmButtonText:`确定`,cancelButtonText:`取消`,type:`warning`}),await d.logout(),l.push(`/login`),S.success(`已安全退出`)}return(r,l)=>{let u=i(`el-dropdown-item`),d=i(`el-dropdown-menu`),f=i(`el-dropdown`);return t(),m(`div`,q,[h(`div`,J,[h(`button`,{class:`p-2 rounded-xl hover:bg-gray-50 text-gray-400 hover:text-gray-600 transition-colors`,onClick:l[0]||=e=>a(`toggle-sidebar`)},[g(c(T),{icon:(n.collapsed,`solar:sidebar-minimalistic-bold`),class:`text-xl`},null,8,[`icon`])]),h(`h3`,Y,o(v.value),1),l[1]||=h(`div`,{class:`h-4 w-px bg-gray-200`},null,-1),h(`div`,X,[g(c(T),{icon:`solar:calendar-bold`,class:`text-sm`}),h(`span`,null,o(C.value),1)])]),h(`div`,Z,[h(`div`,Q,[g(c(T),{icon:`solar:bell-bing-bold-duotone`,class:`text-2xl text-gray-400 hover:text-rose-500 transition-colors`}),l[2]||=h(`span`,{class:`absolute -top-1 -right-1 w-4 h-4 bg-rose-500 text-white text-[9px] rounded-full flex items-center justify-center font-bold border-2 border-white`},`3`,-1)]),h(`div`,te,[h(`span`,null,o(_.value),1),g(c(T),{icon:`solar:alt-arrow-down-bold-duotone`,class:`text-xs text-gray-400`})]),g(f,{trigger:`click`,placement:`bottom-end`},{dropdown:e(()=>[g(d,null,{default:e(()=>[g(u,null,{default:e(()=>[g(c(T),{icon:`solar:user-bold-duotone`,class:`mr-2`}),l[3]||=s(` 个人信息 `,-1)]),_:1}),g(u,{divided:``,onClick:E},{default:e(()=>[g(c(T),{icon:`solar:logout-bold-duotone`,class:`mr-2`}),l[4]||=s(` 退出登录 `,-1)]),_:1})]),_:1})]),default:e(()=>[h(`div`,ne,[h(`div`,re,o(p.value.charAt(0)),1),h(`span`,ie,o(p.value),1),g(c(T),{icon:`solar:alt-arrow-down-bold-duotone`,class:`text-xs text-gray-400`})])]),_:1})])])}}},oe={class:`flex h-screen overflow-hidden`},$={class:`flex flex-col flex-1 overflow-hidden`},se={class:`flex-shrink-0`,style:{height:`64px`}},ce={class:`flex-1 overflow-y-auto no-scrollbar`,style:{background:`#f8fafc`}},le={__name:`index`,setup(a){let o=p(!1);function s(){o.value=!o.value}return(a,c)=>{let u=i(`router-view`);return t(),m(`div`,oe,[h(`aside`,{class:`flex-shrink-0 z-10`,style:r({width:o.value?`64px`:`256px`,transition:`width 0.25s ease`})},[g(K,{collapsed:o.value},null,8,[`collapsed`])],4),h(`div`,$,[h(`header`,se,[g(ae,{collapsed:o.value,onToggleSidebar:s},null,8,[`collapsed`])]),h(`main`,ce,[g(u,null,{default:e(({Component:r,route:i})=>[g(v,{name:`fade-slide`,mode:`out-in`},{default:e(()=>[(t(),l(n(r),{key:i.fullPath}))]),_:2},1024)]),_:1})])])])}}};export{le as default}; \ No newline at end of file +import{$ as e,L as t,U as n,Ut as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,f as u,i as d,l as f,lt as p,p as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{c as v,i as y,o as b,r as x,s as S,u as C}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as w}from"./user-BFl2lhly.js";import{t as T}from"./iconify-f5JHLb1p.js";var E={class:`flex flex-col h-full bg-white border-r border-gray-100 overflow-hidden`},D={class:`flex items-center gap-3 px-5 py-4 border-b border-gray-50 flex-shrink-0`,style:{height:`64px`}},O={class:`w-9 h-9 bg-rose-500 rounded-xl flex items-center justify-center flex-shrink-0 shadow-sm`},k={key:0,class:`overflow-hidden`},A={class:`text-[10px] bg-rose-100 text-rose-600 px-1.5 py-0.5 rounded font-bold tracking-wider`},ee={class:`flex-1 overflow-y-auto no-scrollbar py-3 px-3 space-y-0.5`},j={key:0,class:`text-sm font-medium truncate`},M={key:1,class:`ml-auto w-1.5 h-1.5 rounded-full bg-rose-500 flex-shrink-0`},N={key:0,class:`text-[10px] font-bold text-gray-300 uppercase tracking-widest px-3 pt-4 pb-1.5`},P={key:1,class:`my-2 mx-2 h-px bg-gray-100`},F=[`onClick`],I={key:0,class:`text-sm font-medium truncate`},L={key:1,class:`ml-auto w-1.5 h-1.5 rounded-full bg-rose-500 flex-shrink-0`},R=[`onClick`],z={key:0,class:`text-sm font-medium truncate`},B={key:1,class:`ml-auto w-1.5 h-1.5 rounded-full bg-rose-500 flex-shrink-0`},V={class:`flex-shrink-0 p-3 border-t border-gray-50`},H={class:`w-9 h-9 rounded-full bg-rose-100 flex items-center justify-center flex-shrink-0 text-rose-500 font-bold text-sm`},U={key:0,class:`flex-1 overflow-hidden`},W={class:`text-sm font-bold text-gray-800 truncate`},G={class:`text-[11px] text-gray-400 truncate`},K={__name:`Sidebar`,props:{collapsed:{type:Boolean,default:!1}},setup(e){let n=x(),r=y(),i=w(),s=f(()=>n.path),l=f(()=>i.menus),p=f(()=>i.userInfo?.name||i.userInfo?.username||`用户`),v=f(()=>i.userInfo?.store?.name||``),b=f(()=>i.userInfo?.is_super?`SUPER ADMIN`:`STORE ADMIN`),S={Odometer:`solar:widget-add-bold-duotone`,House:`solar:home-bold-duotone`,User:`solar:users-group-rounded-bold-duotone`,UserFilled:`solar:users-group-rounded-bold-duotone`,ShoppingCart:`solar:cart-large-bold-duotone`,Goods:`solar:cart-large-bold-duotone`,OfficeBuilding:`solar:bed-bold-duotone`,HeartPulse:`solar:heart-pulse-bold-duotone`,Food:`solar:cup-bold`,Trophy:`solar:health-bold`,Avatar:`solar:user-speak-bold-duotone`,Box:`solar:box-bold-duotone`,Money:`solar:money-bag-bold-duotone`,Wallet:`solar:money-bag-bold-duotone`,Suitcase:`solar:users-group-two-rounded-bold-duotone`,Connection:`solar:streets-navigation-bold-duotone`,DataLine:`solar:chart-2-bold-duotone`,Reading:`solar:book-bookmark-bold-duotone`,Setting:`solar:settings-bold-duotone`,Tools:`solar:settings-bold-duotone`,Menu:`solar:list-bold-duotone`};function K(e){return S[e]||`solar:circle-bold-duotone`}function q(e){return e.path&&s.value.startsWith(e.path)?!0:e.children?e.children.some(e=>q(e)):!1}function J(e){e&&r.push(e)}async function Y(){await i.logout(),r.push(`/login`)}return(n,r)=>(t(),m(`div`,E,[h(`div`,D,[h(`div`,O,[g(c(T),{icon:`solar:heart-bold`,class:`text-white text-lg`})]),e.collapsed?u(``,!0):(t(),m(`div`,k,[r[1]||=h(`h2`,{class:`font-bold text-gray-800 text-sm leading-tight`},`宫中有喜`,-1),h(`span`,A,o(b.value),1)]))]),h(`nav`,ee,[h(`button`,{class:a([`w-full flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all duration-150 text-left`,s.value===`/dashboard`?`bg-rose-50 text-rose-500`:`text-gray-500 hover:bg-gray-50 hover:text-gray-700`]),onClick:r[0]||=e=>J(`/dashboard`)},[g(c(T),{icon:`solar:widget-add-bold-duotone`,class:`text-xl flex-shrink-0`}),e.collapsed?u(``,!0):(t(),m(`span`,j,`工作台`)),!e.collapsed&&s.value===`/dashboard`?(t(),m(`div`,M)):u(``,!0)],2),(t(!0),m(d,null,_(l.value,n=>(t(),m(d,{key:n.id||n.path},[n.children&&n.children.length>0&&n.visible!==0?(t(),m(d,{key:0},[e.collapsed?(t(),m(`div`,P)):(t(),m(`div`,N,o(n.name),1)),(t(!0),m(d,null,_(n.children.filter(e=>e.visible!==0),n=>(t(),m(`button`,{key:n.id||n.path,class:a([`w-full flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all duration-150 text-left`,q(n)?`bg-rose-50 text-rose-500`:`text-gray-500 hover:bg-gray-50 hover:text-gray-700`]),onClick:e=>J(n.path)},[g(c(T),{icon:K(n.icon),class:`text-xl flex-shrink-0`},null,8,[`icon`]),e.collapsed?u(``,!0):(t(),m(`span`,I,o(n.name),1)),!e.collapsed&&q(n)?(t(),m(`div`,L)):u(``,!0)],10,F))),128))],64)):n.visible===0?u(``,!0):(t(),m(`button`,{key:1,class:a([`w-full flex items-center gap-3 px-3 py-2.5 rounded-xl transition-all duration-150 text-left`,q(n)?`bg-rose-50 text-rose-500`:`text-gray-500 hover:bg-gray-50 hover:text-gray-700`]),onClick:e=>J(n.path)},[g(c(T),{icon:K(n.icon),class:`text-xl flex-shrink-0`},null,8,[`icon`]),e.collapsed?u(``,!0):(t(),m(`span`,z,o(n.name),1)),!e.collapsed&&q(n)?(t(),m(`div`,B)):u(``,!0)],10,R))],64))),128))]),h(`div`,V,[h(`div`,{class:a([`flex items-center gap-3 p-3 bg-gray-50 rounded-2xl`,e.collapsed?`justify-center`:``])},[h(`div`,H,o(p.value.charAt(0)),1),e.collapsed?u(``,!0):(t(),m(`div`,U,[h(`p`,W,o(p.value),1),h(`p`,G,o(v.value||`总部管理`),1)])),e.collapsed?u(``,!0):(t(),m(`button`,{key:1,class:`flex-shrink-0 p-1.5 text-rose-400 hover:bg-rose-100 rounded-lg transition-colors`,title:`退出登录`,onClick:C(Y,[`stop`])},[g(c(T),{icon:`solar:logout-bold-duotone`,class:`text-lg`})]))],2)])]))}},q={class:`flex items-center justify-between h-full px-8 bg-white border-b border-gray-100`},J={class:`flex items-center gap-4`},Y={class:`text-base font-bold text-gray-800`},X={class:`flex items-center text-xs text-gray-400 gap-1.5`},Z={class:`flex items-center gap-5`},Q={class:`relative cursor-pointer`},te={class:`flex items-center gap-1.5 text-sm text-gray-500 cursor-pointer hover:text-gray-700`},ne={class:`flex items-center gap-2.5 cursor-pointer px-3 py-1.5 rounded-xl hover:bg-gray-50 transition-colors`},re={class:`w-8 h-8 rounded-full bg-rose-100 flex items-center justify-center text-rose-500 font-bold text-sm`},ie={class:`text-sm font-medium text-gray-700`},ae={__name:`Header`,props:{collapsed:{type:Boolean,default:!1}},emits:[`toggle-sidebar`],setup(n,{emit:r}){let a=r,l=y(),u=x(),d=w(),p=f(()=>d.userInfo?.name||d.userInfo?.username||`用户`),_=f(()=>d.userInfo?.store?.name||`所有门店 (总览)`),v=f(()=>{let e=u.matched.filter(e=>e.meta?.title&&!e.meta?.hidden);return e.length?e[e.length-1].meta.title:`工作台`}),C=f(()=>{let e=new Date;return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日 ${[`星期日`,`星期一`,`星期二`,`星期三`,`星期四`,`星期五`,`星期六`][e.getDay()]}`});async function E(){await b.confirm(`确定要退出登录吗?`,`提示`,{confirmButtonText:`确定`,cancelButtonText:`取消`,type:`warning`}),await d.logout(),l.push(`/login`),S.success(`已安全退出`)}return(r,l)=>{let u=i(`el-dropdown-item`),d=i(`el-dropdown-menu`),f=i(`el-dropdown`);return t(),m(`div`,q,[h(`div`,J,[h(`button`,{class:`p-2 rounded-xl hover:bg-gray-50 text-gray-400 hover:text-gray-600 transition-colors`,onClick:l[0]||=e=>a(`toggle-sidebar`)},[g(c(T),{icon:(n.collapsed,`solar:sidebar-minimalistic-bold`),class:`text-xl`},null,8,[`icon`])]),h(`h3`,Y,o(v.value),1),l[1]||=h(`div`,{class:`h-4 w-px bg-gray-200`},null,-1),h(`div`,X,[g(c(T),{icon:`solar:calendar-bold`,class:`text-sm`}),h(`span`,null,o(C.value),1)])]),h(`div`,Z,[h(`div`,Q,[g(c(T),{icon:`solar:bell-bing-bold-duotone`,class:`text-2xl text-gray-400 hover:text-rose-500 transition-colors`}),l[2]||=h(`span`,{class:`absolute -top-1 -right-1 w-4 h-4 bg-rose-500 text-white text-[9px] rounded-full flex items-center justify-center font-bold border-2 border-white`},`3`,-1)]),h(`div`,te,[h(`span`,null,o(_.value),1),g(c(T),{icon:`solar:alt-arrow-down-bold-duotone`,class:`text-xs text-gray-400`})]),g(f,{trigger:`click`,placement:`bottom-end`},{dropdown:e(()=>[g(d,null,{default:e(()=>[g(u,null,{default:e(()=>[g(c(T),{icon:`solar:user-bold-duotone`,class:`mr-2`}),l[3]||=s(` 个人信息 `,-1)]),_:1}),g(u,{divided:``,onClick:E},{default:e(()=>[g(c(T),{icon:`solar:logout-bold-duotone`,class:`mr-2`}),l[4]||=s(` 退出登录 `,-1)]),_:1})]),_:1})]),default:e(()=>[h(`div`,ne,[h(`div`,re,o(p.value.charAt(0)),1),h(`span`,ie,o(p.value),1),g(c(T),{icon:`solar:alt-arrow-down-bold-duotone`,class:`text-xs text-gray-400`})])]),_:1})])])}}},oe={class:`flex h-screen overflow-hidden`},$={class:`flex flex-col flex-1 overflow-hidden`},se={class:`flex-shrink-0`,style:{height:`64px`}},ce={class:`flex-1 overflow-y-auto no-scrollbar`,style:{background:`#f8fafc`}},le={__name:`index`,setup(a){let o=p(!1);function s(){o.value=!o.value}return(a,c)=>{let u=i(`router-view`);return t(),m(`div`,oe,[h(`aside`,{class:`flex-shrink-0 z-10`,style:r({width:o.value?`64px`:`256px`,transition:`width 0.25s ease`})},[g(K,{collapsed:o.value},null,8,[`collapsed`])],4),h(`div`,$,[h(`header`,se,[g(ae,{collapsed:o.value,onToggleSidebar:s},null,8,[`collapsed`])]),h(`main`,ce,[g(u,null,{default:e(({Component:r,route:i})=>[g(v,{name:`fade-slide`,mode:`out-in`},{default:e(()=>[(t(),l(n(r),{key:i.fullPath}))]),_:2},1024)]),_:1})])])])}}};export{le as default}; \ No newline at end of file diff --git a/frontend/dist/assets/leads-PsiTHbdN.js b/frontend/dist/assets/leads-2CG5WK5_.js similarity index 98% rename from frontend/dist/assets/leads-PsiTHbdN.js rename to frontend/dist/assets/leads-2CG5WK5_.js index afda30b..1c73cf0 100644 --- a/frontend/dist/assets/leads-PsiTHbdN.js +++ b/frontend/dist/assets/leads-2CG5WK5_.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{userApi as y}from"./system-C8g7zsei.js";import{a as b,t as x}from"./crm-Do-MgkuV.js";var S={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},te={class:`px-2`},ne={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(`新增线索`),j=u(!1),M=u(!1),N=u(!1),P=u(null),F=u([]),I=u([]),L=f({name:``,phone:``,status:``,channel_id:``}),R=f({page:1,per_page:20}),z=u(null),B=f({id:null,channel_id:``,name:``,phone:``,wechat:``,expected_date:``,source:``,remark:``}),V=u(!1),re={name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],phone:[{required:!0,message:`请输入手机号`,trigger:`blur`}]},H=f({type:1,content:``,next_follow_at:``}),U=f({owner_id:``}),W={1:`新建`,2:`跟进中`,3:`已转化`,4:`无效`},G={1:`info`,2:`warning`,3:`success`,4:`danger`},K={1:`电话`,2:`微信`,3:`到店`,4:`其他`};async function q(){O.value=!0;try{let e=await b.getList({...L,...R});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}async function J(){try{let e=await x.getList({per_page:200});F.value=e.data?.list||e.data?.data||[]}catch{}}async function Y(){try{let e=await y.getList({per_page:200});I.value=e.data?.list||e.data?.data||[]}catch{}}function X(){R.page=1,q()}function ie(){Object.assign(L,{name:``,phone:``,status:``,channel_id:``}),X()}function ae(){V.value=!1,A.value=`新增线索`,Object.assign(B,{id:null,channel_id:``,name:``,phone:``,wechat:``,expected_date:``,source:``,remark:``}),k.value=!0}async function oe(e){V.value=!0,A.value=`编辑线索`;let t=(await b.getDetail(e.id)).data;Object.assign(B,{id:t.id,channel_id:t.channel_id||``,name:t.name,phone:t.phone,wechat:t.wechat||``,expected_date:t.expected_date||``,source:t.source||``,remark:t.remark||``}),k.value=!0}async function se(){z.value&&await z.value.validate(async e=>{if(e){j.value=!0;try{V.value?(await b.update(B.id,B),v.success(`更新成功`)):(await b.create(B),v.success(`创建成功`)),k.value=!1,q()}finally{j.value=!1}}})}async function ce(e){await _.confirm(`确定删除线索「${e.name}」吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),q()}function le(e){P.value=e,Object.assign(H,{type:1,content:``,next_follow_at:``}),M.value=!0}async function ue(){if(!H.content){v.warning(`请输入跟进内容`);return}await b.follow(P.value.id,H),v.success(`跟进记录已添加`),M.value=!1,q()}function de(e){P.value=e,U.owner_id=e.owner_id||``,N.value=!0}async function Z(){if(!U.owner_id){v.warning(`请选择负责人`);return}await b.assign(P.value.id,U),v.success(`分配成功`),N.value=!1,q()}function fe(e){R.page=e,q()}function pe(e){R.per_page=e,R.page=1,q()}return r(()=>{q(),J(),Y()}),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),x=i(`el-tag`),T=i(`el-table`),P=i(`el-pagination`),V=i(`el-form-item`),q=i(`el-col`),J=i(`el-date-picker`),Y=i(`el-row`),Q=i(`el-form`),$=i(`el-dialog`),me=t(`loading`);return n(),d(`div`,S,[p(`div`,ee,[m(f,{modelValue:L.name,"onUpdate:modelValue":u[0]||=e=>L.name=e,placeholder:`姓名`,style:{width:`160px`},clearable:``,onKeydown:g(X,[`enter`])},null,8,[`modelValue`]),m(f,{modelValue:L.phone,"onUpdate:modelValue":u[1]||=e=>L.phone=e,placeholder:`手机号`,style:{width:`160px`},clearable:``,onKeydown:g(X,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:L.channel_id,"onUpdate:modelValue":u[2]||=e=>L.channel_id=e,placeholder:`渠道`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(!0),d(l,null,h(F.value,e=>(n(),s(_,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(v,{modelValue:L.status,"onUpdate:modelValue":u[3]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(_,{label:`新建`,value:1}),m(_,{label:`跟进中`,value:2}),m(_,{label:`已转化`,value:3}),m(_,{label:`无效`,value:4})]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:X},{default:e(()=>[...u[23]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:ie},{default:e(()=>[...u[24]||=[o(`重置`,-1)]]),_:1})]),p(`div`,C,[p(`div`,w,[u[26]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`线索列表`)],-1),m(y,{type:`primary`,onClick:ae},{default:e(()=>[...u[25]||=[o(`新增线索`,-1)]]),_:1})]),p(`div`,te,[c((n(),s(T,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(b,{prop:`name`,label:`姓名`,"min-width":`100`}),m(b,{prop:`phone`,label:`手机号`,"min-width":`130`}),m(b,{label:`渠道`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.channel?.name||`-`),1)]),_:1}),m(b,{prop:`expected_date`,label:`预产期`,"min-width":`110`}),m(b,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(x,{type:G[t.status],size:`small`},{default:e(()=>[o(a(W[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(b,{label:`负责人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.owner?.name||`-`),1)]),_:1}),m(b,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(b,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>oe(t)},{default:e(()=>[...u[27]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`success`,text:``,onClick:e=>le(t)},{default:e(()=>[...u[28]||=[o(`跟进`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`warning`,text:``,onClick:e=>de(t)},{default:e(()=>[...u[29]||=[o(`分配`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>ce(t)},{default:e(()=>[...u[30]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[me,O.value]])]),p(`div`,ne,[m(P,{"current-page":R.page,"onUpdate:currentPage":u[4]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":u[5]||=e=>R.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:fe,onSizeChange:pe},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:k.value,"onUpdate:modelValue":u[14]||=e=>k.value=e,title:A.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[13]||=e=>k.value=!1},{default:e(()=>[...u[31]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:se},{default:e(()=>[...u[32]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:z,model:B,rules:re,"label-width":`80px`},{default:e(()=>[m(Y,{gutter:16},{default:e(()=>[m(q,{span:12},{default:e(()=>[m(V,{label:`姓名`,prop:`name`},{default:e(()=>[m(f,{modelValue:B.name,"onUpdate:modelValue":u[6]||=e=>B.name=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`手机号`,prop:`phone`},{default:e(()=>[m(f,{modelValue:B.phone,"onUpdate:modelValue":u[7]||=e=>B.phone=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`微信号`},{default:e(()=>[m(f,{modelValue:B.wechat,"onUpdate:modelValue":u[8]||=e=>B.wechat=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`渠道`},{default:e(()=>[m(v,{modelValue:B.channel_id,"onUpdate:modelValue":u[9]||=e=>B.channel_id=e,placeholder:`选择渠道`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(F.value,e=>(n(),s(_,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`预产期`},{default:e(()=>[m(J,{modelValue:B.expected_date,"onUpdate:modelValue":u[10]||=e=>B.expected_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`来源`},{default:e(()=>[m(f,{modelValue:B.source,"onUpdate:modelValue":u[11]||=e=>B.source=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:24},{default:e(()=>[m(V,{label:`备注`},{default:e(()=>[m(f,{modelValue:B.remark,"onUpdate:modelValue":u[12]||=e=>B.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m($,{modelValue:M.value,"onUpdate:modelValue":u[19]||=e=>M.value=e,title:`添加跟进`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[18]||=e=>M.value=!1},{default:e(()=>[...u[33]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,onClick:ue},{default:e(()=>[...u[34]||=[o(`提交`,-1)]]),_:1})]),default:e(()=>[m(Q,{"label-width":`80px`},{default:e(()=>[m(V,{label:`跟进方式`},{default:e(()=>[m(v,{modelValue:H.type,"onUpdate:modelValue":u[15]||=e=>H.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(K,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(V,{label:`跟进内容`},{default:e(()=>[m(f,{modelValue:H.content,"onUpdate:modelValue":u[16]||=e=>H.content=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),m(V,{label:`下次跟进`},{default:e(()=>[m(J,{modelValue:H.next_follow_at,"onUpdate:modelValue":u[17]||=e=>H.next_follow_at=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),m($,{modelValue:N.value,"onUpdate:modelValue":u[22]||=e=>N.value=e,title:`分配负责人`,width:`400px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[21]||=e=>N.value=!1},{default:e(()=>[...u[35]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,onClick:Z},{default:e(()=>[...u[36]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[m(Q,{"label-width":`80px`},{default:e(()=>[m(V,{label:`负责人`},{default:e(()=>[m(v,{modelValue:U.owner_id,"onUpdate:modelValue":u[20]||=e=>U.owner_id=e,placeholder:`选择负责人`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(I.value,e=>(n(),s(_,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{userApi as y}from"./system-DEm1DLCy.js";import{a as b,t as x}from"./crm-CvCW8IfR.js";var S={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},te={class:`px-2`},ne={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(`新增线索`),j=u(!1),M=u(!1),N=u(!1),P=u(null),F=u([]),I=u([]),L=f({name:``,phone:``,status:``,channel_id:``}),R=f({page:1,per_page:20}),z=u(null),B=f({id:null,channel_id:``,name:``,phone:``,wechat:``,expected_date:``,source:``,remark:``}),V=u(!1),re={name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],phone:[{required:!0,message:`请输入手机号`,trigger:`blur`}]},H=f({type:1,content:``,next_follow_at:``}),U=f({owner_id:``}),W={1:`新建`,2:`跟进中`,3:`已转化`,4:`无效`},G={1:`info`,2:`warning`,3:`success`,4:`danger`},K={1:`电话`,2:`微信`,3:`到店`,4:`其他`};async function q(){O.value=!0;try{let e=await b.getList({...L,...R});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}async function J(){try{let e=await x.getList({per_page:200});F.value=e.data?.list||e.data?.data||[]}catch{}}async function Y(){try{let e=await y.getList({per_page:200});I.value=e.data?.list||e.data?.data||[]}catch{}}function X(){R.page=1,q()}function ie(){Object.assign(L,{name:``,phone:``,status:``,channel_id:``}),X()}function ae(){V.value=!1,A.value=`新增线索`,Object.assign(B,{id:null,channel_id:``,name:``,phone:``,wechat:``,expected_date:``,source:``,remark:``}),k.value=!0}async function oe(e){V.value=!0,A.value=`编辑线索`;let t=(await b.getDetail(e.id)).data;Object.assign(B,{id:t.id,channel_id:t.channel_id||``,name:t.name,phone:t.phone,wechat:t.wechat||``,expected_date:t.expected_date||``,source:t.source||``,remark:t.remark||``}),k.value=!0}async function se(){z.value&&await z.value.validate(async e=>{if(e){j.value=!0;try{V.value?(await b.update(B.id,B),v.success(`更新成功`)):(await b.create(B),v.success(`创建成功`)),k.value=!1,q()}finally{j.value=!1}}})}async function ce(e){await _.confirm(`确定删除线索「${e.name}」吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),v.success(`删除成功`),q()}function le(e){P.value=e,Object.assign(H,{type:1,content:``,next_follow_at:``}),M.value=!0}async function ue(){if(!H.content){v.warning(`请输入跟进内容`);return}await b.follow(P.value.id,H),v.success(`跟进记录已添加`),M.value=!1,q()}function de(e){P.value=e,U.owner_id=e.owner_id||``,N.value=!0}async function Z(){if(!U.owner_id){v.warning(`请选择负责人`);return}await b.assign(P.value.id,U),v.success(`分配成功`),N.value=!1,q()}function fe(e){R.page=e,q()}function pe(e){R.per_page=e,R.page=1,q()}return r(()=>{q(),J(),Y()}),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),x=i(`el-tag`),T=i(`el-table`),P=i(`el-pagination`),V=i(`el-form-item`),q=i(`el-col`),J=i(`el-date-picker`),Y=i(`el-row`),Q=i(`el-form`),$=i(`el-dialog`),me=t(`loading`);return n(),d(`div`,S,[p(`div`,ee,[m(f,{modelValue:L.name,"onUpdate:modelValue":u[0]||=e=>L.name=e,placeholder:`姓名`,style:{width:`160px`},clearable:``,onKeydown:g(X,[`enter`])},null,8,[`modelValue`]),m(f,{modelValue:L.phone,"onUpdate:modelValue":u[1]||=e=>L.phone=e,placeholder:`手机号`,style:{width:`160px`},clearable:``,onKeydown:g(X,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:L.channel_id,"onUpdate:modelValue":u[2]||=e=>L.channel_id=e,placeholder:`渠道`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(!0),d(l,null,h(F.value,e=>(n(),s(_,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(v,{modelValue:L.status,"onUpdate:modelValue":u[3]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(_,{label:`新建`,value:1}),m(_,{label:`跟进中`,value:2}),m(_,{label:`已转化`,value:3}),m(_,{label:`无效`,value:4})]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:X},{default:e(()=>[...u[23]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:ie},{default:e(()=>[...u[24]||=[o(`重置`,-1)]]),_:1})]),p(`div`,C,[p(`div`,w,[u[26]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`线索列表`)],-1),m(y,{type:`primary`,onClick:ae},{default:e(()=>[...u[25]||=[o(`新增线索`,-1)]]),_:1})]),p(`div`,te,[c((n(),s(T,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(b,{prop:`name`,label:`姓名`,"min-width":`100`}),m(b,{prop:`phone`,label:`手机号`,"min-width":`130`}),m(b,{label:`渠道`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.channel?.name||`-`),1)]),_:1}),m(b,{prop:`expected_date`,label:`预产期`,"min-width":`110`}),m(b,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(x,{type:G[t.status],size:`small`},{default:e(()=>[o(a(W[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(b,{label:`负责人`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.owner?.name||`-`),1)]),_:1}),m(b,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(b,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>oe(t)},{default:e(()=>[...u[27]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`success`,text:``,onClick:e=>le(t)},{default:e(()=>[...u[28]||=[o(`跟进`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`warning`,text:``,onClick:e=>de(t)},{default:e(()=>[...u[29]||=[o(`分配`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>ce(t)},{default:e(()=>[...u[30]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[me,O.value]])]),p(`div`,ne,[m(P,{"current-page":R.page,"onUpdate:currentPage":u[4]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":u[5]||=e=>R.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:fe,onSizeChange:pe},null,8,[`current-page`,`page-size`,`total`])])]),m($,{modelValue:k.value,"onUpdate:modelValue":u[14]||=e=>k.value=e,title:A.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[13]||=e=>k.value=!1},{default:e(()=>[...u[31]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:se},{default:e(()=>[...u[32]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Q,{ref_key:`formRef`,ref:z,model:B,rules:re,"label-width":`80px`},{default:e(()=>[m(Y,{gutter:16},{default:e(()=>[m(q,{span:12},{default:e(()=>[m(V,{label:`姓名`,prop:`name`},{default:e(()=>[m(f,{modelValue:B.name,"onUpdate:modelValue":u[6]||=e=>B.name=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`手机号`,prop:`phone`},{default:e(()=>[m(f,{modelValue:B.phone,"onUpdate:modelValue":u[7]||=e=>B.phone=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`微信号`},{default:e(()=>[m(f,{modelValue:B.wechat,"onUpdate:modelValue":u[8]||=e=>B.wechat=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`渠道`},{default:e(()=>[m(v,{modelValue:B.channel_id,"onUpdate:modelValue":u[9]||=e=>B.channel_id=e,placeholder:`选择渠道`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(F.value,e=>(n(),s(_,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`预产期`},{default:e(()=>[m(J,{modelValue:B.expected_date,"onUpdate:modelValue":u[10]||=e=>B.expected_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:12},{default:e(()=>[m(V,{label:`来源`},{default:e(()=>[m(f,{modelValue:B.source,"onUpdate:modelValue":u[11]||=e=>B.source=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(q,{span:24},{default:e(()=>[m(V,{label:`备注`},{default:e(()=>[m(f,{modelValue:B.remark,"onUpdate:modelValue":u[12]||=e=>B.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m($,{modelValue:M.value,"onUpdate:modelValue":u[19]||=e=>M.value=e,title:`添加跟进`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[18]||=e=>M.value=!1},{default:e(()=>[...u[33]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,onClick:ue},{default:e(()=>[...u[34]||=[o(`提交`,-1)]]),_:1})]),default:e(()=>[m(Q,{"label-width":`80px`},{default:e(()=>[m(V,{label:`跟进方式`},{default:e(()=>[m(v,{modelValue:H.type,"onUpdate:modelValue":u[15]||=e=>H.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(K,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(V,{label:`跟进内容`},{default:e(()=>[m(f,{modelValue:H.content,"onUpdate:modelValue":u[16]||=e=>H.content=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),m(V,{label:`下次跟进`},{default:e(()=>[m(J,{modelValue:H.next_follow_at,"onUpdate:modelValue":u[17]||=e=>H.next_follow_at=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),m($,{modelValue:N.value,"onUpdate:modelValue":u[22]||=e=>N.value=e,title:`分配负责人`,width:`400px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[21]||=e=>N.value=!1},{default:e(()=>[...u[35]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,onClick:Z},{default:e(()=>[...u[36]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[m(Q,{"label-width":`80px`},{default:e(()=>[m(V,{label:`负责人`},{default:e(()=>[m(v,{modelValue:U.owner_id,"onUpdate:modelValue":u[20]||=e=>U.owner_id=e,placeholder:`选择负责人`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(I.value,e=>(n(),s(_,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/leaves-rsAWYvRf.js b/frontend/dist/assets/leaves-CApz-qRd.js similarity index 97% rename from frontend/dist/assets/leaves-rsAWYvRf.js rename to frontend/dist/assets/leaves-CApz-qRd.js index 3df7806..037f15f 100644 --- a/frontend/dist/assets/leaves-rsAWYvRf.js +++ b/frontend/dist/assets/leaves-CApz-qRd.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as ee,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{r as v}from"./hr-CYqLK_6c.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u(!1),M=f({type:``,status:``}),N=f({page:1,per_page:20}),P=u(null),F=f({id:null,user_id:``,type:1,start_date:``,end_date:``,days:1,reason:``}),I={1:`年假`,2:`事假`,3:`病假`,4:`调休`,5:`产假`,6:`婚假`},L={0:`待审批`,1:`已批准`,2:`已拒绝`},R={0:`warning`,1:`success`,2:`danger`},z={user_id:[{required:!0,message:`请输入员工ID`}],type:[{required:!0,message:`请选择请假类型`}],start_date:[{required:!0,message:`请选择开始日期`}],end_date:[{required:!0,message:`请选择结束日期`}],days:[{required:!0,message:`请输入请假天数`}]};async function B(){O.value=!0;try{let e=await v.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function V(){N.page=1,B()}function H(){Object.assign(M,{type:``,status:``}),V()}function U(){j.value=!1,Object.assign(F,{id:null,user_id:``,type:1,start_date:``,end_date:``,days:1,reason:``}),k.value=!0}function W(e){j.value=!0,Object.assign(F,{id:e.id,user_id:e.user_id,type:e.type,start_date:e.start_date,end_date:e.end_date,days:e.days,reason:e.reason}),k.value=!0}async function G(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{j.value?await v.update(F.id,F):await v.create(F),_.success(j.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function K(e,t){let n=t===1?`批准`:`拒绝`;await g.confirm(`确定${n}该请假申请吗?`,`审批确认`,{type:`warning`}),await v.audit(e.id,{status:t}),_.success(`${n}成功`),B()}async function q(e){await g.confirm(`确定删除该请假申请吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function J(e){N.page=e,B()}function Y(e){N.per_page=e,N.page=1,B()}return r(()=>{B()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-tag`),B=i(`el-table`),X=i(`el-pagination`),Z=i(`el-input`),Q=i(`el-form-item`),$=i(`el-date-picker`),te=i(`el-input-number`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:M.type,"onUpdate:modelValue":u[0]||=e=>M.type=e,placeholder:`请假类型`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:M.status,"onUpdate:modelValue":u[1]||=e=>M.status=e,placeholder:`审批状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:V},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:H},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[15]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`请假申请列表`)],-1),m(_,{type:`primary`,onClick:U},{default:e(()=>[...u[14]||=[o(`新增请假`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(B,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(v,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.user?.name||`-`),1)]),_:1}),m(v,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[m(T,{size:`small`},{default:e(()=>[o(a(I[t.type]),1)]),_:2},1024)]),_:1}),m(v,{prop:`start_date`,label:`开始日期`,width:`120`}),m(v,{prop:`end_date`,label:`结束日期`,width:`120`}),m(v,{prop:`days`,label:`天数`,width:`70`,align:`center`}),m(v,{prop:`reason`,label:`事由`,"min-width":`180`,"show-overflow-tooltip":``}),m(v,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(T,{type:R[t.status],size:`small`},{default:e(()=>[o(a(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(v,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),d(l,{key:0},[m(_,{size:`small`,type:`success`,text:``,onClick:e=>K(t,1)},{default:e(()=>[...u[16]||=[o(`批准`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>K(t,2)},{default:e(()=>[...u[17]||=[o(`拒绝`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[18]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[19]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])],64)):ee(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,O.value]])]),p(`div`,w,[m(X,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:J,onSizeChange:Y},null,8,[`current-page`,`page-size`,`total`])])]),m(re,{modelValue:k.value,"onUpdate:modelValue":u[11]||=e=>k.value=e,title:j.value?`编辑请假`:`新增请假`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[10]||=e=>k.value=!1},{default:e(()=>[...u[20]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...u[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ne,{ref_key:`formRef`,ref:P,model:F,rules:z,"label-width":`90px`},{default:e(()=>[m(Q,{label:`员工ID`,prop:`user_id`},{default:e(()=>[m(Z,{modelValue:F.user_id,"onUpdate:modelValue":u[4]||=e=>F.user_id=e,placeholder:`请输入员工ID`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`请假类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:F.type,"onUpdate:modelValue":u[5]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Q,{label:`开始日期`,prop:`start_date`},{default:e(()=>[m($,{modelValue:F.start_date,"onUpdate:modelValue":u[6]||=e=>F.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`结束日期`,prop:`end_date`},{default:e(()=>[m($,{modelValue:F.end_date,"onUpdate:modelValue":u[7]||=e=>F.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`天数`,prop:`days`},{default:e(()=>[m(te,{modelValue:F.days,"onUpdate:modelValue":u[8]||=e=>F.days=e,min:.5,max:365,precision:1,step:.5,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`事由`},{default:e(()=>[m(Z,{modelValue:F.reason,"onUpdate:modelValue":u[9]||=e=>F.reason=e,type:`textarea`,rows:3,placeholder:`请输入请假事由`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as ee,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{r as v}from"./hr-BpuQE_Km.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u(!1),M=f({type:``,status:``}),N=f({page:1,per_page:20}),P=u(null),F=f({id:null,user_id:``,type:1,start_date:``,end_date:``,days:1,reason:``}),I={1:`年假`,2:`事假`,3:`病假`,4:`调休`,5:`产假`,6:`婚假`},L={0:`待审批`,1:`已批准`,2:`已拒绝`},R={0:`warning`,1:`success`,2:`danger`},z={user_id:[{required:!0,message:`请输入员工ID`}],type:[{required:!0,message:`请选择请假类型`}],start_date:[{required:!0,message:`请选择开始日期`}],end_date:[{required:!0,message:`请选择结束日期`}],days:[{required:!0,message:`请输入请假天数`}]};async function B(){O.value=!0;try{let e=await v.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function V(){N.page=1,B()}function H(){Object.assign(M,{type:``,status:``}),V()}function U(){j.value=!1,Object.assign(F,{id:null,user_id:``,type:1,start_date:``,end_date:``,days:1,reason:``}),k.value=!0}function W(e){j.value=!0,Object.assign(F,{id:e.id,user_id:e.user_id,type:e.type,start_date:e.start_date,end_date:e.end_date,days:e.days,reason:e.reason}),k.value=!0}async function G(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{j.value?await v.update(F.id,F):await v.create(F),_.success(j.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function K(e,t){let n=t===1?`批准`:`拒绝`;await g.confirm(`确定${n}该请假申请吗?`,`审批确认`,{type:`warning`}),await v.audit(e.id,{status:t}),_.success(`${n}成功`),B()}async function q(e){await g.confirm(`确定删除该请假申请吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function J(e){N.page=e,B()}function Y(e){N.per_page=e,N.page=1,B()}return r(()=>{B()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-tag`),B=i(`el-table`),X=i(`el-pagination`),Z=i(`el-input`),Q=i(`el-form-item`),$=i(`el-date-picker`),te=i(`el-input-number`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:M.type,"onUpdate:modelValue":u[0]||=e=>M.type=e,placeholder:`请假类型`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:M.status,"onUpdate:modelValue":u[1]||=e=>M.status=e,placeholder:`审批状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:V},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:H},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[15]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`请假申请列表`)],-1),m(_,{type:`primary`,onClick:U},{default:e(()=>[...u[14]||=[o(`新增请假`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(B,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(v,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.user?.name||`-`),1)]),_:1}),m(v,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[m(T,{size:`small`},{default:e(()=>[o(a(I[t.type]),1)]),_:2},1024)]),_:1}),m(v,{prop:`start_date`,label:`开始日期`,width:`120`}),m(v,{prop:`end_date`,label:`结束日期`,width:`120`}),m(v,{prop:`days`,label:`天数`,width:`70`,align:`center`}),m(v,{prop:`reason`,label:`事由`,"min-width":`180`,"show-overflow-tooltip":``}),m(v,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(T,{type:R[t.status],size:`small`},{default:e(()=>[o(a(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(v,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),d(l,{key:0},[m(_,{size:`small`,type:`success`,text:``,onClick:e=>K(t,1)},{default:e(()=>[...u[16]||=[o(`批准`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>K(t,2)},{default:e(()=>[...u[17]||=[o(`拒绝`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[18]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[19]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])],64)):ee(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,O.value]])]),p(`div`,w,[m(X,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:J,onSizeChange:Y},null,8,[`current-page`,`page-size`,`total`])])]),m(re,{modelValue:k.value,"onUpdate:modelValue":u[11]||=e=>k.value=e,title:j.value?`编辑请假`:`新增请假`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[10]||=e=>k.value=!1},{default:e(()=>[...u[20]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...u[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ne,{ref_key:`formRef`,ref:P,model:F,rules:z,"label-width":`90px`},{default:e(()=>[m(Q,{label:`员工ID`,prop:`user_id`},{default:e(()=>[m(Z,{modelValue:F.user_id,"onUpdate:modelValue":u[4]||=e=>F.user_id=e,placeholder:`请输入员工ID`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`请假类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:F.type,"onUpdate:modelValue":u[5]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Q,{label:`开始日期`,prop:`start_date`},{default:e(()=>[m($,{modelValue:F.start_date,"onUpdate:modelValue":u[6]||=e=>F.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`结束日期`,prop:`end_date`},{default:e(()=>[m($,{modelValue:F.end_date,"onUpdate:modelValue":u[7]||=e=>F.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`天数`,prop:`days`},{default:e(()=>[m(te,{modelValue:F.days,"onUpdate:modelValue":u[8]||=e=>F.days=e,min:.5,max:365,precision:1,step:.5,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`事由`},{default:e(()=>[m(Z,{modelValue:F.reason,"onUpdate:modelValue":u[9]||=e=>F.reason=e,type:`textarea`,rows:3,placeholder:`请输入请假事由`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/login-yCCWUWEu.js b/frontend/dist/assets/login-ChQUh91H.js similarity index 95% rename from frontend/dist/assets/login-yCCWUWEu.js rename to frontend/dist/assets/login-ChQUh91H.js index 44fc556..0df02f8 100644 --- a/frontend/dist/assets/login-yCCWUWEu.js +++ b/frontend/dist/assets/login-ChQUh91H.js @@ -1 +1 @@ -import{$ as e,L as t,V as n,Wt as r,_ as i,_t as a,lt as o,p as s,st as c,u as l,v as u}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{i as d,r as f,s as p}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as m}from"./user-DwrZIuIR.js";import{t as h}from"./iconify-f5JHLb1p.js";var g={class:`min-h-screen flex items-center justify-center bg-rose-50 relative overflow-hidden`},_={class:`relative z-10 w-[420px] bg-white rounded-3xl p-12 shadow-2xl text-center`},v={class:`flex justify-center mb-6`},y={class:`w-20 h-20 bg-rose-500 rounded-2xl flex items-center justify-center text-white shadow-lg`},b={class:`text-center mt-2 text-sm text-gray-400`},x={class:`text-xs text-gray-300 mt-4`},S={__name:`index`,setup(S){let C=d(),w=f(),T=m(),E=o(null),D=o(!1),O=c({username:``,password:``}),k={username:[{required:!0,message:`请输入用户名`,trigger:`blur`},{min:2,max:50,message:`用户名长度为 2-50 个字符`,trigger:`blur`}],password:[{required:!0,message:`请输入密码`,trigger:`blur`},{min:6,message:`密码长度不少于 6 位`,trigger:`blur`}]};async function A(){if(E.value){try{await E.value.validate()}catch{return}D.value=!0;try{await T.login({username:O.username,password:O.password});let e=w.query.redirect||`/`;await C.push(e),p.success(`登录成功,欢迎回来!`)}catch{}finally{D.value=!1}}}function j(e){e.key===`Enter`&&A()}return(o,c)=>{let d=n(`el-input`),f=n(`el-form-item`),p=n(`el-button`),m=n(`el-form`),S=n(`router-link`);return t(),s(`div`,g,[c[6]||=l(`div`,{class:`absolute w-96 h-96 rounded-full opacity-20 pointer-events-none`,style:{background:`radial-gradient(circle, #f43f5e, transparent)`,top:`-120px`,right:`-80px`}},null,-1),c[7]||=l(`div`,{class:`absolute w-72 h-72 rounded-full opacity-20 pointer-events-none`,style:{background:`radial-gradient(circle, #fb7185, transparent)`,bottom:`-80px`,left:`-60px`}},null,-1),l(`div`,_,[l(`div`,v,[l(`div`,y,[u(a(h),{icon:`solar:heart-bold`,class:`text-4xl`})])]),c[4]||=l(`h1`,{class:`text-3xl font-bold text-gray-800 mb-2 tracking-widest`},`宫中有喜`,-1),c[5]||=l(`p`,{class:`text-gray-400 text-sm mb-8`},`月子会所综合管理系统`,-1),u(m,{ref_key:`formRef`,ref:E,model:O,rules:k,class:`text-left`,onKeydown:j},{default:e(()=>[u(f,{prop:`username`},{default:e(()=>[u(d,{modelValue:O.username,"onUpdate:modelValue":c[0]||=e=>O.username=e,placeholder:`请输入用户名`,size:`large`,"prefix-icon":`User`,autocomplete:`username`,clearable:``},null,8,[`modelValue`])]),_:1}),u(f,{prop:`password`},{default:e(()=>[u(d,{modelValue:O.password,"onUpdate:modelValue":c[1]||=e=>O.password=e,type:`password`,placeholder:`请输入密码`,size:`large`,"prefix-icon":`Lock`,autocomplete:`current-password`,"show-password":``,clearable:``},null,8,[`modelValue`])]),_:1}),u(f,null,{default:e(()=>[u(p,{type:`primary`,size:`large`,style:{width:`100%`,height:`48px`,"font-size":`16px`,"letter-spacing":`4px`,"border-radius":`12px`},loading:D.value,onClick:A},{default:e(()=>[i(r(D.value?`登录中...`:`登 录`),1)]),_:1},8,[`loading`])]),_:1})]),_:1},8,[`model`]),l(`div`,b,[c[3]||=i(` 还没有账号? `,-1),u(S,{to:`/register`,class:`text-blue-400 hover:text-blue-300 transition-colors`},{default:e(()=>[...c[2]||=[i(`申请注册`,-1)]]),_:1})]),l(`p`,x,`宫中有喜月子会所 © `+r(new Date().getFullYear()),1)])])}}};export{S as default}; \ No newline at end of file +import{$ as e,L as t,V as n,Wt as r,_ as i,_t as a,lt as o,p as s,st as c,u as l,v as u}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{i as d,r as f,s as p}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as m}from"./user-BFl2lhly.js";import{t as h}from"./iconify-f5JHLb1p.js";var g={class:`min-h-screen flex items-center justify-center bg-rose-50 relative overflow-hidden`},_={class:`relative z-10 w-[420px] bg-white rounded-3xl p-12 shadow-2xl text-center`},v={class:`flex justify-center mb-6`},y={class:`w-20 h-20 bg-rose-500 rounded-2xl flex items-center justify-center text-white shadow-lg`},b={class:`text-center mt-2 text-sm text-gray-400`},x={class:`text-xs text-gray-300 mt-4`},S={__name:`index`,setup(S){let C=d(),w=f(),T=m(),E=o(null),D=o(!1),O=c({username:``,password:``}),k={username:[{required:!0,message:`请输入用户名`,trigger:`blur`},{min:2,max:50,message:`用户名长度为 2-50 个字符`,trigger:`blur`}],password:[{required:!0,message:`请输入密码`,trigger:`blur`},{min:6,message:`密码长度不少于 6 位`,trigger:`blur`}]};async function A(){if(E.value){try{await E.value.validate()}catch{return}D.value=!0;try{await T.login({username:O.username,password:O.password});let e=w.query.redirect||`/`;await C.push(e),p.success(`登录成功,欢迎回来!`)}catch{}finally{D.value=!1}}}function j(e){e.key===`Enter`&&A()}return(o,c)=>{let d=n(`el-input`),f=n(`el-form-item`),p=n(`el-button`),m=n(`el-form`),S=n(`router-link`);return t(),s(`div`,g,[c[6]||=l(`div`,{class:`absolute w-96 h-96 rounded-full opacity-20 pointer-events-none`,style:{background:`radial-gradient(circle, #f43f5e, transparent)`,top:`-120px`,right:`-80px`}},null,-1),c[7]||=l(`div`,{class:`absolute w-72 h-72 rounded-full opacity-20 pointer-events-none`,style:{background:`radial-gradient(circle, #fb7185, transparent)`,bottom:`-80px`,left:`-60px`}},null,-1),l(`div`,_,[l(`div`,v,[l(`div`,y,[u(a(h),{icon:`solar:heart-bold`,class:`text-4xl`})])]),c[4]||=l(`h1`,{class:`text-3xl font-bold text-gray-800 mb-2 tracking-widest`},`宫中有喜`,-1),c[5]||=l(`p`,{class:`text-gray-400 text-sm mb-8`},`月子会所综合管理系统`,-1),u(m,{ref_key:`formRef`,ref:E,model:O,rules:k,class:`text-left`,onKeydown:j},{default:e(()=>[u(f,{prop:`username`},{default:e(()=>[u(d,{modelValue:O.username,"onUpdate:modelValue":c[0]||=e=>O.username=e,placeholder:`请输入用户名`,size:`large`,"prefix-icon":`User`,autocomplete:`username`,clearable:``},null,8,[`modelValue`])]),_:1}),u(f,{prop:`password`},{default:e(()=>[u(d,{modelValue:O.password,"onUpdate:modelValue":c[1]||=e=>O.password=e,type:`password`,placeholder:`请输入密码`,size:`large`,"prefix-icon":`Lock`,autocomplete:`current-password`,"show-password":``,clearable:``},null,8,[`modelValue`])]),_:1}),u(f,null,{default:e(()=>[u(p,{type:`primary`,size:`large`,style:{width:`100%`,height:`48px`,"font-size":`16px`,"letter-spacing":`4px`,"border-radius":`12px`},loading:D.value,onClick:A},{default:e(()=>[i(r(D.value?`登录中...`:`登 录`),1)]),_:1},8,[`loading`])]),_:1})]),_:1},8,[`model`]),l(`div`,b,[c[3]||=i(` 还没有账号? `,-1),u(S,{to:`/register`,class:`text-blue-400 hover:text-blue-300 transition-colors`},{default:e(()=>[...c[2]||=[i(`申请注册`,-1)]]),_:1})]),l(`p`,x,`宫中有喜月子会所 © `+r(new Date().getFullYear()),1)])])}}};export{S as default}; \ No newline at end of file diff --git a/frontend/dist/assets/logs-DlJnV5oW.js b/frontend/dist/assets/logs-BZrUVvB5.js similarity index 97% rename from frontend/dist/assets/logs-DlJnV5oW.js rename to frontend/dist/assets/logs-BZrUVvB5.js index 0b774dc..b499e6b 100644 --- a/frontend/dist/assets/logs-DlJnV5oW.js +++ b/frontend/dist/assets/logs-BZrUVvB5.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as ee}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,t as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{logApi as y}from"./system-C8g7zsei.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={class:`json-block`},E={class:`json-block`},D={class:`json-block error-block`},O=v({__name:`index`,setup(v){let O=f([]),k=f(0),A=f(!1),j=f(!1),M=f(null),N=m({keyword:``,module:``,date_range:[],status:``}),P=m({page:1,page_size:20}),F=[`认证`,`用户管理`,`角色管理`,`菜单管理`,`权限管理`,`门店管理`,`部门管理`,`客户管理`,`房务管理`,`护理管理`,`月子餐`,`财务管理`,`人事管理`,`系统设置`];async function I(){A.value=!0;try{let[e,t]=N.date_range||[],n=await y.getList({keyword:N.keyword,module:N.module,status:N.status,start_date:e||``,end_date:t||``,page:P.page,page_size:P.page_size});O.value=n.data?.list||[],k.value=n.data?.total||0}catch{}finally{A.value=!1}}function L(){P.page=1,I()}function R(){Object.assign(N,{keyword:``,module:``,date_range:[],status:``}),L()}function z(e){M.value=e,j.value=!0}function B(e){P.page=e,I()}function V(e){P.page_size=e,P.page=1,I()}function H(e){return{success:`success`,fail:`danger`,error:`danger`}[e]||`info`}function U(e){return{success:`成功`,fail:`失败`,error:`异常`}[e]||e||`-`}function W(e){return{GET:`info`,POST:`success`,PUT:`warning`,PATCH:`warning`,DELETE:`danger`}[e]||``}function G(e){if(!e)return`-`;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}return r(I),(r,f)=>{let m=i(`Search`),v=i(`el-icon`),y=i(`el-input`),I=i(`el-option`),K=i(`el-select`),q=i(`el-date-picker`),J=i(`el-button`),Y=i(`el-table-column`),X=i(`el-tag`),Z=i(`el-table`),Q=i(`el-pagination`),$=i(`el-descriptions-item`),te=i(`el-descriptions`),ne=i(`el-dialog`),re=t(`loading`);return n(),p(`div`,b,[h(`div`,x,[g(y,{modelValue:N.keyword,"onUpdate:modelValue":f[0]||=e=>N.keyword=e,placeholder:`搜索操作人/IP/描述`,style:{width:`220px`},clearable:``,onKeydown:_(L,[`enter`])},{prefix:e(()=>[g(v,null,{default:e(()=>[g(m)]),_:1})]),_:1},8,[`modelValue`]),g(K,{modelValue:N.module,"onUpdate:modelValue":f[1]||=e=>N.module=e,placeholder:`操作模块`,clearable:``,style:{width:`150px`}},{default:e(()=>[(n(),p(d,null,ee(F,e=>g(I,{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(K,{modelValue:N.status,"onUpdate:modelValue":f[2]||=e=>N.status=e,placeholder:`操作状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[g(I,{label:`成功`,value:`success`}),g(I,{label:`失败`,value:`fail`}),g(I,{label:`异常`,value:`error`})]),_:1},8,[`modelValue`]),g(q,{modelValue:N.date_range,"onUpdate:modelValue":f[3]||=e=>N.date_range=e,type:`daterange`,"range-separator":`至`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`,"value-format":`YYYY-MM-DD`,style:{width:`260px`}},null,8,[`modelValue`]),g(J,{type:`primary`,icon:`Search`,onClick:L},{default:e(()=>[...f[8]||=[s(`查询`,-1)]]),_:1}),g(J,{icon:`Refresh`,onClick:R},{default:e(()=>[...f[9]||=[s(`重置`,-1)]]),_:1})]),h(`div`,S,[f[11]||=h(`div`,{class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},[h(`div`,{class:`flex items-center gap-3`})],-1),h(`div`,C,[l((n(),c(Z,{data:O.value,style:{width:`100%`}},{default:e(()=>[g(Y,{prop:`operator_name`,label:`操作人`,width:`100`}),g(Y,{prop:`module`,label:`模块`,width:`120`}),g(Y,{prop:`action`,label:`操作描述`,"min-width":`200`,"show-overflow-tooltip":``}),g(Y,{label:`请求方法`,width:`90`,align:`center`},{default:e(({row:t})=>[g(X,{type:W(t.method),size:`small`},{default:e(()=>[s(o(t.method),1)]),_:2},1032,[`type`])]),_:1}),g(Y,{prop:`request_url`,label:`请求路径`,"min-width":`200`,"show-overflow-tooltip":``}),g(Y,{prop:`ip`,label:`IP地址`,width:`140`}),g(Y,{prop:`cost_ms`,label:`耗时(ms)`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(e.cost_ms>1e3?`text-danger`:``)},o(e.cost_ms??`-`),3)]),_:1}),g(Y,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[g(X,{type:H(t.status),size:`small`},{default:e(()=>[s(o(U(t.status)),1)]),_:2},1032,[`type`])]),_:1}),g(Y,{prop:`created_at`,label:`操作时间`,"min-width":`160`}),g(Y,{label:`操作`,width:`80`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(J,{size:`small`,type:`primary`,text:``,onClick:e=>z(t)},{default:e(()=>[...f[10]||=[s(`详情`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[re,A.value]])]),h(`div`,w,[g(Q,{"current-page":P.page,"onUpdate:currentPage":f[4]||=e=>P.page=e,"page-size":P.page_size,"onUpdate:pageSize":f[5]||=e=>P.page_size=e,total:k.value,"page-sizes":[20,50,100],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:B,onSizeChange:V},null,8,[`current-page`,`page-size`,`total`])])]),g(ne,{modelValue:j.value,"onUpdate:modelValue":f[7]||=e=>j.value=e,title:`日志详情`,width:`700px`,"destroy-on-close":``},{footer:e(()=>[g(J,{onClick:f[6]||=e=>j.value=!1},{default:e(()=>[...f[15]||=[s(`关闭`,-1)]]),_:1})]),default:e(()=>[M.value?(n(),p(d,{key:0},[g(te,{column:2,border:``},{default:e(()=>[g($,{label:`操作人`},{default:e(()=>[s(o(M.value.operator_name),1)]),_:1}),g($,{label:`操作模块`},{default:e(()=>[s(o(M.value.module),1)]),_:1}),g($,{label:`操作描述`,span:2},{default:e(()=>[s(o(M.value.action),1)]),_:1}),g($,{label:`请求方法`},{default:e(()=>[g(X,{type:W(M.value.method),size:`small`},{default:e(()=>[s(o(M.value.method),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`请求状态`},{default:e(()=>[g(X,{type:H(M.value.status),size:`small`},{default:e(()=>[s(o(U(M.value.status)),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`请求路径`,span:2},{default:e(()=>[s(o(M.value.request_url),1)]),_:1}),g($,{label:`客户端IP`},{default:e(()=>[s(o(M.value.ip),1)]),_:1}),g($,{label:`耗时`},{default:e(()=>[s(o(M.value.cost_ms??`-`)+` ms`,1)]),_:1}),g($,{label:`浏览器`,span:2},{default:e(()=>[s(o(M.value.user_agent||`-`),1)]),_:1}),g($,{label:`操作时间`,span:2},{default:e(()=>[s(o(M.value.created_at),1)]),_:1})]),_:1}),M.value.request_params?(n(),p(d,{key:0},[f[12]||=h(`div`,{class:`detail-section`},`请求参数`,-1),h(`pre`,T,o(G(M.value.request_params)),1)],64)):u(``,!0),M.value.response_data?(n(),p(d,{key:1},[f[13]||=h(`div`,{class:`detail-section`},`响应内容`,-1),h(`pre`,E,o(G(M.value.response_data)),1)],64)):u(``,!0),M.value.error_message?(n(),p(d,{key:2},[f[14]||=h(`div`,{class:`detail-section text-danger`},`错误信息`,-1),h(`pre`,D,o(M.value.error_message),1)],64)):u(``,!0)],64)):u(``,!0)]),_:1},8,[`modelValue`])])}}},[[`__scopeId`,`data-v-648c01e9`]]);export{O as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as ee}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,t as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{logApi as y}from"./system-DEm1DLCy.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={class:`json-block`},E={class:`json-block`},D={class:`json-block error-block`},O=v({__name:`index`,setup(v){let O=f([]),k=f(0),A=f(!1),j=f(!1),M=f(null),N=m({keyword:``,module:``,date_range:[],status:``}),P=m({page:1,page_size:20}),F=[`认证`,`用户管理`,`角色管理`,`菜单管理`,`权限管理`,`门店管理`,`部门管理`,`客户管理`,`房务管理`,`护理管理`,`月子餐`,`财务管理`,`人事管理`,`系统设置`];async function I(){A.value=!0;try{let[e,t]=N.date_range||[],n=await y.getList({keyword:N.keyword,module:N.module,status:N.status,start_date:e||``,end_date:t||``,page:P.page,page_size:P.page_size});O.value=n.data?.list||[],k.value=n.data?.total||0}catch{}finally{A.value=!1}}function L(){P.page=1,I()}function R(){Object.assign(N,{keyword:``,module:``,date_range:[],status:``}),L()}function z(e){M.value=e,j.value=!0}function B(e){P.page=e,I()}function V(e){P.page_size=e,P.page=1,I()}function H(e){return{success:`success`,fail:`danger`,error:`danger`}[e]||`info`}function U(e){return{success:`成功`,fail:`失败`,error:`异常`}[e]||e||`-`}function W(e){return{GET:`info`,POST:`success`,PUT:`warning`,PATCH:`warning`,DELETE:`danger`}[e]||``}function G(e){if(!e)return`-`;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}return r(I),(r,f)=>{let m=i(`Search`),v=i(`el-icon`),y=i(`el-input`),I=i(`el-option`),K=i(`el-select`),q=i(`el-date-picker`),J=i(`el-button`),Y=i(`el-table-column`),X=i(`el-tag`),Z=i(`el-table`),Q=i(`el-pagination`),$=i(`el-descriptions-item`),te=i(`el-descriptions`),ne=i(`el-dialog`),re=t(`loading`);return n(),p(`div`,b,[h(`div`,x,[g(y,{modelValue:N.keyword,"onUpdate:modelValue":f[0]||=e=>N.keyword=e,placeholder:`搜索操作人/IP/描述`,style:{width:`220px`},clearable:``,onKeydown:_(L,[`enter`])},{prefix:e(()=>[g(v,null,{default:e(()=>[g(m)]),_:1})]),_:1},8,[`modelValue`]),g(K,{modelValue:N.module,"onUpdate:modelValue":f[1]||=e=>N.module=e,placeholder:`操作模块`,clearable:``,style:{width:`150px`}},{default:e(()=>[(n(),p(d,null,ee(F,e=>g(I,{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(K,{modelValue:N.status,"onUpdate:modelValue":f[2]||=e=>N.status=e,placeholder:`操作状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[g(I,{label:`成功`,value:`success`}),g(I,{label:`失败`,value:`fail`}),g(I,{label:`异常`,value:`error`})]),_:1},8,[`modelValue`]),g(q,{modelValue:N.date_range,"onUpdate:modelValue":f[3]||=e=>N.date_range=e,type:`daterange`,"range-separator":`至`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`,"value-format":`YYYY-MM-DD`,style:{width:`260px`}},null,8,[`modelValue`]),g(J,{type:`primary`,icon:`Search`,onClick:L},{default:e(()=>[...f[8]||=[s(`查询`,-1)]]),_:1}),g(J,{icon:`Refresh`,onClick:R},{default:e(()=>[...f[9]||=[s(`重置`,-1)]]),_:1})]),h(`div`,S,[f[11]||=h(`div`,{class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},[h(`div`,{class:`flex items-center gap-3`})],-1),h(`div`,C,[l((n(),c(Z,{data:O.value,style:{width:`100%`}},{default:e(()=>[g(Y,{prop:`operator_name`,label:`操作人`,width:`100`}),g(Y,{prop:`module`,label:`模块`,width:`120`}),g(Y,{prop:`action`,label:`操作描述`,"min-width":`200`,"show-overflow-tooltip":``}),g(Y,{label:`请求方法`,width:`90`,align:`center`},{default:e(({row:t})=>[g(X,{type:W(t.method),size:`small`},{default:e(()=>[s(o(t.method),1)]),_:2},1032,[`type`])]),_:1}),g(Y,{prop:`request_url`,label:`请求路径`,"min-width":`200`,"show-overflow-tooltip":``}),g(Y,{prop:`ip`,label:`IP地址`,width:`140`}),g(Y,{prop:`cost_ms`,label:`耗时(ms)`,width:`90`,align:`right`},{default:e(({row:e})=>[h(`span`,{class:a(e.cost_ms>1e3?`text-danger`:``)},o(e.cost_ms??`-`),3)]),_:1}),g(Y,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[g(X,{type:H(t.status),size:`small`},{default:e(()=>[s(o(U(t.status)),1)]),_:2},1032,[`type`])]),_:1}),g(Y,{prop:`created_at`,label:`操作时间`,"min-width":`160`}),g(Y,{label:`操作`,width:`80`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(J,{size:`small`,type:`primary`,text:``,onClick:e=>z(t)},{default:e(()=>[...f[10]||=[s(`详情`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[re,A.value]])]),h(`div`,w,[g(Q,{"current-page":P.page,"onUpdate:currentPage":f[4]||=e=>P.page=e,"page-size":P.page_size,"onUpdate:pageSize":f[5]||=e=>P.page_size=e,total:k.value,"page-sizes":[20,50,100],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:B,onSizeChange:V},null,8,[`current-page`,`page-size`,`total`])])]),g(ne,{modelValue:j.value,"onUpdate:modelValue":f[7]||=e=>j.value=e,title:`日志详情`,width:`700px`,"destroy-on-close":``},{footer:e(()=>[g(J,{onClick:f[6]||=e=>j.value=!1},{default:e(()=>[...f[15]||=[s(`关闭`,-1)]]),_:1})]),default:e(()=>[M.value?(n(),p(d,{key:0},[g(te,{column:2,border:``},{default:e(()=>[g($,{label:`操作人`},{default:e(()=>[s(o(M.value.operator_name),1)]),_:1}),g($,{label:`操作模块`},{default:e(()=>[s(o(M.value.module),1)]),_:1}),g($,{label:`操作描述`,span:2},{default:e(()=>[s(o(M.value.action),1)]),_:1}),g($,{label:`请求方法`},{default:e(()=>[g(X,{type:W(M.value.method),size:`small`},{default:e(()=>[s(o(M.value.method),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`请求状态`},{default:e(()=>[g(X,{type:H(M.value.status),size:`small`},{default:e(()=>[s(o(U(M.value.status)),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`请求路径`,span:2},{default:e(()=>[s(o(M.value.request_url),1)]),_:1}),g($,{label:`客户端IP`},{default:e(()=>[s(o(M.value.ip),1)]),_:1}),g($,{label:`耗时`},{default:e(()=>[s(o(M.value.cost_ms??`-`)+` ms`,1)]),_:1}),g($,{label:`浏览器`,span:2},{default:e(()=>[s(o(M.value.user_agent||`-`),1)]),_:1}),g($,{label:`操作时间`,span:2},{default:e(()=>[s(o(M.value.created_at),1)]),_:1})]),_:1}),M.value.request_params?(n(),p(d,{key:0},[f[12]||=h(`div`,{class:`detail-section`},`请求参数`,-1),h(`pre`,T,o(G(M.value.request_params)),1)],64)):u(``,!0),M.value.response_data?(n(),p(d,{key:1},[f[13]||=h(`div`,{class:`detail-section`},`响应内容`,-1),h(`pre`,E,o(G(M.value.response_data)),1)],64)):u(``,!0),M.value.error_message?(n(),p(d,{key:2},[f[14]||=h(`div`,{class:`detail-section text-danger`},`错误信息`,-1),h(`pre`,D,o(M.value.error_message),1)],64)):u(``,!0)],64)):u(``,!0)]),_:1},8,[`modelValue`])])}}},[[`__scopeId`,`data-v-648c01e9`]]);export{O as default}; \ No newline at end of file diff --git a/frontend/dist/assets/materials-Csm9CJC6.js b/frontend/dist/assets/materials-LA3XVRGm.js similarity index 97% rename from frontend/dist/assets/materials-Csm9CJC6.js rename to frontend/dist/assets/materials-LA3XVRGm.js index 102ff82..a2333cb 100644 --- a/frontend/dist/assets/materials-Csm9CJC6.js +++ b/frontend/dist/assets/materials-LA3XVRGm.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as y}from"./inventory-BCukmUtW.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({name:``,category:``,status:``}),N=f({page:1,per_page:15}),P=u(null),F=f({id:null,name:``,code:``,category:``,unit:``,spec:``,safety_stock:0,status:1,sort:0}),I=u(!1),L={name:[{required:!0,message:`请输入物料名称`,trigger:`blur`}]},R={1:`食材`,2:`日用品`,3:`母婴用品`,4:`医疗用品`,5:`其他`};async function z(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function B(){N.page=1,z()}function V(){Object.assign(M,{name:``,category:``,status:``}),B()}function H(){I.value=!1,Object.assign(F,{id:null,name:``,code:``,category:``,unit:``,spec:``,safety_stock:0,status:1,sort:0}),A.value=!0}async function U(e){I.value=!0;let t=(await y.getDetail(e.id)).data;Object.assign(F,{id:t.id,name:t.name,code:t.code||``,category:t.category||``,unit:t.unit||``,spec:t.spec||``,safety_stock:t.safety_stock||0,status:t.status,sort:t.sort||0}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?(await y.update(F.id,F),v.success(`更新成功`)):(await y.create(F),v.success(`创建成功`)),A.value=!1,z()}finally{j.value=!1}}})}async function G(e){await _.confirm(`确定删除物料「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),z()}function K(e){N.page=e,z()}function q(e){N.per_page=e,N.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input-number`),Q=i(`el-switch`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.name,"onUpdate:modelValue":u[0]||=e=>M.name=e,placeholder:`物料名称`,style:{width:`180px`},clearable:``,onKeydown:g(B,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.category,"onUpdate:modelValue":u[1]||=e=>M.category=e,placeholder:`分类`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{modelValue:M.status,"onUpdate:modelValue":u[2]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(_,{label:`启用`,value:1}),m(_,{label:`禁用`,value:0})]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:B},{default:e(()=>[...u[15]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:V},{default:e(()=>[...u[16]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[18]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`物料列表`)],-1),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[17]||=[o(`新增物料`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(J,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`name`,label:`物料名称`,"min-width":`120`}),m(E,{prop:`code`,label:`物料编码`,width:`120`}),m(E,{label:`分类`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(R[e.category]),1)]),_:1}),m(E,{prop:`unit`,label:`单位`,width:`70`,align:`center`}),m(E,{prop:`spec`,label:`规格`,"min-width":`120`,"show-overflow-tooltip":``}),m(E,{prop:`safety_stock`,label:`安全库存`,width:`100`,align:`right`}),m(E,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(E,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,k.value]])]),p(`div`,T,[m(Y,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[4]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,15,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:A.value,"onUpdate:modelValue":u[14]||=e=>A.value=e,title:I.value?`编辑物料`:`新增物料`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[13]||=e=>A.value=!1},{default:e(()=>[...u[21]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m(X,{label:`物料名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[5]||=e=>F.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`物料编码`},{default:e(()=>[m(f,{modelValue:F.code,"onUpdate:modelValue":u[6]||=e=>F.code=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`分类`},{default:e(()=>[m(v,{modelValue:F.category,"onUpdate:modelValue":u[7]||=e=>F.category=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`单位`},{default:e(()=>[m(f,{modelValue:F.unit,"onUpdate:modelValue":u[8]||=e=>F.unit=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`规格`},{default:e(()=>[m(f,{modelValue:F.spec,"onUpdate:modelValue":u[9]||=e=>F.spec=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`安全库存`},{default:e(()=>[m(Z,{modelValue:F.safety_stock,"onUpdate:modelValue":u[10]||=e=>F.safety_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Q,{modelValue:F.status,"onUpdate:modelValue":u[11]||=e=>F.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),m(X,{label:`排序`},{default:e(()=>[m(Z,{modelValue:F.sort,"onUpdate:modelValue":u[12]||=e=>F.sort=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as y}from"./inventory-BVEZNzEQ.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=f({name:``,category:``,status:``}),N=f({page:1,per_page:15}),P=u(null),F=f({id:null,name:``,code:``,category:``,unit:``,spec:``,safety_stock:0,status:1,sort:0}),I=u(!1),L={name:[{required:!0,message:`请输入物料名称`,trigger:`blur`}]},R={1:`食材`,2:`日用品`,3:`母婴用品`,4:`医疗用品`,5:`其他`};async function z(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function B(){N.page=1,z()}function V(){Object.assign(M,{name:``,category:``,status:``}),B()}function H(){I.value=!1,Object.assign(F,{id:null,name:``,code:``,category:``,unit:``,spec:``,safety_stock:0,status:1,sort:0}),A.value=!0}async function U(e){I.value=!0;let t=(await y.getDetail(e.id)).data;Object.assign(F,{id:t.id,name:t.name,code:t.code||``,category:t.category||``,unit:t.unit||``,spec:t.spec||``,safety_stock:t.safety_stock||0,status:t.status,sort:t.sort||0}),A.value=!0}async function W(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?(await y.update(F.id,F),v.success(`更新成功`)):(await y.create(F),v.success(`创建成功`)),A.value=!1,z()}finally{j.value=!1}}})}async function G(e){await _.confirm(`确定删除物料「${e.name}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),z()}function K(e){N.page=e,z()}function q(e){N.per_page=e,N.page=1,z()}return r(()=>z()),(r,u)=>{let f=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),z=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-input-number`),Q=i(`el-switch`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(f,{modelValue:M.name,"onUpdate:modelValue":u[0]||=e=>M.name=e,placeholder:`物料名称`,style:{width:`180px`},clearable:``,onKeydown:g(B,[`enter`])},null,8,[`modelValue`]),m(v,{modelValue:M.category,"onUpdate:modelValue":u[1]||=e=>M.category=e,placeholder:`分类`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{modelValue:M.status,"onUpdate:modelValue":u[2]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[m(_,{label:`启用`,value:1}),m(_,{label:`禁用`,value:0})]),_:1},8,[`modelValue`]),m(y,{type:`primary`,onClick:B},{default:e(()=>[...u[15]||=[o(`查询`,-1)]]),_:1}),m(y,{onClick:V},{default:e(()=>[...u[16]||=[o(`重置`,-1)]]),_:1})]),p(`div`,S,[p(`div`,C,[u[18]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`物料列表`)],-1),m(y,{type:`primary`,onClick:H},{default:e(()=>[...u[17]||=[o(`新增物料`,-1)]]),_:1})]),p(`div`,w,[c((n(),s(J,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(E,{prop:`name`,label:`物料名称`,"min-width":`120`}),m(E,{prop:`code`,label:`物料编码`,width:`120`}),m(E,{label:`分类`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(R[e.category]),1)]),_:1}),m(E,{prop:`unit`,label:`单位`,width:`70`,align:`center`}),m(E,{prop:`spec`,label:`规格`,"min-width":`120`,"show-overflow-tooltip":``}),m(E,{prop:`safety_stock`,label:`安全库存`,width:`100`,align:`right`}),m(E,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(z,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),m(E,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`,type:`primary`,text:``,onClick:e=>U(t)},{default:e(()=>[...u[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(y,{size:`small`,type:`danger`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,k.value]])]),p(`div`,T,[m(Y,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[4]||=e=>N.per_page=e,total:O.value,"page-sizes":[10,15,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:K,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:A.value,"onUpdate:modelValue":u[14]||=e=>A.value=e,title:I.value?`编辑物料`:`新增物料`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(y,{onClick:u[13]||=e=>A.value=!1},{default:e(()=>[...u[21]||=[o(`取消`,-1)]]),_:1}),m(y,{type:`primary`,loading:j.value,onClick:W},{default:e(()=>[...u[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m(X,{label:`物料名称`,prop:`name`},{default:e(()=>[m(f,{modelValue:F.name,"onUpdate:modelValue":u[5]||=e=>F.name=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`物料编码`},{default:e(()=>[m(f,{modelValue:F.code,"onUpdate:modelValue":u[6]||=e=>F.code=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`分类`},{default:e(()=>[m(v,{modelValue:F.category,"onUpdate:modelValue":u[7]||=e=>F.category=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`单位`},{default:e(()=>[m(f,{modelValue:F.unit,"onUpdate:modelValue":u[8]||=e=>F.unit=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`规格`},{default:e(()=>[m(f,{modelValue:F.spec,"onUpdate:modelValue":u[9]||=e=>F.spec=e},null,8,[`modelValue`])]),_:1}),m(X,{label:`安全库存`},{default:e(()=>[m(Z,{modelValue:F.safety_stock,"onUpdate:modelValue":u[10]||=e=>F.safety_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(Q,{modelValue:F.status,"onUpdate:modelValue":u[11]||=e=>F.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),m(X,{label:`排序`},{default:e(()=>[m(Z,{modelValue:F.sort,"onUpdate:modelValue":u[12]||=e=>F.sort=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file diff --git a/frontend/dist/assets/meal-CL1Cz_RN.js b/frontend/dist/assets/meal-CgJENF-S.js similarity index 91% rename from frontend/dist/assets/meal-CL1Cz_RN.js rename to frontend/dist/assets/meal-CgJENF-S.js index 668564f..a2b8410 100644 --- a/frontend/dist/assets/meal-CL1Cz_RN.js +++ b/frontend/dist/assets/meal-CgJENF-S.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/meal/dishes`,{params:t}),getDetail:t=>e.get(`/meal/dishes/${t}`),create:t=>e.post(`/meal/dishes`,t),update:(t,n)=>e.put(`/meal/dishes/${t}`,n),delete:t=>e.delete(`/meal/dishes/${t}`)},n={getList:t=>e.get(`/meal/templates`,{params:t}),getDetail:t=>e.get(`/meal/templates/${t}`),create:t=>e.post(`/meal/templates`,t),update:(t,n)=>e.put(`/meal/templates/${t}`,n),delete:t=>e.delete(`/meal/templates/${t}`)},r={getList:t=>e.get(`/meal/daily-plans`,{params:t}),getDetail:t=>e.get(`/meal/daily-plans/${t}`),create:t=>e.post(`/meal/daily-plans`,t),update:(t,n)=>e.put(`/meal/daily-plans/${t}`,n),delete:t=>e.delete(`/meal/daily-plans/${t}`),deliver:t=>e.put(`/meal/daily-plans/${t}/deliver`),updateStatus:(t,n)=>e.put(`/meal/daily-plans/${t}/status`,n)},i={getList:t=>e.get(`/meal/reviews`,{params:t}),getDetail:t=>e.get(`/meal/reviews/${t}`),create:t=>e.post(`/meal/reviews`,t)};export{n as i,t as n,i as r,r as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/meal/dishes`,{params:t}),getDetail:t=>e.get(`/meal/dishes/${t}`),create:t=>e.post(`/meal/dishes`,t),update:(t,n)=>e.put(`/meal/dishes/${t}`,n),delete:t=>e.delete(`/meal/dishes/${t}`)},n={getList:t=>e.get(`/meal/templates`,{params:t}),getDetail:t=>e.get(`/meal/templates/${t}`),create:t=>e.post(`/meal/templates`,t),update:(t,n)=>e.put(`/meal/templates/${t}`,n),delete:t=>e.delete(`/meal/templates/${t}`)},r={getList:t=>e.get(`/meal/daily-plans`,{params:t}),getDetail:t=>e.get(`/meal/daily-plans/${t}`),create:t=>e.post(`/meal/daily-plans`,t),update:(t,n)=>e.put(`/meal/daily-plans/${t}`,n),delete:t=>e.delete(`/meal/daily-plans/${t}`),deliver:t=>e.put(`/meal/daily-plans/${t}/deliver`),updateStatus:(t,n)=>e.put(`/meal/daily-plans/${t}/status`,n)},i={getList:t=>e.get(`/meal/reviews`,{params:t}),getDetail:t=>e.get(`/meal/reviews/${t}`),create:t=>e.post(`/meal/reviews`,t)};export{n as i,t as n,i as r,r as t}; \ No newline at end of file diff --git a/frontend/dist/assets/menus-D-P1fAYd.js b/frontend/dist/assets/menus-DasFO-X7.js similarity index 98% rename from frontend/dist/assets/menus-D-P1fAYd.js rename to frontend/dist/assets/menus-DasFO-X7.js index adddaff..88afb28 100644 --- a/frontend/dist/assets/menus-D-P1fAYd.js +++ b/frontend/dist/assets/menus-DasFO-X7.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,U as i,V as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as v,s as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{menuApi as b}from"./system-C8g7zsei.js";var x={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`flex items-center gap-3`},w={class:`px-2`},T={style:{display:`flex`,"align-items":`center`,gap:`6px`}},E={style:{display:`flex`,"align-items":`center`,gap:`8px`}},D={__name:`index`,setup(D){let O=f([]),k=f(!1),A=f(!1),j=f(`新增菜单`),M=f(!1),N=f(!1),P=f(null),F=m({id:null,parent_id:null,title:``,name:``,icon:``,path:``,component:``,type:1,sort:0,visible:1,status:1,redirect:``}),I={title:[{required:!0,message:`请输入菜单名称`,trigger:`blur`}],path:[{validator:(e,t,n)=>{F.type!==3&&!t?n(Error(`请输入路由路径`)):n()},trigger:`blur`}]},L=[{label:`目录`,value:1},{label:`菜单`,value:2},{label:`按钮`,value:3}],R=[`House`,`User`,`Setting`,`DataLine`,`Grid`,`Money`,`DocumentCopy`,`List`,`Calendar`,`Bell`,`Lock`,`Tools`,`Odometer`,`ChatDotRound`,`Collection`,`Management`];async function z(){k.value=!0;try{let e=await b.getList({per_page:500});O.value=B(e.data?.list||e.data?.data||[])}catch{}finally{k.value=!1}}function B(e,t=null){return e.filter(e=>(e.parent_id??null)===t).sort((e,t)=>(e.sort??0)-(t.sort??0)).map(t=>({...t,children:B(e,t.id)}))}function V(e){return{1:``,2:`success`,3:`info`}[e]||``}function H(e){return{1:`目录`,2:`菜单`,3:`按钮`}[e]||`-`}function U(e){N.value=!1,j.value=e?`在「${e.title}」下新增菜单`:`新增顶级菜单`,Object.assign(F,{id:null,parent_id:e?.id||null,title:``,name:``,icon:``,path:``,component:``,type:e?2:1,sort:0,visible:1,status:1,redirect:``}),A.value=!0}async function W(e){N.value=!0,j.value=`编辑菜单 - ${e.title}`,Object.assign(F,{id:e.id,parent_id:e.parent_id,title:e.title,name:e.name||``,icon:e.icon||``,path:e.path||``,component:e.component||``,type:e.type,sort:e.sort||0,visible:e.visible,status:e.status,redirect:e.redirect||``}),A.value=!0}async function G(){P.value&&await P.value.validate(async e=>{if(e){M.value=!0;try{N.value?(await b.update(F.id,F),y.success(`菜单更新成功`)):(await b.create(F),y.success(`菜单创建成功`)),A.value=!1,z()}catch{}finally{M.value=!1}}})}async function K(e){await v.confirm(`确定删除菜单「${e.title}」吗?若有子菜单将一并删除。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await b.delete(e.id),y.success(`删除成功`),z()}return r(()=>{z()}),(r,f)=>{let m=a(`el-button`),v=a(`el-icon`),y=a(`el-table-column`),b=a(`el-tag`),D=a(`el-table`),B=a(`el-radio-button`),q=a(`el-radio-group`),J=a(`el-form-item`),Y=a(`el-col`),X=a(`el-input`),Z=a(`el-option`),Q=a(`el-select`),te=a(`el-input-number`),$=a(`el-radio`),ne=a(`el-row`),re=a(`el-form`),ie=a(`el-dialog`),ae=t(`loading`);return n(),p(`div`,x,[h(`div`,ee,[h(`div`,S,[h(`div`,C,[g(m,{icon:`Refresh`,onClick:z},{default:e(()=>[...f[13]||=[s(`刷新`,-1)]]),_:1})]),g(m,{type:`primary`,icon:`Plus`,onClick:f[0]||=e=>U(null)},{default:e(()=>[...f[14]||=[s(`新增顶级菜单`,-1)]]),_:1})]),h(`div`,w,[l((n(),c(D,{data:O.value,"row-key":`id`,"tree-props":{children:`children`,hasChildren:`has_children`},"default-expand-all":``,style:{width:`100%`}},{default:e(()=>[g(y,{prop:`title`,label:`菜单名称`,"min-width":`180`},{default:e(({row:t})=>[h(`span`,T,[t.icon?(n(),c(v,{key:0,size:`14`},{default:e(()=>[(n(),c(i(t.icon)))]),_:2},1024)):u(``,!0),s(` `+o(t.title),1)])]),_:1}),g(y,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[g(b,{type:V(t.type),size:`small`},{default:e(()=>[s(o(H(t.type)),1)]),_:2},1032,[`type`])]),_:1}),g(y,{prop:`path`,label:`路由路径`,"min-width":`180`,"show-overflow-tooltip":``}),g(y,{prop:`component`,label:`组件路径`,"min-width":`200`,"show-overflow-tooltip":``}),g(y,{prop:`sort`,label:`排序`,width:`70`,align:`center`}),g(y,{label:`显示`,width:`80`,align:`center`},{default:e(({row:t})=>[g(b,{type:t.visible===1?`success`:`info`,size:`small`},{default:e(()=>[s(o(t.visible===1?`显示`:`隐藏`),1)]),_:2},1032,[`type`])]),_:1}),g(y,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[g(b,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[s(o(t.status===1?`正常`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),g(y,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.type===3?u(``,!0):(n(),c(m,{key:0,size:`small`,type:`success`,text:``,onClick:e=>U(t)},{default:e(()=>[...f[15]||=[s(` 新增子项 `,-1)]]),_:1},8,[`onClick`])),g(m,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...f[16]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),g(m,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...f[17]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,k.value]])])]),g(ie,{modelValue:A.value,"onUpdate:modelValue":f[12]||=e=>A.value=e,title:j.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[g(m,{onClick:f[11]||=e=>A.value=!1},{default:e(()=>[...f[22]||=[s(`取消`,-1)]]),_:1}),g(m,{type:`primary`,loading:M.value,onClick:G},{default:e(()=>[s(o(N.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[g(re,{ref_key:`formRef`,ref:P,model:F,rules:I,"label-width":`100px`},{default:e(()=>[g(ne,{gutter:16},{default:e(()=>[g(Y,{span:12},{default:e(()=>[g(J,{label:`菜单类型`,prop:`type`},{default:e(()=>[g(q,{modelValue:F.type,"onUpdate:modelValue":f[1]||=e=>F.type=e},{default:e(()=>[(n(),p(d,null,_(L,t=>g(B,{key:t.value,value:t.value},{default:e(()=>[s(o(t.label),1)]),_:2},1032,[`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`菜单名称`,prop:`title`},{default:e(()=>[g(X,{modelValue:F.title,"onUpdate:modelValue":f[2]||=e=>F.title=e,placeholder:`菜单显示名称`},null,8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`图标`,prop:`icon`},{default:e(()=>[g(Q,{modelValue:F.icon,"onUpdate:modelValue":f[3]||=e=>F.icon=e,placeholder:`选择图标`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(),p(d,null,_(R,t=>g(Z,{key:t,label:t,value:t},{default:e(()=>[h(`span`,E,[g(v,null,{default:e(()=>[(n(),c(i(t)))]),_:2},1024),s(` `+o(t),1)])]),_:2},1032,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),F.type===3?u(``,!0):(n(),c(Y,{key:0,span:12},{default:e(()=>[g(J,{label:`路由路径`,prop:`path`},{default:e(()=>[g(X,{modelValue:F.path,"onUpdate:modelValue":f[4]||=e=>F.path=e,placeholder:`如: /system/users`},null,8,[`modelValue`])]),_:1})]),_:1})),F.type===2?(n(),c(Y,{key:1,span:12},{default:e(()=>[g(J,{label:`组件路径`,prop:`component`},{default:e(()=>[g(X,{modelValue:F.component,"onUpdate:modelValue":f[5]||=e=>F.component=e,placeholder:`如: system/users/index`},null,8,[`modelValue`])]),_:1})]),_:1})):u(``,!0),F.type===1?(n(),c(Y,{key:2,span:12},{default:e(()=>[g(J,{label:`重定向`,prop:`redirect`},{default:e(()=>[g(X,{modelValue:F.redirect,"onUpdate:modelValue":f[6]||=e=>F.redirect=e,placeholder:`目录默认跳转路径(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})):u(``,!0),g(Y,{span:12},{default:e(()=>[g(J,{label:`路由名称`,prop:`name`},{default:e(()=>[g(X,{modelValue:F.name,"onUpdate:modelValue":f[7]||=e=>F.name=e,placeholder:`唯一路由名(选填)`},null,8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`排序`,prop:`sort`},{default:e(()=>[g(te,{modelValue:F.sort,"onUpdate:modelValue":f[8]||=e=>F.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`是否显示`,prop:`visible`},{default:e(()=>[g(q,{modelValue:F.visible,"onUpdate:modelValue":f[9]||=e=>F.visible=e},{default:e(()=>[g($,{value:1},{default:e(()=>[...f[18]||=[s(`显示`,-1)]]),_:1}),g($,{value:0},{default:e(()=>[...f[19]||=[s(`隐藏`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`状态`,prop:`status`},{default:e(()=>[g(q,{modelValue:F.status,"onUpdate:modelValue":f[10]||=e=>F.status=e},{default:e(()=>[g($,{value:1},{default:e(()=>[...f[20]||=[s(`正常`,-1)]]),_:1}),g($,{value:0},{default:e(()=>[...f[21]||=[s(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,U as i,V as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as v,s as y}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{menuApi as b}from"./system-DEm1DLCy.js";var x={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`flex items-center gap-3`},w={class:`px-2`},T={style:{display:`flex`,"align-items":`center`,gap:`6px`}},E={style:{display:`flex`,"align-items":`center`,gap:`8px`}},D={__name:`index`,setup(D){let O=f([]),k=f(!1),A=f(!1),j=f(`新增菜单`),M=f(!1),N=f(!1),P=f(null),F=m({id:null,parent_id:null,title:``,name:``,icon:``,path:``,component:``,type:1,sort:0,visible:1,status:1,redirect:``}),I={title:[{required:!0,message:`请输入菜单名称`,trigger:`blur`}],path:[{validator:(e,t,n)=>{F.type!==3&&!t?n(Error(`请输入路由路径`)):n()},trigger:`blur`}]},L=[{label:`目录`,value:1},{label:`菜单`,value:2},{label:`按钮`,value:3}],R=[`House`,`User`,`Setting`,`DataLine`,`Grid`,`Money`,`DocumentCopy`,`List`,`Calendar`,`Bell`,`Lock`,`Tools`,`Odometer`,`ChatDotRound`,`Collection`,`Management`];async function z(){k.value=!0;try{let e=await b.getList({per_page:500});O.value=B(e.data?.list||e.data?.data||[])}catch{}finally{k.value=!1}}function B(e,t=null){return e.filter(e=>(e.parent_id??null)===t).sort((e,t)=>(e.sort??0)-(t.sort??0)).map(t=>({...t,children:B(e,t.id)}))}function V(e){return{1:``,2:`success`,3:`info`}[e]||``}function H(e){return{1:`目录`,2:`菜单`,3:`按钮`}[e]||`-`}function U(e){N.value=!1,j.value=e?`在「${e.title}」下新增菜单`:`新增顶级菜单`,Object.assign(F,{id:null,parent_id:e?.id||null,title:``,name:``,icon:``,path:``,component:``,type:e?2:1,sort:0,visible:1,status:1,redirect:``}),A.value=!0}async function W(e){N.value=!0,j.value=`编辑菜单 - ${e.title}`,Object.assign(F,{id:e.id,parent_id:e.parent_id,title:e.title,name:e.name||``,icon:e.icon||``,path:e.path||``,component:e.component||``,type:e.type,sort:e.sort||0,visible:e.visible,status:e.status,redirect:e.redirect||``}),A.value=!0}async function G(){P.value&&await P.value.validate(async e=>{if(e){M.value=!0;try{N.value?(await b.update(F.id,F),y.success(`菜单更新成功`)):(await b.create(F),y.success(`菜单创建成功`)),A.value=!1,z()}catch{}finally{M.value=!1}}})}async function K(e){await v.confirm(`确定删除菜单「${e.title}」吗?若有子菜单将一并删除。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await b.delete(e.id),y.success(`删除成功`),z()}return r(()=>{z()}),(r,f)=>{let m=a(`el-button`),v=a(`el-icon`),y=a(`el-table-column`),b=a(`el-tag`),D=a(`el-table`),B=a(`el-radio-button`),q=a(`el-radio-group`),J=a(`el-form-item`),Y=a(`el-col`),X=a(`el-input`),Z=a(`el-option`),Q=a(`el-select`),te=a(`el-input-number`),$=a(`el-radio`),ne=a(`el-row`),re=a(`el-form`),ie=a(`el-dialog`),ae=t(`loading`);return n(),p(`div`,x,[h(`div`,ee,[h(`div`,S,[h(`div`,C,[g(m,{icon:`Refresh`,onClick:z},{default:e(()=>[...f[13]||=[s(`刷新`,-1)]]),_:1})]),g(m,{type:`primary`,icon:`Plus`,onClick:f[0]||=e=>U(null)},{default:e(()=>[...f[14]||=[s(`新增顶级菜单`,-1)]]),_:1})]),h(`div`,w,[l((n(),c(D,{data:O.value,"row-key":`id`,"tree-props":{children:`children`,hasChildren:`has_children`},"default-expand-all":``,style:{width:`100%`}},{default:e(()=>[g(y,{prop:`title`,label:`菜单名称`,"min-width":`180`},{default:e(({row:t})=>[h(`span`,T,[t.icon?(n(),c(v,{key:0,size:`14`},{default:e(()=>[(n(),c(i(t.icon)))]),_:2},1024)):u(``,!0),s(` `+o(t.title),1)])]),_:1}),g(y,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[g(b,{type:V(t.type),size:`small`},{default:e(()=>[s(o(H(t.type)),1)]),_:2},1032,[`type`])]),_:1}),g(y,{prop:`path`,label:`路由路径`,"min-width":`180`,"show-overflow-tooltip":``}),g(y,{prop:`component`,label:`组件路径`,"min-width":`200`,"show-overflow-tooltip":``}),g(y,{prop:`sort`,label:`排序`,width:`70`,align:`center`}),g(y,{label:`显示`,width:`80`,align:`center`},{default:e(({row:t})=>[g(b,{type:t.visible===1?`success`:`info`,size:`small`},{default:e(()=>[s(o(t.visible===1?`显示`:`隐藏`),1)]),_:2},1032,[`type`])]),_:1}),g(y,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[g(b,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[s(o(t.status===1?`正常`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),g(y,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.type===3?u(``,!0):(n(),c(m,{key:0,size:`small`,type:`success`,text:``,onClick:e=>U(t)},{default:e(()=>[...f[15]||=[s(` 新增子项 `,-1)]]),_:1},8,[`onClick`])),g(m,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...f[16]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),g(m,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...f[17]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,k.value]])])]),g(ie,{modelValue:A.value,"onUpdate:modelValue":f[12]||=e=>A.value=e,title:j.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[g(m,{onClick:f[11]||=e=>A.value=!1},{default:e(()=>[...f[22]||=[s(`取消`,-1)]]),_:1}),g(m,{type:`primary`,loading:M.value,onClick:G},{default:e(()=>[s(o(N.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[g(re,{ref_key:`formRef`,ref:P,model:F,rules:I,"label-width":`100px`},{default:e(()=>[g(ne,{gutter:16},{default:e(()=>[g(Y,{span:12},{default:e(()=>[g(J,{label:`菜单类型`,prop:`type`},{default:e(()=>[g(q,{modelValue:F.type,"onUpdate:modelValue":f[1]||=e=>F.type=e},{default:e(()=>[(n(),p(d,null,_(L,t=>g(B,{key:t.value,value:t.value},{default:e(()=>[s(o(t.label),1)]),_:2},1032,[`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`菜单名称`,prop:`title`},{default:e(()=>[g(X,{modelValue:F.title,"onUpdate:modelValue":f[2]||=e=>F.title=e,placeholder:`菜单显示名称`},null,8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`图标`,prop:`icon`},{default:e(()=>[g(Q,{modelValue:F.icon,"onUpdate:modelValue":f[3]||=e=>F.icon=e,placeholder:`选择图标`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(),p(d,null,_(R,t=>g(Z,{key:t,label:t,value:t},{default:e(()=>[h(`span`,E,[g(v,null,{default:e(()=>[(n(),c(i(t)))]),_:2},1024),s(` `+o(t),1)])]),_:2},1032,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),F.type===3?u(``,!0):(n(),c(Y,{key:0,span:12},{default:e(()=>[g(J,{label:`路由路径`,prop:`path`},{default:e(()=>[g(X,{modelValue:F.path,"onUpdate:modelValue":f[4]||=e=>F.path=e,placeholder:`如: /system/users`},null,8,[`modelValue`])]),_:1})]),_:1})),F.type===2?(n(),c(Y,{key:1,span:12},{default:e(()=>[g(J,{label:`组件路径`,prop:`component`},{default:e(()=>[g(X,{modelValue:F.component,"onUpdate:modelValue":f[5]||=e=>F.component=e,placeholder:`如: system/users/index`},null,8,[`modelValue`])]),_:1})]),_:1})):u(``,!0),F.type===1?(n(),c(Y,{key:2,span:12},{default:e(()=>[g(J,{label:`重定向`,prop:`redirect`},{default:e(()=>[g(X,{modelValue:F.redirect,"onUpdate:modelValue":f[6]||=e=>F.redirect=e,placeholder:`目录默认跳转路径(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})):u(``,!0),g(Y,{span:12},{default:e(()=>[g(J,{label:`路由名称`,prop:`name`},{default:e(()=>[g(X,{modelValue:F.name,"onUpdate:modelValue":f[7]||=e=>F.name=e,placeholder:`唯一路由名(选填)`},null,8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`排序`,prop:`sort`},{default:e(()=>[g(te,{modelValue:F.sort,"onUpdate:modelValue":f[8]||=e=>F.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`是否显示`,prop:`visible`},{default:e(()=>[g(q,{modelValue:F.visible,"onUpdate:modelValue":f[9]||=e=>F.visible=e},{default:e(()=>[g($,{value:1},{default:e(()=>[...f[18]||=[s(`显示`,-1)]]),_:1}),g($,{value:0},{default:e(()=>[...f[19]||=[s(`隐藏`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(Y,{span:12},{default:e(()=>[g(J,{label:`状态`,prop:`status`},{default:e(()=>[g(q,{modelValue:F.status,"onUpdate:modelValue":f[10]||=e=>F.status=e},{default:e(()=>[g($,{value:1},{default:e(()=>[...f[20]||=[s(`正常`,-1)]]),_:1}),g($,{value:0},{default:e(()=>[...f[21]||=[s(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/nannies-DgwxPzxp.js b/frontend/dist/assets/nannies-DV_-H8Hj.js similarity index 97% rename from frontend/dist/assets/nannies-DgwxPzxp.js rename to frontend/dist/assets/nannies-DV_-H8Hj.js index 6d03641..70094a5 100644 --- a/frontend/dist/assets/nannies-DgwxPzxp.js +++ b/frontend/dist/assets/nannies-DV_-H8Hj.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as v}from"./nanny-Cp-L-Ws0.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({name:``,level:``,status:``}),M=f({page:1,per_page:15}),N=u(null),P=f({id:null,name:``,phone:``,id_card:``,level:``,specialties:[],experience_years:0,daily_price:0,status:1,avatar:``,remark:``}),F=u(!1),I={name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],phone:[{required:!0,message:`请输入手机号`,trigger:`blur`}]},L={1:`待岗`,2:`在岗`,3:`休假`,0:`离职`},R={1:`info`,2:`success`,3:`warning`,0:`danger`},z={1:`初级`,2:`中级`,3:`高级`,4:`金牌`};async function B(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function V(){M.page=1,B()}function H(){Object.assign(j,{name:``,level:``,status:``}),V()}function U(){F.value=!1,Object.assign(P,{id:null,name:``,phone:``,id_card:``,level:``,specialties:[],experience_years:0,daily_price:0,status:1,avatar:``,remark:``}),k.value=!0}function W(e){F.value=!0,Object.assign(P,{id:e.id,name:e.name,phone:e.phone,id_card:e.id_card||``,level:e.level,specialties:e.specialties||[],experience_years:e.experience_years,daily_price:e.daily_price,status:e.status,avatar:e.avatar||``,remark:e.remark||``}),k.value=!0}async function G(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?await v.update(P.id,P):await v.create(P),_.success(F.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function K(e){await g.confirm(`确定删除月嫂「${e.name}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function q(e){M.page=e,B()}function J(e){M.per_page=e,M.page=1,B()}return r(()=>B()),(r,u)=>{let f=i(`el-input`),g=i(`el-option`),_=i(`el-select`),v=i(`el-button`),T=i(`el-table-column`),B=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-form-item`),Q=i(`el-input-number`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(f,{modelValue:j.name,"onUpdate:modelValue":u[0]||=e=>j.name=e,placeholder:`姓名`,style:{width:`150px`},clearable:``},null,8,[`modelValue`]),m(_,{modelValue:j.level,"onUpdate:modelValue":u[1]||=e=>j.level=e,placeholder:`等级`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[2]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{type:`primary`,onClick:V},{default:e(()=>[...u[15]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:H},{default:e(()=>[...u[16]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[18]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`月嫂列表`)],-1),m(v,{type:`primary`,onClick:U},{default:e(()=>[...u[17]||=[o(`新增月嫂`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(Y,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{prop:`name`,label:`姓名`,width:`100`}),m(T,{prop:`phone`,label:`手机号`,width:`130`}),m(T,{label:`等级`,width:`80`,align:`center`},{default:e(({row:e})=>[o(a(z[e.level]||`-`),1)]),_:1}),m(T,{prop:`experience_years`,label:`经验(年)`,width:`90`,align:`center`}),m(T,{prop:`daily_price`,label:`日价(元)`,width:`100`,align:`right`}),m(T,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(B,{type:R[t.status],size:`small`},{default:e(()=>[o(a(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(v,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(v,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...u[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,O.value]])]),p(`div`,w,[m(X,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:D.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:k.value,"onUpdate:modelValue":u[14]||=e=>k.value=e,title:F.value?`编辑月嫂`:`新增月嫂`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[13]||=e=>k.value=!1},{default:e(()=>[...u[21]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...u[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[m(Z,{label:`姓名`,prop:`name`},{default:e(()=>[m(f,{modelValue:P.name,"onUpdate:modelValue":u[5]||=e=>P.name=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`手机号`,prop:`phone`},{default:e(()=>[m(f,{modelValue:P.phone,"onUpdate:modelValue":u[6]||=e=>P.phone=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`身份证号`},{default:e(()=>[m(f,{modelValue:P.id_card,"onUpdate:modelValue":u[7]||=e=>P.id_card=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`等级`},{default:e(()=>[m(_,{modelValue:P.level,"onUpdate:modelValue":u[8]||=e=>P.level=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Z,{label:`经验(年)`},{default:e(()=>[m(Q,{modelValue:P.experience_years,"onUpdate:modelValue":u[9]||=e=>P.experience_years=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`日价(元)`},{default:e(()=>[m(Q,{modelValue:P.daily_price,"onUpdate:modelValue":u[10]||=e=>P.daily_price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`状态`},{default:e(()=>[m(_,{modelValue:P.status,"onUpdate:modelValue":u[11]||=e=>P.status=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Z,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[12]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as v}from"./nanny-Bdev7M11.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({name:``,level:``,status:``}),M=f({page:1,per_page:15}),N=u(null),P=f({id:null,name:``,phone:``,id_card:``,level:``,specialties:[],experience_years:0,daily_price:0,status:1,avatar:``,remark:``}),F=u(!1),I={name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],phone:[{required:!0,message:`请输入手机号`,trigger:`blur`}]},L={1:`待岗`,2:`在岗`,3:`休假`,0:`离职`},R={1:`info`,2:`success`,3:`warning`,0:`danger`},z={1:`初级`,2:`中级`,3:`高级`,4:`金牌`};async function B(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function V(){M.page=1,B()}function H(){Object.assign(j,{name:``,level:``,status:``}),V()}function U(){F.value=!1,Object.assign(P,{id:null,name:``,phone:``,id_card:``,level:``,specialties:[],experience_years:0,daily_price:0,status:1,avatar:``,remark:``}),k.value=!0}function W(e){F.value=!0,Object.assign(P,{id:e.id,name:e.name,phone:e.phone,id_card:e.id_card||``,level:e.level,specialties:e.specialties||[],experience_years:e.experience_years,daily_price:e.daily_price,status:e.status,avatar:e.avatar||``,remark:e.remark||``}),k.value=!0}async function G(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?await v.update(P.id,P):await v.create(P),_.success(F.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function K(e){await g.confirm(`确定删除月嫂「${e.name}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function q(e){M.page=e,B()}function J(e){M.per_page=e,M.page=1,B()}return r(()=>B()),(r,u)=>{let f=i(`el-input`),g=i(`el-option`),_=i(`el-select`),v=i(`el-button`),T=i(`el-table-column`),B=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-form-item`),Q=i(`el-input-number`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(f,{modelValue:j.name,"onUpdate:modelValue":u[0]||=e=>j.name=e,placeholder:`姓名`,style:{width:`150px`},clearable:``},null,8,[`modelValue`]),m(_,{modelValue:j.level,"onUpdate:modelValue":u[1]||=e=>j.level=e,placeholder:`等级`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[2]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{type:`primary`,onClick:V},{default:e(()=>[...u[15]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:H},{default:e(()=>[...u[16]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[18]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`月嫂列表`)],-1),m(v,{type:`primary`,onClick:U},{default:e(()=>[...u[17]||=[o(`新增月嫂`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(Y,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{prop:`name`,label:`姓名`,width:`100`}),m(T,{prop:`phone`,label:`手机号`,width:`130`}),m(T,{label:`等级`,width:`80`,align:`center`},{default:e(({row:e})=>[o(a(z[e.level]||`-`),1)]),_:1}),m(T,{prop:`experience_years`,label:`经验(年)`,width:`90`,align:`center`}),m(T,{prop:`daily_price`,label:`日价(元)`,width:`100`,align:`right`}),m(T,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[m(B,{type:R[t.status],size:`small`},{default:e(()=>[o(a(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(v,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(v,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...u[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,O.value]])]),p(`div`,w,[m(X,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:D.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:k.value,"onUpdate:modelValue":u[14]||=e=>k.value=e,title:F.value?`编辑月嫂`:`新增月嫂`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[13]||=e=>k.value=!1},{default:e(()=>[...u[21]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...u[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[m(Z,{label:`姓名`,prop:`name`},{default:e(()=>[m(f,{modelValue:P.name,"onUpdate:modelValue":u[5]||=e=>P.name=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`手机号`,prop:`phone`},{default:e(()=>[m(f,{modelValue:P.phone,"onUpdate:modelValue":u[6]||=e=>P.phone=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`身份证号`},{default:e(()=>[m(f,{modelValue:P.id_card,"onUpdate:modelValue":u[7]||=e=>P.id_card=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`等级`},{default:e(()=>[m(_,{modelValue:P.level,"onUpdate:modelValue":u[8]||=e=>P.level=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Z,{label:`经验(年)`},{default:e(()=>[m(Q,{modelValue:P.experience_years,"onUpdate:modelValue":u[9]||=e=>P.experience_years=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`日价(元)`},{default:e(()=>[m(Q,{modelValue:P.daily_price,"onUpdate:modelValue":u[10]||=e=>P.daily_price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`状态`},{default:e(()=>[m(_,{modelValue:P.status,"onUpdate:modelValue":u[11]||=e=>P.status=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Z,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[12]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/nanny-Cp-L-Ws0.js b/frontend/dist/assets/nanny-Bdev7M11.js similarity index 88% rename from frontend/dist/assets/nanny-Cp-L-Ws0.js rename to frontend/dist/assets/nanny-Bdev7M11.js index 4145de8..c6aac93 100644 --- a/frontend/dist/assets/nanny-Cp-L-Ws0.js +++ b/frontend/dist/assets/nanny-Bdev7M11.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/nanny/nannies`,{params:t}),getDetail:t=>e.get(`/nanny/nannies/${t}`),create:t=>e.post(`/nanny/nannies`,t),update:(t,n)=>e.put(`/nanny/nannies/${t}`,n),delete:t=>e.delete(`/nanny/nannies/${t}`)},n={getList:t=>e.get(`/nanny/orders`,{params:t}),getDetail:t=>e.get(`/nanny/orders/${t}`),create:t=>e.post(`/nanny/orders`,t),update:(t,n)=>e.put(`/nanny/orders/${t}`,n),delete:t=>e.delete(`/nanny/orders/${t}`)},r={getList:t=>e.get(`/nanny/schedules`,{params:t}),create:t=>e.post(`/nanny/schedules`,t)};export{n,r,t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/nanny/nannies`,{params:t}),getDetail:t=>e.get(`/nanny/nannies/${t}`),create:t=>e.post(`/nanny/nannies`,t),update:(t,n)=>e.put(`/nanny/nannies/${t}`,n),delete:t=>e.delete(`/nanny/nannies/${t}`)},n={getList:t=>e.get(`/nanny/orders`,{params:t}),getDetail:t=>e.get(`/nanny/orders/${t}`),create:t=>e.post(`/nanny/orders`,t),update:(t,n)=>e.put(`/nanny/orders/${t}`,n),delete:t=>e.delete(`/nanny/orders/${t}`)},r={getList:t=>e.get(`/nanny/schedules`,{params:t}),create:t=>e.post(`/nanny/schedules`,t)};export{n,r,t}; \ No newline at end of file diff --git a/frontend/dist/assets/notifications-B0Q-bm4i.js b/frontend/dist/assets/notifications-I8CiKdc8.js similarity index 95% rename from frontend/dist/assets/notifications-B0Q-bm4i.js rename to frontend/dist/assets/notifications-I8CiKdc8.js index bb2b347..71bc527 100644 --- a/frontend/dist/assets/notifications-B0Q-bm4i.js +++ b/frontend/dist/assets/notifications-I8CiKdc8.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as _,t as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{a as y}from"./office-DHw6Jomg.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={key:1,class:`text-muted`},E={class:`px-5 py-3 border-t border-gray-50`},D=v({__name:`index`,setup(v){let D=d([]),O=d(0),k=d(!1),A=p({type:``,is_read:``}),j=p({page:1,per_page:20}),M={1:`系统`,2:`审批`,3:`待办`,4:`提醒`},N={1:``,2:`warning`,3:`danger`,4:`success`};async function P(){k.value=!0;try{let e=await y.getList({...A,...j});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function F(){j.page=1,P()}function I(){Object.assign(A,{type:``,is_read:``}),F()}async function L(e){await y.markRead(e.id),_.success(`已标记为已读`),P()}async function R(){await y.markAllRead(),_.success(`全部标记为已读`),P()}function z(e){j.page=e,P()}function B(e){j.per_page=e,j.page=1,P()}return r(P),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),P=i(`el-tag`),V=i(`el-table`),H=i(`el-pagination`),U=t(`loading`);return n(),f(`div`,b,[m(`div`,x,[h(_,{modelValue:A.type,"onUpdate:modelValue":d[0]||=e=>A.type=e,placeholder:`通知类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),f(u,null,g(M,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:A.is_read,"onUpdate:modelValue":d[1]||=e=>A.is_read=e,placeholder:`读取状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[h(p,{label:`未读`,value:0}),h(p,{label:`已读`,value:1})]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:F},{default:e(()=>[...d[4]||=[s(`查询`,-1)]]),_:1}),h(v,{onClick:I},{default:e(()=>[...d[5]||=[s(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[7]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`通知列表`)],-1),h(v,{type:`primary`,onClick:R},{default:e(()=>[...d[6]||=[s(`全部标记已读`,-1)]]),_:1})]),m(`div`,w,[l((n(),c(V,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(y,{prop:`title`,label:`标题`,"min-width":`180`}),h(y,{prop:`content`,label:`内容`,"min-width":`260`,"show-overflow-tooltip":``}),h(y,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[h(P,{type:N[t.type],size:`small`},{default:e(()=>[s(o(M[t.type]||`-`),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`状态`,width:`80`,align:`center`},{default:e(({row:e})=>[m(`span`,{class:a([`read-dot`,e.is_read?`read`:`unread`])},null,2),m(`span`,null,o(e.is_read?`已读`:`未读`),1)]),_:1}),h(y,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(y,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.is_read?(n(),f(`span`,T,`-`)):(n(),c(v,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>L(t)},{default:e(()=>[...d[8]||=[s(`标记已读`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`])),[[U,k.value]])]),m(`div`,E,[h(H,{"current-page":j.page,"onUpdate:currentPage":d[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":d[3]||=e=>j.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:z,onSizeChange:B},null,8,[`current-page`,`page-size`,`total`])])])])}}},[[`__scopeId`,`data-v-0e888ba3`]]);export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as _,t as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{a as y}from"./office-CIThbrL3.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={key:1,class:`text-muted`},E={class:`px-5 py-3 border-t border-gray-50`},D=v({__name:`index`,setup(v){let D=d([]),O=d(0),k=d(!1),A=p({type:``,is_read:``}),j=p({page:1,per_page:20}),M={1:`系统`,2:`审批`,3:`待办`,4:`提醒`},N={1:``,2:`warning`,3:`danger`,4:`success`};async function P(){k.value=!0;try{let e=await y.getList({...A,...j});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function F(){j.page=1,P()}function I(){Object.assign(A,{type:``,is_read:``}),F()}async function L(e){await y.markRead(e.id),_.success(`已标记为已读`),P()}async function R(){await y.markAllRead(),_.success(`全部标记为已读`),P()}function z(e){j.page=e,P()}function B(e){j.per_page=e,j.page=1,P()}return r(P),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),P=i(`el-tag`),V=i(`el-table`),H=i(`el-pagination`),U=t(`loading`);return n(),f(`div`,b,[m(`div`,x,[h(_,{modelValue:A.type,"onUpdate:modelValue":d[0]||=e=>A.type=e,placeholder:`通知类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),f(u,null,g(M,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(_,{modelValue:A.is_read,"onUpdate:modelValue":d[1]||=e=>A.is_read=e,placeholder:`读取状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[h(p,{label:`未读`,value:0}),h(p,{label:`已读`,value:1})]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:F},{default:e(()=>[...d[4]||=[s(`查询`,-1)]]),_:1}),h(v,{onClick:I},{default:e(()=>[...d[5]||=[s(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[7]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`通知列表`)],-1),h(v,{type:`primary`,onClick:R},{default:e(()=>[...d[6]||=[s(`全部标记已读`,-1)]]),_:1})]),m(`div`,w,[l((n(),c(V,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(y,{prop:`title`,label:`标题`,"min-width":`180`}),h(y,{prop:`content`,label:`内容`,"min-width":`260`,"show-overflow-tooltip":``}),h(y,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[h(P,{type:N[t.type],size:`small`},{default:e(()=>[s(o(M[t.type]||`-`),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`状态`,width:`80`,align:`center`},{default:e(({row:e})=>[m(`span`,{class:a([`read-dot`,e.is_read?`read`:`unread`])},null,2),m(`span`,null,o(e.is_read?`已读`:`未读`),1)]),_:1}),h(y,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(y,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.is_read?(n(),f(`span`,T,`-`)):(n(),c(v,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>L(t)},{default:e(()=>[...d[8]||=[s(`标记已读`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`])),[[U,k.value]])]),m(`div`,E,[h(H,{"current-page":j.page,"onUpdate:currentPage":d[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":d[3]||=e=>j.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:z,onSizeChange:B},null,8,[`current-page`,`page-size`,`total`])])])])}}},[[`__scopeId`,`data-v-0e888ba3`]]);export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/office-DHw6Jomg.js b/frontend/dist/assets/office-CIThbrL3.js similarity index 90% rename from frontend/dist/assets/office-DHw6Jomg.js rename to frontend/dist/assets/office-CIThbrL3.js index adc3a54..387cd79 100644 --- a/frontend/dist/assets/office-DHw6Jomg.js +++ b/frontend/dist/assets/office-CIThbrL3.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/office/approval-templates`,{params:t}),getDetail:t=>e.get(`/office/approval-templates/${t}`),create:t=>e.post(`/office/approval-templates`,t),update:(t,n)=>e.put(`/office/approval-templates/${t}`,n),delete:t=>e.delete(`/office/approval-templates/${t}`)},n={getList:t=>e.get(`/office/approvals`,{params:t}),getDetail:t=>e.get(`/office/approvals/${t}`),create:t=>e.post(`/office/approvals`,t),approve:(t,n)=>e.put(`/office/approvals/${t}/approve`,n),reject:(t,n)=>e.put(`/office/approvals/${t}/reject`,n),withdraw:t=>e.put(`/office/approvals/${t}/withdraw`)},r={getList:t=>e.get(`/office/announcements`,{params:t}),getDetail:t=>e.get(`/office/announcements/${t}`),create:t=>e.post(`/office/announcements`,t),update:(t,n)=>e.put(`/office/announcements/${t}`,n),delete:t=>e.delete(`/office/announcements/${t}`),publish:t=>e.put(`/office/announcements/${t}/publish`)},i={getList:t=>e.get(`/office/handovers`,{params:t}),create:t=>e.post(`/office/handovers`,t),confirm:t=>e.put(`/office/handovers/${t}/confirm`)},a={getList:t=>e.get(`/office/notifications`,{params:t}),markRead:t=>e.put(`/office/notifications/${t}/read`),markAllRead:()=>e.put(`/office/notifications/read-all`)};export{a,i,n,t as r,r as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/office/approval-templates`,{params:t}),getDetail:t=>e.get(`/office/approval-templates/${t}`),create:t=>e.post(`/office/approval-templates`,t),update:(t,n)=>e.put(`/office/approval-templates/${t}`,n),delete:t=>e.delete(`/office/approval-templates/${t}`)},n={getList:t=>e.get(`/office/approvals`,{params:t}),getDetail:t=>e.get(`/office/approvals/${t}`),create:t=>e.post(`/office/approvals`,t),approve:(t,n)=>e.put(`/office/approvals/${t}/approve`,n),reject:(t,n)=>e.put(`/office/approvals/${t}/reject`,n),withdraw:t=>e.put(`/office/approvals/${t}/withdraw`)},r={getList:t=>e.get(`/office/announcements`,{params:t}),getDetail:t=>e.get(`/office/announcements/${t}`),create:t=>e.post(`/office/announcements`,t),update:(t,n)=>e.put(`/office/announcements/${t}`,n),delete:t=>e.delete(`/office/announcements/${t}`),publish:t=>e.put(`/office/announcements/${t}/publish`)},i={getList:t=>e.get(`/office/handovers`,{params:t}),create:t=>e.post(`/office/handovers`,t),confirm:t=>e.put(`/office/handovers/${t}/confirm`)},a={getList:t=>e.get(`/office/notifications`,{params:t}),markRead:t=>e.put(`/office/notifications/${t}/read`),markAllRead:()=>e.put(`/office/notifications/read-all`)};export{a,i,n,t as r,r as t}; \ No newline at end of file diff --git a/frontend/dist/assets/orders-e9sJ-_wO.js b/frontend/dist/assets/orders-2ivO139e.js similarity index 97% rename from frontend/dist/assets/orders-e9sJ-_wO.js rename to frontend/dist/assets/orders-2ivO139e.js index 0ef68a2..3dfd6ad 100644 --- a/frontend/dist/assets/orders-e9sJ-_wO.js +++ b/frontend/dist/assets/orders-2ivO139e.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{r as y}from"./service-Cm4zwPyA.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=d([]),O=d(0),k=d(!1),A=d(!1),j=d(!1),M=p({order_no:``,status:``}),N=p({page:1,per_page:15}),P=d(null),F=p({id:null,customer_id:``,order_no:``,type:``,total_amount:0,discount_amount:0,actual_amount:0,remark:``}),I=d(!1),L={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],order_no:[{required:!0,message:`请输入订单号`,trigger:`blur`}],actual_amount:[{required:!0,message:`请输入实付金额`,trigger:`blur`}]},R={0:`待付款`,1:`已付款`,2:`已完成`,3:`已取消`},z={0:`info`,1:`warning`,2:`success`,3:`danger`},B={1:`单项服务`,2:`套餐`,3:`产康`,4:`其他`};async function V(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function H(){N.page=1,V()}function U(){Object.assign(M,{order_no:``,status:``}),H()}function W(){I.value=!1,Object.assign(F,{id:null,customer_id:``,order_no:``,type:``,total_amount:0,discount_amount:0,actual_amount:0,remark:``}),A.value=!0}function G(e){I.value=!0,Object.assign(F,{id:e.id,customer_id:e.customer_id,order_no:e.order_no,type:e.type,total_amount:e.total_amount,discount_amount:e.discount_amount,actual_amount:e.actual_amount,remark:e.remark||``}),A.value=!0}async function K(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?await y.update(F.id,F):await y.create(F),v.success(I.value?`更新成功`:`创建成功`),A.value=!1,V()}finally{j.value=!1}}})}async function q(e){await _.confirm(`确定删除订单「${e.order_no}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),V()}async function J(e){await _.confirm(`确认客户已付款?`,`付款确认`,{type:`warning`}),await y.pay(e.id,{pay_method:1}),v.success(`付款成功`),V()}async function Y(e){await _.confirm(`确认订单已完成?`,`完成确认`,{type:`warning`}),await y.complete(e.id),v.success(`已完成`),V()}function X(e){N.page=e,V()}function Z(e){N.per_page=e,N.page=1,V()}return r(()=>V()),(r,d)=>{let p=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),V=i(`el-tag`),ee=i(`el-table`),te=i(`el-pagination`),Q=i(`el-form-item`),$=i(`el-input-number`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,b,[m(`div`,x,[h(p,{modelValue:M.order_no,"onUpdate:modelValue":d[0]||=e=>M.order_no=e,placeholder:`订单号`,style:{width:`180px`},clearable:``},null,8,[`modelValue`]),h(v,{modelValue:M.status,"onUpdate:modelValue":d[1]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(R,(e,t)=>h(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{type:`primary`,onClick:H},{default:e(()=>[...d[13]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:U},{default:e(()=>[...d[14]||=[o(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[16]||=m(`div`,{class:`flex items-center gap-3`},null,-1),h(y,{type:`primary`,onClick:W},{default:e(()=>[...d[15]||=[o(`新增订单`,-1)]]),_:1})]),m(`div`,w,[c((n(),s(ee,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(E,{prop:`order_no`,label:`订单号`,"min-width":`160`}),h(E,{label:`客户`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(E,{label:`类型`,width:`100`},{default:e(({row:e})=>[o(a(B[e.type]||`-`),1)]),_:1}),h(E,{prop:`actual_amount`,label:`实付(元)`,width:`100`,align:`right`}),h(E,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(V,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(E,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[17]||=[o(`付款`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?(n(),s(y,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>Y(t)},{default:e(()=>[...d[18]||=[o(`完成`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(y,{key:2,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(y,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...d[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,k.value]])]),m(`div`,T,[h(te,{"current-page":N.page,"onUpdate:currentPage":d[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":d[3]||=e=>N.per_page=e,total:O.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:X,onSizeChange:Z},null,8,[`current-page`,`page-size`,`total`])])]),h(re,{modelValue:A.value,"onUpdate:modelValue":d[12]||=e=>A.value=e,title:I.value?`编辑订单`:`新增订单`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[11]||=e=>A.value=!1},{default:e(()=>[...d[21]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:j.value,onClick:K},{default:e(()=>[...d[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ne,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`90px`},{default:e(()=>[h(Q,{label:`客户ID`,prop:`customer_id`},{default:e(()=>[h(p,{modelValue:F.customer_id,"onUpdate:modelValue":d[4]||=e=>F.customer_id=e},null,8,[`modelValue`])]),_:1}),h(Q,{label:`订单号`,prop:`order_no`},{default:e(()=>[h(p,{modelValue:F.order_no,"onUpdate:modelValue":d[5]||=e=>F.order_no=e,disabled:I.value},null,8,[`modelValue`,`disabled`])]),_:1}),h(Q,{label:`类型`},{default:e(()=>[h(v,{modelValue:F.type,"onUpdate:modelValue":d[6]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(B,(e,t)=>h(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(Q,{label:`总金额`},{default:e(()=>[h($,{modelValue:F.total_amount,"onUpdate:modelValue":d[7]||=e=>F.total_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(Q,{label:`优惠金额`},{default:e(()=>[h($,{modelValue:F.discount_amount,"onUpdate:modelValue":d[8]||=e=>F.discount_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(Q,{label:`实付金额`,prop:`actual_amount`},{default:e(()=>[h($,{modelValue:F.actual_amount,"onUpdate:modelValue":d[9]||=e=>F.actual_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(Q,{label:`备注`},{default:e(()=>[h(p,{modelValue:F.remark,"onUpdate:modelValue":d[10]||=e=>F.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{r as y}from"./service-nZ3xVURY.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=d([]),O=d(0),k=d(!1),A=d(!1),j=d(!1),M=p({order_no:``,status:``}),N=p({page:1,per_page:15}),P=d(null),F=p({id:null,customer_id:``,order_no:``,type:``,total_amount:0,discount_amount:0,actual_amount:0,remark:``}),I=d(!1),L={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],order_no:[{required:!0,message:`请输入订单号`,trigger:`blur`}],actual_amount:[{required:!0,message:`请输入实付金额`,trigger:`blur`}]},R={0:`待付款`,1:`已付款`,2:`已完成`,3:`已取消`},z={0:`info`,1:`warning`,2:`success`,3:`danger`},B={1:`单项服务`,2:`套餐`,3:`产康`,4:`其他`};async function V(){k.value=!0;try{let e=await y.getList({...M,...N});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}function H(){N.page=1,V()}function U(){Object.assign(M,{order_no:``,status:``}),H()}function W(){I.value=!1,Object.assign(F,{id:null,customer_id:``,order_no:``,type:``,total_amount:0,discount_amount:0,actual_amount:0,remark:``}),A.value=!0}function G(e){I.value=!0,Object.assign(F,{id:e.id,customer_id:e.customer_id,order_no:e.order_no,type:e.type,total_amount:e.total_amount,discount_amount:e.discount_amount,actual_amount:e.actual_amount,remark:e.remark||``}),A.value=!0}async function K(){P.value&&await P.value.validate(async e=>{if(e){j.value=!0;try{I.value?await y.update(F.id,F):await y.create(F),v.success(I.value?`更新成功`:`创建成功`),A.value=!1,V()}finally{j.value=!1}}})}async function q(e){await _.confirm(`确定删除订单「${e.order_no}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),v.success(`删除成功`),V()}async function J(e){await _.confirm(`确认客户已付款?`,`付款确认`,{type:`warning`}),await y.pay(e.id,{pay_method:1}),v.success(`付款成功`),V()}async function Y(e){await _.confirm(`确认订单已完成?`,`完成确认`,{type:`warning`}),await y.complete(e.id),v.success(`已完成`),V()}function X(e){N.page=e,V()}function Z(e){N.per_page=e,N.page=1,V()}return r(()=>V()),(r,d)=>{let p=i(`el-input`),_=i(`el-option`),v=i(`el-select`),y=i(`el-button`),E=i(`el-table-column`),V=i(`el-tag`),ee=i(`el-table`),te=i(`el-pagination`),Q=i(`el-form-item`),$=i(`el-input-number`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,b,[m(`div`,x,[h(p,{modelValue:M.order_no,"onUpdate:modelValue":d[0]||=e=>M.order_no=e,placeholder:`订单号`,style:{width:`180px`},clearable:``},null,8,[`modelValue`]),h(v,{modelValue:M.status,"onUpdate:modelValue":d[1]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(R,(e,t)=>h(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{type:`primary`,onClick:H},{default:e(()=>[...d[13]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:U},{default:e(()=>[...d[14]||=[o(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[16]||=m(`div`,{class:`flex items-center gap-3`},null,-1),h(y,{type:`primary`,onClick:W},{default:e(()=>[...d[15]||=[o(`新增订单`,-1)]]),_:1})]),m(`div`,w,[c((n(),s(ee,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(E,{prop:`order_no`,label:`订单号`,"min-width":`160`}),h(E,{label:`客户`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(E,{label:`类型`,width:`100`},{default:e(({row:e})=>[o(a(B[e.type]||`-`),1)]),_:1}),h(E,{prop:`actual_amount`,label:`实付(元)`,width:`100`,align:`right`}),h(E,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(V,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(E,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[17]||=[o(`付款`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?(n(),s(y,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>Y(t)},{default:e(()=>[...d[18]||=[o(`完成`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(y,{key:2,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(y,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...d[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,k.value]])]),m(`div`,T,[h(te,{"current-page":N.page,"onUpdate:currentPage":d[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":d[3]||=e=>N.per_page=e,total:O.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:X,onSizeChange:Z},null,8,[`current-page`,`page-size`,`total`])])]),h(re,{modelValue:A.value,"onUpdate:modelValue":d[12]||=e=>A.value=e,title:I.value?`编辑订单`:`新增订单`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[11]||=e=>A.value=!1},{default:e(()=>[...d[21]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:j.value,onClick:K},{default:e(()=>[...d[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ne,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`90px`},{default:e(()=>[h(Q,{label:`客户ID`,prop:`customer_id`},{default:e(()=>[h(p,{modelValue:F.customer_id,"onUpdate:modelValue":d[4]||=e=>F.customer_id=e},null,8,[`modelValue`])]),_:1}),h(Q,{label:`订单号`,prop:`order_no`},{default:e(()=>[h(p,{modelValue:F.order_no,"onUpdate:modelValue":d[5]||=e=>F.order_no=e,disabled:I.value},null,8,[`modelValue`,`disabled`])]),_:1}),h(Q,{label:`类型`},{default:e(()=>[h(v,{modelValue:F.type,"onUpdate:modelValue":d[6]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(B,(e,t)=>h(_,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),h(Q,{label:`总金额`},{default:e(()=>[h($,{modelValue:F.total_amount,"onUpdate:modelValue":d[7]||=e=>F.total_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(Q,{label:`优惠金额`},{default:e(()=>[h($,{modelValue:F.discount_amount,"onUpdate:modelValue":d[8]||=e=>F.discount_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(Q,{label:`实付金额`,prop:`actual_amount`},{default:e(()=>[h($,{modelValue:F.actual_amount,"onUpdate:modelValue":d[9]||=e=>F.actual_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(Q,{label:`备注`},{default:e(()=>[h(p,{modelValue:F.remark,"onUpdate:modelValue":d[10]||=e=>F.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{E as default}; \ No newline at end of file diff --git a/frontend/dist/assets/orders-B69tXrS_.js b/frontend/dist/assets/orders-BVojzZVm.js similarity index 97% rename from frontend/dist/assets/orders-B69tXrS_.js rename to frontend/dist/assets/orders-BVojzZVm.js index bf000d9..d4f8229 100644 --- a/frontend/dist/assets/orders-B69tXrS_.js +++ b/frontend/dist/assets/orders-BVojzZVm.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as s,f as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as v}from"./nanny-Cp-L-Ws0.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({order_no:``,status:``}),M=f({page:1,per_page:15}),N=u(null),P=f({id:null,customer_id:``,nanny_id:``,order_no:``,service_type:``,start_date:``,end_date:``,days:0,price:0,remark:``}),F=u(!1),I={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],order_no:[{required:!0,message:`请输入订单号`,trigger:`blur`}]},L={0:`待匹配`,1:`已匹配`,2:`已签约`,3:`服务中`,4:`已完成`,5:`已取消`},R={0:`info`,1:`warning`,2:`primary`,3:`success`,4:``,5:`danger`},z={1:`住家`,2:`白班`};async function B(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function V(){M.page=1,B()}function H(){Object.assign(j,{order_no:``,status:``}),V()}function U(){F.value=!1,Object.assign(P,{id:null,customer_id:``,nanny_id:``,order_no:``,service_type:``,start_date:``,end_date:``,days:0,price:0,remark:``}),k.value=!0}function W(e){F.value=!0,Object.assign(P,{id:e.id,customer_id:e.customer_id,nanny_id:e.nanny_id||``,order_no:e.order_no,service_type:e.service_type,start_date:e.start_date||``,end_date:e.end_date||``,days:e.days,price:e.price,remark:e.remark||``}),k.value=!0}async function G(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?await v.update(P.id,P):await v.create(P),_.success(F.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function K(e){await g.confirm(`确定删除订单「${e.order_no}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function q(e){M.page=e,B()}function J(e){M.per_page=e,M.page=1,B()}return ee(()=>B()),(ee,u)=>{let f=r(`el-input`),g=r(`el-option`),_=r(`el-select`),v=r(`el-button`),T=r(`el-table-column`),B=r(`el-tag`),Y=r(`el-table`),X=r(`el-pagination`),Z=r(`el-form-item`),Q=r(`el-date-picker`),$=r(`el-input-number`),te=r(`el-form`),ne=r(`el-dialog`),re=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(f,{modelValue:j.order_no,"onUpdate:modelValue":u[0]||=e=>j.order_no=e,placeholder:`订单号`,style:{width:`180px`},clearable:``},null,8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{type:`primary`,onClick:V},{default:e(()=>[...u[15]||=[a(`查询`,-1)]]),_:1}),m(v,{onClick:H},{default:e(()=>[...u[16]||=[a(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[18]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`月嫂订单列表`)],-1),m(v,{type:`primary`,onClick:U},{default:e(()=>[...u[17]||=[a(`新增订单`,-1)]]),_:1})]),p(`div`,C,[s((n(),o(Y,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{prop:`order_no`,label:`订单号`,"min-width":`160`}),m(T,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.customer?.name||`-`),1)]),_:1}),m(T,{label:`月嫂`,width:`100`},{default:e(({row:e})=>[a(i(e.nanny?.name||`待匹配`),1)]),_:1}),m(T,{label:`服务类型`,width:`90`},{default:e(({row:e})=>[a(i(z[e.service_type]||`-`),1)]),_:1}),m(T,{prop:`start_date`,label:`开始日期`,width:`110`}),m(T,{prop:`days`,label:`天数`,width:`70`,align:`center`}),m(T,{prop:`price`,label:`费用(元)`,width:`100`,align:`right`}),m(T,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(B,{type:R[t.status],size:`small`},{default:e(()=>[a(i(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<4?(n(),o(v,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[19]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.status<2?(n(),o(v,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...u[20]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])):c(``,!0)]),_:1})]),_:1},8,[`data`])),[[re,O.value]])]),p(`div`,w,[m(X,{"current-page":M.page,"onUpdate:currentPage":u[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[3]||=e=>M.per_page=e,total:D.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),m(ne,{modelValue:k.value,"onUpdate:modelValue":u[14]||=e=>k.value=e,title:F.value?`编辑订单`:`新增订单`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[13]||=e=>k.value=!1},{default:e(()=>[...u[21]||=[a(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...u[22]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(te,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[m(Z,{label:`客户ID`,prop:`customer_id`},{default:e(()=>[m(f,{modelValue:P.customer_id,"onUpdate:modelValue":u[4]||=e=>P.customer_id=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`月嫂ID`},{default:e(()=>[m(f,{modelValue:P.nanny_id,"onUpdate:modelValue":u[5]||=e=>P.nanny_id=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`订单号`,prop:`order_no`},{default:e(()=>[m(f,{modelValue:P.order_no,"onUpdate:modelValue":u[6]||=e=>P.order_no=e,disabled:F.value},null,8,[`modelValue`,`disabled`])]),_:1}),m(Z,{label:`服务类型`},{default:e(()=>[m(_,{modelValue:P.service_type,"onUpdate:modelValue":u[7]||=e=>P.service_type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Z,{label:`开始日期`},{default:e(()=>[m(Q,{modelValue:P.start_date,"onUpdate:modelValue":u[8]||=e=>P.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`结束日期`},{default:e(()=>[m(Q,{modelValue:P.end_date,"onUpdate:modelValue":u[9]||=e=>P.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`天数`},{default:e(()=>[m($,{modelValue:P.days,"onUpdate:modelValue":u[10]||=e=>P.days=e,min:1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`费用(元)`},{default:e(()=>[m($,{modelValue:P.price,"onUpdate:modelValue":u[11]||=e=>P.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[12]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as s,f as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as v}from"./nanny-Bdev7M11.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({order_no:``,status:``}),M=f({page:1,per_page:15}),N=u(null),P=f({id:null,customer_id:``,nanny_id:``,order_no:``,service_type:``,start_date:``,end_date:``,days:0,price:0,remark:``}),F=u(!1),I={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],order_no:[{required:!0,message:`请输入订单号`,trigger:`blur`}]},L={0:`待匹配`,1:`已匹配`,2:`已签约`,3:`服务中`,4:`已完成`,5:`已取消`},R={0:`info`,1:`warning`,2:`primary`,3:`success`,4:``,5:`danger`},z={1:`住家`,2:`白班`};async function B(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function V(){M.page=1,B()}function H(){Object.assign(j,{order_no:``,status:``}),V()}function U(){F.value=!1,Object.assign(P,{id:null,customer_id:``,nanny_id:``,order_no:``,service_type:``,start_date:``,end_date:``,days:0,price:0,remark:``}),k.value=!0}function W(e){F.value=!0,Object.assign(P,{id:e.id,customer_id:e.customer_id,nanny_id:e.nanny_id||``,order_no:e.order_no,service_type:e.service_type,start_date:e.start_date||``,end_date:e.end_date||``,days:e.days,price:e.price,remark:e.remark||``}),k.value=!0}async function G(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?await v.update(P.id,P):await v.create(P),_.success(F.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function K(e){await g.confirm(`确定删除订单「${e.order_no}」吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function q(e){M.page=e,B()}function J(e){M.per_page=e,M.page=1,B()}return ee(()=>B()),(ee,u)=>{let f=r(`el-input`),g=r(`el-option`),_=r(`el-select`),v=r(`el-button`),T=r(`el-table-column`),B=r(`el-tag`),Y=r(`el-table`),X=r(`el-pagination`),Z=r(`el-form-item`),Q=r(`el-date-picker`),$=r(`el-input-number`),te=r(`el-form`),ne=r(`el-dialog`),re=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(f,{modelValue:j.order_no,"onUpdate:modelValue":u[0]||=e=>j.order_no=e,placeholder:`订单号`,style:{width:`180px`},clearable:``},null,8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{type:`primary`,onClick:V},{default:e(()=>[...u[15]||=[a(`查询`,-1)]]),_:1}),m(v,{onClick:H},{default:e(()=>[...u[16]||=[a(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[18]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`月嫂订单列表`)],-1),m(v,{type:`primary`,onClick:U},{default:e(()=>[...u[17]||=[a(`新增订单`,-1)]]),_:1})]),p(`div`,C,[s((n(),o(Y,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{prop:`order_no`,label:`订单号`,"min-width":`160`}),m(T,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.customer?.name||`-`),1)]),_:1}),m(T,{label:`月嫂`,width:`100`},{default:e(({row:e})=>[a(i(e.nanny?.name||`待匹配`),1)]),_:1}),m(T,{label:`服务类型`,width:`90`},{default:e(({row:e})=>[a(i(z[e.service_type]||`-`),1)]),_:1}),m(T,{prop:`start_date`,label:`开始日期`,width:`110`}),m(T,{prop:`days`,label:`天数`,width:`70`,align:`center`}),m(T,{prop:`price`,label:`费用(元)`,width:`100`,align:`right`}),m(T,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(B,{type:R[t.status],size:`small`},{default:e(()=>[a(i(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status<4?(n(),o(v,{key:0,size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[19]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.status<2?(n(),o(v,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...u[20]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])):c(``,!0)]),_:1})]),_:1},8,[`data`])),[[re,O.value]])]),p(`div`,w,[m(X,{"current-page":M.page,"onUpdate:currentPage":u[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[3]||=e=>M.per_page=e,total:D.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),m(ne,{modelValue:k.value,"onUpdate:modelValue":u[14]||=e=>k.value=e,title:F.value?`编辑订单`:`新增订单`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[13]||=e=>k.value=!1},{default:e(()=>[...u[21]||=[a(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...u[22]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(te,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[m(Z,{label:`客户ID`,prop:`customer_id`},{default:e(()=>[m(f,{modelValue:P.customer_id,"onUpdate:modelValue":u[4]||=e=>P.customer_id=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`月嫂ID`},{default:e(()=>[m(f,{modelValue:P.nanny_id,"onUpdate:modelValue":u[5]||=e=>P.nanny_id=e},null,8,[`modelValue`])]),_:1}),m(Z,{label:`订单号`,prop:`order_no`},{default:e(()=>[m(f,{modelValue:P.order_no,"onUpdate:modelValue":u[6]||=e=>P.order_no=e,disabled:F.value},null,8,[`modelValue`,`disabled`])]),_:1}),m(Z,{label:`服务类型`},{default:e(()=>[m(_,{modelValue:P.service_type,"onUpdate:modelValue":u[7]||=e=>P.service_type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Z,{label:`开始日期`},{default:e(()=>[m(Q,{modelValue:P.start_date,"onUpdate:modelValue":u[8]||=e=>P.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`结束日期`},{default:e(()=>[m(Q,{modelValue:P.end_date,"onUpdate:modelValue":u[9]||=e=>P.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`天数`},{default:e(()=>[m($,{modelValue:P.days,"onUpdate:modelValue":u[10]||=e=>P.days=e,min:1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`费用(元)`},{default:e(()=>[m($,{modelValue:P.price,"onUpdate:modelValue":u[11]||=e=>P.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Z,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[12]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/outings-GFRrCP2v.js b/frontend/dist/assets/outings-CCtOaR3A.js similarity index 97% rename from frontend/dist/assets/outings-GFRrCP2v.js rename to frontend/dist/assets/outings-CCtOaR3A.js index dadf016..106dca3 100644 --- a/frontend/dist/assets/outings-GFRrCP2v.js +++ b/frontend/dist/assets/outings-CCtOaR3A.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as y}from"./crm-Do-MgkuV.js";import{n as b}from"./room-DSHyULwI.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d(!1),P=d(null),F=d([]),I=p({customer_id:``,status:``,date:``}),L=p({page:1,per_page:20}),R=d(null),z=p({customer_id:``,outing_time:``,expected_return:``,reason:``}),B=p({actual_return:``,remark:``}),V={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],outing_time:[{required:!0,message:`请选择外出时间`,trigger:`change`}],expected_return:[{required:!0,message:`请选择预计返回时间`,trigger:`change`}]},H={pending:`待出发`,out:`外出中`,returned:`已返回`},U={pending:`warning`,out:`primary`,returned:`success`};async function W(){A.value=!0;try{let e=await b.getList({...I,...L});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function G(){try{let e=await y.getList({per_page:500});F.value=e.data?.list||e.data?.data||[]}catch{}}function K(){L.page=1,W()}function q(){Object.assign(I,{customer_id:``,status:``,date:``}),K()}function J(){Object.assign(z,{customer_id:``,outing_time:``,expected_return:``,reason:``}),j.value=!0}async function Y(){R.value&&await R.value.validate(async e=>{if(e){M.value=!0;try{await b.create(z),v.success(`外出申请已创建`),j.value=!1,W()}finally{M.value=!1}}})}function X(e){P.value=e,Object.assign(B,{actual_return:``,remark:``}),N.value=!0}async function ee(){if(!B.actual_return){v.warning(`请选择实际返回时间`);return}await b.recordBack(P.value.id,B),v.success(`返回登记成功`),N.value=!1,W()}async function te(e){await _.confirm(`确定删除该外出记录吗?`,`删除确认`,{type:`warning`});try{await b.getDetail(e.id),v.error(`暂不支持删除,请联系管理员`)}catch(e){console.error(e)}}function ne(e){L.page=e,W()}function re(e){L.per_page=e,L.page=1,W()}return r(()=>{W(),G()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-date-picker`),y=i(`el-button`),b=i(`el-table-column`),D=i(`el-tag`),P=i(`el-table`),W=i(`el-pagination`),G=i(`el-form-item`),Z=i(`el-input`),Q=i(`el-form`),$=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(_,{modelValue:I.customer_id,"onUpdate:modelValue":d[0]||=e=>I.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.status,"onUpdate:modelValue":d[1]||=e=>I.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{modelValue:I.date,"onUpdate:modelValue":d[2]||=e=>I.date=e,type:`date`,placeholder:`外出日期`,"value-format":`YYYY-MM-DD`,style:{width:`150px`}},null,8,[`modelValue`]),h(y,{type:`primary`,onClick:K},{default:e(()=>[...d[15]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:q},{default:e(()=>[...d[16]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[18]||=m(`div`,{class:`flex items-center gap-2`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-medium text-gray-700`},`外出记录`)],-1),h(y,{type:`primary`,onClick:J},{default:e(()=>[...d[17]||=[o(`新建外出申请`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(P,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(b,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||e.customer?.name||`-`),1)]),_:1}),h(b,{prop:`outing_time`,label:`外出时间`,"min-width":`160`}),h(b,{prop:`expected_return`,label:`预计返回`,"min-width":`160`}),h(b,{prop:`actual_return`,label:`实际返回`,"min-width":`160`},{default:e(({row:e})=>[o(a(e.actual_return||`-`),1)]),_:1}),h(b,{prop:`reason`,label:`外出原因`,"min-width":`150`,"show-overflow-tooltip":``}),h(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(D,{type:U[t.status],size:`small`},{default:e(()=>[o(a(H[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(b,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`out`?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>X(t)},{default:e(()=>[...d[19]||=[o(`登记返回`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===`returned`?l(``,!0):(n(),s(y,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>te(t)},{default:e(()=>[...d[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`])),[[ie,A.value]])]),m(`div`,E,[h(W,{"current-page":L.page,"onUpdate:currentPage":d[3]||=e=>L.page=e,"page-size":L.per_page,"onUpdate:pageSize":d[4]||=e=>L.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ne,onSizeChange:re},null,8,[`current-page`,`page-size`,`total`])])]),h($,{modelValue:j.value,"onUpdate:modelValue":d[10]||=e=>j.value=e,title:`新建外出申请`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[9]||=e=>j.value=!1},{default:e(()=>[...d[21]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:M.value,onClick:Y},{default:e(()=>[...d[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(Q,{ref_key:`formRef`,ref:R,model:z,rules:V,"label-width":`100px`},{default:e(()=>[h(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:z.customer_id,"onUpdate:modelValue":d[5]||=e=>z.customer_id=e,filterable:``,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`外出时间`,prop:`outing_time`},{default:e(()=>[h(v,{modelValue:z.outing_time,"onUpdate:modelValue":d[6]||=e=>z.outing_time=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`请选择外出时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(G,{label:`预计返回`,prop:`expected_return`},{default:e(()=>[h(v,{modelValue:z.expected_return,"onUpdate:modelValue":d[7]||=e=>z.expected_return=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`请选择预计返回时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(G,{label:`外出原因`},{default:e(()=>[h(Z,{modelValue:z.reason,"onUpdate:modelValue":d[8]||=e=>z.reason=e,type:`textarea`,rows:3,placeholder:`请输入外出原因`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),h($,{modelValue:N.value,"onUpdate:modelValue":d[14]||=e=>N.value=e,title:`登记返回`,width:`420px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[13]||=e=>N.value=!1},{default:e(()=>[...d[23]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,onClick:ee},{default:e(()=>[...d[24]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[h(Q,{"label-width":`100px`},{default:e(()=>[h(G,{label:`实际返回时间`},{default:e(()=>[h(v,{modelValue:B.actual_return,"onUpdate:modelValue":d[11]||=e=>B.actual_return=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`请选择实际返回时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(G,{label:`备注`},{default:e(()=>[h(Z,{modelValue:B.remark,"onUpdate:modelValue":d[12]||=e=>B.remark=e,type:`textarea`,rows:2,placeholder:`可选备注`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as y}from"./crm-CvCW8IfR.js";import{n as b}from"./room-ByMILmib.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d(!1),P=d(null),F=d([]),I=p({customer_id:``,status:``,date:``}),L=p({page:1,per_page:20}),R=d(null),z=p({customer_id:``,outing_time:``,expected_return:``,reason:``}),B=p({actual_return:``,remark:``}),V={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],outing_time:[{required:!0,message:`请选择外出时间`,trigger:`change`}],expected_return:[{required:!0,message:`请选择预计返回时间`,trigger:`change`}]},H={pending:`待出发`,out:`外出中`,returned:`已返回`},U={pending:`warning`,out:`primary`,returned:`success`};async function W(){A.value=!0;try{let e=await b.getList({...I,...L});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function G(){try{let e=await y.getList({per_page:500});F.value=e.data?.list||e.data?.data||[]}catch{}}function K(){L.page=1,W()}function q(){Object.assign(I,{customer_id:``,status:``,date:``}),K()}function J(){Object.assign(z,{customer_id:``,outing_time:``,expected_return:``,reason:``}),j.value=!0}async function Y(){R.value&&await R.value.validate(async e=>{if(e){M.value=!0;try{await b.create(z),v.success(`外出申请已创建`),j.value=!1,W()}finally{M.value=!1}}})}function X(e){P.value=e,Object.assign(B,{actual_return:``,remark:``}),N.value=!0}async function ee(){if(!B.actual_return){v.warning(`请选择实际返回时间`);return}await b.recordBack(P.value.id,B),v.success(`返回登记成功`),N.value=!1,W()}async function te(e){await _.confirm(`确定删除该外出记录吗?`,`删除确认`,{type:`warning`});try{await b.getDetail(e.id),v.error(`暂不支持删除,请联系管理员`)}catch(e){console.error(e)}}function ne(e){L.page=e,W()}function re(e){L.per_page=e,L.page=1,W()}return r(()=>{W(),G()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-date-picker`),y=i(`el-button`),b=i(`el-table-column`),D=i(`el-tag`),P=i(`el-table`),W=i(`el-pagination`),G=i(`el-form-item`),Z=i(`el-input`),Q=i(`el-form`),$=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(_,{modelValue:I.customer_id,"onUpdate:modelValue":d[0]||=e=>I.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.status,"onUpdate:modelValue":d[1]||=e=>I.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{modelValue:I.date,"onUpdate:modelValue":d[2]||=e=>I.date=e,type:`date`,placeholder:`外出日期`,"value-format":`YYYY-MM-DD`,style:{width:`150px`}},null,8,[`modelValue`]),h(y,{type:`primary`,onClick:K},{default:e(()=>[...d[15]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:q},{default:e(()=>[...d[16]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[18]||=m(`div`,{class:`flex items-center gap-2`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-medium text-gray-700`},`外出记录`)],-1),h(y,{type:`primary`,onClick:J},{default:e(()=>[...d[17]||=[o(`新建外出申请`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(P,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(b,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer_name||e.customer?.name||`-`),1)]),_:1}),h(b,{prop:`outing_time`,label:`外出时间`,"min-width":`160`}),h(b,{prop:`expected_return`,label:`预计返回`,"min-width":`160`}),h(b,{prop:`actual_return`,label:`实际返回`,"min-width":`160`},{default:e(({row:e})=>[o(a(e.actual_return||`-`),1)]),_:1}),h(b,{prop:`reason`,label:`外出原因`,"min-width":`150`,"show-overflow-tooltip":``}),h(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(D,{type:U[t.status],size:`small`},{default:e(()=>[o(a(H[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(b,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`out`?(n(),s(y,{key:0,size:`small`,type:`success`,text:``,onClick:e=>X(t)},{default:e(()=>[...d[19]||=[o(`登记返回`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===`returned`?l(``,!0):(n(),s(y,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>te(t)},{default:e(()=>[...d[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`])),[[ie,A.value]])]),m(`div`,E,[h(W,{"current-page":L.page,"onUpdate:currentPage":d[3]||=e=>L.page=e,"page-size":L.per_page,"onUpdate:pageSize":d[4]||=e=>L.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ne,onSizeChange:re},null,8,[`current-page`,`page-size`,`total`])])]),h($,{modelValue:j.value,"onUpdate:modelValue":d[10]||=e=>j.value=e,title:`新建外出申请`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[9]||=e=>j.value=!1},{default:e(()=>[...d[21]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:M.value,onClick:Y},{default:e(()=>[...d[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(Q,{ref_key:`formRef`,ref:R,model:z,rules:V,"label-width":`100px`},{default:e(()=>[h(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:z.customer_id,"onUpdate:modelValue":d[5]||=e=>z.customer_id=e,filterable:``,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(G,{label:`外出时间`,prop:`outing_time`},{default:e(()=>[h(v,{modelValue:z.outing_time,"onUpdate:modelValue":d[6]||=e=>z.outing_time=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`请选择外出时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(G,{label:`预计返回`,prop:`expected_return`},{default:e(()=>[h(v,{modelValue:z.expected_return,"onUpdate:modelValue":d[7]||=e=>z.expected_return=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`请选择预计返回时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(G,{label:`外出原因`},{default:e(()=>[h(Z,{modelValue:z.reason,"onUpdate:modelValue":d[8]||=e=>z.reason=e,type:`textarea`,rows:3,placeholder:`请输入外出原因`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`]),h($,{modelValue:N.value,"onUpdate:modelValue":d[14]||=e=>N.value=e,title:`登记返回`,width:`420px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[13]||=e=>N.value=!1},{default:e(()=>[...d[23]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,onClick:ee},{default:e(()=>[...d[24]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[h(Q,{"label-width":`100px`},{default:e(()=>[h(G,{label:`实际返回时间`},{default:e(()=>[h(v,{modelValue:B.actual_return,"onUpdate:modelValue":d[11]||=e=>B.actual_return=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,placeholder:`请选择实际返回时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(G,{label:`备注`},{default:e(()=>[h(Z,{modelValue:B.remark,"onUpdate:modelValue":d[12]||=e=>B.remark=e,type:`textarea`,rows:2,placeholder:`可选备注`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/overview-Cqs4GcPa.js b/frontend/dist/assets/overview-D-oyNP28.js similarity index 90% rename from frontend/dist/assets/overview-Cqs4GcPa.js rename to frontend/dist/assets/overview-D-oyNP28.js index f7a3d30..745a02e 100644 --- a/frontend/dist/assets/overview-Cqs4GcPa.js +++ b/frontend/dist/assets/overview-D-oyNP28.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,Ut as i,V as a,Wt as o,d as s,et as c,i as l,lt as u,p as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{t as h}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as g}from"./report-DzdIZI4P.js";var _={class:`p-6 space-y-4`},v={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-5 mb-4 flex items-center gap-4`},y={class:`flex-1 min-w-0`},b={class:`text-sm text-gray-500 mb-1`},x={class:`flex items-baseline gap-1`},S={class:`text-sm text-gray-400`},C=h({__name:`index`,setup(h){let C=u(!1),w=u([{key:`customer_count`,title:`客户数`,value:`--`,unit:`位`,color:`#E8A87C`,bg:`#FBE8D5`},{key:`contract_amount`,title:`合同金额`,value:`--`,unit:`元`,color:`#67C23A`,bg:`#E8F5E1`},{key:`total_rooms`,title:`总房间数`,value:`--`,unit:`间`,color:`#409EFF`,bg:`#E0EFFF`},{key:`occupied_rooms`,title:`入住房间数`,value:`--`,unit:`间`,color:`#E6A23C`,bg:`#FDF0D6`},{key:`today_revenue`,title:`今日营收`,value:`--`,unit:`元`,color:`#F56C6C`,bg:`#FDE2E2`},{key:`month_revenue`,title:`月度营收`,value:`--`,unit:`元`,color:`#C97B5E`,bg:`#F9E8E0`}]);async function T(){C.value=!0;try{let e=(await g.overview()).data||{};w.value.forEach(t=>{e[t.key]!==void 0&&e[t.key]!==null&&(t.value=e[t.key])})}finally{C.value=!1}}return r(T),(r,u)=>{let h=a(`el-col`),g=a(`el-row`),T=t(`loading`);return c((n(),d(`div`,_,[u[0]||=f(`div`,{class:`flex items-center gap-2 mb-2`},[f(`span`,{class:`w-1 h-5 rounded bg-primary inline-block`,style:{background:`var(--color-primary)`}}),f(`span`,{class:`font-semibold text-base text-gray-800`},`经营概览`)],-1),p(g,{gutter:16},{default:e(()=>[(n(!0),d(l,null,m(w.value,t=>(n(),s(h,{key:t.key,xs:24,sm:12,md:8,lg:8,xl:4},{default:e(()=>[f(`div`,v,[f(`div`,{class:`w-14 h-14 rounded-xl flex items-center justify-center flex-shrink-0`,style:i({background:t.bg})},[f(`span`,{class:`text-2xl font-bold`,style:i({color:t.color})},o(t.title.charAt(0)),5)],4),f(`div`,y,[f(`div`,b,o(t.title),1),f(`div`,x,[f(`span`,{class:`text-3xl font-bold leading-none`,style:i({color:t.color})},o(t.value),5),f(`span`,S,o(t.unit),1)])])])]),_:2},1024))),128))]),_:1})])),[[T,C.value]])}}},[[`__scopeId`,`data-v-5c43fcd0`]]);export{C as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,Ut as i,V as a,Wt as o,d as s,et as c,i as l,lt as u,p as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{t as h}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as g}from"./report-wIlYRH-f.js";var _={class:`p-6 space-y-4`},v={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-5 mb-4 flex items-center gap-4`},y={class:`flex-1 min-w-0`},b={class:`text-sm text-gray-500 mb-1`},x={class:`flex items-baseline gap-1`},S={class:`text-sm text-gray-400`},C=h({__name:`index`,setup(h){let C=u(!1),w=u([{key:`customer_count`,title:`客户数`,value:`--`,unit:`位`,color:`#E8A87C`,bg:`#FBE8D5`},{key:`contract_amount`,title:`合同金额`,value:`--`,unit:`元`,color:`#67C23A`,bg:`#E8F5E1`},{key:`total_rooms`,title:`总房间数`,value:`--`,unit:`间`,color:`#409EFF`,bg:`#E0EFFF`},{key:`occupied_rooms`,title:`入住房间数`,value:`--`,unit:`间`,color:`#E6A23C`,bg:`#FDF0D6`},{key:`today_revenue`,title:`今日营收`,value:`--`,unit:`元`,color:`#F56C6C`,bg:`#FDE2E2`},{key:`month_revenue`,title:`月度营收`,value:`--`,unit:`元`,color:`#C97B5E`,bg:`#F9E8E0`}]);async function T(){C.value=!0;try{let e=(await g.overview()).data||{};w.value.forEach(t=>{e[t.key]!==void 0&&e[t.key]!==null&&(t.value=e[t.key])})}finally{C.value=!1}}return r(T),(r,u)=>{let h=a(`el-col`),g=a(`el-row`),T=t(`loading`);return c((n(),d(`div`,_,[u[0]||=f(`div`,{class:`flex items-center gap-2 mb-2`},[f(`span`,{class:`w-1 h-5 rounded bg-primary inline-block`,style:{background:`var(--color-primary)`}}),f(`span`,{class:`font-semibold text-base text-gray-800`},`经营概览`)],-1),p(g,{gutter:16},{default:e(()=>[(n(!0),d(l,null,m(w.value,t=>(n(),s(h,{key:t.key,xs:24,sm:12,md:8,lg:8,xl:4},{default:e(()=>[f(`div`,v,[f(`div`,{class:`w-14 h-14 rounded-xl flex items-center justify-center flex-shrink-0`,style:i({background:t.bg})},[f(`span`,{class:`text-2xl font-bold`,style:i({color:t.color})},o(t.title.charAt(0)),5)],4),f(`div`,y,[f(`div`,b,o(t.title),1),f(`div`,x,[f(`span`,{class:`text-3xl font-bold leading-none`,style:i({color:t.color})},o(t.value),5),f(`span`,S,o(t.unit),1)])])])]),_:2},1024))),128))]),_:1})])),[[T,C.value]])}}},[[`__scopeId`,`data-v-5c43fcd0`]]);export{C as default}; \ No newline at end of file diff --git a/frontend/dist/assets/packages-XivrkQe2.js b/frontend/dist/assets/packages-BwskPf-Y.js similarity index 96% rename from frontend/dist/assets/packages-XivrkQe2.js rename to frontend/dist/assets/packages-BwskPf-Y.js index 4280e25..ef038a3 100644 --- a/frontend/dist/assets/packages-XivrkQe2.js +++ b/frontend/dist/assets/packages-BwskPf-Y.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as m,s as h}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as g,n as _}from"./service-Cm4zwPyA.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=l([]),j=d({name:``,status:``}),M=d({page:1,per_page:15}),N=l(null),P=d({id:null,name:``,items:[],original_price:0,price:0,description:``,status:1,sort:0}),F=l(!1),I={name:[{required:!0,message:`请输入套餐名称`,trigger:`blur`}],price:[{required:!0,message:`请输入价格`,trigger:`blur`}]};async function L(){D.value=!0;try{let e=await g.getList({...j,...M});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}async function R(){try{let e=await _.getList({per_page:200,status:1});A.value=e.data?.list||e.data?.data||[]}catch{}}function z(){M.page=1,L()}function B(){Object.assign(j,{name:``,status:``}),z()}function V(){F.value=!1,Object.assign(P,{id:null,name:``,items:[],original_price:0,price:0,description:``,status:1,sort:0}),O.value=!0}function H(e){F.value=!0,Object.assign(P,{id:e.id,name:e.name,items:e.items||[],original_price:e.original_price,price:e.price,description:e.description||``,status:e.status,sort:e.sort}),O.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){k.value=!0;try{F.value?await g.update(P.id,P):await g.create(P),h.success(F.value?`更新成功`:`创建成功`),O.value=!1,L()}finally{k.value=!1}}})}async function W(e){await m.confirm(`确定删除套餐「${e.name}」吗?`,`删除确认`,{type:`warning`}),await g.delete(e.id),h.success(`删除成功`),L()}function G(e){M.page=e,L()}function K(e){M.per_page=e,M.page=1,L()}return r(()=>{L(),R()}),(r,l)=>{let d=i(`el-input`),m=i(`el-option`),h=i(`el-select`),g=i(`el-button`),_=i(`el-table-column`),w=i(`el-tag`),A=i(`el-table`),L=i(`el-pagination`),R=i(`el-form-item`),q=i(`el-input-number`),J=i(`el-switch`),Y=i(`el-form`),X=i(`el-dialog`),Z=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:j.name,"onUpdate:modelValue":l[0]||=e=>j.name=e,placeholder:`套餐名称`,style:{width:`180px`},clearable:``},null,8,[`modelValue`]),p(h,{modelValue:j.status,"onUpdate:modelValue":l[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(m,{label:`启用`,value:1}),p(m,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(g,{type:`primary`,onClick:z},{default:e(()=>[...l[12]||=[o(`查询`,-1)]]),_:1}),p(g,{onClick:B},{default:e(()=>[...l[13]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[15]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(g,{type:`primary`,onClick:V},{default:e(()=>[...l[14]||=[o(`新增套餐`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(A,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(_,{prop:`name`,label:`套餐名称`,"min-width":`180`}),p(_,{prop:`original_price`,label:`原价(元)`,width:`100`,align:`right`}),p(_,{prop:`price`,label:`套餐价(元)`,width:`110`,align:`right`}),p(_,{label:`包含项目`,"min-width":`200`},{default:e(({row:e})=>[o(a(Array.isArray(e.items)?e.items.length+`个项目`:`-`),1)]),_:1}),p(_,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(w,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(_,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(g,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`danger`,text:``,onClick:e=>W(t)},{default:e(()=>[...l[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Z,D.value]])]),f(`div`,C,[p(L,{"current-page":M.page,"onUpdate:currentPage":l[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":l[3]||=e=>M.per_page=e,total:E.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:G,onSizeChange:K},null,8,[`current-page`,`page-size`,`total`])])]),p(X,{modelValue:O.value,"onUpdate:modelValue":l[11]||=e=>O.value=e,title:F.value?`编辑套餐`:`新增套餐`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[10]||=e=>O.value=!1},{default:e(()=>[...l[18]||=[o(`取消`,-1)]]),_:1}),p(g,{type:`primary`,loading:k.value,onClick:U},{default:e(()=>[...l[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(Y,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[p(R,{label:`套餐名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:P.name,"onUpdate:modelValue":l[4]||=e=>P.name=e},null,8,[`modelValue`])]),_:1}),p(R,{label:`原价`},{default:e(()=>[p(q,{modelValue:P.original_price,"onUpdate:modelValue":l[5]||=e=>P.original_price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(R,{label:`套餐价`,prop:`price`},{default:e(()=>[p(q,{modelValue:P.price,"onUpdate:modelValue":l[6]||=e=>P.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(R,{label:`描述`},{default:e(()=>[p(d,{modelValue:P.description,"onUpdate:modelValue":l[7]||=e=>P.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),p(R,{label:`状态`},{default:e(()=>[p(J,{modelValue:P.status,"onUpdate:modelValue":l[8]||=e=>P.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),p(R,{label:`排序`},{default:e(()=>[p(q,{modelValue:P.sort,"onUpdate:modelValue":l[9]||=e=>P.sort=e,min:0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as m,s as h}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as g,n as _}from"./service-nZ3xVURY.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=l([]),j=d({name:``,status:``}),M=d({page:1,per_page:15}),N=l(null),P=d({id:null,name:``,items:[],original_price:0,price:0,description:``,status:1,sort:0}),F=l(!1),I={name:[{required:!0,message:`请输入套餐名称`,trigger:`blur`}],price:[{required:!0,message:`请输入价格`,trigger:`blur`}]};async function L(){D.value=!0;try{let e=await g.getList({...j,...M});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}async function R(){try{let e=await _.getList({per_page:200,status:1});A.value=e.data?.list||e.data?.data||[]}catch{}}function z(){M.page=1,L()}function B(){Object.assign(j,{name:``,status:``}),z()}function V(){F.value=!1,Object.assign(P,{id:null,name:``,items:[],original_price:0,price:0,description:``,status:1,sort:0}),O.value=!0}function H(e){F.value=!0,Object.assign(P,{id:e.id,name:e.name,items:e.items||[],original_price:e.original_price,price:e.price,description:e.description||``,status:e.status,sort:e.sort}),O.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){k.value=!0;try{F.value?await g.update(P.id,P):await g.create(P),h.success(F.value?`更新成功`:`创建成功`),O.value=!1,L()}finally{k.value=!1}}})}async function W(e){await m.confirm(`确定删除套餐「${e.name}」吗?`,`删除确认`,{type:`warning`}),await g.delete(e.id),h.success(`删除成功`),L()}function G(e){M.page=e,L()}function K(e){M.per_page=e,M.page=1,L()}return r(()=>{L(),R()}),(r,l)=>{let d=i(`el-input`),m=i(`el-option`),h=i(`el-select`),g=i(`el-button`),_=i(`el-table-column`),w=i(`el-tag`),A=i(`el-table`),L=i(`el-pagination`),R=i(`el-form-item`),q=i(`el-input-number`),J=i(`el-switch`),Y=i(`el-form`),X=i(`el-dialog`),Z=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:j.name,"onUpdate:modelValue":l[0]||=e=>j.name=e,placeholder:`套餐名称`,style:{width:`180px`},clearable:``},null,8,[`modelValue`]),p(h,{modelValue:j.status,"onUpdate:modelValue":l[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(m,{label:`启用`,value:1}),p(m,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(g,{type:`primary`,onClick:z},{default:e(()=>[...l[12]||=[o(`查询`,-1)]]),_:1}),p(g,{onClick:B},{default:e(()=>[...l[13]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[15]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(g,{type:`primary`,onClick:V},{default:e(()=>[...l[14]||=[o(`新增套餐`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(A,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(_,{prop:`name`,label:`套餐名称`,"min-width":`180`}),p(_,{prop:`original_price`,label:`原价(元)`,width:`100`,align:`right`}),p(_,{prop:`price`,label:`套餐价(元)`,width:`110`,align:`right`}),p(_,{label:`包含项目`,"min-width":`200`},{default:e(({row:e})=>[o(a(Array.isArray(e.items)?e.items.length+`个项目`:`-`),1)]),_:1}),p(_,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(w,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(_,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(g,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`danger`,text:``,onClick:e=>W(t)},{default:e(()=>[...l[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Z,D.value]])]),f(`div`,C,[p(L,{"current-page":M.page,"onUpdate:currentPage":l[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":l[3]||=e=>M.per_page=e,total:E.value,"page-sizes":[15,30,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:G,onSizeChange:K},null,8,[`current-page`,`page-size`,`total`])])]),p(X,{modelValue:O.value,"onUpdate:modelValue":l[11]||=e=>O.value=e,title:F.value?`编辑套餐`:`新增套餐`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[10]||=e=>O.value=!1},{default:e(()=>[...l[18]||=[o(`取消`,-1)]]),_:1}),p(g,{type:`primary`,loading:k.value,onClick:U},{default:e(()=>[...l[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(Y,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[p(R,{label:`套餐名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:P.name,"onUpdate:modelValue":l[4]||=e=>P.name=e},null,8,[`modelValue`])]),_:1}),p(R,{label:`原价`},{default:e(()=>[p(q,{modelValue:P.original_price,"onUpdate:modelValue":l[5]||=e=>P.original_price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(R,{label:`套餐价`,prop:`price`},{default:e(()=>[p(q,{modelValue:P.price,"onUpdate:modelValue":l[6]||=e=>P.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(R,{label:`描述`},{default:e(()=>[p(d,{modelValue:P.description,"onUpdate:modelValue":l[7]||=e=>P.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),p(R,{label:`状态`},{default:e(()=>[p(J,{modelValue:P.status,"onUpdate:modelValue":l[8]||=e=>P.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),p(R,{label:`排序`},{default:e(()=>[p(q,{modelValue:P.sort,"onUpdate:modelValue":l[9]||=e=>P.sort=e,min:0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/payments-DwMYfAkP.js b/frontend/dist/assets/payments-BrnHQrWo.js similarity index 97% rename from frontend/dist/assets/payments-DwMYfAkP.js rename to frontend/dist/assets/payments-BrnHQrWo.js index 2bfd344..4e159fe 100644 --- a/frontend/dist/assets/payments-DwMYfAkP.js +++ b/frontend/dist/assets/payments-BrnHQrWo.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{o as v}from"./finance-CoczR0xj.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`text-green-600 font-semibold`},T={key:1,class:`text-gray-400 text-sm`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=u([]),k=u(0),A=u(!1),j=u(!1),M=u(!1),N=f({status:``,date_from:``,date_to:``}),P=f({page:1,per_page:20}),F=u(null),I=f({customer_id:``,customer_name:``,contract_id:``,amount:0,payment_method:``,remark:``}),L={customer_name:[{required:!0,message:`请输入客户姓名`,trigger:`blur`}],amount:[{required:!0,message:`请输入金额`,trigger:`blur`}],payment_method:[{required:!0,message:`请选择付款方式`,trigger:`change`}]},R={pending:`待确认`,confirmed:`已确认`},z={pending:`warning`,confirmed:`success`},B={cash:`现金`,card:`刷卡`,wechat:`微信`,alipay:`支付宝`,transfer:`银行转账`};async function V(){A.value=!0;try{let e=await v.getList({...N,...P});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}catch{_.error(`获取付款列表失败`)}finally{A.value=!1}}function H(){P.page=1,V()}function U(){Object.assign(N,{status:``,date_from:``,date_to:``}),H()}function W(){Object.assign(I,{customer_id:``,customer_name:``,contract_id:``,amount:0,payment_method:``,remark:``}),j.value=!0}async function G(){F.value&&await F.value.validate(async e=>{if(e){M.value=!0;try{await v.create({...I,type:`payment`}),_.success(`创建成功`),j.value=!1,V()}catch{_.error(`创建失败`)}finally{M.value=!1}}})}async function K(e){await g.confirm(`确认收款「¥${e.amount}」吗?`,`确认收款`,{type:`warning`});try{await v.audit(e.id,{}),_.success(`确认成功`),V()}catch{_.error(`确认失败`)}}function q(e){P.page=e,V()}function J(e){P.per_page=e,P.page=1,V()}return r(()=>V()),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-date-picker`),v=i(`el-button`),D=i(`el-table-column`),V=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-input`),Q=i(`el-form-item`),$=i(`el-input-number`),ee=i(`el-form`),te=i(`el-dialog`),ne=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:N.status,"onUpdate:modelValue":u[0]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(f,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{modelValue:N.date_from,"onUpdate:modelValue":u[1]||=e=>N.date_from=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`,style:{width:`150px`}},null,8,[`modelValue`]),m(_,{modelValue:N.date_to,"onUpdate:modelValue":u[2]||=e=>N.date_to=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`,style:{width:`150px`}},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:H},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:U},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[15]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),p(`span`,{class:`font-medium text-gray-700`},`付款记录列表`)],-1),m(v,{type:`primary`,onClick:W},{default:e(()=>[...u[14]||=[o(`新建收款记录`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(Y,{data:O.value,style:{width:`100%`},stripe:``},{default:e(()=>[m(D,{prop:`id`,label:`ID`,width:`70`,align:`center`}),m(D,{prop:`customer_name`,label:`客户`,"min-width":`110`}),m(D,{prop:`contract_id`,label:`合同ID`,width:`90`,align:`center`}),m(D,{label:`金额`,width:`120`,align:`right`},{default:e(({row:e})=>[p(`span`,w,`¥`+a(Number(e.amount||0).toFixed(2)),1)]),_:1}),m(D,{label:`付款方式`,width:`110`,align:`center`},{default:e(({row:e})=>[o(a(B[e.payment_method]||e.payment_method||`-`),1)]),_:1}),m(D,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(V,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]||t.status),1)]),_:2},1032,[`type`])]),_:1}),m(D,{prop:`remark`,label:`备注`,"min-width":`120`,"show-overflow-tooltip":``}),m(D,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(D,{label:`操作`,width:`100`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`pending`?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>K(t)},{default:e(()=>[...u[16]||=[o(`确认收款`,-1)]]),_:1},8,[`onClick`])):(n(),d(`span`,T,`-`))]),_:1})]),_:1},8,[`data`])),[[ne,A.value]])]),p(`div`,E,[m(X,{"current-page":P.page,"onUpdate:currentPage":u[3]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":u[4]||=e=>P.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),m(te,{modelValue:j.value,"onUpdate:modelValue":u[11]||=e=>j.value=e,title:`新建收款记录`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[10]||=e=>j.value=!1},{default:e(()=>[...u[17]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:M.value,onClick:G},{default:e(()=>[...u[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ee,{ref_key:`formRef`,ref:F,model:I,rules:L,"label-width":`90px`},{default:e(()=>[m(Q,{label:`客户姓名`,prop:`customer_name`},{default:e(()=>[m(Z,{modelValue:I.customer_name,"onUpdate:modelValue":u[5]||=e=>I.customer_name=e,placeholder:`请输入客户姓名`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`合同ID`},{default:e(()=>[m(Z,{modelValue:I.contract_id,"onUpdate:modelValue":u[6]||=e=>I.contract_id=e,placeholder:`关联合同ID(可选)`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`金额`,prop:`amount`},{default:e(()=>[m($,{modelValue:I.amount,"onUpdate:modelValue":u[7]||=e=>I.amount=e,min:.01,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`付款方式`,prop:`payment_method`},{default:e(()=>[m(g,{modelValue:I.payment_method,"onUpdate:modelValue":u[8]||=e=>I.payment_method=e,placeholder:`选择付款方式`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(B,(e,t)=>m(f,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Q,{label:`备注`},{default:e(()=>[m(Z,{modelValue:I.remark,"onUpdate:modelValue":u[9]||=e=>I.remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{o as v}from"./finance-xn2Nlkdw.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`text-green-600 font-semibold`},T={key:1,class:`text-gray-400 text-sm`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=u([]),k=u(0),A=u(!1),j=u(!1),M=u(!1),N=f({status:``,date_from:``,date_to:``}),P=f({page:1,per_page:20}),F=u(null),I=f({customer_id:``,customer_name:``,contract_id:``,amount:0,payment_method:``,remark:``}),L={customer_name:[{required:!0,message:`请输入客户姓名`,trigger:`blur`}],amount:[{required:!0,message:`请输入金额`,trigger:`blur`}],payment_method:[{required:!0,message:`请选择付款方式`,trigger:`change`}]},R={pending:`待确认`,confirmed:`已确认`},z={pending:`warning`,confirmed:`success`},B={cash:`现金`,card:`刷卡`,wechat:`微信`,alipay:`支付宝`,transfer:`银行转账`};async function V(){A.value=!0;try{let e=await v.getList({...N,...P});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}catch{_.error(`获取付款列表失败`)}finally{A.value=!1}}function H(){P.page=1,V()}function U(){Object.assign(N,{status:``,date_from:``,date_to:``}),H()}function W(){Object.assign(I,{customer_id:``,customer_name:``,contract_id:``,amount:0,payment_method:``,remark:``}),j.value=!0}async function G(){F.value&&await F.value.validate(async e=>{if(e){M.value=!0;try{await v.create({...I,type:`payment`}),_.success(`创建成功`),j.value=!1,V()}catch{_.error(`创建失败`)}finally{M.value=!1}}})}async function K(e){await g.confirm(`确认收款「¥${e.amount}」吗?`,`确认收款`,{type:`warning`});try{await v.audit(e.id,{}),_.success(`确认成功`),V()}catch{_.error(`确认失败`)}}function q(e){P.page=e,V()}function J(e){P.per_page=e,P.page=1,V()}return r(()=>V()),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-date-picker`),v=i(`el-button`),D=i(`el-table-column`),V=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-input`),Q=i(`el-form-item`),$=i(`el-input-number`),ee=i(`el-form`),te=i(`el-dialog`),ne=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:N.status,"onUpdate:modelValue":u[0]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(f,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{modelValue:N.date_from,"onUpdate:modelValue":u[1]||=e=>N.date_from=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`,style:{width:`150px`}},null,8,[`modelValue`]),m(_,{modelValue:N.date_to,"onUpdate:modelValue":u[2]||=e=>N.date_to=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`,style:{width:`150px`}},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:H},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:U},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[15]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),p(`span`,{class:`font-medium text-gray-700`},`付款记录列表`)],-1),m(v,{type:`primary`,onClick:W},{default:e(()=>[...u[14]||=[o(`新建收款记录`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(Y,{data:O.value,style:{width:`100%`},stripe:``},{default:e(()=>[m(D,{prop:`id`,label:`ID`,width:`70`,align:`center`}),m(D,{prop:`customer_name`,label:`客户`,"min-width":`110`}),m(D,{prop:`contract_id`,label:`合同ID`,width:`90`,align:`center`}),m(D,{label:`金额`,width:`120`,align:`right`},{default:e(({row:e})=>[p(`span`,w,`¥`+a(Number(e.amount||0).toFixed(2)),1)]),_:1}),m(D,{label:`付款方式`,width:`110`,align:`center`},{default:e(({row:e})=>[o(a(B[e.payment_method]||e.payment_method||`-`),1)]),_:1}),m(D,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(V,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]||t.status),1)]),_:2},1032,[`type`])]),_:1}),m(D,{prop:`remark`,label:`备注`,"min-width":`120`,"show-overflow-tooltip":``}),m(D,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(D,{label:`操作`,width:`100`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`pending`?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>K(t)},{default:e(()=>[...u[16]||=[o(`确认收款`,-1)]]),_:1},8,[`onClick`])):(n(),d(`span`,T,`-`))]),_:1})]),_:1},8,[`data`])),[[ne,A.value]])]),p(`div`,E,[m(X,{"current-page":P.page,"onUpdate:currentPage":u[3]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":u[4]||=e=>P.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),m(te,{modelValue:j.value,"onUpdate:modelValue":u[11]||=e=>j.value=e,title:`新建收款记录`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[10]||=e=>j.value=!1},{default:e(()=>[...u[17]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:M.value,onClick:G},{default:e(()=>[...u[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ee,{ref_key:`formRef`,ref:F,model:I,rules:L,"label-width":`90px`},{default:e(()=>[m(Q,{label:`客户姓名`,prop:`customer_name`},{default:e(()=>[m(Z,{modelValue:I.customer_name,"onUpdate:modelValue":u[5]||=e=>I.customer_name=e,placeholder:`请输入客户姓名`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`合同ID`},{default:e(()=>[m(Z,{modelValue:I.contract_id,"onUpdate:modelValue":u[6]||=e=>I.contract_id=e,placeholder:`关联合同ID(可选)`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`金额`,prop:`amount`},{default:e(()=>[m($,{modelValue:I.amount,"onUpdate:modelValue":u[7]||=e=>I.amount=e,min:.01,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`付款方式`,prop:`payment_method`},{default:e(()=>[m(g,{modelValue:I.payment_method,"onUpdate:modelValue":u[8]||=e=>I.payment_method=e,placeholder:`选择付款方式`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(B,(e,t)=>m(f,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Q,{label:`备注`},{default:e(()=>[m(Z,{modelValue:I.remark,"onUpdate:modelValue":u[9]||=e=>I.remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/permission-CF2X1nKp.js b/frontend/dist/assets/permission-CF2X1nKp.js new file mode 100644 index 0000000..96cedb0 --- /dev/null +++ b/frontend/dist/assets/permission-CF2X1nKp.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/layout-D158Zwfz.js","assets/index-3YculFMX.js","assets/preload-helper-DSXbuxSR.js","assets/runtime-core.esm-bundler-DbRZbT7v.js","assets/index-BTxz3KtI.css","assets/iconify-f5JHLb1p.js","assets/user-BFl2lhly.js","assets/request-DD5g7hLU.js","assets/axios-M7beJlyD.js","assets/layout-Bba1oLTr.css","assets/exceptions-BOFWWrYu.js","assets/care-BUQYu5B3.js","assets/crm-CvCW8IfR.js","assets/health-metrics-BLPCzyXH.js","assets/plans-Bp6SNQZ6.js","assets/system-DEm1DLCy.js","assets/profiles-D7wJB7Sp.js","assets/records-FqbYbICo.js","assets/channels-Dxf-llaq.js","assets/complaints-q2aLoF_Z.js","assets/contracts-B3l9BC6j.js","assets/customers-D32xsfG9.js","assets/leads-2CG5WK5_.js","assets/questionnaires-DMGUlNJO.js","assets/dashboard-CEXQa1pu.js","assets/404-F8BsopE3.js","assets/404-lb1dpT3n.css","assets/accounts-VTQUqWsm.js","assets/finance-xn2Nlkdw.js","assets/categories-CUHGnGIZ.js","assets/invoices-BQmi2e7M.js","assets/payments-BrnHQrWo.js","assets/prepaid-cards-CWlUGAlv.js","assets/records-N35kQ2BC.js","assets/transactions-Df8SEsO7.js","assets/attendances-B_DnAiN3.js","assets/hr-BpuQE_Km.js","assets/leaves-CApz-qRd.js","assets/profiles-Dvw91znB.js","assets/salaries-Bc2_dQt2.js","assets/schedules-Yw8rDBJ4.js","assets/checks-Cnmj1PAb.js","assets/inventory-BVEZNzEQ.js","assets/materials-LA3XVRGm.js","assets/purchase-orders-DJH82wSd.js","assets/stock-QFAdGVVG.js","assets/stock-BKGyHpKj.css","assets/stock-movements-G7cq09hc.js","assets/suppliers-B-ax3fUn.js","assets/transfers-DfYYFifi.js","assets/warehouses-B9RawaVf.js","assets/articles-DWzdB9N4.js","assets/kb-CR5OwwPK.js","assets/categories-BohrmcA0.js","assets/login-ChQUh91H.js","assets/daily-plans-pQM2n0a6.js","assets/meal-CgJENF-S.js","assets/dishes-6mBLTW6z.js","assets/reviews-D50R_81A.js","assets/templates-CWLqo64z.js","assets/nannies-DV_-H8Hj.js","assets/nanny-Bdev7M11.js","assets/orders-BVojzZVm.js","assets/schedules-CCj2xXC0.js","assets/announcements-CEw2Czo5.js","assets/office-CIThbrL3.js","assets/approval-templates-CUIt8K9p.js","assets/approvals-BAF9KaoV.js","assets/handovers-s3E48LIK.js","assets/notifications-I8CiKdc8.js","assets/notifications-g_qm3ySB.css","assets/register-CDFAtgib.js","assets/exports-DUkrHlPt.js","assets/report-wIlYRH-f.js","assets/exports-B_uIFYth.css","assets/overview-D-oyNP28.js","assets/overview-BxW0qUIU.css","assets/board-sk3RGSX4.js","assets/room-ByMILmib.js","assets/call-records-Clz1SbNm.js","assets/outings-CCtOaR3A.js","assets/reservations-BDcEwJH9.js","assets/room-types-Di2pN98t.js","assets/rooms-Ch7GX3Px.js","assets/executions-CxoDnYt2.js","assets/service-nZ3xVURY.js","assets/executions-BEcAvGO_.css","assets/items-DALYJmTT.js","assets/orders-2ivO139e.js","assets/packages-BwskPf-Y.js","assets/departments-CnYyi91t.js","assets/dictionaries-CV3_WCLC.js","assets/dictionaries-BxACn_24.css","assets/logs-BZrUVvB5.js","assets/logs-BEnn1I4-.css","assets/menus-DasFO-X7.js","assets/positions-DeqC6kdd.js","assets/registration-packages-D1EkvZPn.js","assets/roles-Dwv5QOVU.js","assets/roles-DRo0ztff.css","assets/stores-D6abJMXk.js","assets/users-DjBGJbBb.js"])))=>i.map(i=>d[i]); +import{lt as e}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{t}from"./preload-helper-DSXbuxSR.js";import{a as n,n as r}from"./index-3YculFMX.js";var i=()=>t(()=>import(`./layout-D158Zwfz.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),a=Object.assign({"/src/views/care/exceptions/index.vue":()=>t(()=>import(`./exceptions-BOFWWrYu.js`),__vite__mapDeps([10,1,2,3,4,5,11,7,8,12])),"/src/views/care/health-metrics/index.vue":()=>t(()=>import(`./health-metrics-BLPCzyXH.js`),__vite__mapDeps([13,1,2,3,4,5,11,7,8,12])),"/src/views/care/plans/index.vue":()=>t(()=>import(`./plans-Bp6SNQZ6.js`),__vite__mapDeps([14,1,2,3,4,11,7,8,15])),"/src/views/care/profiles/index.vue":()=>t(()=>import(`./profiles-D7wJB7Sp.js`),__vite__mapDeps([16,1,2,3,4,11,7,8,12])),"/src/views/care/records/index.vue":()=>t(()=>import(`./records-FqbYbICo.js`),__vite__mapDeps([17,1,2,3,4,11,7,8])),"/src/views/crm/channels/index.vue":()=>t(()=>import(`./channels-Dxf-llaq.js`),__vite__mapDeps([18,1,2,3,4,12,7,8])),"/src/views/crm/complaints/index.vue":()=>t(()=>import(`./complaints-q2aLoF_Z.js`),__vite__mapDeps([19,1,2,3,4,12,7,8])),"/src/views/crm/contracts/index.vue":()=>t(()=>import(`./contracts-B3l9BC6j.js`),__vite__mapDeps([20,1,2,3,4,12,7,8])),"/src/views/crm/customers/index.vue":()=>t(()=>import(`./customers-D32xsfG9.js`),__vite__mapDeps([21,1,2,3,4,12,7,8])),"/src/views/crm/leads/index.vue":()=>t(()=>import(`./leads-2CG5WK5_.js`),__vite__mapDeps([22,1,2,3,4,12,7,8,15])),"/src/views/crm/questionnaires/index.vue":()=>t(()=>import(`./questionnaires-DMGUlNJO.js`),__vite__mapDeps([23,1,2,3,4,12,7,8])),"/src/views/dashboard/index.vue":()=>t(()=>import(`./dashboard-CEXQa1pu.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8])),"/src/views/error/404.vue":()=>t(()=>import(`./404-F8BsopE3.js`),__vite__mapDeps([25,1,2,3,4,26])),"/src/views/finance/accounts/index.vue":()=>t(()=>import(`./accounts-VTQUqWsm.js`),__vite__mapDeps([27,1,2,3,4,28,7,8])),"/src/views/finance/categories/index.vue":()=>t(()=>import(`./categories-CUHGnGIZ.js`),__vite__mapDeps([29,1,2,3,4,28,7,8])),"/src/views/finance/invoices/index.vue":()=>t(()=>import(`./invoices-BQmi2e7M.js`),__vite__mapDeps([30,1,2,3,4,28,7,8])),"/src/views/finance/payments/index.vue":()=>t(()=>import(`./payments-BrnHQrWo.js`),__vite__mapDeps([31,1,2,3,4,28,7,8])),"/src/views/finance/prepaid-cards/index.vue":()=>t(()=>import(`./prepaid-cards-CWlUGAlv.js`),__vite__mapDeps([32,1,2,3,4,28,7,8])),"/src/views/finance/records/index.vue":()=>t(()=>import(`./records-N35kQ2BC.js`),__vite__mapDeps([33,1,2,3,4,28,7,8])),"/src/views/finance/transactions/index.vue":()=>t(()=>import(`./transactions-Df8SEsO7.js`),__vite__mapDeps([34,1,2,3,4,28,7,8])),"/src/views/hr/attendances/index.vue":()=>t(()=>import(`./attendances-B_DnAiN3.js`),__vite__mapDeps([35,1,2,3,4,36,7,8])),"/src/views/hr/leaves/index.vue":()=>t(()=>import(`./leaves-CApz-qRd.js`),__vite__mapDeps([37,1,2,3,4,36,7,8])),"/src/views/hr/profiles/index.vue":()=>t(()=>import(`./profiles-Dvw91znB.js`),__vite__mapDeps([38,1,2,3,4,36,7,8])),"/src/views/hr/salaries/index.vue":()=>t(()=>import(`./salaries-Bc2_dQt2.js`),__vite__mapDeps([39,1,2,3,4,36,7,8])),"/src/views/hr/schedules/index.vue":()=>t(()=>import(`./schedules-Yw8rDBJ4.js`),__vite__mapDeps([40,1,2,3,4,36,7,8])),"/src/views/inventory/checks/index.vue":()=>t(()=>import(`./checks-Cnmj1PAb.js`),__vite__mapDeps([41,1,2,3,4,42,7,8])),"/src/views/inventory/materials/index.vue":()=>t(()=>import(`./materials-LA3XVRGm.js`),__vite__mapDeps([43,1,2,3,4,42,7,8])),"/src/views/inventory/purchase-orders/index.vue":()=>t(()=>import(`./purchase-orders-DJH82wSd.js`),__vite__mapDeps([44,1,2,3,4,42,7,8])),"/src/views/inventory/stock/index.vue":()=>t(()=>import(`./stock-QFAdGVVG.js`),__vite__mapDeps([45,1,2,3,4,42,7,8,46])),"/src/views/inventory/stock-movements/index.vue":()=>t(()=>import(`./stock-movements-G7cq09hc.js`),__vite__mapDeps([47,1,2,3,4,42,7,8])),"/src/views/inventory/suppliers/index.vue":()=>t(()=>import(`./suppliers-B-ax3fUn.js`),__vite__mapDeps([48,1,2,3,4,42,7,8])),"/src/views/inventory/transfers/index.vue":()=>t(()=>import(`./transfers-DfYYFifi.js`),__vite__mapDeps([49,1,2,3,4,42,7,8])),"/src/views/inventory/warehouses/index.vue":()=>t(()=>import(`./warehouses-B9RawaVf.js`),__vite__mapDeps([50,1,2,3,4,42,7,8])),"/src/views/kb/articles/index.vue":()=>t(()=>import(`./articles-DWzdB9N4.js`),__vite__mapDeps([51,1,2,3,4,52,7,8])),"/src/views/kb/categories/index.vue":()=>t(()=>import(`./categories-BohrmcA0.js`),__vite__mapDeps([53,1,2,3,4,52,7,8])),"/src/views/login/index.vue":()=>t(()=>import(`./login-ChQUh91H.js`),__vite__mapDeps([54,1,2,3,4,5,6,7,8])),"/src/views/meal/daily-plans/index.vue":()=>t(()=>import(`./daily-plans-pQM2n0a6.js`),__vite__mapDeps([55,1,2,3,4,12,7,8,56])),"/src/views/meal/dishes/index.vue":()=>t(()=>import(`./dishes-6mBLTW6z.js`),__vite__mapDeps([57,1,2,3,4,56,7,8])),"/src/views/meal/reviews/index.vue":()=>t(()=>import(`./reviews-D50R_81A.js`),__vite__mapDeps([58,1,2,3,4,5,12,7,8,56])),"/src/views/meal/templates/index.vue":()=>t(()=>import(`./templates-CWLqo64z.js`),__vite__mapDeps([59,1,2,3,4,5,56,7,8])),"/src/views/nanny/nannies/index.vue":()=>t(()=>import(`./nannies-DV_-H8Hj.js`),__vite__mapDeps([60,1,2,3,4,61,7,8])),"/src/views/nanny/orders/index.vue":()=>t(()=>import(`./orders-BVojzZVm.js`),__vite__mapDeps([62,1,2,3,4,61,7,8])),"/src/views/nanny/schedules/index.vue":()=>t(()=>import(`./schedules-CCj2xXC0.js`),__vite__mapDeps([63,1,2,3,4,61,7,8])),"/src/views/office/announcements/index.vue":()=>t(()=>import(`./announcements-CEw2Czo5.js`),__vite__mapDeps([64,1,2,3,4,65,7,8])),"/src/views/office/approval-templates/index.vue":()=>t(()=>import(`./approval-templates-CUIt8K9p.js`),__vite__mapDeps([66,1,2,3,4,65,7,8])),"/src/views/office/approvals/index.vue":()=>t(()=>import(`./approvals-BAF9KaoV.js`),__vite__mapDeps([67,1,2,3,4,65,7,8])),"/src/views/office/handovers/index.vue":()=>t(()=>import(`./handovers-s3E48LIK.js`),__vite__mapDeps([68,1,2,3,4,65,7,8])),"/src/views/office/notifications/index.vue":()=>t(()=>import(`./notifications-I8CiKdc8.js`),__vite__mapDeps([69,1,2,3,4,65,7,8,70])),"/src/views/register/index.vue":()=>t(()=>import(`./register-CDFAtgib.js`),__vite__mapDeps([71,1,2,3,4,8])),"/src/views/report/exports/index.vue":()=>t(()=>import(`./exports-DUkrHlPt.js`),__vite__mapDeps([72,1,2,3,4,73,7,8,74])),"/src/views/report/overview/index.vue":()=>t(()=>import(`./overview-D-oyNP28.js`),__vite__mapDeps([75,1,2,3,4,73,7,8,76])),"/src/views/room/board/index.vue":()=>t(()=>import(`./board-sk3RGSX4.js`),__vite__mapDeps([77,1,2,3,4,78,7,8])),"/src/views/room/call-records/index.vue":()=>t(()=>import(`./call-records-Clz1SbNm.js`),__vite__mapDeps([79,1,2,3,4,12,7,8,78])),"/src/views/room/outings/index.vue":()=>t(()=>import(`./outings-CCtOaR3A.js`),__vite__mapDeps([80,1,2,3,4,12,7,8,78])),"/src/views/room/reservations/index.vue":()=>t(()=>import(`./reservations-BDcEwJH9.js`),__vite__mapDeps([81,1,2,3,4,12,7,8,78])),"/src/views/room/room-types/index.vue":()=>t(()=>import(`./room-types-Di2pN98t.js`),__vite__mapDeps([82,1,2,3,4,78,7,8])),"/src/views/room/rooms/index.vue":()=>t(()=>import(`./rooms-Ch7GX3Px.js`),__vite__mapDeps([83,1,2,3,4,78,7,8])),"/src/views/service/executions/index.vue":()=>t(()=>import(`./executions-CxoDnYt2.js`),__vite__mapDeps([84,1,2,3,4,5,85,7,8,86])),"/src/views/service/items/index.vue":()=>t(()=>import(`./items-DALYJmTT.js`),__vite__mapDeps([87,1,2,3,4,85,7,8])),"/src/views/service/orders/index.vue":()=>t(()=>import(`./orders-2ivO139e.js`),__vite__mapDeps([88,1,2,3,4,85,7,8])),"/src/views/service/packages/index.vue":()=>t(()=>import(`./packages-BwskPf-Y.js`),__vite__mapDeps([89,1,2,3,4,85,7,8])),"/src/views/system/departments/index.vue":()=>t(()=>import(`./departments-CnYyi91t.js`),__vite__mapDeps([90,1,2,3,4,15,7,8])),"/src/views/system/dictionaries/index.vue":()=>t(()=>import(`./dictionaries-CV3_WCLC.js`),__vite__mapDeps([91,1,2,3,4,15,7,8,92])),"/src/views/system/logs/index.vue":()=>t(()=>import(`./logs-BZrUVvB5.js`),__vite__mapDeps([93,1,2,3,4,15,7,8,94])),"/src/views/system/menus/index.vue":()=>t(()=>import(`./menus-DasFO-X7.js`),__vite__mapDeps([95,1,2,3,4,15,7,8])),"/src/views/system/positions/index.vue":()=>t(()=>import(`./positions-DeqC6kdd.js`),__vite__mapDeps([96,1,2,3,4,15,7,8])),"/src/views/system/registration-packages/index.vue":()=>t(()=>import(`./registration-packages-D1EkvZPn.js`),__vite__mapDeps([97,1,2,3,4,15,7,8])),"/src/views/system/roles/index.vue":()=>t(()=>import(`./roles-Dwv5QOVU.js`),__vite__mapDeps([98,1,2,3,4,15,7,8,99])),"/src/views/system/stores/index.vue":()=>t(()=>import(`./stores-D6abJMXk.js`),__vite__mapDeps([100,1,2,3,4,15,7,8])),"/src/views/system/users/index.vue":()=>t(()=>import(`./users-DjBGJbBb.js`),__vite__mapDeps([101,1,2,3,4,15,7,8]))});function o(e){let t=[`/src/views/${e}.vue`,`@/views/${e}.vue`,`../views/${e}.vue`];for(let e of t)if(a[e])return a[e];let n=`/views/${e}.vue`;for(let[e,t]of Object.entries(a))if(e.endsWith(n))return t;console.warn(`[permission] View not found: ${e}`)}function s(e){let t={path:e.path,name:e.name||e.path,meta:{title:e.name,icon:e.icon||``,id:e.id,hidden:e.visible===0}};if(e.component===`Layout`)t.component=i;else if(e.component){let n=o(e.component);n&&(t.component=n)}return e.children&&e.children.length>0&&(t.children=e.children.map(s),!t.redirect&&t.children.length>0&&(t.redirect=t.children[0].path)),t}var c=n(`permission`,()=>{let t=e([]),n=e([]);function a(e){let a=[],c={path:`/`,name:`Root`,component:i,redirect:`/dashboard`,children:[]};for(let t of e)if(t.children&&t.children.length>0&&(!t.component||t.component===`Layout`))for(let e of t.children)c.children.push(s(e));else t.component&&c.children.push(s(t));return c.children.some(e=>e.path===`/dashboard`||e.path===`dashboard`)||c.children.unshift({path:`dashboard`,name:`Dashboard`,component:o(`dashboard/index`),meta:{title:`工作台`,icon:`Odometer`}}),a.push(c),a.push({path:`/:pathMatch(.*)*`,redirect:`/404`,meta:{hidden:!0}}),n.value=a,t.value=[...r,...a],a}function c(){t.value=[],n.value=[]}return{routes:t,dynamicRoutes:n,generateRoutes:a,resetRoutes:c}});export{c as usePermissionStore}; \ No newline at end of file diff --git a/frontend/dist/assets/permission-Dd6fKlgM.js b/frontend/dist/assets/permission-Dd6fKlgM.js deleted file mode 100644 index 682b015..0000000 --- a/frontend/dist/assets/permission-Dd6fKlgM.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/layout-BzT6v6aD.js","assets/index-ZRE77JpD.js","assets/preload-helper-DSXbuxSR.js","assets/runtime-core.esm-bundler-DbRZbT7v.js","assets/index-BTxz3KtI.css","assets/iconify-f5JHLb1p.js","assets/user-DwrZIuIR.js","assets/request-C_vMs8Bs.js","assets/axios-Cty4xAHp.js","assets/layout-Bba1oLTr.css","assets/exceptions-CeoPfK2B.js","assets/care-ChCKRopi.js","assets/crm-Do-MgkuV.js","assets/health-metrics-B4-E0Srw.js","assets/plans-BQlzEWv_.js","assets/system-C8g7zsei.js","assets/profiles-Bcz4YuOY.js","assets/records-D7BkIt-M.js","assets/channels-B6bNTV7i.js","assets/complaints-BA2CDCPC.js","assets/contracts-Bk4hmbCb.js","assets/customers-BqPgd2up.js","assets/leads-PsiTHbdN.js","assets/questionnaires-nFr8-Uv4.js","assets/dashboard-CCYZXxTu.js","assets/404-BTD8CAKp.js","assets/404-lb1dpT3n.css","assets/accounts-BG3LM3oT.js","assets/finance-CoczR0xj.js","assets/categories-pnwbIy3A.js","assets/invoices-Qo11LBiA.js","assets/payments-DwMYfAkP.js","assets/prepaid-cards-DT00XJFX.js","assets/records-CQ-q5Ta1.js","assets/transactions-pvG4YuIs.js","assets/attendances-Cv2Ceyms.js","assets/hr-CYqLK_6c.js","assets/leaves-rsAWYvRf.js","assets/profiles-BYmx74HQ.js","assets/salaries-8jlqvzHO.js","assets/schedules-m8M29YUB.js","assets/checks-BPkkDfPT.js","assets/inventory-BCukmUtW.js","assets/materials-Csm9CJC6.js","assets/purchase-orders-y3mcpfPu.js","assets/stock-BBUycB2R.js","assets/stock-BKGyHpKj.css","assets/stock-movements-DoJ3Hf1Q.js","assets/suppliers-3JJpsYpy.js","assets/transfers-CljKq8pY.js","assets/warehouses-Bl-wItmk.js","assets/articles-B1z_DB6H.js","assets/kb-DoVqfT25.js","assets/categories-Djm6nnOq.js","assets/login-yCCWUWEu.js","assets/daily-plans--E2KeeGc.js","assets/meal-CL1Cz_RN.js","assets/dishes-DyX1JK0o.js","assets/reviews-COjDLEsX.js","assets/templates-1qMDe9-D.js","assets/nannies-DgwxPzxp.js","assets/nanny-Cp-L-Ws0.js","assets/orders-B69tXrS_.js","assets/schedules-DvK15sxY.js","assets/announcements-C5yCtxKi.js","assets/office-DHw6Jomg.js","assets/approval-templates-CRSGiroP.js","assets/approvals-CHwBE6jA.js","assets/handovers-DrzjoVE_.js","assets/notifications-B0Q-bm4i.js","assets/notifications-g_qm3ySB.css","assets/register-DkbZcE0x.js","assets/exports-D3q-Ds3y.js","assets/report-DzdIZI4P.js","assets/exports-B_uIFYth.css","assets/overview-Cqs4GcPa.js","assets/overview-BxW0qUIU.css","assets/board-CxdjHu9X.js","assets/room-DSHyULwI.js","assets/call-records-C6rwRG6C.js","assets/outings-GFRrCP2v.js","assets/reservations-BVaedG0F.js","assets/room-types-B7oEnDTu.js","assets/rooms-r10LmL0K.js","assets/executions-BNgXsTAf.js","assets/service-Cm4zwPyA.js","assets/executions-BEcAvGO_.css","assets/items-C2rlBFYf.js","assets/orders-e9sJ-_wO.js","assets/packages-XivrkQe2.js","assets/departments-IS1n2am2.js","assets/dictionaries-Cy4AY1wm.js","assets/dictionaries-BxACn_24.css","assets/logs-DlJnV5oW.js","assets/logs-BEnn1I4-.css","assets/menus-D-P1fAYd.js","assets/positions-DHnX1aEP.js","assets/registration-packages-CPtYFwqs.js","assets/roles-D0L92cu4.js","assets/roles-DRo0ztff.css","assets/stores-B16nMXxT.js","assets/users-D43TCHdR.js"])))=>i.map(i=>d[i]); -import{lt as e}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{t}from"./preload-helper-DSXbuxSR.js";import{a as n,n as r}from"./index-ZRE77JpD.js";var i=()=>t(()=>import(`./layout-BzT6v6aD.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),a=Object.assign({"/src/views/care/exceptions/index.vue":()=>t(()=>import(`./exceptions-CeoPfK2B.js`),__vite__mapDeps([10,1,2,3,4,5,11,7,8,12])),"/src/views/care/health-metrics/index.vue":()=>t(()=>import(`./health-metrics-B4-E0Srw.js`),__vite__mapDeps([13,1,2,3,4,5,11,7,8,12])),"/src/views/care/plans/index.vue":()=>t(()=>import(`./plans-BQlzEWv_.js`),__vite__mapDeps([14,1,2,3,4,11,7,8,15])),"/src/views/care/profiles/index.vue":()=>t(()=>import(`./profiles-Bcz4YuOY.js`),__vite__mapDeps([16,1,2,3,4,11,7,8,12])),"/src/views/care/records/index.vue":()=>t(()=>import(`./records-D7BkIt-M.js`),__vite__mapDeps([17,1,2,3,4,11,7,8])),"/src/views/crm/channels/index.vue":()=>t(()=>import(`./channels-B6bNTV7i.js`),__vite__mapDeps([18,1,2,3,4,12,7,8])),"/src/views/crm/complaints/index.vue":()=>t(()=>import(`./complaints-BA2CDCPC.js`),__vite__mapDeps([19,1,2,3,4,12,7,8])),"/src/views/crm/contracts/index.vue":()=>t(()=>import(`./contracts-Bk4hmbCb.js`),__vite__mapDeps([20,1,2,3,4,12,7,8])),"/src/views/crm/customers/index.vue":()=>t(()=>import(`./customers-BqPgd2up.js`),__vite__mapDeps([21,1,2,3,4,12,7,8])),"/src/views/crm/leads/index.vue":()=>t(()=>import(`./leads-PsiTHbdN.js`),__vite__mapDeps([22,1,2,3,4,12,7,8,15])),"/src/views/crm/questionnaires/index.vue":()=>t(()=>import(`./questionnaires-nFr8-Uv4.js`),__vite__mapDeps([23,1,2,3,4,12,7,8])),"/src/views/dashboard/index.vue":()=>t(()=>import(`./dashboard-CCYZXxTu.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8])),"/src/views/error/404.vue":()=>t(()=>import(`./404-BTD8CAKp.js`),__vite__mapDeps([25,1,2,3,4,26])),"/src/views/finance/accounts/index.vue":()=>t(()=>import(`./accounts-BG3LM3oT.js`),__vite__mapDeps([27,1,2,3,4,28,7,8])),"/src/views/finance/categories/index.vue":()=>t(()=>import(`./categories-pnwbIy3A.js`),__vite__mapDeps([29,1,2,3,4,28,7,8])),"/src/views/finance/invoices/index.vue":()=>t(()=>import(`./invoices-Qo11LBiA.js`),__vite__mapDeps([30,1,2,3,4,28,7,8])),"/src/views/finance/payments/index.vue":()=>t(()=>import(`./payments-DwMYfAkP.js`),__vite__mapDeps([31,1,2,3,4,28,7,8])),"/src/views/finance/prepaid-cards/index.vue":()=>t(()=>import(`./prepaid-cards-DT00XJFX.js`),__vite__mapDeps([32,1,2,3,4,28,7,8])),"/src/views/finance/records/index.vue":()=>t(()=>import(`./records-CQ-q5Ta1.js`),__vite__mapDeps([33,1,2,3,4,28,7,8])),"/src/views/finance/transactions/index.vue":()=>t(()=>import(`./transactions-pvG4YuIs.js`),__vite__mapDeps([34,1,2,3,4,28,7,8])),"/src/views/hr/attendances/index.vue":()=>t(()=>import(`./attendances-Cv2Ceyms.js`),__vite__mapDeps([35,1,2,3,4,36,7,8])),"/src/views/hr/leaves/index.vue":()=>t(()=>import(`./leaves-rsAWYvRf.js`),__vite__mapDeps([37,1,2,3,4,36,7,8])),"/src/views/hr/profiles/index.vue":()=>t(()=>import(`./profiles-BYmx74HQ.js`),__vite__mapDeps([38,1,2,3,4,36,7,8])),"/src/views/hr/salaries/index.vue":()=>t(()=>import(`./salaries-8jlqvzHO.js`),__vite__mapDeps([39,1,2,3,4,36,7,8])),"/src/views/hr/schedules/index.vue":()=>t(()=>import(`./schedules-m8M29YUB.js`),__vite__mapDeps([40,1,2,3,4,36,7,8])),"/src/views/inventory/checks/index.vue":()=>t(()=>import(`./checks-BPkkDfPT.js`),__vite__mapDeps([41,1,2,3,4,42,7,8])),"/src/views/inventory/materials/index.vue":()=>t(()=>import(`./materials-Csm9CJC6.js`),__vite__mapDeps([43,1,2,3,4,42,7,8])),"/src/views/inventory/purchase-orders/index.vue":()=>t(()=>import(`./purchase-orders-y3mcpfPu.js`),__vite__mapDeps([44,1,2,3,4,42,7,8])),"/src/views/inventory/stock/index.vue":()=>t(()=>import(`./stock-BBUycB2R.js`),__vite__mapDeps([45,1,2,3,4,42,7,8,46])),"/src/views/inventory/stock-movements/index.vue":()=>t(()=>import(`./stock-movements-DoJ3Hf1Q.js`),__vite__mapDeps([47,1,2,3,4,42,7,8])),"/src/views/inventory/suppliers/index.vue":()=>t(()=>import(`./suppliers-3JJpsYpy.js`),__vite__mapDeps([48,1,2,3,4,42,7,8])),"/src/views/inventory/transfers/index.vue":()=>t(()=>import(`./transfers-CljKq8pY.js`),__vite__mapDeps([49,1,2,3,4,42,7,8])),"/src/views/inventory/warehouses/index.vue":()=>t(()=>import(`./warehouses-Bl-wItmk.js`),__vite__mapDeps([50,1,2,3,4,42,7,8])),"/src/views/kb/articles/index.vue":()=>t(()=>import(`./articles-B1z_DB6H.js`),__vite__mapDeps([51,1,2,3,4,52,7,8])),"/src/views/kb/categories/index.vue":()=>t(()=>import(`./categories-Djm6nnOq.js`),__vite__mapDeps([53,1,2,3,4,52,7,8])),"/src/views/login/index.vue":()=>t(()=>import(`./login-yCCWUWEu.js`),__vite__mapDeps([54,1,2,3,4,5,6,7,8])),"/src/views/meal/daily-plans/index.vue":()=>t(()=>import(`./daily-plans--E2KeeGc.js`),__vite__mapDeps([55,1,2,3,4,12,7,8,56])),"/src/views/meal/dishes/index.vue":()=>t(()=>import(`./dishes-DyX1JK0o.js`),__vite__mapDeps([57,1,2,3,4,56,7,8])),"/src/views/meal/reviews/index.vue":()=>t(()=>import(`./reviews-COjDLEsX.js`),__vite__mapDeps([58,1,2,3,4,5,12,7,8,56])),"/src/views/meal/templates/index.vue":()=>t(()=>import(`./templates-1qMDe9-D.js`),__vite__mapDeps([59,1,2,3,4,5,56,7,8])),"/src/views/nanny/nannies/index.vue":()=>t(()=>import(`./nannies-DgwxPzxp.js`),__vite__mapDeps([60,1,2,3,4,61,7,8])),"/src/views/nanny/orders/index.vue":()=>t(()=>import(`./orders-B69tXrS_.js`),__vite__mapDeps([62,1,2,3,4,61,7,8])),"/src/views/nanny/schedules/index.vue":()=>t(()=>import(`./schedules-DvK15sxY.js`),__vite__mapDeps([63,1,2,3,4,61,7,8])),"/src/views/office/announcements/index.vue":()=>t(()=>import(`./announcements-C5yCtxKi.js`),__vite__mapDeps([64,1,2,3,4,65,7,8])),"/src/views/office/approval-templates/index.vue":()=>t(()=>import(`./approval-templates-CRSGiroP.js`),__vite__mapDeps([66,1,2,3,4,65,7,8])),"/src/views/office/approvals/index.vue":()=>t(()=>import(`./approvals-CHwBE6jA.js`),__vite__mapDeps([67,1,2,3,4,65,7,8])),"/src/views/office/handovers/index.vue":()=>t(()=>import(`./handovers-DrzjoVE_.js`),__vite__mapDeps([68,1,2,3,4,65,7,8])),"/src/views/office/notifications/index.vue":()=>t(()=>import(`./notifications-B0Q-bm4i.js`),__vite__mapDeps([69,1,2,3,4,65,7,8,70])),"/src/views/register/index.vue":()=>t(()=>import(`./register-DkbZcE0x.js`),__vite__mapDeps([71,1,2,3,4,8])),"/src/views/report/exports/index.vue":()=>t(()=>import(`./exports-D3q-Ds3y.js`),__vite__mapDeps([72,1,2,3,4,73,7,8,74])),"/src/views/report/overview/index.vue":()=>t(()=>import(`./overview-Cqs4GcPa.js`),__vite__mapDeps([75,1,2,3,4,73,7,8,76])),"/src/views/room/board/index.vue":()=>t(()=>import(`./board-CxdjHu9X.js`),__vite__mapDeps([77,1,2,3,4,78,7,8])),"/src/views/room/call-records/index.vue":()=>t(()=>import(`./call-records-C6rwRG6C.js`),__vite__mapDeps([79,1,2,3,4,12,7,8,78])),"/src/views/room/outings/index.vue":()=>t(()=>import(`./outings-GFRrCP2v.js`),__vite__mapDeps([80,1,2,3,4,12,7,8,78])),"/src/views/room/reservations/index.vue":()=>t(()=>import(`./reservations-BVaedG0F.js`),__vite__mapDeps([81,1,2,3,4,12,7,8,78])),"/src/views/room/room-types/index.vue":()=>t(()=>import(`./room-types-B7oEnDTu.js`),__vite__mapDeps([82,1,2,3,4,78,7,8])),"/src/views/room/rooms/index.vue":()=>t(()=>import(`./rooms-r10LmL0K.js`),__vite__mapDeps([83,1,2,3,4,78,7,8])),"/src/views/service/executions/index.vue":()=>t(()=>import(`./executions-BNgXsTAf.js`),__vite__mapDeps([84,1,2,3,4,5,85,7,8,86])),"/src/views/service/items/index.vue":()=>t(()=>import(`./items-C2rlBFYf.js`),__vite__mapDeps([87,1,2,3,4,85,7,8])),"/src/views/service/orders/index.vue":()=>t(()=>import(`./orders-e9sJ-_wO.js`),__vite__mapDeps([88,1,2,3,4,85,7,8])),"/src/views/service/packages/index.vue":()=>t(()=>import(`./packages-XivrkQe2.js`),__vite__mapDeps([89,1,2,3,4,85,7,8])),"/src/views/system/departments/index.vue":()=>t(()=>import(`./departments-IS1n2am2.js`),__vite__mapDeps([90,1,2,3,4,15,7,8])),"/src/views/system/dictionaries/index.vue":()=>t(()=>import(`./dictionaries-Cy4AY1wm.js`),__vite__mapDeps([91,1,2,3,4,15,7,8,92])),"/src/views/system/logs/index.vue":()=>t(()=>import(`./logs-DlJnV5oW.js`),__vite__mapDeps([93,1,2,3,4,15,7,8,94])),"/src/views/system/menus/index.vue":()=>t(()=>import(`./menus-D-P1fAYd.js`),__vite__mapDeps([95,1,2,3,4,15,7,8])),"/src/views/system/positions/index.vue":()=>t(()=>import(`./positions-DHnX1aEP.js`),__vite__mapDeps([96,1,2,3,4,15,7,8])),"/src/views/system/registration-packages/index.vue":()=>t(()=>import(`./registration-packages-CPtYFwqs.js`),__vite__mapDeps([97,1,2,3,4,15,7,8])),"/src/views/system/roles/index.vue":()=>t(()=>import(`./roles-D0L92cu4.js`),__vite__mapDeps([98,1,2,3,4,15,7,8,99])),"/src/views/system/stores/index.vue":()=>t(()=>import(`./stores-B16nMXxT.js`),__vite__mapDeps([100,1,2,3,4,15,7,8])),"/src/views/system/users/index.vue":()=>t(()=>import(`./users-D43TCHdR.js`),__vite__mapDeps([101,1,2,3,4,15,7,8]))});function o(e){let t=[`/src/views/${e}.vue`,`@/views/${e}.vue`,`../views/${e}.vue`];for(let e of t)if(a[e])return a[e];let n=`/views/${e}.vue`;for(let[e,t]of Object.entries(a))if(e.endsWith(n))return t;console.warn(`[permission] View not found: ${e}`)}function s(e){let t={path:e.path,name:e.name||e.path,meta:{title:e.name,icon:e.icon||``,id:e.id,hidden:e.visible===0}};if(e.component===`Layout`)t.component=i;else if(e.component){let n=o(e.component);n&&(t.component=n)}return e.children&&e.children.length>0&&(t.children=e.children.map(s),!t.redirect&&t.children.length>0&&(t.redirect=t.children[0].path)),t}var c=n(`permission`,()=>{let t=e([]),n=e([]);function a(e){let a=[],c={path:`/`,name:`Root`,component:i,redirect:`/dashboard`,children:[]};for(let t of e)if(t.children&&t.children.length>0&&(!t.component||t.component===`Layout`))for(let e of t.children)c.children.push(s(e));else t.component&&c.children.push(s(t));return c.children.some(e=>e.path===`/dashboard`||e.path===`dashboard`)||c.children.unshift({path:`dashboard`,name:`Dashboard`,component:o(`dashboard/index`),meta:{title:`工作台`,icon:`Odometer`}}),a.push(c),a.push({path:`/:pathMatch(.*)*`,redirect:`/404`,meta:{hidden:!0}}),n.value=a,t.value=[...r,...a],a}function c(){t.value=[],n.value=[]}return{routes:t,dynamicRoutes:n,generateRoutes:a,resetRoutes:c}});export{c as usePermissionStore}; \ No newline at end of file diff --git a/frontend/dist/assets/plans-BQlzEWv_.js b/frontend/dist/assets/plans-Bp6SNQZ6.js similarity index 96% rename from frontend/dist/assets/plans-BQlzEWv_.js rename to frontend/dist/assets/plans-Bp6SNQZ6.js index ee2e570..2b2e438 100644 --- a/frontend/dist/assets/plans-BQlzEWv_.js +++ b/frontend/dist/assets/plans-Bp6SNQZ6.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{userApi as v}from"./system-C8g7zsei.js";import{n as y,r as b}from"./care-ChCKRopi.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d([]),P=d([]),F=p({care_profile_id:``,plan_date:``,status:``}),I=p({page:1,per_page:20}),L=d(null),R=p({id:null,care_profile_id:``,plan_date:``,stage:``,items:[],nurse_id:``,status:0}),z=d(!1),B={0:`待执行`,1:`执行中`,2:`已完成`},V={0:`info`,1:`warning`,2:`success`};async function H(){A.value=!0;try{let e=await y.getList({...F,...I});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function U(){try{let e=await b.getList({per_page:500});N.value=e.data?.list||e.data?.data||[]}catch{}}async function W(){try{let e=await v.getList({per_page:200});P.value=e.data?.list||e.data?.data||[]}catch{}}function G(){I.page=1,H()}function K(){Object.assign(F,{care_profile_id:``,plan_date:``,status:``}),G()}function q(){z.value=!1,Object.assign(R,{id:null,care_profile_id:``,plan_date:``,stage:``,items:[],nurse_id:``,status:0}),j.value=!0}async function J(e){z.value=!0,Object.assign(R,{id:e.id,care_profile_id:e.care_profile_id,plan_date:e.plan_date,stage:e.stage||``,items:e.items||[],nurse_id:e.nurse_id||``,status:e.status}),j.value=!0}async function Y(){M.value=!0;try{z.value?await y.update(R.id,R):await y.create(R),_.success(z.value?`更新成功`:`创建成功`),j.value=!1,H()}finally{M.value=!1}}function X(e){I.page=e,H()}function Z(e){I.per_page=e,I.page=1,H()}return r(()=>{H(),U(),W()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-date-picker`),y=i(`el-button`),b=i(`el-table-column`),D=i(`el-tag`),H=i(`el-table`),U=i(`el-pagination`),W=i(`el-form-item`),Q=i(`el-input`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(_,{modelValue:F.care_profile_id,"onUpdate:modelValue":d[0]||=e=>F.care_profile_id=e,placeholder:`护理档案`,clearable:``,filterable:``,style:{width:`200px`}},{default:e(()=>[(n(!0),f(u,null,g(N.value,e=>(n(),s(p,{key:e.id,label:`${e.customer?.name||``} - ${e.type===1?`妈妈`:`宝宝`}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(v,{modelValue:F.plan_date,"onUpdate:modelValue":d[1]||=e=>F.plan_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`计划日期`,style:{width:`160px`}},null,8,[`modelValue`]),h(_,{modelValue:F.status,"onUpdate:modelValue":d[2]||=e=>F.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(B,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{type:`primary`,onClick:G},{default:e(()=>[...d[12]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:K},{default:e(()=>[...d[13]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[15]||=m(`div`,{class:`flex items-center gap-3`},null,-1),h(y,{type:`primary`,onClick:q},{default:e(()=>[...d[14]||=[o(`新增计划`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(H,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(b,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.profile?.customer?.name||`-`),1)]),_:1}),h(b,{prop:`plan_date`,label:`计划日期`,"min-width":`110`}),h(b,{prop:`stage`,label:`阶段`,"min-width":`100`}),h(b,{label:`护士`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.nurse?.name||`-`),1)]),_:1}),h(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(D,{type:V[t.status],size:`small`},{default:e(()=>[o(a(B[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(b,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(y,{size:`small`,type:`primary`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,A.value]])]),m(`div`,E,[h(U,{"current-page":I.page,"onUpdate:currentPage":d[3]||=e=>I.page=e,"page-size":I.per_page,"onUpdate:pageSize":d[4]||=e=>I.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:X,onSizeChange:Z},null,8,[`current-page`,`page-size`,`total`])])]),h(ee,{modelValue:j.value,"onUpdate:modelValue":d[11]||=e=>j.value=e,title:z.value?`编辑计划`:`新增计划`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[10]||=e=>j.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:M.value,onClick:Y},{default:e(()=>[...d[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h($,{ref_key:`formRef`,ref:L,model:R,"label-width":`80px`},{default:e(()=>[h(W,{label:`护理档案`},{default:e(()=>[h(_,{modelValue:R.care_profile_id,"onUpdate:modelValue":d[5]||=e=>R.care_profile_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(N.value,e=>(n(),s(p,{key:e.id,label:`${e.customer?.name||``} - ${e.type===1?`妈妈`:`宝宝`}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(W,{label:`计划日期`},{default:e(()=>[h(v,{modelValue:R.plan_date,"onUpdate:modelValue":d[6]||=e=>R.plan_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(W,{label:`阶段`},{default:e(()=>[h(Q,{modelValue:R.stage,"onUpdate:modelValue":d[7]||=e=>R.stage=e,placeholder:`如:产后第1周`},null,8,[`modelValue`])]),_:1}),h(W,{label:`护士`},{default:e(()=>[h(_,{modelValue:R.nurse_id,"onUpdate:modelValue":d[8]||=e=>R.nurse_id=e,filterable:``,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(P.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),z.value?(n(),s(W,{key:0,label:`状态`},{default:e(()=>[h(_,{modelValue:R.status,"onUpdate:modelValue":d[9]||=e=>R.status=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(B,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})):l(``,!0)]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{userApi as v}from"./system-DEm1DLCy.js";import{n as y,r as b}from"./care-BUQYu5B3.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=d([]),P=d([]),F=p({care_profile_id:``,plan_date:``,status:``}),I=p({page:1,per_page:20}),L=d(null),R=p({id:null,care_profile_id:``,plan_date:``,stage:``,items:[],nurse_id:``,status:0}),z=d(!1),B={0:`待执行`,1:`执行中`,2:`已完成`},V={0:`info`,1:`warning`,2:`success`};async function H(){A.value=!0;try{let e=await y.getList({...F,...I});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function U(){try{let e=await b.getList({per_page:500});N.value=e.data?.list||e.data?.data||[]}catch{}}async function W(){try{let e=await v.getList({per_page:200});P.value=e.data?.list||e.data?.data||[]}catch{}}function G(){I.page=1,H()}function K(){Object.assign(F,{care_profile_id:``,plan_date:``,status:``}),G()}function q(){z.value=!1,Object.assign(R,{id:null,care_profile_id:``,plan_date:``,stage:``,items:[],nurse_id:``,status:0}),j.value=!0}async function J(e){z.value=!0,Object.assign(R,{id:e.id,care_profile_id:e.care_profile_id,plan_date:e.plan_date,stage:e.stage||``,items:e.items||[],nurse_id:e.nurse_id||``,status:e.status}),j.value=!0}async function Y(){M.value=!0;try{z.value?await y.update(R.id,R):await y.create(R),_.success(z.value?`更新成功`:`创建成功`),j.value=!1,H()}finally{M.value=!1}}function X(e){I.page=e,H()}function Z(e){I.per_page=e,I.page=1,H()}return r(()=>{H(),U(),W()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-date-picker`),y=i(`el-button`),b=i(`el-table-column`),D=i(`el-tag`),H=i(`el-table`),U=i(`el-pagination`),W=i(`el-form-item`),Q=i(`el-input`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(_,{modelValue:F.care_profile_id,"onUpdate:modelValue":d[0]||=e=>F.care_profile_id=e,placeholder:`护理档案`,clearable:``,filterable:``,style:{width:`200px`}},{default:e(()=>[(n(!0),f(u,null,g(N.value,e=>(n(),s(p,{key:e.id,label:`${e.customer?.name||``} - ${e.type===1?`妈妈`:`宝宝`}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(v,{modelValue:F.plan_date,"onUpdate:modelValue":d[1]||=e=>F.plan_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`计划日期`,style:{width:`160px`}},null,8,[`modelValue`]),h(_,{modelValue:F.status,"onUpdate:modelValue":d[2]||=e=>F.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(B,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(y,{type:`primary`,onClick:G},{default:e(()=>[...d[12]||=[o(`查询`,-1)]]),_:1}),h(y,{onClick:K},{default:e(()=>[...d[13]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[15]||=m(`div`,{class:`flex items-center gap-3`},null,-1),h(y,{type:`primary`,onClick:q},{default:e(()=>[...d[14]||=[o(`新增计划`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(H,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(b,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.profile?.customer?.name||`-`),1)]),_:1}),h(b,{prop:`plan_date`,label:`计划日期`,"min-width":`110`}),h(b,{prop:`stage`,label:`阶段`,"min-width":`100`}),h(b,{label:`护士`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.nurse?.name||`-`),1)]),_:1}),h(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(D,{type:V[t.status],size:`small`},{default:e(()=>[o(a(B[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(b,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(y,{size:`small`,type:`primary`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[te,A.value]])]),m(`div`,E,[h(U,{"current-page":I.page,"onUpdate:currentPage":d[3]||=e=>I.page=e,"page-size":I.per_page,"onUpdate:pageSize":d[4]||=e=>I.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:X,onSizeChange:Z},null,8,[`current-page`,`page-size`,`total`])])]),h(ee,{modelValue:j.value,"onUpdate:modelValue":d[11]||=e=>j.value=e,title:z.value?`编辑计划`:`新增计划`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(y,{onClick:d[10]||=e=>j.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(y,{type:`primary`,loading:M.value,onClick:Y},{default:e(()=>[...d[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h($,{ref_key:`formRef`,ref:L,model:R,"label-width":`80px`},{default:e(()=>[h(W,{label:`护理档案`},{default:e(()=>[h(_,{modelValue:R.care_profile_id,"onUpdate:modelValue":d[5]||=e=>R.care_profile_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(N.value,e=>(n(),s(p,{key:e.id,label:`${e.customer?.name||``} - ${e.type===1?`妈妈`:`宝宝`}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(W,{label:`计划日期`},{default:e(()=>[h(v,{modelValue:R.plan_date,"onUpdate:modelValue":d[6]||=e=>R.plan_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(W,{label:`阶段`},{default:e(()=>[h(Q,{modelValue:R.stage,"onUpdate:modelValue":d[7]||=e=>R.stage=e,placeholder:`如:产后第1周`},null,8,[`modelValue`])]),_:1}),h(W,{label:`护士`},{default:e(()=>[h(_,{modelValue:R.nurse_id,"onUpdate:modelValue":d[8]||=e=>R.nurse_id=e,filterable:``,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(P.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),z.value?(n(),s(W,{key:0,label:`状态`},{default:e(()=>[h(_,{modelValue:R.status,"onUpdate:modelValue":d[9]||=e=>R.status=e,style:{width:`100%`}},{default:e(()=>[(n(),f(u,null,g(B,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})):l(``,!0)]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/positions-DHnX1aEP.js b/frontend/dist/assets/positions-DeqC6kdd.js similarity index 97% rename from frontend/dist/assets/positions-DHnX1aEP.js rename to frontend/dist/assets/positions-DeqC6kdd.js index a1d1e9f..69062a6 100644 --- a/frontend/dist/assets/positions-DHnX1aEP.js +++ b/frontend/dist/assets/positions-DeqC6kdd.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{positionApi as _}from"./system-C8g7zsei.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},ee={class:`px-2`},S={class:`px-5 py-3 border-t border-gray-50`},C={__name:`index`,setup(C){let w=l([]),T=l(0),E=l(!1),D=l(!1),O=l(`新增职务`),k=l(!1),A=l(!1),j=l(null),M=d({keyword:``,status:``}),N=d({page:1,page_size:20}),P=d({id:null,name:``,code:``,sort:0,status:1,description:``}),F={name:[{required:!0,message:`请输入职务名称`,trigger:`blur`}]};async function I(){E.value=!0;try{let e=await _.getList({...M,...N});w.value=e.data?.list||[],T.value=e.data?.total||0}catch{}finally{E.value=!1}}function L(){N.page=1,I()}function R(){Object.assign(M,{keyword:``,status:``}),L()}function z(){A.value=!1,O.value=`新增职务`,Object.assign(P,{id:null,name:``,code:``,sort:0,status:1,description:``}),D.value=!0}async function B(e){A.value=!0,O.value=`编辑职务 - ${e.name}`,Object.assign(P,{id:e.id,name:e.name,code:e.code||``,sort:e.sort??0,status:e.status,description:e.description||``}),D.value=!0}async function V(){j.value&&await j.value.validate(async e=>{if(e){k.value=!0;try{A.value?(await _.update(P.id,P),g.success(`职务信息更新成功`)):(await _.create(P),g.success(`职务创建成功`)),D.value=!1,I()}catch{}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除职务「${e.name}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await _.delete(e.id),g.success(`删除成功`),I()}async function U(e){let t=e.status===1?0:1,n=t===1?`启用`:`停用`;try{await _.update(e.id,{...e,status:t}),e.status=t,g.success(`职务已${n}`)}catch{}}function W(e){N.page=e,I()}function G(e){N.page_size=e,N.page=1,I()}return r(I),(r,l)=>{let d=i(`Search`),h=i(`el-icon`),g=i(`el-input`),_=i(`el-option`),C=i(`el-select`),I=i(`el-button`),K=i(`el-table-column`),q=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-col`),Q=i(`el-input-number`),$=i(`el-radio`),te=i(`el-radio-group`),ne=i(`el-row`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(g,{modelValue:M.keyword,"onUpdate:modelValue":l[0]||=e=>M.keyword=e,placeholder:`搜索职务名称/编码`,style:{width:`240px`},clearable:``,onKeydown:m(L,[`enter`])},{prefix:e(()=>[p(h,null,{default:e(()=>[p(d)]),_:1})]),_:1},8,[`modelValue`]),p(C,{modelValue:M.status,"onUpdate:modelValue":l[1]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(_,{label:`启用`,value:1}),p(_,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(I,{type:`primary`,icon:`Search`,onClick:L},{default:e(()=>[...l[11]||=[o(`查询`,-1)]]),_:1}),p(I,{icon:`Refresh`,onClick:R},{default:e(()=>[...l[12]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[14]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(I,{type:`primary`,icon:`Plus`,onClick:z},{default:e(()=>[...l[13]||=[o(`新增职务`,-1)]]),_:1})]),f(`div`,ee,[c((n(),s(J,{data:w.value,style:{width:`100%`}},{default:e(()=>[p(K,{type:`index`,label:`#`,width:`60`,align:`center`}),p(K,{prop:`name`,label:`职务名称`,"min-width":`160`}),p(K,{prop:`code`,label:`职务编码`,width:`140`}),p(K,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),p(K,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[p(q,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(K,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),p(K,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(I,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(I,{size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>U(t)},{default:e(()=>[o(a(t.status===1?`停用`:`启用`),1)]),_:2},1032,[`type`,`onClick`]),p(I,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,E.value]])]),f(`div`,S,[p(Y,{"current-page":N.page,"onUpdate:currentPage":l[2]||=e=>N.page=e,"page-size":N.page_size,"onUpdate:pageSize":l[3]||=e=>N.page_size=e,total:T.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:W,onSizeChange:G},null,8,[`current-page`,`page-size`,`total`])])]),p(ie,{modelValue:D.value,"onUpdate:modelValue":l[10]||=e=>D.value=e,title:O.value,width:`480px`,"destroy-on-close":``},{footer:e(()=>[p(I,{onClick:l[9]||=e=>D.value=!1},{default:e(()=>[...l[19]||=[o(`取消`,-1)]]),_:1}),p(I,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[o(a(A.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[p(re,{ref_key:`formRef`,ref:j,model:P,rules:F,"label-width":`90px`},{default:e(()=>[p(ne,{gutter:16},{default:e(()=>[p(Z,{span:12},{default:e(()=>[p(X,{label:`职务名称`,prop:`name`},{default:e(()=>[p(g,{modelValue:P.name,"onUpdate:modelValue":l[4]||=e=>P.name=e,placeholder:`请输入职务名称`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`职务编码`,prop:`code`},{default:e(()=>[p(g,{modelValue:P.code,"onUpdate:modelValue":l[5]||=e=>P.code=e,placeholder:`如: MGR(选填)`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`排序`,prop:`sort`},{default:e(()=>[p(Q,{modelValue:P.sort,"onUpdate:modelValue":l[6]||=e=>P.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`状态`,prop:`status`},{default:e(()=>[p(te,{modelValue:P.status,"onUpdate:modelValue":l[7]||=e=>P.status=e},{default:e(()=>[p($,{value:1},{default:e(()=>[...l[17]||=[o(`启用`,-1)]]),_:1}),p($,{value:0},{default:e(()=>[...l[18]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:24},{default:e(()=>[p(X,{label:`备注`,prop:`description`},{default:e(()=>[p(g,{modelValue:P.description,"onUpdate:modelValue":l[8]||=e=>P.description=e,type:`textarea`,rows:2,placeholder:`备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{C as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{positionApi as _}from"./system-DEm1DLCy.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},ee={class:`px-2`},S={class:`px-5 py-3 border-t border-gray-50`},C={__name:`index`,setup(C){let w=l([]),T=l(0),E=l(!1),D=l(!1),O=l(`新增职务`),k=l(!1),A=l(!1),j=l(null),M=d({keyword:``,status:``}),N=d({page:1,page_size:20}),P=d({id:null,name:``,code:``,sort:0,status:1,description:``}),F={name:[{required:!0,message:`请输入职务名称`,trigger:`blur`}]};async function I(){E.value=!0;try{let e=await _.getList({...M,...N});w.value=e.data?.list||[],T.value=e.data?.total||0}catch{}finally{E.value=!1}}function L(){N.page=1,I()}function R(){Object.assign(M,{keyword:``,status:``}),L()}function z(){A.value=!1,O.value=`新增职务`,Object.assign(P,{id:null,name:``,code:``,sort:0,status:1,description:``}),D.value=!0}async function B(e){A.value=!0,O.value=`编辑职务 - ${e.name}`,Object.assign(P,{id:e.id,name:e.name,code:e.code||``,sort:e.sort??0,status:e.status,description:e.description||``}),D.value=!0}async function V(){j.value&&await j.value.validate(async e=>{if(e){k.value=!0;try{A.value?(await _.update(P.id,P),g.success(`职务信息更新成功`)):(await _.create(P),g.success(`职务创建成功`)),D.value=!1,I()}catch{}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除职务「${e.name}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await _.delete(e.id),g.success(`删除成功`),I()}async function U(e){let t=e.status===1?0:1,n=t===1?`启用`:`停用`;try{await _.update(e.id,{...e,status:t}),e.status=t,g.success(`职务已${n}`)}catch{}}function W(e){N.page=e,I()}function G(e){N.page_size=e,N.page=1,I()}return r(I),(r,l)=>{let d=i(`Search`),h=i(`el-icon`),g=i(`el-input`),_=i(`el-option`),C=i(`el-select`),I=i(`el-button`),K=i(`el-table-column`),q=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-col`),Q=i(`el-input-number`),$=i(`el-radio`),te=i(`el-radio-group`),ne=i(`el-row`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(g,{modelValue:M.keyword,"onUpdate:modelValue":l[0]||=e=>M.keyword=e,placeholder:`搜索职务名称/编码`,style:{width:`240px`},clearable:``,onKeydown:m(L,[`enter`])},{prefix:e(()=>[p(h,null,{default:e(()=>[p(d)]),_:1})]),_:1},8,[`modelValue`]),p(C,{modelValue:M.status,"onUpdate:modelValue":l[1]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(_,{label:`启用`,value:1}),p(_,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(I,{type:`primary`,icon:`Search`,onClick:L},{default:e(()=>[...l[11]||=[o(`查询`,-1)]]),_:1}),p(I,{icon:`Refresh`,onClick:R},{default:e(()=>[...l[12]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[14]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(I,{type:`primary`,icon:`Plus`,onClick:z},{default:e(()=>[...l[13]||=[o(`新增职务`,-1)]]),_:1})]),f(`div`,ee,[c((n(),s(J,{data:w.value,style:{width:`100%`}},{default:e(()=>[p(K,{type:`index`,label:`#`,width:`60`,align:`center`}),p(K,{prop:`name`,label:`职务名称`,"min-width":`160`}),p(K,{prop:`code`,label:`职务编码`,width:`140`}),p(K,{prop:`sort`,label:`排序`,width:`80`,align:`center`}),p(K,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[p(q,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(K,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),p(K,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(I,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(I,{size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>U(t)},{default:e(()=>[o(a(t.status===1?`停用`:`启用`),1)]),_:2},1032,[`type`,`onClick`]),p(I,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,E.value]])]),f(`div`,S,[p(Y,{"current-page":N.page,"onUpdate:currentPage":l[2]||=e=>N.page=e,"page-size":N.page_size,"onUpdate:pageSize":l[3]||=e=>N.page_size=e,total:T.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:W,onSizeChange:G},null,8,[`current-page`,`page-size`,`total`])])]),p(ie,{modelValue:D.value,"onUpdate:modelValue":l[10]||=e=>D.value=e,title:O.value,width:`480px`,"destroy-on-close":``},{footer:e(()=>[p(I,{onClick:l[9]||=e=>D.value=!1},{default:e(()=>[...l[19]||=[o(`取消`,-1)]]),_:1}),p(I,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[o(a(A.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[p(re,{ref_key:`formRef`,ref:j,model:P,rules:F,"label-width":`90px`},{default:e(()=>[p(ne,{gutter:16},{default:e(()=>[p(Z,{span:12},{default:e(()=>[p(X,{label:`职务名称`,prop:`name`},{default:e(()=>[p(g,{modelValue:P.name,"onUpdate:modelValue":l[4]||=e=>P.name=e,placeholder:`请输入职务名称`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`职务编码`,prop:`code`},{default:e(()=>[p(g,{modelValue:P.code,"onUpdate:modelValue":l[5]||=e=>P.code=e,placeholder:`如: MGR(选填)`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`排序`,prop:`sort`},{default:e(()=>[p(Q,{modelValue:P.sort,"onUpdate:modelValue":l[6]||=e=>P.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`状态`,prop:`status`},{default:e(()=>[p(te,{modelValue:P.status,"onUpdate:modelValue":l[7]||=e=>P.status=e},{default:e(()=>[p($,{value:1},{default:e(()=>[...l[17]||=[o(`启用`,-1)]]),_:1}),p($,{value:0},{default:e(()=>[...l[18]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:24},{default:e(()=>[p(X,{label:`备注`,prop:`description`},{default:e(()=>[p(g,{modelValue:P.description,"onUpdate:modelValue":l[8]||=e=>P.description=e,type:`textarea`,rows:2,placeholder:`备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{C as default}; \ No newline at end of file diff --git a/frontend/dist/assets/prepaid-cards-DT00XJFX.js b/frontend/dist/assets/prepaid-cards-CWlUGAlv.js similarity index 97% rename from frontend/dist/assets/prepaid-cards-DT00XJFX.js rename to frontend/dist/assets/prepaid-cards-CWlUGAlv.js index 36a74c7..f038c5f 100644 --- a/frontend/dist/assets/prepaid-cards-DT00XJFX.js +++ b/frontend/dist/assets/prepaid-cards-CWlUGAlv.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{s as _}from"./finance-CoczR0xj.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=d({name:``,status:``}),j=d({page:1,per_page:15}),M=l(null),N=d({id:null,name:``,face_value:0,sell_price:0,discount_rate:1,validity_days:365,status:1,sort:0}),P=l(!1),F={name:[{required:!0,message:`请输入储值卡名称`,trigger:`blur`}]};async function I(){D.value=!0;try{let e=await _.getList({...A,...j});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function L(){j.page=1,I()}function R(){Object.assign(A,{name:``,status:``}),L()}function z(){P.value=!1,Object.assign(N,{id:null,name:``,face_value:0,sell_price:0,discount_rate:1,validity_days:365,status:1,sort:0}),O.value=!0}async function B(e){P.value=!0,Object.assign(N,{...e}),O.value=!0}async function V(){M.value&&await M.value.validate(async e=>{if(e){k.value=!0;try{P.value?(await _.update(N.id,N),g.success(`更新成功`)):(await _.create(N),g.success(`创建成功`)),O.value=!1,I()}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除储值卡「${e.name}」吗?`,`删除确认`,{type:`warning`}),await _.delete(e.id),g.success(`删除成功`),I()}function U(e){j.page=e,I()}function W(e){j.per_page=e,j.page=1,I()}return r(()=>I()),(r,l)=>{let d=i(`el-input`),h=i(`el-option`),g=i(`el-select`),_=i(`el-button`),w=i(`el-table-column`),I=i(`el-tag`),G=i(`el-table`),K=i(`el-pagination`),q=i(`el-form-item`),J=i(`el-input-number`),Y=i(`el-switch`),X=i(`el-form`),Z=i(`el-dialog`),Q=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:A.name,"onUpdate:modelValue":l[0]||=e=>A.name=e,placeholder:`储值卡名称`,style:{width:`180px`},clearable:``,onKeydown:m(L,[`enter`])},null,8,[`modelValue`]),p(g,{modelValue:A.status,"onUpdate:modelValue":l[1]||=e=>A.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(h,{label:`启用`,value:1}),p(h,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(_,{type:`primary`,onClick:L},{default:e(()=>[...l[13]||=[o(`查询`,-1)]]),_:1}),p(_,{onClick:R},{default:e(()=>[...l[14]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[16]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`储值卡列表`)],-1),p(_,{type:`primary`,onClick:z},{default:e(()=>[...l[15]||=[o(`新增储值卡`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(G,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`name`,label:`储值卡名称`,"min-width":`150`}),p(w,{prop:`face_value`,label:`面值`,width:`100`,align:`right`}),p(w,{prop:`sell_price`,label:`售价`,width:`100`,align:`right`}),p(w,{prop:`discount_rate`,label:`折扣率`,width:`90`,align:`center`}),p(w,{prop:`validity_days`,label:`有效期(天)`,width:`100`,align:`center`}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(I,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(w,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(_,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[17]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(_,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Q,D.value]])]),f(`div`,C,[p(K,{"current-page":j.page,"onUpdate:currentPage":l[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":l[3]||=e=>j.per_page=e,total:E.value,"page-sizes":[10,15,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:U,onSizeChange:W},null,8,[`current-page`,`page-size`,`total`])])]),p(Z,{modelValue:O.value,"onUpdate:modelValue":l[12]||=e=>O.value=e,title:P.value?`编辑储值卡`:`新增储值卡`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[p(_,{onClick:l[11]||=e=>O.value=!1},{default:e(()=>[...l[19]||=[o(`取消`,-1)]]),_:1}),p(_,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[...l[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(X,{ref_key:`formRef`,ref:M,model:N,rules:F,"label-width":`100px`},{default:e(()=>[p(q,{label:`储值卡名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:N.name,"onUpdate:modelValue":l[4]||=e=>N.name=e,placeholder:`请输入储值卡名称`},null,8,[`modelValue`])]),_:1}),p(q,{label:`面值`},{default:e(()=>[p(J,{modelValue:N.face_value,"onUpdate:modelValue":l[5]||=e=>N.face_value=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`售价`},{default:e(()=>[p(J,{modelValue:N.sell_price,"onUpdate:modelValue":l[6]||=e=>N.sell_price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`折扣率`},{default:e(()=>[p(J,{modelValue:N.discount_rate,"onUpdate:modelValue":l[7]||=e=>N.discount_rate=e,min:0,max:1,step:.01,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`有效期(天)`},{default:e(()=>[p(J,{modelValue:N.validity_days,"onUpdate:modelValue":l[8]||=e=>N.validity_days=e,min:1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`状态`},{default:e(()=>[p(Y,{modelValue:N.status,"onUpdate:modelValue":l[9]||=e=>N.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),p(q,{label:`排序`},{default:e(()=>[p(J,{modelValue:N.sort,"onUpdate:modelValue":l[10]||=e=>N.sort=e,min:0,max:999},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{s as _}from"./finance-xn2Nlkdw.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=d({name:``,status:``}),j=d({page:1,per_page:15}),M=l(null),N=d({id:null,name:``,face_value:0,sell_price:0,discount_rate:1,validity_days:365,status:1,sort:0}),P=l(!1),F={name:[{required:!0,message:`请输入储值卡名称`,trigger:`blur`}]};async function I(){D.value=!0;try{let e=await _.getList({...A,...j});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function L(){j.page=1,I()}function R(){Object.assign(A,{name:``,status:``}),L()}function z(){P.value=!1,Object.assign(N,{id:null,name:``,face_value:0,sell_price:0,discount_rate:1,validity_days:365,status:1,sort:0}),O.value=!0}async function B(e){P.value=!0,Object.assign(N,{...e}),O.value=!0}async function V(){M.value&&await M.value.validate(async e=>{if(e){k.value=!0;try{P.value?(await _.update(N.id,N),g.success(`更新成功`)):(await _.create(N),g.success(`创建成功`)),O.value=!1,I()}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除储值卡「${e.name}」吗?`,`删除确认`,{type:`warning`}),await _.delete(e.id),g.success(`删除成功`),I()}function U(e){j.page=e,I()}function W(e){j.per_page=e,j.page=1,I()}return r(()=>I()),(r,l)=>{let d=i(`el-input`),h=i(`el-option`),g=i(`el-select`),_=i(`el-button`),w=i(`el-table-column`),I=i(`el-tag`),G=i(`el-table`),K=i(`el-pagination`),q=i(`el-form-item`),J=i(`el-input-number`),Y=i(`el-switch`),X=i(`el-form`),Z=i(`el-dialog`),Q=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:A.name,"onUpdate:modelValue":l[0]||=e=>A.name=e,placeholder:`储值卡名称`,style:{width:`180px`},clearable:``,onKeydown:m(L,[`enter`])},null,8,[`modelValue`]),p(g,{modelValue:A.status,"onUpdate:modelValue":l[1]||=e=>A.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(h,{label:`启用`,value:1}),p(h,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(_,{type:`primary`,onClick:L},{default:e(()=>[...l[13]||=[o(`查询`,-1)]]),_:1}),p(_,{onClick:R},{default:e(()=>[...l[14]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[16]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`储值卡列表`)],-1),p(_,{type:`primary`,onClick:z},{default:e(()=>[...l[15]||=[o(`新增储值卡`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(G,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`name`,label:`储值卡名称`,"min-width":`150`}),p(w,{prop:`face_value`,label:`面值`,width:`100`,align:`right`}),p(w,{prop:`sell_price`,label:`售价`,width:`100`,align:`right`}),p(w,{prop:`discount_rate`,label:`折扣率`,width:`90`,align:`center`}),p(w,{prop:`validity_days`,label:`有效期(天)`,width:`100`,align:`center`}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(I,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(w,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(_,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[17]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(_,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Q,D.value]])]),f(`div`,C,[p(K,{"current-page":j.page,"onUpdate:currentPage":l[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":l[3]||=e=>j.per_page=e,total:E.value,"page-sizes":[10,15,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:U,onSizeChange:W},null,8,[`current-page`,`page-size`,`total`])])]),p(Z,{modelValue:O.value,"onUpdate:modelValue":l[12]||=e=>O.value=e,title:P.value?`编辑储值卡`:`新增储值卡`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[p(_,{onClick:l[11]||=e=>O.value=!1},{default:e(()=>[...l[19]||=[o(`取消`,-1)]]),_:1}),p(_,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[...l[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(X,{ref_key:`formRef`,ref:M,model:N,rules:F,"label-width":`100px`},{default:e(()=>[p(q,{label:`储值卡名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:N.name,"onUpdate:modelValue":l[4]||=e=>N.name=e,placeholder:`请输入储值卡名称`},null,8,[`modelValue`])]),_:1}),p(q,{label:`面值`},{default:e(()=>[p(J,{modelValue:N.face_value,"onUpdate:modelValue":l[5]||=e=>N.face_value=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`售价`},{default:e(()=>[p(J,{modelValue:N.sell_price,"onUpdate:modelValue":l[6]||=e=>N.sell_price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`折扣率`},{default:e(()=>[p(J,{modelValue:N.discount_rate,"onUpdate:modelValue":l[7]||=e=>N.discount_rate=e,min:0,max:1,step:.01,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`有效期(天)`},{default:e(()=>[p(J,{modelValue:N.validity_days,"onUpdate:modelValue":l[8]||=e=>N.validity_days=e,min:1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`状态`},{default:e(()=>[p(Y,{modelValue:N.status,"onUpdate:modelValue":l[9]||=e=>N.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),p(q,{label:`排序`},{default:e(()=>[p(J,{modelValue:N.sort,"onUpdate:modelValue":l[10]||=e=>N.sort=e,min:0,max:999},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/profiles-Bcz4YuOY.js b/frontend/dist/assets/profiles-D7wJB7Sp.js similarity index 97% rename from frontend/dist/assets/profiles-Bcz4YuOY.js rename to frontend/dist/assets/profiles-D7wJB7Sp.js index de2db65..47c624b 100644 --- a/frontend/dist/assets/profiles-Bcz4YuOY.js +++ b/frontend/dist/assets/profiles-D7wJB7Sp.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as te,f as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as h,s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{r as _}from"./care-ChCKRopi.js";import{i as v}from"./crm-Do-MgkuV.js";var ne={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=l(!1),j=l(null),M=l([]),N=d({customer_id:``,type:``,risk_level:``}),P=d({page:1,per_page:20}),F=l(null),I=d({id:null,customer_id:``,type:1,baby_name:``,baby_gender:``,baby_birthday:``,birth_weight:``,birth_method:``,allergies:``,medical_history:``,risk_level:0,assessment:[]}),L=l(!1),re={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}]},R={1:`妈妈`,2:`宝宝`},z={1:`男`,2:`女`},B={1:`顺产`,2:`剖宫产`},V={0:`正常`,1:`低风险`,2:`高风险`},H={0:`success`,1:`warning`,2:`danger`};async function U(){D.value=!0;try{let e=await _.getList({...N,...P});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}async function W(){try{let e=await v.getList({per_page:500});M.value=e.data?.list||e.data?.data||[]}catch{}}function G(){P.page=1,U()}function K(){Object.assign(N,{customer_id:``,type:``,risk_level:``}),G()}function q(){L.value=!1,Object.assign(I,{id:null,customer_id:``,type:1,baby_name:``,baby_gender:``,baby_birthday:``,birth_weight:``,birth_method:``,allergies:``,medical_history:``,risk_level:0,assessment:[]}),O.value=!0}async function J(e){L.value=!0;let t=(await _.getDetail(e.id)).data;Object.assign(I,{id:t.id,customer_id:t.customer_id,type:t.type,baby_name:t.baby_name||``,baby_gender:t.baby_gender||``,baby_birthday:t.baby_birthday||``,birth_weight:t.birth_weight||``,birth_method:t.birth_method||``,allergies:t.allergies||``,medical_history:t.medical_history||``,risk_level:t.risk_level||0,assessment:t.assessment||[]}),O.value=!0}async function Y(){F.value&&await F.value.validate(async e=>{if(e){k.value=!0;try{L.value?await _.update(I.id,I):await _.create(I),g.success(L.value?`更新成功`:`创建成功`),O.value=!1,U()}finally{k.value=!1}}})}async function ie(e){j.value=(await _.getDetail(e.id)).data,A.value=!0}async function ae(e){await h.confirm(`确定删除该护理档案吗?`,`删除确认`,{type:`warning`}),await _.delete(e.id),g.success(`删除成功`),U()}function oe(e){P.page=e,U()}function se(e){P.per_page=e,P.page=1,U()}return ee(()=>{U(),W()}),(ee,l)=>{let d=r(`el-option`),h=r(`el-select`),g=r(`el-button`),_=r(`el-table-column`),v=r(`el-tag`),w=r(`el-table`),U=r(`el-pagination`),W=r(`el-form-item`),X=r(`el-col`),Z=r(`el-input`),ce=r(`el-date-picker`),Q=r(`el-input-number`),le=r(`el-row`),ue=r(`el-form`),de=r(`el-dialog`),$=r(`el-descriptions-item`),fe=r(`el-descriptions`),pe=r(`el-drawer`),me=t(`loading`);return n(),u(`div`,ne,[f(`div`,y,[p(h,{modelValue:N.customer_id,"onUpdate:modelValue":l[0]||=e=>N.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),u(c,null,m(M.value,e=>(n(),o(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),p(h,{modelValue:N.type,"onUpdate:modelValue":l[1]||=e=>N.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),u(c,null,m(R,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(h,{modelValue:N.risk_level,"onUpdate:modelValue":l[2]||=e=>N.risk_level=e,placeholder:`风险等级`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),u(c,null,m(V,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(g,{type:`primary`,onClick:G},{default:e(()=>[...l[18]||=[a(`查询`,-1)]]),_:1}),p(g,{onClick:K},{default:e(()=>[...l[19]||=[a(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[21]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(g,{type:`primary`,onClick:q},{default:e(()=>[...l[20]||=[a(`新增档案`,-1)]]),_:1})]),f(`div`,S,[te((n(),o(w,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(_,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.customer?.name||`-`),1)]),_:1}),p(_,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[p(v,{type:t.type===1?``:`success`,size:`small`},{default:e(()=>[a(i(R[t.type]),1)]),_:2},1032,[`type`])]),_:1}),p(_,{prop:`baby_name`,label:`宝宝名`,"min-width":`100`}),p(_,{label:`性别`,width:`70`,align:`center`},{default:e(({row:e})=>[a(i(z[e.baby_gender]||`-`),1)]),_:1}),p(_,{label:`分娩方式`,width:`90`},{default:e(({row:e})=>[a(i(B[e.birth_method]||`-`),1)]),_:1}),p(_,{label:`风险等级`,width:`90`,align:`center`},{default:e(({row:t})=>[p(v,{type:H[t.risk_level],size:`small`},{default:e(()=>[a(i(V[t.risk_level]),1)]),_:2},1032,[`type`])]),_:1}),p(_,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(g,{size:`small`,type:`primary`,text:``,onClick:e=>ie(t)},{default:e(()=>[...l[22]||=[a(`详情`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`primary`,text:``,onClick:e=>J(t)},{default:e(()=>[...l[23]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`danger`,text:``,onClick:e=>ae(t)},{default:e(()=>[...l[24]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[me,D.value]])]),f(`div`,C,[p(U,{"current-page":P.page,"onUpdate:currentPage":l[3]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":l[4]||=e=>P.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:oe,onSizeChange:se},null,8,[`current-page`,`page-size`,`total`])])]),p(de,{modelValue:O.value,"onUpdate:modelValue":l[16]||=e=>O.value=e,title:L.value?`编辑档案`:`新增档案`,width:`650px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[15]||=e=>O.value=!1},{default:e(()=>[...l[26]||=[a(`取消`,-1)]]),_:1}),p(g,{type:`primary`,loading:k.value,onClick:Y},{default:e(()=>[...l[27]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(ue,{ref_key:`formRef`,ref:F,model:I,rules:re,"label-width":`80px`},{default:e(()=>[p(le,{gutter:16},{default:e(()=>[p(X,{span:12},{default:e(()=>[p(W,{label:`客户`,prop:`customer_id`},{default:e(()=>[p(h,{modelValue:I.customer_id,"onUpdate:modelValue":l[5]||=e=>I.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),u(c,null,m(M.value,e=>(n(),o(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`类型`,prop:`type`},{default:e(()=>[p(h,{modelValue:I.type,"onUpdate:modelValue":l[6]||=e=>I.type=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(R,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),I.type===2?(n(),u(c,{key:0},[p(X,{span:12},{default:e(()=>[p(W,{label:`宝宝名`},{default:e(()=>[p(Z,{modelValue:I.baby_name,"onUpdate:modelValue":l[7]||=e=>I.baby_name=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`性别`},{default:e(()=>[p(h,{modelValue:I.baby_gender,"onUpdate:modelValue":l[8]||=e=>I.baby_gender=e,style:{width:`100%`}},{default:e(()=>[p(d,{label:`男`,value:1}),p(d,{label:`女`,value:2})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`出生日期`},{default:e(()=>[p(ce,{modelValue:I.baby_birthday,"onUpdate:modelValue":l[9]||=e=>I.baby_birthday=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`出生体重`},{default:e(()=>[p(Q,{modelValue:I.birth_weight,"onUpdate:modelValue":l[10]||=e=>I.birth_weight=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`]),l[25]||=f(`span`,{style:{"margin-left":`4px`}},`kg`,-1)]),_:1})]),_:1})],64)):s(``,!0),p(X,{span:12},{default:e(()=>[p(W,{label:`分娩方式`},{default:e(()=>[p(h,{modelValue:I.birth_method,"onUpdate:modelValue":l[11]||=e=>I.birth_method=e,clearable:``,style:{width:`100%`}},{default:e(()=>[p(d,{label:`顺产`,value:1}),p(d,{label:`剖宫产`,value:2})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`风险等级`},{default:e(()=>[p(h,{modelValue:I.risk_level,"onUpdate:modelValue":l[12]||=e=>I.risk_level=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(V,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`过敏史`},{default:e(()=>[p(Z,{modelValue:I.allergies,"onUpdate:modelValue":l[13]||=e=>I.allergies=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`病史`},{default:e(()=>[p(Z,{modelValue:I.medical_history,"onUpdate:modelValue":l[14]||=e=>I.medical_history=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),p(pe,{modelValue:A.value,"onUpdate:modelValue":l[17]||=e=>A.value=e,title:`护理档案详情`,size:`600px`},{default:e(()=>[j.value?(n(),u(c,{key:0},[p(fe,{column:2,border:``},{default:e(()=>[p($,{label:`客户`},{default:e(()=>[a(i(j.value.customer?.name),1)]),_:1}),p($,{label:`类型`},{default:e(()=>[a(i(R[j.value.type]),1)]),_:1}),p($,{label:`宝宝名`},{default:e(()=>[a(i(j.value.baby_name||`-`),1)]),_:1}),p($,{label:`风险等级`},{default:e(()=>[p(v,{type:H[j.value.risk_level],size:`small`},{default:e(()=>[a(i(V[j.value.risk_level]),1)]),_:1},8,[`type`])]),_:1}),p($,{label:`过敏史`},{default:e(()=>[a(i(j.value.allergies||`-`),1)]),_:1}),p($,{label:`病史`},{default:e(()=>[a(i(j.value.medical_history||`-`),1)]),_:1})]),_:1}),l[28]||=f(`h4`,{style:{margin:`16px 0 8px`}},`护理计划`,-1),p(w,{data:j.value.plans||[],border:``,size:`small`},{default:e(()=>[p(_,{prop:`plan_date`,label:`日期`,width:`110`}),p(_,{prop:`stage`,label:`阶段`}),p(_,{label:`护士`},{default:e(({row:e})=>[a(i(e.nurse?.name||`-`),1)]),_:1}),p(_,{label:`状态`,width:`80`},{default:e(({row:t})=>[p(v,{size:`small`},{default:e(()=>[a(i([`待执行`,`执行中`,`已完成`][t.status]),1)]),_:2},1024)]),_:1})]),_:1},8,[`data`])],64)):s(``,!0)]),_:1},8,[`modelValue`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as te,f as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{r as _}from"./care-BUQYu5B3.js";import{i as v}from"./crm-CvCW8IfR.js";var ne={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=l(!1),j=l(null),M=l([]),N=d({customer_id:``,type:``,risk_level:``}),P=d({page:1,per_page:20}),F=l(null),I=d({id:null,customer_id:``,type:1,baby_name:``,baby_gender:``,baby_birthday:``,birth_weight:``,birth_method:``,allergies:``,medical_history:``,risk_level:0,assessment:[]}),L=l(!1),re={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}]},R={1:`妈妈`,2:`宝宝`},z={1:`男`,2:`女`},B={1:`顺产`,2:`剖宫产`},V={0:`正常`,1:`低风险`,2:`高风险`},H={0:`success`,1:`warning`,2:`danger`};async function U(){D.value=!0;try{let e=await _.getList({...N,...P});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}async function W(){try{let e=await v.getList({per_page:500});M.value=e.data?.list||e.data?.data||[]}catch{}}function G(){P.page=1,U()}function K(){Object.assign(N,{customer_id:``,type:``,risk_level:``}),G()}function q(){L.value=!1,Object.assign(I,{id:null,customer_id:``,type:1,baby_name:``,baby_gender:``,baby_birthday:``,birth_weight:``,birth_method:``,allergies:``,medical_history:``,risk_level:0,assessment:[]}),O.value=!0}async function J(e){L.value=!0;let t=(await _.getDetail(e.id)).data;Object.assign(I,{id:t.id,customer_id:t.customer_id,type:t.type,baby_name:t.baby_name||``,baby_gender:t.baby_gender||``,baby_birthday:t.baby_birthday||``,birth_weight:t.birth_weight||``,birth_method:t.birth_method||``,allergies:t.allergies||``,medical_history:t.medical_history||``,risk_level:t.risk_level||0,assessment:t.assessment||[]}),O.value=!0}async function Y(){F.value&&await F.value.validate(async e=>{if(e){k.value=!0;try{L.value?await _.update(I.id,I):await _.create(I),g.success(L.value?`更新成功`:`创建成功`),O.value=!1,U()}finally{k.value=!1}}})}async function ie(e){j.value=(await _.getDetail(e.id)).data,A.value=!0}async function ae(e){await h.confirm(`确定删除该护理档案吗?`,`删除确认`,{type:`warning`}),await _.delete(e.id),g.success(`删除成功`),U()}function oe(e){P.page=e,U()}function se(e){P.per_page=e,P.page=1,U()}return ee(()=>{U(),W()}),(ee,l)=>{let d=r(`el-option`),h=r(`el-select`),g=r(`el-button`),_=r(`el-table-column`),v=r(`el-tag`),w=r(`el-table`),U=r(`el-pagination`),W=r(`el-form-item`),X=r(`el-col`),Z=r(`el-input`),ce=r(`el-date-picker`),Q=r(`el-input-number`),le=r(`el-row`),ue=r(`el-form`),de=r(`el-dialog`),$=r(`el-descriptions-item`),fe=r(`el-descriptions`),pe=r(`el-drawer`),me=t(`loading`);return n(),u(`div`,ne,[f(`div`,y,[p(h,{modelValue:N.customer_id,"onUpdate:modelValue":l[0]||=e=>N.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),u(c,null,m(M.value,e=>(n(),o(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),p(h,{modelValue:N.type,"onUpdate:modelValue":l[1]||=e=>N.type=e,placeholder:`类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),u(c,null,m(R,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(h,{modelValue:N.risk_level,"onUpdate:modelValue":l[2]||=e=>N.risk_level=e,placeholder:`风险等级`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),u(c,null,m(V,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(g,{type:`primary`,onClick:G},{default:e(()=>[...l[18]||=[a(`查询`,-1)]]),_:1}),p(g,{onClick:K},{default:e(()=>[...l[19]||=[a(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[21]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(g,{type:`primary`,onClick:q},{default:e(()=>[...l[20]||=[a(`新增档案`,-1)]]),_:1})]),f(`div`,S,[te((n(),o(w,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(_,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.customer?.name||`-`),1)]),_:1}),p(_,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[p(v,{type:t.type===1?``:`success`,size:`small`},{default:e(()=>[a(i(R[t.type]),1)]),_:2},1032,[`type`])]),_:1}),p(_,{prop:`baby_name`,label:`宝宝名`,"min-width":`100`}),p(_,{label:`性别`,width:`70`,align:`center`},{default:e(({row:e})=>[a(i(z[e.baby_gender]||`-`),1)]),_:1}),p(_,{label:`分娩方式`,width:`90`},{default:e(({row:e})=>[a(i(B[e.birth_method]||`-`),1)]),_:1}),p(_,{label:`风险等级`,width:`90`,align:`center`},{default:e(({row:t})=>[p(v,{type:H[t.risk_level],size:`small`},{default:e(()=>[a(i(V[t.risk_level]),1)]),_:2},1032,[`type`])]),_:1}),p(_,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(g,{size:`small`,type:`primary`,text:``,onClick:e=>ie(t)},{default:e(()=>[...l[22]||=[a(`详情`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`primary`,text:``,onClick:e=>J(t)},{default:e(()=>[...l[23]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),p(g,{size:`small`,type:`danger`,text:``,onClick:e=>ae(t)},{default:e(()=>[...l[24]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[me,D.value]])]),f(`div`,C,[p(U,{"current-page":P.page,"onUpdate:currentPage":l[3]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":l[4]||=e=>P.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:oe,onSizeChange:se},null,8,[`current-page`,`page-size`,`total`])])]),p(de,{modelValue:O.value,"onUpdate:modelValue":l[16]||=e=>O.value=e,title:L.value?`编辑档案`:`新增档案`,width:`650px`,"destroy-on-close":``},{footer:e(()=>[p(g,{onClick:l[15]||=e=>O.value=!1},{default:e(()=>[...l[26]||=[a(`取消`,-1)]]),_:1}),p(g,{type:`primary`,loading:k.value,onClick:Y},{default:e(()=>[...l[27]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(ue,{ref_key:`formRef`,ref:F,model:I,rules:re,"label-width":`80px`},{default:e(()=>[p(le,{gutter:16},{default:e(()=>[p(X,{span:12},{default:e(()=>[p(W,{label:`客户`,prop:`customer_id`},{default:e(()=>[p(h,{modelValue:I.customer_id,"onUpdate:modelValue":l[5]||=e=>I.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),u(c,null,m(M.value,e=>(n(),o(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`类型`,prop:`type`},{default:e(()=>[p(h,{modelValue:I.type,"onUpdate:modelValue":l[6]||=e=>I.type=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(R,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),I.type===2?(n(),u(c,{key:0},[p(X,{span:12},{default:e(()=>[p(W,{label:`宝宝名`},{default:e(()=>[p(Z,{modelValue:I.baby_name,"onUpdate:modelValue":l[7]||=e=>I.baby_name=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`性别`},{default:e(()=>[p(h,{modelValue:I.baby_gender,"onUpdate:modelValue":l[8]||=e=>I.baby_gender=e,style:{width:`100%`}},{default:e(()=>[p(d,{label:`男`,value:1}),p(d,{label:`女`,value:2})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`出生日期`},{default:e(()=>[p(ce,{modelValue:I.baby_birthday,"onUpdate:modelValue":l[9]||=e=>I.baby_birthday=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm:ss`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`出生体重`},{default:e(()=>[p(Q,{modelValue:I.birth_weight,"onUpdate:modelValue":l[10]||=e=>I.birth_weight=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`]),l[25]||=f(`span`,{style:{"margin-left":`4px`}},`kg`,-1)]),_:1})]),_:1})],64)):s(``,!0),p(X,{span:12},{default:e(()=>[p(W,{label:`分娩方式`},{default:e(()=>[p(h,{modelValue:I.birth_method,"onUpdate:modelValue":l[11]||=e=>I.birth_method=e,clearable:``,style:{width:`100%`}},{default:e(()=>[p(d,{label:`顺产`,value:1}),p(d,{label:`剖宫产`,value:2})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`风险等级`},{default:e(()=>[p(h,{modelValue:I.risk_level,"onUpdate:modelValue":l[12]||=e=>I.risk_level=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(V,(e,t)=>p(d,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`过敏史`},{default:e(()=>[p(Z,{modelValue:I.allergies,"onUpdate:modelValue":l[13]||=e=>I.allergies=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(W,{label:`病史`},{default:e(()=>[p(Z,{modelValue:I.medical_history,"onUpdate:modelValue":l[14]||=e=>I.medical_history=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),p(pe,{modelValue:A.value,"onUpdate:modelValue":l[17]||=e=>A.value=e,title:`护理档案详情`,size:`600px`},{default:e(()=>[j.value?(n(),u(c,{key:0},[p(fe,{column:2,border:``},{default:e(()=>[p($,{label:`客户`},{default:e(()=>[a(i(j.value.customer?.name),1)]),_:1}),p($,{label:`类型`},{default:e(()=>[a(i(R[j.value.type]),1)]),_:1}),p($,{label:`宝宝名`},{default:e(()=>[a(i(j.value.baby_name||`-`),1)]),_:1}),p($,{label:`风险等级`},{default:e(()=>[p(v,{type:H[j.value.risk_level],size:`small`},{default:e(()=>[a(i(V[j.value.risk_level]),1)]),_:1},8,[`type`])]),_:1}),p($,{label:`过敏史`},{default:e(()=>[a(i(j.value.allergies||`-`),1)]),_:1}),p($,{label:`病史`},{default:e(()=>[a(i(j.value.medical_history||`-`),1)]),_:1})]),_:1}),l[28]||=f(`h4`,{style:{margin:`16px 0 8px`}},`护理计划`,-1),p(w,{data:j.value.plans||[],border:``,size:`small`},{default:e(()=>[p(_,{prop:`plan_date`,label:`日期`,width:`110`}),p(_,{prop:`stage`,label:`阶段`}),p(_,{label:`护士`},{default:e(({row:e})=>[a(i(e.nurse?.name||`-`),1)]),_:1}),p(_,{label:`状态`,width:`80`},{default:e(({row:t})=>[p(v,{size:`small`},{default:e(()=>[a(i([`待执行`,`执行中`,`已完成`][t.status]),1)]),_:2},1024)]),_:1})]),_:1},8,[`data`])],64)):s(``,!0)]),_:1},8,[`modelValue`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/profiles-BYmx74HQ.js b/frontend/dist/assets/profiles-Dvw91znB.js similarity index 97% rename from frontend/dist/assets/profiles-BYmx74HQ.js rename to frontend/dist/assets/profiles-Dvw91znB.js index 9d8e6b3..5d9ce77 100644 --- a/frontend/dist/assets/profiles-BYmx74HQ.js +++ b/frontend/dist/assets/profiles-Dvw91znB.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as h,o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{n as v}from"./hr-CYqLK_6c.js";var te={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(`新增员工档案`),A=l(!1),j=d({employee_no:``,status:``}),M=d({page:1,per_page:20}),N=l(null),P=d({id:null,user_id:``,employee_no:``,hire_date:``,birth_date:``,gender:0,id_card:``,education:``,emergency_contact:``,emergency_phone:``,base_salary:0,position_salary:0,status:1}),F=l(!1),I={user_id:[{required:!0,message:`请输入用户ID`,trigger:`blur`}]},L={1:`在职`,2:`试用`,3:`离职`},R={1:`success`,2:`warning`,3:`danger`},z={0:`未知`,1:`男`,2:`女`};async function B(){D.value=!0;try{let e=await v.getList({...j,...M});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function V(){M.page=1,B()}function H(){Object.assign(j,{employee_no:``,status:``}),V()}function U(){F.value=!1,k.value=`新增员工档案`,Object.assign(P,{id:null,user_id:``,employee_no:``,hire_date:``,birth_date:``,gender:0,id_card:``,education:``,emergency_contact:``,emergency_phone:``,base_salary:0,position_salary:0,status:1}),O.value=!0}async function W(e){F.value=!0,k.value=`编辑员工档案`;let t=(await v.getDetail(e.id)).data;Object.assign(P,{id:t.id,user_id:t.user_id||``,employee_no:t.employee_no||``,hire_date:t.hire_date||``,birth_date:t.birth_date||``,gender:t.gender??0,id_card:t.id_card||``,education:t.education||``,emergency_contact:t.emergency_contact||``,emergency_phone:t.emergency_phone||``,base_salary:t.base_salary||0,position_salary:t.position_salary||0,status:t.status||1}),O.value=!0}async function G(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?(await v.update(P.id,P),_.success(`更新成功`)):(await v.create(P),_.success(`创建成功`)),O.value=!1,B()}finally{A.value=!1}}})}async function K(e){await g.confirm(`确定删除员工「${e.user?.name||e.employee_no}」的档案吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function q(e){M.page=e,B()}function J(e){M.per_page=e,M.page=1,B()}return ee(()=>B()),(ee,l)=>{let d=r(`el-input`),g=r(`el-option`),_=r(`el-select`),v=r(`el-button`),w=r(`el-table-column`),F=r(`el-tag`),B=r(`el-table`),Y=r(`el-pagination`),X=r(`el-form-item`),Z=r(`el-col`),Q=r(`el-date-picker`),$=r(`el-input-number`),ne=r(`el-row`),re=r(`el-form`),ie=r(`el-dialog`),ae=t(`loading`);return n(),u(`div`,te,[f(`div`,y,[p(d,{modelValue:j.employee_no,"onUpdate:modelValue":l[0]||=e=>j.employee_no=e,placeholder:`工号`,style:{width:`160px`},clearable:``,onKeydown:h(V,[`enter`])},null,8,[`modelValue`]),p(_,{modelValue:j.status,"onUpdate:modelValue":l[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),u(c,null,m(L,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(v,{type:`primary`,onClick:V},{default:e(()=>[...l[18]||=[a(`查询`,-1)]]),_:1}),p(v,{onClick:H},{default:e(()=>[...l[19]||=[a(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[21]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`员工档案列表`)],-1),p(v,{type:`primary`,onClick:U},{default:e(()=>[...l[20]||=[a(`新增员工档案`,-1)]]),_:1})]),f(`div`,S,[s((n(),o(B,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`employee_no`,label:`工号`,width:`120`}),p(w,{label:`姓名`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.user?.name||`-`),1)]),_:1}),p(w,{label:`性别`,width:`70`,align:`center`},{default:e(({row:e})=>[a(i(z[e.gender]||`未知`),1)]),_:1}),p(w,{prop:`hire_date`,label:`入职日期`,"min-width":`110`}),p(w,{prop:`education`,label:`学历`,width:`90`}),p(w,{prop:`base_salary`,label:`基本工资`,width:`100`,align:`right`}),p(w,{prop:`position_salary`,label:`岗位工资`,width:`100`,align:`right`}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(F,{type:R[t.status],size:`small`},{default:e(()=>[a(i(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),p(w,{label:`操作`,width:`140`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(v,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...l[22]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),p(v,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...l[23]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,D.value]])]),f(`div`,C,[p(Y,{"current-page":M.page,"onUpdate:currentPage":l[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":l[3]||=e=>M.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),p(ie,{modelValue:O.value,"onUpdate:modelValue":l[17]||=e=>O.value=e,title:k.value,width:`700px`,"destroy-on-close":``},{footer:e(()=>[p(v,{onClick:l[16]||=e=>O.value=!1},{default:e(()=>[...l[24]||=[a(`取消`,-1)]]),_:1}),p(v,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...l[25]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(re,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[p(ne,{gutter:16},{default:e(()=>[p(Z,{span:12},{default:e(()=>[p(X,{label:`用户ID`,prop:`user_id`},{default:e(()=>[p(d,{modelValue:P.user_id,"onUpdate:modelValue":l[4]||=e=>P.user_id=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`工号`},{default:e(()=>[p(d,{modelValue:P.employee_no,"onUpdate:modelValue":l[5]||=e=>P.employee_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`入职日期`},{default:e(()=>[p(Q,{modelValue:P.hire_date,"onUpdate:modelValue":l[6]||=e=>P.hire_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`出生日期`},{default:e(()=>[p(Q,{modelValue:P.birth_date,"onUpdate:modelValue":l[7]||=e=>P.birth_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`性别`},{default:e(()=>[p(_,{modelValue:P.gender,"onUpdate:modelValue":l[8]||=e=>P.gender=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(z,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`身份证号`},{default:e(()=>[p(d,{modelValue:P.id_card,"onUpdate:modelValue":l[9]||=e=>P.id_card=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`学历`},{default:e(()=>[p(d,{modelValue:P.education,"onUpdate:modelValue":l[10]||=e=>P.education=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`紧急联系人`},{default:e(()=>[p(d,{modelValue:P.emergency_contact,"onUpdate:modelValue":l[11]||=e=>P.emergency_contact=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`紧急电话`},{default:e(()=>[p(d,{modelValue:P.emergency_phone,"onUpdate:modelValue":l[12]||=e=>P.emergency_phone=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`基本工资`},{default:e(()=>[p($,{modelValue:P.base_salary,"onUpdate:modelValue":l[13]||=e=>P.base_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`岗位工资`},{default:e(()=>[p($,{modelValue:P.position_salary,"onUpdate:modelValue":l[14]||=e=>P.position_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`状态`},{default:e(()=>[p(_,{modelValue:P.status,"onUpdate:modelValue":l[15]||=e=>P.status=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(L,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as h,o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{n as v}from"./hr-BpuQE_Km.js";var te={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(`新增员工档案`),A=l(!1),j=d({employee_no:``,status:``}),M=d({page:1,per_page:20}),N=l(null),P=d({id:null,user_id:``,employee_no:``,hire_date:``,birth_date:``,gender:0,id_card:``,education:``,emergency_contact:``,emergency_phone:``,base_salary:0,position_salary:0,status:1}),F=l(!1),I={user_id:[{required:!0,message:`请输入用户ID`,trigger:`blur`}]},L={1:`在职`,2:`试用`,3:`离职`},R={1:`success`,2:`warning`,3:`danger`},z={0:`未知`,1:`男`,2:`女`};async function B(){D.value=!0;try{let e=await v.getList({...j,...M});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function V(){M.page=1,B()}function H(){Object.assign(j,{employee_no:``,status:``}),V()}function U(){F.value=!1,k.value=`新增员工档案`,Object.assign(P,{id:null,user_id:``,employee_no:``,hire_date:``,birth_date:``,gender:0,id_card:``,education:``,emergency_contact:``,emergency_phone:``,base_salary:0,position_salary:0,status:1}),O.value=!0}async function W(e){F.value=!0,k.value=`编辑员工档案`;let t=(await v.getDetail(e.id)).data;Object.assign(P,{id:t.id,user_id:t.user_id||``,employee_no:t.employee_no||``,hire_date:t.hire_date||``,birth_date:t.birth_date||``,gender:t.gender??0,id_card:t.id_card||``,education:t.education||``,emergency_contact:t.emergency_contact||``,emergency_phone:t.emergency_phone||``,base_salary:t.base_salary||0,position_salary:t.position_salary||0,status:t.status||1}),O.value=!0}async function G(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?(await v.update(P.id,P),_.success(`更新成功`)):(await v.create(P),_.success(`创建成功`)),O.value=!1,B()}finally{A.value=!1}}})}async function K(e){await g.confirm(`确定删除员工「${e.user?.name||e.employee_no}」的档案吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function q(e){M.page=e,B()}function J(e){M.per_page=e,M.page=1,B()}return ee(()=>B()),(ee,l)=>{let d=r(`el-input`),g=r(`el-option`),_=r(`el-select`),v=r(`el-button`),w=r(`el-table-column`),F=r(`el-tag`),B=r(`el-table`),Y=r(`el-pagination`),X=r(`el-form-item`),Z=r(`el-col`),Q=r(`el-date-picker`),$=r(`el-input-number`),ne=r(`el-row`),re=r(`el-form`),ie=r(`el-dialog`),ae=t(`loading`);return n(),u(`div`,te,[f(`div`,y,[p(d,{modelValue:j.employee_no,"onUpdate:modelValue":l[0]||=e=>j.employee_no=e,placeholder:`工号`,style:{width:`160px`},clearable:``,onKeydown:h(V,[`enter`])},null,8,[`modelValue`]),p(_,{modelValue:j.status,"onUpdate:modelValue":l[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),u(c,null,m(L,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(v,{type:`primary`,onClick:V},{default:e(()=>[...l[18]||=[a(`查询`,-1)]]),_:1}),p(v,{onClick:H},{default:e(()=>[...l[19]||=[a(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[21]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`员工档案列表`)],-1),p(v,{type:`primary`,onClick:U},{default:e(()=>[...l[20]||=[a(`新增员工档案`,-1)]]),_:1})]),f(`div`,S,[s((n(),o(B,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`employee_no`,label:`工号`,width:`120`}),p(w,{label:`姓名`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.user?.name||`-`),1)]),_:1}),p(w,{label:`性别`,width:`70`,align:`center`},{default:e(({row:e})=>[a(i(z[e.gender]||`未知`),1)]),_:1}),p(w,{prop:`hire_date`,label:`入职日期`,"min-width":`110`}),p(w,{prop:`education`,label:`学历`,width:`90`}),p(w,{prop:`base_salary`,label:`基本工资`,width:`100`,align:`right`}),p(w,{prop:`position_salary`,label:`岗位工资`,width:`100`,align:`right`}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(F,{type:R[t.status],size:`small`},{default:e(()=>[a(i(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),p(w,{label:`操作`,width:`140`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(v,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...l[22]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),p(v,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...l[23]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,D.value]])]),f(`div`,C,[p(Y,{"current-page":M.page,"onUpdate:currentPage":l[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":l[3]||=e=>M.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),p(ie,{modelValue:O.value,"onUpdate:modelValue":l[17]||=e=>O.value=e,title:k.value,width:`700px`,"destroy-on-close":``},{footer:e(()=>[p(v,{onClick:l[16]||=e=>O.value=!1},{default:e(()=>[...l[24]||=[a(`取消`,-1)]]),_:1}),p(v,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...l[25]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(re,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[p(ne,{gutter:16},{default:e(()=>[p(Z,{span:12},{default:e(()=>[p(X,{label:`用户ID`,prop:`user_id`},{default:e(()=>[p(d,{modelValue:P.user_id,"onUpdate:modelValue":l[4]||=e=>P.user_id=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`工号`},{default:e(()=>[p(d,{modelValue:P.employee_no,"onUpdate:modelValue":l[5]||=e=>P.employee_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`入职日期`},{default:e(()=>[p(Q,{modelValue:P.hire_date,"onUpdate:modelValue":l[6]||=e=>P.hire_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`出生日期`},{default:e(()=>[p(Q,{modelValue:P.birth_date,"onUpdate:modelValue":l[7]||=e=>P.birth_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`性别`},{default:e(()=>[p(_,{modelValue:P.gender,"onUpdate:modelValue":l[8]||=e=>P.gender=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(z,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`身份证号`},{default:e(()=>[p(d,{modelValue:P.id_card,"onUpdate:modelValue":l[9]||=e=>P.id_card=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`学历`},{default:e(()=>[p(d,{modelValue:P.education,"onUpdate:modelValue":l[10]||=e=>P.education=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`紧急联系人`},{default:e(()=>[p(d,{modelValue:P.emergency_contact,"onUpdate:modelValue":l[11]||=e=>P.emergency_contact=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`紧急电话`},{default:e(()=>[p(d,{modelValue:P.emergency_phone,"onUpdate:modelValue":l[12]||=e=>P.emergency_phone=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`基本工资`},{default:e(()=>[p($,{modelValue:P.base_salary,"onUpdate:modelValue":l[13]||=e=>P.base_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`岗位工资`},{default:e(()=>[p($,{modelValue:P.position_salary,"onUpdate:modelValue":l[14]||=e=>P.position_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`状态`},{default:e(()=>[p(_,{modelValue:P.status,"onUpdate:modelValue":l[15]||=e=>P.status=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(L,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/purchase-orders-y3mcpfPu.js b/frontend/dist/assets/purchase-orders-DJH82wSd.js similarity index 97% rename from frontend/dist/assets/purchase-orders-y3mcpfPu.js rename to frontend/dist/assets/purchase-orders-DJH82wSd.js index e8ded72..2ac3568 100644 --- a/frontend/dist/assets/purchase-orders-y3mcpfPu.js +++ b/frontend/dist/assets/purchase-orders-DJH82wSd.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,o as v,s as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{r as b}from"./inventory-BCukmUtW.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=p({order_no:``,status:``}),P=p({page:1,per_page:20}),F=d(null),I=p({id:null,order_no:``,supplier_id:``,total_amount:0,remark:``}),L=d(!1),R={order_no:[{required:!0,message:`请输入采购单号`,trigger:`blur`}]},z={0:`待审批`,2:`已通过`,4:`已驳回`},B={0:`warning`,2:`success`,4:`danger`};async function V(){A.value=!0;try{let e=await b.getList({...N,...P});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}function H(){P.page=1,V()}function U(){Object.assign(N,{order_no:``,status:``}),H()}function W(){L.value=!1,Object.assign(I,{id:null,order_no:``,supplier_id:``,total_amount:0,remark:``}),j.value=!0}async function G(e){if(e.status>=2){y.warning(`只能编辑待审批的采购单`);return}L.value=!0;let t=(await b.getDetail(e.id)).data;Object.assign(I,{id:t.id,order_no:t.order_no,supplier_id:t.supplier_id||``,total_amount:t.total_amount,remark:t.remark||``}),j.value=!0}async function K(){F.value&&await F.value.validate(async e=>{if(e){M.value=!0;try{L.value?(await b.update(I.id,I),y.success(`更新成功`)):(await b.create(I),y.success(`创建成功`)),j.value=!1,V()}finally{M.value=!1}}})}async function q(e){if(e.status>=2){y.warning(`只能删除待审批的采购单`);return}await v.confirm(`确定删除采购单「${e.order_no}」吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),y.success(`删除成功`),V()}async function J(e,t){let n=t===2?`确认通过?`:`确认驳回?`;await v.confirm(n,`审批确认`,{type:`warning`}),await b.audit(e.id,{status:t}),y.success(`操作成功`),V()}function Y(e){P.page=e,V()}function X(e){P.per_page=e,P.page=1,V()}return r(()=>V()),(r,d)=>{let p=i(`el-input`),v=i(`el-option`),y=i(`el-select`),b=i(`el-button`),D=i(`el-table-column`),V=i(`el-tag`),Z=i(`el-table`),Q=i(`el-pagination`),$=i(`el-form-item`),ee=i(`el-input-number`),te=i(`el-form`),ne=i(`el-dialog`),re=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(p,{modelValue:N.order_no,"onUpdate:modelValue":d[0]||=e=>N.order_no=e,placeholder:`采购单号`,style:{width:`180px`},clearable:``,onKeydown:_(H,[`enter`])},null,8,[`modelValue`]),h(y,{modelValue:N.status,"onUpdate:modelValue":d[1]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(z,(e,t)=>h(v,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(b,{type:`primary`,onClick:H},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1}),h(b,{onClick:U},{default:e(()=>[...d[11]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[13]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`采购单列表`)],-1),h(b,{type:`primary`,onClick:W},{default:e(()=>[...d[12]||=[o(`新增采购单`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(Z,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(D,{prop:`order_no`,label:`采购单号`,"min-width":`160`}),h(D,{label:`供应商`,"min-width":`140`},{default:e(({row:e})=>[o(a(e.supplier?.name||`-`),1)]),_:1}),h(D,{prop:`total_amount`,label:`总金额`,"min-width":`110`,align:`right`}),h(D,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(V,{type:B[t.status],size:`small`},{default:e(()=>[o(a(z[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(D,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(D,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(b,{key:0,size:`small`,type:`success`,text:``,onClick:e=>J(t,2)},{default:e(()=>[...d[14]||=[o(`审批通过`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(b,{key:1,size:`small`,type:`warning`,text:``,onClick:e=>J(t,4)},{default:e(()=>[...d[15]||=[o(`驳回`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(b,{key:2,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(b,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...d[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[re,A.value]])]),m(`div`,E,[h(Q,{"current-page":P.page,"onUpdate:currentPage":d[2]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":d[3]||=e=>P.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),h(ne,{modelValue:j.value,"onUpdate:modelValue":d[9]||=e=>j.value=e,title:L.value?`编辑采购单`:`新增采购单`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(b,{onClick:d[8]||=e=>j.value=!1},{default:e(()=>[...d[18]||=[o(`取消`,-1)]]),_:1}),h(b,{type:`primary`,loading:M.value,onClick:K},{default:e(()=>[...d[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(te,{ref_key:`formRef`,ref:F,model:I,rules:R,"label-width":`90px`},{default:e(()=>[h($,{label:`采购单号`,prop:`order_no`},{default:e(()=>[h(p,{modelValue:I.order_no,"onUpdate:modelValue":d[4]||=e=>I.order_no=e},null,8,[`modelValue`])]),_:1}),h($,{label:`供应商ID`},{default:e(()=>[h(p,{modelValue:I.supplier_id,"onUpdate:modelValue":d[5]||=e=>I.supplier_id=e,placeholder:`供应商ID`},null,8,[`modelValue`])]),_:1}),h($,{label:`总金额`},{default:e(()=>[h(ee,{modelValue:I.total_amount,"onUpdate:modelValue":d[6]||=e=>I.total_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h($,{label:`备注`},{default:e(()=>[h(p,{modelValue:I.remark,"onUpdate:modelValue":d[7]||=e=>I.remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,o as v,s as y}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{r as b}from"./inventory-BVEZNzEQ.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=p({order_no:``,status:``}),P=p({page:1,per_page:20}),F=d(null),I=p({id:null,order_no:``,supplier_id:``,total_amount:0,remark:``}),L=d(!1),R={order_no:[{required:!0,message:`请输入采购单号`,trigger:`blur`}]},z={0:`待审批`,2:`已通过`,4:`已驳回`},B={0:`warning`,2:`success`,4:`danger`};async function V(){A.value=!0;try{let e=await b.getList({...N,...P});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}function H(){P.page=1,V()}function U(){Object.assign(N,{order_no:``,status:``}),H()}function W(){L.value=!1,Object.assign(I,{id:null,order_no:``,supplier_id:``,total_amount:0,remark:``}),j.value=!0}async function G(e){if(e.status>=2){y.warning(`只能编辑待审批的采购单`);return}L.value=!0;let t=(await b.getDetail(e.id)).data;Object.assign(I,{id:t.id,order_no:t.order_no,supplier_id:t.supplier_id||``,total_amount:t.total_amount,remark:t.remark||``}),j.value=!0}async function K(){F.value&&await F.value.validate(async e=>{if(e){M.value=!0;try{L.value?(await b.update(I.id,I),y.success(`更新成功`)):(await b.create(I),y.success(`创建成功`)),j.value=!1,V()}finally{M.value=!1}}})}async function q(e){if(e.status>=2){y.warning(`只能删除待审批的采购单`);return}await v.confirm(`确定删除采购单「${e.order_no}」吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),y.success(`删除成功`),V()}async function J(e,t){let n=t===2?`确认通过?`:`确认驳回?`;await v.confirm(n,`审批确认`,{type:`warning`}),await b.audit(e.id,{status:t}),y.success(`操作成功`),V()}function Y(e){P.page=e,V()}function X(e){P.per_page=e,P.page=1,V()}return r(()=>V()),(r,d)=>{let p=i(`el-input`),v=i(`el-option`),y=i(`el-select`),b=i(`el-button`),D=i(`el-table-column`),V=i(`el-tag`),Z=i(`el-table`),Q=i(`el-pagination`),$=i(`el-form-item`),ee=i(`el-input-number`),te=i(`el-form`),ne=i(`el-dialog`),re=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(p,{modelValue:N.order_no,"onUpdate:modelValue":d[0]||=e=>N.order_no=e,placeholder:`采购单号`,style:{width:`180px`},clearable:``,onKeydown:_(H,[`enter`])},null,8,[`modelValue`]),h(y,{modelValue:N.status,"onUpdate:modelValue":d[1]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(z,(e,t)=>h(v,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(b,{type:`primary`,onClick:H},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1}),h(b,{onClick:U},{default:e(()=>[...d[11]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[13]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`采购单列表`)],-1),h(b,{type:`primary`,onClick:W},{default:e(()=>[...d[12]||=[o(`新增采购单`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(Z,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(D,{prop:`order_no`,label:`采购单号`,"min-width":`160`}),h(D,{label:`供应商`,"min-width":`140`},{default:e(({row:e})=>[o(a(e.supplier?.name||`-`),1)]),_:1}),h(D,{prop:`total_amount`,label:`总金额`,"min-width":`110`,align:`right`}),h(D,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(V,{type:B[t.status],size:`small`},{default:e(()=>[o(a(z[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(D,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(D,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(b,{key:0,size:`small`,type:`success`,text:``,onClick:e=>J(t,2)},{default:e(()=>[...d[14]||=[o(`审批通过`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(b,{key:1,size:`small`,type:`warning`,text:``,onClick:e=>J(t,4)},{default:e(()=>[...d[15]||=[o(`驳回`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(b,{key:2,size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(b,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...d[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[re,A.value]])]),m(`div`,E,[h(Q,{"current-page":P.page,"onUpdate:currentPage":d[2]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":d[3]||=e=>P.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),h(ne,{modelValue:j.value,"onUpdate:modelValue":d[9]||=e=>j.value=e,title:L.value?`编辑采购单`:`新增采购单`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(b,{onClick:d[8]||=e=>j.value=!1},{default:e(()=>[...d[18]||=[o(`取消`,-1)]]),_:1}),h(b,{type:`primary`,loading:M.value,onClick:K},{default:e(()=>[...d[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(te,{ref_key:`formRef`,ref:F,model:I,rules:R,"label-width":`90px`},{default:e(()=>[h($,{label:`采购单号`,prop:`order_no`},{default:e(()=>[h(p,{modelValue:I.order_no,"onUpdate:modelValue":d[4]||=e=>I.order_no=e},null,8,[`modelValue`])]),_:1}),h($,{label:`供应商ID`},{default:e(()=>[h(p,{modelValue:I.supplier_id,"onUpdate:modelValue":d[5]||=e=>I.supplier_id=e,placeholder:`供应商ID`},null,8,[`modelValue`])]),_:1}),h($,{label:`总金额`},{default:e(()=>[h(ee,{modelValue:I.total_amount,"onUpdate:modelValue":d[6]||=e=>I.total_amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h($,{label:`备注`},{default:e(()=>[h(p,{modelValue:I.remark,"onUpdate:modelValue":d[7]||=e=>I.remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/questionnaires-nFr8-Uv4.js b/frontend/dist/assets/questionnaires-DMGUlNJO.js similarity index 97% rename from frontend/dist/assets/questionnaires-nFr8-Uv4.js rename to frontend/dist/assets/questionnaires-DMGUlNJO.js index 434da3c..4325497 100644 --- a/frontend/dist/assets/questionnaires-nFr8-Uv4.js +++ b/frontend/dist/assets/questionnaires-DMGUlNJO.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as v,s as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as b,o as x}from"./crm-Do-MgkuV.js";var ee={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=f([]),k=f(0),A=f(!1),j=f(!1),M=f(`新建问卷`),N=f(!1),P=f(!1),F=f(null),I=f([]),L=m({customer_id:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({id:null,customer_id:``,title:``,score:80,status:`draft`}),V=f(!1),H={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],title:[{required:!0,message:`请输入问卷标题`,trigger:`blur`}],score:[{required:!0,message:`请输入评分`,trigger:`blur`}]},U={draft:`草稿`,sent:`已发送`,completed:`已完成`},W={draft:`info`,sent:`warning`,completed:`success`};async function G(){A.value=!0;try{let e=await x.getList({...L,...R});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function K(){try{let e=await b.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function q(){R.page=1,G()}function J(){Object.assign(L,{customer_id:``,status:``}),q()}function Y(){V.value=!1,M.value=`新建问卷`,Object.assign(B,{id:null,customer_id:``,title:``,score:80,status:`draft`}),j.value=!0}async function X(e){V.value=!0,M.value=`编辑问卷`;let t=(await x.getDetail(e.id)).data;Object.assign(B,{id:t.id,customer_id:t.customer_id,title:t.title,score:t.score,status:t.status}),j.value=!0}async function Z(e){F.value=(await x.getDetail(e.id)).data,P.value=!0}async function Q(){z.value&&await z.value.validate(async e=>{if(e){N.value=!0;try{V.value?(await x.update(B.id,B),y.success(`更新成功`)):(await x.create(B),y.success(`创建成功`)),j.value=!1,G()}finally{N.value=!1}}})}async function te(e){await v.confirm(`确定删除问卷「${e.title}」吗?`,`删除确认`,{type:`warning`}),await x.delete(e.id),y.success(`删除成功`),G()}function ne(e){R.page=e,G()}function re(e){R.per_page=e,R.page=1,G()}return r(()=>{G(),K()}),(r,f)=>{let m=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),x=i(`el-tag`),D=i(`el-table`),V=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),ie=i(`el-slider`),ae=i(`el-form`),oe=i(`el-dialog`),$=i(`el-descriptions-item`),se=i(`el-descriptions`),ce=i(`el-drawer`),le=t(`loading`);return n(),p(`div`,ee,[h(`div`,S,[g(v,{modelValue:L.customer_id,"onUpdate:modelValue":f[0]||=e=>L.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:L.status,"onUpdate:modelValue":f[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(d,null,_(U,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(y,{type:`primary`,onClick:q},{default:e(()=>[...f[11]||=[s(`查询`,-1)]]),_:1}),g(y,{onClick:J},{default:e(()=>[...f[12]||=[s(`重置`,-1)]]),_:1})]),h(`div`,C,[h(`div`,w,[f[14]||=h(`div`,{class:`flex items-center gap-2`},[h(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),h(`span`,{class:`font-medium text-gray-700`},`问卷列表`)],-1),g(y,{type:`primary`,onClick:Y},{default:e(()=>[...f[13]||=[s(`新建问卷`,-1)]]),_:1})]),h(`div`,T,[l((n(),c(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[g(b,{label:`客户`,"min-width":`110`},{default:e(({row:e})=>[s(o(e.customer_name||e.customer?.name||`-`),1)]),_:1}),g(b,{prop:`title`,label:`问卷标题`,"min-width":`180`,"show-overflow-tooltip":``}),g(b,{label:`满意度评分`,width:`110`,align:`center`},{default:e(({row:e})=>[h(`span`,{class:a([e.score>=80?`text-green-600`:e.score>=60?`text-yellow-500`:`text-red-500`,`font-semibold`])},o(e.score??`-`),3)]),_:1}),g(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[g(x,{type:W[t.status],size:`small`},{default:e(()=>[s(o(U[t.status]),1)]),_:2},1032,[`type`])]),_:1}),g(b,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),g(b,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(y,{size:`small`,type:`primary`,text:``,onClick:e=>Z(t)},{default:e(()=>[...f[15]||=[s(`详情`,-1)]]),_:1},8,[`onClick`]),g(y,{size:`small`,type:`primary`,text:``,onClick:e=>X(t)},{default:e(()=>[...f[16]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),g(y,{size:`small`,type:`danger`,text:``,onClick:e=>te(t)},{default:e(()=>[...f[17]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[le,A.value]])]),h(`div`,E,[g(V,{"current-page":R.page,"onUpdate:currentPage":f[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":f[3]||=e=>R.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ne,onSizeChange:re},null,8,[`current-page`,`page-size`,`total`])])]),g(oe,{modelValue:j.value,"onUpdate:modelValue":f[9]||=e=>j.value=e,title:M.value,width:`560px`,"destroy-on-close":``},{footer:e(()=>[g(y,{onClick:f[8]||=e=>j.value=!1},{default:e(()=>[...f[18]||=[s(`取消`,-1)]]),_:1}),g(y,{type:`primary`,loading:N.value,onClick:Q},{default:e(()=>[...f[19]||=[s(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(ae,{ref_key:`formRef`,ref:z,model:B,rules:H,"label-width":`90px`},{default:e(()=>[g(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[g(v,{modelValue:B.customer_id,"onUpdate:modelValue":f[4]||=e=>B.customer_id=e,filterable:``,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),g(G,{label:`问卷标题`,prop:`title`},{default:e(()=>[g(K,{modelValue:B.title,"onUpdate:modelValue":f[5]||=e=>B.title=e,placeholder:`请输入问卷标题`},null,8,[`modelValue`])]),_:1}),g(G,{label:`满意度评分`,prop:`score`},{default:e(()=>[g(ie,{modelValue:B.score,"onUpdate:modelValue":f[6]||=e=>B.score=e,min:0,max:100,step:1,"show-input":``,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),g(G,{label:`状态`},{default:e(()=>[g(v,{modelValue:B.status,"onUpdate:modelValue":f[7]||=e=>B.status=e,style:{width:`100%`}},{default:e(()=>[(n(),p(d,null,_(U,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),g(ce,{modelValue:P.value,"onUpdate:modelValue":f[10]||=e=>P.value=e,title:`问卷详情`,size:`480px`},{default:e(()=>[F.value?(n(),c(se,{key:0,column:2,border:``},{default:e(()=>[g($,{label:`客户`},{default:e(()=>[s(o(F.value.customer_name||F.value.customer?.name||`-`),1)]),_:1}),g($,{label:`标题`,span:2},{default:e(()=>[s(o(F.value.title),1)]),_:1}),g($,{label:`评分`},{default:e(()=>[h(`span`,{class:a(F.value.score>=80?`text-green-600 font-bold`:`text-yellow-500 font-bold`)},o(F.value.score),3)]),_:1}),g($,{label:`状态`},{default:e(()=>[g(x,{type:W[F.value.status],size:`small`},{default:e(()=>[s(o(U[F.value.status]),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`创建时间`,span:2},{default:e(()=>[s(o(F.value.created_at),1)]),_:1})]),_:1})):u(``,!0)]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as v,s as y}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as b,o as x}from"./crm-CvCW8IfR.js";var ee={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=f([]),k=f(0),A=f(!1),j=f(!1),M=f(`新建问卷`),N=f(!1),P=f(!1),F=f(null),I=f([]),L=m({customer_id:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({id:null,customer_id:``,title:``,score:80,status:`draft`}),V=f(!1),H={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],title:[{required:!0,message:`请输入问卷标题`,trigger:`blur`}],score:[{required:!0,message:`请输入评分`,trigger:`blur`}]},U={draft:`草稿`,sent:`已发送`,completed:`已完成`},W={draft:`info`,sent:`warning`,completed:`success`};async function G(){A.value=!0;try{let e=await x.getList({...L,...R});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}finally{A.value=!1}}async function K(){try{let e=await b.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function q(){R.page=1,G()}function J(){Object.assign(L,{customer_id:``,status:``}),q()}function Y(){V.value=!1,M.value=`新建问卷`,Object.assign(B,{id:null,customer_id:``,title:``,score:80,status:`draft`}),j.value=!0}async function X(e){V.value=!0,M.value=`编辑问卷`;let t=(await x.getDetail(e.id)).data;Object.assign(B,{id:t.id,customer_id:t.customer_id,title:t.title,score:t.score,status:t.status}),j.value=!0}async function Z(e){F.value=(await x.getDetail(e.id)).data,P.value=!0}async function Q(){z.value&&await z.value.validate(async e=>{if(e){N.value=!0;try{V.value?(await x.update(B.id,B),y.success(`更新成功`)):(await x.create(B),y.success(`创建成功`)),j.value=!1,G()}finally{N.value=!1}}})}async function te(e){await v.confirm(`确定删除问卷「${e.title}」吗?`,`删除确认`,{type:`warning`}),await x.delete(e.id),y.success(`删除成功`),G()}function ne(e){R.page=e,G()}function re(e){R.per_page=e,R.page=1,G()}return r(()=>{G(),K()}),(r,f)=>{let m=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-table-column`),x=i(`el-tag`),D=i(`el-table`),V=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),ie=i(`el-slider`),ae=i(`el-form`),oe=i(`el-dialog`),$=i(`el-descriptions-item`),se=i(`el-descriptions`),ce=i(`el-drawer`),le=t(`loading`);return n(),p(`div`,ee,[h(`div`,S,[g(v,{modelValue:L.customer_id,"onUpdate:modelValue":f[0]||=e=>L.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:L.status,"onUpdate:modelValue":f[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(d,null,_(U,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(y,{type:`primary`,onClick:q},{default:e(()=>[...f[11]||=[s(`查询`,-1)]]),_:1}),g(y,{onClick:J},{default:e(()=>[...f[12]||=[s(`重置`,-1)]]),_:1})]),h(`div`,C,[h(`div`,w,[f[14]||=h(`div`,{class:`flex items-center gap-2`},[h(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),h(`span`,{class:`font-medium text-gray-700`},`问卷列表`)],-1),g(y,{type:`primary`,onClick:Y},{default:e(()=>[...f[13]||=[s(`新建问卷`,-1)]]),_:1})]),h(`div`,T,[l((n(),c(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[g(b,{label:`客户`,"min-width":`110`},{default:e(({row:e})=>[s(o(e.customer_name||e.customer?.name||`-`),1)]),_:1}),g(b,{prop:`title`,label:`问卷标题`,"min-width":`180`,"show-overflow-tooltip":``}),g(b,{label:`满意度评分`,width:`110`,align:`center`},{default:e(({row:e})=>[h(`span`,{class:a([e.score>=80?`text-green-600`:e.score>=60?`text-yellow-500`:`text-red-500`,`font-semibold`])},o(e.score??`-`),3)]),_:1}),g(b,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[g(x,{type:W[t.status],size:`small`},{default:e(()=>[s(o(U[t.status]),1)]),_:2},1032,[`type`])]),_:1}),g(b,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),g(b,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[g(y,{size:`small`,type:`primary`,text:``,onClick:e=>Z(t)},{default:e(()=>[...f[15]||=[s(`详情`,-1)]]),_:1},8,[`onClick`]),g(y,{size:`small`,type:`primary`,text:``,onClick:e=>X(t)},{default:e(()=>[...f[16]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),g(y,{size:`small`,type:`danger`,text:``,onClick:e=>te(t)},{default:e(()=>[...f[17]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[le,A.value]])]),h(`div`,E,[g(V,{"current-page":R.page,"onUpdate:currentPage":f[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":f[3]||=e=>R.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ne,onSizeChange:re},null,8,[`current-page`,`page-size`,`total`])])]),g(oe,{modelValue:j.value,"onUpdate:modelValue":f[9]||=e=>j.value=e,title:M.value,width:`560px`,"destroy-on-close":``},{footer:e(()=>[g(y,{onClick:f[8]||=e=>j.value=!1},{default:e(()=>[...f[18]||=[s(`取消`,-1)]]),_:1}),g(y,{type:`primary`,loading:N.value,onClick:Q},{default:e(()=>[...f[19]||=[s(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(ae,{ref_key:`formRef`,ref:z,model:B,rules:H,"label-width":`90px`},{default:e(()=>[g(G,{label:`客户`,prop:`customer_id`},{default:e(()=>[g(v,{modelValue:B.customer_id,"onUpdate:modelValue":f[4]||=e=>B.customer_id=e,filterable:``,placeholder:`请选择客户`,style:{width:`100%`}},{default:e(()=>[(n(!0),p(d,null,_(I.value,e=>(n(),c(m,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),g(G,{label:`问卷标题`,prop:`title`},{default:e(()=>[g(K,{modelValue:B.title,"onUpdate:modelValue":f[5]||=e=>B.title=e,placeholder:`请输入问卷标题`},null,8,[`modelValue`])]),_:1}),g(G,{label:`满意度评分`,prop:`score`},{default:e(()=>[g(ie,{modelValue:B.score,"onUpdate:modelValue":f[6]||=e=>B.score=e,min:0,max:100,step:1,"show-input":``,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),g(G,{label:`状态`},{default:e(()=>[g(v,{modelValue:B.status,"onUpdate:modelValue":f[7]||=e=>B.status=e,style:{width:`100%`}},{default:e(()=>[(n(),p(d,null,_(U,(e,t)=>g(m,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),g(ce,{modelValue:P.value,"onUpdate:modelValue":f[10]||=e=>P.value=e,title:`问卷详情`,size:`480px`},{default:e(()=>[F.value?(n(),c(se,{key:0,column:2,border:``},{default:e(()=>[g($,{label:`客户`},{default:e(()=>[s(o(F.value.customer_name||F.value.customer?.name||`-`),1)]),_:1}),g($,{label:`标题`,span:2},{default:e(()=>[s(o(F.value.title),1)]),_:1}),g($,{label:`评分`},{default:e(()=>[h(`span`,{class:a(F.value.score>=80?`text-green-600 font-bold`:`text-yellow-500 font-bold`)},o(F.value.score),3)]),_:1}),g($,{label:`状态`},{default:e(()=>[g(x,{type:W[F.value.status],size:`small`},{default:e(()=>[s(o(U[F.value.status]),1)]),_:1},8,[`type`])]),_:1}),g($,{label:`创建时间`,span:2},{default:e(()=>[s(o(F.value.created_at),1)]),_:1})]),_:1})):u(``,!0)]),_:1},8,[`modelValue`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/records-D7BkIt-M.js b/frontend/dist/assets/records-FqbYbICo.js similarity index 96% rename from frontend/dist/assets/records-D7BkIt-M.js rename to frontend/dist/assets/records-FqbYbICo.js index 5018699..cacdcc6 100644 --- a/frontend/dist/assets/records-D7BkIt-M.js +++ b/frontend/dist/assets/records-FqbYbICo.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as _,r as v}from"./care-ChCKRopi.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u([]),M=f({care_profile_id:``,type:``}),N=f({page:1,per_page:20}),P=f({id:null,care_profile_id:``,care_plan_id:``,type:1,items:[],remark:``,images:[],recorded_at:``}),F=u(!1),I={1:`妈妈护理`,2:`宝宝护理`};async function L(){O.value=!0;try{let e=await _.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}async function R(){try{let e=await v.getList({per_page:500});j.value=e.data?.list||e.data?.data||[]}catch{}}function z(){N.page=1,L()}function B(){Object.assign(M,{care_profile_id:``,type:``}),z()}function V(){F.value=!1,Object.assign(P,{id:null,care_profile_id:``,care_plan_id:``,type:1,items:[],remark:``,images:[],recorded_at:``}),k.value=!0}async function H(e){F.value=!0,Object.assign(P,{id:e.id,care_profile_id:e.care_profile_id,care_plan_id:e.care_plan_id||``,type:e.type,items:e.items||[],remark:e.remark||``,images:e.images||[],recorded_at:e.recorded_at||``}),k.value=!0}async function U(){A.value=!0;try{F.value?await _.update(P.id,P):await _.create(P),g.success(F.value?`更新成功`:`创建成功`),k.value=!1,L()}finally{A.value=!1}}function W(e){N.page=e,L()}function G(e){N.per_page=e,N.page=1,L()}return r(()=>{L(),R()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-table`),L=i(`el-pagination`),R=i(`el-form-item`),K=i(`el-input`),q=i(`el-form`),J=i(`el-dialog`),Y=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:M.care_profile_id,"onUpdate:modelValue":u[0]||=e=>M.care_profile_id=e,placeholder:`护理档案`,clearable:``,filterable:``,style:{width:`200px`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:`${e.customer?.name||``} - ${e.type===1?`妈妈`:`宝宝`}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(g,{modelValue:M.type,"onUpdate:modelValue":u[1]||=e=>M.type=e,placeholder:`类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:z},{default:e(()=>[...u[9]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:B},{default:e(()=>[...u[10]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[12]||=p(`div`,{class:`flex items-center gap-3`},null,-1),m(_,{type:`primary`,onClick:V},{default:e(()=>[...u[11]||=[o(`新增记录`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(T,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(v,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.profile?.customer?.name||`-`),1)]),_:1}),m(v,{label:`类型`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(I[e.type]||`-`),1)]),_:1}),m(v,{label:`护士`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.nurse?.name||`-`),1)]),_:1}),m(v,{prop:`remark`,label:`备注`,"min-width":`200`,"show-overflow-tooltip":``}),m(v,{prop:`recorded_at`,label:`记录时间`,"min-width":`160`}),m(v,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(_,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...u[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Y,O.value]])]),p(`div`,w,[m(L,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:W,onSizeChange:G},null,8,[`current-page`,`page-size`,`total`])])]),m(J,{modelValue:k.value,"onUpdate:modelValue":u[8]||=e=>k.value=e,title:F.value?`编辑记录`:`新增记录`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[7]||=e=>k.value=!1},{default:e(()=>[...u[14]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:A.value,onClick:U},{default:e(()=>[...u[15]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(q,{model:P,"label-width":`80px`},{default:e(()=>[m(R,{label:`护理档案`},{default:e(()=>[m(g,{modelValue:P.care_profile_id,"onUpdate:modelValue":u[4]||=e=>P.care_profile_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:`${e.customer?.name||``} - ${e.type===1?`妈妈`:`宝宝`}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(R,{label:`类型`},{default:e(()=>[m(g,{modelValue:P.type,"onUpdate:modelValue":u[5]||=e=>P.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(R,{label:`备注`},{default:e(()=>[m(K,{modelValue:P.remark,"onUpdate:modelValue":u[6]||=e=>P.remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as _,r as v}from"./care-BUQYu5B3.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u([]),M=f({care_profile_id:``,type:``}),N=f({page:1,per_page:20}),P=f({id:null,care_profile_id:``,care_plan_id:``,type:1,items:[],remark:``,images:[],recorded_at:``}),F=u(!1),I={1:`妈妈护理`,2:`宝宝护理`};async function L(){O.value=!0;try{let e=await _.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}async function R(){try{let e=await v.getList({per_page:500});j.value=e.data?.list||e.data?.data||[]}catch{}}function z(){N.page=1,L()}function B(){Object.assign(M,{care_profile_id:``,type:``}),z()}function V(){F.value=!1,Object.assign(P,{id:null,care_profile_id:``,care_plan_id:``,type:1,items:[],remark:``,images:[],recorded_at:``}),k.value=!0}async function H(e){F.value=!0,Object.assign(P,{id:e.id,care_profile_id:e.care_profile_id,care_plan_id:e.care_plan_id||``,type:e.type,items:e.items||[],remark:e.remark||``,images:e.images||[],recorded_at:e.recorded_at||``}),k.value=!0}async function U(){A.value=!0;try{F.value?await _.update(P.id,P):await _.create(P),g.success(F.value?`更新成功`:`创建成功`),k.value=!1,L()}finally{A.value=!1}}function W(e){N.page=e,L()}function G(e){N.per_page=e,N.page=1,L()}return r(()=>{L(),R()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-table`),L=i(`el-pagination`),R=i(`el-form-item`),K=i(`el-input`),q=i(`el-form`),J=i(`el-dialog`),Y=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:M.care_profile_id,"onUpdate:modelValue":u[0]||=e=>M.care_profile_id=e,placeholder:`护理档案`,clearable:``,filterable:``,style:{width:`200px`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:`${e.customer?.name||``} - ${e.type===1?`妈妈`:`宝宝`}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(g,{modelValue:M.type,"onUpdate:modelValue":u[1]||=e=>M.type=e,placeholder:`类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:z},{default:e(()=>[...u[9]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:B},{default:e(()=>[...u[10]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[12]||=p(`div`,{class:`flex items-center gap-3`},null,-1),m(_,{type:`primary`,onClick:V},{default:e(()=>[...u[11]||=[o(`新增记录`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(T,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(v,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.profile?.customer?.name||`-`),1)]),_:1}),m(v,{label:`类型`,width:`100`,align:`center`},{default:e(({row:e})=>[o(a(I[e.type]||`-`),1)]),_:1}),m(v,{label:`护士`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.nurse?.name||`-`),1)]),_:1}),m(v,{prop:`remark`,label:`备注`,"min-width":`200`,"show-overflow-tooltip":``}),m(v,{prop:`recorded_at`,label:`记录时间`,"min-width":`160`}),m(v,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(_,{size:`small`,type:`primary`,text:``,onClick:e=>H(t)},{default:e(()=>[...u[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Y,O.value]])]),p(`div`,w,[m(L,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:W,onSizeChange:G},null,8,[`current-page`,`page-size`,`total`])])]),m(J,{modelValue:k.value,"onUpdate:modelValue":u[8]||=e=>k.value=e,title:F.value?`编辑记录`:`新增记录`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[7]||=e=>k.value=!1},{default:e(()=>[...u[14]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:A.value,onClick:U},{default:e(()=>[...u[15]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(q,{model:P,"label-width":`80px`},{default:e(()=>[m(R,{label:`护理档案`},{default:e(()=>[m(g,{modelValue:P.care_profile_id,"onUpdate:modelValue":u[4]||=e=>P.care_profile_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:`${e.customer?.name||``} - ${e.type===1?`妈妈`:`宝宝`}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(R,{label:`类型`},{default:e(()=>[m(g,{modelValue:P.type,"onUpdate:modelValue":u[5]||=e=>P.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(R,{label:`备注`},{default:e(()=>[m(K,{modelValue:P.remark,"onUpdate:modelValue":u[6]||=e=>P.remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/records-CQ-q5Ta1.js b/frontend/dist/assets/records-N35kQ2BC.js similarity index 98% rename from frontend/dist/assets/records-CQ-q5Ta1.js rename to frontend/dist/assets/records-N35kQ2BC.js index 1dd6c44..f00efae 100644 --- a/frontend/dist/assets/records-CQ-q5Ta1.js +++ b/frontend/dist/assets/records-N35kQ2BC.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as ee,f as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as te,o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as v}from"./finance-CoczR0xj.js";var y={class:`p-6 space-y-4`},ne={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},re={key:3,class:`text-muted`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=u([]),E=u(0),D=u(!1),O=u(!1),k=u(`新增收支记录`),A=u(!1),j=u(!1),M=u(null),N=u(!1),P=f({type:``,audit_status:``,record_no:``}),F=f({page:1,per_page:20}),I=u(null),L=f({id:null,record_no:``,type:``,category_id:``,amount:0,pay_method:``,description:``,record_date:``}),ie={record_no:[{required:!0,message:`请输入记录编号`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}],amount:[{required:!0,message:`请输入金额`,trigger:`blur`}],record_date:[{required:!0,message:`请选择日期`,trigger:`change`}]},R=f({status:1,audit_remark:``}),z={1:`收入`,2:`支出`},B={1:`success`,2:`danger`},V={0:`待审核`,1:`已通过`,2:`已驳回`},H={0:`warning`,1:`success`,2:`danger`},U={1:`现金`,2:`微信`,3:`支付宝`,4:`银行转账`};async function W(){D.value=!0;try{let e=await v.getList({...P,...F});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function G(){F.page=1,W()}function K(){Object.assign(P,{type:``,audit_status:``,record_no:``}),G()}function q(){N.value=!1,k.value=`新增收支记录`,Object.assign(L,{id:null,record_no:``,type:``,category_id:``,amount:0,pay_method:``,description:``,record_date:``}),O.value=!0}async function J(e){if(e.audit_status!==0){_.warning(`只能编辑待审核记录`);return}N.value=!0,k.value=`编辑收支记录`;let t=(await v.getDetail(e.id)).data;Object.assign(L,{id:t.id,record_no:t.record_no,type:t.type,category_id:t.category_id||``,amount:t.amount,pay_method:t.pay_method||``,description:t.description||``,record_date:t.record_date||``}),O.value=!0}async function ae(){I.value&&await I.value.validate(async e=>{if(e){A.value=!0;try{N.value?(await v.update(L.id,L),_.success(`更新成功`)):(await v.create(L),_.success(`创建成功`)),O.value=!1,W()}finally{A.value=!1}}})}async function oe(e){if(e.audit_status!==0){_.warning(`只能删除待审核记录`);return}await g.confirm(`确定删除该收支记录吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),W()}function se(e){M.value=e,Object.assign(R,{status:1,audit_remark:``}),j.value=!0}async function ce(){await v.audit(M.value.id,R),_.success(`审核完成`),j.value=!1,W()}function le(e){F.page=e,W()}function ue(e){F.per_page=e,F.page=1,W()}return r(()=>{W()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-input`),v=i(`el-button`),w=i(`el-table-column`),M=i(`el-tag`),N=i(`el-table`),W=i(`el-pagination`),Y=i(`el-form-item`),X=i(`el-col`),de=i(`el-input-number`),fe=i(`el-date-picker`),pe=i(`el-row`),Z=i(`el-form`),Q=i(`el-dialog`),$=i(`el-radio`),me=i(`el-radio-group`),he=t(`loading`);return n(),d(`div`,y,[p(`div`,ne,[m(g,{modelValue:P.type,"onUpdate:modelValue":u[0]||=e=>P.type=e,placeholder:`收支类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:P.audit_status,"onUpdate:modelValue":u[1]||=e=>P.audit_status=e,placeholder:`审核状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(V,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{modelValue:P.record_no,"onUpdate:modelValue":u[2]||=e=>P.record_no=e,placeholder:`记录编号`,style:{width:`180px`},clearable:``,onKeydown:te(G,[`enter`])},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:G},{default:e(()=>[...u[18]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:K},{default:e(()=>[...u[19]||=[o(`重置`,-1)]]),_:1})]),p(`div`,b,[p(`div`,x,[u[21]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`收支记录列表`)],-1),m(v,{type:`primary`,onClick:q},{default:e(()=>[...u[20]||=[o(`新增记录`,-1)]]),_:1})]),p(`div`,S,[ee((n(),s(N,{data:T.value,style:{width:`100%`}},{default:e(()=>[m(w,{prop:`record_no`,label:`记录编号`,"min-width":`150`}),m(w,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[m(M,{type:B[t.type],size:`small`},{default:e(()=>[o(a(z[t.type]||`-`),1)]),_:2},1032,[`type`])]),_:1}),m(w,{prop:`category`,label:`分类`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.category?.name||e.category||`-`),1)]),_:1}),m(w,{prop:`amount`,label:`金额`,"min-width":`110`,align:`right`}),m(w,{label:`支付方式`,width:`110`,align:`center`},{default:e(({row:e})=>[o(a(U[e.pay_method]||`-`),1)]),_:1}),m(w,{label:`审核状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(M,{type:H[t.audit_status],size:`small`},{default:e(()=>[o(a(V[t.audit_status]),1)]),_:2},1032,[`type`])]),_:1}),m(w,{prop:`record_date`,label:`记录日期`,"min-width":`120`}),m(w,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.audit_status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>se(t)},{default:e(()=>[...u[22]||=[o(`审核`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.audit_status===0?(n(),s(v,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>J(t)},{default:e(()=>[...u[23]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.audit_status===0?(n(),s(v,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>oe(t)},{default:e(()=>[...u[24]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.audit_status===0?c(``,!0):(n(),d(`span`,re,`-`))]),_:1})]),_:1},8,[`data`])),[[he,D.value]])]),p(`div`,C,[m(W,{"current-page":F.page,"onUpdate:currentPage":u[3]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":u[4]||=e=>F.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:le,onSizeChange:ue},null,8,[`current-page`,`page-size`,`total`])])]),m(Q,{modelValue:O.value,"onUpdate:modelValue":u[13]||=e=>O.value=e,title:k.value,width:`650px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[12]||=e=>O.value=!1},{default:e(()=>[...u[25]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:ae},{default:e(()=>[...u[26]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Z,{ref_key:`formRef`,ref:I,model:L,rules:ie,"label-width":`90px`},{default:e(()=>[m(pe,{gutter:16},{default:e(()=>[m(X,{span:12},{default:e(()=>[m(Y,{label:`记录编号`,prop:`record_no`},{default:e(()=>[m(_,{modelValue:L.record_no,"onUpdate:modelValue":u[5]||=e=>L.record_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:L.type,"onUpdate:modelValue":u[6]||=e=>L.type=e,placeholder:`选择类型`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`分类`},{default:e(()=>[m(_,{modelValue:L.category_id,"onUpdate:modelValue":u[7]||=e=>L.category_id=e,placeholder:`分类ID`},null,8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`金额`,prop:`amount`},{default:e(()=>[m(de,{modelValue:L.amount,"onUpdate:modelValue":u[8]||=e=>L.amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`支付方式`},{default:e(()=>[m(g,{modelValue:L.pay_method,"onUpdate:modelValue":u[9]||=e=>L.pay_method=e,placeholder:`选择支付方式`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(U,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`记录日期`,prop:`record_date`},{default:e(()=>[m(fe,{modelValue:L.record_date,"onUpdate:modelValue":u[10]||=e=>L.record_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:24},{default:e(()=>[m(Y,{label:`描述`},{default:e(()=>[m(_,{modelValue:L.description,"onUpdate:modelValue":u[11]||=e=>L.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m(Q,{modelValue:j.value,"onUpdate:modelValue":u[17]||=e=>j.value=e,title:`收支审核`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[16]||=e=>j.value=!1},{default:e(()=>[...u[29]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,onClick:ce},{default:e(()=>[...u[30]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[m(Z,{"label-width":`80px`},{default:e(()=>[m(Y,{label:`审核结果`},{default:e(()=>[m(me,{modelValue:R.status,"onUpdate:modelValue":u[14]||=e=>R.status=e},{default:e(()=>[m($,{value:1},{default:e(()=>[...u[27]||=[o(`通过`,-1)]]),_:1}),m($,{value:2},{default:e(()=>[...u[28]||=[o(`驳回`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),m(Y,{label:`审核备注`},{default:e(()=>[m(_,{modelValue:R.audit_remark,"onUpdate:modelValue":u[15]||=e=>R.audit_remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as ee,f as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as te,o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as v}from"./finance-xn2Nlkdw.js";var y={class:`p-6 space-y-4`},ne={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},re={key:3,class:`text-muted`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=u([]),E=u(0),D=u(!1),O=u(!1),k=u(`新增收支记录`),A=u(!1),j=u(!1),M=u(null),N=u(!1),P=f({type:``,audit_status:``,record_no:``}),F=f({page:1,per_page:20}),I=u(null),L=f({id:null,record_no:``,type:``,category_id:``,amount:0,pay_method:``,description:``,record_date:``}),ie={record_no:[{required:!0,message:`请输入记录编号`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}],amount:[{required:!0,message:`请输入金额`,trigger:`blur`}],record_date:[{required:!0,message:`请选择日期`,trigger:`change`}]},R=f({status:1,audit_remark:``}),z={1:`收入`,2:`支出`},B={1:`success`,2:`danger`},V={0:`待审核`,1:`已通过`,2:`已驳回`},H={0:`warning`,1:`success`,2:`danger`},U={1:`现金`,2:`微信`,3:`支付宝`,4:`银行转账`};async function W(){D.value=!0;try{let e=await v.getList({...P,...F});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function G(){F.page=1,W()}function K(){Object.assign(P,{type:``,audit_status:``,record_no:``}),G()}function q(){N.value=!1,k.value=`新增收支记录`,Object.assign(L,{id:null,record_no:``,type:``,category_id:``,amount:0,pay_method:``,description:``,record_date:``}),O.value=!0}async function J(e){if(e.audit_status!==0){_.warning(`只能编辑待审核记录`);return}N.value=!0,k.value=`编辑收支记录`;let t=(await v.getDetail(e.id)).data;Object.assign(L,{id:t.id,record_no:t.record_no,type:t.type,category_id:t.category_id||``,amount:t.amount,pay_method:t.pay_method||``,description:t.description||``,record_date:t.record_date||``}),O.value=!0}async function ae(){I.value&&await I.value.validate(async e=>{if(e){A.value=!0;try{N.value?(await v.update(L.id,L),_.success(`更新成功`)):(await v.create(L),_.success(`创建成功`)),O.value=!1,W()}finally{A.value=!1}}})}async function oe(e){if(e.audit_status!==0){_.warning(`只能删除待审核记录`);return}await g.confirm(`确定删除该收支记录吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),W()}function se(e){M.value=e,Object.assign(R,{status:1,audit_remark:``}),j.value=!0}async function ce(){await v.audit(M.value.id,R),_.success(`审核完成`),j.value=!1,W()}function le(e){F.page=e,W()}function ue(e){F.per_page=e,F.page=1,W()}return r(()=>{W()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-input`),v=i(`el-button`),w=i(`el-table-column`),M=i(`el-tag`),N=i(`el-table`),W=i(`el-pagination`),Y=i(`el-form-item`),X=i(`el-col`),de=i(`el-input-number`),fe=i(`el-date-picker`),pe=i(`el-row`),Z=i(`el-form`),Q=i(`el-dialog`),$=i(`el-radio`),me=i(`el-radio-group`),he=t(`loading`);return n(),d(`div`,y,[p(`div`,ne,[m(g,{modelValue:P.type,"onUpdate:modelValue":u[0]||=e=>P.type=e,placeholder:`收支类型`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:P.audit_status,"onUpdate:modelValue":u[1]||=e=>P.audit_status=e,placeholder:`审核状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(V,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{modelValue:P.record_no,"onUpdate:modelValue":u[2]||=e=>P.record_no=e,placeholder:`记录编号`,style:{width:`180px`},clearable:``,onKeydown:te(G,[`enter`])},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:G},{default:e(()=>[...u[18]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:K},{default:e(()=>[...u[19]||=[o(`重置`,-1)]]),_:1})]),p(`div`,b,[p(`div`,x,[u[21]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`收支记录列表`)],-1),m(v,{type:`primary`,onClick:q},{default:e(()=>[...u[20]||=[o(`新增记录`,-1)]]),_:1})]),p(`div`,S,[ee((n(),s(N,{data:T.value,style:{width:`100%`}},{default:e(()=>[m(w,{prop:`record_no`,label:`记录编号`,"min-width":`150`}),m(w,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[m(M,{type:B[t.type],size:`small`},{default:e(()=>[o(a(z[t.type]||`-`),1)]),_:2},1032,[`type`])]),_:1}),m(w,{prop:`category`,label:`分类`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.category?.name||e.category||`-`),1)]),_:1}),m(w,{prop:`amount`,label:`金额`,"min-width":`110`,align:`right`}),m(w,{label:`支付方式`,width:`110`,align:`center`},{default:e(({row:e})=>[o(a(U[e.pay_method]||`-`),1)]),_:1}),m(w,{label:`审核状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(M,{type:H[t.audit_status],size:`small`},{default:e(()=>[o(a(V[t.audit_status]),1)]),_:2},1032,[`type`])]),_:1}),m(w,{prop:`record_date`,label:`记录日期`,"min-width":`120`}),m(w,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.audit_status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>se(t)},{default:e(()=>[...u[22]||=[o(`审核`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.audit_status===0?(n(),s(v,{key:1,size:`small`,type:`primary`,text:``,onClick:e=>J(t)},{default:e(()=>[...u[23]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.audit_status===0?(n(),s(v,{key:2,size:`small`,type:`danger`,text:``,onClick:e=>oe(t)},{default:e(()=>[...u[24]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):c(``,!0),t.audit_status===0?c(``,!0):(n(),d(`span`,re,`-`))]),_:1})]),_:1},8,[`data`])),[[he,D.value]])]),p(`div`,C,[m(W,{"current-page":F.page,"onUpdate:currentPage":u[3]||=e=>F.page=e,"page-size":F.per_page,"onUpdate:pageSize":u[4]||=e=>F.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:le,onSizeChange:ue},null,8,[`current-page`,`page-size`,`total`])])]),m(Q,{modelValue:O.value,"onUpdate:modelValue":u[13]||=e=>O.value=e,title:k.value,width:`650px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[12]||=e=>O.value=!1},{default:e(()=>[...u[25]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:ae},{default:e(()=>[...u[26]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(Z,{ref_key:`formRef`,ref:I,model:L,rules:ie,"label-width":`90px`},{default:e(()=>[m(pe,{gutter:16},{default:e(()=>[m(X,{span:12},{default:e(()=>[m(Y,{label:`记录编号`,prop:`record_no`},{default:e(()=>[m(_,{modelValue:L.record_no,"onUpdate:modelValue":u[5]||=e=>L.record_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:L.type,"onUpdate:modelValue":u[6]||=e=>L.type=e,placeholder:`选择类型`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`分类`},{default:e(()=>[m(_,{modelValue:L.category_id,"onUpdate:modelValue":u[7]||=e=>L.category_id=e,placeholder:`分类ID`},null,8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`金额`,prop:`amount`},{default:e(()=>[m(de,{modelValue:L.amount,"onUpdate:modelValue":u[8]||=e=>L.amount=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`支付方式`},{default:e(()=>[m(g,{modelValue:L.pay_method,"onUpdate:modelValue":u[9]||=e=>L.pay_method=e,placeholder:`选择支付方式`,clearable:``,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(U,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:12},{default:e(()=>[m(Y,{label:`记录日期`,prop:`record_date`},{default:e(()=>[m(fe,{modelValue:L.record_date,"onUpdate:modelValue":u[10]||=e=>L.record_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),m(X,{span:24},{default:e(()=>[m(Y,{label:`描述`},{default:e(()=>[m(_,{modelValue:L.description,"onUpdate:modelValue":u[11]||=e=>L.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),m(Q,{modelValue:j.value,"onUpdate:modelValue":u[17]||=e=>j.value=e,title:`收支审核`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[16]||=e=>j.value=!1},{default:e(()=>[...u[29]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,onClick:ce},{default:e(()=>[...u[30]||=[o(`确定`,-1)]]),_:1})]),default:e(()=>[m(Z,{"label-width":`80px`},{default:e(()=>[m(Y,{label:`审核结果`},{default:e(()=>[m(me,{modelValue:R.status,"onUpdate:modelValue":u[14]||=e=>R.status=e},{default:e(()=>[m($,{value:1},{default:e(()=>[...u[27]||=[o(`通过`,-1)]]),_:1}),m($,{value:2},{default:e(()=>[...u[28]||=[o(`驳回`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),m(Y,{label:`审核备注`},{default:e(()=>[m(_,{modelValue:R.audit_remark,"onUpdate:modelValue":u[15]||=e=>R.audit_remark=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/register-DkbZcE0x.js b/frontend/dist/assets/register-CDFAtgib.js similarity index 98% rename from frontend/dist/assets/register-DkbZcE0x.js rename to frontend/dist/assets/register-CDFAtgib.js index 74c1e96..3c61e6c 100644 --- a/frontend/dist/assets/register-DkbZcE0x.js +++ b/frontend/dist/assets/register-CDFAtgib.js @@ -1 +1 @@ -import{$ as e,L as t,P as n,V as r,Wt as i,_ as a,d as o,f as s,h as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{i as g,s as _}from"./index-ZRE77JpD.js";import{t as v}from"./axios-Cty4xAHp.js";var y={class:`min-h-screen bg-gradient-to-br from-pink-50 to-purple-50 flex items-center justify-center p-4`},b={class:`bg-white rounded-3xl shadow-xl w-full max-w-md p-8`},x={key:0,class:`text-gray-400 text-xs ml-2`},S={class:`text-center mt-6 text-sm text-gray-400`},C={__name:`index`,setup(C){let w=g(),T=u(!1),E=u(!1),D=u([]),O=u([]),k=f({store_id:``,registration_package_id:``,username:``,password:``,name:``,phone:``}),A=u(null),j={store_id:[{required:!0,message:`请选择门店`,trigger:`change`}],registration_package_id:[{required:!0,message:`请选择岗位套餐`,trigger:`change`}],username:[{required:!0,message:`请输入登录账号`,trigger:`blur`},{min:2,max:50,message:`2-50个字符`,trigger:`blur`}],password:[{required:!0,message:`请输入密码`,trigger:`blur`},{min:6,message:`密码不少于6位`,trigger:`blur`}],name:[{required:!0,message:`请输入真实姓名`,trigger:`blur`}],phone:[{required:!0,message:`请输入手机号`,trigger:`blur`},{pattern:/^1[3-9]\d{9}$/,message:`手机号格式不正确`,trigger:`blur`}]};async function M(){try{O.value=(await v.get(`/api/v1/auth/stores`)).data?.data||[]}catch{}}async function N(){if(k.store_id){E.value=!0,k.registration_package_id=``;try{D.value=(await v.get(`/api/v1/auth/register/packages`,{params:{store_id:k.store_id}})).data?.data||[]}catch{D.value=[]}finally{E.value=!1}}}async function P(){A.value&&await A.value.validate(async e=>{if(e){T.value=!0;try{await v.post(`/api/v1/auth/register`,k),_.success(`注册成功!请等待管理员审核后登录`),setTimeout(()=>w.push(`/login`),1500)}catch(e){let t=e.response?.data?.message||`注册失败,请稍后重试`;_.error(t)}finally{T.value=!1}}})}return n(M),(n,u)=>{let f=r(`el-option`),g=r(`el-select`),_=r(`el-form-item`),v=r(`el-input`),C=r(`el-col`),w=r(`el-row`),M=r(`el-button`),F=r(`el-form`),I=r(`router-link`);return t(),d(`div`,y,[p(`div`,b,[u[10]||=p(`div`,{class:`text-center mb-8`},[p(`div`,{class:`text-3xl mb-1`},`🏠`),p(`h1`,{class:`text-2xl font-bold text-gray-800`},`宫中有喜`),p(`p`,{class:`text-sm text-gray-400 mt-1`},`月子会所管理系统 · 员工注册`)],-1),m(F,{ref_key:`formRef`,ref:A,model:k,rules:j,"label-position":`top`},{default:e(()=>[m(_,{label:`所属门店`,prop:`store_id`},{default:e(()=>[m(g,{modelValue:k.store_id,"onUpdate:modelValue":u[0]||=e=>k.store_id=e,placeholder:`请选择门店`,style:{width:`100%`},onChange:N},{default:e(()=>[(t(!0),d(l,null,h(O.value,e=>(t(),o(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(_,{label:`申请岗位`,prop:`registration_package_id`},{default:e(()=>[m(g,{modelValue:k.registration_package_id,"onUpdate:modelValue":u[1]||=e=>k.registration_package_id=e,placeholder:`请先选择门店`,style:{width:`100%`},loading:E.value,disabled:!k.store_id},c({default:e(()=>[(t(!0),d(l,null,h(D.value,n=>(t(),o(f,{key:n.id,label:n.name,value:n.id},{default:e(()=>[p(`span`,null,i(n.name),1),n.description?(t(),d(`span`,x,i(n.description),1)):s(``,!0)]),_:2},1032,[`label`,`value`]))),128))]),_:2},[D.value.length===0&&k.store_id&&!E.value?{name:`empty`,fn:e(()=>[u[6]||=p(`div`,{class:`text-center py-4 text-gray-400 text-sm`},`该门店暂无可用套餐`,-1)]),key:`0`}:void 0]),1032,[`modelValue`,`loading`,`disabled`])]),_:1}),m(w,{gutter:12},{default:e(()=>[m(C,{span:12},{default:e(()=>[m(_,{label:`登录账号`,prop:`username`},{default:e(()=>[m(v,{modelValue:k.username,"onUpdate:modelValue":u[2]||=e=>k.username=e,placeholder:`字母/数字`},null,8,[`modelValue`])]),_:1})]),_:1}),m(C,{span:12},{default:e(()=>[m(_,{label:`登录密码`,prop:`password`},{default:e(()=>[m(v,{modelValue:k.password,"onUpdate:modelValue":u[3]||=e=>k.password=e,type:`password`,placeholder:`不少于6位`,"show-password":``},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),m(w,{gutter:12},{default:e(()=>[m(C,{span:12},{default:e(()=>[m(_,{label:`真实姓名`,prop:`name`},{default:e(()=>[m(v,{modelValue:k.name,"onUpdate:modelValue":u[4]||=e=>k.name=e,placeholder:`请输入姓名`},null,8,[`modelValue`])]),_:1})]),_:1}),m(C,{span:12},{default:e(()=>[m(_,{label:`手机号`,prop:`phone`},{default:e(()=>[m(v,{modelValue:k.phone,"onUpdate:modelValue":u[5]||=e=>k.phone=e,placeholder:`11位手机号`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),m(M,{type:`primary`,style:{width:`100%`,"margin-top":`8px`},loading:T.value,onClick:P},{default:e(()=>[...u[7]||=[a(` 提交注册申请 `,-1)]]),_:1},8,[`loading`])]),_:1},8,[`model`]),p(`div`,S,[u[9]||=a(` 已有账号? `,-1),m(I,{to:`/login`,class:`text-blue-500 hover:underline`},{default:e(()=>[...u[8]||=[a(`立即登录`,-1)]]),_:1})]),u[11]||=p(`div`,{class:`mt-4 p-3 bg-amber-50 rounded-xl text-xs text-amber-600 leading-relaxed`},` ⚠️ 注册后需管理员审核,审核通过后方可登录系统 `,-1)])])}}};export{C as default}; \ No newline at end of file +import{$ as e,L as t,P as n,V as r,Wt as i,_ as a,d as o,f as s,h as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{i as g,s as _}from"./index-3YculFMX.js";import{t as v}from"./axios-M7beJlyD.js";var y={class:`min-h-screen bg-gradient-to-br from-pink-50 to-purple-50 flex items-center justify-center p-4`},b={class:`bg-white rounded-3xl shadow-xl w-full max-w-md p-8`},x={key:0,class:`text-gray-400 text-xs ml-2`},S={class:`text-center mt-6 text-sm text-gray-400`},C={__name:`index`,setup(C){let w=g(),T=u(!1),E=u(!1),D=u([]),O=u([]),k=f({store_id:``,registration_package_id:``,username:``,password:``,name:``,phone:``}),A=u(null),j={store_id:[{required:!0,message:`请选择门店`,trigger:`change`}],registration_package_id:[{required:!0,message:`请选择岗位套餐`,trigger:`change`}],username:[{required:!0,message:`请输入登录账号`,trigger:`blur`},{min:2,max:50,message:`2-50个字符`,trigger:`blur`}],password:[{required:!0,message:`请输入密码`,trigger:`blur`},{min:6,message:`密码不少于6位`,trigger:`blur`}],name:[{required:!0,message:`请输入真实姓名`,trigger:`blur`}],phone:[{required:!0,message:`请输入手机号`,trigger:`blur`},{pattern:/^1[3-9]\d{9}$/,message:`手机号格式不正确`,trigger:`blur`}]};async function M(){try{O.value=(await v.get(`/api/v1/auth/stores`)).data?.data||[]}catch{}}async function N(){if(k.store_id){E.value=!0,k.registration_package_id=``;try{D.value=(await v.get(`/api/v1/auth/register/packages`,{params:{store_id:k.store_id}})).data?.data||[]}catch{D.value=[]}finally{E.value=!1}}}async function P(){A.value&&await A.value.validate(async e=>{if(e){T.value=!0;try{await v.post(`/api/v1/auth/register`,k),_.success(`注册成功!请等待管理员审核后登录`),setTimeout(()=>w.push(`/login`),1500)}catch(e){let t=e.response?.data?.message||`注册失败,请稍后重试`;_.error(t)}finally{T.value=!1}}})}return n(M),(n,u)=>{let f=r(`el-option`),g=r(`el-select`),_=r(`el-form-item`),v=r(`el-input`),C=r(`el-col`),w=r(`el-row`),M=r(`el-button`),F=r(`el-form`),I=r(`router-link`);return t(),d(`div`,y,[p(`div`,b,[u[10]||=p(`div`,{class:`text-center mb-8`},[p(`div`,{class:`text-3xl mb-1`},`🏠`),p(`h1`,{class:`text-2xl font-bold text-gray-800`},`宫中有喜`),p(`p`,{class:`text-sm text-gray-400 mt-1`},`月子会所管理系统 · 员工注册`)],-1),m(F,{ref_key:`formRef`,ref:A,model:k,rules:j,"label-position":`top`},{default:e(()=>[m(_,{label:`所属门店`,prop:`store_id`},{default:e(()=>[m(g,{modelValue:k.store_id,"onUpdate:modelValue":u[0]||=e=>k.store_id=e,placeholder:`请选择门店`,style:{width:`100%`},onChange:N},{default:e(()=>[(t(!0),d(l,null,h(O.value,e=>(t(),o(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(_,{label:`申请岗位`,prop:`registration_package_id`},{default:e(()=>[m(g,{modelValue:k.registration_package_id,"onUpdate:modelValue":u[1]||=e=>k.registration_package_id=e,placeholder:`请先选择门店`,style:{width:`100%`},loading:E.value,disabled:!k.store_id},c({default:e(()=>[(t(!0),d(l,null,h(D.value,n=>(t(),o(f,{key:n.id,label:n.name,value:n.id},{default:e(()=>[p(`span`,null,i(n.name),1),n.description?(t(),d(`span`,x,i(n.description),1)):s(``,!0)]),_:2},1032,[`label`,`value`]))),128))]),_:2},[D.value.length===0&&k.store_id&&!E.value?{name:`empty`,fn:e(()=>[u[6]||=p(`div`,{class:`text-center py-4 text-gray-400 text-sm`},`该门店暂无可用套餐`,-1)]),key:`0`}:void 0]),1032,[`modelValue`,`loading`,`disabled`])]),_:1}),m(w,{gutter:12},{default:e(()=>[m(C,{span:12},{default:e(()=>[m(_,{label:`登录账号`,prop:`username`},{default:e(()=>[m(v,{modelValue:k.username,"onUpdate:modelValue":u[2]||=e=>k.username=e,placeholder:`字母/数字`},null,8,[`modelValue`])]),_:1})]),_:1}),m(C,{span:12},{default:e(()=>[m(_,{label:`登录密码`,prop:`password`},{default:e(()=>[m(v,{modelValue:k.password,"onUpdate:modelValue":u[3]||=e=>k.password=e,type:`password`,placeholder:`不少于6位`,"show-password":``},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),m(w,{gutter:12},{default:e(()=>[m(C,{span:12},{default:e(()=>[m(_,{label:`真实姓名`,prop:`name`},{default:e(()=>[m(v,{modelValue:k.name,"onUpdate:modelValue":u[4]||=e=>k.name=e,placeholder:`请输入姓名`},null,8,[`modelValue`])]),_:1})]),_:1}),m(C,{span:12},{default:e(()=>[m(_,{label:`手机号`,prop:`phone`},{default:e(()=>[m(v,{modelValue:k.phone,"onUpdate:modelValue":u[5]||=e=>k.phone=e,placeholder:`11位手机号`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),m(M,{type:`primary`,style:{width:`100%`,"margin-top":`8px`},loading:T.value,onClick:P},{default:e(()=>[...u[7]||=[a(` 提交注册申请 `,-1)]]),_:1},8,[`loading`])]),_:1},8,[`model`]),p(`div`,S,[u[9]||=a(` 已有账号? `,-1),m(I,{to:`/login`,class:`text-blue-500 hover:underline`},{default:e(()=>[...u[8]||=[a(`立即登录`,-1)]]),_:1})]),u[11]||=p(`div`,{class:`mt-4 p-3 bg-amber-50 rounded-xl text-xs text-amber-600 leading-relaxed`},` ⚠️ 注册后需管理员审核,审核通过后方可登录系统 `,-1)])])}}};export{C as default}; \ No newline at end of file diff --git a/frontend/dist/assets/registration-packages-CPtYFwqs.js b/frontend/dist/assets/registration-packages-D1EkvZPn.js similarity index 94% rename from frontend/dist/assets/registration-packages-CPtYFwqs.js rename to frontend/dist/assets/registration-packages-D1EkvZPn.js index 9880179..fc4c2ac 100644 --- a/frontend/dist/assets/registration-packages-CPtYFwqs.js +++ b/frontend/dist/assets/registration-packages-D1EkvZPn.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/system-C8g7zsei.js","assets/request-C_vMs8Bs.js","assets/index-ZRE77JpD.js","assets/preload-helper-DSXbuxSR.js","assets/runtime-core.esm-bundler-DbRZbT7v.js","assets/index-BTxz3KtI.css","assets/axios-Cty4xAHp.js"])))=>i.map(i=>d[i]); -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{t as _}from"./preload-helper-DSXbuxSR.js";import{l as v,o as y,s as b}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{registrationPackageApi as x}from"./system-C8g7zsei.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center gap-3 flex-wrap`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},te={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`text-sm text-gray-500`},T={class:`px-2`},E={key:0,class:`text-gray-400 text-sm`},D={class:`px-5 py-3 border-t border-gray-50`},O={__name:`index`,setup(O){let k=d([]),A=d(0),j=d(!1),M=d(!1),N=d(`新增注册套餐`),P=d(!1),F=d(!1),I=d(null),L=p({page:1,page_size:20}),R=p({keyword:``}),z=p({id:null,name:``,description:``,role_ids:[],status:1,sort:0}),B=d([]),V={name:[{required:!0,message:`请输入套餐名称`,trigger:`blur`}]};async function H(){j.value=!0;try{let e=await x.getList({...R,...L});k.value=e.data?.list||[],A.value=e.data?.total||0}catch{}finally{j.value=!1}}async function U(){try{let{roleApi:e}=await _(async()=>{let{roleApi:e}=await import(`./system-C8g7zsei.js`);return{roleApi:e}},__vite__mapDeps([0,1,2,3,4,5,6]));B.value=(await e.getList({page_size:200})).data?.list||[]}catch{}}function W(){L.page=1,H()}function G(){F.value=!1,N.value=`新增注册套餐`,Object.assign(z,{id:null,name:``,description:``,role_ids:[],status:1,sort:0}),M.value=!0}function K(e){F.value=!0,N.value=`编辑 — ${e.name}`,Object.assign(z,{id:e.id,name:e.name,description:e.description||``,role_ids:e.role_ids||[],status:e.status,sort:e.sort||0}),M.value=!0}async function q(){I.value&&await I.value.validate(async e=>{if(e){P.value=!0;try{F.value?(await x.update(z.id,z),b.success(`更新成功`)):(await x.create(z),b.success(`创建成功`)),M.value=!1,H()}catch{}finally{P.value=!1}}})}async function J(e){await y.confirm(`确定删除套餐「${e.name}」?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await x.delete(e.id),b.success(`删除成功`),H()}return r(()=>{H(),U()}),(r,d)=>{let p=i(`Search`),_=i(`el-icon`),y=i(`el-input`),b=i(`el-button`),x=i(`el-table-column`),O=i(`el-tag`),U=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-option`),ne=i(`el-select`),Q=i(`el-radio`),re=i(`el-radio-group`),$=i(`el-col`),ie=i(`el-input-number`),ae=i(`el-row`),oe=i(`el-form`),se=i(`el-dialog`),ce=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(y,{modelValue:R.keyword,"onUpdate:modelValue":d[0]||=e=>R.keyword=e,placeholder:`搜索套餐名称`,style:{width:`220px`},clearable:``,onKeydown:v(W,[`enter`]),onClear:W},{prefix:e(()=>[h(_,null,{default:e(()=>[h(p)]),_:1})]),_:1},8,[`modelValue`]),h(b,{type:`primary`,icon:`Search`,onClick:W},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1})]),m(`div`,ee,[m(`div`,te,[m(`div`,w,` 共 `+a(A.value)+` 个套餐 · 注册时可选择的岗位配置 `,1),h(b,{type:`primary`,icon:`Plus`,onClick:G},{default:e(()=>[...d[11]||=[o(`新增套餐`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(U,{data:k.value,style:{width:`100%`}},{default:e(()=>[h(x,{prop:`sort`,label:`排序`,width:`70`,align:`center`}),h(x,{prop:`name`,label:`套餐名称`,"min-width":`120`}),h(x,{prop:`description`,label:`说明`,"min-width":`200`,"show-overflow-tooltip":``}),h(x,{label:`关联角色`,"min-width":`200`},{default:e(({row:t})=>[(n(!0),f(u,null,g(t.role_ids||[],t=>(n(),s(O,{key:t,size:`small`,type:`info`,style:{margin:`2px`}},{default:e(()=>[o(a(B.value.find(e=>e.id===t)?.name||t),1)]),_:2},1024))),128)),t.role_ids?.length?l(``,!0):(n(),f(`span`,E,`无`))]),_:1}),h(x,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[h(O,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),h(x,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(b,{size:`small`,type:`primary`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[12]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),h(b,{size:`small`,type:`danger`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[13]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ce,j.value]])]),m(`div`,D,[h(Y,{"current-page":L.page,"onUpdate:currentPage":d[1]||=e=>L.page=e,"page-size":L.page_size,total:A.value,layout:`total, prev, pager, next`,background:``,onCurrentChange:d[2]||=e=>{L.page=e,H()}},null,8,[`current-page`,`page-size`,`total`])])]),h(se,{modelValue:M.value,"onUpdate:modelValue":d[9]||=e=>M.value=e,title:N.value,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(b,{onClick:d[8]||=e=>M.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(b,{type:`primary`,loading:P.value,onClick:q},{default:e(()=>[o(a(F.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[h(oe,{ref_key:`formRef`,ref:I,model:z,rules:V,"label-width":`90px`},{default:e(()=>[h(X,{label:`套餐名称`,prop:`name`},{default:e(()=>[h(y,{modelValue:z.name,"onUpdate:modelValue":d[3]||=e=>z.name=e,placeholder:`如:销售、店长、护士`},null,8,[`modelValue`])]),_:1}),h(X,{label:`说明`,prop:`description`},{default:e(()=>[h(y,{modelValue:z.description,"onUpdate:modelValue":d[4]||=e=>z.description=e,type:`textarea`,rows:2,placeholder:`注册时显示给用户的说明`},null,8,[`modelValue`])]),_:1}),h(X,{label:`关联角色`,prop:`role_ids`},{default:e(()=>[h(ne,{modelValue:z.role_ids,"onUpdate:modelValue":d[5]||=e=>z.role_ids=e,multiple:``,placeholder:`审核通过后自动分配的角色`,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(B.value,e=>(n(),s(Z,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),d[14]||=m(`div`,{class:`text-xs text-gray-400 mt-1`},`审核通过后,用户将自动获得以上角色权限`,-1)]),_:1}),h(ae,{gutter:12},{default:e(()=>[h($,{span:12},{default:e(()=>[h(X,{label:`状态`,prop:`status`},{default:e(()=>[h(re,{modelValue:z.status,"onUpdate:modelValue":d[6]||=e=>z.status=e},{default:e(()=>[h(Q,{value:1},{default:e(()=>[...d[15]||=[o(`启用`,-1)]]),_:1}),h(Q,{value:0},{default:e(()=>[...d[16]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),h($,{span:12},{default:e(()=>[h(X,{label:`排序`,prop:`sort`},{default:e(()=>[h(ie,{modelValue:z.sort,"onUpdate:modelValue":d[7]||=e=>z.sort=e,min:0,max:999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{O as default}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/system-DEm1DLCy.js","assets/request-DD5g7hLU.js","assets/index-3YculFMX.js","assets/preload-helper-DSXbuxSR.js","assets/runtime-core.esm-bundler-DbRZbT7v.js","assets/index-BTxz3KtI.css","assets/axios-M7beJlyD.js"])))=>i.map(i=>d[i]); +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{t as _}from"./preload-helper-DSXbuxSR.js";import{l as v,o as y,s as b}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{registrationPackageApi as x}from"./system-DEm1DLCy.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center gap-3 flex-wrap`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},te={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},w={class:`text-sm text-gray-500`},T={class:`px-2`},E={key:0,class:`text-gray-400 text-sm`},D={class:`px-5 py-3 border-t border-gray-50`},O={__name:`index`,setup(O){let k=d([]),A=d(0),j=d(!1),M=d(!1),N=d(`新增注册套餐`),P=d(!1),F=d(!1),I=d(null),L=p({page:1,page_size:20}),R=p({keyword:``}),z=p({id:null,name:``,description:``,role_ids:[],status:1,sort:0}),B=d([]),V={name:[{required:!0,message:`请输入套餐名称`,trigger:`blur`}]};async function H(){j.value=!0;try{let e=await x.getList({...R,...L});k.value=e.data?.list||[],A.value=e.data?.total||0}catch{}finally{j.value=!1}}async function U(){try{let{roleApi:e}=await _(async()=>{let{roleApi:e}=await import(`./system-DEm1DLCy.js`);return{roleApi:e}},__vite__mapDeps([0,1,2,3,4,5,6]));B.value=(await e.getList({page_size:200})).data?.list||[]}catch{}}function W(){L.page=1,H()}function G(){F.value=!1,N.value=`新增注册套餐`,Object.assign(z,{id:null,name:``,description:``,role_ids:[],status:1,sort:0}),M.value=!0}function K(e){F.value=!0,N.value=`编辑 — ${e.name}`,Object.assign(z,{id:e.id,name:e.name,description:e.description||``,role_ids:e.role_ids||[],status:e.status,sort:e.sort||0}),M.value=!0}async function q(){I.value&&await I.value.validate(async e=>{if(e){P.value=!0;try{F.value?(await x.update(z.id,z),b.success(`更新成功`)):(await x.create(z),b.success(`创建成功`)),M.value=!1,H()}catch{}finally{P.value=!1}}})}async function J(e){await y.confirm(`确定删除套餐「${e.name}」?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await x.delete(e.id),b.success(`删除成功`),H()}return r(()=>{H(),U()}),(r,d)=>{let p=i(`Search`),_=i(`el-icon`),y=i(`el-input`),b=i(`el-button`),x=i(`el-table-column`),O=i(`el-tag`),U=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-option`),ne=i(`el-select`),Q=i(`el-radio`),re=i(`el-radio-group`),$=i(`el-col`),ie=i(`el-input-number`),ae=i(`el-row`),oe=i(`el-form`),se=i(`el-dialog`),ce=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(y,{modelValue:R.keyword,"onUpdate:modelValue":d[0]||=e=>R.keyword=e,placeholder:`搜索套餐名称`,style:{width:`220px`},clearable:``,onKeydown:v(W,[`enter`]),onClear:W},{prefix:e(()=>[h(_,null,{default:e(()=>[h(p)]),_:1})]),_:1},8,[`modelValue`]),h(b,{type:`primary`,icon:`Search`,onClick:W},{default:e(()=>[...d[10]||=[o(`查询`,-1)]]),_:1})]),m(`div`,ee,[m(`div`,te,[m(`div`,w,` 共 `+a(A.value)+` 个套餐 · 注册时可选择的岗位配置 `,1),h(b,{type:`primary`,icon:`Plus`,onClick:G},{default:e(()=>[...d[11]||=[o(`新增套餐`,-1)]]),_:1})]),m(`div`,T,[c((n(),s(U,{data:k.value,style:{width:`100%`}},{default:e(()=>[h(x,{prop:`sort`,label:`排序`,width:`70`,align:`center`}),h(x,{prop:`name`,label:`套餐名称`,"min-width":`120`}),h(x,{prop:`description`,label:`说明`,"min-width":`200`,"show-overflow-tooltip":``}),h(x,{label:`关联角色`,"min-width":`200`},{default:e(({row:t})=>[(n(!0),f(u,null,g(t.role_ids||[],t=>(n(),s(O,{key:t,size:`small`,type:`info`,style:{margin:`2px`}},{default:e(()=>[o(a(B.value.find(e=>e.id===t)?.name||t),1)]),_:2},1024))),128)),t.role_ids?.length?l(``,!0):(n(),f(`span`,E,`无`))]),_:1}),h(x,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[h(O,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),h(x,{label:`操作`,width:`120`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(b,{size:`small`,type:`primary`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[12]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),h(b,{size:`small`,type:`danger`,text:``,onClick:e=>J(t)},{default:e(()=>[...d[13]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ce,j.value]])]),m(`div`,D,[h(Y,{"current-page":L.page,"onUpdate:currentPage":d[1]||=e=>L.page=e,"page-size":L.page_size,total:A.value,layout:`total, prev, pager, next`,background:``,onCurrentChange:d[2]||=e=>{L.page=e,H()}},null,8,[`current-page`,`page-size`,`total`])])]),h(se,{modelValue:M.value,"onUpdate:modelValue":d[9]||=e=>M.value=e,title:N.value,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(b,{onClick:d[8]||=e=>M.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(b,{type:`primary`,loading:P.value,onClick:q},{default:e(()=>[o(a(F.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[h(oe,{ref_key:`formRef`,ref:I,model:z,rules:V,"label-width":`90px`},{default:e(()=>[h(X,{label:`套餐名称`,prop:`name`},{default:e(()=>[h(y,{modelValue:z.name,"onUpdate:modelValue":d[3]||=e=>z.name=e,placeholder:`如:销售、店长、护士`},null,8,[`modelValue`])]),_:1}),h(X,{label:`说明`,prop:`description`},{default:e(()=>[h(y,{modelValue:z.description,"onUpdate:modelValue":d[4]||=e=>z.description=e,type:`textarea`,rows:2,placeholder:`注册时显示给用户的说明`},null,8,[`modelValue`])]),_:1}),h(X,{label:`关联角色`,prop:`role_ids`},{default:e(()=>[h(ne,{modelValue:z.role_ids,"onUpdate:modelValue":d[5]||=e=>z.role_ids=e,multiple:``,placeholder:`审核通过后自动分配的角色`,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(B.value,e=>(n(),s(Z,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),d[14]||=m(`div`,{class:`text-xs text-gray-400 mt-1`},`审核通过后,用户将自动获得以上角色权限`,-1)]),_:1}),h(ae,{gutter:12},{default:e(()=>[h($,{span:12},{default:e(()=>[h(X,{label:`状态`,prop:`status`},{default:e(()=>[h(re,{modelValue:z.status,"onUpdate:modelValue":d[6]||=e=>z.status=e},{default:e(()=>[h(Q,{value:1},{default:e(()=>[...d[15]||=[o(`启用`,-1)]]),_:1}),h(Q,{value:0},{default:e(()=>[...d[16]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),h($,{span:12},{default:e(()=>[h(X,{label:`排序`,prop:`sort`},{default:e(()=>[h(ie,{modelValue:z.sort,"onUpdate:modelValue":d[7]||=e=>z.sort=e,min:0,max:999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{O as default}; \ No newline at end of file diff --git a/frontend/dist/assets/report-DzdIZI4P.js b/frontend/dist/assets/report-wIlYRH-f.js similarity index 71% rename from frontend/dist/assets/report-DzdIZI4P.js rename to frontend/dist/assets/report-wIlYRH-f.js index efe4185..d3582ca 100644 --- a/frontend/dist/assets/report-DzdIZI4P.js +++ b/frontend/dist/assets/report-wIlYRH-f.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={overview:t=>e.get(`/report/overview`,{params:t}),revenue:t=>e.get(`/report/revenue`,{params:t}),occupancy:t=>e.get(`/report/occupancy`,{params:t}),crmConversion:t=>e.get(`/report/crm-conversion`,{params:t})},n={getList:t=>e.get(`/report/exports`,{params:t}),create:t=>e.post(`/report/exports`,t)};export{n,t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={overview:t=>e.get(`/report/overview`,{params:t}),revenue:t=>e.get(`/report/revenue`,{params:t}),occupancy:t=>e.get(`/report/occupancy`,{params:t}),crmConversion:t=>e.get(`/report/crm-conversion`,{params:t})},n={getList:t=>e.get(`/report/exports`,{params:t}),create:t=>e.post(`/report/exports`,t)};export{n,t}; \ No newline at end of file diff --git a/frontend/dist/assets/request-C_vMs8Bs.js b/frontend/dist/assets/request-DD5g7hLU.js similarity index 89% rename from frontend/dist/assets/request-C_vMs8Bs.js rename to frontend/dist/assets/request-DD5g7hLU.js index 7e50b3c..a896d4e 100644 --- a/frontend/dist/assets/request-C_vMs8Bs.js +++ b/frontend/dist/assets/request-DD5g7hLU.js @@ -1 +1 @@ -import{s as e}from"./index-ZRE77JpD.js";import{t}from"./axios-Cty4xAHp.js";var n=t.create({baseURL:`/api/v1`,timeout:15e3,headers:{"Content-Type":`application/json`,Accept:`application/json`}});n.interceptors.request.use(e=>{let t=localStorage.getItem(`token`);return t&&(e.headers.Authorization=`Bearer ${t}`),e},e=>Promise.reject(e)),n.interceptors.response.use(t=>{let n=t.data;return n.code===0?n:n.code>=40100&&n.code<=40199?(localStorage.removeItem(`token`),localStorage.removeItem(`userInfo`),e.error(`登录已过期,请重新登录`),window.location.href=`/login`,Promise.reject(Error(n.message||`未授权`))):(e.error(n.message||`请求失败`),Promise.reject(Error(n.message||`请求失败`)))},t=>{if(t.response){let n=t.response.status;if(n===401)return localStorage.removeItem(`token`),localStorage.removeItem(`userInfo`),e.error(`登录已过期,请重新登录`),window.location.href=`/login`,Promise.reject(t);if(n===403)return e.error(`无权限访问`),Promise.reject(t);if(n===404)return e.error(`请求的资源不存在`),Promise.reject(t);if(n>=500)return e.error(`服务器内部错误,请稍后重试`),Promise.reject(t)}return t.code===`ECONNABORTED`||t.message.includes(`timeout`)?(e.error(`请求超时,请检查网络连接`),Promise.reject(t)):(e.error(t.message||`网络错误`),Promise.reject(t))});export{n as t}; \ No newline at end of file +import{s as e}from"./index-3YculFMX.js";import{t}from"./axios-M7beJlyD.js";var n=t.create({baseURL:`/api/v1`,timeout:15e3,headers:{"Content-Type":`application/json`,Accept:`application/json`}});n.interceptors.request.use(e=>{let t=localStorage.getItem(`token`);return t&&(e.headers.Authorization=`Bearer ${t}`),e},e=>Promise.reject(e)),n.interceptors.response.use(t=>{let n=t.data;return n.code===0?n:n.code>=40100&&n.code<=40199?(localStorage.removeItem(`token`),localStorage.removeItem(`userInfo`),e.error(`登录已过期,请重新登录`),window.location.href=`/login`,Promise.reject(Error(n.message||`未授权`))):(e.error(n.message||`请求失败`),Promise.reject(Error(n.message||`请求失败`)))},t=>{if(t.response){let n=t.response.status;if(n===401)return localStorage.removeItem(`token`),localStorage.removeItem(`userInfo`),e.error(`登录已过期,请重新登录`),window.location.href=`/login`,Promise.reject(t);if(n===403)return e.error(`无权限访问`),Promise.reject(t);if(n===404)return e.error(`请求的资源不存在`),Promise.reject(t);if(n>=500)return e.error(`服务器内部错误,请稍后重试`),Promise.reject(t)}return t.code===`ECONNABORTED`||t.message.includes(`timeout`)?(e.error(`请求超时,请检查网络连接`),Promise.reject(t)):(e.error(t.message||`网络错误`),Promise.reject(t))});export{n as t}; \ No newline at end of file diff --git a/frontend/dist/assets/reservations-BVaedG0F.js b/frontend/dist/assets/reservations-BDcEwJH9.js similarity index 97% rename from frontend/dist/assets/reservations-BVaedG0F.js rename to frontend/dist/assets/reservations-BDcEwJH9.js index fcfb01d..17b0220 100644 --- a/frontend/dist/assets/reservations-BVaedG0F.js +++ b/frontend/dist/assets/reservations-BDcEwJH9.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as y}from"./crm-Do-MgkuV.js";import{i as b,r as x}from"./room-DSHyULwI.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={class:`px-5 py-3 border-t border-gray-50`},O={__name:`index`,setup(O){let k=d([]),A=d(0),j=d(!1),M=d(!1),N=d(!1),P=d([]),F=d([]),I=p({customer_id:``,room_id:``,status:``}),L=p({page:1,per_page:20}),R=d(null),z=p({id:null,customer_id:``,room_id:``,contract_id:``,check_in_date:``,check_out_date:``,remark:``}),B=d(!1),V={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],room_id:[{required:!0,message:`请选择房间`,trigger:`change`}],check_in_date:[{required:!0,message:`请选择入住日期`,trigger:`change`}],check_out_date:[{required:!0,message:`请选择退房日期`,trigger:`change`}]},H={0:`预定`,1:`已入住`,2:`已退房`,3:`已取消`},U={0:`warning`,1:`success`,2:`info`,3:`danger`};async function W(){j.value=!0;try{let e=await x.getList({...I,...L});k.value=e.data?.list||e.data?.data||[],A.value=e.data?.total||0}finally{j.value=!1}}async function G(){try{let e=await y.getList({per_page:500});P.value=e.data?.list||e.data?.data||[]}catch{}}async function K(){try{let e=await b.getList({per_page:200});F.value=e.data?.list||e.data?.data||[]}catch{}}function q(){L.page=1,W()}function J(){Object.assign(I,{customer_id:``,room_id:``,status:``}),q()}function Y(){B.value=!1,Object.assign(z,{id:null,customer_id:``,room_id:``,contract_id:``,check_in_date:``,check_out_date:``,remark:``}),M.value=!0}async function X(){R.value&&await R.value.validate(async e=>{if(e){N.value=!0;try{B.value?await x.update(z.id,z):await x.create(z),v.success(B.value?`更新成功`:`预定成功`),M.value=!1,W(),K()}finally{N.value=!1}}})}async function Z(e){await _.confirm(`确定为「${e.customer?.name}」办理入住?`,`入住确认`,{type:`info`}),await x.checkIn(e.id),v.success(`入住成功`),W(),K()}async function Q(e){await _.confirm(`确定为「${e.customer?.name}」办理退房?`,`退房确认`,{type:`warning`}),await x.checkOut(e.id),v.success(`退房成功`),W(),K()}async function $(e){await _.confirm(`确定取消该预定吗?`,`取消确认`,{type:`warning`}),await x.cancel(e.id,{}),v.success(`已取消`),W(),K()}async function ee(e){await _.confirm(`确定删除该预定吗?`,`删除确认`,{type:`warning`}),await x.delete(e.id),v.success(`删除成功`),W()}function te(e){L.page=e,W()}function ne(e){L.per_page=e,L.page=1,W()}return r(()=>{W(),G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),b=i(`el-tag`),x=i(`el-table`),O=i(`el-pagination`),B=i(`el-form-item`),W=i(`el-date-picker`),G=i(`el-input`),K=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(_,{modelValue:I.customer_id,"onUpdate:modelValue":d[0]||=e=>I.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(P.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.status,"onUpdate:modelValue":d[1]||=e=>I.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:q},{default:e(()=>[...d[11]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:J},{default:e(()=>[...d[12]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[14]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`预定列表`)],-1),h(v,{type:`primary`,onClick:Y},{default:e(()=>[...d[13]||=[o(`新增预定`,-1)]]),_:1})]),m(`div`,E,[c((n(),s(x,{data:k.value,style:{width:`100%`}},{default:e(()=>[h(y,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(y,{label:`房间`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.room?.number||`-`)+` (`+a(e.room?.room_type?.name||``)+`)`,1)]),_:1}),h(y,{prop:`check_in_date`,label:`入住日期`,"min-width":`110`}),h(y,{prop:`check_out_date`,label:`退房日期`,"min-width":`110`}),h(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(b,{type:U[t.status],size:`small`},{default:e(()=>[o(a(H[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>Z(t)},{default:e(()=>[...d[15]||=[o(`入住`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?(n(),s(v,{key:1,size:`small`,type:`warning`,text:``,onClick:e=>Q(t)},{default:e(()=>[...d[16]||=[o(`退房`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(v,{key:2,size:`small`,type:`info`,text:``,onClick:e=>$(t)},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?l(``,!0):(n(),s(v,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>ee(t)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`])),[[ie,j.value]])]),m(`div`,D,[h(O,{"current-page":L.page,"onUpdate:currentPage":d[2]||=e=>L.page=e,"page-size":L.per_page,"onUpdate:pageSize":d[3]||=e=>L.per_page=e,total:A.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:te,onSizeChange:ne},null,8,[`current-page`,`page-size`,`total`])])]),h(re,{modelValue:M.value,"onUpdate:modelValue":d[10]||=e=>M.value=e,title:`新增预定`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[9]||=e=>M.value=!1},{default:e(()=>[...d[19]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:N.value,onClick:X},{default:e(()=>[...d[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(K,{ref_key:`formRef`,ref:R,model:z,rules:V,"label-width":`80px`},{default:e(()=>[h(B,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:z.customer_id,"onUpdate:modelValue":d[4]||=e=>z.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(P.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(B,{label:`房间`,prop:`room_id`},{default:e(()=>[h(_,{modelValue:z.room_id,"onUpdate:modelValue":d[5]||=e=>z.room_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value.filter(e=>e.status===1),e=>(n(),s(p,{key:e.id,label:`${e.number} (${e.room_type?.name||``})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(B,{label:`入住日期`,prop:`check_in_date`},{default:e(()=>[h(W,{modelValue:z.check_in_date,"onUpdate:modelValue":d[6]||=e=>z.check_in_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(B,{label:`退房日期`,prop:`check_out_date`},{default:e(()=>[h(W,{modelValue:z.check_out_date,"onUpdate:modelValue":d[7]||=e=>z.check_out_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(B,{label:`备注`},{default:e(()=>[h(G,{modelValue:z.remark,"onUpdate:modelValue":d[8]||=e=>z.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{O as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as y}from"./crm-CvCW8IfR.js";import{i as b,r as x}from"./room-ByMILmib.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={class:`px-5 py-3 border-t border-gray-50`},O={__name:`index`,setup(O){let k=d([]),A=d(0),j=d(!1),M=d(!1),N=d(!1),P=d([]),F=d([]),I=p({customer_id:``,room_id:``,status:``}),L=p({page:1,per_page:20}),R=d(null),z=p({id:null,customer_id:``,room_id:``,contract_id:``,check_in_date:``,check_out_date:``,remark:``}),B=d(!1),V={customer_id:[{required:!0,message:`请选择客户`,trigger:`change`}],room_id:[{required:!0,message:`请选择房间`,trigger:`change`}],check_in_date:[{required:!0,message:`请选择入住日期`,trigger:`change`}],check_out_date:[{required:!0,message:`请选择退房日期`,trigger:`change`}]},H={0:`预定`,1:`已入住`,2:`已退房`,3:`已取消`},U={0:`warning`,1:`success`,2:`info`,3:`danger`};async function W(){j.value=!0;try{let e=await x.getList({...I,...L});k.value=e.data?.list||e.data?.data||[],A.value=e.data?.total||0}finally{j.value=!1}}async function G(){try{let e=await y.getList({per_page:500});P.value=e.data?.list||e.data?.data||[]}catch{}}async function K(){try{let e=await b.getList({per_page:200});F.value=e.data?.list||e.data?.data||[]}catch{}}function q(){L.page=1,W()}function J(){Object.assign(I,{customer_id:``,room_id:``,status:``}),q()}function Y(){B.value=!1,Object.assign(z,{id:null,customer_id:``,room_id:``,contract_id:``,check_in_date:``,check_out_date:``,remark:``}),M.value=!0}async function X(){R.value&&await R.value.validate(async e=>{if(e){N.value=!0;try{B.value?await x.update(z.id,z):await x.create(z),v.success(B.value?`更新成功`:`预定成功`),M.value=!1,W(),K()}finally{N.value=!1}}})}async function Z(e){await _.confirm(`确定为「${e.customer?.name}」办理入住?`,`入住确认`,{type:`info`}),await x.checkIn(e.id),v.success(`入住成功`),W(),K()}async function Q(e){await _.confirm(`确定为「${e.customer?.name}」办理退房?`,`退房确认`,{type:`warning`}),await x.checkOut(e.id),v.success(`退房成功`),W(),K()}async function $(e){await _.confirm(`确定取消该预定吗?`,`取消确认`,{type:`warning`}),await x.cancel(e.id,{}),v.success(`已取消`),W(),K()}async function ee(e){await _.confirm(`确定删除该预定吗?`,`删除确认`,{type:`warning`}),await x.delete(e.id),v.success(`删除成功`),W()}function te(e){L.page=e,W()}function ne(e){L.per_page=e,L.page=1,W()}return r(()=>{W(),G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),b=i(`el-tag`),x=i(`el-table`),O=i(`el-pagination`),B=i(`el-form-item`),W=i(`el-date-picker`),G=i(`el-input`),K=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(_,{modelValue:I.customer_id,"onUpdate:modelValue":d[0]||=e=>I.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),f(u,null,g(P.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:I.status,"onUpdate:modelValue":d[1]||=e=>I.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(H,(e,t)=>h(p,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:q},{default:e(()=>[...d[11]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:J},{default:e(()=>[...d[12]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[14]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`font-medium text-gray-700`},`预定列表`)],-1),h(v,{type:`primary`,onClick:Y},{default:e(()=>[...d[13]||=[o(`新增预定`,-1)]]),_:1})]),m(`div`,E,[c((n(),s(x,{data:k.value,style:{width:`100%`}},{default:e(()=>[h(y,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.customer?.name||`-`),1)]),_:1}),h(y,{label:`房间`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.room?.number||`-`)+` (`+a(e.room?.room_type?.name||``)+`)`,1)]),_:1}),h(y,{prop:`check_in_date`,label:`入住日期`,"min-width":`110`}),h(y,{prop:`check_out_date`,label:`退房日期`,"min-width":`110`}),h(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(b,{type:U[t.status],size:`small`},{default:e(()=>[o(a(H[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(y,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>Z(t)},{default:e(()=>[...d[15]||=[o(`入住`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?(n(),s(v,{key:1,size:`small`,type:`warning`,text:``,onClick:e=>Q(t)},{default:e(()=>[...d[16]||=[o(`退房`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status<2?(n(),s(v,{key:2,size:`small`,type:`info`,text:``,onClick:e=>$(t)},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?l(``,!0):(n(),s(v,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>ee(t)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`]))]),_:1})]),_:1},8,[`data`])),[[ie,j.value]])]),m(`div`,D,[h(O,{"current-page":L.page,"onUpdate:currentPage":d[2]||=e=>L.page=e,"page-size":L.per_page,"onUpdate:pageSize":d[3]||=e=>L.per_page=e,total:A.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:te,onSizeChange:ne},null,8,[`current-page`,`page-size`,`total`])])]),h(re,{modelValue:M.value,"onUpdate:modelValue":d[10]||=e=>M.value=e,title:`新增预定`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[9]||=e=>M.value=!1},{default:e(()=>[...d[19]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:N.value,onClick:X},{default:e(()=>[...d[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(K,{ref_key:`formRef`,ref:R,model:z,rules:V,"label-width":`80px`},{default:e(()=>[h(B,{label:`客户`,prop:`customer_id`},{default:e(()=>[h(_,{modelValue:z.customer_id,"onUpdate:modelValue":d[4]||=e=>z.customer_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(P.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.phone})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(B,{label:`房间`,prop:`room_id`},{default:e(()=>[h(_,{modelValue:z.room_id,"onUpdate:modelValue":d[5]||=e=>z.room_id=e,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value.filter(e=>e.status===1),e=>(n(),s(p,{key:e.id,label:`${e.number} (${e.room_type?.name||``})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(B,{label:`入住日期`,prop:`check_in_date`},{default:e(()=>[h(W,{modelValue:z.check_in_date,"onUpdate:modelValue":d[6]||=e=>z.check_in_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(B,{label:`退房日期`,prop:`check_out_date`},{default:e(()=>[h(W,{modelValue:z.check_out_date,"onUpdate:modelValue":d[7]||=e=>z.check_out_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),h(B,{label:`备注`},{default:e(()=>[h(G,{modelValue:z.remark,"onUpdate:modelValue":d[8]||=e=>z.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{O as default}; \ No newline at end of file diff --git a/frontend/dist/assets/reviews-COjDLEsX.js b/frontend/dist/assets/reviews-D50R_81A.js similarity index 96% rename from frontend/dist/assets/reviews-COjDLEsX.js rename to frontend/dist/assets/reviews-D50R_81A.js index 98566a2..34fc183 100644 --- a/frontend/dist/assets/reviews-COjDLEsX.js +++ b/frontend/dist/assets/reviews-D50R_81A.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,et as u,f as d,g as f,i as p,lt as m,p as h,st as g,u as _,v,z as y}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as b}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as x}from"./iconify-f5JHLb1p.js";import{i as S}from"./crm-Do-MgkuV.js";import{r as C}from"./meal-CL1Cz_RN.js";var w={class:`p-6 space-y-4`},T={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},E={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},ee={class:`px-2`},D={class:`flex items-center justify-center gap-0.5`},O={key:0,class:`text-rose-500 text-sm`},k={key:1,class:`text-gray-300 text-sm`},A={class:`px-5 py-3 border-t border-gray-50`},j={class:`flex items-center gap-1`},M={key:0,class:`mt-4`},N={class:`text-sm text-gray-500 mb-2`},P={class:`flex flex-wrap gap-2`},F={__name:`index`,setup(F){let I=m([]),L=m(0),R=m(!1),z=m(!1),B=m(!1),V=m(null),H=m([]),U=g({customer_id:``,rating:``,meal_date:``}),W=g({page:1,per_page:20}),G=[{label:`5星`,value:5},{label:`4星`,value:4},{label:`3星`,value:3},{label:`2星`,value:2},{label:`1星`,value:1}];async function K(){R.value=!0;try{let e=await C.getList({...U,...W});I.value=e.data?.list||e.data?.data||[],L.value=e.data?.total||0}catch{b.error(`加载失败`)}finally{R.value=!1}}async function q(){try{let e=await S.getList({per_page:500});H.value=e.data?.list||e.data?.data||[]}catch{}}function J(){W.page=1,K()}function Y(){Object.assign(U,{customer_id:``,rating:``,meal_date:``}),J()}function X(e){V.value=e,z.value=!0}function Z(e){return e>=4?`text-green-500`:e>=3?`text-yellow-500`:`text-red-400`}function te(e){W.page=e,K()}function ne(e){W.per_page=e,W.page=1,K()}return r(()=>{K(),q()}),(r,m)=>{let g=i(`el-option`),b=i(`el-select`),S=i(`el-date-picker`),C=i(`el-button`),F=i(`el-table-column`),K=i(`el-table`),q=i(`el-pagination`),Q=i(`el-descriptions-item`),re=i(`el-descriptions`),ie=i(`el-image`),ae=i(`el-dialog`),$=t(`loading`);return n(),h(`div`,w,[_(`div`,T,[v(b,{modelValue:U.customer_id,"onUpdate:modelValue":m[0]||=e=>U.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),h(p,null,y(H.value,e=>(n(),l(g,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),v(b,{modelValue:U.rating,"onUpdate:modelValue":m[1]||=e=>U.rating=e,placeholder:`评分筛选`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),h(p,null,y(G,e=>v(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),v(S,{modelValue:U.meal_date,"onUpdate:modelValue":m[2]||=e=>U.meal_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`就餐日期`,style:{width:`160px`}},null,8,[`modelValue`]),v(C,{type:`primary`,onClick:J},{default:e(()=>[v(c(x),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),m[7]||=s(`查询 `,-1)]),_:1}),v(C,{onClick:Y},{default:e(()=>[...m[8]||=[s(`重置`,-1)]]),_:1})]),_(`div`,E,[m[10]||=f(`
膳食评价列表(只读,客户评价不可编辑)
`,1),_(`div`,ee,[u((n(),l(K,{data:I.value,style:{width:`100%`}},{default:e(()=>[v(F,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[s(o(e.customer_name||`-`),1)]),_:1}),v(F,{prop:`meal_date`,label:`就餐日期`,width:`110`}),v(F,{label:`评分`,width:`120`,align:`center`},{default:e(({row:e})=>[_(`div`,D,[(n(),h(p,null,y(5,t=>v(c(x),{key:t,icon:t<=e.rating?`solar:star-bold`:`solar:star-line-duotone`,class:a([`text-base`,t<=e.rating?`text-amber-400`:`text-gray-200`])},null,8,[`icon`,`class`])),64)),_(`span`,{class:a([`ml-1 text-sm font-semibold`,Z(e.rating)])},o(e.rating),3)])]),_:1}),v(F,{prop:`content`,label:`评价内容`,"min-width":`200`,"show-overflow-tooltip":``}),v(F,{label:`照片`,width:`70`,align:`center`},{default:e(({row:e})=>[e.photos&&e.photos.length?(n(),h(`span`,O,o(e.photos.length)+` 张`,1)):(n(),h(`span`,k,`—`))]),_:1}),v(F,{prop:`created_at`,label:`评价时间`,"min-width":`160`}),v(F,{label:`操作`,width:`80`,fixed:`right`,align:`center`},{default:e(({row:t})=>[v(C,{size:`small`,type:`primary`,text:``,onClick:e=>X(t)},{default:e(()=>[...m[9]||=[s(`详情`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[$,R.value]])]),_(`div`,A,[v(q,{"current-page":W.page,"onUpdate:currentPage":m[3]||=e=>W.page=e,"page-size":W.per_page,"onUpdate:pageSize":m[4]||=e=>W.per_page=e,total:L.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:te,onSizeChange:ne},null,8,[`current-page`,`page-size`,`total`])])]),v(ae,{modelValue:z.value,"onUpdate:modelValue":m[6]||=e=>z.value=e,title:`评价详情`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[v(C,{onClick:m[5]||=e=>z.value=!1},{default:e(()=>[...m[11]||=[s(`关闭`,-1)]]),_:1})]),default:e(()=>[u((n(),h(`div`,null,[V.value?(n(),h(p,{key:0},[v(re,{column:2,border:``},{default:e(()=>[v(Q,{label:`客户`},{default:e(()=>[s(o(V.value.customer_name||`-`),1)]),_:1}),v(Q,{label:`就餐日期`},{default:e(()=>[s(o(V.value.meal_date||`-`),1)]),_:1}),v(Q,{label:`评分`,span:2},{default:e(()=>[_(`div`,j,[(n(),h(p,null,y(5,e=>v(c(x),{key:e,icon:e<=V.value.rating?`solar:star-bold`:`solar:star-line-duotone`,class:a([`text-lg`,e<=V.value.rating?`text-amber-400`:`text-gray-200`])},null,8,[`icon`,`class`])),64)),_(`span`,{class:a([`ml-1 font-semibold`,Z(V.value.rating)])},o(V.value.rating)+` / 5 `,3)])]),_:1}),v(Q,{label:`评价内容`,span:2},{default:e(()=>[s(o(V.value.content||`(无文字评价)`),1)]),_:1}),v(Q,{label:`评价时间`,span:2},{default:e(()=>[s(o(V.value.created_at||`-`),1)]),_:1})]),_:1}),V.value.photos&&V.value.photos.length?(n(),h(`div`,M,[_(`p`,N,`评价照片(`+o(V.value.photos.length)+` 张)`,1),_(`div`,P,[(n(!0),h(p,null,y(V.value.photos,(e,t)=>(n(),l(ie,{key:t,src:e,"preview-src-list":V.value.photos,"initial-index":t,fit:`cover`,class:`w-20 h-20 rounded-lg object-cover cursor-pointer`},null,8,[`src`,`preview-src-list`,`initial-index`]))),128))])])):d(``,!0)],64)):d(``,!0)])),[[$,B.value]])]),_:1},8,[`modelValue`])])}}};export{F as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,_t as c,d as l,et as u,f as d,g as f,i as p,lt as m,p as h,st as g,u as _,v,z as y}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as b}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as x}from"./iconify-f5JHLb1p.js";import{i as S}from"./crm-CvCW8IfR.js";import{r as C}from"./meal-CgJENF-S.js";var w={class:`p-6 space-y-4`},T={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},E={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},ee={class:`px-2`},D={class:`flex items-center justify-center gap-0.5`},O={key:0,class:`text-rose-500 text-sm`},k={key:1,class:`text-gray-300 text-sm`},A={class:`px-5 py-3 border-t border-gray-50`},j={class:`flex items-center gap-1`},M={key:0,class:`mt-4`},N={class:`text-sm text-gray-500 mb-2`},P={class:`flex flex-wrap gap-2`},F={__name:`index`,setup(F){let I=m([]),L=m(0),R=m(!1),z=m(!1),B=m(!1),V=m(null),H=m([]),U=g({customer_id:``,rating:``,meal_date:``}),W=g({page:1,per_page:20}),G=[{label:`5星`,value:5},{label:`4星`,value:4},{label:`3星`,value:3},{label:`2星`,value:2},{label:`1星`,value:1}];async function K(){R.value=!0;try{let e=await C.getList({...U,...W});I.value=e.data?.list||e.data?.data||[],L.value=e.data?.total||0}catch{b.error(`加载失败`)}finally{R.value=!1}}async function q(){try{let e=await S.getList({per_page:500});H.value=e.data?.list||e.data?.data||[]}catch{}}function J(){W.page=1,K()}function Y(){Object.assign(U,{customer_id:``,rating:``,meal_date:``}),J()}function X(e){V.value=e,z.value=!0}function Z(e){return e>=4?`text-green-500`:e>=3?`text-yellow-500`:`text-red-400`}function te(e){W.page=e,K()}function ne(e){W.per_page=e,W.page=1,K()}return r(()=>{K(),q()}),(r,m)=>{let g=i(`el-option`),b=i(`el-select`),S=i(`el-date-picker`),C=i(`el-button`),F=i(`el-table-column`),K=i(`el-table`),q=i(`el-pagination`),Q=i(`el-descriptions-item`),re=i(`el-descriptions`),ie=i(`el-image`),ae=i(`el-dialog`),$=t(`loading`);return n(),h(`div`,w,[_(`div`,T,[v(b,{modelValue:U.customer_id,"onUpdate:modelValue":m[0]||=e=>U.customer_id=e,placeholder:`选择客户`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),h(p,null,y(H.value,e=>(n(),l(g,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),v(b,{modelValue:U.rating,"onUpdate:modelValue":m[1]||=e=>U.rating=e,placeholder:`评分筛选`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),h(p,null,y(G,e=>v(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),v(S,{modelValue:U.meal_date,"onUpdate:modelValue":m[2]||=e=>U.meal_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`就餐日期`,style:{width:`160px`}},null,8,[`modelValue`]),v(C,{type:`primary`,onClick:J},{default:e(()=>[v(c(x),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),m[7]||=s(`查询 `,-1)]),_:1}),v(C,{onClick:Y},{default:e(()=>[...m[8]||=[s(`重置`,-1)]]),_:1})]),_(`div`,E,[m[10]||=f(`
膳食评价列表(只读,客户评价不可编辑)
`,1),_(`div`,ee,[u((n(),l(K,{data:I.value,style:{width:`100%`}},{default:e(()=>[v(F,{label:`客户`,"min-width":`100`},{default:e(({row:e})=>[s(o(e.customer_name||`-`),1)]),_:1}),v(F,{prop:`meal_date`,label:`就餐日期`,width:`110`}),v(F,{label:`评分`,width:`120`,align:`center`},{default:e(({row:e})=>[_(`div`,D,[(n(),h(p,null,y(5,t=>v(c(x),{key:t,icon:t<=e.rating?`solar:star-bold`:`solar:star-line-duotone`,class:a([`text-base`,t<=e.rating?`text-amber-400`:`text-gray-200`])},null,8,[`icon`,`class`])),64)),_(`span`,{class:a([`ml-1 text-sm font-semibold`,Z(e.rating)])},o(e.rating),3)])]),_:1}),v(F,{prop:`content`,label:`评价内容`,"min-width":`200`,"show-overflow-tooltip":``}),v(F,{label:`照片`,width:`70`,align:`center`},{default:e(({row:e})=>[e.photos&&e.photos.length?(n(),h(`span`,O,o(e.photos.length)+` 张`,1)):(n(),h(`span`,k,`—`))]),_:1}),v(F,{prop:`created_at`,label:`评价时间`,"min-width":`160`}),v(F,{label:`操作`,width:`80`,fixed:`right`,align:`center`},{default:e(({row:t})=>[v(C,{size:`small`,type:`primary`,text:``,onClick:e=>X(t)},{default:e(()=>[...m[9]||=[s(`详情`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[$,R.value]])]),_(`div`,A,[v(q,{"current-page":W.page,"onUpdate:currentPage":m[3]||=e=>W.page=e,"page-size":W.per_page,"onUpdate:pageSize":m[4]||=e=>W.per_page=e,total:L.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:te,onSizeChange:ne},null,8,[`current-page`,`page-size`,`total`])])]),v(ae,{modelValue:z.value,"onUpdate:modelValue":m[6]||=e=>z.value=e,title:`评价详情`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[v(C,{onClick:m[5]||=e=>z.value=!1},{default:e(()=>[...m[11]||=[s(`关闭`,-1)]]),_:1})]),default:e(()=>[u((n(),h(`div`,null,[V.value?(n(),h(p,{key:0},[v(re,{column:2,border:``},{default:e(()=>[v(Q,{label:`客户`},{default:e(()=>[s(o(V.value.customer_name||`-`),1)]),_:1}),v(Q,{label:`就餐日期`},{default:e(()=>[s(o(V.value.meal_date||`-`),1)]),_:1}),v(Q,{label:`评分`,span:2},{default:e(()=>[_(`div`,j,[(n(),h(p,null,y(5,e=>v(c(x),{key:e,icon:e<=V.value.rating?`solar:star-bold`:`solar:star-line-duotone`,class:a([`text-lg`,e<=V.value.rating?`text-amber-400`:`text-gray-200`])},null,8,[`icon`,`class`])),64)),_(`span`,{class:a([`ml-1 font-semibold`,Z(V.value.rating)])},o(V.value.rating)+` / 5 `,3)])]),_:1}),v(Q,{label:`评价内容`,span:2},{default:e(()=>[s(o(V.value.content||`(无文字评价)`),1)]),_:1}),v(Q,{label:`评价时间`,span:2},{default:e(()=>[s(o(V.value.created_at||`-`),1)]),_:1})]),_:1}),V.value.photos&&V.value.photos.length?(n(),h(`div`,M,[_(`p`,N,`评价照片(`+o(V.value.photos.length)+` 张)`,1),_(`div`,P,[(n(!0),h(p,null,y(V.value.photos,(e,t)=>(n(),l(ie,{key:t,src:e,"preview-src-list":V.value.photos,"initial-index":t,fit:`cover`,class:`w-20 h-20 rounded-lg object-cover cursor-pointer`},null,8,[`src`,`preview-src-list`,`initial-index`]))),128))])])):d(``,!0)],64)):d(``,!0)])),[[$,B.value]])]),_:1},8,[`modelValue`])])}}};export{F as default}; \ No newline at end of file diff --git a/frontend/dist/assets/roles-D0L92cu4.js b/frontend/dist/assets/roles-Dwv5QOVU.js similarity index 98% rename from frontend/dist/assets/roles-D0L92cu4.js rename to frontend/dist/assets/roles-Dwv5QOVU.js index 85018c5..6473dbe 100644 --- a/frontend/dist/assets/roles-D0L92cu4.js +++ b/frontend/dist/assets/roles-Dwv5QOVU.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,O as r,P as i,V as a,Wt as o,_ as s,d as c,et as l,f as u,lt as d,p as f,st as p,u as m,v as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v,t as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{permissionApi as b,roleApi as x}from"./system-C8g7zsei.js";var S={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},te={style:{"min-height":`200px`,"max-height":`480px`,"overflow-y":`auto`}},D=y({__name:`index`,setup(y){let D=d([]),O=d(0),k=d(!1),A=p({keyword:``}),j=p({page:1,page_size:20}),M=d(!1),N=d(`新增角色`),P=d(!1),F=d(!1),I=d(null),L=p({id:null,name:``,code:``,description:``,status:1}),R={name:[{required:!0,message:`请输入角色名称`,trigger:`blur`}]};function z(){return`role_`+Date.now().toString(36)}let B=d(!1),V=d(!1),H=d(null),U=d([]),W=d(null),G=d(``),K=d([]),q={label:`name`,children:`children`};async function J(){k.value=!0;try{let e=await x.getList({...A,...j});D.value=e.data?.list||[],O.value=e.data?.total||0}catch{}finally{k.value=!1}}async function Y(){try{let e=(await b.getList({page_size:500})).data;Array.isArray(e)?U.value=e:U.value=X(e?.list||e?.data||[])}catch{}}function X(e,t=0){return e.filter(e=>(e.parent_id??0)===t).map(t=>({...t,children:X(e,t.id)}))}function Z(){j.page=1,J()}function ne(){A.keyword=``,Z()}function re(){F.value=!1,N.value=`新增角色`,Object.assign(L,{id:null,name:``,code:z(),description:``,status:1}),M.value=!0}async function ie(e){F.value=!0,N.value=`编辑角色`;let t=(await x.getDetail(e.id)).data;Object.assign(L,{id:t.id,name:t.name,code:t.code,description:t.description||``,status:t.status}),M.value=!0}async function ae(){I.value&&await I.value.validate(async e=>{if(e){P.value=!0;try{F.value?(await x.update(L.id,L),v.success(`角色更新成功`)):(await x.create(L),v.success(`角色创建成功`)),M.value=!1,J()}catch{}finally{P.value=!1}}})}async function Q(e){await _.confirm(`确定删除角色「${e.name}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await x.delete(e.id),v.success(`删除成功`),J()}async function oe(e){W.value=e.id,G.value=e.name,B.value=!0,V.value=!0;try{U.value.length===0&&await Y(),K.value=((await x.getDetail(e.id)).data?.permissions||[]).map(e=>e.id),await r(),H.value&&H.value.setCheckedKeys(K.value,!0)}catch{}finally{V.value=!1}}async function se(){if(!H.value)return;let e=H.value.getCheckedKeys(!1),t=H.value.getHalfCheckedKeys(),n=[...e,...t];try{await x.assignPermissions(W.value,n),v.success(`权限分配成功`),B.value=!1}catch{}}function ce(e){j.page=e,J()}function le(e){j.page_size=e,j.page=1,J()}return i(()=>{J(),Y()}),(r,i)=>{let d=a(`Search`),p=a(`el-icon`),_=a(`el-input`),v=a(`el-button`),y=a(`el-table-column`),b=a(`el-tag`),x=a(`el-table`),z=a(`el-pagination`),W=a(`el-form-item`),K=a(`el-radio`),J=a(`el-radio-group`),Y=a(`el-form`),X=a(`el-dialog`),ue=a(`el-tree`),de=a(`el-empty`),$=t(`loading`);return n(),f(`div`,S,[m(`div`,ee,[h(_,{modelValue:A.keyword,"onUpdate:modelValue":i[0]||=e=>A.keyword=e,placeholder:`搜索角色名称/标识`,style:{width:`240px`},clearable:``,onKeydown:g(Z,[`enter`])},{prefix:e(()=>[h(p,null,{default:e(()=>[h(d)]),_:1})]),_:1},8,[`modelValue`]),h(v,{type:`primary`,icon:`Search`,onClick:Z},{default:e(()=>[...i[11]||=[s(`查询`,-1)]]),_:1}),h(v,{icon:`Refresh`,onClick:ne},{default:e(()=>[...i[12]||=[s(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[i[14]||=m(`div`,{class:`flex items-center gap-3`},null,-1),h(v,{type:`primary`,icon:`Plus`,onClick:re},{default:e(()=>[...i[13]||=[s(`新增角色`,-1)]]),_:1})]),m(`div`,T,[l((n(),c(x,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(y,{prop:`name`,label:`角色名称`,"min-width":`140`}),h(y,{prop:`code`,label:`角色标识`,"min-width":`140`}),h(y,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),h(y,{prop:`user_count`,label:`用户数`,width:`90`,align:`center`}),h(y,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(b,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[s(o(t.status===1?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),h(y,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(y,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(v,{size:`small`,type:`primary`,text:``,onClick:e=>ie(t)},{default:e(()=>[...i[15]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),h(v,{size:`small`,type:`warning`,text:``,onClick:e=>oe(t)},{default:e(()=>[...i[16]||=[s(`分配权限`,-1)]]),_:1},8,[`onClick`]),h(v,{size:`small`,type:`danger`,text:``,onClick:e=>Q(t)},{default:e(()=>[...i[17]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[$,k.value]])]),m(`div`,E,[h(z,{"current-page":j.page,"onUpdate:currentPage":i[1]||=e=>j.page=e,"page-size":j.page_size,"onUpdate:pageSize":i[2]||=e=>j.page_size=e,total:O.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:ce,onSizeChange:le},null,8,[`current-page`,`page-size`,`total`])])]),h(X,{modelValue:M.value,"onUpdate:modelValue":i[8]||=e=>M.value=e,title:N.value,width:`480px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:i[7]||=e=>M.value=!1},{default:e(()=>[...i[21]||=[s(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:P.value,onClick:ae},{default:e(()=>[s(o(F.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[h(Y,{ref_key:`formRef`,ref:I,model:L,rules:R,"label-width":`90px`},{default:e(()=>[h(W,{label:`角色名称`,prop:`name`},{default:e(()=>[h(_,{modelValue:L.name,"onUpdate:modelValue":i[3]||=e=>L.name=e,placeholder:`请输入角色名称`},null,8,[`modelValue`])]),_:1}),F.value?(n(),c(W,{key:0,label:`角色标识`},{default:e(()=>[h(_,{modelValue:L.code,"onUpdate:modelValue":i[4]||=e=>L.code=e,disabled:``},null,8,[`modelValue`]),i[18]||=m(`div`,{class:`form-tip`},`角色标识由系统自动生成,不可修改`,-1)]),_:1})):u(``,!0),h(W,{label:`描述`,prop:`description`},{default:e(()=>[h(_,{modelValue:L.description,"onUpdate:modelValue":i[5]||=e=>L.description=e,type:`textarea`,rows:3,placeholder:`请输入角色描述(选填)`},null,8,[`modelValue`])]),_:1}),h(W,{label:`状态`,prop:`status`},{default:e(()=>[h(J,{modelValue:L.status,"onUpdate:modelValue":i[6]||=e=>L.status=e},{default:e(()=>[h(K,{value:1},{default:e(()=>[...i[19]||=[s(`启用`,-1)]]),_:1}),h(K,{value:0},{default:e(()=>[...i[20]||=[s(`禁用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),h(X,{modelValue:B.value,"onUpdate:modelValue":i[10]||=e=>B.value=e,title:`分配权限 - ${G.value}`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:i[9]||=e=>B.value=!1},{default:e(()=>[...i[22]||=[s(`取消`,-1)]]),_:1}),h(v,{type:`primary`,onClick:se},{default:e(()=>[...i[23]||=[s(`保存权限`,-1)]]),_:1})]),default:e(()=>[l((n(),f(`div`,te,[h(ue,{ref_key:`permTreeRef`,ref:H,data:U.value,props:q,"show-checkbox":``,"node-key":`id`,"default-expand-all":``,"check-strictly":``},null,8,[`data`]),!V.value&&U.value.length===0?(n(),c(de,{key:0,description:`暂无权限数据`})):u(``,!0)])),[[$,V.value]])]),_:1},8,[`modelValue`,`title`])])}}},[[`__scopeId`,`data-v-54fa926d`]]);export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,O as r,P as i,V as a,Wt as o,_ as s,d as c,et as l,f as u,lt as d,p as f,st as p,u as m,v as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,o as _,s as v,t as y}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{permissionApi as b,roleApi as x}from"./system-DEm1DLCy.js";var S={class:`p-6 space-y-4`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},te={style:{"min-height":`200px`,"max-height":`480px`,"overflow-y":`auto`}},D=y({__name:`index`,setup(y){let D=d([]),O=d(0),k=d(!1),A=p({keyword:``}),j=p({page:1,page_size:20}),M=d(!1),N=d(`新增角色`),P=d(!1),F=d(!1),I=d(null),L=p({id:null,name:``,code:``,description:``,status:1}),R={name:[{required:!0,message:`请输入角色名称`,trigger:`blur`}]};function z(){return`role_`+Date.now().toString(36)}let B=d(!1),V=d(!1),H=d(null),U=d([]),W=d(null),G=d(``),K=d([]),q={label:`name`,children:`children`};async function J(){k.value=!0;try{let e=await x.getList({...A,...j});D.value=e.data?.list||[],O.value=e.data?.total||0}catch{}finally{k.value=!1}}async function Y(){try{let e=(await b.getList({page_size:500})).data;Array.isArray(e)?U.value=e:U.value=X(e?.list||e?.data||[])}catch{}}function X(e,t=0){return e.filter(e=>(e.parent_id??0)===t).map(t=>({...t,children:X(e,t.id)}))}function Z(){j.page=1,J()}function ne(){A.keyword=``,Z()}function re(){F.value=!1,N.value=`新增角色`,Object.assign(L,{id:null,name:``,code:z(),description:``,status:1}),M.value=!0}async function ie(e){F.value=!0,N.value=`编辑角色`;let t=(await x.getDetail(e.id)).data;Object.assign(L,{id:t.id,name:t.name,code:t.code,description:t.description||``,status:t.status}),M.value=!0}async function ae(){I.value&&await I.value.validate(async e=>{if(e){P.value=!0;try{F.value?(await x.update(L.id,L),v.success(`角色更新成功`)):(await x.create(L),v.success(`角色创建成功`)),M.value=!1,J()}catch{}finally{P.value=!1}}})}async function Q(e){await _.confirm(`确定删除角色「${e.name}」吗?`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await x.delete(e.id),v.success(`删除成功`),J()}async function oe(e){W.value=e.id,G.value=e.name,B.value=!0,V.value=!0;try{U.value.length===0&&await Y(),K.value=((await x.getDetail(e.id)).data?.permissions||[]).map(e=>e.id),await r(),H.value&&H.value.setCheckedKeys(K.value,!0)}catch{}finally{V.value=!1}}async function se(){if(!H.value)return;let e=H.value.getCheckedKeys(!1),t=H.value.getHalfCheckedKeys(),n=[...e,...t];try{await x.assignPermissions(W.value,n),v.success(`权限分配成功`),B.value=!1}catch{}}function ce(e){j.page=e,J()}function le(e){j.page_size=e,j.page=1,J()}return i(()=>{J(),Y()}),(r,i)=>{let d=a(`Search`),p=a(`el-icon`),_=a(`el-input`),v=a(`el-button`),y=a(`el-table-column`),b=a(`el-tag`),x=a(`el-table`),z=a(`el-pagination`),W=a(`el-form-item`),K=a(`el-radio`),J=a(`el-radio-group`),Y=a(`el-form`),X=a(`el-dialog`),ue=a(`el-tree`),de=a(`el-empty`),$=t(`loading`);return n(),f(`div`,S,[m(`div`,ee,[h(_,{modelValue:A.keyword,"onUpdate:modelValue":i[0]||=e=>A.keyword=e,placeholder:`搜索角色名称/标识`,style:{width:`240px`},clearable:``,onKeydown:g(Z,[`enter`])},{prefix:e(()=>[h(p,null,{default:e(()=>[h(d)]),_:1})]),_:1},8,[`modelValue`]),h(v,{type:`primary`,icon:`Search`,onClick:Z},{default:e(()=>[...i[11]||=[s(`查询`,-1)]]),_:1}),h(v,{icon:`Refresh`,onClick:ne},{default:e(()=>[...i[12]||=[s(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[i[14]||=m(`div`,{class:`flex items-center gap-3`},null,-1),h(v,{type:`primary`,icon:`Plus`,onClick:re},{default:e(()=>[...i[13]||=[s(`新增角色`,-1)]]),_:1})]),m(`div`,T,[l((n(),c(x,{data:D.value,style:{width:`100%`}},{default:e(()=>[h(y,{prop:`name`,label:`角色名称`,"min-width":`140`}),h(y,{prop:`code`,label:`角色标识`,"min-width":`140`}),h(y,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),h(y,{prop:`user_count`,label:`用户数`,width:`90`,align:`center`}),h(y,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[h(b,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[s(o(t.status===1?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),h(y,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(y,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(v,{size:`small`,type:`primary`,text:``,onClick:e=>ie(t)},{default:e(()=>[...i[15]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),h(v,{size:`small`,type:`warning`,text:``,onClick:e=>oe(t)},{default:e(()=>[...i[16]||=[s(`分配权限`,-1)]]),_:1},8,[`onClick`]),h(v,{size:`small`,type:`danger`,text:``,onClick:e=>Q(t)},{default:e(()=>[...i[17]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[$,k.value]])]),m(`div`,E,[h(z,{"current-page":j.page,"onUpdate:currentPage":i[1]||=e=>j.page=e,"page-size":j.page_size,"onUpdate:pageSize":i[2]||=e=>j.page_size=e,total:O.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:ce,onSizeChange:le},null,8,[`current-page`,`page-size`,`total`])])]),h(X,{modelValue:M.value,"onUpdate:modelValue":i[8]||=e=>M.value=e,title:N.value,width:`480px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:i[7]||=e=>M.value=!1},{default:e(()=>[...i[21]||=[s(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:P.value,onClick:ae},{default:e(()=>[s(o(F.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[h(Y,{ref_key:`formRef`,ref:I,model:L,rules:R,"label-width":`90px`},{default:e(()=>[h(W,{label:`角色名称`,prop:`name`},{default:e(()=>[h(_,{modelValue:L.name,"onUpdate:modelValue":i[3]||=e=>L.name=e,placeholder:`请输入角色名称`},null,8,[`modelValue`])]),_:1}),F.value?(n(),c(W,{key:0,label:`角色标识`},{default:e(()=>[h(_,{modelValue:L.code,"onUpdate:modelValue":i[4]||=e=>L.code=e,disabled:``},null,8,[`modelValue`]),i[18]||=m(`div`,{class:`form-tip`},`角色标识由系统自动生成,不可修改`,-1)]),_:1})):u(``,!0),h(W,{label:`描述`,prop:`description`},{default:e(()=>[h(_,{modelValue:L.description,"onUpdate:modelValue":i[5]||=e=>L.description=e,type:`textarea`,rows:3,placeholder:`请输入角色描述(选填)`},null,8,[`modelValue`])]),_:1}),h(W,{label:`状态`,prop:`status`},{default:e(()=>[h(J,{modelValue:L.status,"onUpdate:modelValue":i[6]||=e=>L.status=e},{default:e(()=>[h(K,{value:1},{default:e(()=>[...i[19]||=[s(`启用`,-1)]]),_:1}),h(K,{value:0},{default:e(()=>[...i[20]||=[s(`禁用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),h(X,{modelValue:B.value,"onUpdate:modelValue":i[10]||=e=>B.value=e,title:`分配权限 - ${G.value}`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:i[9]||=e=>B.value=!1},{default:e(()=>[...i[22]||=[s(`取消`,-1)]]),_:1}),h(v,{type:`primary`,onClick:se},{default:e(()=>[...i[23]||=[s(`保存权限`,-1)]]),_:1})]),default:e(()=>[l((n(),f(`div`,te,[h(ue,{ref_key:`permTreeRef`,ref:H,data:U.value,props:q,"show-checkbox":``,"node-key":`id`,"default-expand-all":``,"check-strictly":``},null,8,[`data`]),!V.value&&U.value.length===0?(n(),c(de,{key:0,description:`暂无权限数据`})):u(``,!0)])),[[$,V.value]])]),_:1},8,[`modelValue`,`title`])])}}},[[`__scopeId`,`data-v-54fa926d`]]);export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/room-DSHyULwI.js b/frontend/dist/assets/room-ByMILmib.js similarity index 91% rename from frontend/dist/assets/room-DSHyULwI.js rename to frontend/dist/assets/room-ByMILmib.js index 8bd9d17..44e7df8 100644 --- a/frontend/dist/assets/room-DSHyULwI.js +++ b/frontend/dist/assets/room-ByMILmib.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/room/room-types`,{params:t}),getDetail:t=>e.get(`/room/room-types/${t}`),create:t=>e.post(`/room/room-types`,t),update:(t,n)=>e.put(`/room/room-types/${t}`,n),delete:t=>e.delete(`/room/room-types/${t}`)},n={getList:t=>e.get(`/room/rooms`,{params:t}),getDetail:t=>e.get(`/room/rooms/${t}`),create:t=>e.post(`/room/rooms`,t),update:(t,n)=>e.put(`/room/rooms/${t}`,n),delete:t=>e.delete(`/room/rooms/${t}`),updateStatus:(t,n)=>e.put(`/room/rooms/${t}/status`,n)},r={getList:t=>e.get(`/room/reservations`,{params:t}),getDetail:t=>e.get(`/room/reservations/${t}`),create:t=>e.post(`/room/reservations`,t),update:(t,n)=>e.put(`/room/reservations/${t}`,n),delete:t=>e.delete(`/room/reservations/${t}`),checkIn:t=>e.put(`/room/reservations/${t}/check-in`),checkOut:t=>e.put(`/room/reservations/${t}/check-out`),cancel:(t,n)=>e.put(`/room/reservations/${t}/cancel`,n)},i={getList:t=>e.get(`/room/customer-outings`,{params:t}),getDetail:t=>e.get(`/room/customer-outings/${t}`),create:t=>e.post(`/room/customer-outings`,t),recordBack:(t,n)=>e.put(`/room/customer-outings/${t}/back`,n)},a={getList:t=>e.get(`/room/call-records`,{params:t}),create:t=>e.post(`/room/call-records`,t),handle:(t,n)=>e.put(`/room/call-records/${t}/handle`,n)};export{t as a,n as i,i as n,r,a as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/room/room-types`,{params:t}),getDetail:t=>e.get(`/room/room-types/${t}`),create:t=>e.post(`/room/room-types`,t),update:(t,n)=>e.put(`/room/room-types/${t}`,n),delete:t=>e.delete(`/room/room-types/${t}`)},n={getList:t=>e.get(`/room/rooms`,{params:t}),getDetail:t=>e.get(`/room/rooms/${t}`),create:t=>e.post(`/room/rooms`,t),update:(t,n)=>e.put(`/room/rooms/${t}`,n),delete:t=>e.delete(`/room/rooms/${t}`),updateStatus:(t,n)=>e.put(`/room/rooms/${t}/status`,n)},r={getList:t=>e.get(`/room/reservations`,{params:t}),getDetail:t=>e.get(`/room/reservations/${t}`),create:t=>e.post(`/room/reservations`,t),update:(t,n)=>e.put(`/room/reservations/${t}`,n),delete:t=>e.delete(`/room/reservations/${t}`),checkIn:t=>e.put(`/room/reservations/${t}/check-in`),checkOut:t=>e.put(`/room/reservations/${t}/check-out`),cancel:(t,n)=>e.put(`/room/reservations/${t}/cancel`,n)},i={getList:t=>e.get(`/room/customer-outings`,{params:t}),getDetail:t=>e.get(`/room/customer-outings/${t}`),create:t=>e.post(`/room/customer-outings`,t),recordBack:(t,n)=>e.put(`/room/customer-outings/${t}/back`,n)},a={getList:t=>e.get(`/room/call-records`,{params:t}),create:t=>e.post(`/room/call-records`,t),handle:(t,n)=>e.put(`/room/call-records/${t}/handle`,n)};export{t as a,n as i,i as n,r,a as t}; \ No newline at end of file diff --git a/frontend/dist/assets/room-types-B7oEnDTu.js b/frontend/dist/assets/room-types-Di2pN98t.js similarity index 97% rename from frontend/dist/assets/room-types-B7oEnDTu.js rename to frontend/dist/assets/room-types-Di2pN98t.js index b35c440..0510a19 100644 --- a/frontend/dist/assets/room-types-B7oEnDTu.js +++ b/frontend/dist/assets/room-types-Di2pN98t.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{a as _}from"./room-DSHyULwI.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=d({name:``,status:``}),j=d({page:1,per_page:20}),M=l(null),N=d({id:null,name:``,price:0,description:``,facilities:[],sort:0,status:1}),P=l(!1),F={name:[{required:!0,message:`请输入房型名称`,trigger:`blur`}]};async function I(){D.value=!0;try{let e=await _.getList({...A,...j});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function L(){j.page=1,I()}function R(){Object.assign(A,{name:``,status:``}),L()}function z(){P.value=!1,Object.assign(N,{id:null,name:``,price:0,description:``,facilities:[],sort:0,status:1}),O.value=!0}async function B(e){P.value=!0;let t=(await _.getDetail(e.id)).data;Object.assign(N,{id:t.id,name:t.name,price:t.price||0,description:t.description||``,facilities:t.facilities||[],sort:t.sort||0,status:t.status}),O.value=!0}async function V(){M.value&&await M.value.validate(async e=>{if(e){k.value=!0;try{P.value?await _.update(N.id,N):await _.create(N),g.success(P.value?`更新成功`:`创建成功`),O.value=!1,I()}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除房型「${e.name}」吗?`,`删除确认`,{type:`warning`});try{await _.delete(e.id),g.success(`删除成功`),I()}catch{}}function U(e){j.page=e,I()}function W(e){j.per_page=e,j.page=1,I()}return r(()=>I()),(r,l)=>{let d=i(`el-input`),h=i(`el-option`),g=i(`el-select`),_=i(`el-button`),w=i(`el-table-column`),I=i(`el-tag`),G=i(`el-table`),K=i(`el-pagination`),q=i(`el-form-item`),J=i(`el-input-number`),Y=i(`el-switch`),X=i(`el-form`),Z=i(`el-dialog`),Q=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:A.name,"onUpdate:modelValue":l[0]||=e=>A.name=e,placeholder:`房型名称`,style:{width:`180px`},clearable:``,onKeydown:m(L,[`enter`])},null,8,[`modelValue`]),p(g,{modelValue:A.status,"onUpdate:modelValue":l[1]||=e=>A.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(h,{label:`启用`,value:1}),p(h,{label:`禁用`,value:0})]),_:1},8,[`modelValue`]),p(_,{type:`primary`,onClick:L},{default:e(()=>[...l[11]||=[o(`查询`,-1)]]),_:1}),p(_,{onClick:R},{default:e(()=>[...l[12]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[14]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`房型列表`)],-1),p(_,{type:`primary`,onClick:z},{default:e(()=>[...l[13]||=[o(`新增房型`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(G,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`name`,label:`房型名称`,"min-width":`150`}),p(w,{prop:`price`,label:`日单价(元)`,"min-width":`120`,align:`right`}),p(w,{label:`房间数`,width:`90`,align:`center`},{default:e(({row:e})=>[o(a(e.rooms_count||0),1)]),_:1}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(I,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),p(w,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),p(w,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(_,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(_,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Q,D.value]])]),f(`div`,C,[p(K,{"current-page":j.page,"onUpdate:currentPage":l[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":l[3]||=e=>j.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:U,onSizeChange:W},null,8,[`current-page`,`page-size`,`total`])])]),p(Z,{modelValue:O.value,"onUpdate:modelValue":l[10]||=e=>O.value=e,title:P.value?`编辑房型`:`新增房型`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[p(_,{onClick:l[9]||=e=>O.value=!1},{default:e(()=>[...l[17]||=[o(`取消`,-1)]]),_:1}),p(_,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[...l[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(X,{ref_key:`formRef`,ref:M,model:N,rules:F,"label-width":`80px`},{default:e(()=>[p(q,{label:`房型名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:N.name,"onUpdate:modelValue":l[4]||=e=>N.name=e},null,8,[`modelValue`])]),_:1}),p(q,{label:`日单价`},{default:e(()=>[p(J,{modelValue:N.price,"onUpdate:modelValue":l[5]||=e=>N.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`描述`},{default:e(()=>[p(d,{modelValue:N.description,"onUpdate:modelValue":l[6]||=e=>N.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),p(q,{label:`排序`},{default:e(()=>[p(J,{modelValue:N.sort,"onUpdate:modelValue":l[7]||=e=>N.sort=e,min:0},null,8,[`modelValue`])]),_:1}),p(q,{label:`状态`},{default:e(()=>[p(Y,{modelValue:N.status,"onUpdate:modelValue":l[8]||=e=>N.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{a as _}from"./room-ByMILmib.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=d({name:``,status:``}),j=d({page:1,per_page:20}),M=l(null),N=d({id:null,name:``,price:0,description:``,facilities:[],sort:0,status:1}),P=l(!1),F={name:[{required:!0,message:`请输入房型名称`,trigger:`blur`}]};async function I(){D.value=!0;try{let e=await _.getList({...A,...j});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function L(){j.page=1,I()}function R(){Object.assign(A,{name:``,status:``}),L()}function z(){P.value=!1,Object.assign(N,{id:null,name:``,price:0,description:``,facilities:[],sort:0,status:1}),O.value=!0}async function B(e){P.value=!0;let t=(await _.getDetail(e.id)).data;Object.assign(N,{id:t.id,name:t.name,price:t.price||0,description:t.description||``,facilities:t.facilities||[],sort:t.sort||0,status:t.status}),O.value=!0}async function V(){M.value&&await M.value.validate(async e=>{if(e){k.value=!0;try{P.value?await _.update(N.id,N):await _.create(N),g.success(P.value?`更新成功`:`创建成功`),O.value=!1,I()}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除房型「${e.name}」吗?`,`删除确认`,{type:`warning`});try{await _.delete(e.id),g.success(`删除成功`),I()}catch{}}function U(e){j.page=e,I()}function W(e){j.per_page=e,j.page=1,I()}return r(()=>I()),(r,l)=>{let d=i(`el-input`),h=i(`el-option`),g=i(`el-select`),_=i(`el-button`),w=i(`el-table-column`),I=i(`el-tag`),G=i(`el-table`),K=i(`el-pagination`),q=i(`el-form-item`),J=i(`el-input-number`),Y=i(`el-switch`),X=i(`el-form`),Z=i(`el-dialog`),Q=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:A.name,"onUpdate:modelValue":l[0]||=e=>A.name=e,placeholder:`房型名称`,style:{width:`180px`},clearable:``,onKeydown:m(L,[`enter`])},null,8,[`modelValue`]),p(g,{modelValue:A.status,"onUpdate:modelValue":l[1]||=e=>A.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(h,{label:`启用`,value:1}),p(h,{label:`禁用`,value:0})]),_:1},8,[`modelValue`]),p(_,{type:`primary`,onClick:L},{default:e(()=>[...l[11]||=[o(`查询`,-1)]]),_:1}),p(_,{onClick:R},{default:e(()=>[...l[12]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[14]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`房型列表`)],-1),p(_,{type:`primary`,onClick:z},{default:e(()=>[...l[13]||=[o(`新增房型`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(G,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`name`,label:`房型名称`,"min-width":`150`}),p(w,{prop:`price`,label:`日单价(元)`,"min-width":`120`,align:`right`}),p(w,{label:`房间数`,width:`90`,align:`center`},{default:e(({row:e})=>[o(a(e.rooms_count||0),1)]),_:1}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(I,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),p(w,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),p(w,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(_,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(_,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[16]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Q,D.value]])]),f(`div`,C,[p(K,{"current-page":j.page,"onUpdate:currentPage":l[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":l[3]||=e=>j.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:U,onSizeChange:W},null,8,[`current-page`,`page-size`,`total`])])]),p(Z,{modelValue:O.value,"onUpdate:modelValue":l[10]||=e=>O.value=e,title:P.value?`编辑房型`:`新增房型`,width:`550px`,"destroy-on-close":``},{footer:e(()=>[p(_,{onClick:l[9]||=e=>O.value=!1},{default:e(()=>[...l[17]||=[o(`取消`,-1)]]),_:1}),p(_,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[...l[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(X,{ref_key:`formRef`,ref:M,model:N,rules:F,"label-width":`80px`},{default:e(()=>[p(q,{label:`房型名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:N.name,"onUpdate:modelValue":l[4]||=e=>N.name=e},null,8,[`modelValue`])]),_:1}),p(q,{label:`日单价`},{default:e(()=>[p(J,{modelValue:N.price,"onUpdate:modelValue":l[5]||=e=>N.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),p(q,{label:`描述`},{default:e(()=>[p(d,{modelValue:N.description,"onUpdate:modelValue":l[6]||=e=>N.description=e,type:`textarea`,rows:3},null,8,[`modelValue`])]),_:1}),p(q,{label:`排序`},{default:e(()=>[p(J,{modelValue:N.sort,"onUpdate:modelValue":l[7]||=e=>N.sort=e,min:0},null,8,[`modelValue`])]),_:1}),p(q,{label:`状态`},{default:e(()=>[p(Y,{modelValue:N.status,"onUpdate:modelValue":l[8]||=e=>N.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/rooms-r10LmL0K.js b/frontend/dist/assets/rooms-Ch7GX3Px.js similarity index 97% rename from frontend/dist/assets/rooms-r10LmL0K.js rename to frontend/dist/assets/rooms-Ch7GX3Px.js index 75d26f0..3a4177c 100644 --- a/frontend/dist/assets/rooms-r10LmL0K.js +++ b/frontend/dist/assets/rooms-Ch7GX3Px.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{a as v,i as y}from"./room-DSHyULwI.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u([]),M=f({room_type_id:``,floor:``,status:``}),N=f({page:1,per_page:50}),P=u(null),F=f({id:null,room_type_id:``,floor:``,number:``,sort:0}),I=u(!1),L={room_type_id:[{required:!0,message:`请选择房型`,trigger:`change`}],number:[{required:!0,message:`请输入房间号`,trigger:`blur`}]},R={1:`空房`,2:`已预定`,3:`入住`,4:`维修`,5:`清洁`},z={1:`success`,2:`warning`,3:`primary`,4:`danger`,5:`info`};async function B(){O.value=!0;try{let e=await y.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}async function V(){try{let e=await v.getList({per_page:100});j.value=e.data?.list||e.data?.data||[]}catch{}}function H(){N.page=1,B()}function U(){Object.assign(M,{room_type_id:``,floor:``,status:``}),H()}function W(){I.value=!1,Object.assign(F,{id:null,room_type_id:``,floor:``,number:``,sort:0}),k.value=!0}async function G(e){I.value=!0,Object.assign(F,{id:e.id,room_type_id:e.room_type_id,floor:e.floor||``,number:e.number,sort:e.sort}),k.value=!0}async function K(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{I.value?await y.update(F.id,F):await y.create(F),_.success(I.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function q(e){if(e.status===3){_.warning(`入住中的房间无法删除`);return}await g.confirm(`确定删除房间「${e.number}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),_.success(`删除成功`),B()}async function J(e,t){await y.updateStatus(e.id,{status:t}),_.success(`状态更新成功`),B()}function Y(e){N.page=e,B()}function X(e){N.per_page=e,N.page=1,B()}return r(()=>{B(),V()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-input`),v=i(`el-button`),y=i(`el-table-column`),T=i(`el-tag`),B=i(`el-dropdown-item`),V=i(`el-dropdown-menu`),Z=i(`el-dropdown`),Q=i(`el-table`),te=i(`el-pagination`),$=i(`el-form-item`),ne=i(`el-input-number`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(g,{modelValue:M.room_type_id,"onUpdate:modelValue":u[0]||=e=>M.room_type_id=e,placeholder:`房型`,clearable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(_,{modelValue:M.floor,"onUpdate:modelValue":u[1]||=e=>M.floor=e,placeholder:`楼层`,style:{width:`100px`},clearable:``},null,8,[`modelValue`]),m(g,{modelValue:M.status,"onUpdate:modelValue":u[2]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{type:`primary`,onClick:H},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:U},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,ee,[p(`div`,S,[u[14]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`房间列表`)],-1),m(v,{type:`primary`,onClick:W},{default:e(()=>[...u[13]||=[o(`新增房间`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(Q,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(y,{prop:`number`,label:`房间号`,width:`100`}),m(y,{label:`房型`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.room_type?.name||`-`),1)]),_:1}),m(y,{prop:`floor`,label:`楼层`,width:`80`,align:`center`}),m(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(T,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(y,{label:`操作`,width:`300`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(v,{size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(Z,{trigger:`click`,onCommand:e=>J(t,e),style:{margin:`0 8px`}},{dropdown:e(()=>[m(V,null,{default:e(()=>[(n(),d(l,null,h(R,(n,r)=>m(B,{key:r,command:Number(r),disabled:t.status===Number(r)},{default:e(()=>[o(a(n),1)]),_:2},1032,[`command`,`disabled`])),64))]),_:2},1024)]),default:e(()=>[m(v,{size:`small`,type:`warning`,text:``},{default:e(()=>[...u[16]||=[o(`切换状态`,-1)]]),_:1})]),_:2},1032,[`onCommand`]),m(v,{size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,O.value]])]),p(`div`,w,[m(te,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[4]||=e=>N.per_page=e,total:D.value,"page-sizes":[20,50,100],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),m(ie,{modelValue:k.value,"onUpdate:modelValue":u[10]||=e=>k.value=e,title:I.value?`编辑房间`:`新增房间`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[9]||=e=>k.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:K},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(re,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m($,{label:`房型`,prop:`room_type_id`},{default:e(()=>[m(g,{modelValue:F.room_type_id,"onUpdate:modelValue":u[5]||=e=>F.room_type_id=e,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m($,{label:`房间号`,prop:`number`},{default:e(()=>[m(_,{modelValue:F.number,"onUpdate:modelValue":u[6]||=e=>F.number=e},null,8,[`modelValue`])]),_:1}),m($,{label:`楼层`},{default:e(()=>[m(_,{modelValue:F.floor,"onUpdate:modelValue":u[7]||=e=>F.floor=e},null,8,[`modelValue`])]),_:1}),m($,{label:`排序`},{default:e(()=>[m(ne,{modelValue:F.sort,"onUpdate:modelValue":u[8]||=e=>F.sort=e,min:0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{a as v,i as y}from"./room-ByMILmib.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},ee={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u([]),M=f({room_type_id:``,floor:``,status:``}),N=f({page:1,per_page:50}),P=u(null),F=f({id:null,room_type_id:``,floor:``,number:``,sort:0}),I=u(!1),L={room_type_id:[{required:!0,message:`请选择房型`,trigger:`change`}],number:[{required:!0,message:`请输入房间号`,trigger:`blur`}]},R={1:`空房`,2:`已预定`,3:`入住`,4:`维修`,5:`清洁`},z={1:`success`,2:`warning`,3:`primary`,4:`danger`,5:`info`};async function B(){O.value=!0;try{let e=await y.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}async function V(){try{let e=await v.getList({per_page:100});j.value=e.data?.list||e.data?.data||[]}catch{}}function H(){N.page=1,B()}function U(){Object.assign(M,{room_type_id:``,floor:``,status:``}),H()}function W(){I.value=!1,Object.assign(F,{id:null,room_type_id:``,floor:``,number:``,sort:0}),k.value=!0}async function G(e){I.value=!0,Object.assign(F,{id:e.id,room_type_id:e.room_type_id,floor:e.floor||``,number:e.number,sort:e.sort}),k.value=!0}async function K(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{I.value?await y.update(F.id,F):await y.create(F),_.success(I.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function q(e){if(e.status===3){_.warning(`入住中的房间无法删除`);return}await g.confirm(`确定删除房间「${e.number}」吗?`,`删除确认`,{type:`warning`}),await y.delete(e.id),_.success(`删除成功`),B()}async function J(e,t){await y.updateStatus(e.id,{status:t}),_.success(`状态更新成功`),B()}function Y(e){N.page=e,B()}function X(e){N.per_page=e,N.page=1,B()}return r(()=>{B(),V()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-input`),v=i(`el-button`),y=i(`el-table-column`),T=i(`el-tag`),B=i(`el-dropdown-item`),V=i(`el-dropdown-menu`),Z=i(`el-dropdown`),Q=i(`el-table`),te=i(`el-pagination`),$=i(`el-form-item`),ne=i(`el-input-number`),re=i(`el-form`),ie=i(`el-dialog`),ae=t(`loading`);return n(),d(`div`,b,[p(`div`,x,[m(g,{modelValue:M.room_type_id,"onUpdate:modelValue":u[0]||=e=>M.room_type_id=e,placeholder:`房型`,clearable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(_,{modelValue:M.floor,"onUpdate:modelValue":u[1]||=e=>M.floor=e,placeholder:`楼层`,style:{width:`100px`},clearable:``},null,8,[`modelValue`]),m(g,{modelValue:M.status,"onUpdate:modelValue":u[2]||=e=>M.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(v,{type:`primary`,onClick:H},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:U},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,ee,[p(`div`,S,[u[14]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`房间列表`)],-1),m(v,{type:`primary`,onClick:W},{default:e(()=>[...u[13]||=[o(`新增房间`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(Q,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(y,{prop:`number`,label:`房间号`,width:`100`}),m(y,{label:`房型`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.room_type?.name||`-`),1)]),_:1}),m(y,{prop:`floor`,label:`楼层`,width:`80`,align:`center`}),m(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(T,{type:z[t.status],size:`small`},{default:e(()=>[o(a(R[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(y,{label:`操作`,width:`300`,fixed:`right`,align:`center`},{default:e(({row:t})=>[m(v,{size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...u[15]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(Z,{trigger:`click`,onCommand:e=>J(t,e),style:{margin:`0 8px`}},{dropdown:e(()=>[m(V,null,{default:e(()=>[(n(),d(l,null,h(R,(n,r)=>m(B,{key:r,command:Number(r),disabled:t.status===Number(r)},{default:e(()=>[o(a(n),1)]),_:2},1032,[`command`,`disabled`])),64))]),_:2},1024)]),default:e(()=>[m(v,{size:`small`,type:`warning`,text:``},{default:e(()=>[...u[16]||=[o(`切换状态`,-1)]]),_:1})]),_:2},1032,[`onCommand`]),m(v,{size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,O.value]])]),p(`div`,w,[m(te,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[4]||=e=>N.per_page=e,total:D.value,"page-sizes":[20,50,100],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:Y,onSizeChange:X},null,8,[`current-page`,`page-size`,`total`])])]),m(ie,{modelValue:k.value,"onUpdate:modelValue":u[10]||=e=>k.value=e,title:I.value?`编辑房间`:`新增房间`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[9]||=e=>k.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:K},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(re,{ref_key:`formRef`,ref:P,model:F,rules:L,"label-width":`80px`},{default:e(()=>[m($,{label:`房型`,prop:`room_type_id`},{default:e(()=>[m(g,{modelValue:F.room_type_id,"onUpdate:modelValue":u[5]||=e=>F.room_type_id=e,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m($,{label:`房间号`,prop:`number`},{default:e(()=>[m(_,{modelValue:F.number,"onUpdate:modelValue":u[6]||=e=>F.number=e},null,8,[`modelValue`])]),_:1}),m($,{label:`楼层`},{default:e(()=>[m(_,{modelValue:F.floor,"onUpdate:modelValue":u[7]||=e=>F.floor=e},null,8,[`modelValue`])]),_:1}),m($,{label:`排序`},{default:e(()=>[m(ne,{modelValue:F.sort,"onUpdate:modelValue":u[8]||=e=>F.sort=e,min:0},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/salaries-8jlqvzHO.js b/frontend/dist/assets/salaries-Bc2_dQt2.js similarity index 98% rename from frontend/dist/assets/salaries-8jlqvzHO.js rename to frontend/dist/assets/salaries-Bc2_dQt2.js index a456cc7..c8bba93 100644 --- a/frontend/dist/assets/salaries-8jlqvzHO.js +++ b/frontend/dist/assets/salaries-Bc2_dQt2.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,Z as a,_ as o,d as s,et as c,f as l,i as u,l as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as te,o as v,s as y}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{i as b,n as x}from"./hr-CYqLK_6c.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={style:{"font-weight":`700`}},O={class:`px-5 py-3 border-t border-gray-50`},k={style:{"font-size":`12px`,color:`var(--color-text-secondary)`}},A={__name:`index`,setup(A){let j=f([]),M=f(0),N=f(!1),P=f(!1),F=f(!1),I=f([]),L=m({year_month:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({id:null,user_id:``,year_month:``,base_salary:0,position_salary:0,performance:0,overtime_pay:0,subsidy:0,social_insurance:0,housing_fund:0,tax:0,absence_deduction:0,other_deduction:0,actual_amount:0}),V=f(!1),H=f(!0),U={user_id:[{required:!0,message:`请选择员工`,trigger:`change`}],year_month:[{required:!0,message:`请输入工资月份`,trigger:`blur`}]},W={0:`待确认`,1:`已确认`,2:`已发放`},G={0:`warning`,1:`primary`,2:`success`},K=d(()=>{let e=Number(B.base_salary||0)+Number(B.position_salary||0)+Number(B.performance||0)+Number(B.overtime_pay||0)+Number(B.subsidy||0),t=Number(B.social_insurance||0)+Number(B.housing_fund||0)+Number(B.tax||0)+Number(B.absence_deduction||0)+Number(B.other_deduction||0);return Math.round((e-t)*100)/100});a(K,e=>{H.value&&(B.actual_amount=e)});function q(e){return Number(e.social_insurance||0)+Number(e.housing_fund||0)+Number(e.tax||0)+Number(e.absence_deduction||0)+Number(e.other_deduction||0)}async function J(){N.value=!0;try{let e=await b.getList({...L,...R});j.value=e.data?.list||e.data?.data||[],M.value=e.data?.total||0}finally{N.value=!1}}async function Y(){try{let e=await x.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function X(){R.page=1,J()}function Z(){Object.assign(L,{year_month:``,status:``}),X()}let Q={id:null,user_id:``,year_month:``,base_salary:0,position_salary:0,performance:0,overtime_pay:0,subsidy:0,social_insurance:0,housing_fund:0,tax:0,absence_deduction:0,other_deduction:0,actual_amount:0};function ne(){V.value=!1,H.value=!0,Object.assign(B,{...Q}),P.value=!0}async function re(e){if(e.status!==0){y.warning(`只能编辑待确认记录`);return}V.value=!0,H.value=!1;let t=(await b.getDetail(e.id)).data;Object.assign(B,{id:t.id,user_id:t.user_id,year_month:t.year_month,base_salary:t.base_salary||0,position_salary:t.position_salary||0,performance:t.performance||0,overtime_pay:t.overtime_pay||0,subsidy:t.subsidy||0,social_insurance:t.social_insurance||0,housing_fund:t.housing_fund||0,tax:t.tax||0,absence_deduction:t.absence_deduction||0,other_deduction:t.other_deduction||0,actual_amount:t.actual_amount||0}),H.value=!0,P.value=!0}async function ie(){z.value&&await z.value.validate(async e=>{if(e){F.value=!0;try{V.value?(await b.update(B.id,B),y.success(`更新成功`)):(await b.create(B),y.success(`创建成功`)),P.value=!1,J()}finally{F.value=!1}}})}async function ae(e){if(e.status!==0){y.warning(`只能删除待确认记录`);return}await v.confirm(`确定删除该工资记录吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),y.success(`删除成功`),J()}async function oe(e){await v.confirm(`确认该工资记录?确认后不可编辑。`,`确认操作`,{type:`warning`}),await b.confirm(e.id),y.success(`确认成功`),J()}async function $(e){await v.confirm(`确定标记为已发放吗?`,`发放确认`,{type:`warning`}),await b.pay(e.id),y.success(`发放成功`),J()}function se(e){R.page=e,J()}function ce(e){R.per_page=e,R.page=1,J()}return ee(()=>{J(),Y()}),(ee,a)=>{let d=r(`el-input`),f=r(`el-option`),m=r(`el-select`),v=r(`el-button`),y=r(`el-table-column`),b=r(`el-tag`),x=r(`el-table`),A=r(`el-pagination`),H=r(`el-form-item`),J=r(`el-col`),Y=r(`el-input-number`),Q=r(`el-divider`),le=r(`el-row`),ue=r(`el-form`),de=r(`el-dialog`),fe=t(`loading`);return n(),p(`div`,S,[h(`div`,C,[g(d,{modelValue:L.year_month,"onUpdate:modelValue":a[0]||=e=>L.year_month=e,placeholder:`工资月份 (如 2024-03)`,style:{width:`200px`},clearable:``,onKeydown:te(X,[`enter`])},null,8,[`modelValue`]),g(m,{modelValue:L.status,"onUpdate:modelValue":a[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(u,null,_(W,(e,t)=>g(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(v,{type:`primary`,onClick:X},{default:e(()=>[...a[19]||=[o(`查询`,-1)]]),_:1}),g(v,{onClick:Z},{default:e(()=>[...a[20]||=[o(`重置`,-1)]]),_:1})]),h(`div`,w,[h(`div`,T,[a[22]||=h(`div`,{class:`flex items-center gap-3`},[h(`span`,{class:`font-medium text-gray-700`},`工资记录列表`)],-1),g(v,{type:`primary`,onClick:ne},{default:e(()=>[...a[21]||=[o(`新增工资记录`,-1)]]),_:1})]),h(`div`,E,[c((n(),s(x,{data:j.value,style:{width:`100%`}},{default:e(()=>[g(y,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(i(e.user?.name||`-`),1)]),_:1}),g(y,{prop:`year_month`,label:`工资月份`,width:`110`,align:`center`}),g(y,{prop:`base_salary`,label:`基本工资`,width:`110`,align:`right`}),g(y,{prop:`position_salary`,label:`岗位工资`,width:`110`,align:`right`}),g(y,{prop:`performance`,label:`绩效`,width:`100`,align:`right`}),g(y,{prop:`overtime_pay`,label:`加班费`,width:`100`,align:`right`}),g(y,{prop:`subsidy`,label:`补贴`,width:`90`,align:`right`}),g(y,{label:`扣除合计`,width:`110`,align:`right`},{default:e(({row:e})=>[o(i(q(e).toFixed(2)),1)]),_:1}),g(y,{label:`实发金额`,width:`120`,align:`right`},{default:e(({row:e})=>[h(`span`,D,i(e.actual_amount),1)]),_:1}),g(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[g(b,{type:G[t.status],size:`small`},{default:e(()=>[o(i(W[t.status]),1)]),_:2},1032,[`type`])]),_:1}),g(y,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>oe(t)},{default:e(()=>[...a[23]||=[o(`确认`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?(n(),s(v,{key:1,size:`small`,type:`success`,text:``,onClick:e=>$(t)},{default:e(()=>[...a[24]||=[o(`发放`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(v,{key:2,size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...a[25]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(v,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>ae(t)},{default:e(()=>[...a[26]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[fe,N.value]])]),h(`div`,O,[g(A,{"current-page":R.page,"onUpdate:currentPage":a[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":a[3]||=e=>R.per_page=e,total:M.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:se,onSizeChange:ce},null,8,[`current-page`,`page-size`,`total`])])]),g(de,{modelValue:P.value,"onUpdate:modelValue":a[18]||=e=>P.value=e,title:V.value?`编辑工资记录`:`新增工资记录`,width:`750px`,"destroy-on-close":``},{footer:e(()=>[g(v,{onClick:a[17]||=e=>P.value=!1},{default:e(()=>[...a[28]||=[o(`取消`,-1)]]),_:1}),g(v,{type:`primary`,loading:F.value,onClick:ie},{default:e(()=>[...a[29]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(ue,{ref_key:`formRef`,ref:z,model:B,rules:U,"label-width":`100px`},{default:e(()=>[g(le,{gutter:16},{default:e(()=>[g(J,{span:12},{default:e(()=>[g(H,{label:`员工`,prop:`user_id`},{default:e(()=>[g(m,{modelValue:B.user_id,"onUpdate:modelValue":a[4]||=e=>B.user_id=e,placeholder:`选择员工`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),p(u,null,_(I.value,e=>(n(),s(f,{key:e.id,label:e.user?.name||e.name||`员工${e.id}`,value:e.user_id||e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:12},{default:e(()=>[g(H,{label:`工资月份`,prop:`year_month`},{default:e(()=>[g(d,{modelValue:B.year_month,"onUpdate:modelValue":a[5]||=e=>B.year_month=e,placeholder:`如 2024-03`},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`基本工资`},{default:e(()=>[g(Y,{modelValue:B.base_salary,"onUpdate:modelValue":a[6]||=e=>B.base_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`岗位工资`},{default:e(()=>[g(Y,{modelValue:B.position_salary,"onUpdate:modelValue":a[7]||=e=>B.position_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`绩效`},{default:e(()=>[g(Y,{modelValue:B.performance,"onUpdate:modelValue":a[8]||=e=>B.performance=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`加班费`},{default:e(()=>[g(Y,{modelValue:B.overtime_pay,"onUpdate:modelValue":a[9]||=e=>B.overtime_pay=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`补贴`},{default:e(()=>[g(Y,{modelValue:B.subsidy,"onUpdate:modelValue":a[10]||=e=>B.subsidy=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:24},{default:e(()=>[g(Q,{"content-position":`left`},{default:e(()=>[...a[27]||=[o(`扣除项`,-1)]]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`社保`},{default:e(()=>[g(Y,{modelValue:B.social_insurance,"onUpdate:modelValue":a[11]||=e=>B.social_insurance=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`公积金`},{default:e(()=>[g(Y,{modelValue:B.housing_fund,"onUpdate:modelValue":a[12]||=e=>B.housing_fund=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`个税`},{default:e(()=>[g(Y,{modelValue:B.tax,"onUpdate:modelValue":a[13]||=e=>B.tax=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`缺勤扣款`},{default:e(()=>[g(Y,{modelValue:B.absence_deduction,"onUpdate:modelValue":a[14]||=e=>B.absence_deduction=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`其他扣款`},{default:e(()=>[g(Y,{modelValue:B.other_deduction,"onUpdate:modelValue":a[15]||=e=>B.other_deduction=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:24},{default:e(()=>[g(Q)]),_:1}),g(J,{span:12},{default:e(()=>[g(H,{label:`实发金额`},{default:e(()=>[g(Y,{modelValue:B.actual_amount,"onUpdate:modelValue":a[16]||=e=>B.actual_amount=e,precision:2,style:{width:`100%`}},null,8,[`modelValue`]),h(`div`,k,`自动计算:收入合计 - 扣除合计 = `+i(K.value.toFixed(2)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{A as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,Z as a,_ as o,d as s,et as c,f as l,i as u,l as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as te,o as v,s as y}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{i as b,n as x}from"./hr-BpuQE_Km.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={style:{"font-weight":`700`}},O={class:`px-5 py-3 border-t border-gray-50`},k={style:{"font-size":`12px`,color:`var(--color-text-secondary)`}},A={__name:`index`,setup(A){let j=f([]),M=f(0),N=f(!1),P=f(!1),F=f(!1),I=f([]),L=m({year_month:``,status:``}),R=m({page:1,per_page:20}),z=f(null),B=m({id:null,user_id:``,year_month:``,base_salary:0,position_salary:0,performance:0,overtime_pay:0,subsidy:0,social_insurance:0,housing_fund:0,tax:0,absence_deduction:0,other_deduction:0,actual_amount:0}),V=f(!1),H=f(!0),U={user_id:[{required:!0,message:`请选择员工`,trigger:`change`}],year_month:[{required:!0,message:`请输入工资月份`,trigger:`blur`}]},W={0:`待确认`,1:`已确认`,2:`已发放`},G={0:`warning`,1:`primary`,2:`success`},K=d(()=>{let e=Number(B.base_salary||0)+Number(B.position_salary||0)+Number(B.performance||0)+Number(B.overtime_pay||0)+Number(B.subsidy||0),t=Number(B.social_insurance||0)+Number(B.housing_fund||0)+Number(B.tax||0)+Number(B.absence_deduction||0)+Number(B.other_deduction||0);return Math.round((e-t)*100)/100});a(K,e=>{H.value&&(B.actual_amount=e)});function q(e){return Number(e.social_insurance||0)+Number(e.housing_fund||0)+Number(e.tax||0)+Number(e.absence_deduction||0)+Number(e.other_deduction||0)}async function J(){N.value=!0;try{let e=await b.getList({...L,...R});j.value=e.data?.list||e.data?.data||[],M.value=e.data?.total||0}finally{N.value=!1}}async function Y(){try{let e=await x.getList({per_page:500});I.value=e.data?.list||e.data?.data||[]}catch{}}function X(){R.page=1,J()}function Z(){Object.assign(L,{year_month:``,status:``}),X()}let Q={id:null,user_id:``,year_month:``,base_salary:0,position_salary:0,performance:0,overtime_pay:0,subsidy:0,social_insurance:0,housing_fund:0,tax:0,absence_deduction:0,other_deduction:0,actual_amount:0};function ne(){V.value=!1,H.value=!0,Object.assign(B,{...Q}),P.value=!0}async function re(e){if(e.status!==0){y.warning(`只能编辑待确认记录`);return}V.value=!0,H.value=!1;let t=(await b.getDetail(e.id)).data;Object.assign(B,{id:t.id,user_id:t.user_id,year_month:t.year_month,base_salary:t.base_salary||0,position_salary:t.position_salary||0,performance:t.performance||0,overtime_pay:t.overtime_pay||0,subsidy:t.subsidy||0,social_insurance:t.social_insurance||0,housing_fund:t.housing_fund||0,tax:t.tax||0,absence_deduction:t.absence_deduction||0,other_deduction:t.other_deduction||0,actual_amount:t.actual_amount||0}),H.value=!0,P.value=!0}async function ie(){z.value&&await z.value.validate(async e=>{if(e){F.value=!0;try{V.value?(await b.update(B.id,B),y.success(`更新成功`)):(await b.create(B),y.success(`创建成功`)),P.value=!1,J()}finally{F.value=!1}}})}async function ae(e){if(e.status!==0){y.warning(`只能删除待确认记录`);return}await v.confirm(`确定删除该工资记录吗?`,`删除确认`,{type:`warning`}),await b.delete(e.id),y.success(`删除成功`),J()}async function oe(e){await v.confirm(`确认该工资记录?确认后不可编辑。`,`确认操作`,{type:`warning`}),await b.confirm(e.id),y.success(`确认成功`),J()}async function $(e){await v.confirm(`确定标记为已发放吗?`,`发放确认`,{type:`warning`}),await b.pay(e.id),y.success(`发放成功`),J()}function se(e){R.page=e,J()}function ce(e){R.per_page=e,R.page=1,J()}return ee(()=>{J(),Y()}),(ee,a)=>{let d=r(`el-input`),f=r(`el-option`),m=r(`el-select`),v=r(`el-button`),y=r(`el-table-column`),b=r(`el-tag`),x=r(`el-table`),A=r(`el-pagination`),H=r(`el-form-item`),J=r(`el-col`),Y=r(`el-input-number`),Q=r(`el-divider`),le=r(`el-row`),ue=r(`el-form`),de=r(`el-dialog`),fe=t(`loading`);return n(),p(`div`,S,[h(`div`,C,[g(d,{modelValue:L.year_month,"onUpdate:modelValue":a[0]||=e=>L.year_month=e,placeholder:`工资月份 (如 2024-03)`,style:{width:`200px`},clearable:``,onKeydown:te(X,[`enter`])},null,8,[`modelValue`]),g(m,{modelValue:L.status,"onUpdate:modelValue":a[1]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),p(u,null,_(W,(e,t)=>g(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),g(v,{type:`primary`,onClick:X},{default:e(()=>[...a[19]||=[o(`查询`,-1)]]),_:1}),g(v,{onClick:Z},{default:e(()=>[...a[20]||=[o(`重置`,-1)]]),_:1})]),h(`div`,w,[h(`div`,T,[a[22]||=h(`div`,{class:`flex items-center gap-3`},[h(`span`,{class:`font-medium text-gray-700`},`工资记录列表`)],-1),g(v,{type:`primary`,onClick:ne},{default:e(()=>[...a[21]||=[o(`新增工资记录`,-1)]]),_:1})]),h(`div`,E,[c((n(),s(x,{data:j.value,style:{width:`100%`}},{default:e(()=>[g(y,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(i(e.user?.name||`-`),1)]),_:1}),g(y,{prop:`year_month`,label:`工资月份`,width:`110`,align:`center`}),g(y,{prop:`base_salary`,label:`基本工资`,width:`110`,align:`right`}),g(y,{prop:`position_salary`,label:`岗位工资`,width:`110`,align:`right`}),g(y,{prop:`performance`,label:`绩效`,width:`100`,align:`right`}),g(y,{prop:`overtime_pay`,label:`加班费`,width:`100`,align:`right`}),g(y,{prop:`subsidy`,label:`补贴`,width:`90`,align:`right`}),g(y,{label:`扣除合计`,width:`110`,align:`right`},{default:e(({row:e})=>[o(i(q(e).toFixed(2)),1)]),_:1}),g(y,{label:`实发金额`,width:`120`,align:`right`},{default:e(({row:e})=>[h(`span`,D,i(e.actual_amount),1)]),_:1}),g(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[g(b,{type:G[t.status],size:`small`},{default:e(()=>[o(i(W[t.status]),1)]),_:2},1032,[`type`])]),_:1}),g(y,{label:`操作`,width:`220`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>oe(t)},{default:e(()=>[...a[23]||=[o(`确认`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===1?(n(),s(v,{key:1,size:`small`,type:`success`,text:``,onClick:e=>$(t)},{default:e(()=>[...a[24]||=[o(`发放`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(v,{key:2,size:`small`,type:`primary`,text:``,onClick:e=>re(t)},{default:e(()=>[...a[25]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===0?(n(),s(v,{key:3,size:`small`,type:`danger`,text:``,onClick:e=>ae(t)},{default:e(()=>[...a[26]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])):l(``,!0)]),_:1})]),_:1},8,[`data`])),[[fe,N.value]])]),h(`div`,O,[g(A,{"current-page":R.page,"onUpdate:currentPage":a[2]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":a[3]||=e=>R.per_page=e,total:M.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:se,onSizeChange:ce},null,8,[`current-page`,`page-size`,`total`])])]),g(de,{modelValue:P.value,"onUpdate:modelValue":a[18]||=e=>P.value=e,title:V.value?`编辑工资记录`:`新增工资记录`,width:`750px`,"destroy-on-close":``},{footer:e(()=>[g(v,{onClick:a[17]||=e=>P.value=!1},{default:e(()=>[...a[28]||=[o(`取消`,-1)]]),_:1}),g(v,{type:`primary`,loading:F.value,onClick:ie},{default:e(()=>[...a[29]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[g(ue,{ref_key:`formRef`,ref:z,model:B,rules:U,"label-width":`100px`},{default:e(()=>[g(le,{gutter:16},{default:e(()=>[g(J,{span:12},{default:e(()=>[g(H,{label:`员工`,prop:`user_id`},{default:e(()=>[g(m,{modelValue:B.user_id,"onUpdate:modelValue":a[4]||=e=>B.user_id=e,placeholder:`选择员工`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),p(u,null,_(I.value,e=>(n(),s(f,{key:e.id,label:e.user?.name||e.name||`员工${e.id}`,value:e.user_id||e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:12},{default:e(()=>[g(H,{label:`工资月份`,prop:`year_month`},{default:e(()=>[g(d,{modelValue:B.year_month,"onUpdate:modelValue":a[5]||=e=>B.year_month=e,placeholder:`如 2024-03`},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`基本工资`},{default:e(()=>[g(Y,{modelValue:B.base_salary,"onUpdate:modelValue":a[6]||=e=>B.base_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`岗位工资`},{default:e(()=>[g(Y,{modelValue:B.position_salary,"onUpdate:modelValue":a[7]||=e=>B.position_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`绩效`},{default:e(()=>[g(Y,{modelValue:B.performance,"onUpdate:modelValue":a[8]||=e=>B.performance=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`加班费`},{default:e(()=>[g(Y,{modelValue:B.overtime_pay,"onUpdate:modelValue":a[9]||=e=>B.overtime_pay=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`补贴`},{default:e(()=>[g(Y,{modelValue:B.subsidy,"onUpdate:modelValue":a[10]||=e=>B.subsidy=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:24},{default:e(()=>[g(Q,{"content-position":`left`},{default:e(()=>[...a[27]||=[o(`扣除项`,-1)]]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`社保`},{default:e(()=>[g(Y,{modelValue:B.social_insurance,"onUpdate:modelValue":a[11]||=e=>B.social_insurance=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`公积金`},{default:e(()=>[g(Y,{modelValue:B.housing_fund,"onUpdate:modelValue":a[12]||=e=>B.housing_fund=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`个税`},{default:e(()=>[g(Y,{modelValue:B.tax,"onUpdate:modelValue":a[13]||=e=>B.tax=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`缺勤扣款`},{default:e(()=>[g(Y,{modelValue:B.absence_deduction,"onUpdate:modelValue":a[14]||=e=>B.absence_deduction=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:8},{default:e(()=>[g(H,{label:`其他扣款`},{default:e(()=>[g(Y,{modelValue:B.other_deduction,"onUpdate:modelValue":a[15]||=e=>B.other_deduction=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(J,{span:24},{default:e(()=>[g(Q)]),_:1}),g(J,{span:12},{default:e(()=>[g(H,{label:`实发金额`},{default:e(()=>[g(Y,{modelValue:B.actual_amount,"onUpdate:modelValue":a[16]||=e=>B.actual_amount=e,precision:2,style:{width:`100%`}},null,8,[`modelValue`]),h(`div`,k,`自动计算:收入合计 - 扣除合计 = `+i(K.value.toFixed(2)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{A as default}; \ No newline at end of file diff --git a/frontend/dist/assets/schedules-DvK15sxY.js b/frontend/dist/assets/schedules-CCj2xXC0.js similarity index 97% rename from frontend/dist/assets/schedules-DvK15sxY.js rename to frontend/dist/assets/schedules-CCj2xXC0.js index e3450e3..e6f51c7 100644 --- a/frontend/dist/assets/schedules-DvK15sxY.js +++ b/frontend/dist/assets/schedules-CCj2xXC0.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{r as _,t as v}from"./nanny-Cp-L-Ws0.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u([]),M=f({nanny_id:``,start_date:``,end_date:``}),N=f({page:1,per_page:31}),P=f({nanny_id:``,nanny_order_id:``,schedule_date:``,type:1,remark:``}),F={1:`上班`,2:`休息`,3:`请假`},I={1:`success`,2:`info`,3:`warning`};async function L(){O.value=!0;try{let e=await _.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}async function R(){try{let e=await v.getList({per_page:200,status:2});j.value=e.data?.list||e.data?.data||[]}catch{}}function z(){N.page=1,L()}function B(){Object.assign(M,{nanny_id:``,start_date:``,end_date:``}),z()}function V(){Object.assign(P,{nanny_id:``,nanny_order_id:``,schedule_date:``,type:1,remark:``}),k.value=!0}async function H(){if(!P.nanny_id||!P.schedule_date){g.warning(`请填写必要信息`);return}A.value=!0;try{await _.create(P),g.success(`排班成功`),k.value=!1,L()}finally{A.value=!1}}function U(e){N.page=e,L()}return r(()=>{L(),R()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-date-picker`),v=i(`el-button`),T=i(`el-table-column`),L=i(`el-tag`),R=i(`el-table`),W=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),q=i(`el-form`),J=i(`el-dialog`),Y=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:M.nanny_id,"onUpdate:modelValue":u[0]||=e=>M.nanny_id=e,placeholder:`选择月嫂`,clearable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(_,{modelValue:M.start_date,"onUpdate:modelValue":u[1]||=e=>M.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`},null,8,[`modelValue`]),m(_,{modelValue:M.end_date,"onUpdate:modelValue":u[2]||=e=>M.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:z},{default:e(()=>[...u[10]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:B},{default:e(()=>[...u[11]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[13]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`排班记录`)],-1),m(v,{type:`primary`,onClick:V},{default:e(()=>[...u[12]||=[o(`新增排班`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(R,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{label:`月嫂`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.nanny?.name||`-`),1)]),_:1}),m(T,{prop:`schedule_date`,label:`日期`,width:`120`}),m(T,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[m(L,{type:I[t.type],size:`small`},{default:e(()=>[o(a(F[t.type]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{label:`关联订单`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.order?.order_no||`-`),1)]),_:1}),m(T,{prop:`remark`,label:`备注`,"min-width":`150`})]),_:1},8,[`data`])),[[Y,O.value]])]),p(`div`,w,[m(W,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,total:D.value,layout:`total,prev,pager,next`,background:``,onCurrentChange:U},null,8,[`current-page`,`total`])])]),m(J,{modelValue:k.value,"onUpdate:modelValue":u[9]||=e=>k.value=e,title:`新增排班`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[8]||=e=>k.value=!1},{default:e(()=>[...u[14]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:H},{default:e(()=>[...u[15]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(q,{"label-width":`80px`},{default:e(()=>[m(G,{label:`月嫂`},{default:e(()=>[m(g,{modelValue:P.nanny_id,"onUpdate:modelValue":u[4]||=e=>P.nanny_id=e,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(G,{label:`日期`},{default:e(()=>[m(_,{modelValue:P.schedule_date,"onUpdate:modelValue":u[5]||=e=>P.schedule_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(G,{label:`类型`},{default:e(()=>[m(g,{modelValue:P.type,"onUpdate:modelValue":u[6]||=e=>P.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(F,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(G,{label:`备注`},{default:e(()=>[m(K,{modelValue:P.remark,"onUpdate:modelValue":u[7]||=e=>P.remark=e},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{r as _,t as v}from"./nanny-Bdev7M11.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u([]),M=f({nanny_id:``,start_date:``,end_date:``}),N=f({page:1,per_page:31}),P=f({nanny_id:``,nanny_order_id:``,schedule_date:``,type:1,remark:``}),F={1:`上班`,2:`休息`,3:`请假`},I={1:`success`,2:`info`,3:`warning`};async function L(){O.value=!0;try{let e=await _.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}async function R(){try{let e=await v.getList({per_page:200,status:2});j.value=e.data?.list||e.data?.data||[]}catch{}}function z(){N.page=1,L()}function B(){Object.assign(M,{nanny_id:``,start_date:``,end_date:``}),z()}function V(){Object.assign(P,{nanny_id:``,nanny_order_id:``,schedule_date:``,type:1,remark:``}),k.value=!0}async function H(){if(!P.nanny_id||!P.schedule_date){g.warning(`请填写必要信息`);return}A.value=!0;try{await _.create(P),g.success(`排班成功`),k.value=!1,L()}finally{A.value=!1}}function U(e){N.page=e,L()}return r(()=>{L(),R()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-date-picker`),v=i(`el-button`),T=i(`el-table-column`),L=i(`el-tag`),R=i(`el-table`),W=i(`el-pagination`),G=i(`el-form-item`),K=i(`el-input`),q=i(`el-form`),J=i(`el-dialog`),Y=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:M.nanny_id,"onUpdate:modelValue":u[0]||=e=>M.nanny_id=e,placeholder:`选择月嫂`,clearable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(_,{modelValue:M.start_date,"onUpdate:modelValue":u[1]||=e=>M.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`},null,8,[`modelValue`]),m(_,{modelValue:M.end_date,"onUpdate:modelValue":u[2]||=e=>M.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:z},{default:e(()=>[...u[10]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:B},{default:e(()=>[...u[11]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[13]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`排班记录`)],-1),m(v,{type:`primary`,onClick:V},{default:e(()=>[...u[12]||=[o(`新增排班`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(R,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{label:`月嫂`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.nanny?.name||`-`),1)]),_:1}),m(T,{prop:`schedule_date`,label:`日期`,width:`120`}),m(T,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[m(L,{type:I[t.type],size:`small`},{default:e(()=>[o(a(F[t.type]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{label:`关联订单`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.order?.order_no||`-`),1)]),_:1}),m(T,{prop:`remark`,label:`备注`,"min-width":`150`})]),_:1},8,[`data`])),[[Y,O.value]])]),p(`div`,w,[m(W,{"current-page":N.page,"onUpdate:currentPage":u[3]||=e=>N.page=e,total:D.value,layout:`total,prev,pager,next`,background:``,onCurrentChange:U},null,8,[`current-page`,`total`])])]),m(J,{modelValue:k.value,"onUpdate:modelValue":u[9]||=e=>k.value=e,title:`新增排班`,width:`450px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[8]||=e=>k.value=!1},{default:e(()=>[...u[14]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:H},{default:e(()=>[...u[15]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(q,{"label-width":`80px`},{default:e(()=>[m(G,{label:`月嫂`},{default:e(()=>[m(g,{modelValue:P.nanny_id,"onUpdate:modelValue":u[4]||=e=>P.nanny_id=e,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(j.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),m(G,{label:`日期`},{default:e(()=>[m(_,{modelValue:P.schedule_date,"onUpdate:modelValue":u[5]||=e=>P.schedule_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(G,{label:`类型`},{default:e(()=>[m(g,{modelValue:P.type,"onUpdate:modelValue":u[6]||=e=>P.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(F,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(G,{label:`备注`},{default:e(()=>[m(K,{modelValue:P.remark,"onUpdate:modelValue":u[7]||=e=>P.remark=e},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/schedules-m8M29YUB.js b/frontend/dist/assets/schedules-Yw8rDBJ4.js similarity index 96% rename from frontend/dist/assets/schedules-m8M29YUB.js rename to frontend/dist/assets/schedules-Yw8rDBJ4.js index b1aa5c1..02f9572 100644 --- a/frontend/dist/assets/schedules-m8M29YUB.js +++ b/frontend/dist/assets/schedules-Yw8rDBJ4.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{a as v}from"./hr-CYqLK_6c.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({user_id:``,start_date:``,end_date:``}),M=f({page:1,per_page:31}),N=f({user_id:``,schedule_date:``,shift_type:1,start_time:``,end_time:``}),P={1:`早班`,2:`中班`,3:`晚班`,4:`夜班`,5:`休息`},F={1:`success`,2:`primary`,3:`warning`,4:`danger`,5:`info`};async function I(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function L(){M.page=1,I()}function R(){Object.assign(j,{user_id:``,start_date:``,end_date:``}),L()}function z(){Object.assign(N,{user_id:``,schedule_date:``,shift_type:1,start_time:``,end_time:``}),k.value=!0}async function B(){if(!N.user_id||!N.schedule_date||!N.shift_type){_.warning(`请填写必要信息`);return}A.value=!0;try{await v.create(N),_.success(`排班成功`),k.value=!1,I()}finally{A.value=!1}}function V(e){M.page=e,I()}return r(()=>I()),(r,u)=>{let f=i(`el-input`),_=i(`el-date-picker`),v=i(`el-button`),T=i(`el-table-column`),I=i(`el-tag`),H=i(`el-table`),U=i(`el-pagination`),W=i(`el-form-item`),G=i(`el-option`),K=i(`el-select`),q=i(`el-time-picker`),J=i(`el-form`),Y=i(`el-dialog`),X=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(f,{modelValue:j.user_id,"onUpdate:modelValue":u[0]||=e=>j.user_id=e,placeholder:`员工ID`,style:{width:`160px`},clearable:``,onKeydown:g(L,[`enter`])},null,8,[`modelValue`]),m(_,{modelValue:j.start_date,"onUpdate:modelValue":u[1]||=e=>j.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`},null,8,[`modelValue`]),m(_,{modelValue:j.end_date,"onUpdate:modelValue":u[2]||=e=>j.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:L},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:R},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[14]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`排班列表`)],-1),m(v,{type:`primary`,onClick:z},{default:e(()=>[...u[13]||=[o(`新增排班`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(H,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.user?.name||`-`),1)]),_:1}),m(T,{prop:`schedule_date`,label:`排班日期`,width:`120`}),m(T,{label:`班次`,width:`90`,align:`center`},{default:e(({row:t})=>[m(I,{type:F[t.shift_type],size:`small`},{default:e(()=>[o(a(P[t.shift_type]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{prop:`start_time`,label:`开始时间`,width:`100`}),m(T,{prop:`end_time`,label:`结束时间`,width:`100`})]),_:1},8,[`data`])),[[X,O.value]])]),p(`div`,w,[m(U,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,total:D.value,layout:`total,prev,pager,next`,background:``,onCurrentChange:V},null,8,[`current-page`,`total`])])]),m(Y,{modelValue:k.value,"onUpdate:modelValue":u[10]||=e=>k.value=e,title:`新增排班`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[9]||=e=>k.value=!1},{default:e(()=>[...u[15]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:B},{default:e(()=>[...u[16]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(J,{"label-width":`80px`},{default:e(()=>[m(W,{label:`员工ID`},{default:e(()=>[m(f,{modelValue:N.user_id,"onUpdate:modelValue":u[4]||=e=>N.user_id=e},null,8,[`modelValue`])]),_:1}),m(W,{label:`排班日期`},{default:e(()=>[m(_,{modelValue:N.schedule_date,"onUpdate:modelValue":u[5]||=e=>N.schedule_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(W,{label:`班次`},{default:e(()=>[m(K,{modelValue:N.shift_type,"onUpdate:modelValue":u[6]||=e=>N.shift_type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(P,(e,t)=>m(G,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(W,{label:`开始时间`},{default:e(()=>[m(q,{modelValue:N.start_time,"onUpdate:modelValue":u[7]||=e=>N.start_time=e,format:`HH:mm`,"value-format":`HH:mm`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(W,{label:`结束时间`},{default:e(()=>[m(q,{modelValue:N.end_time,"onUpdate:modelValue":u[8]||=e=>N.end_time=e,format:`HH:mm`,"value-format":`HH:mm`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{T as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{a as v}from"./hr-BpuQE_Km.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=f({user_id:``,start_date:``,end_date:``}),M=f({page:1,per_page:31}),N=f({user_id:``,schedule_date:``,shift_type:1,start_time:``,end_time:``}),P={1:`早班`,2:`中班`,3:`晚班`,4:`夜班`,5:`休息`},F={1:`success`,2:`primary`,3:`warning`,4:`danger`,5:`info`};async function I(){O.value=!0;try{let e=await v.getList({...j,...M});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function L(){M.page=1,I()}function R(){Object.assign(j,{user_id:``,start_date:``,end_date:``}),L()}function z(){Object.assign(N,{user_id:``,schedule_date:``,shift_type:1,start_time:``,end_time:``}),k.value=!0}async function B(){if(!N.user_id||!N.schedule_date||!N.shift_type){_.warning(`请填写必要信息`);return}A.value=!0;try{await v.create(N),_.success(`排班成功`),k.value=!1,I()}finally{A.value=!1}}function V(e){M.page=e,I()}return r(()=>I()),(r,u)=>{let f=i(`el-input`),_=i(`el-date-picker`),v=i(`el-button`),T=i(`el-table-column`),I=i(`el-tag`),H=i(`el-table`),U=i(`el-pagination`),W=i(`el-form-item`),G=i(`el-option`),K=i(`el-select`),q=i(`el-time-picker`),J=i(`el-form`),Y=i(`el-dialog`),X=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(f,{modelValue:j.user_id,"onUpdate:modelValue":u[0]||=e=>j.user_id=e,placeholder:`员工ID`,style:{width:`160px`},clearable:``,onKeydown:g(L,[`enter`])},null,8,[`modelValue`]),m(_,{modelValue:j.start_date,"onUpdate:modelValue":u[1]||=e=>j.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`},null,8,[`modelValue`]),m(_,{modelValue:j.end_date,"onUpdate:modelValue":u[2]||=e=>j.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`},null,8,[`modelValue`]),m(v,{type:`primary`,onClick:L},{default:e(()=>[...u[11]||=[o(`查询`,-1)]]),_:1}),m(v,{onClick:R},{default:e(()=>[...u[12]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[14]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`排班列表`)],-1),m(v,{type:`primary`,onClick:z},{default:e(()=>[...u[13]||=[o(`新增排班`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(H,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(T,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.user?.name||`-`),1)]),_:1}),m(T,{prop:`schedule_date`,label:`排班日期`,width:`120`}),m(T,{label:`班次`,width:`90`,align:`center`},{default:e(({row:t})=>[m(I,{type:F[t.shift_type],size:`small`},{default:e(()=>[o(a(P[t.shift_type]),1)]),_:2},1032,[`type`])]),_:1}),m(T,{prop:`start_time`,label:`开始时间`,width:`100`}),m(T,{prop:`end_time`,label:`结束时间`,width:`100`})]),_:1},8,[`data`])),[[X,O.value]])]),p(`div`,w,[m(U,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,total:D.value,layout:`total,prev,pager,next`,background:``,onCurrentChange:V},null,8,[`current-page`,`total`])])]),m(Y,{modelValue:k.value,"onUpdate:modelValue":u[10]||=e=>k.value=e,title:`新增排班`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(v,{onClick:u[9]||=e=>k.value=!1},{default:e(()=>[...u[15]||=[o(`取消`,-1)]]),_:1}),m(v,{type:`primary`,loading:A.value,onClick:B},{default:e(()=>[...u[16]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(J,{"label-width":`80px`},{default:e(()=>[m(W,{label:`员工ID`},{default:e(()=>[m(f,{modelValue:N.user_id,"onUpdate:modelValue":u[4]||=e=>N.user_id=e},null,8,[`modelValue`])]),_:1}),m(W,{label:`排班日期`},{default:e(()=>[m(_,{modelValue:N.schedule_date,"onUpdate:modelValue":u[5]||=e=>N.schedule_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(W,{label:`班次`},{default:e(()=>[m(K,{modelValue:N.shift_type,"onUpdate:modelValue":u[6]||=e=>N.shift_type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(P,(e,t)=>m(G,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(W,{label:`开始时间`},{default:e(()=>[m(q,{modelValue:N.start_time,"onUpdate:modelValue":u[7]||=e=>N.start_time=e,format:`HH:mm`,"value-format":`HH:mm`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(W,{label:`结束时间`},{default:e(()=>[m(q,{modelValue:N.end_time,"onUpdate:modelValue":u[8]||=e=>N.end_time=e,format:`HH:mm`,"value-format":`HH:mm`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])])}}};export{T as default}; \ No newline at end of file diff --git a/frontend/dist/assets/service-Cm4zwPyA.js b/frontend/dist/assets/service-nZ3xVURY.js similarity index 92% rename from frontend/dist/assets/service-Cm4zwPyA.js rename to frontend/dist/assets/service-nZ3xVURY.js index bb72ba9..37b601f 100644 --- a/frontend/dist/assets/service-Cm4zwPyA.js +++ b/frontend/dist/assets/service-nZ3xVURY.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/service/items`,{params:t}),getDetail:t=>e.get(`/service/items/${t}`),create:t=>e.post(`/service/items`,t),update:(t,n)=>e.put(`/service/items/${t}`,n),delete:t=>e.delete(`/service/items/${t}`)},n={getList:t=>e.get(`/service/packages`,{params:t}),getDetail:t=>e.get(`/service/packages/${t}`),create:t=>e.post(`/service/packages`,t),update:(t,n)=>e.put(`/service/packages/${t}`,n),delete:t=>e.delete(`/service/packages/${t}`)},r={getList:t=>e.get(`/service/orders`,{params:t}),getDetail:t=>e.get(`/service/orders/${t}`),create:t=>e.post(`/service/orders`,t),update:(t,n)=>e.put(`/service/orders/${t}`,n),delete:t=>e.delete(`/service/orders/${t}`),pay:(t,n)=>e.put(`/service/orders/${t}/pay`,n),complete:t=>e.put(`/service/orders/${t}/complete`)},i={getList:t=>e.get(`/service/executions`,{params:t}),create:t=>e.post(`/service/executions`,t),start:t=>e.put(`/service/executions/${t}/start`),finish:t=>e.put(`/service/executions/${t}/finish`)};export{n as i,t as n,r,i as t}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/service/items`,{params:t}),getDetail:t=>e.get(`/service/items/${t}`),create:t=>e.post(`/service/items`,t),update:(t,n)=>e.put(`/service/items/${t}`,n),delete:t=>e.delete(`/service/items/${t}`)},n={getList:t=>e.get(`/service/packages`,{params:t}),getDetail:t=>e.get(`/service/packages/${t}`),create:t=>e.post(`/service/packages`,t),update:(t,n)=>e.put(`/service/packages/${t}`,n),delete:t=>e.delete(`/service/packages/${t}`)},r={getList:t=>e.get(`/service/orders`,{params:t}),getDetail:t=>e.get(`/service/orders/${t}`),create:t=>e.post(`/service/orders`,t),update:(t,n)=>e.put(`/service/orders/${t}`,n),delete:t=>e.delete(`/service/orders/${t}`),pay:(t,n)=>e.put(`/service/orders/${t}/pay`,n),complete:t=>e.put(`/service/orders/${t}/complete`)},i={getList:t=>e.get(`/service/executions`,{params:t}),create:t=>e.post(`/service/executions`,t),start:t=>e.put(`/service/executions/${t}/start`),finish:t=>e.put(`/service/executions/${t}/finish`)};export{n as i,t as n,r,i as t}; \ No newline at end of file diff --git a/frontend/dist/assets/stock-BBUycB2R.js b/frontend/dist/assets/stock-QFAdGVVG.js similarity index 95% rename from frontend/dist/assets/stock-BBUycB2R.js rename to frontend/dist/assets/stock-QFAdGVVG.js index 93eb5e5..6afe65a 100644 --- a/frontend/dist/assets/stock-BBUycB2R.js +++ b/frontend/dist/assets/stock-QFAdGVVG.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{c as y,i as b,n as x}from"./inventory-BCukmUtW.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center gap-3 px-5 py-4 border-b border-gray-50`},E={class:`text-sm text-gray-400 ml-1`},D={class:`px-2`},O={class:`px-5 py-3 border-t border-gray-50`},k={__name:`index`,setup(k){let A=f([]),j=f(0),M=f(!1),N=f([]),P=f([]),F=m({warehouse_id:``,material_id:``,low_stock:``}),I=m({page:1,per_page:20});async function L(){M.value=!0;try{let e=await b.getList({...F,...I});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}catch{v.error(`获取库存列表失败`)}finally{M.value=!1}}async function R(){try{let[e,t]=await Promise.all([y.getList({per_page:500}),x.getList({per_page:500})]);N.value=e.data?.list||e.data?.data||[],P.value=t.data?.list||t.data?.data||[]}catch{}}function z(){I.page=1,L()}function B(){Object.assign(F,{warehouse_id:``,material_id:``,low_stock:``}),z()}function V(e){I.page=e,L()}function H(e){I.per_page=e,I.page=1,L()}function U(e){return e.min_quantity!=null&&Number(e.quantity){L(),R()}),(r,f)=>{let m=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-alert`),x=i(`el-table-column`),k=i(`el-tag`),L=i(`el-table`),R=i(`el-pagination`),G=t(`loading`);return n(),p(`div`,S,[h(`div`,C,[g(v,{modelValue:F.warehouse_id,"onUpdate:modelValue":f[0]||=e=>F.warehouse_id=e,placeholder:`选择仓库`,clearable:``,filterable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),p(d,null,_(N.value,e=>(n(),c(m,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:F.material_id,"onUpdate:modelValue":f[1]||=e=>F.material_id=e,placeholder:`选择物料`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),p(d,null,_(P.value,e=>(n(),c(m,{key:e.id,label:`${e.name}(${e.code||`-`})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:F.low_stock,"onUpdate:modelValue":f[2]||=e=>F.low_stock=e,placeholder:`库存状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[g(m,{label:`全部`,value:``}),g(m,{label:`低库存预警`,value:`1`})]),_:1},8,[`modelValue`]),g(y,{type:`primary`,onClick:z},{default:e(()=>[...f[5]||=[s(`查询`,-1)]]),_:1}),g(y,{onClick:B},{default:e(()=>[...f[6]||=[s(`重置`,-1)]]),_:1}),g(y,{class:`ml-auto`,onClick:W},{default:e(()=>[...f[7]||=[s(`导出`,-1)]]),_:1})]),g(b,{title:`红色行表示当前库存低于最低库存量,请及时补货`,type:`warning`,"show-icon":``,closable:!1}),h(`div`,w,[h(`div`,T,[f[8]||=h(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`},null,-1),f[9]||=h(`span`,{class:`font-medium text-gray-700`},`库存查询`,-1),h(`span`,E,`共 `+o(j.value)+` 条`,1)]),h(`div`,D,[l((n(),c(L,{data:A.value,style:{width:`100%`},"row-class-name":({row:e})=>U(e)?`low-stock-row`:``},{default:e(()=>[g(x,{prop:`warehouse_name`,label:`仓库`,"min-width":`110`}),g(x,{prop:`material_code`,label:`物料编码`,width:`120`}),g(x,{prop:`material_name`,label:`物料名称`,"min-width":`140`}),g(x,{prop:`category`,label:`分类`,width:`100`,align:`center`}),g(x,{prop:`unit`,label:`单位`,width:`70`,align:`center`}),g(x,{label:`当前库存`,width:`110`,align:`right`},{default:e(({row:t})=>[h(`span`,{class:a(U(t)?`text-red-500 font-bold`:`text-gray-700`)},o(t.quantity),3),U(t)?(n(),c(k,{key:0,type:`danger`,size:`small`,class:`ml-1`},{default:e(()=>[...f[10]||=[s(`偏低`,-1)]]),_:1})):u(``,!0)]),_:1}),g(x,{prop:`min_quantity`,label:`最低库存`,width:`100`,align:`right`}),g(x,{prop:`max_quantity`,label:`最高库存`,width:`100`,align:`right`}),g(x,{prop:`updated_at`,label:`更新时间`,"min-width":`160`})]),_:1},8,[`data`,`row-class-name`])),[[G,M.value]])]),h(`div`,O,[g(R,{"current-page":I.page,"onUpdate:currentPage":f[3]||=e=>I.page=e,"page-size":I.per_page,"onUpdate:pageSize":f[4]||=e=>I.per_page=e,total:j.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:V,onSizeChange:H},null,8,[`current-page`,`page-size`,`total`])])])])}}};export{k as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,f as u,i as d,lt as f,p,st as m,u as h,v as g,z as _}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{c as y,i as b,n as x}from"./inventory-BVEZNzEQ.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center gap-3 px-5 py-4 border-b border-gray-50`},E={class:`text-sm text-gray-400 ml-1`},D={class:`px-2`},O={class:`px-5 py-3 border-t border-gray-50`},k={__name:`index`,setup(k){let A=f([]),j=f(0),M=f(!1),N=f([]),P=f([]),F=m({warehouse_id:``,material_id:``,low_stock:``}),I=m({page:1,per_page:20});async function L(){M.value=!0;try{let e=await b.getList({...F,...I});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}catch{v.error(`获取库存列表失败`)}finally{M.value=!1}}async function R(){try{let[e,t]=await Promise.all([y.getList({per_page:500}),x.getList({per_page:500})]);N.value=e.data?.list||e.data?.data||[],P.value=t.data?.list||t.data?.data||[]}catch{}}function z(){I.page=1,L()}function B(){Object.assign(F,{warehouse_id:``,material_id:``,low_stock:``}),z()}function V(e){I.page=e,L()}function H(e){I.per_page=e,I.page=1,L()}function U(e){return e.min_quantity!=null&&Number(e.quantity){L(),R()}),(r,f)=>{let m=i(`el-option`),v=i(`el-select`),y=i(`el-button`),b=i(`el-alert`),x=i(`el-table-column`),k=i(`el-tag`),L=i(`el-table`),R=i(`el-pagination`),G=t(`loading`);return n(),p(`div`,S,[h(`div`,C,[g(v,{modelValue:F.warehouse_id,"onUpdate:modelValue":f[0]||=e=>F.warehouse_id=e,placeholder:`选择仓库`,clearable:``,filterable:``,style:{width:`160px`}},{default:e(()=>[(n(!0),p(d,null,_(N.value,e=>(n(),c(m,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:F.material_id,"onUpdate:modelValue":f[1]||=e=>F.material_id=e,placeholder:`选择物料`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),p(d,null,_(P.value,e=>(n(),c(m,{key:e.id,label:`${e.name}(${e.code||`-`})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),g(v,{modelValue:F.low_stock,"onUpdate:modelValue":f[2]||=e=>F.low_stock=e,placeholder:`库存状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[g(m,{label:`全部`,value:``}),g(m,{label:`低库存预警`,value:`1`})]),_:1},8,[`modelValue`]),g(y,{type:`primary`,onClick:z},{default:e(()=>[...f[5]||=[s(`查询`,-1)]]),_:1}),g(y,{onClick:B},{default:e(()=>[...f[6]||=[s(`重置`,-1)]]),_:1}),g(y,{class:`ml-auto`,onClick:W},{default:e(()=>[...f[7]||=[s(`导出`,-1)]]),_:1})]),g(b,{title:`红色行表示当前库存低于最低库存量,请及时补货`,type:`warning`,"show-icon":``,closable:!1}),h(`div`,w,[h(`div`,T,[f[8]||=h(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`},null,-1),f[9]||=h(`span`,{class:`font-medium text-gray-700`},`库存查询`,-1),h(`span`,E,`共 `+o(j.value)+` 条`,1)]),h(`div`,D,[l((n(),c(L,{data:A.value,style:{width:`100%`},"row-class-name":({row:e})=>U(e)?`low-stock-row`:``},{default:e(()=>[g(x,{prop:`warehouse_name`,label:`仓库`,"min-width":`110`}),g(x,{prop:`material_code`,label:`物料编码`,width:`120`}),g(x,{prop:`material_name`,label:`物料名称`,"min-width":`140`}),g(x,{prop:`category`,label:`分类`,width:`100`,align:`center`}),g(x,{prop:`unit`,label:`单位`,width:`70`,align:`center`}),g(x,{label:`当前库存`,width:`110`,align:`right`},{default:e(({row:t})=>[h(`span`,{class:a(U(t)?`text-red-500 font-bold`:`text-gray-700`)},o(t.quantity),3),U(t)?(n(),c(k,{key:0,type:`danger`,size:`small`,class:`ml-1`},{default:e(()=>[...f[10]||=[s(`偏低`,-1)]]),_:1})):u(``,!0)]),_:1}),g(x,{prop:`min_quantity`,label:`最低库存`,width:`100`,align:`right`}),g(x,{prop:`max_quantity`,label:`最高库存`,width:`100`,align:`right`}),g(x,{prop:`updated_at`,label:`更新时间`,"min-width":`160`})]),_:1},8,[`data`,`row-class-name`])),[[G,M.value]])]),h(`div`,O,[g(R,{"current-page":I.page,"onUpdate:currentPage":f[3]||=e=>I.page=e,"page-size":I.per_page,"onUpdate:pageSize":f[4]||=e=>I.per_page=e,total:j.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:V,onSizeChange:H},null,8,[`current-page`,`page-size`,`total`])])])])}}};export{k as default}; \ No newline at end of file diff --git a/frontend/dist/assets/stock-movements-DoJ3Hf1Q.js b/frontend/dist/assets/stock-movements-G7cq09hc.js similarity index 97% rename from frontend/dist/assets/stock-movements-DoJ3Hf1Q.js rename to frontend/dist/assets/stock-movements-G7cq09hc.js index a82936a..7c615f9 100644 --- a/frontend/dist/assets/stock-movements-DoJ3Hf1Q.js +++ b/frontend/dist/assets/stock-movements-G7cq09hc.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{a as v,c as y}from"./inventory-BCukmUtW.js";var ee={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={key:1,class:`text-muted`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=u([]),N=f({warehouse_id:``,type:``,status:``}),P=f({page:1,per_page:20}),F=u(null),I=f({id:null,warehouse_id:``,movement_no:``,type:``,direction:``,related_order:``,remark:``}),L={warehouse_id:[{required:!0,message:`请选择仓库`,trigger:`change`}],movement_no:[{required:!0,message:`请输入单据编号`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}],direction:[{required:!0,message:`请选择方向`,trigger:`change`}]},R={1:`采购入库`,2:`领用出库`,3:`退货入库`,4:`报损出库`},z={1:`入库`,2:`出库`},B={1:`success`,2:`danger`},V={0:`待确认`,1:`已确认`},H={0:`warning`,1:`success`};async function U(){k.value=!0;try{let e=await v.getList({...N,...P});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}async function W(){try{let e=await y.getList({per_page:500});M.value=e.data?.list||e.data?.data||[]}catch{}}function G(){P.page=1,U()}function K(){Object.assign(N,{warehouse_id:``,type:``,status:``}),G()}function q(){Object.assign(I,{id:null,warehouse_id:``,movement_no:``,type:``,direction:``,related_order:``,remark:``}),A.value=!0}async function J(){F.value&&await F.value.validate(async e=>{if(e){j.value=!0;try{await v.create(I),_.success(`创建成功`),A.value=!1,U()}finally{j.value=!1}}})}async function Y(e){await g.confirm(`确认该出入库单?确认后将更新库存`,`确认操作`,{type:`warning`}),await v.confirm(e.id),_.success(`确认成功`),U()}function X(e){P.page=e,U()}function Z(e){P.per_page=e,P.page=1,U()}return r(()=>{U(),W()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),y=i(`el-tag`),E=i(`el-table`),U=i(`el-pagination`),W=i(`el-form-item`),Q=i(`el-col`),$=i(`el-input`),te=i(`el-row`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),d(`div`,ee,[p(`div`,b,[m(g,{modelValue:N.warehouse_id,"onUpdate:modelValue":u[0]||=e=>N.warehouse_id=e,placeholder:`选择仓库`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),d(l,null,h(M.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(g,{modelValue:N.type,"onUpdate:modelValue":u[1]||=e=>N.type=e,placeholder:`类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:N.status,"onUpdate:modelValue":u[2]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(V,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:G},{default:e(()=>[...u[13]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:K},{default:e(()=>[...u[14]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[16]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`出入库记录`)],-1),m(_,{type:`primary`,onClick:q},{default:e(()=>[...u[15]||=[o(`新增出入库`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(E,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(v,{prop:`movement_no`,label:`单据编号`,"min-width":`160`}),m(v,{label:`仓库`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.warehouse?.name||`-`),1)]),_:1}),m(v,{label:`类型`,width:`110`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`},{default:e(()=>[o(a(R[t.type]||`-`),1)]),_:2},1024)]),_:1}),m(v,{label:`方向`,width:`90`,align:`center`},{default:e(({row:t})=>[m(y,{type:B[t.direction],size:`small`},{default:e(()=>[o(a(z[t.direction]||`-`),1)]),_:2},1032,[`type`])]),_:1}),m(v,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(y,{type:H[t.status],size:`small`},{default:e(()=>[o(a(V[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(v,{label:`操作`,width:`100`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(_,{key:0,size:`small`,type:`success`,text:``,onClick:e=>Y(t)},{default:e(()=>[...u[17]||=[o(`确认`,-1)]]),_:1},8,[`onClick`])):(n(),d(`span`,w,`-`))]),_:1})]),_:1},8,[`data`])),[[ie,k.value]])]),p(`div`,T,[m(U,{"current-page":P.page,"onUpdate:currentPage":u[3]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":u[4]||=e=>P.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:X,onSizeChange:Z},null,8,[`current-page`,`page-size`,`total`])])]),m(re,{modelValue:A.value,"onUpdate:modelValue":u[12]||=e=>A.value=e,title:`新增出入库`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[11]||=e=>A.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:j.value,onClick:J},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ne,{ref_key:`formRef`,ref:F,model:I,rules:L,"label-width":`90px`},{default:e(()=>[m(te,{gutter:16},{default:e(()=>[m(Q,{span:12},{default:e(()=>[m(W,{label:`仓库`,prop:`warehouse_id`},{default:e(()=>[m(g,{modelValue:I.warehouse_id,"onUpdate:modelValue":u[5]||=e=>I.warehouse_id=e,placeholder:`选择仓库`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(M.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:12},{default:e(()=>[m(W,{label:`单据编号`,prop:`movement_no`},{default:e(()=>[m($,{modelValue:I.movement_no,"onUpdate:modelValue":u[6]||=e=>I.movement_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:12},{default:e(()=>[m(W,{label:`类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:I.type,"onUpdate:modelValue":u[7]||=e=>I.type=e,placeholder:`选择类型`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:12},{default:e(()=>[m(W,{label:`方向`,prop:`direction`},{default:e(()=>[m(g,{modelValue:I.direction,"onUpdate:modelValue":u[8]||=e=>I.direction=e,placeholder:`选择方向`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:12},{default:e(()=>[m(W,{label:`关联单号`},{default:e(()=>[m($,{modelValue:I.related_order,"onUpdate:modelValue":u[9]||=e=>I.related_order=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:24},{default:e(()=>[m(W,{label:`备注`},{default:e(()=>[m($,{modelValue:I.remark,"onUpdate:modelValue":u[10]||=e=>I.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{E as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{a as v,c as y}from"./inventory-BVEZNzEQ.js";var ee={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={key:1,class:`text-muted`},T={class:`px-5 py-3 border-t border-gray-50`},E={__name:`index`,setup(E){let D=u([]),O=u(0),k=u(!1),A=u(!1),j=u(!1),M=u([]),N=f({warehouse_id:``,type:``,status:``}),P=f({page:1,per_page:20}),F=u(null),I=f({id:null,warehouse_id:``,movement_no:``,type:``,direction:``,related_order:``,remark:``}),L={warehouse_id:[{required:!0,message:`请选择仓库`,trigger:`change`}],movement_no:[{required:!0,message:`请输入单据编号`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}],direction:[{required:!0,message:`请选择方向`,trigger:`change`}]},R={1:`采购入库`,2:`领用出库`,3:`退货入库`,4:`报损出库`},z={1:`入库`,2:`出库`},B={1:`success`,2:`danger`},V={0:`待确认`,1:`已确认`},H={0:`warning`,1:`success`};async function U(){k.value=!0;try{let e=await v.getList({...N,...P});D.value=e.data?.list||e.data?.data||[],O.value=e.data?.total||0}finally{k.value=!1}}async function W(){try{let e=await y.getList({per_page:500});M.value=e.data?.list||e.data?.data||[]}catch{}}function G(){P.page=1,U()}function K(){Object.assign(N,{warehouse_id:``,type:``,status:``}),G()}function q(){Object.assign(I,{id:null,warehouse_id:``,movement_no:``,type:``,direction:``,related_order:``,remark:``}),A.value=!0}async function J(){F.value&&await F.value.validate(async e=>{if(e){j.value=!0;try{await v.create(I),_.success(`创建成功`),A.value=!1,U()}finally{j.value=!1}}})}async function Y(e){await g.confirm(`确认该出入库单?确认后将更新库存`,`确认操作`,{type:`warning`}),await v.confirm(e.id),_.success(`确认成功`),U()}function X(e){P.page=e,U()}function Z(e){P.per_page=e,P.page=1,U()}return r(()=>{U(),W()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),y=i(`el-tag`),E=i(`el-table`),U=i(`el-pagination`),W=i(`el-form-item`),Q=i(`el-col`),$=i(`el-input`),te=i(`el-row`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),d(`div`,ee,[p(`div`,b,[m(g,{modelValue:N.warehouse_id,"onUpdate:modelValue":u[0]||=e=>N.warehouse_id=e,placeholder:`选择仓库`,clearable:``,filterable:``,style:{width:`180px`}},{default:e(()=>[(n(!0),d(l,null,h(M.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),m(g,{modelValue:N.type,"onUpdate:modelValue":u[1]||=e=>N.type=e,placeholder:`类型`,clearable:``,style:{width:`140px`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:N.status,"onUpdate:modelValue":u[2]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(V,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:G},{default:e(()=>[...u[13]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:K},{default:e(()=>[...u[14]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[16]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`出入库记录`)],-1),m(_,{type:`primary`,onClick:q},{default:e(()=>[...u[15]||=[o(`新增出入库`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(E,{data:D.value,style:{width:`100%`}},{default:e(()=>[m(v,{prop:`movement_no`,label:`单据编号`,"min-width":`160`}),m(v,{label:`仓库`,"min-width":`120`},{default:e(({row:e})=>[o(a(e.warehouse?.name||`-`),1)]),_:1}),m(v,{label:`类型`,width:`110`,align:`center`},{default:e(({row:t})=>[m(y,{size:`small`},{default:e(()=>[o(a(R[t.type]||`-`),1)]),_:2},1024)]),_:1}),m(v,{label:`方向`,width:`90`,align:`center`},{default:e(({row:t})=>[m(y,{type:B[t.direction],size:`small`},{default:e(()=>[o(a(z[t.direction]||`-`),1)]),_:2},1032,[`type`])]),_:1}),m(v,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[m(y,{type:H[t.status],size:`small`},{default:e(()=>[o(a(V[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(v,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),m(v,{label:`操作`,width:`100`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),s(_,{key:0,size:`small`,type:`success`,text:``,onClick:e=>Y(t)},{default:e(()=>[...u[17]||=[o(`确认`,-1)]]),_:1},8,[`onClick`])):(n(),d(`span`,w,`-`))]),_:1})]),_:1},8,[`data`])),[[ie,k.value]])]),p(`div`,T,[m(U,{"current-page":P.page,"onUpdate:currentPage":u[3]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":u[4]||=e=>P.per_page=e,total:O.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:X,onSizeChange:Z},null,8,[`current-page`,`page-size`,`total`])])]),m(re,{modelValue:A.value,"onUpdate:modelValue":u[12]||=e=>A.value=e,title:`新增出入库`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[11]||=e=>A.value=!1},{default:e(()=>[...u[18]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:j.value,onClick:J},{default:e(()=>[...u[19]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ne,{ref_key:`formRef`,ref:F,model:I,rules:L,"label-width":`90px`},{default:e(()=>[m(te,{gutter:16},{default:e(()=>[m(Q,{span:12},{default:e(()=>[m(W,{label:`仓库`,prop:`warehouse_id`},{default:e(()=>[m(g,{modelValue:I.warehouse_id,"onUpdate:modelValue":u[5]||=e=>I.warehouse_id=e,placeholder:`选择仓库`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),d(l,null,h(M.value,e=>(n(),s(f,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:12},{default:e(()=>[m(W,{label:`单据编号`,prop:`movement_no`},{default:e(()=>[m($,{modelValue:I.movement_no,"onUpdate:modelValue":u[6]||=e=>I.movement_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:12},{default:e(()=>[m(W,{label:`类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:I.type,"onUpdate:modelValue":u[7]||=e=>I.type=e,placeholder:`选择类型`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(R,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:12},{default:e(()=>[m(W,{label:`方向`,prop:`direction`},{default:e(()=>[m(g,{modelValue:I.direction,"onUpdate:modelValue":u[8]||=e=>I.direction=e,placeholder:`选择方向`,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(z,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:12},{default:e(()=>[m(W,{label:`关联单号`},{default:e(()=>[m($,{modelValue:I.related_order,"onUpdate:modelValue":u[9]||=e=>I.related_order=e},null,8,[`modelValue`])]),_:1})]),_:1}),m(Q,{span:24},{default:e(()=>[m(W,{label:`备注`},{default:e(()=>[m($,{modelValue:I.remark,"onUpdate:modelValue":u[10]||=e=>I.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{E as default}; \ No newline at end of file diff --git a/frontend/dist/assets/stores-B16nMXxT.js b/frontend/dist/assets/stores-D6abJMXk.js similarity index 98% rename from frontend/dist/assets/stores-B16nMXxT.js rename to frontend/dist/assets/stores-D6abJMXk.js index 0d97e8b..1e948f7 100644 --- a/frontend/dist/assets/stores-B16nMXxT.js +++ b/frontend/dist/assets/stores-D6abJMXk.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as ee,et as s,lt as c,p as l,st as u,u as d,v as f}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as p,o as m,s as h}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{storeApi as g}from"./system-C8g7zsei.js";var _={class:`p-6 space-y-4`},v={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},te={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},ne={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},y={class:`px-2`},re={class:`px-5 py-3 border-t border-gray-50`},b={__name:`index`,setup(b){let x=c([]),S=c(0),C=c(!1),w=c(!1),T=c(`新增门店`),E=c(!1),D=c(!1),O=c(null),k=u({keyword:``,status:``}),A=u({page:1,page_size:20}),j=u({id:null,name:``,code:``,region:``,address:``,phone:``,contact:``,capacity:1,description:``,status:1}),M={name:[{required:!0,message:`请输入门店名称`,trigger:`blur`}],code:[{required:!0,message:`请输入门店编码`,trigger:`blur`},{pattern:/^[A-Z0-9_]+$/,message:`编码只允许大写字母、数字、下划线`,trigger:`blur`}],phone:[{pattern:/^[\d-()()\s]+$/,message:`请输入正确的联系电话`,trigger:`blur`}]};async function N(){C.value=!0;try{let e=await g.getList({...k,...A});x.value=e.data?.list||[],S.value=e.data?.total||0}catch{}finally{C.value=!1}}function P(){A.page=1,N()}function ie(){Object.assign(k,{keyword:``,status:``}),P()}function F(){D.value=!1,T.value=`新增门店`,Object.assign(j,{id:null,name:``,code:``,region:``,address:``,phone:``,contact:``,capacity:1,description:``,status:1}),w.value=!0}async function I(e){D.value=!0,T.value=`编辑门店 - ${e.name}`;let t=(await g.getDetail(e.id)).data;Object.assign(j,{id:t.id,name:t.name,code:t.code,region:t.region||``,address:t.address||``,phone:t.phone||``,contact:t.contact||``,capacity:t.capacity||``,description:t.description||``,status:t.status}),w.value=!0}async function L(){if(O.value){try{await O.value.validate()}catch{return}E.value=!0;try{let{id:e,region:t,...n}=j;D.value?(await g.update(e,n),h.success(`门店信息更新成功`)):(await g.create(n),h.success(`门店创建成功`)),w.value=!1,N()}catch{}finally{E.value=!1}}}async function R(e){await m.confirm(`确定删除门店「${e.name}」吗?删除后该门店下的数据将不可访问。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await g.delete(e.id),h.success(`删除成功`),N()}async function z(e){let t=e.status===1?0:1,n=t===1?`启用`:`停用`;try{await g.update(e.id,{...e,status:t}),e.status=t,h.success(`门店已${n}`)}catch{}}function B(e){A.page=e,N()}function V(e){A.page_size=e,A.page=1,N()}return r(N),(r,c)=>{let u=i(`Search`),m=i(`el-icon`),h=i(`el-input`),g=i(`el-option`),b=i(`el-select`),N=i(`el-button`),H=i(`el-table-column`),U=i(`el-tag`),W=i(`el-table`),G=i(`el-pagination`),K=i(`el-form-item`),q=i(`el-col`),J=i(`el-input-number`),Y=i(`el-radio`),X=i(`el-radio-group`),Z=i(`el-row`),Q=i(`el-form`),$=i(`el-dialog`),ae=t(`loading`);return n(),l(`div`,_,[d(`div`,v,[f(h,{modelValue:k.keyword,"onUpdate:modelValue":c[0]||=e=>k.keyword=e,placeholder:`搜索门店名称/编码/地址`,style:{width:`260px`},clearable:``,onKeydown:p(P,[`enter`])},{prefix:e(()=>[f(m,null,{default:e(()=>[f(u)]),_:1})]),_:1},8,[`modelValue`]),f(b,{modelValue:k.status,"onUpdate:modelValue":c[1]||=e=>k.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[f(g,{label:`启用`,value:1}),f(g,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),f(N,{type:`primary`,icon:`Search`,onClick:P},{default:e(()=>[...c[26]||=[o(`查询`,-1)]]),_:1}),f(N,{icon:`Refresh`,onClick:ie},{default:e(()=>[...c[27]||=[o(`重置`,-1)]]),_:1})]),d(`div`,te,[d(`div`,ne,[c[29]||=d(`div`,{class:`flex items-center gap-3`},null,-1),f(N,{type:`primary`,icon:`Plus`,onClick:F},{default:e(()=>[...c[28]||=[o(`新增门店`,-1)]]),_:1})]),d(`div`,y,[s((n(),ee(W,{data:x.value,style:{width:`100%`}},{default:e(()=>[f(H,{prop:`name`,label:`门店名称`,"min-width":`160`}),f(H,{prop:`code`,label:`门店编码`,width:`120`}),f(H,{label:`所在地区`,"min-width":`130`},{default:e(({row:e})=>[o(a(e.region?.name||``),1)]),_:1}),f(H,{prop:`address`,label:`详细地址`,"min-width":`200`,"show-overflow-tooltip":``}),f(H,{prop:`phone`,label:`联系电话`,width:`140`}),f(H,{prop:`contact`,label:`联系人`,width:`100`}),f(H,{prop:`capacity`,label:`床位数`,width:`80`,align:`center`}),f(H,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[f(U,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),f(H,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[f(N,{size:`small`,type:`primary`,text:``,onClick:e=>I(t)},{default:e(()=>[...c[30]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),f(N,{size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>z(t)},{default:e(()=>[o(a(t.status===1?`停用`:`启用`),1)]),_:2},1032,[`type`,`onClick`]),f(N,{size:`small`,type:`danger`,text:``,onClick:e=>R(t)},{default:e(()=>[...c[31]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,C.value]])]),d(`div`,re,[f(G,{"current-page":A.page,"onUpdate:currentPage":c[2]||=e=>A.page=e,"page-size":A.page_size,"onUpdate:pageSize":c[3]||=e=>A.page_size=e,total:S.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:B,onSizeChange:V},null,8,[`current-page`,`page-size`,`total`])])]),f($,{modelValue:w.value,"onUpdate:modelValue":c[14]||=e=>w.value=e,title:T.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[f(N,{onClick:c[13]||=e=>w.value=!1},{default:e(()=>[...c[34]||=[o(`取消`,-1)]]),_:1}),f(N,{type:`primary`,loading:E.value,onClick:L},{default:e(()=>[o(a(D.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[f(Q,{ref_key:`formRef`,ref:O,model:j,rules:M,"label-width":`90px`},{default:e(()=>[f(Z,{gutter:16},{default:e(()=>[f(q,{span:12},{default:e(()=>[f(K,{label:`门店名称`,prop:`name`},{default:e(()=>[f(h,{modelValue:j.name,"onUpdate:modelValue":c[4]||=e=>j.name=e,placeholder:`请输入门店名称`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`门店编码`,prop:`code`},{default:e(()=>[f(h,{modelValue:j.code,"onUpdate:modelValue":c[5]||=e=>j.code=e,placeholder:`如: HQ001`,disabled:D.value},null,8,[`modelValue`,`disabled`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`所在地区`,prop:`region`},{default:e(()=>[f(h,{modelValue:j.region,"onUpdate:modelValue":c[6]||=e=>j.region=e,placeholder:`如: 北京市朝阳区`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`联系电话`,prop:`phone`},{default:e(()=>[f(h,{modelValue:j.phone,"onUpdate:modelValue":c[7]||=e=>j.phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:24},{default:e(()=>[f(K,{label:`详细地址`,prop:`address`},{default:e(()=>[f(h,{modelValue:j.address,"onUpdate:modelValue":c[8]||=e=>j.address=e,placeholder:`请输入详细地址`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`联系人`,prop:`contact`},{default:e(()=>[f(h,{modelValue:j.contact,"onUpdate:modelValue":c[9]||=e=>j.contact=e,placeholder:`负责人姓名`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`床位数量`,prop:`capacity`},{default:e(()=>[f(J,{modelValue:j.capacity,"onUpdate:modelValue":c[10]||=e=>j.capacity=e,min:1,max:999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`状态`,prop:`status`},{default:e(()=>[f(X,{modelValue:j.status,"onUpdate:modelValue":c[11]||=e=>j.status=e},{default:e(()=>[f(Y,{value:1},{default:e(()=>[...c[32]||=[o(`启用`,-1)]]),_:1}),f(Y,{value:0},{default:e(()=>[...c[33]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:24},{default:e(()=>[f(K,{label:`备注`,prop:`description`},{default:e(()=>[f(h,{modelValue:j.description,"onUpdate:modelValue":c[12]||=e=>j.description=e,type:`textarea`,rows:3,placeholder:`门店备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),f($,{modelValue:w.value,"onUpdate:modelValue":c[25]||=e=>w.value=e,title:T.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[f(N,{onClick:c[24]||=e=>w.value=!1},{default:e(()=>[...c[37]||=[o(`取消`,-1)]]),_:1}),f(N,{type:`primary`,loading:E.value,onClick:L},{default:e(()=>[o(a(D.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[f(Q,{ref_key:`formRef`,ref:O,model:j,rules:M,"label-width":`90px`},{default:e(()=>[f(Z,{gutter:16},{default:e(()=>[f(q,{span:12},{default:e(()=>[f(K,{label:`门店名称`,prop:`name`},{default:e(()=>[f(h,{modelValue:j.name,"onUpdate:modelValue":c[15]||=e=>j.name=e,placeholder:`请输入门店名称`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`门店编码`,prop:`code`},{default:e(()=>[f(h,{modelValue:j.code,"onUpdate:modelValue":c[16]||=e=>j.code=e,placeholder:`如: HQ001`,disabled:D.value},null,8,[`modelValue`,`disabled`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`所在地区`,prop:`region`},{default:e(()=>[f(h,{modelValue:j.region,"onUpdate:modelValue":c[17]||=e=>j.region=e,placeholder:`如: 北京市朝阳区`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`联系电话`,prop:`phone`},{default:e(()=>[f(h,{modelValue:j.phone,"onUpdate:modelValue":c[18]||=e=>j.phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:24},{default:e(()=>[f(K,{label:`详细地址`,prop:`address`},{default:e(()=>[f(h,{modelValue:j.address,"onUpdate:modelValue":c[19]||=e=>j.address=e,placeholder:`请输入详细地址`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`联系人`,prop:`contact`},{default:e(()=>[f(h,{modelValue:j.contact,"onUpdate:modelValue":c[20]||=e=>j.contact=e,placeholder:`负责人姓名`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`床位数量`,prop:`capacity`},{default:e(()=>[f(J,{modelValue:j.capacity,"onUpdate:modelValue":c[21]||=e=>j.capacity=e,min:1,max:999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`状态`,prop:`status`},{default:e(()=>[f(X,{modelValue:j.status,"onUpdate:modelValue":c[22]||=e=>j.status=e},{default:e(()=>[f(Y,{value:1},{default:e(()=>[...c[35]||=[o(`启用`,-1)]]),_:1}),f(Y,{value:0},{default:e(()=>[...c[36]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:24},{default:e(()=>[f(K,{label:`备注`,prop:`description`},{default:e(()=>[f(h,{modelValue:j.description,"onUpdate:modelValue":c[23]||=e=>j.description=e,type:`textarea`,rows:3,placeholder:`门店备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{b as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as ee,et as s,lt as c,p as l,st as u,u as d,v as f}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as p,o as m,s as h}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{storeApi as g}from"./system-DEm1DLCy.js";var _={class:`p-6 space-y-4`},v={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},te={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},ne={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},y={class:`px-2`},re={class:`px-5 py-3 border-t border-gray-50`},b={__name:`index`,setup(b){let x=c([]),S=c(0),C=c(!1),w=c(!1),T=c(`新增门店`),E=c(!1),D=c(!1),O=c(null),k=u({keyword:``,status:``}),A=u({page:1,page_size:20}),j=u({id:null,name:``,code:``,region:``,address:``,phone:``,contact:``,capacity:1,description:``,status:1}),M={name:[{required:!0,message:`请输入门店名称`,trigger:`blur`}],code:[{required:!0,message:`请输入门店编码`,trigger:`blur`},{pattern:/^[A-Z0-9_]+$/,message:`编码只允许大写字母、数字、下划线`,trigger:`blur`}],phone:[{pattern:/^[\d-()()\s]+$/,message:`请输入正确的联系电话`,trigger:`blur`}]};async function N(){C.value=!0;try{let e=await g.getList({...k,...A});x.value=e.data?.list||[],S.value=e.data?.total||0}catch{}finally{C.value=!1}}function P(){A.page=1,N()}function ie(){Object.assign(k,{keyword:``,status:``}),P()}function F(){D.value=!1,T.value=`新增门店`,Object.assign(j,{id:null,name:``,code:``,region:``,address:``,phone:``,contact:``,capacity:1,description:``,status:1}),w.value=!0}async function I(e){D.value=!0,T.value=`编辑门店 - ${e.name}`;let t=(await g.getDetail(e.id)).data;Object.assign(j,{id:t.id,name:t.name,code:t.code,region:t.region||``,address:t.address||``,phone:t.phone||``,contact:t.contact||``,capacity:t.capacity||``,description:t.description||``,status:t.status}),w.value=!0}async function L(){if(O.value){try{await O.value.validate()}catch{return}E.value=!0;try{let{id:e,region:t,...n}=j;D.value?(await g.update(e,n),h.success(`门店信息更新成功`)):(await g.create(n),h.success(`门店创建成功`)),w.value=!1,N()}catch{}finally{E.value=!1}}}async function R(e){await m.confirm(`确定删除门店「${e.name}」吗?删除后该门店下的数据将不可访问。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await g.delete(e.id),h.success(`删除成功`),N()}async function z(e){let t=e.status===1?0:1,n=t===1?`启用`:`停用`;try{await g.update(e.id,{...e,status:t}),e.status=t,h.success(`门店已${n}`)}catch{}}function B(e){A.page=e,N()}function V(e){A.page_size=e,A.page=1,N()}return r(N),(r,c)=>{let u=i(`Search`),m=i(`el-icon`),h=i(`el-input`),g=i(`el-option`),b=i(`el-select`),N=i(`el-button`),H=i(`el-table-column`),U=i(`el-tag`),W=i(`el-table`),G=i(`el-pagination`),K=i(`el-form-item`),q=i(`el-col`),J=i(`el-input-number`),Y=i(`el-radio`),X=i(`el-radio-group`),Z=i(`el-row`),Q=i(`el-form`),$=i(`el-dialog`),ae=t(`loading`);return n(),l(`div`,_,[d(`div`,v,[f(h,{modelValue:k.keyword,"onUpdate:modelValue":c[0]||=e=>k.keyword=e,placeholder:`搜索门店名称/编码/地址`,style:{width:`260px`},clearable:``,onKeydown:p(P,[`enter`])},{prefix:e(()=>[f(m,null,{default:e(()=>[f(u)]),_:1})]),_:1},8,[`modelValue`]),f(b,{modelValue:k.status,"onUpdate:modelValue":c[1]||=e=>k.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[f(g,{label:`启用`,value:1}),f(g,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),f(N,{type:`primary`,icon:`Search`,onClick:P},{default:e(()=>[...c[26]||=[o(`查询`,-1)]]),_:1}),f(N,{icon:`Refresh`,onClick:ie},{default:e(()=>[...c[27]||=[o(`重置`,-1)]]),_:1})]),d(`div`,te,[d(`div`,ne,[c[29]||=d(`div`,{class:`flex items-center gap-3`},null,-1),f(N,{type:`primary`,icon:`Plus`,onClick:F},{default:e(()=>[...c[28]||=[o(`新增门店`,-1)]]),_:1})]),d(`div`,y,[s((n(),ee(W,{data:x.value,style:{width:`100%`}},{default:e(()=>[f(H,{prop:`name`,label:`门店名称`,"min-width":`160`}),f(H,{prop:`code`,label:`门店编码`,width:`120`}),f(H,{label:`所在地区`,"min-width":`130`},{default:e(({row:e})=>[o(a(e.region?.name||``),1)]),_:1}),f(H,{prop:`address`,label:`详细地址`,"min-width":`200`,"show-overflow-tooltip":``}),f(H,{prop:`phone`,label:`联系电话`,width:`140`}),f(H,{prop:`contact`,label:`联系人`,width:`100`}),f(H,{prop:`capacity`,label:`床位数`,width:`80`,align:`center`}),f(H,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[f(U,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),f(H,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[f(N,{size:`small`,type:`primary`,text:``,onClick:e=>I(t)},{default:e(()=>[...c[30]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),f(N,{size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>z(t)},{default:e(()=>[o(a(t.status===1?`停用`:`启用`),1)]),_:2},1032,[`type`,`onClick`]),f(N,{size:`small`,type:`danger`,text:``,onClick:e=>R(t)},{default:e(()=>[...c[31]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,C.value]])]),d(`div`,re,[f(G,{"current-page":A.page,"onUpdate:currentPage":c[2]||=e=>A.page=e,"page-size":A.page_size,"onUpdate:pageSize":c[3]||=e=>A.page_size=e,total:S.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:B,onSizeChange:V},null,8,[`current-page`,`page-size`,`total`])])]),f($,{modelValue:w.value,"onUpdate:modelValue":c[14]||=e=>w.value=e,title:T.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[f(N,{onClick:c[13]||=e=>w.value=!1},{default:e(()=>[...c[34]||=[o(`取消`,-1)]]),_:1}),f(N,{type:`primary`,loading:E.value,onClick:L},{default:e(()=>[o(a(D.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[f(Q,{ref_key:`formRef`,ref:O,model:j,rules:M,"label-width":`90px`},{default:e(()=>[f(Z,{gutter:16},{default:e(()=>[f(q,{span:12},{default:e(()=>[f(K,{label:`门店名称`,prop:`name`},{default:e(()=>[f(h,{modelValue:j.name,"onUpdate:modelValue":c[4]||=e=>j.name=e,placeholder:`请输入门店名称`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`门店编码`,prop:`code`},{default:e(()=>[f(h,{modelValue:j.code,"onUpdate:modelValue":c[5]||=e=>j.code=e,placeholder:`如: HQ001`,disabled:D.value},null,8,[`modelValue`,`disabled`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`所在地区`,prop:`region`},{default:e(()=>[f(h,{modelValue:j.region,"onUpdate:modelValue":c[6]||=e=>j.region=e,placeholder:`如: 北京市朝阳区`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`联系电话`,prop:`phone`},{default:e(()=>[f(h,{modelValue:j.phone,"onUpdate:modelValue":c[7]||=e=>j.phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:24},{default:e(()=>[f(K,{label:`详细地址`,prop:`address`},{default:e(()=>[f(h,{modelValue:j.address,"onUpdate:modelValue":c[8]||=e=>j.address=e,placeholder:`请输入详细地址`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`联系人`,prop:`contact`},{default:e(()=>[f(h,{modelValue:j.contact,"onUpdate:modelValue":c[9]||=e=>j.contact=e,placeholder:`负责人姓名`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`床位数量`,prop:`capacity`},{default:e(()=>[f(J,{modelValue:j.capacity,"onUpdate:modelValue":c[10]||=e=>j.capacity=e,min:1,max:999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`状态`,prop:`status`},{default:e(()=>[f(X,{modelValue:j.status,"onUpdate:modelValue":c[11]||=e=>j.status=e},{default:e(()=>[f(Y,{value:1},{default:e(()=>[...c[32]||=[o(`启用`,-1)]]),_:1}),f(Y,{value:0},{default:e(()=>[...c[33]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:24},{default:e(()=>[f(K,{label:`备注`,prop:`description`},{default:e(()=>[f(h,{modelValue:j.description,"onUpdate:modelValue":c[12]||=e=>j.description=e,type:`textarea`,rows:3,placeholder:`门店备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),f($,{modelValue:w.value,"onUpdate:modelValue":c[25]||=e=>w.value=e,title:T.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[f(N,{onClick:c[24]||=e=>w.value=!1},{default:e(()=>[...c[37]||=[o(`取消`,-1)]]),_:1}),f(N,{type:`primary`,loading:E.value,onClick:L},{default:e(()=>[o(a(D.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[f(Q,{ref_key:`formRef`,ref:O,model:j,rules:M,"label-width":`90px`},{default:e(()=>[f(Z,{gutter:16},{default:e(()=>[f(q,{span:12},{default:e(()=>[f(K,{label:`门店名称`,prop:`name`},{default:e(()=>[f(h,{modelValue:j.name,"onUpdate:modelValue":c[15]||=e=>j.name=e,placeholder:`请输入门店名称`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`门店编码`,prop:`code`},{default:e(()=>[f(h,{modelValue:j.code,"onUpdate:modelValue":c[16]||=e=>j.code=e,placeholder:`如: HQ001`,disabled:D.value},null,8,[`modelValue`,`disabled`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`所在地区`,prop:`region`},{default:e(()=>[f(h,{modelValue:j.region,"onUpdate:modelValue":c[17]||=e=>j.region=e,placeholder:`如: 北京市朝阳区`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`联系电话`,prop:`phone`},{default:e(()=>[f(h,{modelValue:j.phone,"onUpdate:modelValue":c[18]||=e=>j.phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:24},{default:e(()=>[f(K,{label:`详细地址`,prop:`address`},{default:e(()=>[f(h,{modelValue:j.address,"onUpdate:modelValue":c[19]||=e=>j.address=e,placeholder:`请输入详细地址`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`联系人`,prop:`contact`},{default:e(()=>[f(h,{modelValue:j.contact,"onUpdate:modelValue":c[20]||=e=>j.contact=e,placeholder:`负责人姓名`},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`床位数量`,prop:`capacity`},{default:e(()=>[f(J,{modelValue:j.capacity,"onUpdate:modelValue":c[21]||=e=>j.capacity=e,min:1,max:999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:12},{default:e(()=>[f(K,{label:`状态`,prop:`status`},{default:e(()=>[f(X,{modelValue:j.status,"onUpdate:modelValue":c[22]||=e=>j.status=e},{default:e(()=>[f(Y,{value:1},{default:e(()=>[...c[35]||=[o(`启用`,-1)]]),_:1}),f(Y,{value:0},{default:e(()=>[...c[36]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),f(q,{span:24},{default:e(()=>[f(K,{label:`备注`,prop:`description`},{default:e(()=>[f(h,{modelValue:j.description,"onUpdate:modelValue":c[23]||=e=>j.description=e,type:`textarea`,rows:3,placeholder:`门店备注信息(选填)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{b as default}; \ No newline at end of file diff --git a/frontend/dist/assets/suppliers-3JJpsYpy.js b/frontend/dist/assets/suppliers-B-ax3fUn.js similarity index 97% rename from frontend/dist/assets/suppliers-3JJpsYpy.js rename to frontend/dist/assets/suppliers-B-ax3fUn.js index f96ddc7..104e390 100644 --- a/frontend/dist/assets/suppliers-3JJpsYpy.js +++ b/frontend/dist/assets/suppliers-B-ax3fUn.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{o as _}from"./inventory-BCukmUtW.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=d({name:``,status:``}),j=d({page:1,per_page:15}),M=l(null),N=d({id:null,name:``,contact_person:``,contact_phone:``,address:``,bank_name:``,bank_account:``,status:1,remark:``,sort:0}),P=l(!1),F={name:[{required:!0,message:`请输入供应商名称`,trigger:`blur`}]};async function I(){D.value=!0;try{let e=await _.getList({...A,...j});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function L(){j.page=1,I()}function R(){Object.assign(A,{name:``,status:``}),L()}function z(){P.value=!1,Object.assign(N,{id:null,name:``,contact_person:``,contact_phone:``,address:``,bank_name:``,bank_account:``,status:1,remark:``,sort:0}),O.value=!0}async function B(e){P.value=!0,Object.assign(N,{...e}),O.value=!0}async function V(){M.value&&await M.value.validate(async e=>{if(e){k.value=!0;try{P.value?(await _.update(N.id,N),g.success(`更新成功`)):(await _.create(N),g.success(`创建成功`)),O.value=!1,I()}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除供应商「${e.name}」吗?`,`删除确认`,{type:`warning`}),await _.delete(e.id),g.success(`删除成功`),I()}function U(e){j.page=e,I()}function W(e){j.per_page=e,j.page=1,I()}return r(()=>I()),(r,l)=>{let d=i(`el-input`),h=i(`el-option`),g=i(`el-select`),_=i(`el-button`),w=i(`el-table-column`),I=i(`el-tag`),G=i(`el-table`),K=i(`el-pagination`),q=i(`el-form-item`),J=i(`el-switch`),Y=i(`el-input-number`),X=i(`el-form`),Z=i(`el-dialog`),Q=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:A.name,"onUpdate:modelValue":l[0]||=e=>A.name=e,placeholder:`供应商名称`,style:{width:`180px`},clearable:``,onKeydown:m(L,[`enter`])},null,8,[`modelValue`]),p(g,{modelValue:A.status,"onUpdate:modelValue":l[1]||=e=>A.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(h,{label:`启用`,value:1}),p(h,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(_,{type:`primary`,onClick:L},{default:e(()=>[...l[15]||=[o(`查询`,-1)]]),_:1}),p(_,{onClick:R},{default:e(()=>[...l[16]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[18]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`供应商列表`)],-1),p(_,{type:`primary`,onClick:z},{default:e(()=>[...l[17]||=[o(`新增供应商`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(G,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`name`,label:`供应商名称`,"min-width":`150`}),p(w,{prop:`contact_person`,label:`联系人`,width:`100`}),p(w,{prop:`contact_phone`,label:`联系电话`,width:`130`}),p(w,{prop:`address`,label:`地址`,"min-width":`200`,"show-overflow-tooltip":``}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(I,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(w,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(_,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(_,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Q,D.value]])]),f(`div`,C,[p(K,{"current-page":j.page,"onUpdate:currentPage":l[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":l[3]||=e=>j.per_page=e,total:E.value,"page-sizes":[10,15,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:U,onSizeChange:W},null,8,[`current-page`,`page-size`,`total`])])]),p(Z,{modelValue:O.value,"onUpdate:modelValue":l[14]||=e=>O.value=e,title:P.value?`编辑供应商`:`新增供应商`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(_,{onClick:l[13]||=e=>O.value=!1},{default:e(()=>[...l[21]||=[o(`取消`,-1)]]),_:1}),p(_,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[...l[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(X,{ref_key:`formRef`,ref:M,model:N,rules:F,"label-width":`100px`},{default:e(()=>[p(q,{label:`供应商名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:N.name,"onUpdate:modelValue":l[4]||=e=>N.name=e,placeholder:`请输入供应商名称`},null,8,[`modelValue`])]),_:1}),p(q,{label:`联系人`},{default:e(()=>[p(d,{modelValue:N.contact_person,"onUpdate:modelValue":l[5]||=e=>N.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),p(q,{label:`联系电话`},{default:e(()=>[p(d,{modelValue:N.contact_phone,"onUpdate:modelValue":l[6]||=e=>N.contact_phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1}),p(q,{label:`地址`},{default:e(()=>[p(d,{modelValue:N.address,"onUpdate:modelValue":l[7]||=e=>N.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1}),p(q,{label:`开户银行`},{default:e(()=>[p(d,{modelValue:N.bank_name,"onUpdate:modelValue":l[8]||=e=>N.bank_name=e,placeholder:`请输入开户银行`},null,8,[`modelValue`])]),_:1}),p(q,{label:`银行账号`},{default:e(()=>[p(d,{modelValue:N.bank_account,"onUpdate:modelValue":l[9]||=e=>N.bank_account=e,placeholder:`请输入银行账号`},null,8,[`modelValue`])]),_:1}),p(q,{label:`状态`},{default:e(()=>[p(J,{modelValue:N.status,"onUpdate:modelValue":l[10]||=e=>N.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),p(q,{label:`备注`},{default:e(()=>[p(d,{modelValue:N.remark,"onUpdate:modelValue":l[11]||=e=>N.remark=e,type:`textarea`,rows:3,placeholder:`请输入备注信息`},null,8,[`modelValue`])]),_:1}),p(q,{label:`排序`},{default:e(()=>[p(Y,{modelValue:N.sort,"onUpdate:modelValue":l[12]||=e=>N.sort=e,min:0,max:999},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{o as _}from"./inventory-BVEZNzEQ.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(!1),A=d({name:``,status:``}),j=d({page:1,per_page:15}),M=l(null),N=d({id:null,name:``,contact_person:``,contact_phone:``,address:``,bank_name:``,bank_account:``,status:1,remark:``,sort:0}),P=l(!1),F={name:[{required:!0,message:`请输入供应商名称`,trigger:`blur`}]};async function I(){D.value=!0;try{let e=await _.getList({...A,...j});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function L(){j.page=1,I()}function R(){Object.assign(A,{name:``,status:``}),L()}function z(){P.value=!1,Object.assign(N,{id:null,name:``,contact_person:``,contact_phone:``,address:``,bank_name:``,bank_account:``,status:1,remark:``,sort:0}),O.value=!0}async function B(e){P.value=!0,Object.assign(N,{...e}),O.value=!0}async function V(){M.value&&await M.value.validate(async e=>{if(e){k.value=!0;try{P.value?(await _.update(N.id,N),g.success(`更新成功`)):(await _.create(N),g.success(`创建成功`)),O.value=!1,I()}finally{k.value=!1}}})}async function H(e){await h.confirm(`确定删除供应商「${e.name}」吗?`,`删除确认`,{type:`warning`}),await _.delete(e.id),g.success(`删除成功`),I()}function U(e){j.page=e,I()}function W(e){j.per_page=e,j.page=1,I()}return r(()=>I()),(r,l)=>{let d=i(`el-input`),h=i(`el-option`),g=i(`el-select`),_=i(`el-button`),w=i(`el-table-column`),I=i(`el-tag`),G=i(`el-table`),K=i(`el-pagination`),q=i(`el-form-item`),J=i(`el-switch`),Y=i(`el-input-number`),X=i(`el-form`),Z=i(`el-dialog`),Q=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(d,{modelValue:A.name,"onUpdate:modelValue":l[0]||=e=>A.name=e,placeholder:`供应商名称`,style:{width:`180px`},clearable:``,onKeydown:m(L,[`enter`])},null,8,[`modelValue`]),p(g,{modelValue:A.status,"onUpdate:modelValue":l[1]||=e=>A.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(h,{label:`启用`,value:1}),p(h,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(_,{type:`primary`,onClick:L},{default:e(()=>[...l[15]||=[o(`查询`,-1)]]),_:1}),p(_,{onClick:R},{default:e(()=>[...l[16]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[18]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`供应商列表`)],-1),p(_,{type:`primary`,onClick:z},{default:e(()=>[...l[17]||=[o(`新增供应商`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(G,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`name`,label:`供应商名称`,"min-width":`150`}),p(w,{prop:`contact_person`,label:`联系人`,width:`100`}),p(w,{prop:`contact_phone`,label:`联系电话`,width:`130`}),p(w,{prop:`address`,label:`地址`,"min-width":`200`,"show-overflow-tooltip":``}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(I,{type:t.status?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(w,{label:`操作`,width:`160`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(_,{size:`small`,type:`primary`,text:``,onClick:e=>B(t)},{default:e(()=>[...l[19]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(_,{size:`small`,type:`danger`,text:``,onClick:e=>H(t)},{default:e(()=>[...l[20]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[Q,D.value]])]),f(`div`,C,[p(K,{"current-page":j.page,"onUpdate:currentPage":l[2]||=e=>j.page=e,"page-size":j.per_page,"onUpdate:pageSize":l[3]||=e=>j.per_page=e,total:E.value,"page-sizes":[10,15,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:U,onSizeChange:W},null,8,[`current-page`,`page-size`,`total`])])]),p(Z,{modelValue:O.value,"onUpdate:modelValue":l[14]||=e=>O.value=e,title:P.value?`编辑供应商`:`新增供应商`,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(_,{onClick:l[13]||=e=>O.value=!1},{default:e(()=>[...l[21]||=[o(`取消`,-1)]]),_:1}),p(_,{type:`primary`,loading:k.value,onClick:V},{default:e(()=>[...l[22]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(X,{ref_key:`formRef`,ref:M,model:N,rules:F,"label-width":`100px`},{default:e(()=>[p(q,{label:`供应商名称`,prop:`name`},{default:e(()=>[p(d,{modelValue:N.name,"onUpdate:modelValue":l[4]||=e=>N.name=e,placeholder:`请输入供应商名称`},null,8,[`modelValue`])]),_:1}),p(q,{label:`联系人`},{default:e(()=>[p(d,{modelValue:N.contact_person,"onUpdate:modelValue":l[5]||=e=>N.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),p(q,{label:`联系电话`},{default:e(()=>[p(d,{modelValue:N.contact_phone,"onUpdate:modelValue":l[6]||=e=>N.contact_phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1}),p(q,{label:`地址`},{default:e(()=>[p(d,{modelValue:N.address,"onUpdate:modelValue":l[7]||=e=>N.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1}),p(q,{label:`开户银行`},{default:e(()=>[p(d,{modelValue:N.bank_name,"onUpdate:modelValue":l[8]||=e=>N.bank_name=e,placeholder:`请输入开户银行`},null,8,[`modelValue`])]),_:1}),p(q,{label:`银行账号`},{default:e(()=>[p(d,{modelValue:N.bank_account,"onUpdate:modelValue":l[9]||=e=>N.bank_account=e,placeholder:`请输入银行账号`},null,8,[`modelValue`])]),_:1}),p(q,{label:`状态`},{default:e(()=>[p(J,{modelValue:N.status,"onUpdate:modelValue":l[10]||=e=>N.status=e,"active-value":1,"inactive-value":0},null,8,[`modelValue`])]),_:1}),p(q,{label:`备注`},{default:e(()=>[p(d,{modelValue:N.remark,"onUpdate:modelValue":l[11]||=e=>N.remark=e,type:`textarea`,rows:3,placeholder:`请输入备注信息`},null,8,[`modelValue`])]),_:1}),p(q,{label:`排序`},{default:e(()=>[p(Y,{modelValue:N.sort,"onUpdate:modelValue":l[12]||=e=>N.sort=e,min:0,max:999},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/system-C8g7zsei.js b/frontend/dist/assets/system-DEm1DLCy.js similarity index 96% rename from frontend/dist/assets/system-C8g7zsei.js rename to frontend/dist/assets/system-DEm1DLCy.js index 6b0981b..99400f6 100644 --- a/frontend/dist/assets/system-C8g7zsei.js +++ b/frontend/dist/assets/system-DEm1DLCy.js @@ -1 +1 @@ -import{t as e}from"./request-C_vMs8Bs.js";var t={getList:t=>e.get(`/system/stores`,{params:t}),getDetail:t=>e.get(`/system/stores/${t}`),create:t=>e.post(`/system/stores`,t),update:(t,n)=>e.put(`/system/stores/${t}`,n),delete:t=>e.delete(`/system/stores/${t}`)},n={getList:t=>e.get(`/system/departments`,{params:t}),create:t=>e.post(`/system/departments`,t),update:(t,n)=>e.put(`/system/departments/${t}`,n),delete:t=>e.delete(`/system/departments/${t}`)},r={getList:t=>e.get(`/system/positions`,{params:t}),create:t=>e.post(`/system/positions`,t),update:(t,n)=>e.put(`/system/positions/${t}`,n),delete:t=>e.delete(`/system/positions/${t}`)},i={getList:t=>e.get(`/system/users`,{params:t}),getDetail:t=>e.get(`/system/users/${t}`),create:t=>e.post(`/system/users`,t),update:(t,n)=>e.put(`/system/users/${t}`,n),delete:t=>e.delete(`/system/users/${t}`),resetPassword:(t,n)=>e.put(`/system/users/${t}/password`,n),updateStatus:(t,n)=>e.put(`/system/users/${t}/status`,{status:n}),approve:t=>e.put(`/system/users/${t}/approve`),reject:t=>e.put(`/system/users/${t}/reject`)},a={getList:t=>e.get(`/system/roles`,{params:t}),getDetail:t=>e.get(`/system/roles/${t}`),create:t=>e.post(`/system/roles`,t),update:(t,n)=>e.put(`/system/roles/${t}`,n),delete:t=>e.delete(`/system/roles/${t}`),assignPermissions:(t,n)=>e.put(`/system/roles/${t}/permissions`,{permission_ids:n})},o={getList:t=>e.get(`/system/menus`,{params:t}),create:t=>e.post(`/system/menus`,t),update:(t,n)=>e.put(`/system/menus/${t}`,n),delete:t=>e.delete(`/system/menus/${t}`)},s={getList:t=>e.get(`/system/permissions`,{params:t}),create:t=>e.post(`/system/permissions`,t),update:(t,n)=>e.put(`/system/permissions/${t}`,n),delete:t=>e.delete(`/system/permissions/${t}`)},c={getTypeList:t=>e.get(`/system/dictionaries`,{params:t}),createType:t=>e.post(`/system/dictionaries`,t),deleteType:t=>e.delete(`/system/dictionaries/${t}`),getItemList:(t,n)=>e.get(`/system/dictionaries/${t}/items`,{params:n}),createItem:(t,n)=>e.post(`/system/dictionaries/${t}/items`,n),updateItem:(t,n)=>e.put(`/system/dictionary-items/${t}`,n),deleteItem:t=>e.delete(`/system/dictionary-items/${t}`)},l={getList:t=>e.get(`/system/operation-logs`,{params:t})},u={getList:t=>e.get(`/system/registration-packages`,{params:t}),getDetail:t=>e.get(`/system/registration-packages/${t}`),create:t=>e.post(`/system/registration-packages`,t),update:(t,n)=>e.put(`/system/registration-packages/${t}`,n),delete:t=>e.delete(`/system/registration-packages/${t}`)};export{n as departmentApi,c as dictApi,l as logApi,o as menuApi,s as permissionApi,r as positionApi,u as registrationPackageApi,a as roleApi,t as storeApi,i as userApi}; \ No newline at end of file +import{t as e}from"./request-DD5g7hLU.js";var t={getList:t=>e.get(`/system/stores`,{params:t}),getDetail:t=>e.get(`/system/stores/${t}`),create:t=>e.post(`/system/stores`,t),update:(t,n)=>e.put(`/system/stores/${t}`,n),delete:t=>e.delete(`/system/stores/${t}`)},n={getList:t=>e.get(`/system/departments`,{params:t}),create:t=>e.post(`/system/departments`,t),update:(t,n)=>e.put(`/system/departments/${t}`,n),delete:t=>e.delete(`/system/departments/${t}`)},r={getList:t=>e.get(`/system/positions`,{params:t}),create:t=>e.post(`/system/positions`,t),update:(t,n)=>e.put(`/system/positions/${t}`,n),delete:t=>e.delete(`/system/positions/${t}`)},i={getList:t=>e.get(`/system/users`,{params:t}),getDetail:t=>e.get(`/system/users/${t}`),create:t=>e.post(`/system/users`,t),update:(t,n)=>e.put(`/system/users/${t}`,n),delete:t=>e.delete(`/system/users/${t}`),resetPassword:(t,n)=>e.put(`/system/users/${t}/password`,n),updateStatus:(t,n)=>e.put(`/system/users/${t}/status`,{status:n}),approve:t=>e.put(`/system/users/${t}/approve`),reject:t=>e.put(`/system/users/${t}/reject`)},a={getList:t=>e.get(`/system/roles`,{params:t}),getDetail:t=>e.get(`/system/roles/${t}`),create:t=>e.post(`/system/roles`,t),update:(t,n)=>e.put(`/system/roles/${t}`,n),delete:t=>e.delete(`/system/roles/${t}`),assignPermissions:(t,n)=>e.put(`/system/roles/${t}/permissions`,{permission_ids:n})},o={getList:t=>e.get(`/system/menus`,{params:t}),create:t=>e.post(`/system/menus`,t),update:(t,n)=>e.put(`/system/menus/${t}`,n),delete:t=>e.delete(`/system/menus/${t}`)},s={getList:t=>e.get(`/system/permissions`,{params:t}),create:t=>e.post(`/system/permissions`,t),update:(t,n)=>e.put(`/system/permissions/${t}`,n),delete:t=>e.delete(`/system/permissions/${t}`)},c={getTypeList:t=>e.get(`/system/dictionaries`,{params:t}),createType:t=>e.post(`/system/dictionaries`,t),deleteType:t=>e.delete(`/system/dictionaries/${t}`),getItemList:(t,n)=>e.get(`/system/dictionaries/${t}/items`,{params:n}),createItem:(t,n)=>e.post(`/system/dictionaries/${t}/items`,n),updateItem:(t,n)=>e.put(`/system/dictionary-items/${t}`,n),deleteItem:t=>e.delete(`/system/dictionary-items/${t}`)},l={getList:t=>e.get(`/system/operation-logs`,{params:t})},u={getList:t=>e.get(`/system/registration-packages`,{params:t}),getDetail:t=>e.get(`/system/registration-packages/${t}`),create:t=>e.post(`/system/registration-packages`,t),update:(t,n)=>e.put(`/system/registration-packages/${t}`,n),delete:t=>e.delete(`/system/registration-packages/${t}`)};export{n as departmentApi,c as dictApi,l as logApi,o as menuApi,s as permissionApi,r as positionApi,u as registrationPackageApi,a as roleApi,t as storeApi,i as userApi}; \ No newline at end of file diff --git a/frontend/dist/assets/templates-1qMDe9-D.js b/frontend/dist/assets/templates-CWLqo64z.js similarity index 96% rename from frontend/dist/assets/templates-1qMDe9-D.js rename to frontend/dist/assets/templates-CWLqo64z.js index f86cf77..45b66d9 100644 --- a/frontend/dist/assets/templates-1qMDe9-D.js +++ b/frontend/dist/assets/templates-CWLqo64z.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,_t as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as y}from"./iconify-f5JHLb1p.js";import{i as b}from"./meal-CL1Cz_RN.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=p({name:``}),P=p({page:1,per_page:20}),F=d(null),I=p({id:null,name:``,description:``,week_num:1,status:1}),L=d(!1),R=Array.from({length:6},(e,t)=>({label:`第 ${t+1} 周`,value:t+1})),z={1:`启用`,0:`停用`},B={name:[{required:!0,message:`请输入模板名称`,trigger:`blur`}],week_num:[{required:!0,message:`请选择适用周数`,trigger:`change`}]};async function V(){A.value=!0;try{let e=await b.getList({...N,...P});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}catch{v.error(`加载失败`)}finally{A.value=!1}}function H(){P.page=1,V()}function U(){Object.assign(N,{name:``}),H()}function W(){L.value=!1,Object.assign(I,{id:null,name:``,description:``,week_num:1,status:1}),j.value=!0}async function G(e){L.value=!0;try{let t=await b.getDetail(e.id),n=t.data?.data||t.data||e;Object.assign(I,{id:n.id,name:n.name,description:n.description||``,week_num:n.week_num,status:n.status??1})}catch{Object.assign(I,{id:e.id,name:e.name,description:e.description||``,week_num:e.week_num,status:e.status??1})}j.value=!0}async function K(e){await _.confirm(`确定删除模板「${e.name}」吗?`,`删除确认`,{type:`warning`});try{await b.delete(e.id),v.success(`删除成功`),V()}catch{v.error(`删除失败`)}}async function q(){F.value&&await F.value.validate(async e=>{if(e){M.value=!0;try{L.value?await b.update(I.id,I):await b.create(I),v.success(L.value?`更新成功`:`创建成功`),j.value=!1,V()}catch{v.error(`操作失败`)}finally{M.value=!1}}})}function J(e){P.page=e,V()}function Y(e){P.per_page=e,P.page=1,V()}return r(()=>V()),(r,d)=>{let p=i(`el-input`),_=i(`el-button`),v=i(`el-table-column`),b=i(`el-tag`),D=i(`el-table`),V=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-option`),Q=i(`el-select`),$=i(`el-radio`),ee=i(`el-radio-group`),te=i(`el-form`),ne=i(`el-dialog`),re=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(p,{modelValue:N.name,"onUpdate:modelValue":d[0]||=e=>N.name=e,placeholder:`模板名称`,clearable:``,style:{width:`200px`}},null,8,[`modelValue`]),h(_,{type:`primary`,onClick:H},{default:e(()=>[h(s(y),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),d[9]||=o(`查询 `,-1)]),_:1}),h(_,{onClick:U},{default:e(()=>[...d[10]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[12]||=m(`div`,{class:`flex items-center gap-2`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-semibold text-gray-700`},`排餐模板管理`)],-1),h(_,{type:`primary`,onClick:W},{default:e(()=>[h(s(y),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),d[11]||=o(`新建模板 `,-1)]),_:1})]),m(`div`,T,[l((n(),c(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(v,{prop:`name`,label:`模板名称`,"min-width":`160`}),h(v,{label:`适用周数`,width:`100`,align:`center`},{default:e(({row:e})=>[o(`第 `+a(e.week_num)+` 周`,1)]),_:1}),h(v,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),h(v,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[h(b,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(z[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(v,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(v,{label:`操作`,width:`140`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(_,{size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),h(_,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[14]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[re,A.value]])]),m(`div`,E,[h(V,{"current-page":P.page,"onUpdate:currentPage":d[1]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":d[2]||=e=>P.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:J,onSizeChange:Y},null,8,[`current-page`,`page-size`,`total`])])]),h(ne,{modelValue:j.value,"onUpdate:modelValue":d[8]||=e=>j.value=e,title:L.value?`编辑模板`:`新建排餐模板`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(_,{onClick:d[7]||=e=>j.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(_,{type:`primary`,loading:M.value,onClick:q},{default:e(()=>[...d[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(te,{ref_key:`formRef`,ref:F,model:I,rules:B,"label-width":`90px`},{default:e(()=>[h(X,{label:`模板名称`,prop:`name`},{default:e(()=>[h(p,{modelValue:I.name,"onUpdate:modelValue":d[3]||=e=>I.name=e,placeholder:`如:产后第1周营养餐模板`},null,8,[`modelValue`])]),_:1}),h(X,{label:`适用周数`,prop:`week_num`},{default:e(()=>[h(Q,{modelValue:I.week_num,"onUpdate:modelValue":d[4]||=e=>I.week_num=e,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(s(R),e=>(n(),c(Z,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(X,{label:`状态`},{default:e(()=>[h(ee,{modelValue:I.status,"onUpdate:modelValue":d[5]||=e=>I.status=e},{default:e(()=>[h($,{label:1},{default:e(()=>[...d[15]||=[o(`启用`,-1)]]),_:1}),h($,{label:0},{default:e(()=>[...d[16]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),h(X,{label:`模板描述`},{default:e(()=>[h(p,{modelValue:I.description,"onUpdate:modelValue":d[6]||=e=>I.description=e,type:`textarea`,rows:3,placeholder:`简要说明此模板的膳食方向和特点`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,_t as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as y}from"./iconify-f5JHLb1p.js";import{i as b}from"./meal-CgJENF-S.js";var x={class:`p-6 space-y-4`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},w={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},T={class:`px-2`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=d(!1),M=d(!1),N=p({name:``}),P=p({page:1,per_page:20}),F=d(null),I=p({id:null,name:``,description:``,week_num:1,status:1}),L=d(!1),R=Array.from({length:6},(e,t)=>({label:`第 ${t+1} 周`,value:t+1})),z={1:`启用`,0:`停用`},B={name:[{required:!0,message:`请输入模板名称`,trigger:`blur`}],week_num:[{required:!0,message:`请选择适用周数`,trigger:`change`}]};async function V(){A.value=!0;try{let e=await b.getList({...N,...P});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}catch{v.error(`加载失败`)}finally{A.value=!1}}function H(){P.page=1,V()}function U(){Object.assign(N,{name:``}),H()}function W(){L.value=!1,Object.assign(I,{id:null,name:``,description:``,week_num:1,status:1}),j.value=!0}async function G(e){L.value=!0;try{let t=await b.getDetail(e.id),n=t.data?.data||t.data||e;Object.assign(I,{id:n.id,name:n.name,description:n.description||``,week_num:n.week_num,status:n.status??1})}catch{Object.assign(I,{id:e.id,name:e.name,description:e.description||``,week_num:e.week_num,status:e.status??1})}j.value=!0}async function K(e){await _.confirm(`确定删除模板「${e.name}」吗?`,`删除确认`,{type:`warning`});try{await b.delete(e.id),v.success(`删除成功`),V()}catch{v.error(`删除失败`)}}async function q(){F.value&&await F.value.validate(async e=>{if(e){M.value=!0;try{L.value?await b.update(I.id,I):await b.create(I),v.success(L.value?`更新成功`:`创建成功`),j.value=!1,V()}catch{v.error(`操作失败`)}finally{M.value=!1}}})}function J(e){P.page=e,V()}function Y(e){P.per_page=e,P.page=1,V()}return r(()=>V()),(r,d)=>{let p=i(`el-input`),_=i(`el-button`),v=i(`el-table-column`),b=i(`el-tag`),D=i(`el-table`),V=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-option`),Q=i(`el-select`),$=i(`el-radio`),ee=i(`el-radio-group`),te=i(`el-form`),ne=i(`el-dialog`),re=t(`loading`);return n(),f(`div`,x,[m(`div`,S,[h(p,{modelValue:N.name,"onUpdate:modelValue":d[0]||=e=>N.name=e,placeholder:`模板名称`,clearable:``,style:{width:`200px`}},null,8,[`modelValue`]),h(_,{type:`primary`,onClick:H},{default:e(()=>[h(s(y),{icon:`solar:magnifer-bold-duotone`,class:`mr-1`}),d[9]||=o(`查询 `,-1)]),_:1}),h(_,{onClick:U},{default:e(()=>[...d[10]||=[o(`重置`,-1)]]),_:1})]),m(`div`,C,[m(`div`,w,[d[12]||=m(`div`,{class:`flex items-center gap-2`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-semibold text-gray-700`},`排餐模板管理`)],-1),h(_,{type:`primary`,onClick:W},{default:e(()=>[h(s(y),{icon:`solar:add-circle-bold-duotone`,class:`mr-1`}),d[11]||=o(`新建模板 `,-1)]),_:1})]),m(`div`,T,[l((n(),c(D,{data:O.value,style:{width:`100%`}},{default:e(()=>[h(v,{prop:`name`,label:`模板名称`,"min-width":`160`}),h(v,{label:`适用周数`,width:`100`,align:`center`},{default:e(({row:e})=>[o(`第 `+a(e.week_num)+` 周`,1)]),_:1}),h(v,{prop:`description`,label:`描述`,"min-width":`200`,"show-overflow-tooltip":``}),h(v,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[h(b,{type:t.status===1?`success`:`info`,size:`small`},{default:e(()=>[o(a(z[t.status]),1)]),_:2},1032,[`type`])]),_:1}),h(v,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),h(v,{label:`操作`,width:`140`,fixed:`right`,align:`center`},{default:e(({row:t})=>[h(_,{size:`small`,type:`primary`,text:``,onClick:e=>G(t)},{default:e(()=>[...d[13]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),h(_,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...d[14]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[re,A.value]])]),m(`div`,E,[h(V,{"current-page":P.page,"onUpdate:currentPage":d[1]||=e=>P.page=e,"page-size":P.per_page,"onUpdate:pageSize":d[2]||=e=>P.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:J,onSizeChange:Y},null,8,[`current-page`,`page-size`,`total`])])]),h(ne,{modelValue:j.value,"onUpdate:modelValue":d[8]||=e=>j.value=e,title:L.value?`编辑模板`:`新建排餐模板`,width:`520px`,"destroy-on-close":``},{footer:e(()=>[h(_,{onClick:d[7]||=e=>j.value=!1},{default:e(()=>[...d[17]||=[o(`取消`,-1)]]),_:1}),h(_,{type:`primary`,loading:M.value,onClick:q},{default:e(()=>[...d[18]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(te,{ref_key:`formRef`,ref:F,model:I,rules:B,"label-width":`90px`},{default:e(()=>[h(X,{label:`模板名称`,prop:`name`},{default:e(()=>[h(p,{modelValue:I.name,"onUpdate:modelValue":d[3]||=e=>I.name=e,placeholder:`如:产后第1周营养餐模板`},null,8,[`modelValue`])]),_:1}),h(X,{label:`适用周数`,prop:`week_num`},{default:e(()=>[h(Q,{modelValue:I.week_num,"onUpdate:modelValue":d[4]||=e=>I.week_num=e,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(s(R),e=>(n(),c(Z,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),h(X,{label:`状态`},{default:e(()=>[h(ee,{modelValue:I.status,"onUpdate:modelValue":d[5]||=e=>I.status=e},{default:e(()=>[h($,{label:1},{default:e(()=>[...d[15]||=[o(`启用`,-1)]]),_:1}),h($,{label:0},{default:e(()=>[...d[16]||=[o(`停用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),h(X,{label:`模板描述`},{default:e(()=>[h(p,{modelValue:I.description,"onUpdate:modelValue":d[6]||=e=>I.description=e,type:`textarea`,rows:3,placeholder:`简要说明此模板的膳食方向和特点`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/transactions-pvG4YuIs.js b/frontend/dist/assets/transactions-Df8SEsO7.js similarity index 96% rename from frontend/dist/assets/transactions-pvG4YuIs.js rename to frontend/dist/assets/transactions-Df8SEsO7.js index f8e4414..2c90283 100644 --- a/frontend/dist/assets/transactions-pvG4YuIs.js +++ b/frontend/dist/assets/transactions-Df8SEsO7.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{t as y}from"./finance-CoczR0xj.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center gap-3 px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`text-gray-700`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=p({account_id:``,type:``,date_from:``,date_to:``}),M=p({page:1,per_page:20}),N={deposit:`充值`,consume:`消费`,refund:`退款`,adjust:`调整`},P={deposit:`success`,consume:`danger`,refund:`warning`,adjust:`info`};async function F(){A.value=!0;try{let e=await y.getList({...j,...M});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}catch{v.error(`获取流水列表失败`)}finally{A.value=!1}}function I(){M.page=1,F()}function L(){Object.assign(j,{account_id:``,type:``,date_from:``,date_to:``}),I()}function R(e){M.page=e,F()}function z(e){M.per_page=e,M.page=1,F()}function B(e){return[`deposit`,`refund`].includes(e.type)?`text-green-600 font-semibold`:`text-red-500 font-semibold`}function V(e){return[`deposit`,`refund`].includes(e.type)?`+`:`-`}return r(()=>F()),(r,d)=>{let p=i(`el-input`),v=i(`el-option`),y=i(`el-select`),D=i(`el-date-picker`),F=i(`el-button`),H=i(`el-tag`),U=i(`el-table-column`),W=i(`el-table`),G=i(`el-pagination`),K=t(`loading`);return n(),f(`div`,b,[m(`div`,x,[h(p,{modelValue:j.account_id,"onUpdate:modelValue":d[0]||=e=>j.account_id=e,placeholder:`账户ID`,style:{width:`150px`},clearable:``,onKeydown:_(I,[`enter`])},null,8,[`modelValue`]),h(y,{modelValue:j.type,"onUpdate:modelValue":d[1]||=e=>j.type=e,placeholder:`流水类型`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),f(u,null,g(N,(e,t)=>h(v,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(D,{modelValue:j.date_from,"onUpdate:modelValue":d[2]||=e=>j.date_from=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`,style:{width:`150px`}},null,8,[`modelValue`]),h(D,{modelValue:j.date_to,"onUpdate:modelValue":d[3]||=e=>j.date_to=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`,style:{width:`150px`}},null,8,[`modelValue`]),h(F,{type:`primary`,onClick:I},{default:e(()=>[...d[6]||=[s(`查询`,-1)]]),_:1}),h(F,{onClick:L},{default:e(()=>[...d[7]||=[s(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[9]||=m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`},null,-1),d[10]||=m(`span`,{class:`font-medium text-gray-700`},`账户流水明细`,-1),h(H,{type:`info`,size:`small`,class:`ml-auto`},{default:e(()=>[...d[8]||=[s(`只读`,-1)]]),_:1})]),m(`div`,w,[l((n(),c(W,{data:O.value,style:{width:`100%`},stripe:``},{default:e(()=>[h(U,{prop:`id`,label:`流水ID`,width:`80`,align:`center`}),h(U,{prop:`customer_name`,label:`客户`,"min-width":`110`}),h(U,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[h(H,{type:P[t.type],size:`small`},{default:e(()=>[s(o(N[t.type]||t.type),1)]),_:2},1032,[`type`])]),_:1}),h(U,{label:`金额`,width:`120`,align:`right`},{default:e(({row:e})=>[m(`span`,{class:a(B(e))},o(V(e))+o(Number(e.amount||0).toFixed(2)),3)]),_:1}),h(U,{label:`余额(后)`,width:`120`,align:`right`},{default:e(({row:e})=>[m(`span`,T,o(Number(e.balance_after||0).toFixed(2)),1)]),_:1}),h(U,{prop:`operator_name`,label:`操作人`,width:`100`,align:`center`}),h(U,{prop:`remark`,label:`备注`,"min-width":`140`,"show-overflow-tooltip":``}),h(U,{prop:`created_at`,label:`时间`,"min-width":`160`})]),_:1},8,[`data`])),[[K,A.value]])]),m(`div`,E,[h(G,{"current-page":M.page,"onUpdate:currentPage":d[4]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":d[5]||=e=>M.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:R,onSizeChange:z},null,8,[`current-page`,`page-size`,`total`])])])])}}};export{D as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Vt as a,Wt as o,_ as s,d as c,et as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{t as y}from"./finance-xn2Nlkdw.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center gap-3 px-5 py-4 border-b border-gray-50`},w={class:`px-2`},T={class:`text-gray-700`},E={class:`px-5 py-3 border-t border-gray-50`},D={__name:`index`,setup(D){let O=d([]),k=d(0),A=d(!1),j=p({account_id:``,type:``,date_from:``,date_to:``}),M=p({page:1,per_page:20}),N={deposit:`充值`,consume:`消费`,refund:`退款`,adjust:`调整`},P={deposit:`success`,consume:`danger`,refund:`warning`,adjust:`info`};async function F(){A.value=!0;try{let e=await y.getList({...j,...M});O.value=e.data?.list||e.data?.data||[],k.value=e.data?.total||0}catch{v.error(`获取流水列表失败`)}finally{A.value=!1}}function I(){M.page=1,F()}function L(){Object.assign(j,{account_id:``,type:``,date_from:``,date_to:``}),I()}function R(e){M.page=e,F()}function z(e){M.per_page=e,M.page=1,F()}function B(e){return[`deposit`,`refund`].includes(e.type)?`text-green-600 font-semibold`:`text-red-500 font-semibold`}function V(e){return[`deposit`,`refund`].includes(e.type)?`+`:`-`}return r(()=>F()),(r,d)=>{let p=i(`el-input`),v=i(`el-option`),y=i(`el-select`),D=i(`el-date-picker`),F=i(`el-button`),H=i(`el-tag`),U=i(`el-table-column`),W=i(`el-table`),G=i(`el-pagination`),K=t(`loading`);return n(),f(`div`,b,[m(`div`,x,[h(p,{modelValue:j.account_id,"onUpdate:modelValue":d[0]||=e=>j.account_id=e,placeholder:`账户ID`,style:{width:`150px`},clearable:``,onKeydown:_(I,[`enter`])},null,8,[`modelValue`]),h(y,{modelValue:j.type,"onUpdate:modelValue":d[1]||=e=>j.type=e,placeholder:`流水类型`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),f(u,null,g(N,(e,t)=>h(v,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(D,{modelValue:j.date_from,"onUpdate:modelValue":d[2]||=e=>j.date_from=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始日期`,style:{width:`150px`}},null,8,[`modelValue`]),h(D,{modelValue:j.date_to,"onUpdate:modelValue":d[3]||=e=>j.date_to=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束日期`,style:{width:`150px`}},null,8,[`modelValue`]),h(F,{type:`primary`,onClick:I},{default:e(()=>[...d[6]||=[s(`查询`,-1)]]),_:1}),h(F,{onClick:L},{default:e(()=>[...d[7]||=[s(`重置`,-1)]]),_:1})]),m(`div`,S,[m(`div`,C,[d[9]||=m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`},null,-1),d[10]||=m(`span`,{class:`font-medium text-gray-700`},`账户流水明细`,-1),h(H,{type:`info`,size:`small`,class:`ml-auto`},{default:e(()=>[...d[8]||=[s(`只读`,-1)]]),_:1})]),m(`div`,w,[l((n(),c(W,{data:O.value,style:{width:`100%`},stripe:``},{default:e(()=>[h(U,{prop:`id`,label:`流水ID`,width:`80`,align:`center`}),h(U,{prop:`customer_name`,label:`客户`,"min-width":`110`}),h(U,{label:`类型`,width:`90`,align:`center`},{default:e(({row:t})=>[h(H,{type:P[t.type],size:`small`},{default:e(()=>[s(o(N[t.type]||t.type),1)]),_:2},1032,[`type`])]),_:1}),h(U,{label:`金额`,width:`120`,align:`right`},{default:e(({row:e})=>[m(`span`,{class:a(B(e))},o(V(e))+o(Number(e.amount||0).toFixed(2)),3)]),_:1}),h(U,{label:`余额(后)`,width:`120`,align:`right`},{default:e(({row:e})=>[m(`span`,T,o(Number(e.balance_after||0).toFixed(2)),1)]),_:1}),h(U,{prop:`operator_name`,label:`操作人`,width:`100`,align:`center`}),h(U,{prop:`remark`,label:`备注`,"min-width":`140`,"show-overflow-tooltip":``}),h(U,{prop:`created_at`,label:`时间`,"min-width":`160`})]),_:1},8,[`data`])),[[K,A.value]])]),m(`div`,E,[h(G,{"current-page":M.page,"onUpdate:currentPage":d[4]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":d[5]||=e=>M.per_page=e,total:k.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:R,onSizeChange:z},null,8,[`current-page`,`page-size`,`total`])])])])}}};export{D as default}; \ No newline at end of file diff --git a/frontend/dist/assets/transfers-CljKq8pY.js b/frontend/dist/assets/transfers-DfYYFifi.js similarity index 98% rename from frontend/dist/assets/transfers-CljKq8pY.js rename to frontend/dist/assets/transfers-DfYYFifi.js index 6df6257..cf55c1a 100644 --- a/frontend/dist/assets/transfers-CljKq8pY.js +++ b/frontend/dist/assets/transfers-DfYYFifi.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{c as y,n as b,s as x}from"./inventory-BCukmUtW.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={key:2,class:`text-gray-400 text-sm`},O={class:`px-5 py-3 border-t border-gray-50`},k={__name:`index`,setup(k){let A=d([]),j=d(0),M=d(!1),N=d(!1),P=d(!1),F=d([]),I=d([]),L=p({from_warehouse_id:``,to_warehouse_id:``,status:``}),R=p({page:1,per_page:20}),z=()=>({material_id:``,material_name:``,quantity:1}),B=d(null),V=p({from_warehouse_id:``,to_warehouse_id:``,transfer_date:``,remark:``,items:[z()]}),H={from_warehouse_id:[{required:!0,message:`请选择源仓库`,trigger:`change`}],to_warehouse_id:[{required:!0,message:`请选择目标仓库`,trigger:`change`}],transfer_date:[{required:!0,message:`请选择调拨日期`,trigger:`change`}]},U={draft:`草稿`,confirmed:`已确认`,completed:`已完成`,cancelled:`已取消`},W={draft:`info`,confirmed:`primary`,completed:`success`,cancelled:`danger`};async function G(){M.value=!0;try{let e=await x.getList({...L,...R});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}catch{v.error(`获取调拨单列表失败`)}finally{M.value=!1}}async function K(){try{let[e,t]=await Promise.all([y.getList({per_page:500}),b.getList({per_page:500})]);F.value=e.data?.list||e.data?.data||[],I.value=t.data?.list||t.data?.data||[]}catch{}}function q(){R.page=1,G()}function J(){Object.assign(L,{from_warehouse_id:``,to_warehouse_id:``,status:``}),q()}function Y(){Object.assign(V,{from_warehouse_id:``,to_warehouse_id:``,transfer_date:``,remark:``,items:[z()]}),N.value=!0}function X(){V.items.push(z())}function Z(e){if(V.items.length<=1){v.warning(`至少保留一条物料`);return}V.items.splice(e,1)}function Q(e){let t=I.value.find(t=>t.id===e.material_id);t&&(e.material_name=t.name)}async function $(){B.value&&await B.value.validate(async e=>{if(e){if(V.items.some(e=>!e.material_id||e.quantity<=0)){v.warning(`请完整填写物料信息`);return}P.value=!0;try{await x.create({...V}),v.success(`创建成功`),N.value=!1,G()}catch{v.error(`创建失败`)}finally{P.value=!1}}})}async function ee(e){await _.confirm(`确认调拨单「${e.transfer_no}」吗?`,`确认操作`,{type:`warning`});try{await x.confirm(e.id),v.success(`确认成功`),G()}catch{v.error(`操作失败`)}}async function te(e){await _.confirm(`取消调拨单「${e.transfer_no}」吗?取消后不可恢复。`,`取消确认`,{type:`warning`});try{await x.cancel(e.id),v.success(`已取消`),G()}catch{v.error(`操作失败`)}}function ne(e){R.page=e,G()}function re(e){R.per_page=e,R.page=1,G()}return r(()=>{G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),b=i(`el-tag`),x=i(`el-table`),k=i(`el-pagination`),z=i(`el-form-item`),G=i(`el-col`),K=i(`el-date-picker`),ie=i(`el-input`),ae=i(`el-row`),oe=i(`el-divider`),se=i(`el-input-number`),ce=i(`el-form`),le=i(`el-dialog`),ue=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(_,{modelValue:L.from_warehouse_id,"onUpdate:modelValue":d[0]||=e=>L.from_warehouse_id=e,placeholder:`源仓库`,clearable:``,filterable:``,style:{width:`150px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:L.to_warehouse_id,"onUpdate:modelValue":d[1]||=e=>L.to_warehouse_id=e,placeholder:`目标仓库`,clearable:``,filterable:``,style:{width:`150px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:L.status,"onUpdate:modelValue":d[2]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(U,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:q},{default:e(()=>[...d[11]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:J},{default:e(()=>[...d[12]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[14]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-medium text-gray-700`},`调拨单列表`)],-1),h(v,{type:`primary`,onClick:Y},{default:e(()=>[...d[13]||=[o(`新建调拨单`,-1)]]),_:1})]),m(`div`,E,[c((n(),s(x,{data:A.value,style:{width:`100%`},stripe:``},{default:e(()=>[h(y,{prop:`transfer_no`,label:`调拨单号`,"min-width":`160`}),h(y,{prop:`from_warehouse_name`,label:`源仓库`,"min-width":`110`}),h(y,{prop:`to_warehouse_name`,label:`目标仓库`,"min-width":`110`}),h(y,{prop:`transfer_date`,label:`调拨日期`,width:`120`,align:`center`}),h(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(b,{type:W[t.status],size:`small`},{default:e(()=>[o(a(U[t.status]||t.status),1)]),_:2},1032,[`type`])]),_:1}),h(y,{prop:`created_by_name`,label:`创建人`,width:`90`,align:`center`}),h(y,{prop:`remark`,label:`备注`,"min-width":`120`,"show-overflow-tooltip":``}),h(y,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`draft`?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>ee(t)},{default:e(()=>[...d[15]||=[o(`确认`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===`draft`?(n(),s(v,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>te(t)},{default:e(()=>[...d[16]||=[o(`取消`,-1)]]),_:1},8,[`onClick`])):l(``,!0),[`draft`].includes(t.status)?l(``,!0):(n(),f(`span`,D,`-`))]),_:1})]),_:1},8,[`data`])),[[ue,M.value]])]),m(`div`,O,[h(k,{"current-page":R.page,"onUpdate:currentPage":d[3]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":d[4]||=e=>R.per_page=e,total:j.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ne,onSizeChange:re},null,8,[`current-page`,`page-size`,`total`])])]),h(le,{modelValue:N.value,"onUpdate:modelValue":d[10]||=e=>N.value=e,title:`新建调拨单`,width:`680px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[9]||=e=>N.value=!1},{default:e(()=>[...d[20]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:P.value,onClick:$},{default:e(()=>[...d[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ce,{ref_key:`formRef`,ref:B,model:V,rules:H,"label-width":`90px`},{default:e(()=>[h(ae,{gutter:16},{default:e(()=>[h(G,{span:12},{default:e(()=>[h(z,{label:`源仓库`,prop:`from_warehouse_id`},{default:e(()=>[h(_,{modelValue:V.from_warehouse_id,"onUpdate:modelValue":d[5]||=e=>V.from_warehouse_id=e,placeholder:`选择源仓库`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`目标仓库`,prop:`to_warehouse_id`},{default:e(()=>[h(_,{modelValue:V.to_warehouse_id,"onUpdate:modelValue":d[6]||=e=>V.to_warehouse_id=e,placeholder:`选择目标仓库`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`调拨日期`,prop:`transfer_date`},{default:e(()=>[h(K,{modelValue:V.transfer_date,"onUpdate:modelValue":d[7]||=e=>V.transfer_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`备注`},{default:e(()=>[h(ie,{modelValue:V.remark,"onUpdate:modelValue":d[8]||=e=>V.remark=e,placeholder:`备注(可选)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),h(oe,{"content-position":`left`},{default:e(()=>[...d[17]||=[o(`调拨物料明细`,-1)]]),_:1}),(n(!0),f(u,null,g(V.items,(t,r)=>(n(),f(`div`,{key:r,class:`flex items-center gap-2 mb-3`},[h(_,{modelValue:t.material_id,"onUpdate:modelValue":e=>t.material_id=e,placeholder:`选择物料`,filterable:``,style:{flex:`2`},onChange:e=>Q(t)},{default:e(()=>[(n(!0),f(u,null,g(I.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.code||`-`})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),h(se,{modelValue:t.quantity,"onUpdate:modelValue":e=>t.quantity=e,min:1,placeholder:`数量`,style:{width:`130px`}},null,8,[`modelValue`,`onUpdate:modelValue`]),h(v,{type:`danger`,text:``,onClick:e=>Z(r)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]))),128)),h(v,{type:`primary`,text:``,onClick:X},{default:e(()=>[...d[19]||=[o(`+ 添加物料`,-1)]]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{k as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as l,i as u,lt as d,p as f,st as p,u as m,v as h,z as g}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as _,s as v}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{c as y,n as b,s as x}from"./inventory-BVEZNzEQ.js";var S={class:`p-6 space-y-4`},C={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},w={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},T={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},E={class:`px-2`},D={key:2,class:`text-gray-400 text-sm`},O={class:`px-5 py-3 border-t border-gray-50`},k={__name:`index`,setup(k){let A=d([]),j=d(0),M=d(!1),N=d(!1),P=d(!1),F=d([]),I=d([]),L=p({from_warehouse_id:``,to_warehouse_id:``,status:``}),R=p({page:1,per_page:20}),z=()=>({material_id:``,material_name:``,quantity:1}),B=d(null),V=p({from_warehouse_id:``,to_warehouse_id:``,transfer_date:``,remark:``,items:[z()]}),H={from_warehouse_id:[{required:!0,message:`请选择源仓库`,trigger:`change`}],to_warehouse_id:[{required:!0,message:`请选择目标仓库`,trigger:`change`}],transfer_date:[{required:!0,message:`请选择调拨日期`,trigger:`change`}]},U={draft:`草稿`,confirmed:`已确认`,completed:`已完成`,cancelled:`已取消`},W={draft:`info`,confirmed:`primary`,completed:`success`,cancelled:`danger`};async function G(){M.value=!0;try{let e=await x.getList({...L,...R});A.value=e.data?.list||e.data?.data||[],j.value=e.data?.total||0}catch{v.error(`获取调拨单列表失败`)}finally{M.value=!1}}async function K(){try{let[e,t]=await Promise.all([y.getList({per_page:500}),b.getList({per_page:500})]);F.value=e.data?.list||e.data?.data||[],I.value=t.data?.list||t.data?.data||[]}catch{}}function q(){R.page=1,G()}function J(){Object.assign(L,{from_warehouse_id:``,to_warehouse_id:``,status:``}),q()}function Y(){Object.assign(V,{from_warehouse_id:``,to_warehouse_id:``,transfer_date:``,remark:``,items:[z()]}),N.value=!0}function X(){V.items.push(z())}function Z(e){if(V.items.length<=1){v.warning(`至少保留一条物料`);return}V.items.splice(e,1)}function Q(e){let t=I.value.find(t=>t.id===e.material_id);t&&(e.material_name=t.name)}async function $(){B.value&&await B.value.validate(async e=>{if(e){if(V.items.some(e=>!e.material_id||e.quantity<=0)){v.warning(`请完整填写物料信息`);return}P.value=!0;try{await x.create({...V}),v.success(`创建成功`),N.value=!1,G()}catch{v.error(`创建失败`)}finally{P.value=!1}}})}async function ee(e){await _.confirm(`确认调拨单「${e.transfer_no}」吗?`,`确认操作`,{type:`warning`});try{await x.confirm(e.id),v.success(`确认成功`),G()}catch{v.error(`操作失败`)}}async function te(e){await _.confirm(`取消调拨单「${e.transfer_no}」吗?取消后不可恢复。`,`取消确认`,{type:`warning`});try{await x.cancel(e.id),v.success(`已取消`),G()}catch{v.error(`操作失败`)}}function ne(e){R.page=e,G()}function re(e){R.per_page=e,R.page=1,G()}return r(()=>{G(),K()}),(r,d)=>{let p=i(`el-option`),_=i(`el-select`),v=i(`el-button`),y=i(`el-table-column`),b=i(`el-tag`),x=i(`el-table`),k=i(`el-pagination`),z=i(`el-form-item`),G=i(`el-col`),K=i(`el-date-picker`),ie=i(`el-input`),ae=i(`el-row`),oe=i(`el-divider`),se=i(`el-input-number`),ce=i(`el-form`),le=i(`el-dialog`),ue=t(`loading`);return n(),f(`div`,S,[m(`div`,C,[h(_,{modelValue:L.from_warehouse_id,"onUpdate:modelValue":d[0]||=e=>L.from_warehouse_id=e,placeholder:`源仓库`,clearable:``,filterable:``,style:{width:`150px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:L.to_warehouse_id,"onUpdate:modelValue":d[1]||=e=>L.to_warehouse_id=e,placeholder:`目标仓库`,clearable:``,filterable:``,style:{width:`150px`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(_,{modelValue:L.status,"onUpdate:modelValue":d[2]||=e=>L.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),f(u,null,g(U,(e,t)=>h(p,{key:t,label:e,value:t},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),h(v,{type:`primary`,onClick:q},{default:e(()=>[...d[11]||=[o(`查询`,-1)]]),_:1}),h(v,{onClick:J},{default:e(()=>[...d[12]||=[o(`重置`,-1)]]),_:1})]),m(`div`,w,[m(`div`,T,[d[14]||=m(`div`,{class:`flex items-center gap-3`},[m(`span`,{class:`w-1 h-5 bg-rose-500 rounded-full inline-block`}),m(`span`,{class:`font-medium text-gray-700`},`调拨单列表`)],-1),h(v,{type:`primary`,onClick:Y},{default:e(()=>[...d[13]||=[o(`新建调拨单`,-1)]]),_:1})]),m(`div`,E,[c((n(),s(x,{data:A.value,style:{width:`100%`},stripe:``},{default:e(()=>[h(y,{prop:`transfer_no`,label:`调拨单号`,"min-width":`160`}),h(y,{prop:`from_warehouse_name`,label:`源仓库`,"min-width":`110`}),h(y,{prop:`to_warehouse_name`,label:`目标仓库`,"min-width":`110`}),h(y,{prop:`transfer_date`,label:`调拨日期`,width:`120`,align:`center`}),h(y,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[h(b,{type:W[t.status],size:`small`},{default:e(()=>[o(a(U[t.status]||t.status),1)]),_:2},1032,[`type`])]),_:1}),h(y,{prop:`created_by_name`,label:`创建人`,width:`90`,align:`center`}),h(y,{prop:`remark`,label:`备注`,"min-width":`120`,"show-overflow-tooltip":``}),h(y,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===`draft`?(n(),s(v,{key:0,size:`small`,type:`success`,text:``,onClick:e=>ee(t)},{default:e(()=>[...d[15]||=[o(`确认`,-1)]]),_:1},8,[`onClick`])):l(``,!0),t.status===`draft`?(n(),s(v,{key:1,size:`small`,type:`danger`,text:``,onClick:e=>te(t)},{default:e(()=>[...d[16]||=[o(`取消`,-1)]]),_:1},8,[`onClick`])):l(``,!0),[`draft`].includes(t.status)?l(``,!0):(n(),f(`span`,D,`-`))]),_:1})]),_:1},8,[`data`])),[[ue,M.value]])]),m(`div`,O,[h(k,{"current-page":R.page,"onUpdate:currentPage":d[3]||=e=>R.page=e,"page-size":R.per_page,"onUpdate:pageSize":d[4]||=e=>R.per_page=e,total:j.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:ne,onSizeChange:re},null,8,[`current-page`,`page-size`,`total`])])]),h(le,{modelValue:N.value,"onUpdate:modelValue":d[10]||=e=>N.value=e,title:`新建调拨单`,width:`680px`,"destroy-on-close":``},{footer:e(()=>[h(v,{onClick:d[9]||=e=>N.value=!1},{default:e(()=>[...d[20]||=[o(`取消`,-1)]]),_:1}),h(v,{type:`primary`,loading:P.value,onClick:$},{default:e(()=>[...d[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[h(ce,{ref_key:`formRef`,ref:B,model:V,rules:H,"label-width":`90px`},{default:e(()=>[h(ae,{gutter:16},{default:e(()=>[h(G,{span:12},{default:e(()=>[h(z,{label:`源仓库`,prop:`from_warehouse_id`},{default:e(()=>[h(_,{modelValue:V.from_warehouse_id,"onUpdate:modelValue":d[5]||=e=>V.from_warehouse_id=e,placeholder:`选择源仓库`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`目标仓库`,prop:`to_warehouse_id`},{default:e(()=>[h(_,{modelValue:V.to_warehouse_id,"onUpdate:modelValue":d[6]||=e=>V.to_warehouse_id=e,placeholder:`选择目标仓库`,filterable:``,style:{width:`100%`}},{default:e(()=>[(n(!0),f(u,null,g(F.value,e=>(n(),s(p,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`调拨日期`,prop:`transfer_date`},{default:e(()=>[h(K,{modelValue:V.transfer_date,"onUpdate:modelValue":d[7]||=e=>V.transfer_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),h(G,{span:12},{default:e(()=>[h(z,{label:`备注`},{default:e(()=>[h(ie,{modelValue:V.remark,"onUpdate:modelValue":d[8]||=e=>V.remark=e,placeholder:`备注(可选)`},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1}),h(oe,{"content-position":`left`},{default:e(()=>[...d[17]||=[o(`调拨物料明细`,-1)]]),_:1}),(n(!0),f(u,null,g(V.items,(t,r)=>(n(),f(`div`,{key:r,class:`flex items-center gap-2 mb-3`},[h(_,{modelValue:t.material_id,"onUpdate:modelValue":e=>t.material_id=e,placeholder:`选择物料`,filterable:``,style:{flex:`2`},onChange:e=>Q(t)},{default:e(()=>[(n(!0),f(u,null,g(I.value,e=>(n(),s(p,{key:e.id,label:`${e.name}(${e.code||`-`})`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`onChange`]),h(se,{modelValue:t.quantity,"onUpdate:modelValue":e=>t.quantity=e,min:1,placeholder:`数量`,style:{width:`130px`}},null,8,[`modelValue`,`onUpdate:modelValue`]),h(v,{type:`danger`,text:``,onClick:e=>Z(r)},{default:e(()=>[...d[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]))),128)),h(v,{type:`primary`,text:``,onClick:X},{default:e(()=>[...d[19]||=[o(`+ 添加物料`,-1)]]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{k as default}; \ No newline at end of file diff --git a/frontend/dist/assets/user-DwrZIuIR.js b/frontend/dist/assets/user-BFl2lhly.js similarity index 86% rename from frontend/dist/assets/user-DwrZIuIR.js rename to frontend/dist/assets/user-BFl2lhly.js index da4c346..600c6a3 100644 --- a/frontend/dist/assets/user-DwrZIuIR.js +++ b/frontend/dist/assets/user-BFl2lhly.js @@ -1 +1 @@ -import{l as e,lt as t}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{a as n,d as r}from"./index-ZRE77JpD.js";import{t as i}from"./request-C_vMs8Bs.js";function a(e){return i.post(`/auth/login`,e)}function o(){return i.post(`/auth/logout`)}function s(){return i.get(`/auth/me`)}var c=r({useUserStore:()=>l}),l=n(`user`,()=>{let n=t(localStorage.getItem(`token`)||``),r=t(null),i=t([]),c=t([]),l=e(()=>!!n.value),u=e(()=>r.value?.is_super===!0||r.value?.is_super===1);async function d(e){let t=await a(e),{token:r}=t.data;return n.value=r,localStorage.setItem(`token`,r),t}async function f(){let e=await s(),t=e.data;return r.value=t,i.value=t.permissions||[],c.value=t.menus||[],e}async function p(){try{await o()}catch{}finally{n.value=``,r.value=null,i.value=[],c.value=[],localStorage.removeItem(`token`),localStorage.removeItem(`userInfo`)}}function m(e){return u.value?!0:i.value.includes(e)}return{token:n,userInfo:r,permissions:i,menus:c,isLoggedIn:l,isSuper:u,login:d,getInfo:f,logout:p,hasPermission:m}});export{c as n,l as t}; \ No newline at end of file +import{l as e,lt as t}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{a as n,d as r}from"./index-3YculFMX.js";import{t as i}from"./request-DD5g7hLU.js";function a(e){return i.post(`/auth/login`,e)}function o(){return i.post(`/auth/logout`)}function s(){return i.get(`/auth/me`)}var c=r({useUserStore:()=>l}),l=n(`user`,()=>{let n=t(localStorage.getItem(`token`)||``),r=t(null),i=t([]),c=t([]),l=e(()=>!!n.value),u=e(()=>r.value?.is_super===!0||r.value?.is_super===1);async function d(e){let t=await a(e),{token:r}=t.data;return n.value=r,localStorage.setItem(`token`,r),t}async function f(){let e=await s(),t=e.data;return r.value=t,i.value=t.permissions||[],c.value=t.menus||[],e}async function p(){try{await o()}catch{}finally{n.value=``,r.value=null,i.value=[],c.value=[],localStorage.removeItem(`token`),localStorage.removeItem(`userInfo`)}}function m(e){return u.value?!0:i.value.includes(e)}return{token:n,userInfo:r,permissions:i,menus:c,isLoggedIn:l,isSuper:u,login:d,getInfo:f,logout:p,hasPermission:m}});export{c as n,l as t}; \ No newline at end of file diff --git a/frontend/dist/assets/users-D43TCHdR.js b/frontend/dist/assets/users-DjBGJbBb.js similarity index 98% rename from frontend/dist/assets/users-D43TCHdR.js rename to frontend/dist/assets/users-DjBGJbBb.js index e134194..6194663 100644 --- a/frontend/dist/assets/users-D43TCHdR.js +++ b/frontend/dist/assets/users-DjBGJbBb.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as te,f as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as ne,o as h,s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{departmentApi as _,roleApi as v,userApi as y}from"./system-C8g7zsei.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},re={class:`px-2`},ie={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(`新增用户`),A=l(!1),j=l(!1),M=l(null),N=l([]),P=l([]),F=d({keyword:``,department_id:``,status:``}),I=d({page:1,page_size:20}),L=l(null),R=d({id:null,username:``,name:``,phone:``,email:``,department_id:``,position_id:``,role_ids:[],status:1,password:``,password_confirm:``}),z=l(!1),ae={username:[{required:!0,message:`请输入用户名`,trigger:`blur`},{min:2,max:50,message:`用户名长度 2-50 个字符`,trigger:`blur`}],name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],phone:[{pattern:/^1[3-9]\d{9}$/,message:`请输入正确的手机号`,trigger:`blur`}],password:[{validator:(e,t,n)=>{!z.value&&!t?n(Error(`请输入密码`)):t&&t.length<6?n(Error(`密码不少于 6 位`)):n()},trigger:`blur`}]},B=l(null),V=d({new_password:``,confirm_password:``}),H={new_password:[{required:!0,message:`请输入新密码`,trigger:`blur`},{min:6,message:`密码不少于 6 位`,trigger:`blur`}],confirm_password:[{required:!0,message:`请确认新密码`,trigger:`blur`},{validator:(e,t,n)=>{t===V.new_password?n():n(Error(`两次输入的密码不一致`))},trigger:`blur`}]};async function U(){D.value=!0;try{let e=await y.getList({...F,...I});T.value=e.data?.list||[],E.value=e.data?.total||0}catch{}finally{D.value=!1}}async function W(){try{N.value=(await v.getList({page_size:200})).data?.list||[]}catch{}}async function G(){try{let e=await _.getList({per_page:500});P.value=e.data?.list||e.data?.data||[]}catch{}}function K(){I.page=1,U()}function q(){Object.assign(F,{keyword:``,department_id:``,status:``}),K()}function oe(){z.value=!1,k.value=`新增用户`,Object.assign(R,{id:null,username:``,name:``,phone:``,email:``,department_id:``,position_id:``,role_ids:[],status:1,password:``,password_confirm:``}),O.value=!0}async function se(e){z.value=!0,k.value=`编辑用户`;let t=(await y.getDetail(e.id)).data;Object.assign(R,{id:t.id,username:t.username,name:t.name,phone:t.phone||``,email:t.email||``,department_id:t.department_id||``,position_id:t.position_id||``,role_ids:t.roles?.map(e=>e.id)||[],status:t.status,password:``,password_confirm:``}),O.value=!0}async function ce(){L.value&&await L.value.validate(async e=>{if(e){A.value=!0;try{let e={...R};z.value?(delete e.password,delete e.password_confirm,await y.update(R.id,e),g.success(`用户信息已更新`)):(await y.create(e),g.success(`用户创建成功`)),O.value=!1,U()}catch{}finally{A.value=!1}}})}async function le(e){await h.confirm(`确定删除用户「${e.name}」吗?此操作不可恢复。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await y.delete(e.id),g.success(`删除成功`),U()}async function ue(e){await y.approve(e.id),g.success(`已审核通过,用户可登录系统`),U()}async function de(e){await h.confirm(`确定拒绝「${e.name}」的注册申请?`,`拒绝确认`,{confirmButtonText:`确定拒绝`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await y.reject(e.id),g.success(`已拒绝注册申请`),U()}async function fe(e){let t=e.status===1?0:1;try{await y.updateStatus(e.id,t),e.status=t,g.success(t===1?`已启用`:`已禁用`)}catch{}}function pe(e){M.value=e.id,Object.assign(V,{new_password:``,confirm_password:``}),j.value=!0}async function me(){B.value&&await B.value.validate(async e=>{if(e)try{await y.resetPassword(M.value,{new_password:V.new_password}),g.success(`密码重置成功`),j.value=!1}catch{}})}function he(e){I.page=e,U()}function J(e){I.page_size=e,I.page=1,U()}return ee(()=>{U(),W(),G()}),(ee,l)=>{let d=r(`Search`),h=r(`el-icon`),g=r(`el-input`),_=r(`el-tree-select`),v=r(`el-option`),y=r(`el-select`),w=r(`el-button`),M=r(`el-table-column`),U=r(`el-tag`),W=r(`el-table`),G=r(`el-pagination`),Y=r(`el-form-item`),X=r(`el-col`),Z=r(`el-radio`),ge=r(`el-radio-group`),_e=r(`el-row`),Q=r(`el-form`),$=r(`el-dialog`),ve=t(`loading`);return n(),u(`div`,b,[f(`div`,x,[p(g,{modelValue:F.keyword,"onUpdate:modelValue":l[0]||=e=>F.keyword=e,placeholder:`搜索用户名/姓名/手机号`,style:{width:`240px`},clearable:``,onKeydown:ne(K,[`enter`])},{prefix:e(()=>[p(h,null,{default:e(()=>[p(d)]),_:1})]),_:1},8,[`modelValue`]),p(_,{modelValue:F.department_id,"onUpdate:modelValue":l[1]||=e=>F.department_id=e,data:P.value,props:{label:`name`,value:`id`,children:`children`},placeholder:`选择部门`,clearable:``,style:{width:`180px`}},null,8,[`modelValue`,`data`]),p(y,{modelValue:F.status,"onUpdate:modelValue":l[2]||=e=>F.status=e,placeholder:`状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[p(v,{label:`正常`,value:1}),p(v,{label:`禁用`,value:0}),p(v,{label:`待审核`,value:2})]),_:1},8,[`modelValue`]),p(w,{type:`primary`,icon:`Search`,onClick:K},{default:e(()=>[...l[20]||=[a(`查询`,-1)]]),_:1}),p(w,{icon:`Refresh`,onClick:q},{default:e(()=>[...l[21]||=[a(`重置`,-1)]]),_:1}),p(w,{type:`warning`,plain:``,onClick:l[3]||=e=>{F.status=2,K()}},{default:e(()=>[...l[22]||=[a(` 待审核注册 `,-1)]]),_:1})]),f(`div`,S,[f(`div`,C,[l[24]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(w,{type:`primary`,icon:`Plus`,onClick:oe},{default:e(()=>[...l[23]||=[a(`新增用户`,-1)]]),_:1})]),f(`div`,re,[te((n(),o(W,{data:T.value,"row-key":`id`,style:{width:`100%`}},{default:e(()=>[p(M,{prop:`username`,label:`用户名`,"min-width":`120`}),p(M,{prop:`name`,label:`姓名`,"min-width":`100`}),p(M,{prop:`phone`,label:`手机号`,"min-width":`130`}),p(M,{prop:`department.name`,label:`部门`,"min-width":`120`}),p(M,{label:`角色`,"min-width":`160`},{default:e(({row:t})=>[(n(!0),u(c,null,m(t.roles,t=>(n(),o(U,{key:t.id,size:`small`,type:`info`,style:{margin:`2px`}},{default:e(()=>[a(i(t.name),1)]),_:2},1024))),128))]),_:1}),p(M,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[p(U,{type:t.status===1?`success`:t.status===2?`warning`:`danger`,size:`small`},{default:e(()=>[a(i(t.status===1?`正常`:t.status===2?`待审核`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),p(M,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),p(M,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===2?(n(),u(c,{key:0},[p(w,{size:`small`,type:`success`,text:``,onClick:e=>ue(t)},{default:e(()=>[...l[25]||=[a(`通过`,-1)]]),_:1},8,[`onClick`]),p(w,{size:`small`,type:`danger`,text:``,onClick:e=>de(t)},{default:e(()=>[...l[26]||=[a(`拒绝`,-1)]]),_:1},8,[`onClick`])],64)):s(``,!0),p(w,{size:`small`,type:`primary`,text:``,onClick:e=>se(t)},{default:e(()=>[...l[27]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),t.status===2?s(``,!0):(n(),o(w,{key:1,size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>fe(t)},{default:e(()=>[a(i(t.status===1?`禁用`:`启用`),1)]),_:2},1032,[`type`,`onClick`])),p(w,{size:`small`,type:`info`,text:``,onClick:e=>pe(t)},{default:e(()=>[...l[28]||=[a(`重置密码`,-1)]]),_:1},8,[`onClick`]),p(w,{size:`small`,type:`danger`,text:``,onClick:e=>le(t)},{default:e(()=>[...l[29]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ve,D.value]])]),f(`div`,ie,[p(G,{"current-page":I.page,"onUpdate:currentPage":l[4]||=e=>I.page=e,"page-size":I.page_size,"onUpdate:pageSize":l[5]||=e=>I.page_size=e,total:E.value,"page-sizes":[10,20,50,100],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:he,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),p($,{modelValue:O.value,"onUpdate:modelValue":l[15]||=e=>O.value=e,title:k.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(w,{onClick:l[14]||=e=>O.value=!1},{default:e(()=>[...l[32]||=[a(`取消`,-1)]]),_:1}),p(w,{type:`primary`,loading:A.value,onClick:ce},{default:e(()=>[a(i(z.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[p(Q,{ref_key:`formRef`,ref:L,model:R,rules:ae,"label-width":`90px`,"label-position":`right`},{default:e(()=>[p(_e,{gutter:16},{default:e(()=>[p(X,{span:12},{default:e(()=>[p(Y,{label:`用户名`,prop:`username`},{default:e(()=>[p(g,{modelValue:R.username,"onUpdate:modelValue":l[6]||=e=>R.username=e,placeholder:`请输入用户名`,disabled:z.value},null,8,[`modelValue`,`disabled`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`姓名`,prop:`name`},{default:e(()=>[p(g,{modelValue:R.name,"onUpdate:modelValue":l[7]||=e=>R.name=e,placeholder:`请输入姓名`},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`手机号`,prop:`phone`},{default:e(()=>[p(g,{modelValue:R.phone,"onUpdate:modelValue":l[8]||=e=>R.phone=e,placeholder:`请输入手机号`},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`邮箱`,prop:`email`},{default:e(()=>[p(g,{modelValue:R.email,"onUpdate:modelValue":l[9]||=e=>R.email=e,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`部门`,prop:`department_id`},{default:e(()=>[p(_,{modelValue:R.department_id,"onUpdate:modelValue":l[10]||=e=>R.department_id=e,data:P.value,props:{label:`name`,value:`id`,children:`children`},placeholder:`选择部门`,clearable:``,style:{width:`100%`}},null,8,[`modelValue`,`data`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`角色`,prop:`role_ids`},{default:e(()=>[p(y,{modelValue:R.role_ids,"onUpdate:modelValue":l[11]||=e=>R.role_ids=e,multiple:``,placeholder:`选择角色`,style:{width:`100%`}},{default:e(()=>[(n(!0),u(c,null,m(N.value,e=>(n(),o(v,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`状态`,prop:`status`},{default:e(()=>[p(ge,{modelValue:R.status,"onUpdate:modelValue":l[12]||=e=>R.status=e},{default:e(()=>[p(Z,{value:1},{default:e(()=>[...l[30]||=[a(`启用`,-1)]]),_:1}),p(Z,{value:0},{default:e(()=>[...l[31]||=[a(`禁用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),z.value?s(``,!0):(n(),o(X,{key:0,span:12},{default:e(()=>[p(Y,{label:`密码`,prop:`password`},{default:e(()=>[p(g,{modelValue:R.password,"onUpdate:modelValue":l[13]||=e=>R.password=e,type:`password`,placeholder:`请输入初始密码`,"show-password":``},null,8,[`modelValue`])]),_:1})]),_:1}))]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),p($,{modelValue:j.value,"onUpdate:modelValue":l[19]||=e=>j.value=e,title:`重置密码`,width:`420px`,"destroy-on-close":``},{footer:e(()=>[p(w,{onClick:l[18]||=e=>j.value=!1},{default:e(()=>[...l[33]||=[a(`取消`,-1)]]),_:1}),p(w,{type:`primary`,onClick:me},{default:e(()=>[...l[34]||=[a(`确认重置`,-1)]]),_:1})]),default:e(()=>[p(Q,{ref_key:`resetPwdFormRef`,ref:B,model:V,rules:H,"label-width":`90px`},{default:e(()=>[p(Y,{label:`新密码`,prop:`new_password`},{default:e(()=>[p(g,{modelValue:V.new_password,"onUpdate:modelValue":l[16]||=e=>V.new_password=e,type:`password`,placeholder:`请输入新密码(不少于6位)`,"show-password":``},null,8,[`modelValue`])]),_:1}),p(Y,{label:`确认密码`,prop:`confirm_password`},{default:e(()=>[p(g,{modelValue:V.confirm_password,"onUpdate:modelValue":l[17]||=e=>V.confirm_password=e,type:`password`,placeholder:`请再次输入新密码`,"show-password":``},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as te,f as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as ne,o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{departmentApi as _,roleApi as v,userApi as y}from"./system-DEm1DLCy.js";var b={class:`p-6 space-y-4`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},S={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},C={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},re={class:`px-2`},ie={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(`新增用户`),A=l(!1),j=l(!1),M=l(null),N=l([]),P=l([]),F=d({keyword:``,department_id:``,status:``}),I=d({page:1,page_size:20}),L=l(null),R=d({id:null,username:``,name:``,phone:``,email:``,department_id:``,position_id:``,role_ids:[],status:1,password:``,password_confirm:``}),z=l(!1),ae={username:[{required:!0,message:`请输入用户名`,trigger:`blur`},{min:2,max:50,message:`用户名长度 2-50 个字符`,trigger:`blur`}],name:[{required:!0,message:`请输入姓名`,trigger:`blur`}],phone:[{pattern:/^1[3-9]\d{9}$/,message:`请输入正确的手机号`,trigger:`blur`}],password:[{validator:(e,t,n)=>{!z.value&&!t?n(Error(`请输入密码`)):t&&t.length<6?n(Error(`密码不少于 6 位`)):n()},trigger:`blur`}]},B=l(null),V=d({new_password:``,confirm_password:``}),H={new_password:[{required:!0,message:`请输入新密码`,trigger:`blur`},{min:6,message:`密码不少于 6 位`,trigger:`blur`}],confirm_password:[{required:!0,message:`请确认新密码`,trigger:`blur`},{validator:(e,t,n)=>{t===V.new_password?n():n(Error(`两次输入的密码不一致`))},trigger:`blur`}]};async function U(){D.value=!0;try{let e=await y.getList({...F,...I});T.value=e.data?.list||[],E.value=e.data?.total||0}catch{}finally{D.value=!1}}async function W(){try{N.value=(await v.getList({page_size:200})).data?.list||[]}catch{}}async function G(){try{let e=await _.getList({per_page:500});P.value=e.data?.list||e.data?.data||[]}catch{}}function K(){I.page=1,U()}function q(){Object.assign(F,{keyword:``,department_id:``,status:``}),K()}function oe(){z.value=!1,k.value=`新增用户`,Object.assign(R,{id:null,username:``,name:``,phone:``,email:``,department_id:``,position_id:``,role_ids:[],status:1,password:``,password_confirm:``}),O.value=!0}async function se(e){z.value=!0,k.value=`编辑用户`;let t=(await y.getDetail(e.id)).data;Object.assign(R,{id:t.id,username:t.username,name:t.name,phone:t.phone||``,email:t.email||``,department_id:t.department_id||``,position_id:t.position_id||``,role_ids:t.roles?.map(e=>e.id)||[],status:t.status,password:``,password_confirm:``}),O.value=!0}async function ce(){L.value&&await L.value.validate(async e=>{if(e){A.value=!0;try{let e={...R};z.value?(delete e.password,delete e.password_confirm,await y.update(R.id,e),g.success(`用户信息已更新`)):(await y.create(e),g.success(`用户创建成功`)),O.value=!1,U()}catch{}finally{A.value=!1}}})}async function le(e){await h.confirm(`确定删除用户「${e.name}」吗?此操作不可恢复。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await y.delete(e.id),g.success(`删除成功`),U()}async function ue(e){await y.approve(e.id),g.success(`已审核通过,用户可登录系统`),U()}async function de(e){await h.confirm(`确定拒绝「${e.name}」的注册申请?`,`拒绝确认`,{confirmButtonText:`确定拒绝`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await y.reject(e.id),g.success(`已拒绝注册申请`),U()}async function fe(e){let t=e.status===1?0:1;try{await y.updateStatus(e.id,t),e.status=t,g.success(t===1?`已启用`:`已禁用`)}catch{}}function pe(e){M.value=e.id,Object.assign(V,{new_password:``,confirm_password:``}),j.value=!0}async function me(){B.value&&await B.value.validate(async e=>{if(e)try{await y.resetPassword(M.value,{new_password:V.new_password}),g.success(`密码重置成功`),j.value=!1}catch{}})}function he(e){I.page=e,U()}function J(e){I.page_size=e,I.page=1,U()}return ee(()=>{U(),W(),G()}),(ee,l)=>{let d=r(`Search`),h=r(`el-icon`),g=r(`el-input`),_=r(`el-tree-select`),v=r(`el-option`),y=r(`el-select`),w=r(`el-button`),M=r(`el-table-column`),U=r(`el-tag`),W=r(`el-table`),G=r(`el-pagination`),Y=r(`el-form-item`),X=r(`el-col`),Z=r(`el-radio`),ge=r(`el-radio-group`),_e=r(`el-row`),Q=r(`el-form`),$=r(`el-dialog`),ve=t(`loading`);return n(),u(`div`,b,[f(`div`,x,[p(g,{modelValue:F.keyword,"onUpdate:modelValue":l[0]||=e=>F.keyword=e,placeholder:`搜索用户名/姓名/手机号`,style:{width:`240px`},clearable:``,onKeydown:ne(K,[`enter`])},{prefix:e(()=>[p(h,null,{default:e(()=>[p(d)]),_:1})]),_:1},8,[`modelValue`]),p(_,{modelValue:F.department_id,"onUpdate:modelValue":l[1]||=e=>F.department_id=e,data:P.value,props:{label:`name`,value:`id`,children:`children`},placeholder:`选择部门`,clearable:``,style:{width:`180px`}},null,8,[`modelValue`,`data`]),p(y,{modelValue:F.status,"onUpdate:modelValue":l[2]||=e=>F.status=e,placeholder:`状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[p(v,{label:`正常`,value:1}),p(v,{label:`禁用`,value:0}),p(v,{label:`待审核`,value:2})]),_:1},8,[`modelValue`]),p(w,{type:`primary`,icon:`Search`,onClick:K},{default:e(()=>[...l[20]||=[a(`查询`,-1)]]),_:1}),p(w,{icon:`Refresh`,onClick:q},{default:e(()=>[...l[21]||=[a(`重置`,-1)]]),_:1}),p(w,{type:`warning`,plain:``,onClick:l[3]||=e=>{F.status=2,K()}},{default:e(()=>[...l[22]||=[a(` 待审核注册 `,-1)]]),_:1})]),f(`div`,S,[f(`div`,C,[l[24]||=f(`div`,{class:`flex items-center gap-3`},null,-1),p(w,{type:`primary`,icon:`Plus`,onClick:oe},{default:e(()=>[...l[23]||=[a(`新增用户`,-1)]]),_:1})]),f(`div`,re,[te((n(),o(W,{data:T.value,"row-key":`id`,style:{width:`100%`}},{default:e(()=>[p(M,{prop:`username`,label:`用户名`,"min-width":`120`}),p(M,{prop:`name`,label:`姓名`,"min-width":`100`}),p(M,{prop:`phone`,label:`手机号`,"min-width":`130`}),p(M,{prop:`department.name`,label:`部门`,"min-width":`120`}),p(M,{label:`角色`,"min-width":`160`},{default:e(({row:t})=>[(n(!0),u(c,null,m(t.roles,t=>(n(),o(U,{key:t.id,size:`small`,type:`info`,style:{margin:`2px`}},{default:e(()=>[a(i(t.name),1)]),_:2},1024))),128))]),_:1}),p(M,{label:`状态`,width:`100`,align:`center`},{default:e(({row:t})=>[p(U,{type:t.status===1?`success`:t.status===2?`warning`:`danger`,size:`small`},{default:e(()=>[a(i(t.status===1?`正常`:t.status===2?`待审核`:`禁用`),1)]),_:2},1032,[`type`])]),_:1}),p(M,{prop:`created_at`,label:`创建时间`,"min-width":`160`}),p(M,{label:`操作`,width:`260`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===2?(n(),u(c,{key:0},[p(w,{size:`small`,type:`success`,text:``,onClick:e=>ue(t)},{default:e(()=>[...l[25]||=[a(`通过`,-1)]]),_:1},8,[`onClick`]),p(w,{size:`small`,type:`danger`,text:``,onClick:e=>de(t)},{default:e(()=>[...l[26]||=[a(`拒绝`,-1)]]),_:1},8,[`onClick`])],64)):s(``,!0),p(w,{size:`small`,type:`primary`,text:``,onClick:e=>se(t)},{default:e(()=>[...l[27]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),t.status===2?s(``,!0):(n(),o(w,{key:1,size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>fe(t)},{default:e(()=>[a(i(t.status===1?`禁用`:`启用`),1)]),_:2},1032,[`type`,`onClick`])),p(w,{size:`small`,type:`info`,text:``,onClick:e=>pe(t)},{default:e(()=>[...l[28]||=[a(`重置密码`,-1)]]),_:1},8,[`onClick`]),p(w,{size:`small`,type:`danger`,text:``,onClick:e=>le(t)},{default:e(()=>[...l[29]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ve,D.value]])]),f(`div`,ie,[p(G,{"current-page":I.page,"onUpdate:currentPage":l[4]||=e=>I.page=e,"page-size":I.page_size,"onUpdate:pageSize":l[5]||=e=>I.page_size=e,total:E.value,"page-sizes":[10,20,50,100],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:he,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),p($,{modelValue:O.value,"onUpdate:modelValue":l[15]||=e=>O.value=e,title:k.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(w,{onClick:l[14]||=e=>O.value=!1},{default:e(()=>[...l[32]||=[a(`取消`,-1)]]),_:1}),p(w,{type:`primary`,loading:A.value,onClick:ce},{default:e(()=>[a(i(z.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[p(Q,{ref_key:`formRef`,ref:L,model:R,rules:ae,"label-width":`90px`,"label-position":`right`},{default:e(()=>[p(_e,{gutter:16},{default:e(()=>[p(X,{span:12},{default:e(()=>[p(Y,{label:`用户名`,prop:`username`},{default:e(()=>[p(g,{modelValue:R.username,"onUpdate:modelValue":l[6]||=e=>R.username=e,placeholder:`请输入用户名`,disabled:z.value},null,8,[`modelValue`,`disabled`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`姓名`,prop:`name`},{default:e(()=>[p(g,{modelValue:R.name,"onUpdate:modelValue":l[7]||=e=>R.name=e,placeholder:`请输入姓名`},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`手机号`,prop:`phone`},{default:e(()=>[p(g,{modelValue:R.phone,"onUpdate:modelValue":l[8]||=e=>R.phone=e,placeholder:`请输入手机号`},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`邮箱`,prop:`email`},{default:e(()=>[p(g,{modelValue:R.email,"onUpdate:modelValue":l[9]||=e=>R.email=e,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`部门`,prop:`department_id`},{default:e(()=>[p(_,{modelValue:R.department_id,"onUpdate:modelValue":l[10]||=e=>R.department_id=e,data:P.value,props:{label:`name`,value:`id`,children:`children`},placeholder:`选择部门`,clearable:``,style:{width:`100%`}},null,8,[`modelValue`,`data`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`角色`,prop:`role_ids`},{default:e(()=>[p(y,{modelValue:R.role_ids,"onUpdate:modelValue":l[11]||=e=>R.role_ids=e,multiple:``,placeholder:`选择角色`,style:{width:`100%`}},{default:e(()=>[(n(!0),u(c,null,m(N.value,e=>(n(),o(v,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(X,{span:12},{default:e(()=>[p(Y,{label:`状态`,prop:`status`},{default:e(()=>[p(ge,{modelValue:R.status,"onUpdate:modelValue":l[12]||=e=>R.status=e},{default:e(()=>[p(Z,{value:1},{default:e(()=>[...l[30]||=[a(`启用`,-1)]]),_:1}),p(Z,{value:0},{default:e(()=>[...l[31]||=[a(`禁用`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1})]),_:1}),z.value?s(``,!0):(n(),o(X,{key:0,span:12},{default:e(()=>[p(Y,{label:`密码`,prop:`password`},{default:e(()=>[p(g,{modelValue:R.password,"onUpdate:modelValue":l[13]||=e=>R.password=e,type:`password`,placeholder:`请输入初始密码`,"show-password":``},null,8,[`modelValue`])]),_:1})]),_:1}))]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),p($,{modelValue:j.value,"onUpdate:modelValue":l[19]||=e=>j.value=e,title:`重置密码`,width:`420px`,"destroy-on-close":``},{footer:e(()=>[p(w,{onClick:l[18]||=e=>j.value=!1},{default:e(()=>[...l[33]||=[a(`取消`,-1)]]),_:1}),p(w,{type:`primary`,onClick:me},{default:e(()=>[...l[34]||=[a(`确认重置`,-1)]]),_:1})]),default:e(()=>[p(Q,{ref_key:`resetPwdFormRef`,ref:B,model:V,rules:H,"label-width":`90px`},{default:e(()=>[p(Y,{label:`新密码`,prop:`new_password`},{default:e(()=>[p(g,{modelValue:V.new_password,"onUpdate:modelValue":l[16]||=e=>V.new_password=e,type:`password`,placeholder:`请输入新密码(不少于6位)`,"show-password":``},null,8,[`modelValue`])]),_:1}),p(Y,{label:`确认密码`,prop:`confirm_password`},{default:e(()=>[p(g,{modelValue:V.confirm_password,"onUpdate:modelValue":l[17]||=e=>V.confirm_password=e,type:`password`,placeholder:`请再次输入新密码`,"show-password":``},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/assets/warehouses-Bl-wItmk.js b/frontend/dist/assets/warehouses-B9RawaVf.js similarity index 97% rename from frontend/dist/assets/warehouses-Bl-wItmk.js rename to frontend/dist/assets/warehouses-B9RawaVf.js index 7252612..4b14f0e 100644 --- a/frontend/dist/assets/warehouses-Bl-wItmk.js +++ b/frontend/dist/assets/warehouses-B9RawaVf.js @@ -1 +1 @@ -import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-ZRE77JpD.js";import"./request-C_vMs8Bs.js";import{c as _}from"./inventory-BCukmUtW.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(`新增仓库`),A=l(!1),j=l(!1),M=l(null),N=d({name:``,status:``}),P=d({page:1,page_size:20}),F=d({id:null,name:``,address:``,contact_person:``,contact_phone:``,status:1,sort:0}),I={name:[{required:!0,message:`请输入仓库名称`,trigger:`blur`}]};async function L(){D.value=!0;try{let e=await _.getList({...N,...P});T.value=e.data?.list||[],E.value=e.data?.total||0}catch{}finally{D.value=!1}}function R(){P.page=1,L()}function z(){Object.assign(N,{name:``,status:``}),R()}function B(){j.value=!1,k.value=`新增仓库`,Object.assign(F,{id:null,name:``,address:``,contact_person:``,contact_phone:``,status:1,sort:0}),O.value=!0}async function V(e){j.value=!0,k.value=`编辑仓库 - ${e.name}`;let t=(await _.getDetail(e.id)).data;Object.assign(F,{id:t.id,name:t.name,address:t.address||``,contact_person:t.contact_person||``,contact_phone:t.contact_phone||``,status:t.status,sort:t.sort||0}),O.value=!0}async function H(){M.value&&await M.value.validate(async e=>{if(e){A.value=!0;try{j.value?(await _.update(F.id,F),g.success(`仓库信息更新成功`)):(await _.create(F),g.success(`仓库创建成功`)),O.value=!1,L()}catch{}finally{A.value=!1}}})}async function U(e){await h.confirm(`确定删除仓库「${e.name}」吗?删除后该仓库下的数据将不可访问。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await _.delete(e.id),g.success(`删除成功`),L()}async function W(e){let t=e.status===1?0:1,n=t===1?`启用`:`停用`;try{await _.update(e.id,{...e,status:t}),e.status=t,g.success(`仓库已${n}`)}catch{}}function G(e){P.page=e,L()}function K(e){P.page_size=e,P.page=1,L()}return r(L),(r,l)=>{let d=i(`Search`),h=i(`el-icon`),g=i(`el-input`),_=i(`el-option`),w=i(`el-select`),L=i(`el-button`),q=i(`el-table-column`),J=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-form-item`),Q=i(`el-col`),$=i(`el-switch`),ee=i(`el-input-number`),te=i(`el-row`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(g,{modelValue:N.name,"onUpdate:modelValue":l[0]||=e=>N.name=e,placeholder:`搜索仓库名称`,style:{width:`220px`},clearable:``,onKeydown:m(R,[`enter`])},{prefix:e(()=>[p(h,null,{default:e(()=>[p(d)]),_:1})]),_:1},8,[`modelValue`]),p(w,{modelValue:N.status,"onUpdate:modelValue":l[1]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(_,{label:`启用`,value:1}),p(_,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(L,{type:`primary`,onClick:R},{default:e(()=>[...l[12]||=[o(`查询`,-1)]]),_:1}),p(L,{onClick:z},{default:e(()=>[...l[13]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[15]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`仓库列表`)],-1),p(L,{type:`primary`,onClick:B},{default:e(()=>[...l[14]||=[o(`新增仓库`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(Y,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(q,{prop:`name`,label:`仓库名称`,"min-width":`160`}),p(q,{prop:`address`,label:`地址`,"min-width":`200`,"show-overflow-tooltip":``}),p(q,{prop:`contact_person`,label:`联系人`,width:`120`}),p(q,{prop:`contact_phone`,label:`联系电话`,width:`140`}),p(q,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[p(J,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(q,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(L,{size:`small`,type:`primary`,text:``,onClick:e=>V(t)},{default:e(()=>[...l[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(L,{size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>W(t)},{default:e(()=>[o(a(t.status===1?`停用`:`启用`),1)]),_:2},1032,[`type`,`onClick`]),p(L,{size:`small`,type:`danger`,text:``,onClick:e=>U(t)},{default:e(()=>[...l[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ie,D.value]])]),f(`div`,C,[p(X,{"current-page":P.page,"onUpdate:currentPage":l[2]||=e=>P.page=e,"page-size":P.page_size,"onUpdate:pageSize":l[3]||=e=>P.page_size=e,total:E.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:G,onSizeChange:K},null,8,[`current-page`,`page-size`,`total`])])]),p(re,{modelValue:O.value,"onUpdate:modelValue":l[11]||=e=>O.value=e,title:k.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(L,{onClick:l[10]||=e=>O.value=!1},{default:e(()=>[...l[18]||=[o(`取消`,-1)]]),_:1}),p(L,{type:`primary`,loading:A.value,onClick:H},{default:e(()=>[o(a(j.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[p(ne,{ref_key:`formRef`,ref:M,model:F,rules:I,"label-width":`90px`},{default:e(()=>[p(te,{gutter:16},{default:e(()=>[p(Q,{span:12},{default:e(()=>[p(Z,{label:`仓库名称`,prop:`name`},{default:e(()=>[p(g,{modelValue:F.name,"onUpdate:modelValue":l[4]||=e=>F.name=e,placeholder:`请输入仓库名称`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:12},{default:e(()=>[p(Z,{label:`联系人`,prop:`contact_person`},{default:e(()=>[p(g,{modelValue:F.contact_person,"onUpdate:modelValue":l[5]||=e=>F.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:24},{default:e(()=>[p(Z,{label:`地址`,prop:`address`},{default:e(()=>[p(g,{modelValue:F.address,"onUpdate:modelValue":l[6]||=e=>F.address=e,placeholder:`请输入仓库地址`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:12},{default:e(()=>[p(Z,{label:`联系电话`,prop:`contact_phone`},{default:e(()=>[p(g,{modelValue:F.contact_phone,"onUpdate:modelValue":l[7]||=e=>F.contact_phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:12},{default:e(()=>[p(Z,{label:`状态`,prop:`status`},{default:e(()=>[p($,{modelValue:F.status,"onUpdate:modelValue":l[8]||=e=>F.status=e,"active-value":1,"inactive-value":0,"active-text":`启用`,"inactive-text":`停用`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:12},{default:e(()=>[p(Z,{label:`排序`,prop:`sort`},{default:e(()=>[p(ee,{modelValue:F.sort,"onUpdate:modelValue":l[9]||=e=>F.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file +import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,lt as l,p as u,st as d,u as f,v as p}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as m,o as h,s as g}from"./index-3YculFMX.js";import"./request-DD5g7hLU.js";import{c as _}from"./inventory-BVEZNzEQ.js";var v={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(`新增仓库`),A=l(!1),j=l(!1),M=l(null),N=d({name:``,status:``}),P=d({page:1,page_size:20}),F=d({id:null,name:``,address:``,contact_person:``,contact_phone:``,status:1,sort:0}),I={name:[{required:!0,message:`请输入仓库名称`,trigger:`blur`}]};async function L(){D.value=!0;try{let e=await _.getList({...N,...P});T.value=e.data?.list||[],E.value=e.data?.total||0}catch{}finally{D.value=!1}}function R(){P.page=1,L()}function z(){Object.assign(N,{name:``,status:``}),R()}function B(){j.value=!1,k.value=`新增仓库`,Object.assign(F,{id:null,name:``,address:``,contact_person:``,contact_phone:``,status:1,sort:0}),O.value=!0}async function V(e){j.value=!0,k.value=`编辑仓库 - ${e.name}`;let t=(await _.getDetail(e.id)).data;Object.assign(F,{id:t.id,name:t.name,address:t.address||``,contact_person:t.contact_person||``,contact_phone:t.contact_phone||``,status:t.status,sort:t.sort||0}),O.value=!0}async function H(){M.value&&await M.value.validate(async e=>{if(e){A.value=!0;try{j.value?(await _.update(F.id,F),g.success(`仓库信息更新成功`)):(await _.create(F),g.success(`仓库创建成功`)),O.value=!1,L()}catch{}finally{A.value=!1}}})}async function U(e){await h.confirm(`确定删除仓库「${e.name}」吗?删除后该仓库下的数据将不可访问。`,`删除确认`,{confirmButtonText:`确定删除`,cancelButtonText:`取消`,type:`warning`,confirmButtonClass:`el-button--danger`}),await _.delete(e.id),g.success(`删除成功`),L()}async function W(e){let t=e.status===1?0:1,n=t===1?`启用`:`停用`;try{await _.update(e.id,{...e,status:t}),e.status=t,g.success(`仓库已${n}`)}catch{}}function G(e){P.page=e,L()}function K(e){P.page_size=e,P.page=1,L()}return r(L),(r,l)=>{let d=i(`Search`),h=i(`el-icon`),g=i(`el-input`),_=i(`el-option`),w=i(`el-select`),L=i(`el-button`),q=i(`el-table-column`),J=i(`el-tag`),Y=i(`el-table`),X=i(`el-pagination`),Z=i(`el-form-item`),Q=i(`el-col`),$=i(`el-switch`),ee=i(`el-input-number`),te=i(`el-row`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),u(`div`,v,[f(`div`,y,[p(g,{modelValue:N.name,"onUpdate:modelValue":l[0]||=e=>N.name=e,placeholder:`搜索仓库名称`,style:{width:`220px`},clearable:``,onKeydown:m(R,[`enter`])},{prefix:e(()=>[p(h,null,{default:e(()=>[p(d)]),_:1})]),_:1},8,[`modelValue`]),p(w,{modelValue:N.status,"onUpdate:modelValue":l[1]||=e=>N.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[p(_,{label:`启用`,value:1}),p(_,{label:`停用`,value:0})]),_:1},8,[`modelValue`]),p(L,{type:`primary`,onClick:R},{default:e(()=>[...l[12]||=[o(`查询`,-1)]]),_:1}),p(L,{onClick:z},{default:e(()=>[...l[13]||=[o(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[15]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`仓库列表`)],-1),p(L,{type:`primary`,onClick:B},{default:e(()=>[...l[14]||=[o(`新增仓库`,-1)]]),_:1})]),f(`div`,S,[c((n(),s(Y,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(q,{prop:`name`,label:`仓库名称`,"min-width":`160`}),p(q,{prop:`address`,label:`地址`,"min-width":`200`,"show-overflow-tooltip":``}),p(q,{prop:`contact_person`,label:`联系人`,width:`120`}),p(q,{prop:`contact_phone`,label:`联系电话`,width:`140`}),p(q,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[p(J,{type:t.status===1?`success`:`danger`,size:`small`},{default:e(()=>[o(a(t.status===1?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),p(q,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(L,{size:`small`,type:`primary`,text:``,onClick:e=>V(t)},{default:e(()=>[...l[16]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(L,{size:`small`,type:t.status===1?`warning`:`success`,text:``,onClick:e=>W(t)},{default:e(()=>[o(a(t.status===1?`停用`:`启用`),1)]),_:2},1032,[`type`,`onClick`]),p(L,{size:`small`,type:`danger`,text:``,onClick:e=>U(t)},{default:e(()=>[...l[17]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ie,D.value]])]),f(`div`,C,[p(X,{"current-page":P.page,"onUpdate:currentPage":l[2]||=e=>P.page=e,"page-size":P.page_size,"onUpdate:pageSize":l[3]||=e=>P.page_size=e,total:E.value,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next, jumper`,background:``,onCurrentChange:G,onSizeChange:K},null,8,[`current-page`,`page-size`,`total`])])]),p(re,{modelValue:O.value,"onUpdate:modelValue":l[11]||=e=>O.value=e,title:k.value,width:`600px`,"destroy-on-close":``},{footer:e(()=>[p(L,{onClick:l[10]||=e=>O.value=!1},{default:e(()=>[...l[18]||=[o(`取消`,-1)]]),_:1}),p(L,{type:`primary`,loading:A.value,onClick:H},{default:e(()=>[o(a(j.value?`保存修改`:`确认创建`),1)]),_:1},8,[`loading`])]),default:e(()=>[p(ne,{ref_key:`formRef`,ref:M,model:F,rules:I,"label-width":`90px`},{default:e(()=>[p(te,{gutter:16},{default:e(()=>[p(Q,{span:12},{default:e(()=>[p(Z,{label:`仓库名称`,prop:`name`},{default:e(()=>[p(g,{modelValue:F.name,"onUpdate:modelValue":l[4]||=e=>F.name=e,placeholder:`请输入仓库名称`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:12},{default:e(()=>[p(Z,{label:`联系人`,prop:`contact_person`},{default:e(()=>[p(g,{modelValue:F.contact_person,"onUpdate:modelValue":l[5]||=e=>F.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:24},{default:e(()=>[p(Z,{label:`地址`,prop:`address`},{default:e(()=>[p(g,{modelValue:F.address,"onUpdate:modelValue":l[6]||=e=>F.address=e,placeholder:`请输入仓库地址`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:12},{default:e(()=>[p(Z,{label:`联系电话`,prop:`contact_phone`},{default:e(()=>[p(g,{modelValue:F.contact_phone,"onUpdate:modelValue":l[7]||=e=>F.contact_phone=e,placeholder:`请输入联系电话`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:12},{default:e(()=>[p(Z,{label:`状态`,prop:`status`},{default:e(()=>[p($,{modelValue:F.status,"onUpdate:modelValue":l[8]||=e=>F.status=e,"active-value":1,"inactive-value":0,"active-text":`启用`,"inactive-text":`停用`},null,8,[`modelValue`])]),_:1})]),_:1}),p(Q,{span:12},{default:e(()=>[p(Z,{label:`排序`,prop:`sort`},{default:e(()=>[p(ee,{modelValue:F.sort,"onUpdate:modelValue":l[9]||=e=>F.sort=e,min:0,max:9999,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default}; \ No newline at end of file diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 681ea0f..456a96d 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -5,7 +5,7 @@ frontend - +