From bd0a3d3b961a8cd683828e908c9281099b527304 Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Tue, 8 Sep 2026 13:34:18 +0800 Subject: [PATCH] fix: complete IAM login after OIDC callback --- admin/src/views/account/login.vue | 4 +++- .../public/admin/assets/{403-CYRAU9T7.js => 403-CPnePqbE.js} | 2 +- .../public/admin/assets/{404-DrIunG4L.js => 404-B5k2zNS_.js} | 2 +- ...rdPanel-D32UIqUN.js => AppointmentRecordPanel-DzDHAY3k.js} | 2 +- ...{AssignLogPanel-Dye0u9va.js => AssignLogPanel-CDRHljLe.js} | 2 +- ...ialog-BLaY2Gyh.js => AssistantWatchCallDialog-BoEGWQ09.js} | 2 +- ...loodRecordList-EQkADV67.js => BloodRecordList-P_n1Kvlm.js} | 2 +- ...allRecordPanel-D0IuoeiU.js => CallRecordPanel-C1Otf2Df.js} | 2 +- ...{CaseRecordList-B8mV3RcM.js => CaseRecordList-UyYqRkBS.js} | 2 +- .../{DailyMatrix-UhX8pyGC.js => DailyMatrix-DtyPece3.js} | 2 +- ...osisTodoList-CFEYln83.js => DiagnosisTodoList-CqxCRYim.js} | 2 +- ...{DietRecordList-DiOY_-B_.js => DietRecordList-C2B7kp6Z.js} | 2 +- ...eRecordList-BcbsP5MM.js => ExerciseRecordList-BKFY7oPA.js} | 2 +- ...jmE0pP5.js => GancaoSubmissionReconcileButton-DpfLEmHk.js} | 2 +- ...ileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js} | 2 +- ...tRecordPanel-Dfh8REJx.js => ImChatRecordPanel-CsDITo98.js} | 2 +- .../{MessageBubble-CrQG9KfW.js => MessageBubble--o_EKRQx.js} | 2 +- .../{NoteTimeline-DVNRRysO.js => NoteTimeline-DqVO9iO4.js} | 2 +- ...rderActionHost-B3ThVYvr.js => OrderActionHost-C510XVGT.js} | 2 +- .../assets/{OrderPanel-BCRcd5lr.js => OrderPanel-BxRj5r_p.js} | 2 +- .../{PaibanPanel-BETrahUR.js => PaibanPanel-2RDEzQLo.js} | 2 +- ...atientCaseCard-B9RReKmk.js => PatientCaseCard-BUE1F6Xk.js} | 2 +- ...atientInfoCard-Bub1uklL.js => PatientInfoCard-CRgOOFEE.js} | 2 +- ...ientOrderList-hgIlFF0m.js => PatientOrderList-Bq3jWUKy.js} | 2 +- ...q7Ovs.js => PrescriptionAiBatchGenerateDialog-BUnLbCPn.js} | 2 +- ...log-B4Gc5TXr.js => PrescriptionAiReportDialog-COU5n7OO.js} | 2 +- ...-O5Yv7ynk.js => PrescriptionOrderDetailDrawer-C30zC4to.js} | 2 +- .../{ProgressPanel-BvPmp3XS.js => ProgressPanel-Cz93PB3z.js} | 2 +- ...onForm-COkTGznv.js => PromotionAutomationForm-C_8XR98S.js} | 2 +- ...ckBlock-CTkcYK3L.js => RecordingPlaybackBlock-Llmd2S_t.js} | 2 +- ...deoPlayer-VBMST9fm.js => RecordingVideoPlayer-D28GF4NK.js} | 2 +- .../assets/{SendPanel-Bk_zumN5.js => SendPanel-Pp0Dm3Lr.js} | 2 +- ...{TrackingMatrix-DM20myFS.js => TrackingMatrix-BfgpwCge.js} | 2 +- ...eTimeline-BN_PykOB.js => TrackingNoteTimeline--NTL4w6T.js} | 2 +- ...der-BF_tetsw.js => WecomFloatingWidgetBuilder-CeJ7tFnb.js} | 2 +- ...ageEditor-A12mxrKO.js => WelcomeMessageEditor-CZ3lYeWY.js} | 2 +- ...{account-adjust-uROIj6YI.js => account-adjust-Dl4mrGMe.js} | 2 +- ...nt-adjust.vue_vue_type_script_setup_true_lang-CWDqkmPn.js} | 2 +- .../{account_cost-Cu7HRXZ4.js => account_cost-B9kmgGu7.js} | 2 +- .../public/admin/assets/{add-DUPS86dc.js => add-B2VOi4Qw.js} | 2 +- .../admin/assets/{add-nav-D7qVIdmR.js => add-nav-Dng94uAB.js} | 2 +- ...> add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js} | 2 +- .../admin/assets/{admin-BiglL3bM.js => admin-RUE9duOm.js} | 2 +- .../{appointment-aTSV_XED.js => appointment-CWzTZ9VV.js} | 2 +- .../admin/assets/{article-BsGgZfIu.js => article-D7twg9M1.js} | 2 +- .../admin/assets/{asset-BIi7JiAC.js => asset-D3abx9VD.js} | 2 +- .../admin/assets/{attr-BbYRgiEK.js => attr-BZJ196vG.js} | 2 +- .../admin/assets/{attr-xKBSWMjX.js => attr-BwA_74Bu.js} | 2 +- .../admin/assets/{attr-DOkeFgW2.js => attr-CGTrPtXp.js} | 2 +- .../admin/assets/{attr-CvYF9HcW.js => attr-CSIASRLW.js} | 2 +- .../admin/assets/{attr-CIQncvn9.js => attr-CjhU9F4P.js} | 2 +- .../admin/assets/{attr-Bzl3ZUvo.js => attr-DGALZxxM.js} | 2 +- .../admin/assets/{attr-C15UeEgF.js => attr-DWqsQPnI.js} | 2 +- .../admin/assets/{attr-DNYOqt8u.js => attr-Desfmq-O.js} | 2 +- .../admin/assets/{attr-DaHTqGGt.js => attr-U0WNIueQ.js} | 2 +- server/public/admin/assets/attr-setting-DE1D6Xw2.js | 1 + server/public/admin/assets/attr-setting-Dy-rYL12.js | 1 - ...r-setting.vue_vue_type_script_setup_true_lang-CkQbp3IP.js} | 2 +- ...s => attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js} | 2 +- ...s => attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js} | 2 +- ...s => attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js} | 2 +- ...s => attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js} | 2 +- ...s => attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js} | 2 +- ...s => attr.vue_vue_type_script_setup_true_lang-InluY_es.js} | 2 +- ...s => attr.vue_vue_type_script_setup_true_lang-s3MjTyMz.js} | 2 +- .../admin/assets/{auth-Cq56kTJb.js => auth-BPryrCi7.js} | 2 +- ...s => auth.vue_vue_type_script_setup_true_lang-CFoWU2Bs.js} | 2 +- ...alance_details-CewPWsE5.js => balance_details-C-e-XZQ4.js} | 2 +- ...d-work-wechat-C-tP8cIn.js => bind-work-wechat-CvAePHuu.js} | 2 +- .../admin/assets/{cache-D_vN465x.js => cache-CmGeN_d9.js} | 2 +- ...hange-password-tLKGtc83.js => change-password-x7Sz_3GB.js} | 2 +- .../admin/assets/{code-DhkjCxGq.js => code-MrNYrKx7.js} | 2 +- .../{code-preview-DBWqxZs9.js => code-preview-DF2sZaPh.js} | 2 +- ...e-preview.vue_vue_type_script_setup_true_lang-BqAwrR8R.js} | 2 +- ...ttlement-BIUQKhV2.js => commission-settlement-C8uEBqVH.js} | 2 +- .../admin/assets/{config-BcjsSE7D.js => config-CybBa6W7.js} | 2 +- .../assets/{consumer-CPi0_UIB.js => consumer-csfCIN0w.js} | 2 +- .../admin/assets/{content-Des7r1Cn.js => content-BGq-Uuuc.js} | 2 +- .../admin/assets/{content-CImZycXn.js => content-BJiGIc_u.js} | 2 +- .../admin/assets/{content-DNPcBCfo.js => content-BzNveTg-.js} | 2 +- .../admin/assets/{content-8Zehp_Rk.js => content-CC1w-xAd.js} | 2 +- .../admin/assets/{content-BTqw4mI0.js => content-CQZwJIUc.js} | 2 +- .../admin/assets/{content-9uaH4o7Z.js => content-CVZfwvS8.js} | 2 +- .../admin/assets/{content-C12ui3Qz.js => content-C_Os7VUy.js} | 2 +- .../admin/assets/{content-BKtyOCcY.js => content-CjkrN-kA.js} | 2 +- .../admin/assets/{content-Dbr1CmpF.js => content-CuE78Set.js} | 2 +- .../admin/assets/{content-D28o1htD.js => content-DVKuEpqI.js} | 2 +- .../admin/assets/{content-lVo8M4Zt.js => content-DrZ0HxYf.js} | 2 +- .../admin/assets/{content-DtEMpPXD.js => content-Dtk1yPl3.js} | 2 +- .../admin/assets/{content-DCZ1xcL7.js => content-tnscaIhs.js} | 2 +- ...> content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js} | 2 +- ...> content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js} | 2 +- ...> content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js} | 2 +- ...> content.vue_vue_type_script_setup_true_lang-DsMOey0g.js} | 2 +- ...> content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js} | 2 +- .../assets/{cost-edit-BkHmQaQh.js => cost-edit-pZVZpDGY.js} | 2 +- ...cost-edit.vue_vue_type_script_setup_true_lang-GDC8DpIL.js} | 2 +- .../assets/{data-table-CP3b6bk7.js => data-table-CLWy4za8.js} | 2 +- ...ata-table.vue_vue_type_script_setup_true_lang-BuGcAuLn.js} | 2 +- .../assets/{decoration-HusoyoI3.js => decoration-BRUlzC1v.js} | 2 +- ...{decoration-img-63yHTKq5.js => decoration-img-cJ3sOJu-.js} | 2 +- .../{default_reply-Bh_u2uBi.js => default_reply-Ck6UCxZe.js} | 2 +- .../assets/{department-OHG8LTQz.js => department-DdhKHNS-.js} | 2 +- .../{dept-tongji-BGdl-ZuM.js => dept-tongji-Bu-jXIks.js} | 2 +- .../admin/assets/{detail-DXs5F4gI.js => detail-8xtYeAhn.js} | 2 +- .../admin/assets/{detail-BzY4w_V9.js => detail-CsM6bOnd.js} | 2 +- .../admin/assets/{dict-CCNMoFEY.js => dict-19er6a3L.js} | 2 +- .../admin/assets/{doctor-BVLBwYIX.js => doctor-BZKBQu9t.js} | 2 +- .../admin/assets/{edit-BtPgqFvb.js => edit-2Xl3Ar7O.js} | 2 +- .../admin/assets/{edit-BN7xhPW7.js => edit-BI0tWG2X.js} | 2 +- .../admin/assets/{edit-D5E4IGLO.js => edit-BMFiZk9J.js} | 2 +- .../admin/assets/{edit-D0eJRzXo.js => edit-BXwhN0TR.js} | 2 +- .../admin/assets/{edit-C3Dfhz08.js => edit-BXwpNDY-.js} | 2 +- .../admin/assets/{edit-hvqOlY5P.js => edit-B_P_HVx3.js} | 2 +- .../admin/assets/{edit-CX0gtA17.js => edit-BbPz3ZH3.js} | 2 +- .../admin/assets/{edit-Cr_KB7Uj.js => edit-Bwbysg4y.js} | 2 +- .../admin/assets/{edit-B86t9jbn.js => edit-CF2O2Fit.js} | 2 +- .../admin/assets/{edit-DhPDggz8.js => edit-Cp8PlYx-.js} | 2 +- .../admin/assets/{edit-DI6xYbut.js => edit-CpXNGceA.js} | 2 +- .../admin/assets/{edit-BhCPKHfV.js => edit-DL6Vxw1r.js} | 2 +- .../admin/assets/{edit-EVe-rvDl.js => edit-DQ82mXcF.js} | 2 +- .../admin/assets/{edit-DUrq1LLZ.js => edit-Do5cfT8q.js} | 2 +- .../admin/assets/{edit-BlUxS5DU.js => edit-EtrEBhIY.js} | 2 +- .../admin/assets/{edit-DB0EuTxq.js => edit-VO7XkV1v.js} | 2 +- .../admin/assets/{edit-B8eFIqdD.js => edit-ZQ7tSM9h.js} | 2 +- .../admin/assets/{edit-DvbnA_Iw.js => edit-ZZMCozF8.js} | 2 +- .../admin/assets/{edit-DKzh1wFK.js => edit-razgmSeC.js} | 2 +- .../admin/assets/{edit-Cezi5UCT.js => edit-yL8EpC5L.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-B0HIfaxe.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-Bfkmk0Oj.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-Bp1OE_d6.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-C-Q6zJAz.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-Cmw9LYbk.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-Csd8PIFD.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-DM3yy7QA.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-DNryuqHs.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-Dog1IeKU.js} | 2 +- ...s => edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js} | 2 +- ...script_setup_true_name_articleColumnEdit_lang-CVNsiWtw.js} | 2 +- .../{environment-ByMIQ2-e.js => environment-DWZ8fjr8.js} | 2 +- .../admin/assets/{error-BU0Zs3ny.js => error-D1FuDlMf.js} | 2 +- .../admin/assets/{fans-C45r_J_N.js => fans-xWTU7WTj.js} | 2 +- .../admin/assets/{file-FhuQj5ML.js => file-D7g_w1vo.js} | 2 +- .../admin/assets/{file-BDJxuISl.js => file-iKPEqCPr.js} | 2 +- .../admin/assets/{filing-AgGjXE6m.js => filing-XM5KxFed.js} | 2 +- .../admin/assets/{finance-BnbY_luA.js => finance-Dc98hQLW.js} | 2 +- .../{first_visit-BYIyH6Y1.js => first_visit-lwfDQsu4.js} | 2 +- .../{follow_reply-BiptAGAB.js => follow_reply-BICtf8oP.js} | 2 +- ...=> footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js} | 2 +- .../admin/assets/{guahao-D0JIJ2D5.js => guahao-BPV84ZcO.js} | 2 +- server/public/admin/assets/{h5-DoZ33CNA.js => h5-AaliMZBI.js} | 2 +- server/public/admin/assets/{h5-D2fV4g_7.js => h5-DeQqnrDf.js} | 2 +- .../admin/assets/{icon-CPBsEowB.js => icon-Cq9aWCMz.js} | 2 +- .../admin/assets/{index-CmItFXin.js => index-1N_0IK2C.js} | 2 +- .../admin/assets/{index-BTlyUNCl.js => index-6fpUcIGz.js} | 4 ++-- .../admin/assets/{index-BTh_xBKj.js => index-B48jKD3-.js} | 2 +- .../admin/assets/{index-YlXDfCLx.js => index-BDHpYY_Z.js} | 2 +- .../admin/assets/{index-hyZhgnYU.js => index-BIVqDwVE.js} | 4 ++-- .../admin/assets/{index-Dxrq29dg.js => index-BIgtwj7l.js} | 2 +- .../admin/assets/{index-WB60onBZ.js => index-BK-C1S78.js} | 2 +- .../admin/assets/{index-BuoDXKR5.js => index-BNoaqcOd.js} | 2 +- .../admin/assets/{index-0MmkT8Lc.js => index-BQOPfZw4.js} | 2 +- .../admin/assets/{index-D5PquIeg.js => index-BVjWjU3h.js} | 2 +- .../admin/assets/{index-BoXnkMeQ.js => index-BX_8clc1.js} | 2 +- .../admin/assets/{index-Vc0qWDyq.js => index-BZK6_Fam.js} | 2 +- .../admin/assets/{index-BjiA8CzE.js => index-BaMnb-iR.js} | 2 +- .../admin/assets/{index-J4t9UnEx.js => index-BcWKucza.js} | 4 ++-- .../admin/assets/{index-X1ZWiNaa.js => index-Be83ib0W.js} | 2 +- .../admin/assets/{index-D7__UvHo.js => index-BeY5SVIg.js} | 2 +- .../admin/assets/{index-B-4XfG4i.js => index-BiFi2OpS.js} | 2 +- .../admin/assets/{index-ADsqVpLj.js => index-Bu073uwT.js} | 2 +- .../admin/assets/{index-wP2rzNak.js => index-BzSyPKus.js} | 2 +- .../admin/assets/{index-APM3wetz.js => index-C0I0jubD.js} | 2 +- .../admin/assets/{index-c6l5F9Wm.js => index-C7ZHkyPf.js} | 2 +- .../admin/assets/{index-CZHppZGf.js => index-CBjo9bLs.js} | 2 +- .../admin/assets/{index-C0TmyDi6.js => index-CC7Q2x1w.js} | 2 +- .../admin/assets/{index-CguMPd65.js => index-CCmH8maL.js} | 2 +- .../admin/assets/{index-4oQVMwE8.js => index-CDpyEmx0.js} | 2 +- .../admin/assets/{index-ziRsjY9I.js => index-COzAj1fq.js} | 2 +- .../admin/assets/{index-BrWEzRo9.js => index-CUuHlzOy.js} | 2 +- .../admin/assets/{index-BCCk5TAv.js => index-CZc257FO.js} | 2 +- .../admin/assets/{index-CNdV-UFb.js => index-CcMLMPNz.js} | 2 +- .../admin/assets/{index-B6i9iaxJ.js => index-Cf-SlqzS.js} | 2 +- .../admin/assets/{index-Dd-Ko9om.js => index-CkBa3fm7.js} | 2 +- .../admin/assets/{index-nUSE5ReJ.js => index-ClUiIVBA.js} | 2 +- .../admin/assets/{index-D9lWZuU2.js => index-CrOviIg_.js} | 4 ++-- .../admin/assets/{index-DM8wou5M.js => index-CsdJJZcj.js} | 2 +- .../admin/assets/{index-BFqDZyjI.js => index-Ct43fb_P.js} | 2 +- .../admin/assets/{index-uhLoGVNB.js => index-CuYTaQIf.js} | 2 +- .../admin/assets/{index-D53G6fzu.js => index-CwAaH8wu.js} | 2 +- .../admin/assets/{index-C5r1a79q.js => index-D6w2Tfd_.js} | 2 +- .../admin/assets/{index-Ds14Yyfh.js => index-DScosua5.js} | 2 +- .../admin/assets/{index-MdTuu9az.js => index-DX2H1tQM.js} | 2 +- .../admin/assets/{index-C8llQFXz.js => index-DXf2y97-.js} | 2 +- .../admin/assets/{index-BxH3KBQI.js => index-Dp3CdQ0Z.js} | 2 +- .../admin/assets/{index-B0O0Dlpp.js => index-Dq79cnN7.js} | 2 +- .../admin/assets/{index-D6-2IW7r.js => index-IvyoKa-e.js} | 4 ++-- .../admin/assets/{index-fRv3NTFQ.js => index-J_eFER10.js} | 4 ++-- .../admin/assets/{index-DI1J3EW8.js => index-LYNm1TDi.js} | 2 +- .../admin/assets/{index-Dp25xzkX.js => index-M0N4i9Vc.js} | 2 +- .../admin/assets/{index-D6hiZISU.js => index-UGD9wxNK.js} | 2 +- .../admin/assets/{index-CXKP4IpU.js => index-aSZlGdY5.js} | 2 +- .../admin/assets/{index-CDzfJx8p.js => index-cqZKn1MG.js} | 2 +- .../admin/assets/{index-Q5Ek1In8.js => index-ex2TBIDl.js} | 2 +- .../admin/assets/{index-BqygYdeI.js => index-kLHJyqVF.js} | 4 ++-- .../admin/assets/{index-B6hZ4N_9.js => index-ns6fHpFi.js} | 2 +- .../admin/assets/{index-VwsZ7VG0.js => index-qwVd4UhY.js} | 2 +- .../admin/assets/{index-DAuHO-PF.js => index-rpLvWLk-.js} | 2 +- .../admin/assets/{index-B9Q0OYI5.js => index-ryG0bJRe.js} | 2 +- .../admin/assets/{index-Dc1nFBAH.js => index-sgqCyAwB.js} | 2 +- .../admin/assets/{index-BxX_XfwR.js => index-yfT8lnLY.js} | 2 +- ... => index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js} | 2 +- ...u.js => index.vue_vue_type_style_index_0_lang-54f2yh7y.js} | 2 +- .../assets/{index_h5-DDGgBKsJ.js => index_h5-DbYby-js.js} | 4 ++-- .../{information-BPMYpBuF.js => information-DAb-88JQ.js} | 2 +- .../admin/assets/{journal-5h3b-rKa.js => journal-CqwEgx0b.js} | 2 +- .../{keyword_reply-BfjuIFuE.js => keyword_reply-DeGdWnXE.js} | 2 +- .../admin/assets/{link-CGojB-wX.js => link-ChL3YoyQ.js} | 2 +- .../admin/assets/{list-BY4Dc_F3.js => list-BTbA_aY2.js} | 4 ++-- .../admin/assets/{list-DyOdEEM6.js => list-CMCIptz5.js} | 2 +- .../admin/assets/{list_h5-D1GNR55p.js => list_h5-DFZTD_No.js} | 4 ++-- server/public/admin/assets/login-B9ZNdsU2.css | 1 + server/public/admin/assets/login-BhxpzyyI.js | 1 + server/public/admin/assets/login-NzKmT1-_.css | 1 - server/public/admin/assets/login-qHMv5bBU.js | 1 - ...{login_register-CC_WxvcF.js => login_register-BZlioH_J.js} | 2 +- .../assets/{medicine-DxV1j6hZ.js => medicine-Cw2sIjNS.js} | 2 +- .../assets/{medicine-CEgParOp.js => medicine-DIQyk1R0.js} | 2 +- .../admin/assets/{menu-jRNdRy5r.js => menu-Bn6AOgrY.js} | 2 +- .../admin/assets/{menu-CVaxMLtS.js => menu-Czs2_ERZ.js} | 2 +- .../admin/assets/{menu-Cz3DbxDt.js => menu-JxKcZi6I.js} | 2 +- .../assets/{menu-set-BuJ09Hlb.js => menu-set-Cg8wW997.js} | 2 +- ... menu-set.vue_vue_type_script_setup_true_lang-B71z3XWb.js} | 2 +- .../admin/assets/{message-DOlfHejJ.js => message-BwLlJSkW.js} | 2 +- .../{mobile-style-CdEh2jmr.js => mobile-style-FEnJ57u3.js} | 2 +- ...ile-style.vue_vue_type_script_setup_true_lang-BkY-Hl4A.js} | 2 +- .../admin/assets/{mubiao-B0CIVglk.js => mubiao-Dv-wql71.js} | 2 +- ...iao-dept-card-2mhD6goO.js => mubiao-dept-card-DfnzTPJO.js} | 2 +- ...iao-dept-node-B8lRK-e1.js => mubiao-dept-node-Ds3E7lF2.js} | 2 +- .../admin/assets/{oa-attr-DN37hWLr.js => oa-attr-B8Vj6nQj.js} | 2 +- .../{oa-menu-form-C-7mO0su.js => oa-menu-form-MVK6-70i.js} | 2 +- ...nu-form-edit-Ds9NXO6M.js => oa-menu-form-edit-Dfe5nrsm.js} | 2 +- ...form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js} | 2 +- ...menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js} | 2 +- .../assets/{oa-phone-B-CHUk5L.js => oa-phone-88iTfWtw.js} | 2 +- .../{open_setting-57AAYHuJ.js => open_setting-DuOTXegB.js} | 2 +- .../admin/assets/{order-L3Ma3_1N.js => order-B5S0jULN.js} | 2 +- .../assets/{order_list-7zm3KguG.js => order_list-BYpnig_B.js} | 4 ++-- .../{order_list_h5-CSk24Nh-.js => order_list_h5-CU96gk7f.js} | 4 ++-- .../assets/{overflow-dVvSdRur.js => overflow-CAop_L2e.js} | 2 +- .../admin/assets/{paiban-usln5zIm.js => paiban-CqRd7vZl.js} | 2 +- .../admin/assets/{patient-DzLGoG87.js => patient-L-xV50Pi.js} | 2 +- .../{patient-call-BVrmqt06.js => patient-call-DNgQ3_bn.js} | 2 +- .../public/admin/assets/{pay-C3f37fth.js => pay-CM_epwkI.js} | 2 +- server/public/admin/assets/{pc-COJePt-7.js => pc-Bsl4ZcLO.js} | 2 +- .../assets/{pc_details-C8AaBSI5.js => pc_details-Cv9JlnxV.js} | 2 +- .../admin/assets/{perm-CTlz8z1G.js => perm-8cp9D7Ag.js} | 2 +- .../admin/assets/{picker-8l5NOLQi.js => picker-CeVtQr2X.js} | 2 +- .../admin/assets/{picker-C0hwSppU.js => picker-lbwHqE-a.js} | 2 +- ...=> picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js} | 2 +- .../admin/assets/{post-CPnP1Klt.js => post-BjyIxcyn.js} | 2 +- ...ion-drawer-BZnGD-lY.js => prescription-drawer-FyoeLrYk.js} | 2 +- .../admin/assets/{preview-C1B_KeTu.js => preview-C9cY2eYG.js} | 2 +- .../assets/{preview-pc-Bjp7P5eB.js => preview-pc-B5scFioi.js} | 2 +- .../assets/{progress-zIFnwUAT.js => progress-Crqw_SbF.js} | 2 +- .../assets/{protocol-0nHxkgVv.js => protocol-DhEGqCSu.js} | 2 +- .../admin/assets/{qywx-B3yPQRKG.js => qywx-Dwa2dhw9.js} | 2 +- .../assets/{readonly-CZaNTA70.js => readonly-DyVEs7Ql.js} | 2 +- ...echarge_record-DUGG7Fe5.js => recharge_record-DGzsXulv.js} | 2 +- .../assets/{refund-log-BQONpIM2.js => refund-log-yhGQ0xn1.js} | 2 +- ...efund-log.vue_vue_type_script_setup_true_lang-Dtrt6_4q.js} | 2 +- .../{refund_record-db8KZnbz.js => refund_record-CZUgsvAx.js} | 2 +- .../{relations-add-Wufgegpo.js => relations-add-BrrivRhR.js} | 2 +- ...tions-add.vue_vue_type_script_setup_true_lang-BdFhe7ij.js} | 2 +- .../assets/{rich_text-ocUaHwdI.js => rich_text-Cx8Gf7bM.js} | 2 +- .../admin/assets/{role-B18Xi51b.js => role-hMw9X8iI.js} | 2 +- .../admin/assets/{roster-CFwVYkME.js => roster-BL5e33GP.js} | 2 +- ...f_input_stats-VfgnRjmU.js => self_input_stats-BfVTp8QE.js} | 2 +- .../admin/assets/{setting-C4t4bQUw.js => setting-M6wAI_0P.js} | 2 +- .../admin/assets/{setup-BE7_lWZ-.js => setup-D9r44yec.js} | 2 +- .../assets/{statistics-Cs8S-p71.js => statistics-CIPjXJvE.js} | 2 +- .../admin/assets/{stats-D2lwBNks.js => stats-DXRw03Ae.js} | 2 +- .../admin/assets/{style-CFK9MlRr.js => style-B1g_bg_k.js} | 2 +- .../admin/assets/{tabbar-BqLXyGAa.js => tabbar-BYrAmmq1.js} | 2 +- .../public/admin/assets/{tcm-CEIBuAeK.js => tcm-D-ZRccbe.js} | 2 +- .../{theme-picker-DBEHQPAJ.js => theme-picker-4kexhjea.js} | 2 +- .../admin/assets/{tongji-8jva5VKb.js => tongji-BOx1xRac.js} | 2 +- .../admin/assets/{upload-DeI6j3R7.js => upload-Bhiyuxj5.js} | 2 +- ...{useDictOptions-Cx2-jvcM.js => useDictOptions-CU1TLMPn.js} | 2 +- ...stTimeFilter-Btvmdejx.js => useListTimeFilter-BquUtCH_.js} | 2 +- ...eOptions-B5yhXJl7.js => useMediaSourceOptions-Ct8BjvKG.js} | 2 +- .../assets/{useMenuOa-TRPv5Mx7.js => useMenuOa-C_WMnKf2.js} | 2 +- .../admin/assets/{user-BEhg7-Z3.js => user-DLPA6EUk.js} | 2 +- .../admin/assets/{weapp-CSCB4Ihm.js => weapp-BdK7SbhR.js} | 2 +- .../admin/assets/{weapp-B8uox-3Q.js => weapp-CBd1nTel.js} | 2 +- .../admin/assets/{website-CUzsflNy.js => website-CeVKwoPS.js} | 2 +- .../admin/assets/{wx_oa-BuVhGwqh.js => wx_oa-Bi2y5vRS.js} | 2 +- .../admin/assets/{yeji-CjbxhW8j.js => yeji-D0yhxsrU.js} | 2 +- .../assets/{yeji-edit-DNKGXffJ.js => yeji-edit-ChIyC1vo.js} | 2 +- ...yeji-edit.vue_vue_type_script_setup_true_lang-D8Hjw379.js} | 2 +- server/public/admin/index.html | 2 +- 301 files changed, 312 insertions(+), 310 deletions(-) rename server/public/admin/assets/{403-CYRAU9T7.js => 403-CPnePqbE.js} (92%) rename server/public/admin/assets/{404-DrIunG4L.js => 404-B5k2zNS_.js} (91%) rename server/public/admin/assets/{AppointmentRecordPanel-D32UIqUN.js => AppointmentRecordPanel-DzDHAY3k.js} (97%) rename server/public/admin/assets/{AssignLogPanel-Dye0u9va.js => AssignLogPanel-CDRHljLe.js} (97%) rename server/public/admin/assets/{AssistantWatchCallDialog-BLaY2Gyh.js => AssistantWatchCallDialog-BoEGWQ09.js} (96%) rename server/public/admin/assets/{BloodRecordList-EQkADV67.js => BloodRecordList-P_n1Kvlm.js} (98%) rename server/public/admin/assets/{CallRecordPanel-D0IuoeiU.js => CallRecordPanel-C1Otf2Df.js} (92%) rename server/public/admin/assets/{CaseRecordList-B8mV3RcM.js => CaseRecordList-UyYqRkBS.js} (96%) rename server/public/admin/assets/{DailyMatrix-UhX8pyGC.js => DailyMatrix-DtyPece3.js} (98%) rename server/public/admin/assets/{DiagnosisTodoList-CFEYln83.js => DiagnosisTodoList-CqxCRYim.js} (97%) rename server/public/admin/assets/{DietRecordList-DiOY_-B_.js => DietRecordList-C2B7kp6Z.js} (94%) rename server/public/admin/assets/{ExerciseRecordList-BcbsP5MM.js => ExerciseRecordList-BKFY7oPA.js} (94%) rename server/public/admin/assets/{GancaoSubmissionReconcileButton-sjmE0pP5.js => GancaoSubmissionReconcileButton-DpfLEmHk.js} (90%) rename server/public/admin/assets/{GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DPPpLv5I.js => GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js} (96%) rename server/public/admin/assets/{ImChatRecordPanel-Dfh8REJx.js => ImChatRecordPanel-CsDITo98.js} (97%) rename server/public/admin/assets/{MessageBubble-CrQG9KfW.js => MessageBubble--o_EKRQx.js} (97%) rename server/public/admin/assets/{NoteTimeline-DVNRRysO.js => NoteTimeline-DqVO9iO4.js} (93%) rename server/public/admin/assets/{OrderActionHost-B3ThVYvr.js => OrderActionHost-C510XVGT.js} (98%) rename server/public/admin/assets/{OrderPanel-BCRcd5lr.js => OrderPanel-BxRj5r_p.js} (97%) rename server/public/admin/assets/{PaibanPanel-BETrahUR.js => PaibanPanel-2RDEzQLo.js} (97%) rename server/public/admin/assets/{PatientCaseCard-B9RReKmk.js => PatientCaseCard-BUE1F6Xk.js} (99%) rename server/public/admin/assets/{PatientInfoCard-Bub1uklL.js => PatientInfoCard-CRgOOFEE.js} (97%) rename server/public/admin/assets/{PatientOrderList-hgIlFF0m.js => PatientOrderList-Bq3jWUKy.js} (98%) rename server/public/admin/assets/{PrescriptionAiBatchGenerateDialog-DeSq7Ovs.js => PrescriptionAiBatchGenerateDialog-BUnLbCPn.js} (98%) rename server/public/admin/assets/{PrescriptionAiReportDialog-B4Gc5TXr.js => PrescriptionAiReportDialog-COU5n7OO.js} (99%) rename server/public/admin/assets/{PrescriptionOrderDetailDrawer-O5Yv7ynk.js => PrescriptionOrderDetailDrawer-C30zC4to.js} (99%) rename server/public/admin/assets/{ProgressPanel-BvPmp3XS.js => ProgressPanel-Cz93PB3z.js} (99%) rename server/public/admin/assets/{PromotionAutomationForm-COkTGznv.js => PromotionAutomationForm-C_8XR98S.js} (98%) rename server/public/admin/assets/{RecordingPlaybackBlock-CTkcYK3L.js => RecordingPlaybackBlock-Llmd2S_t.js} (96%) rename server/public/admin/assets/{RecordingVideoPlayer-VBMST9fm.js => RecordingVideoPlayer-D28GF4NK.js} (97%) rename server/public/admin/assets/{SendPanel-Bk_zumN5.js => SendPanel-Pp0Dm3Lr.js} (98%) rename server/public/admin/assets/{TrackingMatrix-DM20myFS.js => TrackingMatrix-BfgpwCge.js} (98%) rename server/public/admin/assets/{TrackingNoteTimeline-BN_PykOB.js => TrackingNoteTimeline--NTL4w6T.js} (96%) rename server/public/admin/assets/{WecomFloatingWidgetBuilder-BF_tetsw.js => WecomFloatingWidgetBuilder-CeJ7tFnb.js} (99%) rename server/public/admin/assets/{WelcomeMessageEditor-A12mxrKO.js => WelcomeMessageEditor-CZ3lYeWY.js} (99%) rename server/public/admin/assets/{account-adjust-uROIj6YI.js => account-adjust-Dl4mrGMe.js} (86%) rename server/public/admin/assets/{account-adjust.vue_vue_type_script_setup_true_lang-BKavIhtU.js => account-adjust.vue_vue_type_script_setup_true_lang-CWDqkmPn.js} (94%) rename server/public/admin/assets/{account_cost-Cu7HRXZ4.js => account_cost-B9kmgGu7.js} (93%) rename server/public/admin/assets/{add-DUPS86dc.js => add-B2VOi4Qw.js} (99%) rename server/public/admin/assets/{add-nav-D7qVIdmR.js => add-nav-Dng94uAB.js} (70%) rename server/public/admin/assets/{add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js => add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js} (93%) rename server/public/admin/assets/{admin-BiglL3bM.js => admin-RUE9duOm.js} (84%) rename server/public/admin/assets/{appointment-aTSV_XED.js => appointment-CWzTZ9VV.js} (98%) rename server/public/admin/assets/{article-BsGgZfIu.js => article-D7twg9M1.js} (93%) rename server/public/admin/assets/{asset-BIi7JiAC.js => asset-D3abx9VD.js} (90%) rename server/public/admin/assets/{attr-BbYRgiEK.js => attr-BZJ196vG.js} (68%) rename server/public/admin/assets/{attr-xKBSWMjX.js => attr-BwA_74Bu.js} (67%) rename server/public/admin/assets/{attr-DOkeFgW2.js => attr-CGTrPtXp.js} (73%) rename server/public/admin/assets/{attr-CvYF9HcW.js => attr-CSIASRLW.js} (80%) rename server/public/admin/assets/{attr-CIQncvn9.js => attr-CjhU9F4P.js} (67%) rename server/public/admin/assets/{attr-Bzl3ZUvo.js => attr-DGALZxxM.js} (72%) rename server/public/admin/assets/{attr-C15UeEgF.js => attr-DWqsQPnI.js} (68%) rename server/public/admin/assets/{attr-DNYOqt8u.js => attr-Desfmq-O.js} (68%) rename server/public/admin/assets/{attr-DaHTqGGt.js => attr-U0WNIueQ.js} (92%) create mode 100644 server/public/admin/assets/attr-setting-DE1D6Xw2.js delete mode 100644 server/public/admin/assets/attr-setting-Dy-rYL12.js rename server/public/admin/assets/{attr-setting.vue_vue_type_script_setup_true_lang-pfZYH5mS.js => attr-setting.vue_vue_type_script_setup_true_lang-CkQbp3IP.js} (94%) rename server/public/admin/assets/{attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js => attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js} (93%) rename server/public/admin/assets/{attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js => attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js} (97%) rename server/public/admin/assets/{attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js => attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js} (93%) rename server/public/admin/assets/{attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js => attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js} (96%) rename server/public/admin/assets/{attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js => attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js} (96%) rename server/public/admin/assets/{attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js => attr.vue_vue_type_script_setup_true_lang-InluY_es.js} (95%) rename server/public/admin/assets/{attr.vue_vue_type_script_setup_true_lang-BEMWfwi1.js => attr.vue_vue_type_script_setup_true_lang-s3MjTyMz.js} (96%) rename server/public/admin/assets/{auth-Cq56kTJb.js => auth-BPryrCi7.js} (75%) rename server/public/admin/assets/{auth.vue_vue_type_script_setup_true_lang-B51KH8Bx.js => auth.vue_vue_type_script_setup_true_lang-CFoWU2Bs.js} (92%) rename server/public/admin/assets/{balance_details-CewPWsE5.js => balance_details-C-e-XZQ4.js} (97%) rename server/public/admin/assets/{bind-work-wechat-C-tP8cIn.js => bind-work-wechat-CvAePHuu.js} (97%) rename server/public/admin/assets/{cache-D_vN465x.js => cache-CmGeN_d9.js} (97%) rename server/public/admin/assets/{change-password-tLKGtc83.js => change-password-x7Sz_3GB.js} (96%) rename server/public/admin/assets/{code-DhkjCxGq.js => code-MrNYrKx7.js} (92%) rename server/public/admin/assets/{code-preview-DBWqxZs9.js => code-preview-DF2sZaPh.js} (85%) rename server/public/admin/assets/{code-preview.vue_vue_type_script_setup_true_lang-BzWV3a9Y.js => code-preview.vue_vue_type_script_setup_true_lang-BqAwrR8R.js} (95%) rename server/public/admin/assets/{commission-settlement-BIUQKhV2.js => commission-settlement-C8uEBqVH.js} (99%) rename server/public/admin/assets/{config-BcjsSE7D.js => config-CybBa6W7.js} (94%) rename server/public/admin/assets/{consumer-CPi0_UIB.js => consumer-csfCIN0w.js} (81%) rename server/public/admin/assets/{content-Des7r1Cn.js => content-BGq-Uuuc.js} (90%) rename server/public/admin/assets/{content-CImZycXn.js => content-BJiGIc_u.js} (90%) rename server/public/admin/assets/{content-DNPcBCfo.js => content-BzNveTg-.js} (96%) rename server/public/admin/assets/{content-8Zehp_Rk.js => content-CC1w-xAd.js} (95%) rename server/public/admin/assets/{content-BTqw4mI0.js => content-CQZwJIUc.js} (95%) rename server/public/admin/assets/{content-9uaH4o7Z.js => content-CVZfwvS8.js} (94%) rename server/public/admin/assets/{content-C12ui3Qz.js => content-C_Os7VUy.js} (93%) rename server/public/admin/assets/{content-BKtyOCcY.js => content-CjkrN-kA.js} (95%) rename server/public/admin/assets/{content-Dbr1CmpF.js => content-CuE78Set.js} (95%) rename server/public/admin/assets/{content-D28o1htD.js => content-DVKuEpqI.js} (90%) rename server/public/admin/assets/{content-lVo8M4Zt.js => content-DrZ0HxYf.js} (96%) rename server/public/admin/assets/{content-DtEMpPXD.js => content-Dtk1yPl3.js} (70%) rename server/public/admin/assets/{content-DCZ1xcL7.js => content-tnscaIhs.js} (90%) rename server/public/admin/assets/{content.vue_vue_type_script_setup_true_lang-CN32u1VP.js => content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js} (93%) rename server/public/admin/assets/{content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js => content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js} (91%) rename server/public/admin/assets/{content.vue_vue_type_script_setup_true_lang-B83-RT4p.js => content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js} (89%) rename server/public/admin/assets/{content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js => content.vue_vue_type_script_setup_true_lang-DsMOey0g.js} (90%) rename server/public/admin/assets/{content.vue_vue_type_script_setup_true_lang-DdNcvOry.js => content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js} (91%) rename server/public/admin/assets/{cost-edit-BkHmQaQh.js => cost-edit-pZVZpDGY.js} (87%) rename server/public/admin/assets/{cost-edit.vue_vue_type_script_setup_true_lang-BSDLDO6E.js => cost-edit.vue_vue_type_script_setup_true_lang-GDC8DpIL.js} (95%) rename server/public/admin/assets/{data-table-CP3b6bk7.js => data-table-CLWy4za8.js} (83%) rename server/public/admin/assets/{data-table.vue_vue_type_script_setup_true_lang-diW1kYKK.js => data-table.vue_vue_type_script_setup_true_lang-BuGcAuLn.js} (92%) rename server/public/admin/assets/{decoration-HusoyoI3.js => decoration-BRUlzC1v.js} (87%) rename server/public/admin/assets/{decoration-img-63yHTKq5.js => decoration-img-cJ3sOJu-.js} (96%) rename server/public/admin/assets/{default_reply-Bh_u2uBi.js => default_reply-Ck6UCxZe.js} (95%) rename server/public/admin/assets/{department-OHG8LTQz.js => department-DdhKHNS-.js} (86%) rename server/public/admin/assets/{dept-tongji-BGdl-ZuM.js => dept-tongji-Bu-jXIks.js} (97%) rename server/public/admin/assets/{detail-DXs5F4gI.js => detail-8xtYeAhn.js} (94%) rename server/public/admin/assets/{detail-BzY4w_V9.js => detail-CsM6bOnd.js} (97%) rename server/public/admin/assets/{dict-CCNMoFEY.js => dict-19er6a3L.js} (92%) rename server/public/admin/assets/{doctor-BVLBwYIX.js => doctor-BZKBQu9t.js} (95%) rename server/public/admin/assets/{edit-BtPgqFvb.js => edit-2Xl3Ar7O.js} (77%) rename server/public/admin/assets/{edit-BN7xhPW7.js => edit-BI0tWG2X.js} (77%) rename server/public/admin/assets/{edit-D5E4IGLO.js => edit-BMFiZk9J.js} (65%) rename server/public/admin/assets/{edit-D0eJRzXo.js => edit-BXwhN0TR.js} (97%) rename server/public/admin/assets/{edit-C3Dfhz08.js => edit-BXwpNDY-.js} (77%) rename server/public/admin/assets/{edit-hvqOlY5P.js => edit-B_P_HVx3.js} (95%) rename server/public/admin/assets/{edit-CX0gtA17.js => edit-BbPz3ZH3.js} (90%) rename server/public/admin/assets/{edit-Cr_KB7Uj.js => edit-Bwbysg4y.js} (83%) rename server/public/admin/assets/{edit-B86t9jbn.js => edit-CF2O2Fit.js} (74%) rename server/public/admin/assets/{edit-DhPDggz8.js => edit-Cp8PlYx-.js} (97%) rename server/public/admin/assets/{edit-DI6xYbut.js => edit-CpXNGceA.js} (77%) rename server/public/admin/assets/{edit-BhCPKHfV.js => edit-DL6Vxw1r.js} (96%) rename server/public/admin/assets/{edit-EVe-rvDl.js => edit-DQ82mXcF.js} (97%) rename server/public/admin/assets/{edit-DUrq1LLZ.js => edit-Do5cfT8q.js} (95%) rename server/public/admin/assets/{edit-BlUxS5DU.js => edit-EtrEBhIY.js} (77%) rename server/public/admin/assets/{edit-DB0EuTxq.js => edit-VO7XkV1v.js} (84%) rename server/public/admin/assets/{edit-B8eFIqdD.js => edit-ZQ7tSM9h.js} (95%) rename server/public/admin/assets/{edit-DvbnA_Iw.js => edit-ZZMCozF8.js} (77%) rename server/public/admin/assets/{edit-DKzh1wFK.js => edit-razgmSeC.js} (96%) rename server/public/admin/assets/{edit-Cezi5UCT.js => edit-yL8EpC5L.js} (82%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-BRlch2LV.js => edit.vue_vue_type_script_setup_true_lang-B0HIfaxe.js} (96%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-D6zueV1n.js => edit.vue_vue_type_script_setup_true_lang-Bfkmk0Oj.js} (96%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-BvK-Tfoj.js => edit.vue_vue_type_script_setup_true_lang-Bp1OE_d6.js} (94%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-_2sKDGdl.js => edit.vue_vue_type_script_setup_true_lang-C-Q6zJAz.js} (96%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-DPPpbCfy.js => edit.vue_vue_type_script_setup_true_lang-Cmw9LYbk.js} (92%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-BbtSbzTO.js => edit.vue_vue_type_script_setup_true_lang-Csd8PIFD.js} (95%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-CFD_TYnI.js => edit.vue_vue_type_script_setup_true_lang-DM3yy7QA.js} (95%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-ob5lYdp3.js => edit.vue_vue_type_script_setup_true_lang-DNryuqHs.js} (95%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-JR5eebf3.js => edit.vue_vue_type_script_setup_true_lang-Dog1IeKU.js} (94%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js => edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js} (98%) rename server/public/admin/assets/{edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BL1KmfvV.js => edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CVNsiWtw.js} (93%) rename server/public/admin/assets/{environment-ByMIQ2-e.js => environment-DWZ8fjr8.js} (97%) rename server/public/admin/assets/{error-BU0Zs3ny.js => error-D1FuDlMf.js} (96%) rename server/public/admin/assets/{fans-C45r_J_N.js => fans-xWTU7WTj.js} (89%) rename server/public/admin/assets/{file-FhuQj5ML.js => file-D7g_w1vo.js} (95%) rename server/public/admin/assets/{file-BDJxuISl.js => file-iKPEqCPr.js} (90%) rename server/public/admin/assets/{filing-AgGjXE6m.js => filing-XM5KxFed.js} (94%) rename server/public/admin/assets/{finance-BnbY_luA.js => finance-Dc98hQLW.js} (95%) rename server/public/admin/assets/{first_visit-BYIyH6Y1.js => first_visit-lwfDQsu4.js} (98%) rename server/public/admin/assets/{follow_reply-BiptAGAB.js => follow_reply-BICtf8oP.js} (93%) rename server/public/admin/assets/{footer.vue_vue_type_script_setup_true_lang-COsLLTkC.js => footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js} (89%) rename server/public/admin/assets/{guahao-D0JIJ2D5.js => guahao-BPV84ZcO.js} (98%) rename server/public/admin/assets/{h5-DoZ33CNA.js => h5-AaliMZBI.js} (99%) rename server/public/admin/assets/{h5-D2fV4g_7.js => h5-DeQqnrDf.js} (96%) rename server/public/admin/assets/{icon-CPBsEowB.js => icon-Cq9aWCMz.js} (96%) rename server/public/admin/assets/{index-CmItFXin.js => index-1N_0IK2C.js} (95%) rename server/public/admin/assets/{index-BTlyUNCl.js => index-6fpUcIGz.js} (86%) rename server/public/admin/assets/{index-BTh_xBKj.js => index-B48jKD3-.js} (74%) rename server/public/admin/assets/{index-YlXDfCLx.js => index-BDHpYY_Z.js} (98%) rename server/public/admin/assets/{index-hyZhgnYU.js => index-BIVqDwVE.js} (95%) rename server/public/admin/assets/{index-Dxrq29dg.js => index-BIgtwj7l.js} (97%) rename server/public/admin/assets/{index-WB60onBZ.js => index-BK-C1S78.js} (95%) rename server/public/admin/assets/{index-BuoDXKR5.js => index-BNoaqcOd.js} (93%) rename server/public/admin/assets/{index-0MmkT8Lc.js => index-BQOPfZw4.js} (99%) rename server/public/admin/assets/{index-D5PquIeg.js => index-BVjWjU3h.js} (97%) rename server/public/admin/assets/{index-BoXnkMeQ.js => index-BX_8clc1.js} (99%) rename server/public/admin/assets/{index-Vc0qWDyq.js => index-BZK6_Fam.js} (98%) rename server/public/admin/assets/{index-BjiA8CzE.js => index-BaMnb-iR.js} (90%) rename server/public/admin/assets/{index-J4t9UnEx.js => index-BcWKucza.js} (89%) rename server/public/admin/assets/{index-X1ZWiNaa.js => index-Be83ib0W.js} (90%) rename server/public/admin/assets/{index-D7__UvHo.js => index-BeY5SVIg.js} (95%) rename server/public/admin/assets/{index-B-4XfG4i.js => index-BiFi2OpS.js} (95%) rename server/public/admin/assets/{index-ADsqVpLj.js => index-Bu073uwT.js} (94%) rename server/public/admin/assets/{index-wP2rzNak.js => index-BzSyPKus.js} (91%) rename server/public/admin/assets/{index-APM3wetz.js => index-C0I0jubD.js} (94%) rename server/public/admin/assets/{index-c6l5F9Wm.js => index-C7ZHkyPf.js} (94%) rename server/public/admin/assets/{index-CZHppZGf.js => index-CBjo9bLs.js} (98%) rename server/public/admin/assets/{index-C0TmyDi6.js => index-CC7Q2x1w.js} (95%) rename server/public/admin/assets/{index-CguMPd65.js => index-CCmH8maL.js} (99%) rename server/public/admin/assets/{index-4oQVMwE8.js => index-CDpyEmx0.js} (96%) rename server/public/admin/assets/{index-ziRsjY9I.js => index-COzAj1fq.js} (69%) rename server/public/admin/assets/{index-BrWEzRo9.js => index-CUuHlzOy.js} (97%) rename server/public/admin/assets/{index-BCCk5TAv.js => index-CZc257FO.js} (94%) rename server/public/admin/assets/{index-CNdV-UFb.js => index-CcMLMPNz.js} (95%) rename server/public/admin/assets/{index-B6i9iaxJ.js => index-Cf-SlqzS.js} (99%) rename server/public/admin/assets/{index-Dd-Ko9om.js => index-CkBa3fm7.js} (93%) rename server/public/admin/assets/{index-nUSE5ReJ.js => index-ClUiIVBA.js} (97%) rename server/public/admin/assets/{index-D9lWZuU2.js => index-CrOviIg_.js} (90%) rename server/public/admin/assets/{index-DM8wou5M.js => index-CsdJJZcj.js} (87%) rename server/public/admin/assets/{index-BFqDZyjI.js => index-Ct43fb_P.js} (99%) rename server/public/admin/assets/{index-uhLoGVNB.js => index-CuYTaQIf.js} (98%) rename server/public/admin/assets/{index-D53G6fzu.js => index-CwAaH8wu.js} (87%) rename server/public/admin/assets/{index-C5r1a79q.js => index-D6w2Tfd_.js} (94%) rename server/public/admin/assets/{index-Ds14Yyfh.js => index-DScosua5.js} (99%) rename server/public/admin/assets/{index-MdTuu9az.js => index-DX2H1tQM.js} (99%) rename server/public/admin/assets/{index-C8llQFXz.js => index-DXf2y97-.js} (99%) rename server/public/admin/assets/{index-BxH3KBQI.js => index-Dp3CdQ0Z.js} (98%) rename server/public/admin/assets/{index-B0O0Dlpp.js => index-Dq79cnN7.js} (81%) rename server/public/admin/assets/{index-D6-2IW7r.js => index-IvyoKa-e.js} (97%) rename server/public/admin/assets/{index-fRv3NTFQ.js => index-J_eFER10.js} (90%) rename server/public/admin/assets/{index-DI1J3EW8.js => index-LYNm1TDi.js} (99%) rename server/public/admin/assets/{index-Dp25xzkX.js => index-M0N4i9Vc.js} (97%) rename server/public/admin/assets/{index-D6hiZISU.js => index-UGD9wxNK.js} (86%) rename server/public/admin/assets/{index-CXKP4IpU.js => index-aSZlGdY5.js} (96%) rename server/public/admin/assets/{index-CDzfJx8p.js => index-cqZKn1MG.js} (94%) rename server/public/admin/assets/{index-Q5Ek1In8.js => index-ex2TBIDl.js} (94%) rename server/public/admin/assets/{index-BqygYdeI.js => index-kLHJyqVF.js} (94%) rename server/public/admin/assets/{index-B6hZ4N_9.js => index-ns6fHpFi.js} (99%) rename server/public/admin/assets/{index-VwsZ7VG0.js => index-qwVd4UhY.js} (99%) rename server/public/admin/assets/{index-DAuHO-PF.js => index-rpLvWLk-.js} (98%) rename server/public/admin/assets/{index-B9Q0OYI5.js => index-ryG0bJRe.js} (87%) rename server/public/admin/assets/{index-Dc1nFBAH.js => index-sgqCyAwB.js} (90%) rename server/public/admin/assets/{index-BxX_XfwR.js => index-yfT8lnLY.js} (98%) rename server/public/admin/assets/{index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js => index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js} (96%) rename server/public/admin/assets/{index.vue_vue_type_style_index_0_lang-DZ1VD0du.js => index.vue_vue_type_style_index_0_lang-54f2yh7y.js} (96%) rename server/public/admin/assets/{index_h5-DDGgBKsJ.js => index_h5-DbYby-js.js} (94%) rename server/public/admin/assets/{information-BPMYpBuF.js => information-DAb-88JQ.js} (94%) rename server/public/admin/assets/{journal-5h3b-rKa.js => journal-CqwEgx0b.js} (94%) rename server/public/admin/assets/{keyword_reply-BfjuIFuE.js => keyword_reply-DeGdWnXE.js} (95%) rename server/public/admin/assets/{link-CGojB-wX.js => link-ChL3YoyQ.js} (86%) rename server/public/admin/assets/{list-BY4Dc_F3.js => list-BTbA_aY2.js} (93%) rename server/public/admin/assets/{list-DyOdEEM6.js => list-CMCIptz5.js} (96%) rename server/public/admin/assets/{list_h5-D1GNR55p.js => list_h5-DFZTD_No.js} (93%) create mode 100644 server/public/admin/assets/login-B9ZNdsU2.css create mode 100644 server/public/admin/assets/login-BhxpzyyI.js delete mode 100644 server/public/admin/assets/login-NzKmT1-_.css delete mode 100644 server/public/admin/assets/login-qHMv5bBU.js rename server/public/admin/assets/{login_register-CC_WxvcF.js => login_register-BZlioH_J.js} (96%) rename server/public/admin/assets/{medicine-DxV1j6hZ.js => medicine-Cw2sIjNS.js} (98%) rename server/public/admin/assets/{medicine-CEgParOp.js => medicine-DIQyk1R0.js} (81%) rename server/public/admin/assets/{menu-jRNdRy5r.js => menu-Bn6AOgrY.js} (86%) rename server/public/admin/assets/{menu-CVaxMLtS.js => menu-Czs2_ERZ.js} (96%) rename server/public/admin/assets/{menu-Cz3DbxDt.js => menu-JxKcZi6I.js} (79%) rename server/public/admin/assets/{menu-set-BuJ09Hlb.js => menu-set-Cg8wW997.js} (70%) rename server/public/admin/assets/{menu-set.vue_vue_type_script_setup_true_lang-Dugyuqkl.js => menu-set.vue_vue_type_script_setup_true_lang-B71z3XWb.js} (94%) rename server/public/admin/assets/{message-DOlfHejJ.js => message-BwLlJSkW.js} (87%) rename server/public/admin/assets/{mobile-style-CdEh2jmr.js => mobile-style-FEnJ57u3.js} (91%) rename server/public/admin/assets/{mobile-style.vue_vue_type_script_setup_true_lang-BPf5hzWL.js => mobile-style.vue_vue_type_script_setup_true_lang-BkY-Hl4A.js} (98%) rename server/public/admin/assets/{mubiao-B0CIVglk.js => mubiao-Dv-wql71.js} (97%) rename server/public/admin/assets/{mubiao-dept-card-2mhD6goO.js => mubiao-dept-card-DfnzTPJO.js} (99%) rename server/public/admin/assets/{mubiao-dept-node-B8lRK-e1.js => mubiao-dept-node-Ds3E7lF2.js} (98%) rename server/public/admin/assets/{oa-attr-DN37hWLr.js => oa-attr-B8Vj6nQj.js} (86%) rename server/public/admin/assets/{oa-menu-form-C-7mO0su.js => oa-menu-form-MVK6-70i.js} (86%) rename server/public/admin/assets/{oa-menu-form-edit-Ds9NXO6M.js => oa-menu-form-edit-Dfe5nrsm.js} (83%) rename server/public/admin/assets/{oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CH8fn-SB.js => oa-menu-form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js} (90%) rename server/public/admin/assets/{oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js => oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js} (97%) rename server/public/admin/assets/{oa-phone-B-CHUk5L.js => oa-phone-88iTfWtw.js} (95%) rename server/public/admin/assets/{open_setting-57AAYHuJ.js => open_setting-DuOTXegB.js} (96%) rename server/public/admin/assets/{order-L3Ma3_1N.js => order-B5S0jULN.js} (96%) rename server/public/admin/assets/{order_list-7zm3KguG.js => order_list-BYpnig_B.js} (98%) rename server/public/admin/assets/{order_list_h5-CSk24Nh-.js => order_list_h5-CU96gk7f.js} (98%) rename server/public/admin/assets/{overflow-dVvSdRur.js => overflow-CAop_L2e.js} (96%) rename server/public/admin/assets/{paiban-usln5zIm.js => paiban-CqRd7vZl.js} (96%) rename server/public/admin/assets/{patient-DzLGoG87.js => patient-L-xV50Pi.js} (88%) rename server/public/admin/assets/{patient-call-BVrmqt06.js => patient-call-DNgQ3_bn.js} (99%) rename server/public/admin/assets/{pay-C3f37fth.js => pay-CM_epwkI.js} (85%) rename server/public/admin/assets/{pc-COJePt-7.js => pc-Bsl4ZcLO.js} (94%) rename server/public/admin/assets/{pc_details-C8AaBSI5.js => pc_details-Cv9JlnxV.js} (65%) rename server/public/admin/assets/{perm-CTlz8z1G.js => perm-8cp9D7Ag.js} (67%) rename server/public/admin/assets/{picker-8l5NOLQi.js => picker-CeVtQr2X.js} (97%) rename server/public/admin/assets/{picker-C0hwSppU.js => picker-lbwHqE-a.js} (96%) rename server/public/admin/assets/{picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js => picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js} (98%) rename server/public/admin/assets/{post-CPnP1Klt.js => post-BjyIxcyn.js} (86%) rename server/public/admin/assets/{prescription-drawer-BZnGD-lY.js => prescription-drawer-FyoeLrYk.js} (97%) rename server/public/admin/assets/{preview-C1B_KeTu.js => preview-C9cY2eYG.js} (70%) rename server/public/admin/assets/{preview-pc-Bjp7P5eB.js => preview-pc-B5scFioi.js} (64%) rename server/public/admin/assets/{progress-zIFnwUAT.js => progress-Crqw_SbF.js} (98%) rename server/public/admin/assets/{protocol-0nHxkgVv.js => protocol-DhEGqCSu.js} (88%) rename server/public/admin/assets/{qywx-B3yPQRKG.js => qywx-Dwa2dhw9.js} (99%) rename server/public/admin/assets/{readonly-CZaNTA70.js => readonly-DyVEs7Ql.js} (86%) rename server/public/admin/assets/{recharge_record-DUGG7Fe5.js => recharge_record-DGzsXulv.js} (95%) rename server/public/admin/assets/{refund-log-BQONpIM2.js => refund-log-yhGQ0xn1.js} (86%) rename server/public/admin/assets/{refund-log.vue_vue_type_script_setup_true_lang-7r7Aq5OJ.js => refund-log.vue_vue_type_script_setup_true_lang-Dtrt6_4q.js} (96%) rename server/public/admin/assets/{refund_record-db8KZnbz.js => refund_record-CZUgsvAx.js} (95%) rename server/public/admin/assets/{relations-add-Wufgegpo.js => relations-add-BrrivRhR.js} (79%) rename server/public/admin/assets/{relations-add.vue_vue_type_script_setup_true_lang-B8EGM77l.js => relations-add.vue_vue_type_script_setup_true_lang-BdFhe7ij.js} (93%) rename server/public/admin/assets/{rich_text-ocUaHwdI.js => rich_text-Cx8Gf7bM.js} (82%) rename server/public/admin/assets/{role-B18Xi51b.js => role-hMw9X8iI.js} (83%) rename server/public/admin/assets/{roster-CFwVYkME.js => roster-BL5e33GP.js} (99%) rename server/public/admin/assets/{self_input_stats-VfgnRjmU.js => self_input_stats-BfVTp8QE.js} (91%) rename server/public/admin/assets/{setting-C4t4bQUw.js => setting-M6wAI_0P.js} (94%) rename server/public/admin/assets/{setup-BE7_lWZ-.js => setup-D9r44yec.js} (84%) rename server/public/admin/assets/{statistics-Cs8S-p71.js => statistics-CIPjXJvE.js} (93%) rename server/public/admin/assets/{stats-D2lwBNks.js => stats-DXRw03Ae.js} (97%) rename server/public/admin/assets/{style-CFK9MlRr.js => style-B1g_bg_k.js} (88%) rename server/public/admin/assets/{tabbar-BqLXyGAa.js => tabbar-BYrAmmq1.js} (82%) rename server/public/admin/assets/{tcm-CEIBuAeK.js => tcm-D-ZRccbe.js} (99%) rename server/public/admin/assets/{theme-picker-DBEHQPAJ.js => theme-picker-4kexhjea.js} (97%) rename server/public/admin/assets/{tongji-8jva5VKb.js => tongji-BOx1xRac.js} (97%) rename server/public/admin/assets/{upload-DeI6j3R7.js => upload-Bhiyuxj5.js} (92%) rename server/public/admin/assets/{useDictOptions-Cx2-jvcM.js => useDictOptions-CU1TLMPn.js} (84%) rename server/public/admin/assets/{useListTimeFilter-Btvmdejx.js => useListTimeFilter-BquUtCH_.js} (98%) rename server/public/admin/assets/{useMediaSourceOptions-B5yhXJl7.js => useMediaSourceOptions-Ct8BjvKG.js} (90%) rename server/public/admin/assets/{useMenuOa-TRPv5Mx7.js => useMenuOa-C_WMnKf2.js} (92%) rename server/public/admin/assets/{user-BEhg7-Z3.js => user-DLPA6EUk.js} (82%) rename server/public/admin/assets/{weapp-CSCB4Ihm.js => weapp-BdK7SbhR.js} (94%) rename server/public/admin/assets/{weapp-B8uox-3Q.js => weapp-CBd1nTel.js} (68%) rename server/public/admin/assets/{website-CUzsflNy.js => website-CeVKwoPS.js} (91%) rename server/public/admin/assets/{wx_oa-BuVhGwqh.js => wx_oa-Bi2y5vRS.js} (93%) rename server/public/admin/assets/{yeji-CjbxhW8j.js => yeji-D0yhxsrU.js} (99%) rename server/public/admin/assets/{yeji-edit-DNKGXffJ.js => yeji-edit-ChIyC1vo.js} (87%) rename server/public/admin/assets/{yeji-edit.vue_vue_type_script_setup_true_lang-Do3QS6R1.js => yeji-edit.vue_vue_type_script_setup_true_lang-D8Hjw379.js} (98%) diff --git a/admin/src/views/account/login.vue b/admin/src/views/account/login.vue index 85b0a3813..332a521e4 100644 --- a/admin/src/views/account/login.vue +++ b/admin/src/views/account/login.vue @@ -229,7 +229,9 @@ const handleIamHubCodeLogin = async (code: string) => { router.push('/bind-work-wechat') return } - redirectAfterLogin() + // OIDC 跨站回跳期间路由初始化可能尚未结束;完整重载可让权限守卫 + // 使用刚持久化的本地 token 重新生成菜单,避免停留在登录 loading。 + window.location.replace(import.meta.env.BASE_URL) } catch (error: any) { console.error('IAM Hub 登录失败:', error) ElMessage.error(error?.msg || error?.message || '公司统一身份登录失败,请重新发起登录') diff --git a/server/public/admin/assets/403-CYRAU9T7.js b/server/public/admin/assets/403-CPnePqbE.js similarity index 92% rename from server/public/admin/assets/403-CYRAU9T7.js rename to server/public/admin/assets/403-CPnePqbE.js index 4918e644e..0f8666857 100644 --- a/server/public/admin/assets/403-CYRAU9T7.js +++ b/server/public/admin/assets/403-CPnePqbE.js @@ -1 +1 @@ -import r from"./error-BU0Zs3ny.js";import{f as p,ak as i,I as m,a as e,aN as s,J as o}from"./@vue/runtime-core-C6bnekPw.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const a="/admin/assets/no_perms-jDxcYpYC.png",n={class:"error404"},W=p({__name:"403",setup(c){return(_,t)=>(i(),m("div",n,[e(r,{code:"403",title:"您的账号权限不足,请联系管理员添加权限!","show-btn":!1},{content:s(()=>[...t[0]||(t[0]=[o("div",{class:"flex justify-center"},[o("img",{class:"w-[150px] h-[150px]",src:a,alt:""})],-1)])]),_:1})]))}});export{W as default}; +import r from"./error-D1FuDlMf.js";import{f as p,ak as i,I as m,a as e,aN as s,J as o}from"./@vue/runtime-core-C6bnekPw.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const a="/admin/assets/no_perms-jDxcYpYC.png",n={class:"error404"},W=p({__name:"403",setup(c){return(_,t)=>(i(),m("div",n,[e(r,{code:"403",title:"您的账号权限不足,请联系管理员添加权限!","show-btn":!1},{content:s(()=>[...t[0]||(t[0]=[o("div",{class:"flex justify-center"},[o("img",{class:"w-[150px] h-[150px]",src:a,alt:""})],-1)])]),_:1})]))}});export{W as default}; diff --git a/server/public/admin/assets/404-DrIunG4L.js b/server/public/admin/assets/404-B5k2zNS_.js similarity index 91% rename from server/public/admin/assets/404-DrIunG4L.js rename to server/public/admin/assets/404-B5k2zNS_.js index f27632165..b384e3f3a 100644 --- a/server/public/admin/assets/404-DrIunG4L.js +++ b/server/public/admin/assets/404-B5k2zNS_.js @@ -1 +1 @@ -import o from"./error-BU0Zs3ny.js";import{f as r,ak as t,I as m,a as p}from"./@vue/runtime-core-C6bnekPw.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const i={class:"error404"},T=r({__name:"404",setup(e){return(a,s)=>(t(),m("div",i,[p(o,{code:"404",title:"哎呀,出错了!您访问的页面不存在…"})]))}});export{T as default}; +import o from"./error-D1FuDlMf.js";import{f as r,ak as t,I as m,a as p}from"./@vue/runtime-core-C6bnekPw.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const i={class:"error404"},T=r({__name:"404",setup(e){return(a,s)=>(t(),m("div",i,[p(o,{code:"404",title:"哎呀,出错了!您访问的页面不存在…"})]))}});export{T as default}; diff --git a/server/public/admin/assets/AppointmentRecordPanel-D32UIqUN.js b/server/public/admin/assets/AppointmentRecordPanel-DzDHAY3k.js similarity index 97% rename from server/public/admin/assets/AppointmentRecordPanel-D32UIqUN.js rename to server/public/admin/assets/AppointmentRecordPanel-DzDHAY3k.js index 78e42d3a1..ea6082c94 100644 --- a/server/public/admin/assets/AppointmentRecordPanel-D32UIqUN.js +++ b/server/public/admin/assets/AppointmentRecordPanel-DzDHAY3k.js @@ -1 +1 @@ -import{N as z,O as C,U as T,M as D}from"./element-plus-DGP1XOrU.js";import{a as B}from"./doctor-BVLBwYIX.js";import{o as E,_ as L}from"./index-fRv3NTFQ.js";import{f as P,w as R,ak as m,I as V,aP as A,G as d,aN as n,a as s,O as r,J as c}from"./@vue/runtime-core-C6bnekPw.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import{n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const M={class:"appointment-record-panel"},O={class:"cell-stack"},$={class:"font-medium"},G={class:"text-gray-500 text-sm"},J={class:"cell-stack"},Q={class:"text-gray-500 text-sm"},U=P({__name:"AppointmentRecordPanel",props:{diagnosisId:{}},setup(y,{expose:b}){const u=y,_=w(!1),g=w([]),h=w({});function x(t){return t?String(t).length>=8?String(t).slice(0,5):t:""}function k(t){return t==="morning"?"上午":t==="afternoon"?"下午":t==="all"?"全天":t||"—"}function S(t){const o=t.channel_source??t.channels??"";if(o===""||o===null||o===void 0)return"—";const a=String(o),i=h.value[a]||a,p=String(t.channel_source_detail??"").trim();return p!==""?`${i}(${p})`:i}function I(t){return[...t].sort((o,a)=>{const i=String(o.appointment_date||""),p=String(a.appointment_date||"");if(i!==p)return p.localeCompare(i);const f=String(o.appointment_time||""),e=String(a.appointment_time||"");return f!==e?e.localeCompare(f):Number(a.id||0)-Number(o.id||0)})}const N=async()=>{try{const t=await E({type:"channels"}),o=((t==null?void 0:t.channels)||[]).filter(i=>i.status!==0),a={};for(const i of o)i.value!=null&&(a[String(i.value)]=i.name||String(i.value));h.value=a}catch{h.value={}}},v=async()=>{if(u.diagnosisId){_.value=!0;try{await N();const t=await B({patient_id:u.diagnosisId,diag_scope_relax:1,page_no:1,page_size:500}),o=(t==null?void 0:t.lists)||[];g.value=I(o)}catch(t){console.error(t),g.value=[]}finally{_.value=!1}}};return R(()=>u.diagnosisId,()=>{v()},{immediate:!0}),b({refresh:v}),(t,o)=>{const a=C,i=T,p=z,f=D;return m(),V("div",M,[A((m(),d(p,{data:g.value,border:"",stripe:"","empty-text":"暂无挂号记录"},{default:n(()=>[s(a,{label:"ID",prop:"id",width:"72",align:"center"}),s(a,{label:"状态",width:"100",align:"center"},{default:n(({row:e})=>[s(i,{type:e.status===1?"success":e.status===2?"info":e.status===3?"primary":"danger",size:"small",effect:"light"},{default:n(()=>[r(l(e.status_desc||"—"),1)]),_:2},1032,["type"])]),_:1}),s(a,{label:"患者(挂号人)","min-width":"150"},{default:n(({row:e})=>[c("div",O,[c("span",$,l(e.patient_name||"—"),1),c("span",G,l(e.patient_phone||""),1)])]),_:1}),s(a,{label:"挂号医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""}),s(a,{label:"挂号助理",width:"110","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(e.assistant_name||"—"),1)]),_:1}),s(a,{label:"预约时间","min-width":"130"},{default:n(({row:e})=>[c("div",J,[c("span",null,l(e.appointment_date||"—"),1),c("span",Q,l(x(e.appointment_time)),1)])]),_:1}),s(a,{label:"时段",width:"80",align:"center"},{default:n(({row:e})=>[r(l(k(e.period)),1)]),_:1}),s(a,{label:"类型",width:"100","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(e.appointment_type_desc||"—"),1)]),_:1}),s(a,{label:"渠道",width:"110","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(S(e)),1)]),_:1}),s(a,{label:"确认诊单",width:"92",align:"center"},{default:n(({row:e})=>[e.diagnosis_confirmed?(m(),d(i,{key:0,type:"success",size:"small",effect:"plain"},{default:n(()=>[...o[0]||(o[0]=[r("已确认",-1)])]),_:1})):(m(),d(i,{key:1,type:"warning",size:"small",effect:"plain"},{default:n(()=>[...o[1]||(o[1]=[r("未确认",-1)])]),_:1}))]),_:1}),s(a,{label:"开方",width:"80",align:"center"},{default:n(({row:e})=>[e.has_prescription?(m(),d(i,{key:0,type:"success",size:"small",effect:"plain"},{default:n(()=>[...o[2]||(o[2]=[r("已开方",-1)])]),_:1})):(m(),d(i,{key:1,type:"info",size:"small",effect:"plain"},{default:n(()=>[...o[3]||(o[3]=[r("未开方",-1)])]),_:1}))]),_:1}),s(a,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),s(a,{label:"创建时间",width:"165",prop:"create_time"})]),_:1},8,["data"])),[[f,_.value]])])}}}),Tt=L(U,[["__scopeId","data-v-4de87dfa"]]);export{Tt as default}; +import{N as z,O as C,U as T,M as D}from"./element-plus-DGP1XOrU.js";import{a as B}from"./doctor-BZKBQu9t.js";import{o as E,_ as L}from"./index-J_eFER10.js";import{f as P,w as R,ak as m,I as V,aP as A,G as d,aN as n,a as s,O as r,J as c}from"./@vue/runtime-core-C6bnekPw.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import{n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const M={class:"appointment-record-panel"},O={class:"cell-stack"},$={class:"font-medium"},G={class:"text-gray-500 text-sm"},J={class:"cell-stack"},Q={class:"text-gray-500 text-sm"},U=P({__name:"AppointmentRecordPanel",props:{diagnosisId:{}},setup(y,{expose:b}){const u=y,_=w(!1),g=w([]),h=w({});function x(t){return t?String(t).length>=8?String(t).slice(0,5):t:""}function k(t){return t==="morning"?"上午":t==="afternoon"?"下午":t==="all"?"全天":t||"—"}function S(t){const o=t.channel_source??t.channels??"";if(o===""||o===null||o===void 0)return"—";const a=String(o),i=h.value[a]||a,p=String(t.channel_source_detail??"").trim();return p!==""?`${i}(${p})`:i}function I(t){return[...t].sort((o,a)=>{const i=String(o.appointment_date||""),p=String(a.appointment_date||"");if(i!==p)return p.localeCompare(i);const f=String(o.appointment_time||""),e=String(a.appointment_time||"");return f!==e?e.localeCompare(f):Number(a.id||0)-Number(o.id||0)})}const N=async()=>{try{const t=await E({type:"channels"}),o=((t==null?void 0:t.channels)||[]).filter(i=>i.status!==0),a={};for(const i of o)i.value!=null&&(a[String(i.value)]=i.name||String(i.value));h.value=a}catch{h.value={}}},v=async()=>{if(u.diagnosisId){_.value=!0;try{await N();const t=await B({patient_id:u.diagnosisId,diag_scope_relax:1,page_no:1,page_size:500}),o=(t==null?void 0:t.lists)||[];g.value=I(o)}catch(t){console.error(t),g.value=[]}finally{_.value=!1}}};return R(()=>u.diagnosisId,()=>{v()},{immediate:!0}),b({refresh:v}),(t,o)=>{const a=C,i=T,p=z,f=D;return m(),V("div",M,[A((m(),d(p,{data:g.value,border:"",stripe:"","empty-text":"暂无挂号记录"},{default:n(()=>[s(a,{label:"ID",prop:"id",width:"72",align:"center"}),s(a,{label:"状态",width:"100",align:"center"},{default:n(({row:e})=>[s(i,{type:e.status===1?"success":e.status===2?"info":e.status===3?"primary":"danger",size:"small",effect:"light"},{default:n(()=>[r(l(e.status_desc||"—"),1)]),_:2},1032,["type"])]),_:1}),s(a,{label:"患者(挂号人)","min-width":"150"},{default:n(({row:e})=>[c("div",O,[c("span",$,l(e.patient_name||"—"),1),c("span",G,l(e.patient_phone||""),1)])]),_:1}),s(a,{label:"挂号医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""}),s(a,{label:"挂号助理",width:"110","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(e.assistant_name||"—"),1)]),_:1}),s(a,{label:"预约时间","min-width":"130"},{default:n(({row:e})=>[c("div",J,[c("span",null,l(e.appointment_date||"—"),1),c("span",Q,l(x(e.appointment_time)),1)])]),_:1}),s(a,{label:"时段",width:"80",align:"center"},{default:n(({row:e})=>[r(l(k(e.period)),1)]),_:1}),s(a,{label:"类型",width:"100","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(e.appointment_type_desc||"—"),1)]),_:1}),s(a,{label:"渠道",width:"110","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(S(e)),1)]),_:1}),s(a,{label:"确认诊单",width:"92",align:"center"},{default:n(({row:e})=>[e.diagnosis_confirmed?(m(),d(i,{key:0,type:"success",size:"small",effect:"plain"},{default:n(()=>[...o[0]||(o[0]=[r("已确认",-1)])]),_:1})):(m(),d(i,{key:1,type:"warning",size:"small",effect:"plain"},{default:n(()=>[...o[1]||(o[1]=[r("未确认",-1)])]),_:1}))]),_:1}),s(a,{label:"开方",width:"80",align:"center"},{default:n(({row:e})=>[e.has_prescription?(m(),d(i,{key:0,type:"success",size:"small",effect:"plain"},{default:n(()=>[...o[2]||(o[2]=[r("已开方",-1)])]),_:1})):(m(),d(i,{key:1,type:"info",size:"small",effect:"plain"},{default:n(()=>[...o[3]||(o[3]=[r("未开方",-1)])]),_:1}))]),_:1}),s(a,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),s(a,{label:"创建时间",width:"165",prop:"create_time"})]),_:1},8,["data"])),[[f,_.value]])])}}}),Tt=L(U,[["__scopeId","data-v-4de87dfa"]]);export{Tt as default}; diff --git a/server/public/admin/assets/AssignLogPanel-Dye0u9va.js b/server/public/admin/assets/AssignLogPanel-CDRHljLe.js similarity index 97% rename from server/public/admin/assets/AssignLogPanel-Dye0u9va.js rename to server/public/admin/assets/AssignLogPanel-CDRHljLe.js index 7eafcccb4..437daf7be 100644 --- a/server/public/admin/assets/AssignLogPanel-Dye0u9va.js +++ b/server/public/admin/assets/AssignLogPanel-CDRHljLe.js @@ -1 +1 @@ -import{N as C,O as T,U as $,r as D,d as k,M as E}from"./element-plus-DGP1XOrU.js";import{Y as L}from"./@element-plus/icons-vue-CbYn5zW9.js";import{af as P}from"./tcm-CEIBuAeK.js";import{f as A,w as B,ak as p,I as b,aP as F,G as h,aN as n,a as i,O as m,J as M}from"./@vue/runtime-core-C6bnekPw.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as V,n as w}from"./@vue/reactivity-DiY1c2vO.js";import{_ as K}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const O={class:"assign-log-panel"},Y={key:1,class:"text-gray-400"},q=A({__name:"AssignLogPanel",props:{diagnosisId:{}},setup(N,{expose:v}){const _=N,d=w(!1),u=w([]);function y(o){const e=o.related_po_creator_name;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(o.related_po_creator_id);return Number.isFinite(t)&&t>0?`ID:${t}`:"—"}function x(o){const e=o.related_po_create_time_text;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(o.related_po_create_time);if(!Number.isFinite(t)||t<=0)return"—";const a=new Date(t*1e3);if(Number.isNaN(a.getTime()))return"—";const r=l=>String(l).padStart(2,"0");return`${a.getFullYear()}-${r(a.getMonth()+1)}-${r(a.getDate())} ${r(a.getHours())}:${r(a.getMinutes())}:${r(a.getSeconds())}`}function f(o,e){const t=e==="from"?"from_assistant_name":"to_assistant_name",a=e==="from"?"from_assistant_id":"to_assistant_id",r=o[t];if(r!=null&&String(r).trim()!==""&&String(r)!=="—")return String(r);const l=Number(o[a]);return Number.isFinite(l)&&l>0?`ID:${l}`:"—"}const g=async()=>{if(_.diagnosisId){d.value=!0;try{const o=await P({id:_.diagnosisId}),e=Array.isArray(o)?o:[];u.value=e}catch(o){console.error(o),u.value=[]}finally{d.value=!1}}};return B(()=>_.diagnosisId,()=>{g()},{immediate:!0}),v({refresh:g}),(o,e)=>{const t=T,a=$,r=k,l=D,S=C,I=E;return p(),b("div",O,[F((p(),h(S,{data:u.value,border:"",stripe:"","empty-text":"暂无指派记录"},{default:n(()=>[i(t,{label:"操作时间",width:"175",prop:"create_time_text"}),i(t,{label:"原医助","min-width":"120"},{default:n(({row:s})=>[m(c(f(s,"from")),1)]),_:1}),i(t,{label:"新医助","min-width":"120"},{default:n(({row:s})=>[m(c(f(s,"to")),1)]),_:1}),i(t,{label:"继承",width:"72",align:"center"},{default:n(({row:s})=>[Number(s.is_inherit)===1?(p(),h(a,{key:0,type:"success",size:"small"},{default:n(()=>[...e[0]||(e[0]=[m("是",-1)])]),_:1})):(p(),b("span",Y,"否"))]),_:1}),i(t,{label:"快照·业务单创建人","min-width":"130","show-overflow-tooltip":""},{default:n(({row:s})=>[m(c(y(s)),1)]),_:1}),i(t,{label:"快照·业务单创建时间",width:"190"},{header:n(()=>[e[1]||(e[1]=M("span",null,"快照·业务单创建时间",-1)),i(l,{placement:"top",content:"related_po_create_time:触发本次操作的处方业务订单 create_time;与原文助一致时表示医助创建订单时间"},{default:n(()=>[i(r,{class:"assign-log-col-hint"},{default:n(()=>[i(V(L))]),_:1})]),_:1})]),default:n(({row:s})=>[m(c(x(s)),1)]),_:1}),i(t,{label:"操作人",width:"110",prop:"operator_name"}),i(t,{label:"操作账号",width:"120",prop:"operator_account","show-overflow-tooltip":""}),i(t,{label:"IP",width:"130",prop:"ip","show-overflow-tooltip":""})]),_:1},8,["data"])),[[I,d.value]])])}}}),Tt=K(q,[["__scopeId","data-v-0a09e3d2"]]);export{Tt as default}; +import{N as C,O as T,U as $,r as D,d as k,M as E}from"./element-plus-DGP1XOrU.js";import{Y as L}from"./@element-plus/icons-vue-CbYn5zW9.js";import{af as P}from"./tcm-D-ZRccbe.js";import{f as A,w as B,ak as p,I as b,aP as F,G as h,aN as n,a as i,O as m,J as M}from"./@vue/runtime-core-C6bnekPw.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as V,n as w}from"./@vue/reactivity-DiY1c2vO.js";import{_ as K}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const O={class:"assign-log-panel"},Y={key:1,class:"text-gray-400"},q=A({__name:"AssignLogPanel",props:{diagnosisId:{}},setup(N,{expose:v}){const _=N,d=w(!1),u=w([]);function y(o){const e=o.related_po_creator_name;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(o.related_po_creator_id);return Number.isFinite(t)&&t>0?`ID:${t}`:"—"}function x(o){const e=o.related_po_create_time_text;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(o.related_po_create_time);if(!Number.isFinite(t)||t<=0)return"—";const a=new Date(t*1e3);if(Number.isNaN(a.getTime()))return"—";const r=l=>String(l).padStart(2,"0");return`${a.getFullYear()}-${r(a.getMonth()+1)}-${r(a.getDate())} ${r(a.getHours())}:${r(a.getMinutes())}:${r(a.getSeconds())}`}function f(o,e){const t=e==="from"?"from_assistant_name":"to_assistant_name",a=e==="from"?"from_assistant_id":"to_assistant_id",r=o[t];if(r!=null&&String(r).trim()!==""&&String(r)!=="—")return String(r);const l=Number(o[a]);return Number.isFinite(l)&&l>0?`ID:${l}`:"—"}const g=async()=>{if(_.diagnosisId){d.value=!0;try{const o=await P({id:_.diagnosisId}),e=Array.isArray(o)?o:[];u.value=e}catch(o){console.error(o),u.value=[]}finally{d.value=!1}}};return B(()=>_.diagnosisId,()=>{g()},{immediate:!0}),v({refresh:g}),(o,e)=>{const t=T,a=$,r=k,l=D,S=C,I=E;return p(),b("div",O,[F((p(),h(S,{data:u.value,border:"",stripe:"","empty-text":"暂无指派记录"},{default:n(()=>[i(t,{label:"操作时间",width:"175",prop:"create_time_text"}),i(t,{label:"原医助","min-width":"120"},{default:n(({row:s})=>[m(c(f(s,"from")),1)]),_:1}),i(t,{label:"新医助","min-width":"120"},{default:n(({row:s})=>[m(c(f(s,"to")),1)]),_:1}),i(t,{label:"继承",width:"72",align:"center"},{default:n(({row:s})=>[Number(s.is_inherit)===1?(p(),h(a,{key:0,type:"success",size:"small"},{default:n(()=>[...e[0]||(e[0]=[m("是",-1)])]),_:1})):(p(),b("span",Y,"否"))]),_:1}),i(t,{label:"快照·业务单创建人","min-width":"130","show-overflow-tooltip":""},{default:n(({row:s})=>[m(c(y(s)),1)]),_:1}),i(t,{label:"快照·业务单创建时间",width:"190"},{header:n(()=>[e[1]||(e[1]=M("span",null,"快照·业务单创建时间",-1)),i(l,{placement:"top",content:"related_po_create_time:触发本次操作的处方业务订单 create_time;与原文助一致时表示医助创建订单时间"},{default:n(()=>[i(r,{class:"assign-log-col-hint"},{default:n(()=>[i(V(L))]),_:1})]),_:1})]),default:n(({row:s})=>[m(c(x(s)),1)]),_:1}),i(t,{label:"操作人",width:"110",prop:"operator_name"}),i(t,{label:"操作账号",width:"120",prop:"operator_account","show-overflow-tooltip":""}),i(t,{label:"IP",width:"130",prop:"ip","show-overflow-tooltip":""})]),_:1},8,["data"])),[[I,d.value]])])}}}),Tt=K(q,[["__scopeId","data-v-0a09e3d2"]]);export{Tt as default}; diff --git a/server/public/admin/assets/AssistantWatchCallDialog-BLaY2Gyh.js b/server/public/admin/assets/AssistantWatchCallDialog-BoEGWQ09.js similarity index 96% rename from server/public/admin/assets/AssistantWatchCallDialog-BLaY2Gyh.js rename to server/public/admin/assets/AssistantWatchCallDialog-BoEGWQ09.js index a487bfe75..914b301a7 100644 --- a/server/public/admin/assets/AssistantWatchCallDialog-BLaY2Gyh.js +++ b/server/public/admin/assets/AssistantWatchCallDialog-BoEGWQ09.js @@ -1 +1 @@ -import{i as b,W as D}from"./element-plus-DGP1XOrU.js";import{q as O}from"./@vue/runtime-dom-DDAG46FW.js";import{T as d}from"./trtc-sdk-v5-D4DbeRqz.js";import{ag as S}from"./tcm-CEIBuAeK.js";import{f as x,w as W,ak as y,G as P,aN as E,I as _,H as U,aP as $,J as h,a as j,O as H,A as Y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as q}from"./@vue/shared-mAAVTE9n.js";import{n as v}from"./@vue/reactivity-DiY1c2vO.js";import{_ as G}from"./index-fRv3NTFQ.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={key:0,class:"watch-state"},K={key:1,class:"watch-state watch-error"},Q=x({__name:"AssistantWatchCallDialog",props:{modelValue:{type:Boolean},diagnosisId:{}},emits:["update:modelValue","closed"],setup(A,{emit:R}){const c=A,g=R,I=Y({get:()=>c.modelValue,set:e=>g("update:modelValue",e)}),s=v(null),l=v(!1),i=v(""),p=v("旁观视频通话"),n=new Map;let o=null,f=0;function w(e,t){return`${e}\0${String(t)}`}function N(e){return e.startsWith("patient_")?"患者":e.startsWith("doctor_")?"医护":e}async function T(e){if(!o||!s.value||e.streamType!==d.TYPE.STREAM_TYPE_MAIN)return;const t=w(e.userId,e.streamType);if(n.has(t))return;const a=document.createElement("div");a.className="watch-tile";const r=document.createElement("div");r.className="watch-tile-cap",r.textContent=N(e.userId);const m=document.createElement("div");m.className="watch-tile-view",a.appendChild(r),a.appendChild(m),s.value.appendChild(a),n.set(t,{wrap:a,userId:e.userId,streamType:e.streamType});try{await o.startRemoteVideo({userId:e.userId,streamType:e.streamType,view:m})}catch(M){console.warn("[AssistantWatchCall] startRemoteVideo",M)}}async function V(e){if(!o)return;const t=w(e.userId,e.streamType),a=n.get(t);if(a){try{await o.stopRemoteVideo({userId:e.userId,streamType:e.streamType})}catch{}a.wrap.remove(),n.delete(t)}}function C(){o&&(o.on(d.EVENT.REMOTE_VIDEO_AVAILABLE,T),o.on(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,V))}function k(){o&&(o.off(d.EVENT.REMOTE_VIDEO_AVAILABLE,T),o.off(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,V))}async function u(){if(k(),o){for(const[,e]of n){try{await o.stopRemoteVideo({userId:e.userId,streamType:e.streamType})}catch{}e.wrap.remove()}n.clear(),s.value&&(s.value.innerHTML="");try{await o.exitRoom()}catch{}try{o.destroy()}catch{}o=null}else n.clear(),s.value&&(s.value.innerHTML="")}async function L(){const e=++f;if(await u(),!c.diagnosisId){i.value="诊单无效";return}l.value=!0,i.value="",p.value="旁观视频通话";try{const t=await S({diagnosis_id:c.diagnosisId});if(e!==f)return;t.patientName&&(p.value=`旁观视频通话 · ${t.patientName}`),o=d.create(),C();const a={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,autoReceiveAudio:!0,autoReceiveVideo:!0,...t.roomId!=null&&t.roomId>0?{roomId:t.roomId}:{strRoomId:t.strRoomId}};if(!(t.roomId!=null&&t.roomId>0)&&!t.strRoomId)throw new Error("缺少房间号");if(await o.enterRoom(a),e!==f){await u();return}l.value=!1}catch(t){l.value=!1;let a="进入房间失败";if(typeof t=="string")a=t;else if(t&&typeof t=="object"){const r=t;r.msg?a=String(r.msg):r.message&&(a=String(r.message))}i.value=a,await u()}}function B(){u(),l.value=!1,i.value="",p.value="旁观视频通话",g("closed")}return W(()=>[c.modelValue,c.diagnosisId],([e,t])=>{if(!e){f++,u();return}t>0&&L()}),(e,t)=>{const a=b,r=D;return y(),P(r,{modelValue:I.value,"onUpdate:modelValue":t[1]||(t[1]=m=>I.value=m),title:p.value,width:"760px","destroy-on-close":"","append-to-body":"","close-on-click-modal":!1,class:"assistant-watch-call-dialog",onClosed:B},{footer:E(()=>[t[3]||(t[3]=h("span",{class:"watch-hint"},"仅观看,不会开启摄像头与麦克风",-1)),j(a,{type:"primary",onClick:t[0]||(t[0]=m=>I.value=!1)},{default:E(()=>[...t[2]||(t[2]=[H("离开",-1)])]),_:1})]),default:E(()=>[l.value?(y(),_("div",J,"正在连接房间…")):i.value?(y(),_("div",K,q(i.value),1)):U("",!0),$(h("div",{ref_key:"gridRef",ref:s,class:"watch-grid"},null,512),[[O,!l.value&&!i.value]])]),_:1},8,["modelValue","title"])}}}),Ot=G(Q,[["__scopeId","data-v-8c719418"]]);export{Ot as default}; +import{i as b,W as D}from"./element-plus-DGP1XOrU.js";import{q as O}from"./@vue/runtime-dom-DDAG46FW.js";import{T as d}from"./trtc-sdk-v5-D4DbeRqz.js";import{ag as S}from"./tcm-D-ZRccbe.js";import{f as x,w as W,ak as y,G as P,aN as E,I as _,H as U,aP as $,J as h,a as j,O as H,A as Y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as q}from"./@vue/shared-mAAVTE9n.js";import{n as v}from"./@vue/reactivity-DiY1c2vO.js";import{_ as G}from"./index-J_eFER10.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={key:0,class:"watch-state"},K={key:1,class:"watch-state watch-error"},Q=x({__name:"AssistantWatchCallDialog",props:{modelValue:{type:Boolean},diagnosisId:{}},emits:["update:modelValue","closed"],setup(A,{emit:R}){const c=A,g=R,I=Y({get:()=>c.modelValue,set:e=>g("update:modelValue",e)}),s=v(null),l=v(!1),i=v(""),p=v("旁观视频通话"),n=new Map;let o=null,f=0;function w(e,t){return`${e}\0${String(t)}`}function N(e){return e.startsWith("patient_")?"患者":e.startsWith("doctor_")?"医护":e}async function T(e){if(!o||!s.value||e.streamType!==d.TYPE.STREAM_TYPE_MAIN)return;const t=w(e.userId,e.streamType);if(n.has(t))return;const a=document.createElement("div");a.className="watch-tile";const r=document.createElement("div");r.className="watch-tile-cap",r.textContent=N(e.userId);const m=document.createElement("div");m.className="watch-tile-view",a.appendChild(r),a.appendChild(m),s.value.appendChild(a),n.set(t,{wrap:a,userId:e.userId,streamType:e.streamType});try{await o.startRemoteVideo({userId:e.userId,streamType:e.streamType,view:m})}catch(M){console.warn("[AssistantWatchCall] startRemoteVideo",M)}}async function V(e){if(!o)return;const t=w(e.userId,e.streamType),a=n.get(t);if(a){try{await o.stopRemoteVideo({userId:e.userId,streamType:e.streamType})}catch{}a.wrap.remove(),n.delete(t)}}function C(){o&&(o.on(d.EVENT.REMOTE_VIDEO_AVAILABLE,T),o.on(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,V))}function k(){o&&(o.off(d.EVENT.REMOTE_VIDEO_AVAILABLE,T),o.off(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,V))}async function u(){if(k(),o){for(const[,e]of n){try{await o.stopRemoteVideo({userId:e.userId,streamType:e.streamType})}catch{}e.wrap.remove()}n.clear(),s.value&&(s.value.innerHTML="");try{await o.exitRoom()}catch{}try{o.destroy()}catch{}o=null}else n.clear(),s.value&&(s.value.innerHTML="")}async function L(){const e=++f;if(await u(),!c.diagnosisId){i.value="诊单无效";return}l.value=!0,i.value="",p.value="旁观视频通话";try{const t=await S({diagnosis_id:c.diagnosisId});if(e!==f)return;t.patientName&&(p.value=`旁观视频通话 · ${t.patientName}`),o=d.create(),C();const a={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,autoReceiveAudio:!0,autoReceiveVideo:!0,...t.roomId!=null&&t.roomId>0?{roomId:t.roomId}:{strRoomId:t.strRoomId}};if(!(t.roomId!=null&&t.roomId>0)&&!t.strRoomId)throw new Error("缺少房间号");if(await o.enterRoom(a),e!==f){await u();return}l.value=!1}catch(t){l.value=!1;let a="进入房间失败";if(typeof t=="string")a=t;else if(t&&typeof t=="object"){const r=t;r.msg?a=String(r.msg):r.message&&(a=String(r.message))}i.value=a,await u()}}function B(){u(),l.value=!1,i.value="",p.value="旁观视频通话",g("closed")}return W(()=>[c.modelValue,c.diagnosisId],([e,t])=>{if(!e){f++,u();return}t>0&&L()}),(e,t)=>{const a=b,r=D;return y(),P(r,{modelValue:I.value,"onUpdate:modelValue":t[1]||(t[1]=m=>I.value=m),title:p.value,width:"760px","destroy-on-close":"","append-to-body":"","close-on-click-modal":!1,class:"assistant-watch-call-dialog",onClosed:B},{footer:E(()=>[t[3]||(t[3]=h("span",{class:"watch-hint"},"仅观看,不会开启摄像头与麦克风",-1)),j(a,{type:"primary",onClick:t[0]||(t[0]=m=>I.value=!1)},{default:E(()=>[...t[2]||(t[2]=[H("离开",-1)])]),_:1})]),default:E(()=>[l.value?(y(),_("div",J,"正在连接房间…")):i.value?(y(),_("div",K,q(i.value),1)):U("",!0),$(h("div",{ref_key:"gridRef",ref:s,class:"watch-grid"},null,512),[[O,!l.value&&!i.value]])]),_:1},8,["modelValue","title"])}}}),Ot=G(Q,[["__scopeId","data-v-8c719418"]]);export{Ot as default}; diff --git a/server/public/admin/assets/BloodRecordList-EQkADV67.js b/server/public/admin/assets/BloodRecordList-P_n1Kvlm.js similarity index 98% rename from server/public/admin/assets/BloodRecordList-EQkADV67.js rename to server/public/admin/assets/BloodRecordList-P_n1Kvlm.js index 168adb0d0..2d7cdd3ff 100644 --- a/server/public/admin/assets/BloodRecordList-EQkADV67.js +++ b/server/public/admin/assets/BloodRecordList-P_n1Kvlm.js @@ -1 +1 @@ -import{i as ee,R as le,Q as te,S as oe,K as ae,O as se,N as re,D as ne,B as de,aa as ie,h as ue,C as me,W as pe}from"./element-plus-DGP1XOrU.js";import{ah as _e,ai as ce,aj as fe,$ as ge,a0 as be}from"./tcm-CEIBuAeK.js";import{k,_ as ye}from"./index-fRv3NTFQ.js";import{i as ve}from"./echarts-CNLwa9wG.js";import{f as Ve,b as he,d as ke,w as $,ak as V,I as O,J as u,G as F,aN as r,O as p,H as M,a as l,A as we,n as Ie}from"./@vue/runtime-core-C6bnekPw.js";import{n as _,a as A,y as s}from"./@vue/reactivity-DiY1c2vO.js";import{Q as w}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";const xe={class:"blood-record-list"},Ce={class:"mb-4"},Ee={class:"mb-4"},De={key:0},Te={key:1},Ne=5,Re=Ve({__name:"BloodRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(T){const n=T,Y=_([]),c=_(!1),N=_(!1),P=we(()=>a.value.id?"编辑记录":"添加记录"),f=_(7),g=_(null),m=_({dates:[],fasting:[],postprandial_2h:[],other:[]}),R=_();let b=null,U=0;const a=_({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:0,systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""});function B(o){if(o==null||o==="")return"-";const e=Number(String(o).trim());return!Number.isFinite(e)||e===0?"-":String(e.toFixed(2).replace(/\.?0+$/,""))}const h=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const o={diagnosis_id:n.diagnosisId,patient_id:n.patientId};f.value===0&&g.value?(o.start_date=Math.floor(g.value[0].getTime()/1e3),o.end_date=Math.floor(g.value[1].getTime()/1e3)):o.days=f.value;const e=await _e(o);m.value=e,L()}catch(o){console.error("获取趋势图数据失败:",o)}},G=()=>{f.value!==0&&(g.value=null),h()},L=()=>{Ie(()=>{setTimeout(()=>{if(!R.value)return;const o=R.value;if(o.clientWidth===0||o.clientHeight===0){UL(),100));return}U=0,b&&b.dispose(),b=ve(o);const e=(H,i)=>{const C=new Map;return H.forEach(d=>{C.set(d.date,d.value)}),i.map(d=>C.get(d)||null)},y=e(m.value.fasting,m.value.dates),v=e(m.value.postprandial_2h,m.value.dates),S=e(m.value.other,m.value.dates),x={tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{data:["空腹血糖","餐后2小时血糖","其他血糖"]},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:m.value.dates},yAxis:{type:"value",name:"血糖值 (mmol/L)"},series:[{name:"空腹血糖",type:"line",data:y,smooth:!0,connectNulls:!0},{name:"餐后2小时血糖",type:"line",data:v,smooth:!0,connectNulls:!0},{name:"其他血糖",type:"line",data:S,smooth:!0,connectNulls:!0}]};b.setOption(x),b.resize()},100)})},I=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const o=await ce({diagnosis_id:n.diagnosisId,patient_id:n.patientId});Y.value=o}catch(o){console.error("获取记录失败:",o)}},W=()=>{a.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:0,systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""},c.value=!0},Q=o=>{a.value={...o,fasting_blood_sugar:parseFloat(o.fasting_blood_sugar)||0,postprandial_blood_sugar:parseFloat(o.postprandial_blood_sugar)||0,other_blood_sugar:parseFloat(o.other_blood_sugar)||0,systolic_pressure:parseInt(o.systolic_pressure)||0,diastolic_pressure:parseInt(o.diastolic_pressure)||0},c.value=!0},j=o=>{a.value.other_blood_sugar=o.replace(/[^\d.]/g,"")},q=async o=>{await k.confirm("确定要删除这条记录吗?");try{await fe({id:o.id}),k.msgSuccess("删除成功"),I()}catch(e){console.error("删除失败:",e)}},z=async()=>{if(!a.value.record_date){k.msgWarning("请选择记录日期");return}N.value=!0;try{a.value.id?(await ge(a.value),k.msgSuccess("编辑成功")):(await be(a.value),k.msgSuccess("添加成功")),c.value=!1,I(),h()}catch(o){console.error("提交失败:",o)}finally{N.value=!1}};return he(()=>{setTimeout(()=>{I(),h()},500)}),ke(()=>{b&&b.dispose()}),$(()=>[n.diagnosisId,n.patientId],()=>{I(),h()}),$(()=>n.diagnosisId,o=>{o&&setTimeout(()=>{L()},500)}),(o,e)=>{const y=ee,v=le,S=te,x=oe,H=ae,i=se,C=re,d=de,J=ie,E=ue,D=me,K=ne,X=pe;return V(),O("div",xe,[u("div",Ce,[T.readOnly?M("",!0):(V(),F(y,{key:0,type:"primary",onClick:W},{default:r(()=>[...e[14]||(e[14]=[p("添加记录",-1)])]),_:1})),l(S,{modelValue:s(f),"onUpdate:modelValue":e[0]||(e[0]=t=>A(f)?f.value=t:null),onChange:G,class:"ml-2",style:{width:"150px"}},{default:r(()=>[l(v,{label:"最近7天",value:7}),l(v,{label:"最近30天",value:30}),l(v,{label:"最近90天",value:90}),l(v,{label:"最近一年",value:365}),l(v,{label:"自定义",value:0})]),_:1},8,["modelValue"]),s(f)===0?(V(),F(x,{key:1,modelValue:s(g),"onUpdate:modelValue":e[1]||(e[1]=t=>A(g)?g.value=t:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",onChange:h,class:"ml-2",style:{width:"300px"}},null,8,["modelValue"])):M("",!0)]),u("div",Ee,[l(H,null,{header:r(()=>[...e[15]||(e[15]=[u("div",{class:"card-header"},[u("span",null,"血糖趋势图")],-1)])]),default:r(()=>[u("div",{ref_key:"chartRef",ref:R,style:{width:"100%",height:"400px"}},null,512)]),_:1})]),l(C,{data:s(Y),border:"",style:{width:"100%"}},{default:r(()=>[l(i,{prop:"record_date",label:"记录日期",width:"120"}),l(i,{prop:"record_time",label:"记录时间",width:"100"}),l(i,{label:"空腹血糖(mmol/L)",width:"120"},{default:r(({row:t})=>[p(w(B(t.fasting_blood_sugar)),1)]),_:1}),l(i,{label:"餐后2小时血糖(mmol/L)",width:"150"},{default:r(({row:t})=>[p(w(B(t.postprandial_blood_sugar)),1)]),_:1}),l(i,{label:"其他血糖(mmol/L)",width:"120"},{default:r(({row:t})=>[p(w(B(t.other_blood_sugar)),1)]),_:1}),l(i,{label:"血压(mmHg)",width:"150"},{default:r(({row:t})=>[t.systolic_pressure&&t.diastolic_pressure?(V(),O("span",De,w(t.systolic_pressure)+"/"+w(t.diastolic_pressure),1)):(V(),O("span",Te,"-"))]),_:1}),l(i,{prop:"western_medicine",label:"西药","show-overflow-tooltip":""}),l(i,{prop:"insulin",label:"胰岛素","show-overflow-tooltip":""}),l(i,{prop:"remark",label:"备注","show-overflow-tooltip":""}),T.readOnly?M("",!0):(V(),F(i,{key:0,label:"操作",width:"150",fixed:"right"},{default:r(({row:t})=>[l(y,{link:"",type:"primary",onClick:Z=>Q(t)},{default:r(()=>[...e[16]||(e[16]=[p("编辑",-1)])]),_:1},8,["onClick"]),l(y,{link:"",type:"danger",onClick:Z=>q(t)},{default:r(()=>[...e[17]||(e[17]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),l(X,{modelValue:s(c),"onUpdate:modelValue":e[13]||(e[13]=t=>A(c)?c.value=t:null),title:s(P),width:"600px"},{footer:r(()=>[l(y,{onClick:e[12]||(e[12]=t=>c.value=!1)},{default:r(()=>[...e[23]||(e[23]=[p("取消",-1)])]),_:1}),l(y,{type:"primary",onClick:z,loading:s(N)},{default:r(()=>[...e[24]||(e[24]=[p("确定",-1)])]),_:1},8,["loading"])]),default:r(()=>[l(K,{model:s(a),"label-width":"120px"},{default:r(()=>[l(d,{label:"记录日期",required:""},{default:r(()=>[l(x,{modelValue:s(a).record_date,"onUpdate:modelValue":e[2]||(e[2]=t=>s(a).record_date=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),l(d,{label:"记录时间"},{default:r(()=>[l(J,{modelValue:s(a).record_time,"onUpdate:modelValue":e[3]||(e[3]=t=>s(a).record_time=t),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),l(d,{label:"空腹血糖"},{default:r(()=>[l(E,{modelValue:s(a).fasting_blood_sugar,"onUpdate:modelValue":e[4]||(e[4]=t=>s(a).fasting_blood_sugar=t),precision:2,step:.1,min:0,max:50,placeholder:"请输入空腹血糖"},null,8,["modelValue"]),e[18]||(e[18]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"餐后2小时血糖"},{default:r(()=>[l(E,{modelValue:s(a).postprandial_blood_sugar,"onUpdate:modelValue":e[5]||(e[5]=t=>s(a).postprandial_blood_sugar=t),precision:2,step:.1,min:0,max:50,placeholder:"请输入餐后2小时血糖"},null,8,["modelValue"]),e[19]||(e[19]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"其他血糖"},{default:r(()=>[l(D,{modelValue:s(a).other_blood_sugar,"onUpdate:modelValue":e[6]||(e[6]=t=>s(a).other_blood_sugar=t),placeholder:"请输入其他血糖",type:"number",maxlength:"10",onInput:j,style:{width:"200px"}},null,8,["modelValue"]),e[20]||(e[20]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"收缩压(高压)"},{default:r(()=>[l(E,{modelValue:s(a).systolic_pressure,"onUpdate:modelValue":e[7]||(e[7]=t=>s(a).systolic_pressure=t),min:0,max:300,placeholder:"请输入收缩压"},null,8,["modelValue"]),e[21]||(e[21]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(d,{label:"舒张压(低压)"},{default:r(()=>[l(E,{modelValue:s(a).diastolic_pressure,"onUpdate:modelValue":e[8]||(e[8]=t=>s(a).diastolic_pressure=t),min:0,max:200,placeholder:"请输入舒张压"},null,8,["modelValue"]),e[22]||(e[22]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(d,{label:"西药"},{default:r(()=>[l(D,{modelValue:s(a).western_medicine,"onUpdate:modelValue":e[9]||(e[9]=t=>s(a).western_medicine=t),placeholder:"请输入西药"},null,8,["modelValue"])]),_:1}),l(d,{label:"胰岛素"},{default:r(()=>[l(D,{modelValue:s(a).insulin,"onUpdate:modelValue":e[10]||(e[10]=t=>s(a).insulin=t),placeholder:"请输入胰岛素"},null,8,["modelValue"])]),_:1}),l(d,{label:"备注"},{default:r(()=>[l(D,{modelValue:s(a).remark,"onUpdate:modelValue":e[11]||(e[11]=t=>s(a).remark=t),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),gl=ye(Re,[["__scopeId","data-v-3a187401"]]);export{gl as default}; +import{i as ee,R as le,Q as te,S as oe,K as ae,O as se,N as re,D as ne,B as de,aa as ie,h as ue,C as me,W as pe}from"./element-plus-DGP1XOrU.js";import{ah as _e,ai as ce,aj as fe,$ as ge,a0 as be}from"./tcm-D-ZRccbe.js";import{k,_ as ye}from"./index-J_eFER10.js";import{i as ve}from"./echarts-CNLwa9wG.js";import{f as Ve,b as he,d as ke,w as $,ak as V,I as O,J as u,G as F,aN as r,O as p,H as M,a as l,A as we,n as Ie}from"./@vue/runtime-core-C6bnekPw.js";import{n as _,a as A,y as s}from"./@vue/reactivity-DiY1c2vO.js";import{Q as w}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";const xe={class:"blood-record-list"},Ce={class:"mb-4"},Ee={class:"mb-4"},De={key:0},Te={key:1},Ne=5,Re=Ve({__name:"BloodRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(T){const n=T,Y=_([]),c=_(!1),N=_(!1),P=we(()=>a.value.id?"编辑记录":"添加记录"),f=_(7),g=_(null),m=_({dates:[],fasting:[],postprandial_2h:[],other:[]}),R=_();let b=null,U=0;const a=_({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:0,systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""});function B(o){if(o==null||o==="")return"-";const e=Number(String(o).trim());return!Number.isFinite(e)||e===0?"-":String(e.toFixed(2).replace(/\.?0+$/,""))}const h=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const o={diagnosis_id:n.diagnosisId,patient_id:n.patientId};f.value===0&&g.value?(o.start_date=Math.floor(g.value[0].getTime()/1e3),o.end_date=Math.floor(g.value[1].getTime()/1e3)):o.days=f.value;const e=await _e(o);m.value=e,L()}catch(o){console.error("获取趋势图数据失败:",o)}},G=()=>{f.value!==0&&(g.value=null),h()},L=()=>{Ie(()=>{setTimeout(()=>{if(!R.value)return;const o=R.value;if(o.clientWidth===0||o.clientHeight===0){UL(),100));return}U=0,b&&b.dispose(),b=ve(o);const e=(H,i)=>{const C=new Map;return H.forEach(d=>{C.set(d.date,d.value)}),i.map(d=>C.get(d)||null)},y=e(m.value.fasting,m.value.dates),v=e(m.value.postprandial_2h,m.value.dates),S=e(m.value.other,m.value.dates),x={tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{data:["空腹血糖","餐后2小时血糖","其他血糖"]},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:m.value.dates},yAxis:{type:"value",name:"血糖值 (mmol/L)"},series:[{name:"空腹血糖",type:"line",data:y,smooth:!0,connectNulls:!0},{name:"餐后2小时血糖",type:"line",data:v,smooth:!0,connectNulls:!0},{name:"其他血糖",type:"line",data:S,smooth:!0,connectNulls:!0}]};b.setOption(x),b.resize()},100)})},I=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const o=await ce({diagnosis_id:n.diagnosisId,patient_id:n.patientId});Y.value=o}catch(o){console.error("获取记录失败:",o)}},W=()=>{a.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:0,systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""},c.value=!0},Q=o=>{a.value={...o,fasting_blood_sugar:parseFloat(o.fasting_blood_sugar)||0,postprandial_blood_sugar:parseFloat(o.postprandial_blood_sugar)||0,other_blood_sugar:parseFloat(o.other_blood_sugar)||0,systolic_pressure:parseInt(o.systolic_pressure)||0,diastolic_pressure:parseInt(o.diastolic_pressure)||0},c.value=!0},j=o=>{a.value.other_blood_sugar=o.replace(/[^\d.]/g,"")},q=async o=>{await k.confirm("确定要删除这条记录吗?");try{await fe({id:o.id}),k.msgSuccess("删除成功"),I()}catch(e){console.error("删除失败:",e)}},z=async()=>{if(!a.value.record_date){k.msgWarning("请选择记录日期");return}N.value=!0;try{a.value.id?(await ge(a.value),k.msgSuccess("编辑成功")):(await be(a.value),k.msgSuccess("添加成功")),c.value=!1,I(),h()}catch(o){console.error("提交失败:",o)}finally{N.value=!1}};return he(()=>{setTimeout(()=>{I(),h()},500)}),ke(()=>{b&&b.dispose()}),$(()=>[n.diagnosisId,n.patientId],()=>{I(),h()}),$(()=>n.diagnosisId,o=>{o&&setTimeout(()=>{L()},500)}),(o,e)=>{const y=ee,v=le,S=te,x=oe,H=ae,i=se,C=re,d=de,J=ie,E=ue,D=me,K=ne,X=pe;return V(),O("div",xe,[u("div",Ce,[T.readOnly?M("",!0):(V(),F(y,{key:0,type:"primary",onClick:W},{default:r(()=>[...e[14]||(e[14]=[p("添加记录",-1)])]),_:1})),l(S,{modelValue:s(f),"onUpdate:modelValue":e[0]||(e[0]=t=>A(f)?f.value=t:null),onChange:G,class:"ml-2",style:{width:"150px"}},{default:r(()=>[l(v,{label:"最近7天",value:7}),l(v,{label:"最近30天",value:30}),l(v,{label:"最近90天",value:90}),l(v,{label:"最近一年",value:365}),l(v,{label:"自定义",value:0})]),_:1},8,["modelValue"]),s(f)===0?(V(),F(x,{key:1,modelValue:s(g),"onUpdate:modelValue":e[1]||(e[1]=t=>A(g)?g.value=t:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",onChange:h,class:"ml-2",style:{width:"300px"}},null,8,["modelValue"])):M("",!0)]),u("div",Ee,[l(H,null,{header:r(()=>[...e[15]||(e[15]=[u("div",{class:"card-header"},[u("span",null,"血糖趋势图")],-1)])]),default:r(()=>[u("div",{ref_key:"chartRef",ref:R,style:{width:"100%",height:"400px"}},null,512)]),_:1})]),l(C,{data:s(Y),border:"",style:{width:"100%"}},{default:r(()=>[l(i,{prop:"record_date",label:"记录日期",width:"120"}),l(i,{prop:"record_time",label:"记录时间",width:"100"}),l(i,{label:"空腹血糖(mmol/L)",width:"120"},{default:r(({row:t})=>[p(w(B(t.fasting_blood_sugar)),1)]),_:1}),l(i,{label:"餐后2小时血糖(mmol/L)",width:"150"},{default:r(({row:t})=>[p(w(B(t.postprandial_blood_sugar)),1)]),_:1}),l(i,{label:"其他血糖(mmol/L)",width:"120"},{default:r(({row:t})=>[p(w(B(t.other_blood_sugar)),1)]),_:1}),l(i,{label:"血压(mmHg)",width:"150"},{default:r(({row:t})=>[t.systolic_pressure&&t.diastolic_pressure?(V(),O("span",De,w(t.systolic_pressure)+"/"+w(t.diastolic_pressure),1)):(V(),O("span",Te,"-"))]),_:1}),l(i,{prop:"western_medicine",label:"西药","show-overflow-tooltip":""}),l(i,{prop:"insulin",label:"胰岛素","show-overflow-tooltip":""}),l(i,{prop:"remark",label:"备注","show-overflow-tooltip":""}),T.readOnly?M("",!0):(V(),F(i,{key:0,label:"操作",width:"150",fixed:"right"},{default:r(({row:t})=>[l(y,{link:"",type:"primary",onClick:Z=>Q(t)},{default:r(()=>[...e[16]||(e[16]=[p("编辑",-1)])]),_:1},8,["onClick"]),l(y,{link:"",type:"danger",onClick:Z=>q(t)},{default:r(()=>[...e[17]||(e[17]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),l(X,{modelValue:s(c),"onUpdate:modelValue":e[13]||(e[13]=t=>A(c)?c.value=t:null),title:s(P),width:"600px"},{footer:r(()=>[l(y,{onClick:e[12]||(e[12]=t=>c.value=!1)},{default:r(()=>[...e[23]||(e[23]=[p("取消",-1)])]),_:1}),l(y,{type:"primary",onClick:z,loading:s(N)},{default:r(()=>[...e[24]||(e[24]=[p("确定",-1)])]),_:1},8,["loading"])]),default:r(()=>[l(K,{model:s(a),"label-width":"120px"},{default:r(()=>[l(d,{label:"记录日期",required:""},{default:r(()=>[l(x,{modelValue:s(a).record_date,"onUpdate:modelValue":e[2]||(e[2]=t=>s(a).record_date=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),l(d,{label:"记录时间"},{default:r(()=>[l(J,{modelValue:s(a).record_time,"onUpdate:modelValue":e[3]||(e[3]=t=>s(a).record_time=t),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),l(d,{label:"空腹血糖"},{default:r(()=>[l(E,{modelValue:s(a).fasting_blood_sugar,"onUpdate:modelValue":e[4]||(e[4]=t=>s(a).fasting_blood_sugar=t),precision:2,step:.1,min:0,max:50,placeholder:"请输入空腹血糖"},null,8,["modelValue"]),e[18]||(e[18]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"餐后2小时血糖"},{default:r(()=>[l(E,{modelValue:s(a).postprandial_blood_sugar,"onUpdate:modelValue":e[5]||(e[5]=t=>s(a).postprandial_blood_sugar=t),precision:2,step:.1,min:0,max:50,placeholder:"请输入餐后2小时血糖"},null,8,["modelValue"]),e[19]||(e[19]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"其他血糖"},{default:r(()=>[l(D,{modelValue:s(a).other_blood_sugar,"onUpdate:modelValue":e[6]||(e[6]=t=>s(a).other_blood_sugar=t),placeholder:"请输入其他血糖",type:"number",maxlength:"10",onInput:j,style:{width:"200px"}},null,8,["modelValue"]),e[20]||(e[20]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"收缩压(高压)"},{default:r(()=>[l(E,{modelValue:s(a).systolic_pressure,"onUpdate:modelValue":e[7]||(e[7]=t=>s(a).systolic_pressure=t),min:0,max:300,placeholder:"请输入收缩压"},null,8,["modelValue"]),e[21]||(e[21]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(d,{label:"舒张压(低压)"},{default:r(()=>[l(E,{modelValue:s(a).diastolic_pressure,"onUpdate:modelValue":e[8]||(e[8]=t=>s(a).diastolic_pressure=t),min:0,max:200,placeholder:"请输入舒张压"},null,8,["modelValue"]),e[22]||(e[22]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(d,{label:"西药"},{default:r(()=>[l(D,{modelValue:s(a).western_medicine,"onUpdate:modelValue":e[9]||(e[9]=t=>s(a).western_medicine=t),placeholder:"请输入西药"},null,8,["modelValue"])]),_:1}),l(d,{label:"胰岛素"},{default:r(()=>[l(D,{modelValue:s(a).insulin,"onUpdate:modelValue":e[10]||(e[10]=t=>s(a).insulin=t),placeholder:"请输入胰岛素"},null,8,["modelValue"])]),_:1}),l(d,{label:"备注"},{default:r(()=>[l(D,{modelValue:s(a).remark,"onUpdate:modelValue":e[11]||(e[11]=t=>s(a).remark=t),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),gl=ye(Re,[["__scopeId","data-v-3a187401"]]);export{gl as default}; diff --git a/server/public/admin/assets/CallRecordPanel-D0IuoeiU.js b/server/public/admin/assets/CallRecordPanel-C1Otf2Df.js similarity index 92% rename from server/public/admin/assets/CallRecordPanel-D0IuoeiU.js rename to server/public/admin/assets/CallRecordPanel-C1Otf2Df.js index fc9917fde..511ac75dc 100644 --- a/server/public/admin/assets/CallRecordPanel-D0IuoeiU.js +++ b/server/public/admin/assets/CallRecordPanel-C1Otf2Df.js @@ -1 +1 @@ -import{i as O,N as T,O as P,M as V}from"./element-plus-DGP1XOrU.js";import z from"./RecordingPlaybackBlock-CTkcYK3L.js";import{U as h}from"./index-Dxrq29dg.js";import{k as d,_ as D}from"./index-fRv3NTFQ.js";import{ak as G,al as w,am as L}from"./tcm-CEIBuAeK.js";import{f as M,aG as H,w as J,ak as c,I as _,a as r,aN as l,O as m,H as v,aP as Q,G as k,J as y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import{n as x}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./RecordingVideoPlayer-VBMST9fm.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const j={class:"call-record-panel"},q={key:0,class:"call-record-toolbar"},A={class:"call-record-empty"},F={class:"call-record-empty__desc"},K={key:0,class:"text-primary"},W={key:1,class:"text-gray-400"},X=M({__name:"CallRecordPanel",props:{diagnosisId:{},readOnly:{type:Boolean,default:!1}},setup(p,{expose:R}){const s=p,f=x(!1),g=x([]),U=H("toolbarUploadRef"),u=async()=>{if(s.diagnosisId){f.value=!0;try{g.value=await G({diagnosis_id:s.diagnosisId})||[]}catch(a){console.error(a),g.value=[]}finally{f.value=!1}}};J(()=>s.diagnosisId,()=>{u()},{immediate:!0}),R({refresh:u});function C(a){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[a]??"—"}async function I(a){const e=b(a);if(!e){d.msgError("上传成功但未返回视频地址");return}try{const t=await L({diagnosis_id:s.diagnosisId});await w({diagnosis_id:s.diagnosisId,call_record_id:Number((t==null?void 0:t.id)||0),file_url:e}),d.msgSuccess("视频回放上传成功"),await u()}catch(t){d.msgError((t==null?void 0:t.message)||"写入回放失败")}}async function S(a,e){const t=b(e);if(!t){d.msgError("上传成功但未返回视频地址");return}try{await w({diagnosis_id:s.diagnosisId,call_record_id:Number(a.id||0),file_url:t}),d.msgSuccess("视频回放上传成功"),await u()}catch(o){d.msgError((o==null?void 0:o.message)||"写入回放失败")}}function b(a){var e,t;return String(((e=a==null?void 0:a.data)==null?void 0:e.uri)||((t=a==null?void 0:a.data)==null?void 0:t.url)||"").trim()}return(a,e)=>{const t=O,o=P,E=T,N=V;return c(),_("div",j,[p.readOnly?v("",!0):(c(),_("div",q,[r(h,{ref_key:"toolbarUploadRef",ref:U,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:I},{default:l(()=>[r(t,{type:"primary"},{default:l(()=>[...e[0]||(e[0]=[m("上传视频",-1)])]),_:1})]),_:1},512)])),Q((c(),k(E,{data:g.value,border:"",stripe:""},{empty:l(()=>[y("div",A,[e[1]||(e[1]=y("div",{class:"call-record-empty__title"},"暂无通话记录",-1)),y("div",F,n(p.readOnly?"暂无录制回放数据。":"现在可以直接点击上方“上传视频”。系统会自动生成一条默认通话记录来承载回放。"),1)])]),default:l(()=>[r(o,{label:"录制回放","min-width":"320"},{default:l(({row:i})=>[r(z,{"record-id":i.id,urls:i.recording_urls_list},null,8,["record-id","urls"])]),_:1}),r(o,{label:"开始时间",width:"170",prop:"start_time_text"}),r(o,{label:"结束时间",width:"170",prop:"end_time_text"}),r(o,{label:"通话类型",width:"100"},{default:l(({row:i})=>[m(n(i.call_type===1?"语音":"视频"),1)]),_:1}),r(o,{label:"房间号",width:"180"},{default:l(({row:i})=>[i.room_id?(c(),_("span",K,n(i.room_id),1)):(c(),_("span",W,"—"))]),_:1}),r(o,{label:"时长",width:"110",prop:"duration_text"}),r(o,{label:"状态",width:"90"},{default:l(({row:i})=>[m(n(C(i.status)),1)]),_:1}),r(o,{label:"录制",width:"100"},{default:l(({row:i})=>[m(n(i.recording_status_text||"—"),1)]),_:1}),p.readOnly?v("",!0):(c(),k(o,{key:0,label:"上传回放",width:"180"},{default:l(({row:i})=>[r(h,{type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:B=>S(i,B)},{default:l(()=>[r(t,{type:"primary",plain:"",size:"small"},{default:l(()=>[...e[2]||(e[2]=[m("上传视频",-1)])]),_:1})]),_:1},8,["onSuccess"])]),_:1}))]),_:1},8,["data"])),[[N,f.value]])])}}}),Mt=D(X,[["__scopeId","data-v-78d5c9e4"]]);export{Mt as default}; +import{i as O,N as T,O as P,M as V}from"./element-plus-DGP1XOrU.js";import z from"./RecordingPlaybackBlock-Llmd2S_t.js";import{U as h}from"./index-BIgtwj7l.js";import{k as d,_ as D}from"./index-J_eFER10.js";import{ak as G,al as w,am as L}from"./tcm-D-ZRccbe.js";import{f as M,aG as H,w as J,ak as c,I as _,a as r,aN as l,O as m,H as v,aP as Q,G as k,J as y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import{n as x}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./RecordingVideoPlayer-D28GF4NK.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const j={class:"call-record-panel"},q={key:0,class:"call-record-toolbar"},A={class:"call-record-empty"},F={class:"call-record-empty__desc"},K={key:0,class:"text-primary"},W={key:1,class:"text-gray-400"},X=M({__name:"CallRecordPanel",props:{diagnosisId:{},readOnly:{type:Boolean,default:!1}},setup(p,{expose:R}){const s=p,f=x(!1),g=x([]),U=H("toolbarUploadRef"),u=async()=>{if(s.diagnosisId){f.value=!0;try{g.value=await G({diagnosis_id:s.diagnosisId})||[]}catch(a){console.error(a),g.value=[]}finally{f.value=!1}}};J(()=>s.diagnosisId,()=>{u()},{immediate:!0}),R({refresh:u});function C(a){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[a]??"—"}async function I(a){const e=b(a);if(!e){d.msgError("上传成功但未返回视频地址");return}try{const t=await L({diagnosis_id:s.diagnosisId});await w({diagnosis_id:s.diagnosisId,call_record_id:Number((t==null?void 0:t.id)||0),file_url:e}),d.msgSuccess("视频回放上传成功"),await u()}catch(t){d.msgError((t==null?void 0:t.message)||"写入回放失败")}}async function S(a,e){const t=b(e);if(!t){d.msgError("上传成功但未返回视频地址");return}try{await w({diagnosis_id:s.diagnosisId,call_record_id:Number(a.id||0),file_url:t}),d.msgSuccess("视频回放上传成功"),await u()}catch(o){d.msgError((o==null?void 0:o.message)||"写入回放失败")}}function b(a){var e,t;return String(((e=a==null?void 0:a.data)==null?void 0:e.uri)||((t=a==null?void 0:a.data)==null?void 0:t.url)||"").trim()}return(a,e)=>{const t=O,o=P,E=T,N=V;return c(),_("div",j,[p.readOnly?v("",!0):(c(),_("div",q,[r(h,{ref_key:"toolbarUploadRef",ref:U,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:I},{default:l(()=>[r(t,{type:"primary"},{default:l(()=>[...e[0]||(e[0]=[m("上传视频",-1)])]),_:1})]),_:1},512)])),Q((c(),k(E,{data:g.value,border:"",stripe:""},{empty:l(()=>[y("div",A,[e[1]||(e[1]=y("div",{class:"call-record-empty__title"},"暂无通话记录",-1)),y("div",F,n(p.readOnly?"暂无录制回放数据。":"现在可以直接点击上方“上传视频”。系统会自动生成一条默认通话记录来承载回放。"),1)])]),default:l(()=>[r(o,{label:"录制回放","min-width":"320"},{default:l(({row:i})=>[r(z,{"record-id":i.id,urls:i.recording_urls_list},null,8,["record-id","urls"])]),_:1}),r(o,{label:"开始时间",width:"170",prop:"start_time_text"}),r(o,{label:"结束时间",width:"170",prop:"end_time_text"}),r(o,{label:"通话类型",width:"100"},{default:l(({row:i})=>[m(n(i.call_type===1?"语音":"视频"),1)]),_:1}),r(o,{label:"房间号",width:"180"},{default:l(({row:i})=>[i.room_id?(c(),_("span",K,n(i.room_id),1)):(c(),_("span",W,"—"))]),_:1}),r(o,{label:"时长",width:"110",prop:"duration_text"}),r(o,{label:"状态",width:"90"},{default:l(({row:i})=>[m(n(C(i.status)),1)]),_:1}),r(o,{label:"录制",width:"100"},{default:l(({row:i})=>[m(n(i.recording_status_text||"—"),1)]),_:1}),p.readOnly?v("",!0):(c(),k(o,{key:0,label:"上传回放",width:"180"},{default:l(({row:i})=>[r(h,{type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:B=>S(i,B)},{default:l(()=>[r(t,{type:"primary",plain:"",size:"small"},{default:l(()=>[...e[2]||(e[2]=[m("上传视频",-1)])]),_:1})]),_:1},8,["onSuccess"])]),_:1}))]),_:1},8,["data"])),[[N,f.value]])])}}}),Mt=D(X,[["__scopeId","data-v-78d5c9e4"]]);export{Mt as default}; diff --git a/server/public/admin/assets/CaseRecordList-B8mV3RcM.js b/server/public/admin/assets/CaseRecordList-UyYqRkBS.js similarity index 96% rename from server/public/admin/assets/CaseRecordList-B8mV3RcM.js rename to server/public/admin/assets/CaseRecordList-UyYqRkBS.js index 6c53dc449..ca0c78804 100644 --- a/server/public/admin/assets/CaseRecordList-B8mV3RcM.js +++ b/server/public/admin/assets/CaseRecordList-UyYqRkBS.js @@ -1 +1 @@ -import{i as V,M as D,O as L,U as O,N as T,X as z}from"./element-plus-DGP1XOrU.js";import{an as M}from"./tcm-CEIBuAeK.js";import{f as P,b as F,w as j,ak as a,I as n,a as i,aN as s,O as m,H as w,aP as A,G as g,F as H,J as R}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{_ as G}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"case-record-list"},Q={key:0,class:"mb-3 flex justify-end"},U={key:0},X={key:1,class:"text-gray-400"},Y={class:"void-detail text-xs text-gray-500 mt-1"},q=P({__name:"CaseRecordList",props:{diagnosisId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},emits:["view","openPrescription"],setup(y,{expose:x,emit:C}){const _=y,h=C,l=k([]),p=k(!1),u=async()=>{if(_.diagnosisId){p.value=!0;try{const e=await M({diagnosis_id:_.diagnosisId});l.value=Array.isArray(e)?e:[]}catch(e){console.error("获取病历记录失败:",e),l.value=[]}finally{p.value=!1}}},S=e=>{if(!e)return"";const t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`},$=e=>{h("view",e)},B=()=>{h("openPrescription")};return F(()=>{u()}),j(()=>_.diagnosisId,()=>{u()}),x({refresh:u}),(e,t)=>{const b=V,r=L,v=O,E=T,N=z,I=D;return a(),n("div",J,[y.readOnly?w("",!0):(a(),n("div",Q,[i(b,{type:"primary",size:"small",onClick:B},{default:s(()=>[...t[0]||(t[0]=[m("开方",-1)])]),_:1})])),A((a(),g(E,{data:d(l),border:""},{default:s(()=>[i(r,{prop:"prescription_date",label:"就诊日期",width:"120"}),i(r,{prop:"visit_no",label:"门诊号",width:"120"}),i(r,{prop:"clinical_diagnosis",label:"临床诊断","min-width":"160","show-overflow-tooltip":""}),i(r,{label:"处方摘要","min-width":"180"},{default:s(({row:o})=>[o.herbs&&o.herbs.length?(a(),n("span",U,c(o.herbs.slice(0,3).map(f=>`${f.name}${f.dosage}克`).join("、"))+c(o.herbs.length>3?"...":""),1)):(a(),n("span",X,"—"))]),_:1}),i(r,{prop:"doctor_name",label:"医师",width:"90","show-overflow-tooltip":""}),i(r,{label:"状态",width:"140",align:"center"},{default:s(({row:o})=>[o.void_status===1?(a(),n(H,{key:0},[i(v,{type:"danger",size:"small"},{default:s(()=>[...t[1]||(t[1]=[m("已作废",-1)])]),_:1}),R("div",Y,c(o.void_by_name||"—")+" "+c(S(o.void_time)),1)],64)):(a(),g(v,{key:1,type:"success",size:"small"},{default:s(()=>[...t[2]||(t[2]=[m("正常",-1)])]),_:1}))]),_:1}),i(r,{label:"操作",width:"120",fixed:"right"},{default:s(({row:o})=>[i(b,{link:"",type:"primary",size:"small",onClick:f=>$(o)},{default:s(()=>[...t[3]||(t[3]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[I,d(p)]]),!d(p)&&d(l).length===0?(a(),g(N,{key:1,description:"暂无病历记录,开方后会自动显示",class:"mt-4"})):w("",!0)])}}}),Tt=G(q,[["__scopeId","data-v-043d2738"]]);export{Tt as default}; +import{i as V,M as D,O as L,U as O,N as T,X as z}from"./element-plus-DGP1XOrU.js";import{an as M}from"./tcm-D-ZRccbe.js";import{f as P,b as F,w as j,ak as a,I as n,a as i,aN as s,O as m,H as w,aP as A,G as g,F as H,J as R}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{_ as G}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"case-record-list"},Q={key:0,class:"mb-3 flex justify-end"},U={key:0},X={key:1,class:"text-gray-400"},Y={class:"void-detail text-xs text-gray-500 mt-1"},q=P({__name:"CaseRecordList",props:{diagnosisId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},emits:["view","openPrescription"],setup(y,{expose:x,emit:C}){const _=y,h=C,l=k([]),p=k(!1),u=async()=>{if(_.diagnosisId){p.value=!0;try{const e=await M({diagnosis_id:_.diagnosisId});l.value=Array.isArray(e)?e:[]}catch(e){console.error("获取病历记录失败:",e),l.value=[]}finally{p.value=!1}}},S=e=>{if(!e)return"";const t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`},$=e=>{h("view",e)},B=()=>{h("openPrescription")};return F(()=>{u()}),j(()=>_.diagnosisId,()=>{u()}),x({refresh:u}),(e,t)=>{const b=V,r=L,v=O,E=T,N=z,I=D;return a(),n("div",J,[y.readOnly?w("",!0):(a(),n("div",Q,[i(b,{type:"primary",size:"small",onClick:B},{default:s(()=>[...t[0]||(t[0]=[m("开方",-1)])]),_:1})])),A((a(),g(E,{data:d(l),border:""},{default:s(()=>[i(r,{prop:"prescription_date",label:"就诊日期",width:"120"}),i(r,{prop:"visit_no",label:"门诊号",width:"120"}),i(r,{prop:"clinical_diagnosis",label:"临床诊断","min-width":"160","show-overflow-tooltip":""}),i(r,{label:"处方摘要","min-width":"180"},{default:s(({row:o})=>[o.herbs&&o.herbs.length?(a(),n("span",U,c(o.herbs.slice(0,3).map(f=>`${f.name}${f.dosage}克`).join("、"))+c(o.herbs.length>3?"...":""),1)):(a(),n("span",X,"—"))]),_:1}),i(r,{prop:"doctor_name",label:"医师",width:"90","show-overflow-tooltip":""}),i(r,{label:"状态",width:"140",align:"center"},{default:s(({row:o})=>[o.void_status===1?(a(),n(H,{key:0},[i(v,{type:"danger",size:"small"},{default:s(()=>[...t[1]||(t[1]=[m("已作废",-1)])]),_:1}),R("div",Y,c(o.void_by_name||"—")+" "+c(S(o.void_time)),1)],64)):(a(),g(v,{key:1,type:"success",size:"small"},{default:s(()=>[...t[2]||(t[2]=[m("正常",-1)])]),_:1}))]),_:1}),i(r,{label:"操作",width:"120",fixed:"right"},{default:s(({row:o})=>[i(b,{link:"",type:"primary",size:"small",onClick:f=>$(o)},{default:s(()=>[...t[3]||(t[3]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[I,d(p)]]),!d(p)&&d(l).length===0?(a(),g(N,{key:1,description:"暂无病历记录,开方后会自动显示",class:"mt-4"})):w("",!0)])}}}),Tt=G(q,[["__scopeId","data-v-043d2738"]]);export{Tt as default}; diff --git a/server/public/admin/assets/DailyMatrix-UhX8pyGC.js b/server/public/admin/assets/DailyMatrix-DtyPece3.js similarity index 98% rename from server/public/admin/assets/DailyMatrix-UhX8pyGC.js rename to server/public/admin/assets/DailyMatrix-DtyPece3.js index b2946957a..ff3646273 100644 --- a/server/public/admin/assets/DailyMatrix-UhX8pyGC.js +++ b/server/public/admin/assets/DailyMatrix-DtyPece3.js @@ -1,2 +1,2 @@ -import{G as dl,F as ml,i as pl,N as fl,O as vl,r as _l,W as gl,D as cl,B as yl,S as bl,aa as kl,h as Vl,C as xl,I as wl,Q as Dl,R as Rl,M as Sl,X as Cl}from"./element-plus-DGP1XOrU.js";import{_ as Ul}from"./picker-C0hwSppU.js";import{H as Tl}from"./vue-echarts-BNtg2q_G.js";import El from"./DiagnosisTodoList-CFEYln83.js";import{h as Hl}from"./perm-CTlz8z1G.js";import{Z as Ml,_ as Nl,$ as Yl,a0 as hl,a1 as Wl,a2 as Bl,a3 as $l,a4 as Al,a5 as Fl}from"./tcm-CEIBuAeK.js";import{c as Il,f as Ll,d as Pl,e as ql,b as Ol}from"./blood-thresholds-CJ1fqMjh.js";import{k as C,_ as zl}from"./index-fRv3NTFQ.js";import{f as Gl,w as Ql,n as ce,b as Jl,d as Xl,aP as Zl,ak as v,I as y,J as _,a,aN as i,O as g,G as U,H as T,F as q,ap as ye,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{n as c,y as jl}from"./@vue/reactivity-DiY1c2vO.js";import{o as Kl,Q as se}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ea={class:"daily-matrix"},la={class:"daily-matrix__toolbar"},aa={class:"daily-matrix__toolbar-left"},ta={key:0,class:"daily-matrix__toolbar-right"},oa={key:0,class:"daily-matrix__legend"},na={key:1,class:"daily-matrix__toolbar-right"},ia={key:0,class:"daily-matrix__legend"},sa=["onClick"],ra={class:"daily-matrix__tracking-tooltip"},ua={class:"daily-matrix__tracking-preview"},da={key:0,class:"daily-matrix__cell-up"},ma={class:"daily-matrix__chart"},pa={key:0,class:"daily-matrix__todo"},fa={class:"daily-matrix__tracking-existing"},va=120,_a=Gl({__name:"DailyMatrix",props:{diagnosisId:{},patientId:{},age:{default:void 0},readOnly:{type:Boolean,default:!1},patientName:{default:""}},setup(he,{expose:We}){const Be=["tcm.diagnosis/dailyRecord"],D=he,R=d(()=>Number(D.diagnosisId||0)),O=d(()=>Number(D.patientId||0)),re=d(()=>!!D.readOnly),$e=d(()=>D.patientName||""),be=d(()=>Hl(Be)),E=d(()=>be.value&&!re.value),Ae=d(()=>be.value),ue=c(!1),H=c("7"),$=c(null),A=c([]),z=c([]),G=c([]),Q=c([]),N=c(!1),Y=c(!1),h=c(!1),W=c(!1),de=c(!1),me=c(!1),pe=c(!1),fe=c(!1),r=c(Z()),m=c(j()),p=c(K()),b=c({note_date:"",existing_content:"",content:""}),Fe=d(()=>r.value.id?"编辑血糖血压记录":"新增血糖血压记录"),Ie=d(()=>m.value.id?"编辑饮食记录":"新增饮食记录"),Le=d(()=>p.value.id?"编辑运动记录":"新增运动记录"),J=d(()=>F(new Date)),B=d(()=>!re.value&&b.value.note_date===J.value),Pe=d(()=>B.value?"新增/追加跟踪备注":"查看跟踪备注"),ke=c(null),Ve=c(0),qe=[{key:"fasting",label:"空腹血糖"},{key:"postprandial",label:"餐后2h血糖"},{key:"other",label:"其他血糖"},{key:"bp",label:"血压"},{key:"western",label:"西药"},{key:"insulin",label:"胰岛素"},{key:"breakfast",label:"早餐"},{key:"lunch",label:"午餐"},{key:"dinner",label:"晚餐"},{key:"exercise",label:"运动"},{key:"tracking",label:"跟踪备注"}],Oe=d(()=>[...qe]),ze=d(()=>{const t=L.value.length;if(t<=0||t>7)return 100;const e=Math.max(Ve.value-va-2,0),l=e>0?Math.floor(e/t):100;return Math.max(100,l)});let X=0;function F(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function xe(t){return new Date(`${t}T00:00:00`)}function I(){var t;Ve.value=((t=ke.value)==null?void 0:t.clientWidth)||0}function Z(t=""){return{id:"",diagnosis_id:R.value,patient_id:O.value,record_date:t,record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:"",systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""}}function j(t=""){return{id:"",diagnosis_id:R.value,patient_id:O.value,record_date:t,breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}}function K(t=""){return{id:"",diagnosis_id:R.value,patient_id:O.value,record_date:t,exercise_type:"",duration:0,intensity:1,images:[],note:""}}function Ge(t){return t.getTime()>Date.now()}function we(t){if(t==="custom"){const[f,s]=$.value||["",""];return{start:f||"",end:s||""}}const e=t==="7"?7:30,l=new Date;l.setHours(0,0,0,0);const n=new Date(l);return n.setDate(n.getDate()-(e-1)),{start:F(n),end:F(l)}}const De=d(()=>we(H.value)),L=d(()=>{const{start:t,end:e}=De.value;if(!t||!e)return[];const l=[],n=xe(e),f=xe(t).getTime();for(;n.getTime()>=f;)l.push(F(n)),n.setDate(n.getDate()-1);return l}),Re=d(()=>A.value.some(t=>Number(t.source)===1)),ve=d(()=>{const t=new Map;for(const e of A.value){const l=String(e.record_date||"");if(!l)continue;t.has(l)||t.set(l,{id:e.id,diagnosis_id:e.diagnosis_id,patient_id:e.patient_id,record_date:l,record_time:e.record_time||"",record_date_ts:e.record_date_ts,has_patient_self:!1});const n=t.get(l),f=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin","remark"];for(const s of f)(n[s]===void 0||n[s]===null||n[s]==="")&&e[s]!==void 0&&e[s]!==null&&e[s]!==""&&(n[s]=e[s]);Number(e.source)===1&&(n.has_patient_self=!0)}return t}),Se=d(()=>{const t=new Map;for(const e of z.value){const l=String(e.record_date||"");!l||t.has(l)||t.set(l,e)}return t}),Ce=d(()=>{const t=new Map;for(const e of G.value){const l=String(e.record_date||"");!l||t.has(l)||t.set(l,e)}return t}),ee=d(()=>{const t=new Map;for(const e of Q.value){const l=String(e.note_date||"");!l||t.has(l)||t.set(l,e)}return t}),Ue=d(()=>[...L.value].reverse()),le=d(()=>Ue.value.reduce((t,e)=>{const l=ve.value.get(e);return t.fasting.push(Ee(l==null?void 0:l.fasting_blood_sugar)),t.postprandial.push(Ee(l==null?void 0:l.postprandial_blood_sugar)),t},{fasting:[],postprandial:[]})),Qe=d(()=>[...le.value.fasting,...le.value.postprandial].some(t=>t!=null)),Je=d(()=>({tooltip:{trigger:"axis"},legend:{top:0,data:["空腹血糖","餐后血糖"]},grid:{left:24,right:24,top:52,bottom:20,containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:Ue.value.map(t=>Te(t))},yAxis:{type:"value",name:"mmol/L",splitLine:{lineStyle:{color:"#e5e7eb"}}},series:[{name:"空腹血糖",type:"line",smooth:!0,connectNulls:!0,data:le.value.fasting,symbolSize:7,itemStyle:{color:"#2563eb"},lineStyle:{width:3,color:"#2563eb"}},{name:"餐后血糖",type:"line",smooth:!0,connectNulls:!0,data:le.value.postprandial,symbolSize:7,itemStyle:{color:"#f97316"},lineStyle:{width:3,color:"#f97316"}}]}));function Te(t){return t.slice(5)}function Ee(t){if(t===""||t==null)return null;const e=Number(t);return!Number.isFinite(e)||e===0?null:e}function S(t,e){const l=ve.value.get(e),n=Se.value.get(e),f=Ce.value.get(e),s=ee.value.get(e),M=!!(l!=null&&l.has_patient_self);switch(t){case"fasting":return{value:(l==null?void 0:l.fasting_blood_sugar)!=null&&l.fasting_blood_sugar!==""?String(l.fasting_blood_sugar):"",isHigh:Ol(l==null?void 0:l.fasting_blood_sugar,D.age),hasRecord:!!l&&l.fasting_blood_sugar!=null&&l.fasting_blood_sugar!=="",isPatientSelf:M};case"postprandial":return{value:(l==null?void 0:l.postprandial_blood_sugar)!=null&&l.postprandial_blood_sugar!==""?String(l.postprandial_blood_sugar):"",isHigh:ql(l==null?void 0:l.postprandial_blood_sugar,D.age),hasRecord:!!l&&l.postprandial_blood_sugar!=null&&l.postprandial_blood_sugar!=="",isPatientSelf:M};case"other":return{value:(l==null?void 0:l.other_blood_sugar)!=null&&l.other_blood_sugar!==""?String(l.other_blood_sugar):"",isHigh:Pl(l==null?void 0:l.other_blood_sugar,D.age),hasRecord:!!l&&l.other_blood_sugar!=null&&l.other_blood_sugar!=="",isPatientSelf:M};case"bp":return{value:l&&(l.systolic_pressure||l.diastolic_pressure)?Ll(l):"",isHigh:Il(l),hasRecord:!!l&&!!(l.systolic_pressure||l.diastolic_pressure),isPatientSelf:M};case"western":return{value:(l==null?void 0:l.western_medicine)||"",isHigh:!1,hasRecord:!!(l!=null&&l.western_medicine)};case"insulin":return{value:(l==null?void 0:l.insulin)||"",isHigh:!1,hasRecord:!!(l!=null&&l.insulin)};case"breakfast":return{value:n!=null&&n.breakfast||n!=null&&n.breakfast_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.breakfast||n!=null&&n.breakfast_foods)};case"lunch":return{value:n!=null&&n.lunch||n!=null&&n.lunch_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.lunch||n!=null&&n.lunch_foods)};case"dinner":return{value:n!=null&&n.dinner||n!=null&&n.dinner_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.dinner||n!=null&&n.dinner_foods)};case"exercise":return{value:f!=null&&f.duration?`${f.duration}min`:"",isHigh:!1,hasRecord:!!(f!=null&&f.id)};case"tracking":return{value:s!=null&&s.content?He(s.content):"",isHigh:!1,hasRecord:!!(s!=null&&s.content)};default:return{value:"",isHigh:!1,hasRecord:!1}}}async function V(){if(!R.value){A.value=[],z.value=[],G.value=[],Q.value=[];return}const{start:t,end:e}=De.value;if(H.value==="custom"&&(!t||!e))return;const l=++X;ue.value=!0;try{const n=await Ml({id:R.value,start_date:t,end_date:e}),f=await Nl({diagnosis_id:R.value});if(l!==X)return;A.value=Array.isArray(n==null?void 0:n.blood_records)?n.blood_records:[],z.value=Array.isArray(n==null?void 0:n.diet_records)?n.diet_records:[],G.value=Array.isArray(n==null?void 0:n.exercise_records)?n.exercise_records:[],Q.value=Array.isArray(f)?f.filter(s=>L.value.includes(String((s==null?void 0:s.note_date)||""))):[]}catch{l===X&&(A.value=[],z.value=[],G.value=[],Q.value=[])}finally{l===X&&(ue.value=!1)}}function Xe(){if(H.value==="custom"&&!$.value){const t=we("7");$.value=[t.start,t.end]}V(),ce(I)}function Ze(){H.value==="custom"&&V()}function ae(t){if(!E.value)return;const e=L.value[0]||F(new Date);if(t==="blood"){r.value=Z(e),N.value=!0;return}if(t==="diet"){m.value=j(e),Y.value=!0;return}if(t==="tracking"){const l=J.value,n=ee.value.get(l);b.value={note_date:l,existing_content:String((n==null?void 0:n.content)||""),content:""},W.value=!0;return}p.value=K(e),h.value=!0}function je(t,e){if(!E.value)return;if(["fasting","postprandial","other","bp","western","insulin"].includes(t)){const n=ve.value.get(e);r.value=n?{...Z(e),...n}:Z(e),N.value=!0;return}if(["breakfast","lunch","dinner"].includes(t)){const n=Se.value.get(e);m.value=n?{...j(e),...n}:j(e),Y.value=!0;return}if(t==="tracking"){const n=ee.value.get(e);if(!n&&e!==J.value)return;b.value={note_date:e,existing_content:String((n==null?void 0:n.content)||""),content:""},W.value=!0;return}const l=Ce.value.get(e);p.value=l?{...K(e),...l}:K(e),h.value=!0}async function Ke(){if(!r.value.record_date){C.msgWarning("请选择记录日期");return}de.value=!0;try{r.value.id?await Yl(r.value):await hl(r.value),N.value=!1,await V()}finally{de.value=!1}}async function el(){if(!m.value.record_date){C.msgWarning("请选择记录日期");return}me.value=!0;try{m.value.id?await Wl(m.value):await Bl(m.value),Y.value=!1,await V()}finally{me.value=!1}}async function ll(){if(!p.value.record_date){C.msgWarning("请选择记录日期");return}if(!p.value.exercise_type){C.msgWarning("请选择运动类型");return}if(!p.value.duration){C.msgWarning("请输入运动时长");return}pe.value=!0;try{p.value.id?await $l(p.value):await Al(p.value),h.value=!1,await V()}finally{pe.value=!1}}async function al(){if(!b.value.note_date){C.msgWarning("请选择记录日期");return}if(!B.value){C.msgWarning("仅支持给今天追加跟踪备注");return}const t=b.value.content.trim();if(!t){C.msgWarning("请输入跟踪备注");return}fe.value=!0;try{await Fl({diagnosis_id:R.value,tracking_content:t}),W.value=!1,await V()}finally{fe.value=!1}}function He(t){return _e(t)[0]||""}function _e(t){return t.split(` +import{G as dl,F as ml,i as pl,N as fl,O as vl,r as _l,W as gl,D as cl,B as yl,S as bl,aa as kl,h as Vl,C as xl,I as wl,Q as Dl,R as Rl,M as Sl,X as Cl}from"./element-plus-DGP1XOrU.js";import{_ as Ul}from"./picker-lbwHqE-a.js";import{H as Tl}from"./vue-echarts-BNtg2q_G.js";import El from"./DiagnosisTodoList-CqxCRYim.js";import{h as Hl}from"./perm-8cp9D7Ag.js";import{Z as Ml,_ as Nl,$ as Yl,a0 as hl,a1 as Wl,a2 as Bl,a3 as $l,a4 as Al,a5 as Fl}from"./tcm-D-ZRccbe.js";import{c as Il,f as Ll,d as Pl,e as ql,b as Ol}from"./blood-thresholds-CJ1fqMjh.js";import{k as C,_ as zl}from"./index-J_eFER10.js";import{f as Gl,w as Ql,n as ce,b as Jl,d as Xl,aP as Zl,ak as v,I as y,J as _,a,aN as i,O as g,G as U,H as T,F as q,ap as ye,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{n as c,y as jl}from"./@vue/reactivity-DiY1c2vO.js";import{o as Kl,Q as se}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ea={class:"daily-matrix"},la={class:"daily-matrix__toolbar"},aa={class:"daily-matrix__toolbar-left"},ta={key:0,class:"daily-matrix__toolbar-right"},oa={key:0,class:"daily-matrix__legend"},na={key:1,class:"daily-matrix__toolbar-right"},ia={key:0,class:"daily-matrix__legend"},sa=["onClick"],ra={class:"daily-matrix__tracking-tooltip"},ua={class:"daily-matrix__tracking-preview"},da={key:0,class:"daily-matrix__cell-up"},ma={class:"daily-matrix__chart"},pa={key:0,class:"daily-matrix__todo"},fa={class:"daily-matrix__tracking-existing"},va=120,_a=Gl({__name:"DailyMatrix",props:{diagnosisId:{},patientId:{},age:{default:void 0},readOnly:{type:Boolean,default:!1},patientName:{default:""}},setup(he,{expose:We}){const Be=["tcm.diagnosis/dailyRecord"],D=he,R=d(()=>Number(D.diagnosisId||0)),O=d(()=>Number(D.patientId||0)),re=d(()=>!!D.readOnly),$e=d(()=>D.patientName||""),be=d(()=>Hl(Be)),E=d(()=>be.value&&!re.value),Ae=d(()=>be.value),ue=c(!1),H=c("7"),$=c(null),A=c([]),z=c([]),G=c([]),Q=c([]),N=c(!1),Y=c(!1),h=c(!1),W=c(!1),de=c(!1),me=c(!1),pe=c(!1),fe=c(!1),r=c(Z()),m=c(j()),p=c(K()),b=c({note_date:"",existing_content:"",content:""}),Fe=d(()=>r.value.id?"编辑血糖血压记录":"新增血糖血压记录"),Ie=d(()=>m.value.id?"编辑饮食记录":"新增饮食记录"),Le=d(()=>p.value.id?"编辑运动记录":"新增运动记录"),J=d(()=>F(new Date)),B=d(()=>!re.value&&b.value.note_date===J.value),Pe=d(()=>B.value?"新增/追加跟踪备注":"查看跟踪备注"),ke=c(null),Ve=c(0),qe=[{key:"fasting",label:"空腹血糖"},{key:"postprandial",label:"餐后2h血糖"},{key:"other",label:"其他血糖"},{key:"bp",label:"血压"},{key:"western",label:"西药"},{key:"insulin",label:"胰岛素"},{key:"breakfast",label:"早餐"},{key:"lunch",label:"午餐"},{key:"dinner",label:"晚餐"},{key:"exercise",label:"运动"},{key:"tracking",label:"跟踪备注"}],Oe=d(()=>[...qe]),ze=d(()=>{const t=L.value.length;if(t<=0||t>7)return 100;const e=Math.max(Ve.value-va-2,0),l=e>0?Math.floor(e/t):100;return Math.max(100,l)});let X=0;function F(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function xe(t){return new Date(`${t}T00:00:00`)}function I(){var t;Ve.value=((t=ke.value)==null?void 0:t.clientWidth)||0}function Z(t=""){return{id:"",diagnosis_id:R.value,patient_id:O.value,record_date:t,record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:"",systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""}}function j(t=""){return{id:"",diagnosis_id:R.value,patient_id:O.value,record_date:t,breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}}function K(t=""){return{id:"",diagnosis_id:R.value,patient_id:O.value,record_date:t,exercise_type:"",duration:0,intensity:1,images:[],note:""}}function Ge(t){return t.getTime()>Date.now()}function we(t){if(t==="custom"){const[f,s]=$.value||["",""];return{start:f||"",end:s||""}}const e=t==="7"?7:30,l=new Date;l.setHours(0,0,0,0);const n=new Date(l);return n.setDate(n.getDate()-(e-1)),{start:F(n),end:F(l)}}const De=d(()=>we(H.value)),L=d(()=>{const{start:t,end:e}=De.value;if(!t||!e)return[];const l=[],n=xe(e),f=xe(t).getTime();for(;n.getTime()>=f;)l.push(F(n)),n.setDate(n.getDate()-1);return l}),Re=d(()=>A.value.some(t=>Number(t.source)===1)),ve=d(()=>{const t=new Map;for(const e of A.value){const l=String(e.record_date||"");if(!l)continue;t.has(l)||t.set(l,{id:e.id,diagnosis_id:e.diagnosis_id,patient_id:e.patient_id,record_date:l,record_time:e.record_time||"",record_date_ts:e.record_date_ts,has_patient_self:!1});const n=t.get(l),f=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin","remark"];for(const s of f)(n[s]===void 0||n[s]===null||n[s]==="")&&e[s]!==void 0&&e[s]!==null&&e[s]!==""&&(n[s]=e[s]);Number(e.source)===1&&(n.has_patient_self=!0)}return t}),Se=d(()=>{const t=new Map;for(const e of z.value){const l=String(e.record_date||"");!l||t.has(l)||t.set(l,e)}return t}),Ce=d(()=>{const t=new Map;for(const e of G.value){const l=String(e.record_date||"");!l||t.has(l)||t.set(l,e)}return t}),ee=d(()=>{const t=new Map;for(const e of Q.value){const l=String(e.note_date||"");!l||t.has(l)||t.set(l,e)}return t}),Ue=d(()=>[...L.value].reverse()),le=d(()=>Ue.value.reduce((t,e)=>{const l=ve.value.get(e);return t.fasting.push(Ee(l==null?void 0:l.fasting_blood_sugar)),t.postprandial.push(Ee(l==null?void 0:l.postprandial_blood_sugar)),t},{fasting:[],postprandial:[]})),Qe=d(()=>[...le.value.fasting,...le.value.postprandial].some(t=>t!=null)),Je=d(()=>({tooltip:{trigger:"axis"},legend:{top:0,data:["空腹血糖","餐后血糖"]},grid:{left:24,right:24,top:52,bottom:20,containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:Ue.value.map(t=>Te(t))},yAxis:{type:"value",name:"mmol/L",splitLine:{lineStyle:{color:"#e5e7eb"}}},series:[{name:"空腹血糖",type:"line",smooth:!0,connectNulls:!0,data:le.value.fasting,symbolSize:7,itemStyle:{color:"#2563eb"},lineStyle:{width:3,color:"#2563eb"}},{name:"餐后血糖",type:"line",smooth:!0,connectNulls:!0,data:le.value.postprandial,symbolSize:7,itemStyle:{color:"#f97316"},lineStyle:{width:3,color:"#f97316"}}]}));function Te(t){return t.slice(5)}function Ee(t){if(t===""||t==null)return null;const e=Number(t);return!Number.isFinite(e)||e===0?null:e}function S(t,e){const l=ve.value.get(e),n=Se.value.get(e),f=Ce.value.get(e),s=ee.value.get(e),M=!!(l!=null&&l.has_patient_self);switch(t){case"fasting":return{value:(l==null?void 0:l.fasting_blood_sugar)!=null&&l.fasting_blood_sugar!==""?String(l.fasting_blood_sugar):"",isHigh:Ol(l==null?void 0:l.fasting_blood_sugar,D.age),hasRecord:!!l&&l.fasting_blood_sugar!=null&&l.fasting_blood_sugar!=="",isPatientSelf:M};case"postprandial":return{value:(l==null?void 0:l.postprandial_blood_sugar)!=null&&l.postprandial_blood_sugar!==""?String(l.postprandial_blood_sugar):"",isHigh:ql(l==null?void 0:l.postprandial_blood_sugar,D.age),hasRecord:!!l&&l.postprandial_blood_sugar!=null&&l.postprandial_blood_sugar!=="",isPatientSelf:M};case"other":return{value:(l==null?void 0:l.other_blood_sugar)!=null&&l.other_blood_sugar!==""?String(l.other_blood_sugar):"",isHigh:Pl(l==null?void 0:l.other_blood_sugar,D.age),hasRecord:!!l&&l.other_blood_sugar!=null&&l.other_blood_sugar!=="",isPatientSelf:M};case"bp":return{value:l&&(l.systolic_pressure||l.diastolic_pressure)?Ll(l):"",isHigh:Il(l),hasRecord:!!l&&!!(l.systolic_pressure||l.diastolic_pressure),isPatientSelf:M};case"western":return{value:(l==null?void 0:l.western_medicine)||"",isHigh:!1,hasRecord:!!(l!=null&&l.western_medicine)};case"insulin":return{value:(l==null?void 0:l.insulin)||"",isHigh:!1,hasRecord:!!(l!=null&&l.insulin)};case"breakfast":return{value:n!=null&&n.breakfast||n!=null&&n.breakfast_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.breakfast||n!=null&&n.breakfast_foods)};case"lunch":return{value:n!=null&&n.lunch||n!=null&&n.lunch_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.lunch||n!=null&&n.lunch_foods)};case"dinner":return{value:n!=null&&n.dinner||n!=null&&n.dinner_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.dinner||n!=null&&n.dinner_foods)};case"exercise":return{value:f!=null&&f.duration?`${f.duration}min`:"",isHigh:!1,hasRecord:!!(f!=null&&f.id)};case"tracking":return{value:s!=null&&s.content?He(s.content):"",isHigh:!1,hasRecord:!!(s!=null&&s.content)};default:return{value:"",isHigh:!1,hasRecord:!1}}}async function V(){if(!R.value){A.value=[],z.value=[],G.value=[],Q.value=[];return}const{start:t,end:e}=De.value;if(H.value==="custom"&&(!t||!e))return;const l=++X;ue.value=!0;try{const n=await Ml({id:R.value,start_date:t,end_date:e}),f=await Nl({diagnosis_id:R.value});if(l!==X)return;A.value=Array.isArray(n==null?void 0:n.blood_records)?n.blood_records:[],z.value=Array.isArray(n==null?void 0:n.diet_records)?n.diet_records:[],G.value=Array.isArray(n==null?void 0:n.exercise_records)?n.exercise_records:[],Q.value=Array.isArray(f)?f.filter(s=>L.value.includes(String((s==null?void 0:s.note_date)||""))):[]}catch{l===X&&(A.value=[],z.value=[],G.value=[],Q.value=[])}finally{l===X&&(ue.value=!1)}}function Xe(){if(H.value==="custom"&&!$.value){const t=we("7");$.value=[t.start,t.end]}V(),ce(I)}function Ze(){H.value==="custom"&&V()}function ae(t){if(!E.value)return;const e=L.value[0]||F(new Date);if(t==="blood"){r.value=Z(e),N.value=!0;return}if(t==="diet"){m.value=j(e),Y.value=!0;return}if(t==="tracking"){const l=J.value,n=ee.value.get(l);b.value={note_date:l,existing_content:String((n==null?void 0:n.content)||""),content:""},W.value=!0;return}p.value=K(e),h.value=!0}function je(t,e){if(!E.value)return;if(["fasting","postprandial","other","bp","western","insulin"].includes(t)){const n=ve.value.get(e);r.value=n?{...Z(e),...n}:Z(e),N.value=!0;return}if(["breakfast","lunch","dinner"].includes(t)){const n=Se.value.get(e);m.value=n?{...j(e),...n}:j(e),Y.value=!0;return}if(t==="tracking"){const n=ee.value.get(e);if(!n&&e!==J.value)return;b.value={note_date:e,existing_content:String((n==null?void 0:n.content)||""),content:""},W.value=!0;return}const l=Ce.value.get(e);p.value=l?{...K(e),...l}:K(e),h.value=!0}async function Ke(){if(!r.value.record_date){C.msgWarning("请选择记录日期");return}de.value=!0;try{r.value.id?await Yl(r.value):await hl(r.value),N.value=!1,await V()}finally{de.value=!1}}async function el(){if(!m.value.record_date){C.msgWarning("请选择记录日期");return}me.value=!0;try{m.value.id?await Wl(m.value):await Bl(m.value),Y.value=!1,await V()}finally{me.value=!1}}async function ll(){if(!p.value.record_date){C.msgWarning("请选择记录日期");return}if(!p.value.exercise_type){C.msgWarning("请选择运动类型");return}if(!p.value.duration){C.msgWarning("请输入运动时长");return}pe.value=!0;try{p.value.id?await $l(p.value):await Al(p.value),h.value=!1,await V()}finally{pe.value=!1}}async function al(){if(!b.value.note_date){C.msgWarning("请选择记录日期");return}if(!B.value){C.msgWarning("仅支持给今天追加跟踪备注");return}const t=b.value.content.trim();if(!t){C.msgWarning("请输入跟踪备注");return}fe.value=!0;try{await Fl({diagnosis_id:R.value,tracking_content:t}),W.value=!1,await V()}finally{fe.value=!1}}function He(t){return _e(t)[0]||""}function _e(t){return t.split(` `).map(e=>e.trim()).filter(Boolean)}function te(t){var e;return String(((e=ee.value.get(t))==null?void 0:e.content)||"")}function tl(t){return He(t)}function ol(t,e){return E.value?t!=="tracking"?!0:e===J.value||!!te(e):!1}return Ql(()=>D.diagnosisId,t=>{t&&V(),ce(I)}),Jl(()=>{D.diagnosisId&&V(),ce(I),window.addEventListener("resize",I)}),Xl(()=>{window.removeEventListener("resize",I)}),We({refresh:V}),(t,e)=>{const l=ml,n=dl,f=bl,s=pl,M=vl,Me=_l,nl=fl,il=Cl,u=yl,sl=kl,P=Vl,x=xl,oe=cl,ne=gl,ge=wl,ie=Ul,w=Rl,Ne=Dl,rl=Sl;return Zl((v(),y("div",ea,[_("div",la,[_("div",aa,[a(n,{modelValue:H.value,"onUpdate:modelValue":e[0]||(e[0]=o=>H.value=o),onChange:Xe},{default:i(()=>[a(l,{value:"7"},{default:i(()=>[...e[40]||(e[40]=[g("最近7天",-1)])]),_:1}),a(l,{value:"30"},{default:i(()=>[...e[41]||(e[41]=[g("最近30天",-1)])]),_:1}),a(l,{value:"custom"},{default:i(()=>[...e[42]||(e[42]=[g("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),H.value==="custom"?(v(),U(f,{key:0,modelValue:$.value,"onUpdate:modelValue":e[1]||(e[1]=o=>$.value=o),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:!1,"disabled-date":Ge,onChange:Ze},null,8,["modelValue"])):T("",!0)]),E.value?(v(),y("div",ta,[Re.value?(v(),y("span",oa,[...e[43]||(e[43]=[_("span",{class:"daily-matrix__cell-patient"},"自录",-1),_("span",{class:"daily-matrix__legend-text"},"= 患者在小程序自录",-1)])])):T("",!0),a(s,{type:"primary",onClick:e[2]||(e[2]=o=>ae("blood"))},{default:i(()=>[...e[44]||(e[44]=[g("+血糖",-1)])]),_:1}),a(s,{onClick:e[3]||(e[3]=o=>ae("diet"))},{default:i(()=>[...e[45]||(e[45]=[g("+饮食",-1)])]),_:1}),a(s,{onClick:e[4]||(e[4]=o=>ae("exercise"))},{default:i(()=>[...e[46]||(e[46]=[g("+运动",-1)])]),_:1}),a(s,{onClick:e[5]||(e[5]=o=>ae("tracking"))},{default:i(()=>[...e[47]||(e[47]=[g("+备注",-1)])]),_:1}),a(s,{onClick:V},{default:i(()=>[...e[48]||(e[48]=[g("刷新",-1)])]),_:1})])):(v(),y("div",na,[Re.value?(v(),y("span",ia,[...e[49]||(e[49]=[_("span",{class:"daily-matrix__cell-patient"},"自录",-1),_("span",{class:"daily-matrix__legend-text"},"= 患者在小程序自录",-1)])])):T("",!0),a(s,{onClick:V},{default:i(()=>[...e[50]||(e[50]=[g("刷新",-1)])]),_:1})]))]),_("div",{ref_key:"tableWrapRef",ref:ke,class:"daily-matrix__table-wrap"},[a(nl,{data:Oe.value,border:"",stripe:"","row-key":"key",class:"daily-matrix__table","empty-text":"暂无记录"},{default:i(()=>[a(M,{prop:"label",label:"指标",fixed:"left",width:"120"}),(v(!0),y(q,null,ye(L.value,o=>(v(),U(M,{key:o,label:Te(o),"min-width":ze.value,align:"center"},{default:i(({row:k})=>[_("div",{class:Kl(["daily-matrix__cell",{"is-clickable":ol(k.key,o),"is-empty":!S(k.key,o).hasRecord,"is-high":S(k.key,o).isHigh,"is-patient-self":S(k.key,o).isPatientSelf&&S(k.key,o).hasRecord}]),onClick:Ye=>je(k.key,o)},[k.key==="tracking"&&te(o)?(v(),U(Me,{key:0,placement:"top",effect:"light","show-after":150},{content:i(()=>[_("div",ra,[(v(!0),y(q,null,ye(_e(te(o)),(Ye,ul)=>(v(),y("div",{key:`${o}-${ul}`,class:"daily-matrix__tracking-tooltip-line"},se(Ye),1))),128))])]),default:i(()=>[_("div",ua,se(tl(te(o))),1)]),_:2},1024)):S(k.key,o).value?(v(),y(q,{key:1},[_("span",null,se(S(k.key,o).value),1),S(k.key,o).isHigh?(v(),y("span",da,"↑")):T("",!0),S(k.key,o).isPatientSelf?(v(),U(Me,{key:1,content:"患者在小程序自录的数据",placement:"top","show-after":120},{default:i(()=>[...e[51]||(e[51]=[_("span",{class:"daily-matrix__cell-patient"},"自录",-1)])]),_:1})):T("",!0)],64)):(v(),y(q,{key:2},[g("—")],64))],10,sa)]),_:2},1032,["label","min-width"]))),128))]),_:1},8,["data"])],512),_("div",ma,[e[52]||(e[52]=_("div",{class:"daily-matrix__section-title"},"血糖趋势",-1)),Qe.value?(v(),U(jl(Tl),{key:0,class:"daily-matrix__chart-canvas",option:Je.value,autoresize:""},null,8,["option"])):(v(),U(il,{key:1,description:"当前时间范围暂无血糖数据","image-size":84}))]),Ae.value?(v(),y("div",pa,[e[53]||(e[53]=_("div",{class:"daily-matrix__section-title"},"待办事项",-1)),a(El,{"diagnosis-id":R.value,"patient-id":O.value,"patient-name":$e.value,"read-only":re.value},null,8,["diagnosis-id","patient-id","patient-name","read-only"])])):T("",!0),a(ne,{modelValue:N.value,"onUpdate:modelValue":e[17]||(e[17]=o=>N.value=o),title:Fe.value,width:"600px","close-on-click-modal":!1},{footer:i(()=>[a(s,{onClick:e[16]||(e[16]=o=>N.value=!1)},{default:i(()=>[...e[59]||(e[59]=[g("取消",-1)])]),_:1}),a(s,{type:"primary",loading:de.value,disabled:!E.value,onClick:Ke},{default:i(()=>[...e[60]||(e[60]=[g("确定",-1)])]),_:1},8,["loading","disabled"])]),default:i(()=>[a(oe,{model:r.value,"label-width":"120px"},{default:i(()=>[a(u,{label:"记录日期",required:""},{default:i(()=>[a(f,{modelValue:r.value.record_date,"onUpdate:modelValue":e[6]||(e[6]=o=>r.value.record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(u,{label:"记录时间"},{default:i(()=>[a(sl,{modelValue:r.value.record_time,"onUpdate:modelValue":e[7]||(e[7]=o=>r.value.record_time=o),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),a(u,{label:"空腹血糖"},{default:i(()=>[a(P,{modelValue:r.value.fasting_blood_sugar,"onUpdate:modelValue":e[8]||(e[8]=o=>r.value.fasting_blood_sugar=o),precision:2,step:.1,min:0,max:50},null,8,["modelValue"]),e[54]||(e[54]=_("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(u,{label:"餐后2小时血糖"},{default:i(()=>[a(P,{modelValue:r.value.postprandial_blood_sugar,"onUpdate:modelValue":e[9]||(e[9]=o=>r.value.postprandial_blood_sugar=o),precision:2,step:.1,min:0,max:50},null,8,["modelValue"]),e[55]||(e[55]=_("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(u,{label:"其他血糖"},{default:i(()=>[a(x,{modelValue:r.value.other_blood_sugar,"onUpdate:modelValue":e[10]||(e[10]=o=>r.value.other_blood_sugar=o),type:"number",style:{width:"200px"}},null,8,["modelValue"]),e[56]||(e[56]=_("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(u,{label:"收缩压(高压)"},{default:i(()=>[a(P,{modelValue:r.value.systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=o=>r.value.systolic_pressure=o),min:0,max:300},null,8,["modelValue"]),e[57]||(e[57]=_("span",{class:"ml-2"},"mmHg",-1))]),_:1}),a(u,{label:"舒张压(低压)"},{default:i(()=>[a(P,{modelValue:r.value.diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=o=>r.value.diastolic_pressure=o),min:0,max:200},null,8,["modelValue"]),e[58]||(e[58]=_("span",{class:"ml-2"},"mmHg",-1))]),_:1}),a(u,{label:"西药"},{default:i(()=>[a(x,{modelValue:r.value.western_medicine,"onUpdate:modelValue":e[13]||(e[13]=o=>r.value.western_medicine=o)},null,8,["modelValue"])]),_:1}),a(u,{label:"胰岛素"},{default:i(()=>[a(x,{modelValue:r.value.insulin,"onUpdate:modelValue":e[14]||(e[14]=o=>r.value.insulin=o)},null,8,["modelValue"])]),_:1}),a(u,{label:"备注"},{default:i(()=>[a(x,{modelValue:r.value.remark,"onUpdate:modelValue":e[15]||(e[15]=o=>r.value.remark=o),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(ne,{modelValue:Y.value,"onUpdate:modelValue":e[27]||(e[27]=o=>Y.value=o),title:Ie.value,width:"800px","close-on-click-modal":!1},{footer:i(()=>[a(s,{onClick:e[26]||(e[26]=o=>Y.value=!1)},{default:i(()=>[...e[64]||(e[64]=[g("取消",-1)])]),_:1}),a(s,{type:"primary",loading:me.value,disabled:!E.value,onClick:el},{default:i(()=>[...e[65]||(e[65]=[g("确定",-1)])]),_:1},8,["loading","disabled"])]),default:i(()=>[a(oe,{model:m.value,"label-width":"100px"},{default:i(()=>[a(u,{label:"记录日期",required:""},{default:i(()=>[a(f,{modelValue:m.value.record_date,"onUpdate:modelValue":e[18]||(e[18]=o=>m.value.record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(ge,{"content-position":"left"},{default:i(()=>[...e[61]||(e[61]=[g("早餐",-1)])]),_:1}),a(u,{label:"食物描述"},{default:i(()=>[a(x,{modelValue:m.value.breakfast_foods,"onUpdate:modelValue":e[19]||(e[19]=o=>m.value.breakfast_foods=o),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),a(u,{label:"图片"},{default:i(()=>[a(ie,{modelValue:m.value.breakfast_images,"onUpdate:modelValue":e[20]||(e[20]=o=>m.value.breakfast_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(ge,{"content-position":"left"},{default:i(()=>[...e[62]||(e[62]=[g("午餐",-1)])]),_:1}),a(u,{label:"食物描述"},{default:i(()=>[a(x,{modelValue:m.value.lunch_foods,"onUpdate:modelValue":e[21]||(e[21]=o=>m.value.lunch_foods=o),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),a(u,{label:"图片"},{default:i(()=>[a(ie,{modelValue:m.value.lunch_images,"onUpdate:modelValue":e[22]||(e[22]=o=>m.value.lunch_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(ge,{"content-position":"left"},{default:i(()=>[...e[63]||(e[63]=[g("晚餐",-1)])]),_:1}),a(u,{label:"食物描述"},{default:i(()=>[a(x,{modelValue:m.value.dinner_foods,"onUpdate:modelValue":e[23]||(e[23]=o=>m.value.dinner_foods=o),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),a(u,{label:"图片"},{default:i(()=>[a(ie,{modelValue:m.value.dinner_images,"onUpdate:modelValue":e[24]||(e[24]=o=>m.value.dinner_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(u,{label:"备注"},{default:i(()=>[a(x,{modelValue:m.value.note,"onUpdate:modelValue":e[25]||(e[25]=o=>m.value.note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(ne,{modelValue:h.value,"onUpdate:modelValue":e[35]||(e[35]=o=>h.value=o),title:Le.value,width:"600px","close-on-click-modal":!1},{footer:i(()=>[a(s,{onClick:e[34]||(e[34]=o=>h.value=!1)},{default:i(()=>[...e[66]||(e[66]=[g("取消",-1)])]),_:1}),a(s,{type:"primary",loading:pe.value,disabled:!E.value,onClick:ll},{default:i(()=>[...e[67]||(e[67]=[g("确定",-1)])]),_:1},8,["loading","disabled"])]),default:i(()=>[a(oe,{model:p.value,"label-width":"120px"},{default:i(()=>[a(u,{label:"记录日期",required:""},{default:i(()=>[a(f,{modelValue:p.value.record_date,"onUpdate:modelValue":e[28]||(e[28]=o=>p.value.record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(u,{label:"运动类型",required:""},{default:i(()=>[a(Ne,{modelValue:p.value.exercise_type,"onUpdate:modelValue":e[29]||(e[29]=o=>p.value.exercise_type=o),placeholder:"请选择运动类型",class:"w-full"},{default:i(()=>[a(w,{label:"散步",value:"散步"}),a(w,{label:"慢跑",value:"慢跑"}),a(w,{label:"游泳",value:"游泳"}),a(w,{label:"瑜伽",value:"瑜伽"}),a(w,{label:"骑自行车",value:"骑自行车"}),a(w,{label:"打太极拳",value:"打太极拳"}),a(w,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),a(u,{label:"运动时长(分钟)",required:""},{default:i(()=>[a(P,{modelValue:p.value.duration,"onUpdate:modelValue":e[30]||(e[30]=o=>p.value.duration=o),min:0,max:300},null,8,["modelValue"])]),_:1}),a(u,{label:"运动强度",required:""},{default:i(()=>[a(Ne,{modelValue:p.value.intensity,"onUpdate:modelValue":e[31]||(e[31]=o=>p.value.intensity=o),placeholder:"请选择运动强度",class:"w-full"},{default:i(()=>[a(w,{label:"低强度",value:1}),a(w,{label:"中强度",value:2}),a(w,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),a(u,{label:"运动图片"},{default:i(()=>[a(ie,{modelValue:p.value.images,"onUpdate:modelValue":e[32]||(e[32]=o=>p.value.images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(u,{label:"备注"},{default:i(()=>[a(x,{modelValue:p.value.note,"onUpdate:modelValue":e[33]||(e[33]=o=>p.value.note=o),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(ne,{modelValue:W.value,"onUpdate:modelValue":e[39]||(e[39]=o=>W.value=o),title:Pe.value,width:"600px","close-on-click-modal":!1},{footer:i(()=>[a(s,{onClick:e[38]||(e[38]=o=>W.value=!1)},{default:i(()=>[...e[68]||(e[68]=[g("取消",-1)])]),_:1}),B.value?(v(),U(s,{key:0,type:"primary",loading:fe.value,onClick:al},{default:i(()=>[...e[69]||(e[69]=[g("确定",-1)])]),_:1},8,["loading"])):T("",!0)]),default:i(()=>[a(oe,{model:b.value,"label-width":"100px"},{default:i(()=>[a(u,{label:"记录日期",required:""},{default:i(()=>[a(f,{modelValue:b.value.note_date,"onUpdate:modelValue":e[36]||(e[36]=o=>b.value.note_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full",disabled:!0},null,8,["modelValue"])]),_:1}),b.value.existing_content?(v(),U(u,{key:0,label:"已有备注"},{default:i(()=>[_("div",fa,[(v(!0),y(q,null,ye(_e(b.value.existing_content),(o,k)=>(v(),y("div",{key:`${b.value.note_date}-${k}`,class:"daily-matrix__tracking-line"},se(o),1))),128))])]),_:1})):T("",!0),a(u,{label:B.value?"追加备注":"备注内容",required:""},{default:i(()=>[a(x,{modelValue:b.value.content,"onUpdate:modelValue":e[37]||(e[37]=o=>b.value.content=o),type:"textarea",rows:5,maxlength:"1000","show-word-limit":"",disabled:!B.value,placeholder:B.value?"请输入跟踪备注":"历史跟踪备注仅支持查看"},null,8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])),[[rl,ue.value]])}}}),kt=zl(_a,[["__scopeId","data-v-a5368e74"]]);export{kt as default}; diff --git a/server/public/admin/assets/DiagnosisTodoList-CFEYln83.js b/server/public/admin/assets/DiagnosisTodoList-CqxCRYim.js similarity index 97% rename from server/public/admin/assets/DiagnosisTodoList-CFEYln83.js rename to server/public/admin/assets/DiagnosisTodoList-CqxCRYim.js index 775f5347c..c841a25b6 100644 --- a/server/public/admin/assets/DiagnosisTodoList-CFEYln83.js +++ b/server/public/admin/assets/DiagnosisTodoList-CqxCRYim.js @@ -1 +1 @@ -import{G as K,F as X,i as Z,O as tt,U as et,M as at,W as ot,D as it,B as st,S as lt,C as nt,N as rt}from"./element-plus-DGP1XOrU.js";import{_ as dt}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{a6 as mt,a7 as ut,a8 as pt}from"./tcm-CEIBuAeK.js";import{h as ct}from"./perm-CTlz8z1G.js";import{k as y,_ as ft}from"./index-fRv3NTFQ.js";import{f as _t,w as gt,as as vt,ak as p,I as w,J as N,aP as h,G as A,aN as o,O as l,a as e,A as bt,n as yt}from"./@vue/runtime-core-C6bnekPw.js";import{a as E,y as n,r as T,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as x}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const wt={class:"diagnosis-todo-list"},kt={class:"toolbar"},xt={key:0,class:"text-danger"},Vt={key:1},Dt={key:1,class:"text-muted"},Ct={class:"pagination-wrap"},Nt=_t({__name:"DiagnosisTodoList",props:{diagnosisId:{},patientId:{},patientName:{},readOnly:{type:Boolean}},setup(R,{expose:B}){const V=["tcm.diagnosis/dailyRecord"],r=R,v=bt(()=>ct(V)),s=T({page:1,size:15,count:0,loading:!1,lists:[]}),c=k(""),m=async()=>{if(!r.diagnosisId||Number(r.diagnosisId)<=0||!v.value){s.lists=[],s.count=0;return}s.loading=!0;try{const i={page_no:s.page,page_size:s.size,diagnosis_id:Number(r.diagnosisId)};c.value!==""&&c.value!==void 0&&(i.status=Number(c.value));const t=await mt(i);s.count=Number((t==null?void 0:t.count)??0),s.lists=Array.isArray(t==null?void 0:t.lists)?t.lists:[]}catch{s.lists=[],s.count=0}finally{s.loading=!1}};gt(()=>r.diagnosisId,()=>{s.page=1,m()},{immediate:!0});const F=()=>{s.page=1,m()},S=i=>{switch(Number(i)){case 0:return"info";case 1:return"success";case 2:return"warning";case 3:return"danger";default:return"info"}},f=k(!1),D=k(!1),b=k(),d=T({remindAt:"",content:""}),L={remindAt:[{required:!0,message:"请选择提醒时间",trigger:"change"}],content:[{required:!0,message:"请输入提醒内容",trigger:"blur"},{max:500,message:"内容最多 500 字",trigger:"blur"}]},M=i=>{const t=new Date;return t.setHours(0,0,0,0),i.getTime(){if(!r.diagnosisId||!v.value){y.msgWarning("诊单未保存,无法添加待办");return}d.remindAt="",d.content="",f.value=!0,yt(()=>{var i;return(i=b.value)==null?void 0:i.clearValidate()})},P=async()=>{if(!b.value||!await b.value.validate().catch(()=>!1))return;const t=Number(d.remindAt);if(!Number.isFinite(t)||t<=Date.now()+30*1e3){y.msgWarning("提醒时间必须晚于当前时间至少 30 秒");return}D.value=!0;try{await ut({diagnosis_id:Number(r.diagnosisId),content:d.content.trim(),remind_time:Math.floor(t/1e3)}),f.value=!1,m()}catch{}finally{D.value=!1}},U=async i=>{if(!(!v.value||r.readOnly)){try{await y.confirm(`确认取消「${i.remind_time_text} · ${Y(i.content,30)}」吗?`)}catch{return}try{await pt({id:Number(i.id)}),y.msgSuccess("已取消"),m()}catch{}}},Y=(i,t)=>i?i.length>t?i.slice(0,t)+"...":i:"";return B({refresh:m}),(i,t)=>{const _=Z,g=X,$=K,u=tt,z=et,G=rt,H=dt,W=lt,C=st,q=nt,J=it,Q=ot,I=vt("perms"),j=at;return p(),w("div",wt,[N("div",kt,[h((p(),A(_,{type:"primary",disabled:!r.diagnosisId||!v.value,onClick:O},{default:o(()=>[...t[6]||(t[6]=[l(" + 新增待办 ",-1)])]),_:1},8,["disabled"])),[[I,V]]),e($,{modelValue:n(c),"onUpdate:modelValue":t[0]||(t[0]=a=>E(c)?c.value=a:null),class:"ml-3",onChange:F},{default:o(()=>[e(g,{value:""},{default:o(()=>[...t[7]||(t[7]=[l("全部",-1)])]),_:1}),e(g,{value:0},{default:o(()=>[...t[8]||(t[8]=[l("待执行",-1)])]),_:1}),e(g,{value:1},{default:o(()=>[...t[9]||(t[9]=[l("已发送",-1)])]),_:1}),e(g,{value:3},{default:o(()=>[...t[10]||(t[10]=[l("失败",-1)])]),_:1}),e(g,{value:2},{default:o(()=>[...t[11]||(t[11]=[l("已取消",-1)])]),_:1})]),_:1},8,["modelValue"]),e(_,{class:"ml-3",onClick:m},{default:o(()=>[...t[12]||(t[12]=[l("刷新",-1)])]),_:1})]),h((p(),A(G,{data:n(s).lists,border:"",class:"todo-table","empty-text":"暂无待办","row-key":"id"},{default:o(()=>[e(u,{label:"提醒时间",prop:"remind_time_text",width:"160"}),e(u,{label:"内容",prop:"content","min-width":"240","show-overflow-tooltip":""}),e(u,{label:"状态",width:"110",align:"center"},{default:o(({row:a})=>[e(z,{type:S(a.status),effect:"light",size:"small"},{default:o(()=>[l(x(a.status_text),1)]),_:2},1032,["type"])]),_:1}),e(u,{label:"创建人",prop:"creator_name",width:"120"},{default:o(({row:a})=>[l(x(a.creator_name||"-"),1)]),_:1}),e(u,{label:"推送时间",prop:"notified_at_text",width:"160"},{default:o(({row:a})=>[l(x(a.notified_at_text||"-"),1)]),_:1}),e(u,{label:"失败原因",prop:"error","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.status===3?(p(),w("span",xt,x(a.error||"未知错误"),1)):(p(),w("span",Vt,"-"))]),_:1}),e(u,{label:"操作",width:"120",fixed:"right",align:"center"},{default:o(({row:a})=>[!r.readOnly&&a.status===0&&a.can_cancel?h((p(),A(_,{key:0,link:"",type:"danger",onClick:ht=>U(a)},{default:o(()=>[...t[13]||(t[13]=[l(" 取消 ",-1)])]),_:1},8,["onClick"])),[[I,V]]):(p(),w("span",Dt,"-"))]),_:1})]),_:1},8,["data"])),[[j,n(s).loading]]),N("div",Ct,[e(H,{modelValue:n(s),"onUpdate:modelValue":t[1]||(t[1]=a=>E(s)?s.value=a:null),onChange:m},null,8,["modelValue"])]),e(Q,{modelValue:n(f),"onUpdate:modelValue":t[5]||(t[5]=a=>E(f)?f.value=a:null),title:"新增待办",width:"520px","close-on-click-modal":!1},{footer:o(()=>[e(_,{onClick:t[4]||(t[4]=a=>f.value=!1)},{default:o(()=>[...t[15]||(t[15]=[l("取消",-1)])]),_:1}),e(_,{type:"primary",loading:n(D),onClick:P},{default:o(()=>[...t[16]||(t[16]=[l(" 提交 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(J,{ref_key:"addFormRef",ref:b,model:n(d),rules:L,"label-width":"100px"},{default:o(()=>[e(C,{label:"提醒时间",prop:"remindAt"},{default:o(()=>[e(W,{modelValue:n(d).remindAt,"onUpdate:modelValue":t[2]||(t[2]=a=>n(d).remindAt=a),type:"datetime",placeholder:"选择提醒时间",format:"YYYY-MM-DD HH:mm","value-format":"x","disabled-date":M,class:"w-full"},null,8,["modelValue"])]),_:1}),e(C,{label:"提醒内容",prop:"content"},{default:o(()=>[e(q,{modelValue:n(d).content,"onUpdate:modelValue":t[3]||(t[3]=a=>n(d).content=a),type:"textarea",rows:4,maxlength:500,"show-word-limit":"",placeholder:"例:3 天后回访患者复测餐后血糖"},null,8,["modelValue"])]),_:1}),e(C,{label:"提醒人"},{default:o(()=>[...t[14]||(t[14]=[N("span",{class:"text-muted"},"企微推送给当前登录账号(创建人本人)",-1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),fe=ft(Nt,[["__scopeId","data-v-e71c3261"]]);export{fe as default}; +import{G as K,F as X,i as Z,O as tt,U as et,M as at,W as ot,D as it,B as st,S as lt,C as nt,N as rt}from"./element-plus-DGP1XOrU.js";import{_ as dt}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{a6 as mt,a7 as ut,a8 as pt}from"./tcm-D-ZRccbe.js";import{h as ct}from"./perm-8cp9D7Ag.js";import{k as y,_ as ft}from"./index-J_eFER10.js";import{f as _t,w as gt,as as vt,ak as p,I as w,J as N,aP as h,G as A,aN as o,O as l,a as e,A as bt,n as yt}from"./@vue/runtime-core-C6bnekPw.js";import{a as E,y as n,r as T,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as x}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const wt={class:"diagnosis-todo-list"},kt={class:"toolbar"},xt={key:0,class:"text-danger"},Vt={key:1},Dt={key:1,class:"text-muted"},Ct={class:"pagination-wrap"},Nt=_t({__name:"DiagnosisTodoList",props:{diagnosisId:{},patientId:{},patientName:{},readOnly:{type:Boolean}},setup(R,{expose:B}){const V=["tcm.diagnosis/dailyRecord"],r=R,v=bt(()=>ct(V)),s=T({page:1,size:15,count:0,loading:!1,lists:[]}),c=k(""),m=async()=>{if(!r.diagnosisId||Number(r.diagnosisId)<=0||!v.value){s.lists=[],s.count=0;return}s.loading=!0;try{const i={page_no:s.page,page_size:s.size,diagnosis_id:Number(r.diagnosisId)};c.value!==""&&c.value!==void 0&&(i.status=Number(c.value));const t=await mt(i);s.count=Number((t==null?void 0:t.count)??0),s.lists=Array.isArray(t==null?void 0:t.lists)?t.lists:[]}catch{s.lists=[],s.count=0}finally{s.loading=!1}};gt(()=>r.diagnosisId,()=>{s.page=1,m()},{immediate:!0});const F=()=>{s.page=1,m()},S=i=>{switch(Number(i)){case 0:return"info";case 1:return"success";case 2:return"warning";case 3:return"danger";default:return"info"}},f=k(!1),D=k(!1),b=k(),d=T({remindAt:"",content:""}),L={remindAt:[{required:!0,message:"请选择提醒时间",trigger:"change"}],content:[{required:!0,message:"请输入提醒内容",trigger:"blur"},{max:500,message:"内容最多 500 字",trigger:"blur"}]},M=i=>{const t=new Date;return t.setHours(0,0,0,0),i.getTime(){if(!r.diagnosisId||!v.value){y.msgWarning("诊单未保存,无法添加待办");return}d.remindAt="",d.content="",f.value=!0,yt(()=>{var i;return(i=b.value)==null?void 0:i.clearValidate()})},P=async()=>{if(!b.value||!await b.value.validate().catch(()=>!1))return;const t=Number(d.remindAt);if(!Number.isFinite(t)||t<=Date.now()+30*1e3){y.msgWarning("提醒时间必须晚于当前时间至少 30 秒");return}D.value=!0;try{await ut({diagnosis_id:Number(r.diagnosisId),content:d.content.trim(),remind_time:Math.floor(t/1e3)}),f.value=!1,m()}catch{}finally{D.value=!1}},U=async i=>{if(!(!v.value||r.readOnly)){try{await y.confirm(`确认取消「${i.remind_time_text} · ${Y(i.content,30)}」吗?`)}catch{return}try{await pt({id:Number(i.id)}),y.msgSuccess("已取消"),m()}catch{}}},Y=(i,t)=>i?i.length>t?i.slice(0,t)+"...":i:"";return B({refresh:m}),(i,t)=>{const _=Z,g=X,$=K,u=tt,z=et,G=rt,H=dt,W=lt,C=st,q=nt,J=it,Q=ot,I=vt("perms"),j=at;return p(),w("div",wt,[N("div",kt,[h((p(),A(_,{type:"primary",disabled:!r.diagnosisId||!v.value,onClick:O},{default:o(()=>[...t[6]||(t[6]=[l(" + 新增待办 ",-1)])]),_:1},8,["disabled"])),[[I,V]]),e($,{modelValue:n(c),"onUpdate:modelValue":t[0]||(t[0]=a=>E(c)?c.value=a:null),class:"ml-3",onChange:F},{default:o(()=>[e(g,{value:""},{default:o(()=>[...t[7]||(t[7]=[l("全部",-1)])]),_:1}),e(g,{value:0},{default:o(()=>[...t[8]||(t[8]=[l("待执行",-1)])]),_:1}),e(g,{value:1},{default:o(()=>[...t[9]||(t[9]=[l("已发送",-1)])]),_:1}),e(g,{value:3},{default:o(()=>[...t[10]||(t[10]=[l("失败",-1)])]),_:1}),e(g,{value:2},{default:o(()=>[...t[11]||(t[11]=[l("已取消",-1)])]),_:1})]),_:1},8,["modelValue"]),e(_,{class:"ml-3",onClick:m},{default:o(()=>[...t[12]||(t[12]=[l("刷新",-1)])]),_:1})]),h((p(),A(G,{data:n(s).lists,border:"",class:"todo-table","empty-text":"暂无待办","row-key":"id"},{default:o(()=>[e(u,{label:"提醒时间",prop:"remind_time_text",width:"160"}),e(u,{label:"内容",prop:"content","min-width":"240","show-overflow-tooltip":""}),e(u,{label:"状态",width:"110",align:"center"},{default:o(({row:a})=>[e(z,{type:S(a.status),effect:"light",size:"small"},{default:o(()=>[l(x(a.status_text),1)]),_:2},1032,["type"])]),_:1}),e(u,{label:"创建人",prop:"creator_name",width:"120"},{default:o(({row:a})=>[l(x(a.creator_name||"-"),1)]),_:1}),e(u,{label:"推送时间",prop:"notified_at_text",width:"160"},{default:o(({row:a})=>[l(x(a.notified_at_text||"-"),1)]),_:1}),e(u,{label:"失败原因",prop:"error","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.status===3?(p(),w("span",xt,x(a.error||"未知错误"),1)):(p(),w("span",Vt,"-"))]),_:1}),e(u,{label:"操作",width:"120",fixed:"right",align:"center"},{default:o(({row:a})=>[!r.readOnly&&a.status===0&&a.can_cancel?h((p(),A(_,{key:0,link:"",type:"danger",onClick:ht=>U(a)},{default:o(()=>[...t[13]||(t[13]=[l(" 取消 ",-1)])]),_:1},8,["onClick"])),[[I,V]]):(p(),w("span",Dt,"-"))]),_:1})]),_:1},8,["data"])),[[j,n(s).loading]]),N("div",Ct,[e(H,{modelValue:n(s),"onUpdate:modelValue":t[1]||(t[1]=a=>E(s)?s.value=a:null),onChange:m},null,8,["modelValue"])]),e(Q,{modelValue:n(f),"onUpdate:modelValue":t[5]||(t[5]=a=>E(f)?f.value=a:null),title:"新增待办",width:"520px","close-on-click-modal":!1},{footer:o(()=>[e(_,{onClick:t[4]||(t[4]=a=>f.value=!1)},{default:o(()=>[...t[15]||(t[15]=[l("取消",-1)])]),_:1}),e(_,{type:"primary",loading:n(D),onClick:P},{default:o(()=>[...t[16]||(t[16]=[l(" 提交 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(J,{ref_key:"addFormRef",ref:b,model:n(d),rules:L,"label-width":"100px"},{default:o(()=>[e(C,{label:"提醒时间",prop:"remindAt"},{default:o(()=>[e(W,{modelValue:n(d).remindAt,"onUpdate:modelValue":t[2]||(t[2]=a=>n(d).remindAt=a),type:"datetime",placeholder:"选择提醒时间",format:"YYYY-MM-DD HH:mm","value-format":"x","disabled-date":M,class:"w-full"},null,8,["modelValue"])]),_:1}),e(C,{label:"提醒内容",prop:"content"},{default:o(()=>[e(q,{modelValue:n(d).content,"onUpdate:modelValue":t[3]||(t[3]=a=>n(d).content=a),type:"textarea",rows:4,maxlength:500,"show-word-limit":"",placeholder:"例:3 天后回访患者复测餐后血糖"},null,8,["modelValue"])]),_:1}),e(C,{label:"提醒人"},{default:o(()=>[...t[14]||(t[14]=[N("span",{class:"text-muted"},"企微推送给当前登录账号(创建人本人)",-1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),fe=ft(Nt,[["__scopeId","data-v-e71c3261"]]);export{fe as default}; diff --git a/server/public/admin/assets/DietRecordList-DiOY_-B_.js b/server/public/admin/assets/DietRecordList-C2B7kp6Z.js similarity index 94% rename from server/public/admin/assets/DietRecordList-DiOY_-B_.js rename to server/public/admin/assets/DietRecordList-C2B7kp6Z.js index 67720cec7..6fce49a23 100644 --- a/server/public/admin/assets/DietRecordList-DiOY_-B_.js +++ b/server/public/admin/assets/DietRecordList-C2B7kp6Z.js @@ -1 +1 @@ -import{i as Y,O as A,N as F,D as L,B as M,S as $,I as P,C as W,W as q}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./picker-C0hwSppU.js";import{ao as H,ap as Q,a1 as j,a2 as z}from"./tcm-CEIBuAeK.js";import{k as c,_ as J}from"./index-fRv3NTFQ.js";import{f as K,b as X,w as Z,ak as r,I as m,a as t,aN as a,O as p,H as C,G as ee,A as te}from"./@vue/runtime-core-C6bnekPw.js";import{n as y,y as i,a as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const le={class:"diet-record-list"},ae={key:0,class:"mb-4"},ie={key:0},de={key:1},ne={key:0},re={key:1},se={key:0},me={key:1},pe=K({__name:"DietRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(k){const d=k,x=y([]),u=y(!1),V=y(!1),D=te(()=>l.value.id?"编辑记录":"添加记录"),l=y({id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}),g=async()=>{if(!(!d.diagnosisId&&!d.patientId))try{const n=await H({diagnosis_id:d.diagnosisId,patient_id:d.patientId});x.value=n}catch(n){console.error("获取记录失败:",n)}},E=()=>{l.value={id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""},u.value=!0},U=n=>{l.value={...n},u.value=!0},R=async n=>{await c.confirm("确定要删除这条记录吗?");try{await Q({id:n.id}),c.msgSuccess("删除成功"),g()}catch(e){console.error("删除失败:",e)}},B=async()=>{if(!l.value.record_date){c.msgWarning("请选择记录日期");return}V.value=!0;try{l.value.id?(await j(l.value),c.msgSuccess("编辑成功")):(await z(l.value),c.msgSuccess("添加成功")),u.value=!1,g()}catch(n){console.error("提交失败:",n)}finally{V.value=!1}};return X(()=>{g()}),Z(()=>[d.diagnosisId,d.patientId],()=>{g()}),(n,e)=>{const _=Y,f=A,N=F,h=$,s=M,v=P,b=W,w=G,S=L,O=q;return r(),m("div",le,[k.readOnly?C("",!0):(r(),m("div",ae,[t(_,{type:"primary",onClick:E},{default:a(()=>[...e[10]||(e[10]=[p("添加记录",-1)])]),_:1})])),t(N,{data:i(x),border:""},{default:a(()=>[t(f,{prop:"record_date",label:"记录日期",width:"120"}),t(f,{label:"早餐","min-width":"200"},{default:a(({row:o})=>[o.breakfast_foods?(r(),m("div",ie,I(o.breakfast_foods),1)):(r(),m("span",de,"-"))]),_:1}),t(f,{label:"午餐","min-width":"200"},{default:a(({row:o})=>[o.lunch_foods?(r(),m("div",ne,I(o.lunch_foods),1)):(r(),m("span",re,"-"))]),_:1}),t(f,{label:"晚餐","min-width":"200"},{default:a(({row:o})=>[o.dinner_foods?(r(),m("div",se,I(o.dinner_foods),1)):(r(),m("span",me,"-"))]),_:1}),t(f,{prop:"note",label:"备注","show-overflow-tooltip":""}),k.readOnly?C("",!0):(r(),ee(f,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[t(_,{link:"",type:"primary",onClick:T=>U(o)},{default:a(()=>[...e[11]||(e[11]=[p("编辑",-1)])]),_:1},8,["onClick"]),t(_,{link:"",type:"danger",onClick:T=>R(o)},{default:a(()=>[...e[12]||(e[12]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),t(O,{modelValue:i(u),"onUpdate:modelValue":e[9]||(e[9]=o=>oe(u)?u.value=o:null),title:i(D),width:"800px"},{footer:a(()=>[t(_,{onClick:e[8]||(e[8]=o=>u.value=!1)},{default:a(()=>[...e[16]||(e[16]=[p("取消",-1)])]),_:1}),t(_,{type:"primary",onClick:B,loading:i(V)},{default:a(()=>[...e[17]||(e[17]=[p("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(S,{model:i(l),"label-width":"100px"},{default:a(()=>[t(s,{label:"记录日期",required:""},{default:a(()=>[t(h,{modelValue:i(l).record_date,"onUpdate:modelValue":e[0]||(e[0]=o=>i(l).record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[13]||(e[13]=[p("早餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).breakfast_foods,"onUpdate:modelValue":e[1]||(e[1]=o=>i(l).breakfast_foods=o),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).breakfast_images,"onUpdate:modelValue":e[2]||(e[2]=o=>i(l).breakfast_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[14]||(e[14]=[p("午餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).lunch_foods,"onUpdate:modelValue":e[3]||(e[3]=o=>i(l).lunch_foods=o),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).lunch_images,"onUpdate:modelValue":e[4]||(e[4]=o=>i(l).lunch_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[15]||(e[15]=[p("晚餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).dinner_foods,"onUpdate:modelValue":e[5]||(e[5]=o=>i(l).dinner_foods=o),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).dinner_images,"onUpdate:modelValue":e[6]||(e[6]=o=>i(l).dinner_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(s,{label:"备注"},{default:a(()=>[t(b,{modelValue:i(l).note,"onUpdate:modelValue":e[7]||(e[7]=o=>i(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),pt=J(pe,[["__scopeId","data-v-7c66f363"]]);export{pt as default}; +import{i as Y,O as A,N as F,D as L,B as M,S as $,I as P,C as W,W as q}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./picker-lbwHqE-a.js";import{ao as H,ap as Q,a1 as j,a2 as z}from"./tcm-D-ZRccbe.js";import{k as c,_ as J}from"./index-J_eFER10.js";import{f as K,b as X,w as Z,ak as r,I as m,a as t,aN as a,O as p,H as C,G as ee,A as te}from"./@vue/runtime-core-C6bnekPw.js";import{n as y,y as i,a as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const le={class:"diet-record-list"},ae={key:0,class:"mb-4"},ie={key:0},de={key:1},ne={key:0},re={key:1},se={key:0},me={key:1},pe=K({__name:"DietRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(k){const d=k,x=y([]),u=y(!1),V=y(!1),D=te(()=>l.value.id?"编辑记录":"添加记录"),l=y({id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}),g=async()=>{if(!(!d.diagnosisId&&!d.patientId))try{const n=await H({diagnosis_id:d.diagnosisId,patient_id:d.patientId});x.value=n}catch(n){console.error("获取记录失败:",n)}},E=()=>{l.value={id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""},u.value=!0},U=n=>{l.value={...n},u.value=!0},R=async n=>{await c.confirm("确定要删除这条记录吗?");try{await Q({id:n.id}),c.msgSuccess("删除成功"),g()}catch(e){console.error("删除失败:",e)}},B=async()=>{if(!l.value.record_date){c.msgWarning("请选择记录日期");return}V.value=!0;try{l.value.id?(await j(l.value),c.msgSuccess("编辑成功")):(await z(l.value),c.msgSuccess("添加成功")),u.value=!1,g()}catch(n){console.error("提交失败:",n)}finally{V.value=!1}};return X(()=>{g()}),Z(()=>[d.diagnosisId,d.patientId],()=>{g()}),(n,e)=>{const _=Y,f=A,N=F,h=$,s=M,v=P,b=W,w=G,S=L,O=q;return r(),m("div",le,[k.readOnly?C("",!0):(r(),m("div",ae,[t(_,{type:"primary",onClick:E},{default:a(()=>[...e[10]||(e[10]=[p("添加记录",-1)])]),_:1})])),t(N,{data:i(x),border:""},{default:a(()=>[t(f,{prop:"record_date",label:"记录日期",width:"120"}),t(f,{label:"早餐","min-width":"200"},{default:a(({row:o})=>[o.breakfast_foods?(r(),m("div",ie,I(o.breakfast_foods),1)):(r(),m("span",de,"-"))]),_:1}),t(f,{label:"午餐","min-width":"200"},{default:a(({row:o})=>[o.lunch_foods?(r(),m("div",ne,I(o.lunch_foods),1)):(r(),m("span",re,"-"))]),_:1}),t(f,{label:"晚餐","min-width":"200"},{default:a(({row:o})=>[o.dinner_foods?(r(),m("div",se,I(o.dinner_foods),1)):(r(),m("span",me,"-"))]),_:1}),t(f,{prop:"note",label:"备注","show-overflow-tooltip":""}),k.readOnly?C("",!0):(r(),ee(f,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[t(_,{link:"",type:"primary",onClick:T=>U(o)},{default:a(()=>[...e[11]||(e[11]=[p("编辑",-1)])]),_:1},8,["onClick"]),t(_,{link:"",type:"danger",onClick:T=>R(o)},{default:a(()=>[...e[12]||(e[12]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),t(O,{modelValue:i(u),"onUpdate:modelValue":e[9]||(e[9]=o=>oe(u)?u.value=o:null),title:i(D),width:"800px"},{footer:a(()=>[t(_,{onClick:e[8]||(e[8]=o=>u.value=!1)},{default:a(()=>[...e[16]||(e[16]=[p("取消",-1)])]),_:1}),t(_,{type:"primary",onClick:B,loading:i(V)},{default:a(()=>[...e[17]||(e[17]=[p("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(S,{model:i(l),"label-width":"100px"},{default:a(()=>[t(s,{label:"记录日期",required:""},{default:a(()=>[t(h,{modelValue:i(l).record_date,"onUpdate:modelValue":e[0]||(e[0]=o=>i(l).record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[13]||(e[13]=[p("早餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).breakfast_foods,"onUpdate:modelValue":e[1]||(e[1]=o=>i(l).breakfast_foods=o),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).breakfast_images,"onUpdate:modelValue":e[2]||(e[2]=o=>i(l).breakfast_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[14]||(e[14]=[p("午餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).lunch_foods,"onUpdate:modelValue":e[3]||(e[3]=o=>i(l).lunch_foods=o),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).lunch_images,"onUpdate:modelValue":e[4]||(e[4]=o=>i(l).lunch_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[15]||(e[15]=[p("晚餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).dinner_foods,"onUpdate:modelValue":e[5]||(e[5]=o=>i(l).dinner_foods=o),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).dinner_images,"onUpdate:modelValue":e[6]||(e[6]=o=>i(l).dinner_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(s,{label:"备注"},{default:a(()=>[t(b,{modelValue:i(l).note,"onUpdate:modelValue":e[7]||(e[7]=o=>i(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),pt=J(pe,[["__scopeId","data-v-7c66f363"]]);export{pt as default}; diff --git a/server/public/admin/assets/ExerciseRecordList-BcbsP5MM.js b/server/public/admin/assets/ExerciseRecordList-BKFY7oPA.js similarity index 94% rename from server/public/admin/assets/ExerciseRecordList-BcbsP5MM.js rename to server/public/admin/assets/ExerciseRecordList-BKFY7oPA.js index 2b6c647c6..24efe49e2 100644 --- a/server/public/admin/assets/ExerciseRecordList-BcbsP5MM.js +++ b/server/public/admin/assets/ExerciseRecordList-BKFY7oPA.js @@ -1 +1 @@ -import{i as L,O as M,N as $,D as h,B as P,S as Q,Q as G,R as H,h as j,C as z,W as J}from"./element-plus-DGP1XOrU.js";import{_ as K}from"./picker-C0hwSppU.js";import{aq as X,ar as Z,a3 as ee,a4 as te}from"./tcm-CEIBuAeK.js";import{k as p,_ as le}from"./index-fRv3NTFQ.js";import{f as oe,b as ae,w as ie,ak as g,I as w,a as e,aN as a,O as u,H as k,G as re,A as ne}from"./@vue/runtime-core-C6bnekPw.js";import{n as b,y as i,a as de}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const se={class:"exercise-record-list"},me={key:0,class:"mb-4"},pe=oe({__name:"ExerciseRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(y){const n=y,V=b([]),s=b(!1),v=b(!1),E=ne(()=>l.value.id?"编辑记录":"添加记录"),l=b({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""}),C=[{label:"低强度",value:1},{label:"中强度",value:2},{label:"高强度",value:3}],R=r=>{const t=C.find(m=>m.value===r);return t?t.label:"未知"},f=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const r=await X({diagnosis_id:n.diagnosisId,patient_id:n.patientId});V.value=r}catch(r){console.error("获取记录失败:",r)}},D=()=>{l.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""},s.value=!0},N=r=>{l.value={...r},s.value=!0},B=async r=>{await p.confirm("确定要删除这条记录吗?");try{await Z({id:r.id}),p.msgSuccess("删除成功"),f()}catch(t){console.error("删除失败:",t)}},O=async()=>{if(!l.value.record_date){p.msgWarning("请选择记录日期");return}if(!l.value.exercise_type){p.msgWarning("请选择运动类型");return}if(!l.value.duration){p.msgWarning("请输入运动时长");return}v.value=!0;try{l.value.id?(await ee(l.value),p.msgSuccess("编辑成功")):(await te(l.value),p.msgSuccess("添加成功")),s.value=!1,f()}catch(r){console.error("提交失败:",r)}finally{v.value=!1}};return ae(()=>{f()}),ie(()=>[n.diagnosisId,n.patientId],()=>{f()}),(r,t)=>{const m=L,c=M,S=$,U=Q,_=P,d=H,x=G,q=j,T=K,W=z,Y=h,A=J;return g(),w("div",se,[y.readOnly?k("",!0):(g(),w("div",me,[e(m,{type:"primary",onClick:D},{default:a(()=>[...t[8]||(t[8]=[u("添加记录",-1)])]),_:1})])),e(S,{data:i(V),border:"",style:{width:"100%"}},{default:a(()=>[e(c,{prop:"record_date",label:"记录日期",width:"120"}),e(c,{prop:"exercise_type",label:"运动类型",width:"150"}),e(c,{prop:"duration",label:"运动时长",width:"100"},{default:a(({row:o})=>[u(I(o.duration)+" 分钟 ",1)]),_:1}),e(c,{label:"运动强度",width:"100"},{default:a(({row:o})=>[u(I(R(o.intensity)),1)]),_:1}),e(c,{prop:"note",label:"备注","show-overflow-tooltip":""}),y.readOnly?k("",!0):(g(),re(c,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[e(m,{link:"",type:"primary",onClick:F=>N(o)},{default:a(()=>[...t[9]||(t[9]=[u("编辑",-1)])]),_:1},8,["onClick"]),e(m,{link:"",type:"danger",onClick:F=>B(o)},{default:a(()=>[...t[10]||(t[10]=[u("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),e(A,{modelValue:i(s),"onUpdate:modelValue":t[7]||(t[7]=o=>de(s)?s.value=o:null),title:i(E),width:"600px"},{footer:a(()=>[e(m,{onClick:t[6]||(t[6]=o=>s.value=!1)},{default:a(()=>[...t[11]||(t[11]=[u("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:O,loading:i(v)},{default:a(()=>[...t[12]||(t[12]=[u("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[e(Y,{model:i(l),"label-width":"120px"},{default:a(()=>[e(_,{label:"记录日期",required:""},{default:a(()=>[e(U,{modelValue:i(l).record_date,"onUpdate:modelValue":t[0]||(t[0]=o=>i(l).record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动类型",required:""},{default:a(()=>[e(x,{modelValue:i(l).exercise_type,"onUpdate:modelValue":t[1]||(t[1]=o=>i(l).exercise_type=o),placeholder:"请选择运动类型",class:"w-full"},{default:a(()=>[e(d,{label:"散步",value:"散步"}),e(d,{label:"慢跑",value:"慢跑"}),e(d,{label:"游泳",value:"游泳"}),e(d,{label:"瑜伽",value:"瑜伽"}),e(d,{label:"骑自行车",value:"骑自行车"}),e(d,{label:"打太极拳",value:"打太极拳"}),e(d,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动时长(分钟)",required:""},{default:a(()=>[e(q,{modelValue:i(l).duration,"onUpdate:modelValue":t[2]||(t[2]=o=>i(l).duration=o),min:0,max:300,placeholder:"请输入运动时长"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动强度",required:""},{default:a(()=>[e(x,{modelValue:i(l).intensity,"onUpdate:modelValue":t[3]||(t[3]=o=>i(l).intensity=o),placeholder:"请选择运动强度",class:"w-full"},{default:a(()=>[e(d,{label:"低强度",value:1}),e(d,{label:"中强度",value:2}),e(d,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动图片"},{default:a(()=>[e(T,{modelValue:i(l).images,"onUpdate:modelValue":t[4]||(t[4]=o=>i(l).images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),e(_,{label:"备注"},{default:a(()=>[e(W,{modelValue:i(l).note,"onUpdate:modelValue":t[5]||(t[5]=o=>i(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),pt=le(pe,[["__scopeId","data-v-ab6f0ec7"]]);export{pt as default}; +import{i as L,O as M,N as $,D as h,B as P,S as Q,Q as G,R as H,h as j,C as z,W as J}from"./element-plus-DGP1XOrU.js";import{_ as K}from"./picker-lbwHqE-a.js";import{aq as X,ar as Z,a3 as ee,a4 as te}from"./tcm-D-ZRccbe.js";import{k as p,_ as le}from"./index-J_eFER10.js";import{f as oe,b as ae,w as ie,ak as g,I as w,a as e,aN as a,O as u,H as k,G as re,A as ne}from"./@vue/runtime-core-C6bnekPw.js";import{n as b,y as i,a as de}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const se={class:"exercise-record-list"},me={key:0,class:"mb-4"},pe=oe({__name:"ExerciseRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(y){const n=y,V=b([]),s=b(!1),v=b(!1),E=ne(()=>l.value.id?"编辑记录":"添加记录"),l=b({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""}),C=[{label:"低强度",value:1},{label:"中强度",value:2},{label:"高强度",value:3}],R=r=>{const t=C.find(m=>m.value===r);return t?t.label:"未知"},f=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const r=await X({diagnosis_id:n.diagnosisId,patient_id:n.patientId});V.value=r}catch(r){console.error("获取记录失败:",r)}},D=()=>{l.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""},s.value=!0},N=r=>{l.value={...r},s.value=!0},B=async r=>{await p.confirm("确定要删除这条记录吗?");try{await Z({id:r.id}),p.msgSuccess("删除成功"),f()}catch(t){console.error("删除失败:",t)}},O=async()=>{if(!l.value.record_date){p.msgWarning("请选择记录日期");return}if(!l.value.exercise_type){p.msgWarning("请选择运动类型");return}if(!l.value.duration){p.msgWarning("请输入运动时长");return}v.value=!0;try{l.value.id?(await ee(l.value),p.msgSuccess("编辑成功")):(await te(l.value),p.msgSuccess("添加成功")),s.value=!1,f()}catch(r){console.error("提交失败:",r)}finally{v.value=!1}};return ae(()=>{f()}),ie(()=>[n.diagnosisId,n.patientId],()=>{f()}),(r,t)=>{const m=L,c=M,S=$,U=Q,_=P,d=H,x=G,q=j,T=K,W=z,Y=h,A=J;return g(),w("div",se,[y.readOnly?k("",!0):(g(),w("div",me,[e(m,{type:"primary",onClick:D},{default:a(()=>[...t[8]||(t[8]=[u("添加记录",-1)])]),_:1})])),e(S,{data:i(V),border:"",style:{width:"100%"}},{default:a(()=>[e(c,{prop:"record_date",label:"记录日期",width:"120"}),e(c,{prop:"exercise_type",label:"运动类型",width:"150"}),e(c,{prop:"duration",label:"运动时长",width:"100"},{default:a(({row:o})=>[u(I(o.duration)+" 分钟 ",1)]),_:1}),e(c,{label:"运动强度",width:"100"},{default:a(({row:o})=>[u(I(R(o.intensity)),1)]),_:1}),e(c,{prop:"note",label:"备注","show-overflow-tooltip":""}),y.readOnly?k("",!0):(g(),re(c,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[e(m,{link:"",type:"primary",onClick:F=>N(o)},{default:a(()=>[...t[9]||(t[9]=[u("编辑",-1)])]),_:1},8,["onClick"]),e(m,{link:"",type:"danger",onClick:F=>B(o)},{default:a(()=>[...t[10]||(t[10]=[u("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),e(A,{modelValue:i(s),"onUpdate:modelValue":t[7]||(t[7]=o=>de(s)?s.value=o:null),title:i(E),width:"600px"},{footer:a(()=>[e(m,{onClick:t[6]||(t[6]=o=>s.value=!1)},{default:a(()=>[...t[11]||(t[11]=[u("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:O,loading:i(v)},{default:a(()=>[...t[12]||(t[12]=[u("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[e(Y,{model:i(l),"label-width":"120px"},{default:a(()=>[e(_,{label:"记录日期",required:""},{default:a(()=>[e(U,{modelValue:i(l).record_date,"onUpdate:modelValue":t[0]||(t[0]=o=>i(l).record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动类型",required:""},{default:a(()=>[e(x,{modelValue:i(l).exercise_type,"onUpdate:modelValue":t[1]||(t[1]=o=>i(l).exercise_type=o),placeholder:"请选择运动类型",class:"w-full"},{default:a(()=>[e(d,{label:"散步",value:"散步"}),e(d,{label:"慢跑",value:"慢跑"}),e(d,{label:"游泳",value:"游泳"}),e(d,{label:"瑜伽",value:"瑜伽"}),e(d,{label:"骑自行车",value:"骑自行车"}),e(d,{label:"打太极拳",value:"打太极拳"}),e(d,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动时长(分钟)",required:""},{default:a(()=>[e(q,{modelValue:i(l).duration,"onUpdate:modelValue":t[2]||(t[2]=o=>i(l).duration=o),min:0,max:300,placeholder:"请输入运动时长"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动强度",required:""},{default:a(()=>[e(x,{modelValue:i(l).intensity,"onUpdate:modelValue":t[3]||(t[3]=o=>i(l).intensity=o),placeholder:"请选择运动强度",class:"w-full"},{default:a(()=>[e(d,{label:"低强度",value:1}),e(d,{label:"中强度",value:2}),e(d,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动图片"},{default:a(()=>[e(T,{modelValue:i(l).images,"onUpdate:modelValue":t[4]||(t[4]=o=>i(l).images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),e(_,{label:"备注"},{default:a(()=>[e(W,{modelValue:i(l).note,"onUpdate:modelValue":t[5]||(t[5]=o=>i(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),pt=le(pe,[["__scopeId","data-v-ab6f0ec7"]]);export{pt as default}; diff --git a/server/public/admin/assets/GancaoSubmissionReconcileButton-sjmE0pP5.js b/server/public/admin/assets/GancaoSubmissionReconcileButton-DpfLEmHk.js similarity index 90% rename from server/public/admin/assets/GancaoSubmissionReconcileButton-sjmE0pP5.js rename to server/public/admin/assets/GancaoSubmissionReconcileButton-DpfLEmHk.js index 63a3289b5..16f5c1ba5 100644 --- a/server/public/admin/assets/GancaoSubmissionReconcileButton-sjmE0pP5.js +++ b/server/public/admin/assets/GancaoSubmissionReconcileButton-DpfLEmHk.js @@ -1 +1 @@ -import{_ as o}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DPPpLv5I.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./tcm-CEIBuAeK.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./tcm-D-ZRccbe.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DPPpLv5I.js b/server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js similarity index 96% rename from server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DPPpLv5I.js rename to server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js index 93efcd4e9..83b9474b3 100644 --- a/server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DPPpLv5I.js +++ b/server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js @@ -1 +1 @@ -import{i as x,W as U,L as F,D,B as M,G,J as B,C as A}from"./element-plus-DGP1XOrU.js";import{s as P}from"./@vue/runtime-dom-DDAG46FW.js";import{p as q}from"./tcm-CEIBuAeK.js";import{k as f}from"./index-fRv3NTFQ.js";import{f as L,as as T,ak as C,I as W,F as z,aP as H,G as N,aN as t,O as u,a as r,H as b,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{n as g,r as K}from"./@vue/reactivity-DiY1c2vO.js";const h=L({__name:"GancaoSubmissionReconcileButton",props:{order:{}},emits:["resolved"],setup(v,{emit:y}){const d=v,V=y,w=J(()=>{var m,p,a;const i=String(((m=d.order)==null?void 0:m.pharmacy_claim_target)||"").trim().toLowerCase(),e=String(((p=d.order)==null?void 0:p.pharmacy_claim_status)||"").trim().toUpperCase(),n=Number(((a=d.order)==null?void 0:a.pharmacy_claim_lease_expires_at)||0),c=e==="PENDING"&&n>0&&n<=Math.floor(Date.now()/1e3);return i==="gancao"&&(c||["UNKNOWN","PENDING_RECONCILE"].includes(e))}),s=g(!1),_=g(!1),o=K({resolution:"CONFIRM_SUCCESS",remote_order_no:"",note:""});function I(){o.resolution="CONFIRM_SUCCESS",o.remote_order_no="",o.note="",s.value=!0}async function S(){var e;const i=Number((e=d.order)==null?void 0:e.id);if(i){if(o.resolution==="CONFIRM_SUCCESS"&&!o.remote_order_no.trim()){f.msgError("请填写甘草药方单号");return}if(!o.note.trim()){f.msgError("请填写甘草后台核对依据");return}_.value=!0;try{await q({id:i,resolution:o.resolution,remote_order_no:o.resolution==="CONFIRM_SUCCESS"?o.remote_order_no.trim():"",note:o.note.trim()}),f.msgSuccess("甘草提交核对已记录"),s.value=!1,V("resolved")}catch{}finally{_.value=!1}}}return(i,e)=>{const n=x,c=F,m=B,p=G,a=M,E=A,O=D,R=U,k=T("perms");return w.value?(C(),W(z,{key:0},[H((C(),N(n,{type:"danger",size:"small",plain:"",onClick:I},{default:t(()=>[...e[5]||(e[5]=[u("核对甘草提交",-1)])]),_:1})),[[k,["tcm.prescriptionOrder/confirmGancaoSubmission"]]]),r(R,{modelValue:s.value,"onUpdate:modelValue":e[4]||(e[4]=l=>s.value=l),title:"人工核对甘草提交",width:"min(92vw, 520px)","append-to-body":"","destroy-on-close":"","close-on-click-modal":!1},{footer:t(()=>[r(n,{onClick:e[3]||(e[3]=l=>s.value=!1)},{default:t(()=>[...e[8]||(e[8]=[u("取消",-1)])]),_:1}),r(n,{type:"primary",loading:_.value,onClick:S},{default:t(()=>[...e[9]||(e[9]=[u("确认并记录",-1)])]),_:1},8,["loading"])]),default:t(()=>[r(c,{title:"请先在甘草后台核对。本操作会写入不可变更的审计记录。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),r(O,{"label-width":"100px",onSubmit:P(S,["prevent"])},{default:t(()=>[r(a,{label:"核对结果",required:""},{default:t(()=>[r(p,{modelValue:o.resolution,"onUpdate:modelValue":e[0]||(e[0]=l=>o.resolution=l)},{default:t(()=>[r(m,{label:"CONFIRM_SUCCESS"},{default:t(()=>[...e[6]||(e[6]=[u("确认已创建",-1)])]),_:1}),r(m,{label:"CONFIRM_NOT_CREATED"},{default:t(()=>[...e[7]||(e[7]=[u("确认未创建",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.resolution==="CONFIRM_SUCCESS"?(C(),N(a,{key:0,label:"甘草单号",required:""},{default:t(()=>[r(E,{modelValue:o.remote_order_no,"onUpdate:modelValue":e[1]||(e[1]=l=>o.remote_order_no=l),maxlength:"64",clearable:""},null,8,["modelValue"])]),_:1})):b("",!0),r(a,{label:"核对依据",required:""},{default:t(()=>[r(E,{modelValue:o.note,"onUpdate:modelValue":e[2]||(e[2]=l=>o.note=l),type:"textarea",rows:3,maxlength:"1000","show-word-limit":"",placeholder:"例如:核对时间、甘草后台查询条件及结果"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)):b("",!0)}}});export{h as _}; +import{i as x,W as U,L as F,D,B as M,G,J as B,C as A}from"./element-plus-DGP1XOrU.js";import{s as P}from"./@vue/runtime-dom-DDAG46FW.js";import{p as q}from"./tcm-D-ZRccbe.js";import{k as f}from"./index-J_eFER10.js";import{f as L,as as T,ak as C,I as W,F as z,aP as H,G as N,aN as t,O as u,a as r,H as b,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{n as g,r as K}from"./@vue/reactivity-DiY1c2vO.js";const h=L({__name:"GancaoSubmissionReconcileButton",props:{order:{}},emits:["resolved"],setup(v,{emit:y}){const d=v,V=y,w=J(()=>{var m,p,a;const i=String(((m=d.order)==null?void 0:m.pharmacy_claim_target)||"").trim().toLowerCase(),e=String(((p=d.order)==null?void 0:p.pharmacy_claim_status)||"").trim().toUpperCase(),n=Number(((a=d.order)==null?void 0:a.pharmacy_claim_lease_expires_at)||0),c=e==="PENDING"&&n>0&&n<=Math.floor(Date.now()/1e3);return i==="gancao"&&(c||["UNKNOWN","PENDING_RECONCILE"].includes(e))}),s=g(!1),_=g(!1),o=K({resolution:"CONFIRM_SUCCESS",remote_order_no:"",note:""});function I(){o.resolution="CONFIRM_SUCCESS",o.remote_order_no="",o.note="",s.value=!0}async function S(){var e;const i=Number((e=d.order)==null?void 0:e.id);if(i){if(o.resolution==="CONFIRM_SUCCESS"&&!o.remote_order_no.trim()){f.msgError("请填写甘草药方单号");return}if(!o.note.trim()){f.msgError("请填写甘草后台核对依据");return}_.value=!0;try{await q({id:i,resolution:o.resolution,remote_order_no:o.resolution==="CONFIRM_SUCCESS"?o.remote_order_no.trim():"",note:o.note.trim()}),f.msgSuccess("甘草提交核对已记录"),s.value=!1,V("resolved")}catch{}finally{_.value=!1}}}return(i,e)=>{const n=x,c=F,m=B,p=G,a=M,E=A,O=D,R=U,k=T("perms");return w.value?(C(),W(z,{key:0},[H((C(),N(n,{type:"danger",size:"small",plain:"",onClick:I},{default:t(()=>[...e[5]||(e[5]=[u("核对甘草提交",-1)])]),_:1})),[[k,["tcm.prescriptionOrder/confirmGancaoSubmission"]]]),r(R,{modelValue:s.value,"onUpdate:modelValue":e[4]||(e[4]=l=>s.value=l),title:"人工核对甘草提交",width:"min(92vw, 520px)","append-to-body":"","destroy-on-close":"","close-on-click-modal":!1},{footer:t(()=>[r(n,{onClick:e[3]||(e[3]=l=>s.value=!1)},{default:t(()=>[...e[8]||(e[8]=[u("取消",-1)])]),_:1}),r(n,{type:"primary",loading:_.value,onClick:S},{default:t(()=>[...e[9]||(e[9]=[u("确认并记录",-1)])]),_:1},8,["loading"])]),default:t(()=>[r(c,{title:"请先在甘草后台核对。本操作会写入不可变更的审计记录。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),r(O,{"label-width":"100px",onSubmit:P(S,["prevent"])},{default:t(()=>[r(a,{label:"核对结果",required:""},{default:t(()=>[r(p,{modelValue:o.resolution,"onUpdate:modelValue":e[0]||(e[0]=l=>o.resolution=l)},{default:t(()=>[r(m,{label:"CONFIRM_SUCCESS"},{default:t(()=>[...e[6]||(e[6]=[u("确认已创建",-1)])]),_:1}),r(m,{label:"CONFIRM_NOT_CREATED"},{default:t(()=>[...e[7]||(e[7]=[u("确认未创建",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.resolution==="CONFIRM_SUCCESS"?(C(),N(a,{key:0,label:"甘草单号",required:""},{default:t(()=>[r(E,{modelValue:o.remote_order_no,"onUpdate:modelValue":e[1]||(e[1]=l=>o.remote_order_no=l),maxlength:"64",clearable:""},null,8,["modelValue"])]),_:1})):b("",!0),r(a,{label:"核对依据",required:""},{default:t(()=>[r(E,{modelValue:o.note,"onUpdate:modelValue":e[2]||(e[2]=l=>o.note=l),type:"textarea",rows:3,maxlength:"1000","show-word-limit":"",placeholder:"例如:核对时间、甘草后台查询条件及结果"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)):b("",!0)}}});export{h as _}; diff --git a/server/public/admin/assets/ImChatRecordPanel-Dfh8REJx.js b/server/public/admin/assets/ImChatRecordPanel-CsDITo98.js similarity index 97% rename from server/public/admin/assets/ImChatRecordPanel-Dfh8REJx.js rename to server/public/admin/assets/ImChatRecordPanel-CsDITo98.js index 496b1719d..9a691b6de 100644 --- a/server/public/admin/assets/ImChatRecordPanel-Dfh8REJx.js +++ b/server/public/admin/assets/ImChatRecordPanel-CsDITo98.js @@ -1 +1 @@ -import{L as F,d as H,i as G,X as J,M as $,U as j,v as q,T as O,E as x}from"./element-plus-DGP1XOrU.js";import{d as Q}from"./dayjs-DG77mNTn.js";import{ae as U,M as W}from"./@element-plus/icons-vue-CbYn5zW9.js";import{as as X,at as K}from"./tcm-CEIBuAeK.js";import{p as Z}from"./im-business-message-parse-QKjFLn3X.js";import{f as tt,w as et,ak as s,I as o,a as l,aN as c,J as r,O as d,aP as at,F as E,ap as st,G as _,H as v,A as ot}from"./@vue/runtime-core-C6bnekPw.js";import{y as C,n as u,q as rt}from"./@vue/reactivity-DiY1c2vO.js";import{o as nt,Q as n}from"./@vue/shared-mAAVTE9n.js";import{_ as it}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const lt={class:"im-chat-record-panel"},ct={class:"toolbar mb-3"},mt={class:"chat-wrap"},dt={key:0,class:"chat-list"},pt={class:"meta"},_t={class:"name"},ut={class:"time"},ft={class:"bubble"},yt={key:0,class:"friendly-text"},gt={class:"friendly-main"},vt={key:0,class:"friendly-sub"},ht={key:1,class:"text-content"},wt={key:2,class:"text-content"},kt={key:3,class:"muted"},It=tt({__name:"ImChatRecordPanel",props:{diagnosisId:{}},setup(M,{expose:B}){const p=M,m=u(!1),f=u(!1),y=rt([]),L=u(""),g=u(""),N={text:"",image:"图片",file:"文件",sound:"语音",video:"视频",location:"位置",custom:"自定义",face:"表情",other:""},h=ot(()=>y.value.map(t=>{const a=P(t);let i="";return a!=null&&a.tag?i=a.tag:i=N[t.msg_type]||(t.msg_type!=="other"?t.msg_type:""),{raw:t,friendly:a,tag:i}}));function D(t){if(t==null||!t)return"—";const a=t>1e12?Math.floor(t/1e3):t;return Q.unix(a).format("YYYY-MM-DD HH:mm:ss")}function P(t){const a=(t.text||"").trim();if(!a)return null;const i=a.startsWith("{")&&(/\bbusinessID\b/.test(a)||/\bcmd\b/.test(a));return t.msg_type==="custom"||i?Z(a):null}function S(t){return t.is_from_doctor?t.from_staff_name?`医生(${t.from_staff_name})`:"医生/员工":g.value?`患者(${g.value})`:"患者"}async function w(){if(p.diagnosisId){m.value=!0;try{const t=await X({diagnosis_id:p.diagnosisId,only_archived:1});y.value=(t==null?void 0:t.lists)||[],L.value=(t==null?void 0:t.patient_im_id)||"",g.value=(t==null?void 0:t.patient_name)||""}catch(t){console.error(t),y.value=[]}finally{m.value=!1}}}function k(){w()}async function T(){if(p.diagnosisId){f.value=!0;try{await K({diagnosis_id:p.diagnosisId}),x.success('已发起后台同步,几秒后请点击"重新加载已归档"查看新消息')}catch(t){console.error(t),x.error("发起同步失败")}finally{f.value=!1}}}return et(()=>p.diagnosisId,()=>{w()},{immediate:!0}),B({refresh:k}),(t,a)=>{const i=F,I=H,b=G,Y=j,A=q,R=O,V=J,z=$;return s(),o("div",lt,[l(i,{type:"info","show-icon":"",closable:!1,class:"mb-4",title:"说明"},{default:c(()=>[...a[0]||(a[0]=[r("p",{class:"panel-tip"},[d(" 展示单聊记录:已合并患者 与 "),r("strong",null,"所有医生 / 医助账号"),d("分别产生的会话,按时间排序。 数据由后台定时任务从腾讯云 IM 漫游消息同步至本地归档;点击下方按钮可立即触发后台同步。 ")],-1)])]),_:1}),r("div",ct,[l(b,{type:"primary",link:"",loading:f.value,onClick:T},{default:c(()=>[l(I,{class:"mr-1"},{default:c(()=>[l(C(U))]),_:1}),a[1]||(a[1]=d(" 同步最新(后台异步) ",-1))]),_:1},8,["loading"]),l(b,{type:"primary",link:"",loading:m.value,onClick:k},{default:c(()=>[l(I,{class:"mr-1"},{default:c(()=>[l(C(W))]),_:1}),a[2]||(a[2]=d(" 重新加载已归档 ",-1))]),_:1},8,["loading"])]),at((s(),o("div",mt,[!m.value&&h.value.length?(s(),o("div",dt,[(s(!0),o(E,null,st(h.value,e=>(s(),o("div",{key:e.raw.msg_id,class:nt(["chat-row",e.raw.is_from_doctor?"from-doctor":"from-patient"])},[r("div",pt,[r("span",_t,n(S(e.raw)),1),r("span",ut,n(D(e.raw.time)),1),e.tag?(s(),_(Y,{key:0,size:"small",type:"info",class:"ml-2"},{default:c(()=>[d(n(e.tag),1)]),_:2},1024)):v("",!0)]),r("div",ft,[e.raw.msg_type==="image"&&e.raw.image_url?(s(),_(A,{key:0,src:e.raw.image_url,"preview-src-list":[e.raw.image_url],fit:"contain",class:"chat-img"},null,8,["src","preview-src-list"])):(e.raw.msg_type==="file"||e.raw.msg_type==="sound"||e.raw.msg_type==="video")&&e.raw.file_url?(s(),_(R,{key:1,href:e.raw.file_url,target:"_blank",type:"primary"},{default:c(()=>[d(n(e.raw.file_name||"打开文件"),1)]),_:2},1032,["href"])):(s(),o(E,{key:2},[e.friendly?(s(),o("div",yt,[r("div",gt,n(e.friendly.main),1),e.friendly.sub?(s(),o("div",vt,n(e.friendly.sub),1)):v("",!0)])):e.raw.msg_type==="text"&&e.raw.text?(s(),o("div",ht,n(e.raw.text),1)):e.raw.text?(s(),o("div",wt,n(e.raw.text),1)):(s(),o("span",kt,"(无法展示该消息类型)"))],64))])],2))),128))])):m.value?v("",!0):(s(),_(V,{key:1,description:"暂无 IM 聊天记录"}))])),[[z,m.value]])])}}}),le=it(It,[["__scopeId","data-v-58b699dd"]]);export{le as default}; +import{L as F,d as H,i as G,X as J,M as $,U as j,v as q,T as O,E as x}from"./element-plus-DGP1XOrU.js";import{d as Q}from"./dayjs-DG77mNTn.js";import{ae as U,M as W}from"./@element-plus/icons-vue-CbYn5zW9.js";import{as as X,at as K}from"./tcm-D-ZRccbe.js";import{p as Z}from"./im-business-message-parse-QKjFLn3X.js";import{f as tt,w as et,ak as s,I as o,a as l,aN as c,J as r,O as d,aP as at,F as E,ap as st,G as _,H as v,A as ot}from"./@vue/runtime-core-C6bnekPw.js";import{y as C,n as u,q as rt}from"./@vue/reactivity-DiY1c2vO.js";import{o as nt,Q as n}from"./@vue/shared-mAAVTE9n.js";import{_ as it}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const lt={class:"im-chat-record-panel"},ct={class:"toolbar mb-3"},mt={class:"chat-wrap"},dt={key:0,class:"chat-list"},pt={class:"meta"},_t={class:"name"},ut={class:"time"},ft={class:"bubble"},yt={key:0,class:"friendly-text"},gt={class:"friendly-main"},vt={key:0,class:"friendly-sub"},ht={key:1,class:"text-content"},wt={key:2,class:"text-content"},kt={key:3,class:"muted"},It=tt({__name:"ImChatRecordPanel",props:{diagnosisId:{}},setup(M,{expose:B}){const p=M,m=u(!1),f=u(!1),y=rt([]),L=u(""),g=u(""),N={text:"",image:"图片",file:"文件",sound:"语音",video:"视频",location:"位置",custom:"自定义",face:"表情",other:""},h=ot(()=>y.value.map(t=>{const a=P(t);let i="";return a!=null&&a.tag?i=a.tag:i=N[t.msg_type]||(t.msg_type!=="other"?t.msg_type:""),{raw:t,friendly:a,tag:i}}));function D(t){if(t==null||!t)return"—";const a=t>1e12?Math.floor(t/1e3):t;return Q.unix(a).format("YYYY-MM-DD HH:mm:ss")}function P(t){const a=(t.text||"").trim();if(!a)return null;const i=a.startsWith("{")&&(/\bbusinessID\b/.test(a)||/\bcmd\b/.test(a));return t.msg_type==="custom"||i?Z(a):null}function S(t){return t.is_from_doctor?t.from_staff_name?`医生(${t.from_staff_name})`:"医生/员工":g.value?`患者(${g.value})`:"患者"}async function w(){if(p.diagnosisId){m.value=!0;try{const t=await X({diagnosis_id:p.diagnosisId,only_archived:1});y.value=(t==null?void 0:t.lists)||[],L.value=(t==null?void 0:t.patient_im_id)||"",g.value=(t==null?void 0:t.patient_name)||""}catch(t){console.error(t),y.value=[]}finally{m.value=!1}}}function k(){w()}async function T(){if(p.diagnosisId){f.value=!0;try{await K({diagnosis_id:p.diagnosisId}),x.success('已发起后台同步,几秒后请点击"重新加载已归档"查看新消息')}catch(t){console.error(t),x.error("发起同步失败")}finally{f.value=!1}}}return et(()=>p.diagnosisId,()=>{w()},{immediate:!0}),B({refresh:k}),(t,a)=>{const i=F,I=H,b=G,Y=j,A=q,R=O,V=J,z=$;return s(),o("div",lt,[l(i,{type:"info","show-icon":"",closable:!1,class:"mb-4",title:"说明"},{default:c(()=>[...a[0]||(a[0]=[r("p",{class:"panel-tip"},[d(" 展示单聊记录:已合并患者 与 "),r("strong",null,"所有医生 / 医助账号"),d("分别产生的会话,按时间排序。 数据由后台定时任务从腾讯云 IM 漫游消息同步至本地归档;点击下方按钮可立即触发后台同步。 ")],-1)])]),_:1}),r("div",ct,[l(b,{type:"primary",link:"",loading:f.value,onClick:T},{default:c(()=>[l(I,{class:"mr-1"},{default:c(()=>[l(C(U))]),_:1}),a[1]||(a[1]=d(" 同步最新(后台异步) ",-1))]),_:1},8,["loading"]),l(b,{type:"primary",link:"",loading:m.value,onClick:k},{default:c(()=>[l(I,{class:"mr-1"},{default:c(()=>[l(C(W))]),_:1}),a[2]||(a[2]=d(" 重新加载已归档 ",-1))]),_:1},8,["loading"])]),at((s(),o("div",mt,[!m.value&&h.value.length?(s(),o("div",dt,[(s(!0),o(E,null,st(h.value,e=>(s(),o("div",{key:e.raw.msg_id,class:nt(["chat-row",e.raw.is_from_doctor?"from-doctor":"from-patient"])},[r("div",pt,[r("span",_t,n(S(e.raw)),1),r("span",ut,n(D(e.raw.time)),1),e.tag?(s(),_(Y,{key:0,size:"small",type:"info",class:"ml-2"},{default:c(()=>[d(n(e.tag),1)]),_:2},1024)):v("",!0)]),r("div",ft,[e.raw.msg_type==="image"&&e.raw.image_url?(s(),_(A,{key:0,src:e.raw.image_url,"preview-src-list":[e.raw.image_url],fit:"contain",class:"chat-img"},null,8,["src","preview-src-list"])):(e.raw.msg_type==="file"||e.raw.msg_type==="sound"||e.raw.msg_type==="video")&&e.raw.file_url?(s(),_(R,{key:1,href:e.raw.file_url,target:"_blank",type:"primary"},{default:c(()=>[d(n(e.raw.file_name||"打开文件"),1)]),_:2},1032,["href"])):(s(),o(E,{key:2},[e.friendly?(s(),o("div",yt,[r("div",gt,n(e.friendly.main),1),e.friendly.sub?(s(),o("div",vt,n(e.friendly.sub),1)):v("",!0)])):e.raw.msg_type==="text"&&e.raw.text?(s(),o("div",ht,n(e.raw.text),1)):e.raw.text?(s(),o("div",wt,n(e.raw.text),1)):(s(),o("span",kt,"(无法展示该消息类型)"))],64))])],2))),128))])):m.value?v("",!0):(s(),_(V,{key:1,description:"暂无 IM 聊天记录"}))])),[[z,m.value]])])}}}),le=it(It,[["__scopeId","data-v-58b699dd"]]);export{le as default}; diff --git a/server/public/admin/assets/MessageBubble-CrQG9KfW.js b/server/public/admin/assets/MessageBubble--o_EKRQx.js similarity index 97% rename from server/public/admin/assets/MessageBubble-CrQG9KfW.js rename to server/public/admin/assets/MessageBubble--o_EKRQx.js index e9477a9a0..53c2a3725 100644 --- a/server/public/admin/assets/MessageBubble-CrQG9KfW.js +++ b/server/public/admin/assets/MessageBubble--o_EKRQx.js @@ -1 +1 @@ -import{q as S,U as T,v as A,d as Q,i as U}from"./element-plus-DGP1XOrU.js";import{P as q,Q as D,R as H,G as J}from"./@element-plus/icons-vue-CbYn5zW9.js";import{t as K,_ as L}from"./index-fRv3NTFQ.js";import{f as O,ak as a,I as o,a as r,aN as c,O as d,J as i,G as g,H as x,F as P,A as u}from"./@vue/runtime-core-C6bnekPw.js";import{o as B,Q as n}from"./@vue/shared-mAAVTE9n.js";import{y as p}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const R={class:"msg-body"},j={class:"msg-meta"},W={class:"msg-sender"},X={class:"msg-time"},Y={key:0,class:"content-text"},Z={key:2,class:"content-pending"},ee=["src"],te={key:4,class:"content-pending"},se=["src"],ae={key:6,class:"content-pending"},ie={key:7,class:"content-file"},oe={class:"file-meta"},ne=["title"],le={class:"file-info"},me={key:8,class:"content-fallback"},re={class:"fallback-title"},ce={class:"fallback-desc"},ue=O({__name:"MessageBubble",props:{message:{}},setup(t){const l=t,w=u(()=>l.message.from_is_staff),m=u(()=>(l.message.media||[]).find(s=>s.status===1)??null),v=u(()=>{const e=l.message.from_profile;return e&&e.name||l.message.from_user}),z=u(()=>{const e=l.message.from_profile;return(e==null?void 0:e.avatar)||""}),F=u(()=>(v.value||"").slice(-2)||"?"),N=u(()=>{const e=l.message.msgtype;return e==="image"||e==="video"||e==="voice"?"bubble-media":e==="file"?"bubble-file":"bubble-text"}),C=u(()=>{switch(l.message.msgtype){case"link":return"[链接]";case"weapp":return"[小程序]";case"chatrecord":return"[聊天记录]";case"location":return"[位置]";case"card":return"[名片]";case"meeting":return"[会议]";case"docmsg":return"[文档]";case"mixed":return"[混合消息]";case"emotion":return"[表情]";default:return`[${l.message.msgtype}]`}});function E(e){return e?K(e*1e3,"mm-dd hh:MM"):""}function M(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(2)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`:""}function $(e){window.open(e,"_blank","noopener")}return(e,s)=>{var k,y,b,h;const I=S,_=T,V=A,f=Q,G=U;return a(),o("div",{class:B(["msg-bubble",{"is-staff":w.value}])},[r(I,{class:"msg-avatar",size:36,src:z.value},{default:c(()=>[d(n(F.value),1)]),_:1},8,["src"]),i("div",R,[i("div",j,[i("span",W,n(v.value),1),i("span",X,n(E(t.message.send_time)),1),t.message.action==="recall"?(a(),g(_,{key:0,size:"small",type:"info"},{default:c(()=>[...s[1]||(s[1]=[d(" 已撤回 ",-1)])]),_:1})):x("",!0)]),i("div",{class:B(["msg-content",N.value])},[t.message.msgtype==="text"||t.message.msgtype==="markdown"?(a(),o("div",Y,n(t.message.content),1)):t.message.msgtype==="image"&&((k=m.value)!=null&&k.file_url)?(a(),g(V,{key:1,src:m.value.file_url,"preview-src-list":[m.value.file_url],fit:"contain",class:"content-image","hide-on-click-modal":""},null,8,["src","preview-src-list"])):t.message.msgtype==="image"?(a(),o("div",Z,[r(f,null,{default:c(()=>[r(p(q))]),_:1}),s[2]||(s[2]=i("span",null,"图片下载中…",-1))])):t.message.msgtype==="video"&&((y=m.value)!=null&&y.file_url)?(a(),o("video",{key:3,src:m.value.file_url,controls:"",class:"content-video"},null,8,ee)):t.message.msgtype==="video"?(a(),o("div",te,[r(f,null,{default:c(()=>[r(p(D))]),_:1}),s[3]||(s[3]=i("span",null,"视频下载中…",-1))])):t.message.msgtype==="voice"&&((b=m.value)!=null&&b.file_url)?(a(),o("audio",{key:5,src:m.value.file_url,controls:"",class:"content-audio"},null,8,se)):t.message.msgtype==="voice"?(a(),o("div",ae,[r(f,null,{default:c(()=>[r(p(H))]),_:1}),i("span",null,"语音下载中…("+n(t.message.play_length)+"s)",1)])):t.message.msgtype==="file"?(a(),o("div",ie,[r(f,{size:24},{default:c(()=>[r(p(J))]),_:1}),i("div",oe,[i("div",{class:"file-name",title:t.message.file_name},n(t.message.file_name||"未命名文件"),9,ne),i("div",le,[d(n(M(t.message.file_size))+" ",1),t.message.file_ext?(a(),o(P,{key:0},[d("· "+n(t.message.file_ext),1)],64)):x("",!0)])]),(h=m.value)!=null&&h.file_url?(a(),g(G,{key:0,size:"small",type:"primary",link:"",onClick:s[0]||(s[0]=de=>$(m.value.file_url))},{default:c(()=>[...s[4]||(s[4]=[d(" 下载 ",-1)])]),_:1})):(a(),g(_,{key:1,size:"small",type:"info"},{default:c(()=>[...s[5]||(s[5]=[d("下载中…",-1)])]),_:1}))])):(a(),o("div",me,[i("div",re,n(C.value),1),i("div",ce,n(t.message.content),1)]))],2)])],2)}}}),We=L(ue,[["__scopeId","data-v-80799394"]]);export{We as default}; +import{q as S,U as T,v as A,d as Q,i as U}from"./element-plus-DGP1XOrU.js";import{P as q,Q as D,R as H,G as J}from"./@element-plus/icons-vue-CbYn5zW9.js";import{t as K,_ as L}from"./index-J_eFER10.js";import{f as O,ak as a,I as o,a as r,aN as c,O as d,J as i,G as g,H as x,F as P,A as u}from"./@vue/runtime-core-C6bnekPw.js";import{o as B,Q as n}from"./@vue/shared-mAAVTE9n.js";import{y as p}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const R={class:"msg-body"},j={class:"msg-meta"},W={class:"msg-sender"},X={class:"msg-time"},Y={key:0,class:"content-text"},Z={key:2,class:"content-pending"},ee=["src"],te={key:4,class:"content-pending"},se=["src"],ae={key:6,class:"content-pending"},ie={key:7,class:"content-file"},oe={class:"file-meta"},ne=["title"],le={class:"file-info"},me={key:8,class:"content-fallback"},re={class:"fallback-title"},ce={class:"fallback-desc"},ue=O({__name:"MessageBubble",props:{message:{}},setup(t){const l=t,w=u(()=>l.message.from_is_staff),m=u(()=>(l.message.media||[]).find(s=>s.status===1)??null),v=u(()=>{const e=l.message.from_profile;return e&&e.name||l.message.from_user}),z=u(()=>{const e=l.message.from_profile;return(e==null?void 0:e.avatar)||""}),F=u(()=>(v.value||"").slice(-2)||"?"),N=u(()=>{const e=l.message.msgtype;return e==="image"||e==="video"||e==="voice"?"bubble-media":e==="file"?"bubble-file":"bubble-text"}),C=u(()=>{switch(l.message.msgtype){case"link":return"[链接]";case"weapp":return"[小程序]";case"chatrecord":return"[聊天记录]";case"location":return"[位置]";case"card":return"[名片]";case"meeting":return"[会议]";case"docmsg":return"[文档]";case"mixed":return"[混合消息]";case"emotion":return"[表情]";default:return`[${l.message.msgtype}]`}});function E(e){return e?K(e*1e3,"mm-dd hh:MM"):""}function M(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(2)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`:""}function $(e){window.open(e,"_blank","noopener")}return(e,s)=>{var k,y,b,h;const I=S,_=T,V=A,f=Q,G=U;return a(),o("div",{class:B(["msg-bubble",{"is-staff":w.value}])},[r(I,{class:"msg-avatar",size:36,src:z.value},{default:c(()=>[d(n(F.value),1)]),_:1},8,["src"]),i("div",R,[i("div",j,[i("span",W,n(v.value),1),i("span",X,n(E(t.message.send_time)),1),t.message.action==="recall"?(a(),g(_,{key:0,size:"small",type:"info"},{default:c(()=>[...s[1]||(s[1]=[d(" 已撤回 ",-1)])]),_:1})):x("",!0)]),i("div",{class:B(["msg-content",N.value])},[t.message.msgtype==="text"||t.message.msgtype==="markdown"?(a(),o("div",Y,n(t.message.content),1)):t.message.msgtype==="image"&&((k=m.value)!=null&&k.file_url)?(a(),g(V,{key:1,src:m.value.file_url,"preview-src-list":[m.value.file_url],fit:"contain",class:"content-image","hide-on-click-modal":""},null,8,["src","preview-src-list"])):t.message.msgtype==="image"?(a(),o("div",Z,[r(f,null,{default:c(()=>[r(p(q))]),_:1}),s[2]||(s[2]=i("span",null,"图片下载中…",-1))])):t.message.msgtype==="video"&&((y=m.value)!=null&&y.file_url)?(a(),o("video",{key:3,src:m.value.file_url,controls:"",class:"content-video"},null,8,ee)):t.message.msgtype==="video"?(a(),o("div",te,[r(f,null,{default:c(()=>[r(p(D))]),_:1}),s[3]||(s[3]=i("span",null,"视频下载中…",-1))])):t.message.msgtype==="voice"&&((b=m.value)!=null&&b.file_url)?(a(),o("audio",{key:5,src:m.value.file_url,controls:"",class:"content-audio"},null,8,se)):t.message.msgtype==="voice"?(a(),o("div",ae,[r(f,null,{default:c(()=>[r(p(H))]),_:1}),i("span",null,"语音下载中…("+n(t.message.play_length)+"s)",1)])):t.message.msgtype==="file"?(a(),o("div",ie,[r(f,{size:24},{default:c(()=>[r(p(J))]),_:1}),i("div",oe,[i("div",{class:"file-name",title:t.message.file_name},n(t.message.file_name||"未命名文件"),9,ne),i("div",le,[d(n(M(t.message.file_size))+" ",1),t.message.file_ext?(a(),o(P,{key:0},[d("· "+n(t.message.file_ext),1)],64)):x("",!0)])]),(h=m.value)!=null&&h.file_url?(a(),g(G,{key:0,size:"small",type:"primary",link:"",onClick:s[0]||(s[0]=de=>$(m.value.file_url))},{default:c(()=>[...s[4]||(s[4]=[d(" 下载 ",-1)])]),_:1})):(a(),g(_,{key:1,size:"small",type:"info"},{default:c(()=>[...s[5]||(s[5]=[d("下载中…",-1)])]),_:1}))])):(a(),o("div",me,[i("div",re,n(C.value),1),i("div",ce,n(t.message.content),1)]))],2)])],2)}}}),We=L(ue,[["__scopeId","data-v-80799394"]]);export{We as default}; diff --git a/server/public/admin/assets/NoteTimeline-DVNRRysO.js b/server/public/admin/assets/NoteTimeline-DqVO9iO4.js similarity index 93% rename from server/public/admin/assets/NoteTimeline-DVNRRysO.js rename to server/public/admin/assets/NoteTimeline-DqVO9iO4.js index 845fa7e0d..f3e72a45a 100644 --- a/server/public/admin/assets/NoteTimeline-DVNRRysO.js +++ b/server/public/admin/assets/NoteTimeline-DqVO9iO4.js @@ -1,2 +1,2 @@ -import{i as se,X as ne,C as le,W as ae,v as re,d as me,a as de}from"./element-plus-DGP1XOrU.js";import{_ as pe}from"./picker-C0hwSppU.js";import{e as ue,c as ce,k as g,_ as ge}from"./index-fRv3NTFQ.js";import{s as U}from"./@vue/runtime-dom-DDAG46FW.js";import{b as z,G as fe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{a as P,d as ve}from"./patient-DzLGoG87.js";import{h as _e}from"./perm-CTlz8z1G.js";import{f as ye,w as he,ak as o,I as n,G as k,aN as r,O as M,H as p,a as l,J as m,F as w,ap as N,A as ke}from"./@vue/runtime-core-C6bnekPw.js";import{n as f,y as V}from"./@vue/reactivity-DiY1c2vO.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const we={class:"note-timeline-wrap"},Ie={key:0,class:"timeline-actions"},Ce={class:"upload-trigger"},xe={class:"upload-trigger"},Ee={key:1,class:"note-timeline"},Ne={class:"timeline-date"},Ve={class:"timeline-body"},be={key:0,class:"timeline-content"},Se={key:1,class:"timeline-images"},Ae={key:2,class:"timeline-images"},De={key:0,class:"thumb-wrap"},Be={key:1,class:"file-wrap"},Ue=["href","title"],ze={class:"file-name"},O=8e3,Pe=ye({__name:"NoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(d,{emit:X}){const u=d,I=X,j=ke(()=>_e(["doctor.appointment/addDoctorNote"])),v=f(!1),C=f(""),b=f(!1),H=ue(),_=t=>H.getImageUrl(t),S=f([]),A=f([]),y=f(0),h=f(0),J=["jpg","jpeg","png","gif","bmp","webp","svg"],D=t=>{var s;const e=((s=t.split(".").pop())==null?void 0:s.toLowerCase().split("?")[0])||"";return J.includes(e)},$=t=>{var s;const e=t.split("/");return decodeURIComponent(((s=e[e.length-1])==null?void 0:s.split("?")[0])||"文件")},Q=t=>t.filter(D).map(_),Z=(t,e)=>{const s=t.filter(D),x=t[e];return s.indexOf(x)},q=t=>t?t.split(` +import{i as se,X as ne,C as le,W as ae,v as re,d as me,a as de}from"./element-plus-DGP1XOrU.js";import{_ as pe}from"./picker-lbwHqE-a.js";import{e as ue,c as ce,k as g,_ as ge}from"./index-J_eFER10.js";import{s as U}from"./@vue/runtime-dom-DDAG46FW.js";import{b as z,G as fe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{a as P,d as ve}from"./patient-L-xV50Pi.js";import{h as _e}from"./perm-8cp9D7Ag.js";import{f as ye,w as he,ak as o,I as n,G as k,aN as r,O as M,H as p,a as l,J as m,F as w,ap as N,A as ke}from"./@vue/runtime-core-C6bnekPw.js";import{n as f,y as V}from"./@vue/reactivity-DiY1c2vO.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const we={class:"note-timeline-wrap"},Ie={key:0,class:"timeline-actions"},Ce={class:"upload-trigger"},xe={class:"upload-trigger"},Ee={key:1,class:"note-timeline"},Ne={class:"timeline-date"},Ve={class:"timeline-body"},be={key:0,class:"timeline-content"},Se={key:1,class:"timeline-images"},Ae={key:2,class:"timeline-images"},De={key:0,class:"thumb-wrap"},Be={key:1,class:"file-wrap"},Ue=["href","title"],ze={class:"file-name"},O=8e3,Pe=ye({__name:"NoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(d,{emit:X}){const u=d,I=X,j=ke(()=>_e(["doctor.appointment/addDoctorNote"])),v=f(!1),C=f(""),b=f(!1),H=ue(),_=t=>H.getImageUrl(t),S=f([]),A=f([]),y=f(0),h=f(0),J=["jpg","jpeg","png","gif","bmp","webp","svg"],D=t=>{var s;const e=((s=t.split(".").pop())==null?void 0:s.toLowerCase().split("?")[0])||"";return J.includes(e)},$=t=>{var s;const e=t.split("/");return decodeURIComponent(((s=e[e.length-1])==null?void 0:s.split("?")[0])||"文件")},Q=t=>t.filter(D).map(_),Z=(t,e)=>{const s=t.filter(D),x=t[e];return s.indexOf(x)},q=t=>t?t.split(` `).filter(Boolean):[],K=t=>{if(!u.diagnosisId)return;const e=Array.isArray(t)?t:[t];if(e.length<=y.value){y.value=e.length;return}const s=e.slice(y.value);y.value=e.length,s.length>0&&P({diagnosis_id:u.diagnosisId,tongue_images:s}).then(()=>{g.msgSuccess("舌苔照片已添加"),I("refresh")})},Y=t=>{if(!u.diagnosisId)return;const e=Array.isArray(t)?t:[t];if(e.length<=h.value){h.value=e.length;return}const s=e.slice(h.value);h.value=e.length,s.length>0&&P({diagnosis_id:u.diagnosisId,report_files:s}).then(()=>{g.msgSuccess("检查报告已添加"),I("refresh")})};he(()=>u.notes,()=>{S.value=[],A.value=[],y.value=0,h.value=0});const ee=async()=>{if(!u.diagnosisId){g.msgWarning("当前无诊单,无法添加备注");return}const t=C.value.trim();if(!t){g.msgWarning("请输入备注内容");return}b.value=!0;try{await P({diagnosis_id:u.diagnosisId,content:t}),g.msgSuccess("备注保存成功"),C.value="",v.value=!1,I("refresh")}catch(e){g.msgError((e==null?void 0:e.message)||"保存失败")}finally{b.value=!1}},B=async(t,e,s)=>{try{await de.confirm("确认删除?","提示",{type:"warning"})}catch{return}await ve({note_id:t,image_type:e,image_path:s}),g.msgSuccess("已删除"),I("refresh")};return(t,e)=>{const s=se,x=ce,F=pe,G=re,E=me,te=ne,ie=le,oe=ae;return o(),n("div",we,[!d.readonly&&d.diagnosisId?(o(),n("div",Ie,[j.value?(o(),k(s,{key:0,type:"primary",plain:"",size:"small",onClick:e[0]||(e[0]=i=>v.value=!0)},{default:r(()=>[...e[6]||(e[6]=[M(" 添加备注 ",-1)])]),_:1})):p("",!0),l(F,{modelValue:S.value,"onUpdate:modelValue":e[1]||(e[1]=i=>S.value=i),limit:99,type:"image","exclude-domain":!0,onChange:K},{upload:r(()=>[m("div",Ce,[l(x,{size:20,name:"el-icon-Plus"}),e[7]||(e[7]=m("span",null,"舌苔照片",-1))])]),_:1},8,["modelValue"]),l(F,{modelValue:A.value,"onUpdate:modelValue":e[2]||(e[2]=i=>A.value=i),limit:99,type:"file","exclude-domain":!0,onChange:Y},{upload:r(()=>[m("div",xe,[l(x,{size:20,name:"el-icon-Plus"}),e[8]||(e[8]=m("span",null,"检查报告",-1))])]),_:1},8,["modelValue"])])):p("",!0),d.notes.length?(o(),n("div",Ee,[(o(!0),n(w,null,N(d.notes,i=>{var L,R;return o(),n("div",{key:i.id,class:"timeline-node"},[e[11]||(e[11]=m("div",{class:"timeline-dot"},null,-1)),m("div",Ne,T(i.note_date),1),m("div",Ve,[i.content?(o(),n("div",be,[(o(!0),n(w,null,N(q(i.content),(a,c)=>(o(),n("div",{key:c,class:"content-line"},T(a),1))),128))])):p("",!0),(L=i.tongue_images)!=null&&L.length?(o(),n("div",Se,[e[9]||(e[9]=m("span",{class:"images-label"},"舌苔照片",-1)),(o(!0),n(w,null,N(i.tongue_images,(a,c)=>(o(),n("div",{key:c,class:"thumb-wrap"},[l(G,{src:_(a),"preview-src-list":i.tongue_images.map(_),"initial-index":c,"z-index":O,fit:"cover",class:"timeline-thumb","preview-teleported":""},null,8,["src","preview-src-list","initial-index"]),d.readonly?p("",!0):(o(),k(E,{key:0,class:"thumb-delete",onClick:U(W=>B(i.id,"tongue_images",a),["stop"])},{default:r(()=>[l(V(z))]),_:1},8,["onClick"]))]))),128))])):p("",!0),(R=i.report_files)!=null&&R.length?(o(),n("div",Ae,[e[10]||(e[10]=m("span",{class:"images-label"},"检查报告",-1)),(o(!0),n(w,null,N(i.report_files,(a,c)=>(o(),n(w,{key:c},[D(a)?(o(),n("div",De,[l(G,{src:_(a),"preview-src-list":Q(i.report_files),"initial-index":Z(i.report_files,c),"z-index":O,fit:"cover",class:"timeline-thumb","preview-teleported":""},null,8,["src","preview-src-list","initial-index"]),d.readonly?p("",!0):(o(),k(E,{key:0,class:"thumb-delete",onClick:U(W=>B(i.id,"report_files",a),["stop"])},{default:r(()=>[l(V(z))]),_:1},8,["onClick"]))])):(o(),n("div",Be,[m("a",{href:_(a),target:"_blank",class:"file-link",title:$(a)},[l(E,{size:20},{default:r(()=>[l(V(fe))]),_:1}),m("span",ze,T($(a)),1)],8,Ue),d.readonly?p("",!0):(o(),k(E,{key:0,class:"file-delete",onClick:U(W=>B(i.id,"report_files",a),["stop"])},{default:r(()=>[l(V(z))]),_:1},8,["onClick"]))]))],64))),128))])):p("",!0)])])}),128))])):p("",!0),!d.notes.length&&d.readonly?(o(),k(te,{key:2,description:"暂无备注","image-size":48})):p("",!0),l(oe,{modelValue:v.value,"onUpdate:modelValue":e[5]||(e[5]=i=>v.value=i),title:"添加备注",width:"480px","append-to-body":""},{footer:r(()=>[l(s,{onClick:e[4]||(e[4]=i=>v.value=!1)},{default:r(()=>[...e[12]||(e[12]=[M("取消",-1)])]),_:1}),l(s,{type:"primary",loading:b.value,onClick:ee},{default:r(()=>[...e[13]||(e[13]=[M("保存",-1)])]),_:1},8,["loading"])]),default:r(()=>[l(ie,{modelValue:C.value,"onUpdate:modelValue":e[3]||(e[3]=i=>C.value=i),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"])])}}}),Mt=ge(Pe,[["__scopeId","data-v-e548427d"]]);export{Mt as default}; diff --git a/server/public/admin/assets/OrderActionHost-B3ThVYvr.js b/server/public/admin/assets/OrderActionHost-C510XVGT.js similarity index 98% rename from server/public/admin/assets/OrderActionHost-B3ThVYvr.js rename to server/public/admin/assets/OrderActionHost-C510XVGT.js index b8bb9cdf9..bdda93e7c 100644 --- a/server/public/admin/assets/OrderActionHost-B3ThVYvr.js +++ b/server/public/admin/assets/OrderActionHost-C510XVGT.js @@ -1 +1 @@ -import{p as qe,i as De,d as Te,n as Re,o as Be,W as $e,L as Fe,C as Me,D as Ie,B as je,Q as Le,R as ze,U as He,h as Ge,M as We,G as Je,J as Qe,g as Ke,a as X}from"./element-plus-DGP1XOrU.js";import{s as ue}from"./@vue/runtime-dom-DDAG46FW.js";import{e as Xe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{k as O,_ as Ye}from"./index-fRv3NTFQ.js";import Ze from"./PrescriptionOrderDetailDrawer-O5Yv7ynk.js";import{m as de,c as ea,d as aa,e as la,g as ta,h as ra,i as na,j as oa,k as ia,l as ua,n as da,o as sa,p as pa}from"./first_visit-BYIyH6Y1.js";import{h as ma}from"./perm-CTlz8z1G.js";import{C as fa}from"./prescription-order-utils-CpKeuzsa.js";import{f as _a,ak as g,I as N,F as P,a as l,aN as t,G as Y,O as s,ap as C,H as ca,aP as ya,J as Z,A as ba}from"./@vue/runtime-core-C6bnekPw.js";import{y as W,n as f,r as z}from"./@vue/reactivity-DiY1c2vO.js";import{o as va,Q as se}from"./@vue/shared-mAAVTE9n.js";function y(b){return ma([b])}function ga(b){return fa(b)}function ka(){return y("tcm.prescriptionOrder/detail")}function pe(b){const m=[],_=Number(b.fulfillment_status),U=Number(b.prescription_audit_status),w=Number(b.payment_slip_audit_status),d=ga(b);ka()&&y("tcm.prescriptionOrder/edit")&&_===1&&!d&&m.push({key:"edit",label:"编辑订单"}),y("tcm.prescriptionOrder/auditPrescription")&&U===0&&![3,4,6].includes(_)&&m.push({key:"audit_prescription",label:"处方审核"}),y("tcm.prescriptionOrder/auditPrescription")&&[1,2].includes(U)&&w===0&&![3,4,6].includes(_)&&!d&&m.push({key:"revoke_rx_audit",label:"撤回处方审核"}),y("tcm.prescriptionOrder/auditPayment")&&U===1&&w===0&&![3,4].includes(_)&&m.push({key:"audit_payment",label:"支付单审核"}),y("tcm.prescriptionOrder/auditPayment")&&U===1&&[1,2].includes(w)&&![3,4,6].includes(_)&&m.push({key:"revoke_pay_audit",label:"撤回支付审核"}),y("tcm.prescriptionOrder/ddcode")&&m.push({key:"ddcode",label:"修改快递单号"}),y("tcm.prescriptionOrder/ship")&&_===2&&m.push({key:"ship",label:"确认发货"});const o=Math.round((Number(b.amount)||0)*100)/100,R=Math.round((Number(b.linked_pay_paid_total)||0)*100)/100;return y("tcm.prescriptionOrder/addPayOrder")&&[5,6].includes(_)&&RJ.value==="prescription"?"处方业务审核":"关联支付单审核"),F=f(!1),x=z({express_company:"auto",tracking_number:""}),M=f(!1),c=z({ship_mode:"gancao",express_company:"auto",tracking_number:""}),S=f(!1),H=f(!1),ee=f({}),n=z({recipient_name:"",recipient_phone:"",shipping_address:"",fee_type:3,amount:0,express_company:"auto",tracking_number:"",remark_assistant:"",remark_extra:""}),I=f(!1),u=z({order_type:3,pay_amount:0,pay_remark:"",completion_request:0,pay_create_type:"fubei"}),j=f(!1),G=f(3),L=f(!1),k=z({reason:"",refund_amount:void 0});function ae(r){return Number(r||0).toFixed(2)}function ye(r){return String(r||"").toLowerCase()==="direct"?"direct":"gancao"}function be(r){var e;(e=w.value)==null||e.open(Number(r.id))}async function ve(r){const e=await de({id:r});return(e==null?void 0:e.data)??e??null}async function ge(r){d.value=r,S.value=!0,H.value=!0;try{const e=await ve(Number(r.id));if(!e)throw new Error("订单详情加载失败");ee.value=e,n.recipient_name=String(e.recipient_name||""),n.recipient_phone=String(e.recipient_phone||""),n.shipping_address=String(e.shipping_address||""),n.fee_type=Number(e.fee_type||3),n.amount=Number(e.amount||0),n.express_company=String(e.express_company||"auto")||"auto",n.tracking_number=String(e.tracking_number||""),n.remark_assistant=String(e.remark_assistant||""),n.remark_extra=String(e.remark_extra||"")}catch(e){O.msgError((e==null?void 0:e.message)||"订单详情加载失败"),S.value=!1}finally{H.value=!1}}function le(r,e){switch(d.value=r,e){case"edit":ge(r);break;case"audit_prescription":case"audit_payment":J.value=e==="audit_prescription"?"prescription":"payment",$.value="",B.value=!0;break;case"revoke_rx_audit":re("prescription");break;case"revoke_pay_audit":re("payment");break;case"ddcode":x.express_company=String(r.express_company||"auto")||"auto",x.tracking_number=String(r.tracking_number||""),F.value=!0;break;case"ship":c.ship_mode=ye(r.ship_mode),c.express_company=String(r.express_company||"auto")||"auto",c.tracking_number=String(r.tracking_number||""),M.value=!0;break;case"add_pay_order":{const Q=Math.max(0,Number(r.amount||0)-Number(r.linked_pay_paid_total||0));u.order_type=3,u.pay_amount=Number(Q.toFixed(2)),u.pay_remark="",u.completion_request=0,u.pay_create_type="fubei",I.value=!0;break}case"complete":G.value=3,j.value=!0;break;case"refund":k.reason="",k.refund_amount=void 0,L.value=!0;break;case"withdraw":Oe();break;case"upload_pharmacy":Ne();break}}async function V(r){var e;O.msgSuccess(r),U("changed"),await((e=w.value)==null?void 0:e.refreshIfCurrent(d.value.id))}async function te(r){if(r==="reject"&&!$.value.trim()){O.msgError("驳回时必须填写审核意见");return}o.value=!0;try{const e={id:Number(d.value.id),action:r,remark:$.value.trim()};J.value==="prescription"?await ea(e):await aa(e),B.value=!1,await V(r==="approve"?"审核通过成功":"订单已驳回")}catch{}finally{o.value=!1}}async function re(r){try{await X.confirm(`确认撤回${r==="prescription"?"处方":"支付单"}审核并恢复为待审核吗?`,"撤回审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),r==="prescription"?await la({id:Number(d.value.id)}):await ta({id:Number(d.value.id)}),await V("审核已撤回")}catch{}}async function ne(){if(!x.tracking_number.trim()){O.msgError("请填写快递单号");return}o.value=!0;try{await ra({id:Number(d.value.id),express_company:x.express_company||"auto",tracking_number:x.tracking_number.trim()}),F.value=!1,await V("快递单号已保存")}catch{}finally{o.value=!1}}async function oe(){if(!c.tracking_number.trim()){O.msgError("请填写快递单号");return}o.value=!0;try{await na({id:Number(d.value.id),ship_mode:c.ship_mode,express_company:c.express_company||"auto",tracking_number:c.tracking_number.trim()}),M.value=!1,await V("确认发货成功")}catch{}finally{o.value=!1}}async function ke(){if(!n.recipient_name.trim()||!n.recipient_phone.trim()||!n.shipping_address.trim()){O.msgError("请完整填写收货人、收货手机和收货地址");return}if(Number(n.amount)<0){O.msgError("订单金额不能为负数");return}const r=ee.value;o.value=!0;try{await oa({id:Number(d.value.id),recipient_name:n.recipient_name.trim(),recipient_phone:n.recipient_phone.trim(),shipping_province:r.shipping_province||"",shipping_city:r.shipping_city||"",shipping_district:r.shipping_district||"",shipping_address:n.shipping_address.trim(),is_follow_up:Number(r.is_follow_up||0),medication_days:r.medication_days,dose_unit:r.dose_unit||"剂",dose_count:Number(r.dose_count||1),prev_staff:r.prev_staff||"",service_channel:r.service_channel||"",service_package:r.service_package||"",tracking_number:n.tracking_number.trim(),express_company:n.express_company||"auto",fee_type:Number(n.fee_type),amount:Number(n.amount),remark_extra:n.remark_extra.trim(),remark_assistant:n.remark_assistant.trim(),pay_order_ids:Array.isArray(r.pay_order_ids)?r.pay_order_ids:[]}),S.value=!1,await V("订单保存成功")}catch{}finally{o.value=!1}}async function Ve(){if(!(Number(u.pay_amount)>0)){O.msgError("补齐金额必须大于 0");return}o.value=!0;try{await ia({id:Number(d.value.id),order_type:Number(u.order_type),pay_amount:Number(u.pay_amount),pay_remark:u.pay_remark.trim(),completion_request:Number(u.completion_request),pay_create_type:u.pay_create_type}),I.value=!1,await V("支付单已新增,等待支付审核")}catch{}finally{o.value=!1}}async function we(){o.value=!0;try{await ua({id:Number(d.value.id),fulfillment_status:Number(G.value)}),j.value=!1,await V("订单状态已更新")}catch{}finally{o.value=!1}}async function xe(){if(!k.reason.trim()){O.msgError("请填写退款原因");return}o.value=!0;try{await da({id:Number(d.value.id),reason:k.reason.trim(),refund_amount:k.refund_amount===void 0?void 0:Number(k.refund_amount)}),L.value=!1,await V("退款成功")}catch{}finally{o.value=!1}}async function Oe(){try{await X.confirm("确认撤回该订单吗?撤回后当前订单将结束。","撤回订单",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await sa({id:Number(d.value.id)}),await V("订单已撤回")}catch{}}async function Ne(){try{await X.confirm("确认将该订单上传到订单设定的药房吗?","上传药房",{type:"warning",confirmButtonText:"确认上传",cancelButtonText:"取消"}),await pa({id:Number(d.value.id)}),await V("药方上传成功")}catch{}}return m({openDetail:be,openAction:le}),(r,e)=>{const Q=Te,p=De,Pe=Be,Ue=Re,Ee=qe,h=Fe,v=Me,E=$e,A=ze,q=Le,i=je,D=Ie,Ce=He,K=Ge,ie=Qe,Se=Je,he=Ke,Ae=We;return g(),N(P,null,[l(Ze,{ref_key:"detailDrawerRef",ref:w,readonly:"","append-to-body":"","detail-loader":W(de),"load-related-data":!1},{"header-actions":t(({detail:a})=>[W(pe)(a).length?(g(),Y(Ee,{key:0,trigger:"click",onCommand:T=>le(a,T)},{dropdown:t(()=>[l(Ue,null,{default:t(()=>[(g(!0),N(P,null,C(W(pe)(a),T=>(g(),Y(Pe,{key:T.key,command:T.key,class:va({"danger-menu-item":T.danger})},{default:t(()=>[s(se(T.label),1)]),_:2},1032,["command","class"]))),128))]),_:2},1024)]),default:t(()=>[l(p,{type:"primary",size:"small",plain:""},{default:t(()=>[e[38]||(e[38]=s(" 订单操作",-1)),l(Q,{class:"el-icon--right"},{default:t(()=>[l(W(Xe))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):ca("",!0)]),_:1},8,["detail-loader"]),l(E,{modelValue:B.value,"onUpdate:modelValue":e[4]||(e[4]=a=>B.value=a),title:ce.value,width:"480px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[1]||(e[1]=a=>B.value=!1)},{default:t(()=>[...e[39]||(e[39]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:e[2]||(e[2]=a=>te("approve"))},{default:t(()=>[...e[40]||(e[40]=[s("同意通过",-1)])]),_:1},8,["loading"]),l(p,{type:"danger",loading:o.value,onClick:e[3]||(e[3]=a=>te("reject"))},{default:t(()=>[...e[41]||(e[41]=[s("驳回",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:"通过时审核意见可不填;驳回时必须填写明确原因。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),l(v,{modelValue:$.value,"onUpdate:modelValue":e[0]||(e[0]=a=>$.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请输入审核意见"},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(E,{modelValue:F.value,"onUpdate:modelValue":e[8]||(e[8]=a=>F.value=a),title:"修改快递单号",width:"440px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[7]||(e[7]=a=>F.value=!1)},{default:t(()=>[...e[42]||(e[42]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:ne},{default:t(()=>[...e[43]||(e[43]=[s("保存",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(D,{"label-width":"92px",onSubmit:ue(ne,["prevent"])},{default:t(()=>[l(i,{label:"承运商"},{default:t(()=>[l(q,{modelValue:x.express_company,"onUpdate:modelValue":e[5]||(e[5]=a=>x.express_company=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(R,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"快递单号",required:""},{default:t(()=>[l(v,{modelValue:x.tracking_number,"onUpdate:modelValue":e[6]||(e[6]=a=>x.tracking_number=a),maxlength:"80",clearable:"",placeholder:"请输入快递单号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(E,{modelValue:M.value,"onUpdate:modelValue":e[12]||(e[12]=a=>M.value=a),title:"确认发货",width:"460px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[11]||(e[11]=a=>M.value=!1)},{default:t(()=>[...e[44]||(e[44]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:oe},{default:t(()=>[...e[45]||(e[45]=[s("确认发货",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:"确认后订单将进入“已发货”,请先核对发货方式和快递信息。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),l(D,{"label-width":"92px",onSubmit:ue(oe,["prevent"])},{default:t(()=>[l(i,{label:"发货方式"},{default:t(()=>[l(Ce,{type:c.ship_mode==="direct"?"warning":"success",effect:"plain"},{default:t(()=>[s(se(c.ship_mode==="direct"?"洛阳药房":"甘草药房"),1)]),_:1},8,["type"])]),_:1}),l(i,{label:"承运商"},{default:t(()=>[l(q,{modelValue:c.express_company,"onUpdate:modelValue":e[9]||(e[9]=a=>c.express_company=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(R,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"快递单号",required:""},{default:t(()=>[l(v,{modelValue:c.tracking_number,"onUpdate:modelValue":e[10]||(e[10]=a=>c.tracking_number=a),maxlength:"80",clearable:"",placeholder:"请输入快递单号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(E,{modelValue:S.value,"onUpdate:modelValue":e[23]||(e[23]=a=>S.value=a),title:"编辑订单",width:"680px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[22]||(e[22]=a=>S.value=!1)},{default:t(()=>[...e[46]||(e[46]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,disabled:H.value,onClick:ke},{default:t(()=>[...e[47]||(e[47]=[s("保存",-1)])]),_:1},8,["loading","disabled"])]),default:t(()=>[ya((g(),Y(D,{"label-width":"104px",class:"order-edit-form"},{default:t(()=>[Z("div",Va,[l(i,{label:"收货人",required:""},{default:t(()=>[l(v,{modelValue:n.recipient_name,"onUpdate:modelValue":e[13]||(e[13]=a=>n.recipient_name=a),maxlength:"50"},null,8,["modelValue"])]),_:1}),l(i,{label:"收货手机",required:""},{default:t(()=>[l(v,{modelValue:n.recipient_phone,"onUpdate:modelValue":e[14]||(e[14]=a=>n.recipient_phone=a),maxlength:"20"},null,8,["modelValue"])]),_:1}),l(i,{label:"费用类别",required:""},{default:t(()=>[l(q,{modelValue:n.fee_type,"onUpdate:modelValue":e[15]||(e[15]=a=>n.fee_type=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(me,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"订单金额",required:""},{default:t(()=>[l(K,{modelValue:n.amount,"onUpdate:modelValue":e[16]||(e[16]=a=>n.amount=a),min:0,precision:2,step:10,class:"w-full"},null,8,["modelValue"])]),_:1})]),l(i,{label:"收货地址",required:""},{default:t(()=>[l(v,{modelValue:n.shipping_address,"onUpdate:modelValue":e[17]||(e[17]=a=>n.shipping_address=a),maxlength:"500"},null,8,["modelValue"])]),_:1}),Z("div",wa,[l(i,{label:"承运商"},{default:t(()=>[l(q,{modelValue:n.express_company,"onUpdate:modelValue":e[18]||(e[18]=a=>n.express_company=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(R,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"快递单号"},{default:t(()=>[l(v,{modelValue:n.tracking_number,"onUpdate:modelValue":e[19]||(e[19]=a=>n.tracking_number=a),maxlength:"80",clearable:""},null,8,["modelValue"])]),_:1})]),l(i,{label:"医助备注"},{default:t(()=>[l(v,{modelValue:n.remark_assistant,"onUpdate:modelValue":e[20]||(e[20]=a=>n.remark_assistant=a),type:"textarea",rows:2,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"药房备注"},{default:t(()=>[l(v,{modelValue:n.remark_extra,"onUpdate:modelValue":e[21]||(e[21]=a=>n.remark_extra=a),type:"textarea",rows:2,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(h,{title:"保存后会沿用原订单编辑规则;非已发货订单的支付审核将重新变为待审核。",type:"info",closable:!1,"show-icon":""})]),_:1})),[[Ae,H.value]])]),_:1},8,["modelValue"]),l(E,{modelValue:I.value,"onUpdate:modelValue":e[30]||(e[30]=a=>I.value=a),title:"补齐支付单",width:"520px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[29]||(e[29]=a=>I.value=!1)},{default:t(()=>[...e[51]||(e[51]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:Ve},{default:t(()=>[...e[52]||(e[52]=[s("确认新增",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:`订单金额 ¥${ae(d.value.amount)},已关联支付 ¥${ae(d.value.linked_pay_paid_total)}`,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),l(D,{"label-width":"108px"},{default:t(()=>[l(i,{label:"支付单类型"},{default:t(()=>[l(q,{modelValue:u.order_type,"onUpdate:modelValue":e[24]||(e[24]=a=>u.order_type=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(fe,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"创建方式"},{default:t(()=>[l(Se,{modelValue:u.pay_create_type,"onUpdate:modelValue":e[25]||(e[25]=a=>u.pay_create_type=a)},{default:t(()=>[l(ie,{value:"fubei"},{default:t(()=>[...e[48]||(e[48]=[s("付呗支付",-1)])]),_:1}),l(ie,{value:"express_cod"},{default:t(()=>[...e[49]||(e[49]=[s("快递代收",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"补齐金额",required:""},{default:t(()=>[l(K,{modelValue:u.pay_amount,"onUpdate:modelValue":e[26]||(e[26]=a=>u.pay_amount=a),min:0,precision:2,step:10,class:"w-full"},null,8,["modelValue"])]),_:1}),l(i,{label:"支付备注"},{default:t(()=>[l(v,{modelValue:u.pay_remark,"onUpdate:modelValue":e[27]||(e[27]=a=>u.pay_remark=a),type:"textarea",rows:3,maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"完单申请"},{default:t(()=>[l(he,{modelValue:u.completion_request,"onUpdate:modelValue":e[28]||(e[28]=a=>u.completion_request=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[50]||(e[50]=Z("span",{class:"form-tip"},"同时提交完单申请",-1))]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(E,{modelValue:j.value,"onUpdate:modelValue":e[33]||(e[33]=a=>j.value=a),title:"完成订单",width:"480px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[32]||(e[32]=a=>j.value=!1)},{default:t(()=>[...e[53]||(e[53]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:we},{default:t(()=>[...e[54]||(e[54]=[s("确认完成",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:"请选择真实履约结果。退款必须使用单独的“退款”操作。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),l(D,{"label-width":"100px"},{default:t(()=>[l(i,{label:"结案状态",required:""},{default:t(()=>[l(q,{modelValue:G.value,"onUpdate:modelValue":e[31]||(e[31]=a=>G.value=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(_e,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(E,{modelValue:L.value,"onUpdate:modelValue":e[37]||(e[37]=a=>L.value=a),title:"订单退款",width:"500px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[36]||(e[36]=a=>L.value=!1)},{default:t(()=>[...e[55]||(e[55]=[s("取消",-1)])]),_:1}),l(p,{type:"danger",loading:o.value,onClick:xe},{default:t(()=>[...e[56]||(e[56]=[s("确认退款",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:"退款会同步更新关联支付单和订单金额;退款金额留空时按系统计算的最大可退金额处理。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),l(D,{"label-width":"100px"},{default:t(()=>[l(i,{label:"退款原因",required:""},{default:t(()=>[l(v,{modelValue:k.reason,"onUpdate:modelValue":e[34]||(e[34]=a=>k.reason=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"退款金额"},{default:t(()=>[l(K,{modelValue:k.refund_amount,"onUpdate:modelValue":e[35]||(e[35]=a=>k.refund_amount=a),min:0,precision:2,step:10,class:"w-full",placeholder:"留空则退最大可退金额"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}}}),Oa=Ye(xa,[["__scopeId","data-v-3c102918"]]),Ra=Object.freeze(Object.defineProperty({__proto__:null,default:Oa},Symbol.toStringTag,{value:"Module"}));export{Oa as O,Ra as a,ka as c,pe as m}; +import{p as qe,i as De,d as Te,n as Re,o as Be,W as $e,L as Fe,C as Me,D as Ie,B as je,Q as Le,R as ze,U as He,h as Ge,M as We,G as Je,J as Qe,g as Ke,a as X}from"./element-plus-DGP1XOrU.js";import{s as ue}from"./@vue/runtime-dom-DDAG46FW.js";import{e as Xe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{k as O,_ as Ye}from"./index-J_eFER10.js";import Ze from"./PrescriptionOrderDetailDrawer-C30zC4to.js";import{m as de,c as ea,d as aa,e as la,g as ta,h as ra,i as na,j as oa,k as ia,l as ua,n as da,o as sa,p as pa}from"./first_visit-lwfDQsu4.js";import{h as ma}from"./perm-8cp9D7Ag.js";import{C as fa}from"./prescription-order-utils-CpKeuzsa.js";import{f as _a,ak as g,I as N,F as P,a as l,aN as t,G as Y,O as s,ap as C,H as ca,aP as ya,J as Z,A as ba}from"./@vue/runtime-core-C6bnekPw.js";import{y as W,n as f,r as z}from"./@vue/reactivity-DiY1c2vO.js";import{o as va,Q as se}from"./@vue/shared-mAAVTE9n.js";function y(b){return ma([b])}function ga(b){return fa(b)}function ka(){return y("tcm.prescriptionOrder/detail")}function pe(b){const m=[],_=Number(b.fulfillment_status),U=Number(b.prescription_audit_status),w=Number(b.payment_slip_audit_status),d=ga(b);ka()&&y("tcm.prescriptionOrder/edit")&&_===1&&!d&&m.push({key:"edit",label:"编辑订单"}),y("tcm.prescriptionOrder/auditPrescription")&&U===0&&![3,4,6].includes(_)&&m.push({key:"audit_prescription",label:"处方审核"}),y("tcm.prescriptionOrder/auditPrescription")&&[1,2].includes(U)&&w===0&&![3,4,6].includes(_)&&!d&&m.push({key:"revoke_rx_audit",label:"撤回处方审核"}),y("tcm.prescriptionOrder/auditPayment")&&U===1&&w===0&&![3,4].includes(_)&&m.push({key:"audit_payment",label:"支付单审核"}),y("tcm.prescriptionOrder/auditPayment")&&U===1&&[1,2].includes(w)&&![3,4,6].includes(_)&&m.push({key:"revoke_pay_audit",label:"撤回支付审核"}),y("tcm.prescriptionOrder/ddcode")&&m.push({key:"ddcode",label:"修改快递单号"}),y("tcm.prescriptionOrder/ship")&&_===2&&m.push({key:"ship",label:"确认发货"});const o=Math.round((Number(b.amount)||0)*100)/100,R=Math.round((Number(b.linked_pay_paid_total)||0)*100)/100;return y("tcm.prescriptionOrder/addPayOrder")&&[5,6].includes(_)&&RJ.value==="prescription"?"处方业务审核":"关联支付单审核"),F=f(!1),x=z({express_company:"auto",tracking_number:""}),M=f(!1),c=z({ship_mode:"gancao",express_company:"auto",tracking_number:""}),S=f(!1),H=f(!1),ee=f({}),n=z({recipient_name:"",recipient_phone:"",shipping_address:"",fee_type:3,amount:0,express_company:"auto",tracking_number:"",remark_assistant:"",remark_extra:""}),I=f(!1),u=z({order_type:3,pay_amount:0,pay_remark:"",completion_request:0,pay_create_type:"fubei"}),j=f(!1),G=f(3),L=f(!1),k=z({reason:"",refund_amount:void 0});function ae(r){return Number(r||0).toFixed(2)}function ye(r){return String(r||"").toLowerCase()==="direct"?"direct":"gancao"}function be(r){var e;(e=w.value)==null||e.open(Number(r.id))}async function ve(r){const e=await de({id:r});return(e==null?void 0:e.data)??e??null}async function ge(r){d.value=r,S.value=!0,H.value=!0;try{const e=await ve(Number(r.id));if(!e)throw new Error("订单详情加载失败");ee.value=e,n.recipient_name=String(e.recipient_name||""),n.recipient_phone=String(e.recipient_phone||""),n.shipping_address=String(e.shipping_address||""),n.fee_type=Number(e.fee_type||3),n.amount=Number(e.amount||0),n.express_company=String(e.express_company||"auto")||"auto",n.tracking_number=String(e.tracking_number||""),n.remark_assistant=String(e.remark_assistant||""),n.remark_extra=String(e.remark_extra||"")}catch(e){O.msgError((e==null?void 0:e.message)||"订单详情加载失败"),S.value=!1}finally{H.value=!1}}function le(r,e){switch(d.value=r,e){case"edit":ge(r);break;case"audit_prescription":case"audit_payment":J.value=e==="audit_prescription"?"prescription":"payment",$.value="",B.value=!0;break;case"revoke_rx_audit":re("prescription");break;case"revoke_pay_audit":re("payment");break;case"ddcode":x.express_company=String(r.express_company||"auto")||"auto",x.tracking_number=String(r.tracking_number||""),F.value=!0;break;case"ship":c.ship_mode=ye(r.ship_mode),c.express_company=String(r.express_company||"auto")||"auto",c.tracking_number=String(r.tracking_number||""),M.value=!0;break;case"add_pay_order":{const Q=Math.max(0,Number(r.amount||0)-Number(r.linked_pay_paid_total||0));u.order_type=3,u.pay_amount=Number(Q.toFixed(2)),u.pay_remark="",u.completion_request=0,u.pay_create_type="fubei",I.value=!0;break}case"complete":G.value=3,j.value=!0;break;case"refund":k.reason="",k.refund_amount=void 0,L.value=!0;break;case"withdraw":Oe();break;case"upload_pharmacy":Ne();break}}async function V(r){var e;O.msgSuccess(r),U("changed"),await((e=w.value)==null?void 0:e.refreshIfCurrent(d.value.id))}async function te(r){if(r==="reject"&&!$.value.trim()){O.msgError("驳回时必须填写审核意见");return}o.value=!0;try{const e={id:Number(d.value.id),action:r,remark:$.value.trim()};J.value==="prescription"?await ea(e):await aa(e),B.value=!1,await V(r==="approve"?"审核通过成功":"订单已驳回")}catch{}finally{o.value=!1}}async function re(r){try{await X.confirm(`确认撤回${r==="prescription"?"处方":"支付单"}审核并恢复为待审核吗?`,"撤回审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),r==="prescription"?await la({id:Number(d.value.id)}):await ta({id:Number(d.value.id)}),await V("审核已撤回")}catch{}}async function ne(){if(!x.tracking_number.trim()){O.msgError("请填写快递单号");return}o.value=!0;try{await ra({id:Number(d.value.id),express_company:x.express_company||"auto",tracking_number:x.tracking_number.trim()}),F.value=!1,await V("快递单号已保存")}catch{}finally{o.value=!1}}async function oe(){if(!c.tracking_number.trim()){O.msgError("请填写快递单号");return}o.value=!0;try{await na({id:Number(d.value.id),ship_mode:c.ship_mode,express_company:c.express_company||"auto",tracking_number:c.tracking_number.trim()}),M.value=!1,await V("确认发货成功")}catch{}finally{o.value=!1}}async function ke(){if(!n.recipient_name.trim()||!n.recipient_phone.trim()||!n.shipping_address.trim()){O.msgError("请完整填写收货人、收货手机和收货地址");return}if(Number(n.amount)<0){O.msgError("订单金额不能为负数");return}const r=ee.value;o.value=!0;try{await oa({id:Number(d.value.id),recipient_name:n.recipient_name.trim(),recipient_phone:n.recipient_phone.trim(),shipping_province:r.shipping_province||"",shipping_city:r.shipping_city||"",shipping_district:r.shipping_district||"",shipping_address:n.shipping_address.trim(),is_follow_up:Number(r.is_follow_up||0),medication_days:r.medication_days,dose_unit:r.dose_unit||"剂",dose_count:Number(r.dose_count||1),prev_staff:r.prev_staff||"",service_channel:r.service_channel||"",service_package:r.service_package||"",tracking_number:n.tracking_number.trim(),express_company:n.express_company||"auto",fee_type:Number(n.fee_type),amount:Number(n.amount),remark_extra:n.remark_extra.trim(),remark_assistant:n.remark_assistant.trim(),pay_order_ids:Array.isArray(r.pay_order_ids)?r.pay_order_ids:[]}),S.value=!1,await V("订单保存成功")}catch{}finally{o.value=!1}}async function Ve(){if(!(Number(u.pay_amount)>0)){O.msgError("补齐金额必须大于 0");return}o.value=!0;try{await ia({id:Number(d.value.id),order_type:Number(u.order_type),pay_amount:Number(u.pay_amount),pay_remark:u.pay_remark.trim(),completion_request:Number(u.completion_request),pay_create_type:u.pay_create_type}),I.value=!1,await V("支付单已新增,等待支付审核")}catch{}finally{o.value=!1}}async function we(){o.value=!0;try{await ua({id:Number(d.value.id),fulfillment_status:Number(G.value)}),j.value=!1,await V("订单状态已更新")}catch{}finally{o.value=!1}}async function xe(){if(!k.reason.trim()){O.msgError("请填写退款原因");return}o.value=!0;try{await da({id:Number(d.value.id),reason:k.reason.trim(),refund_amount:k.refund_amount===void 0?void 0:Number(k.refund_amount)}),L.value=!1,await V("退款成功")}catch{}finally{o.value=!1}}async function Oe(){try{await X.confirm("确认撤回该订单吗?撤回后当前订单将结束。","撤回订单",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await sa({id:Number(d.value.id)}),await V("订单已撤回")}catch{}}async function Ne(){try{await X.confirm("确认将该订单上传到订单设定的药房吗?","上传药房",{type:"warning",confirmButtonText:"确认上传",cancelButtonText:"取消"}),await pa({id:Number(d.value.id)}),await V("药方上传成功")}catch{}}return m({openDetail:be,openAction:le}),(r,e)=>{const Q=Te,p=De,Pe=Be,Ue=Re,Ee=qe,h=Fe,v=Me,E=$e,A=ze,q=Le,i=je,D=Ie,Ce=He,K=Ge,ie=Qe,Se=Je,he=Ke,Ae=We;return g(),N(P,null,[l(Ze,{ref_key:"detailDrawerRef",ref:w,readonly:"","append-to-body":"","detail-loader":W(de),"load-related-data":!1},{"header-actions":t(({detail:a})=>[W(pe)(a).length?(g(),Y(Ee,{key:0,trigger:"click",onCommand:T=>le(a,T)},{dropdown:t(()=>[l(Ue,null,{default:t(()=>[(g(!0),N(P,null,C(W(pe)(a),T=>(g(),Y(Pe,{key:T.key,command:T.key,class:va({"danger-menu-item":T.danger})},{default:t(()=>[s(se(T.label),1)]),_:2},1032,["command","class"]))),128))]),_:2},1024)]),default:t(()=>[l(p,{type:"primary",size:"small",plain:""},{default:t(()=>[e[38]||(e[38]=s(" 订单操作",-1)),l(Q,{class:"el-icon--right"},{default:t(()=>[l(W(Xe))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):ca("",!0)]),_:1},8,["detail-loader"]),l(E,{modelValue:B.value,"onUpdate:modelValue":e[4]||(e[4]=a=>B.value=a),title:ce.value,width:"480px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[1]||(e[1]=a=>B.value=!1)},{default:t(()=>[...e[39]||(e[39]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:e[2]||(e[2]=a=>te("approve"))},{default:t(()=>[...e[40]||(e[40]=[s("同意通过",-1)])]),_:1},8,["loading"]),l(p,{type:"danger",loading:o.value,onClick:e[3]||(e[3]=a=>te("reject"))},{default:t(()=>[...e[41]||(e[41]=[s("驳回",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:"通过时审核意见可不填;驳回时必须填写明确原因。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),l(v,{modelValue:$.value,"onUpdate:modelValue":e[0]||(e[0]=a=>$.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请输入审核意见"},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(E,{modelValue:F.value,"onUpdate:modelValue":e[8]||(e[8]=a=>F.value=a),title:"修改快递单号",width:"440px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[7]||(e[7]=a=>F.value=!1)},{default:t(()=>[...e[42]||(e[42]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:ne},{default:t(()=>[...e[43]||(e[43]=[s("保存",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(D,{"label-width":"92px",onSubmit:ue(ne,["prevent"])},{default:t(()=>[l(i,{label:"承运商"},{default:t(()=>[l(q,{modelValue:x.express_company,"onUpdate:modelValue":e[5]||(e[5]=a=>x.express_company=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(R,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"快递单号",required:""},{default:t(()=>[l(v,{modelValue:x.tracking_number,"onUpdate:modelValue":e[6]||(e[6]=a=>x.tracking_number=a),maxlength:"80",clearable:"",placeholder:"请输入快递单号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(E,{modelValue:M.value,"onUpdate:modelValue":e[12]||(e[12]=a=>M.value=a),title:"确认发货",width:"460px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[11]||(e[11]=a=>M.value=!1)},{default:t(()=>[...e[44]||(e[44]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:oe},{default:t(()=>[...e[45]||(e[45]=[s("确认发货",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:"确认后订单将进入“已发货”,请先核对发货方式和快递信息。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),l(D,{"label-width":"92px",onSubmit:ue(oe,["prevent"])},{default:t(()=>[l(i,{label:"发货方式"},{default:t(()=>[l(Ce,{type:c.ship_mode==="direct"?"warning":"success",effect:"plain"},{default:t(()=>[s(se(c.ship_mode==="direct"?"洛阳药房":"甘草药房"),1)]),_:1},8,["type"])]),_:1}),l(i,{label:"承运商"},{default:t(()=>[l(q,{modelValue:c.express_company,"onUpdate:modelValue":e[9]||(e[9]=a=>c.express_company=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(R,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"快递单号",required:""},{default:t(()=>[l(v,{modelValue:c.tracking_number,"onUpdate:modelValue":e[10]||(e[10]=a=>c.tracking_number=a),maxlength:"80",clearable:"",placeholder:"请输入快递单号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(E,{modelValue:S.value,"onUpdate:modelValue":e[23]||(e[23]=a=>S.value=a),title:"编辑订单",width:"680px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[22]||(e[22]=a=>S.value=!1)},{default:t(()=>[...e[46]||(e[46]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,disabled:H.value,onClick:ke},{default:t(()=>[...e[47]||(e[47]=[s("保存",-1)])]),_:1},8,["loading","disabled"])]),default:t(()=>[ya((g(),Y(D,{"label-width":"104px",class:"order-edit-form"},{default:t(()=>[Z("div",Va,[l(i,{label:"收货人",required:""},{default:t(()=>[l(v,{modelValue:n.recipient_name,"onUpdate:modelValue":e[13]||(e[13]=a=>n.recipient_name=a),maxlength:"50"},null,8,["modelValue"])]),_:1}),l(i,{label:"收货手机",required:""},{default:t(()=>[l(v,{modelValue:n.recipient_phone,"onUpdate:modelValue":e[14]||(e[14]=a=>n.recipient_phone=a),maxlength:"20"},null,8,["modelValue"])]),_:1}),l(i,{label:"费用类别",required:""},{default:t(()=>[l(q,{modelValue:n.fee_type,"onUpdate:modelValue":e[15]||(e[15]=a=>n.fee_type=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(me,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"订单金额",required:""},{default:t(()=>[l(K,{modelValue:n.amount,"onUpdate:modelValue":e[16]||(e[16]=a=>n.amount=a),min:0,precision:2,step:10,class:"w-full"},null,8,["modelValue"])]),_:1})]),l(i,{label:"收货地址",required:""},{default:t(()=>[l(v,{modelValue:n.shipping_address,"onUpdate:modelValue":e[17]||(e[17]=a=>n.shipping_address=a),maxlength:"500"},null,8,["modelValue"])]),_:1}),Z("div",wa,[l(i,{label:"承运商"},{default:t(()=>[l(q,{modelValue:n.express_company,"onUpdate:modelValue":e[18]||(e[18]=a=>n.express_company=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(R,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"快递单号"},{default:t(()=>[l(v,{modelValue:n.tracking_number,"onUpdate:modelValue":e[19]||(e[19]=a=>n.tracking_number=a),maxlength:"80",clearable:""},null,8,["modelValue"])]),_:1})]),l(i,{label:"医助备注"},{default:t(()=>[l(v,{modelValue:n.remark_assistant,"onUpdate:modelValue":e[20]||(e[20]=a=>n.remark_assistant=a),type:"textarea",rows:2,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"药房备注"},{default:t(()=>[l(v,{modelValue:n.remark_extra,"onUpdate:modelValue":e[21]||(e[21]=a=>n.remark_extra=a),type:"textarea",rows:2,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(h,{title:"保存后会沿用原订单编辑规则;非已发货订单的支付审核将重新变为待审核。",type:"info",closable:!1,"show-icon":""})]),_:1})),[[Ae,H.value]])]),_:1},8,["modelValue"]),l(E,{modelValue:I.value,"onUpdate:modelValue":e[30]||(e[30]=a=>I.value=a),title:"补齐支付单",width:"520px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[29]||(e[29]=a=>I.value=!1)},{default:t(()=>[...e[51]||(e[51]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:Ve},{default:t(()=>[...e[52]||(e[52]=[s("确认新增",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:`订单金额 ¥${ae(d.value.amount)},已关联支付 ¥${ae(d.value.linked_pay_paid_total)}`,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),l(D,{"label-width":"108px"},{default:t(()=>[l(i,{label:"支付单类型"},{default:t(()=>[l(q,{modelValue:u.order_type,"onUpdate:modelValue":e[24]||(e[24]=a=>u.order_type=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(fe,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"创建方式"},{default:t(()=>[l(Se,{modelValue:u.pay_create_type,"onUpdate:modelValue":e[25]||(e[25]=a=>u.pay_create_type=a)},{default:t(()=>[l(ie,{value:"fubei"},{default:t(()=>[...e[48]||(e[48]=[s("付呗支付",-1)])]),_:1}),l(ie,{value:"express_cod"},{default:t(()=>[...e[49]||(e[49]=[s("快递代收",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"补齐金额",required:""},{default:t(()=>[l(K,{modelValue:u.pay_amount,"onUpdate:modelValue":e[26]||(e[26]=a=>u.pay_amount=a),min:0,precision:2,step:10,class:"w-full"},null,8,["modelValue"])]),_:1}),l(i,{label:"支付备注"},{default:t(()=>[l(v,{modelValue:u.pay_remark,"onUpdate:modelValue":e[27]||(e[27]=a=>u.pay_remark=a),type:"textarea",rows:3,maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"完单申请"},{default:t(()=>[l(he,{modelValue:u.completion_request,"onUpdate:modelValue":e[28]||(e[28]=a=>u.completion_request=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[50]||(e[50]=Z("span",{class:"form-tip"},"同时提交完单申请",-1))]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(E,{modelValue:j.value,"onUpdate:modelValue":e[33]||(e[33]=a=>j.value=a),title:"完成订单",width:"480px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[32]||(e[32]=a=>j.value=!1)},{default:t(()=>[...e[53]||(e[53]=[s("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o.value,onClick:we},{default:t(()=>[...e[54]||(e[54]=[s("确认完成",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:"请选择真实履约结果。退款必须使用单独的“退款”操作。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),l(D,{"label-width":"100px"},{default:t(()=>[l(i,{label:"结案状态",required:""},{default:t(()=>[l(q,{modelValue:G.value,"onUpdate:modelValue":e[31]||(e[31]=a=>G.value=a),class:"w-full"},{default:t(()=>[(g(),N(P,null,C(_e,a=>l(A,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),l(E,{modelValue:L.value,"onUpdate:modelValue":e[37]||(e[37]=a=>L.value=a),title:"订单退款",width:"500px","append-to-body":"","destroy-on-close":""},{footer:t(()=>[l(p,{onClick:e[36]||(e[36]=a=>L.value=!1)},{default:t(()=>[...e[55]||(e[55]=[s("取消",-1)])]),_:1}),l(p,{type:"danger",loading:o.value,onClick:xe},{default:t(()=>[...e[56]||(e[56]=[s("确认退款",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(h,{title:"退款会同步更新关联支付单和订单金额;退款金额留空时按系统计算的最大可退金额处理。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),l(D,{"label-width":"100px"},{default:t(()=>[l(i,{label:"退款原因",required:""},{default:t(()=>[l(v,{modelValue:k.reason,"onUpdate:modelValue":e[34]||(e[34]=a=>k.reason=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"退款金额"},{default:t(()=>[l(K,{modelValue:k.refund_amount,"onUpdate:modelValue":e[35]||(e[35]=a=>k.refund_amount=a),min:0,precision:2,step:10,class:"w-full",placeholder:"留空则退最大可退金额"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}}}),Oa=Ye(xa,[["__scopeId","data-v-3c102918"]]),Ra=Object.freeze(Object.defineProperty({__proto__:null,default:Oa},Symbol.toStringTag,{value:"Module"}));export{Oa as O,Ra as a,ka as c,pe as m}; diff --git a/server/public/admin/assets/OrderPanel-BCRcd5lr.js b/server/public/admin/assets/OrderPanel-BxRj5r_p.js similarity index 97% rename from server/public/admin/assets/OrderPanel-BCRcd5lr.js rename to server/public/admin/assets/OrderPanel-BxRj5r_p.js index 781ea0e71..1cd929b10 100644 --- a/server/public/admin/assets/OrderPanel-BCRcd5lr.js +++ b/server/public/admin/assets/OrderPanel-BxRj5r_p.js @@ -1 +1 @@ -import{d as re,i as de,F as ue,G as me,C as pe,S as _e,M as fe,O as ce,U as be,p as ge,n as ve,o as ye,X as ke,N as we}from"./element-plus-DGP1XOrU.js";import{_ as Ce}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as xe}from"./@vue/runtime-dom-DDAG46FW.js";import{a8 as Ne,M as Ve,O as z,e as he}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as De}from"./usePaging-DofycyjW.js";import{q as Ee}from"./first_visit-BYIyH6Y1.js";import{c as Oe,m as $,O as Fe}from"./OrderActionHost-B3ThVYvr.js";import{f as Pe,A as E,b as Re,ak as p,I as b,J as t,a as n,aN as a,O as d,F as O,ap as F,aP as je,G as P,H}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,a as Ae,n as Y,r as Ie}from"./@vue/reactivity-DiY1c2vO.js";import{Q as i,o as A}from"./@vue/shared-mAAVTE9n.js";import{_ as Te}from"./index-fRv3NTFQ.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./PrescriptionOrderDetailDrawer-O5Yv7ynk.js";import"./tcm-CEIBuAeK.js";import"./prescription-order-utils-CpKeuzsa.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./perm-CTlz8z1G.js";const Be={class:"embedded-panel"},Me={class:"panel-toolbar"},Ue={class:"toolbar-actions"},Le={class:"scope-chip"},Se={class:"filter-panel"},ze={class:"filter-heading"},$e={class:"status-filter-list"},He={class:"status-filter-row"},Ye={class:"status-filter-row"},Ge={class:"status-filter-row status-filter-row--fulfillment"},Ke={class:"search-filter-row"},qe={class:"filter-field filter-field--keyword"},Je={class:"filter-field filter-field--date"},Qe={class:"filter-actions"},Xe={class:"metric-grid"},We={class:"metric-card"},Ze={class:"metric-card"},et={class:"metric-card metric-warning"},tt={class:"metric-card metric-success"},lt={class:"primary-cell"},nt={class:"primary-cell"},at={class:"id-stack"},st={key:0,class:"amount"},ot={key:1,class:"amount-excluded"},it={class:"order-actions"},rt={class:"pagination-wrap"},dt=Pe({__name:"OrderPanel",emits:["openDiagnosis"],setup(ut,{expose:G,emit:K}){const q=K,R=Y(),j=Y([]),o=Ie({keyword:"",prescription_audit_status:"",payment_slip_audit_status:"",fulfillment_status:"",start_date:"",end_date:""}),I=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],J=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已完成",value:3},{label:"已取消",value:4},{label:"已发货",value:5},{label:"已签收",value:6},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}],{pager:u,getLists:C,resetPage:x}=De({fetchFun:Ee,params:o,size:15,firstLoading:!0}),g=E(()=>{var s,e,f,_,y,k,N,V,r,w,h,D;return{orders:Number(((e=(s=u.extend)==null?void 0:s.summary)==null?void 0:e.orders)||0),amount:Number(((_=(f=u.extend)==null?void 0:f.summary)==null?void 0:_.amount)||0),pending:Number(((k=(y=u.extend)==null?void 0:y.summary)==null?void 0:k.pending)||0),completed:Number(((V=(N=u.extend)==null?void 0:N.summary)==null?void 0:V.completed)||0),rejected:Number(((w=(r=u.extend)==null?void 0:r.summary)==null?void 0:w.rejected)||0),rejectionRate:Number(((D=(h=u.extend)==null?void 0:h.summary)==null?void 0:D.rejection_rate)||0)}}),Q=E(()=>{var s,e;return((e=(s=u.extend)==null?void 0:s.scope)==null?void 0:e.label)||"按权限加载"}),X=E(()=>!!(o.keyword.trim()||o.prescription_audit_status!==""||o.payment_slip_audit_status!==""||o.fulfillment_status!==""||o.start_date||o.end_date));function v(){x()}function T(){return C()}function W(s){o.start_date=(s==null?void 0:s[0])||"",o.end_date=(s==null?void 0:s[1])||(s==null?void 0:s[0])||"",x()}function B(){o.keyword="",o.prescription_audit_status="",o.payment_slip_audit_status="",o.fulfillment_status="",o.start_date="",o.end_date="",j.value=[],x()}function M(){o.fulfillment_status=Number(o.fulfillment_status)===9?"":9,x()}function U(s){return Number(s||0).toFixed(2)}function Z(s){const e=Number(s||0);return`${Number.isInteger(e)?e.toFixed(0):e.toFixed(2)}%`}function L(s){return Number(s)===1?"success":Number(s)===2?"danger":"warning"}function ee(s){const e=Number(s);return[3,6].includes(e)?"success":[4,9,10].includes(e)?"danger":[2,5,7].includes(e)?"primary":"warning"}function te({row:s}){return[2].includes(Number(s.prescription_audit_status))||[2].includes(Number(s.payment_slip_audit_status))?"order-row-risk":[3,6].includes(Number(s.fulfillment_status))?"order-row-done":""}function le(s,e){var f;(f=R.value)==null||f.openAction(s,e)}return G({refresh:T,loading:E(()=>u.loading)}),Re(C),(s,e)=>{const f=re,_=de,y=ue,k=me,N=pe,V=_e,r=ce,w=be,h=ye,D=ve,ne=ge,ae=ke,se=we,oe=Ce,ie=fe;return p(),b("section",Be,[t("div",Me,[e[7]||(e[7]=t("div",null,[t("h2",null,"订单管理"),t("p",null,"展示当前患者范围内的处方业务订单,订单创建人不参与数据归属判断")],-1)),t("div",Ue,[t("span",Le,[n(f,null,{default:a(()=>[n(m(Ne))]),_:1}),d(i(Q.value),1)]),n(_,{icon:m(Ve),loading:m(u).loading,onClick:T},{default:a(()=>[...e[6]||(e[6]=[d("刷新",-1)])]),_:1},8,["icon","loading"])])]),t("div",Se,[t("div",ze,[e[9]||(e[9]=t("div",null,[t("h3",null,"订单检索"),t("p",null,"审核与履约状态直接展示,点击后立即筛选")],-1)),n(_,{link:"",disabled:!X.value,onClick:B},{default:a(()=>[...e[8]||(e[8]=[d("清空全部条件",-1)])]),_:1},8,["disabled"])]),t("div",$e,[t("div",He,[e[10]||(e[10]=t("span",{class:"filter-label"},"处方审核",-1)),n(k,{modelValue:o.prescription_audit_status,"onUpdate:modelValue":e[0]||(e[0]=l=>o.prescription_audit_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(I,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),t("div",Ye,[e[11]||(e[11]=t("span",{class:"filter-label"},"支付单审核",-1)),n(k,{modelValue:o.payment_slip_audit_status,"onUpdate:modelValue":e[1]||(e[1]=l=>o.payment_slip_audit_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(I,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),t("div",Ge,[e[12]||(e[12]=t("span",{class:"filter-label"},"履约状态",-1)),n(k,{modelValue:o.fulfillment_status,"onUpdate:modelValue":e[2]||(e[2]=l=>o.fulfillment_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(J,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])])]),t("div",Ke,[t("label",qe,[e[13]||(e[13]=t("span",null,"关键词",-1)),n(N,{modelValue:o.keyword,"onUpdate:modelValue":e[3]||(e[3]=l=>o.keyword=l),clearable:"","prefix-icon":m(z),placeholder:"订单号 / 患者 / 手机号 / 处方ID / 诊单ID",onKeyup:xe(v,["enter"]),onClear:v},null,8,["modelValue","prefix-icon"])]),t("label",Je,[e[14]||(e[14]=t("span",null,"创建时间",-1)),n(V,{modelValue:j.value,"onUpdate:modelValue":e[4]||(e[4]=l=>j.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:W},null,8,["modelValue"])]),t("div",Qe,[n(_,{type:"primary",icon:m(z),onClick:v},{default:a(()=>[...e[15]||(e[15]=[d("查询",-1)])]),_:1},8,["icon"]),n(_,{onClick:B},{default:a(()=>[...e[16]||(e[16]=[d("重置",-1)])]),_:1})])])]),t("div",Xe,[t("div",We,[e[17]||(e[17]=t("span",null,"订单数量",-1)),t("strong",null,i(g.value.orders),1),e[18]||(e[18]=t("small",null,"笔",-1))]),t("div",Ze,[e[19]||(e[19]=t("span",null,"有效订单金额",-1)),t("strong",null,"¥"+i(U(g.value.amount)),1),e[20]||(e[20]=t("small",null,"排除取消、拒收及退款",-1))]),t("div",et,[e[21]||(e[21]=t("span",null,"待审核",-1)),t("strong",null,i(g.value.pending),1),e[22]||(e[22]=t("small",null,"任一审核待处理",-1))]),t("div",tt,[e[23]||(e[23]=t("span",null,"已完成 / 签收",-1)),t("strong",null,i(g.value.completed),1),e[24]||(e[24]=t("small",null,"笔",-1))]),t("button",{class:A(["metric-card metric-card--interactive metric-rejected",{"is-active":Number(o.fulfillment_status)===9}]),type:"button",onClick:M},[e[25]||(e[25]=t("span",null,"拒收订单",-1)),t("strong",null,i(g.value.rejected),1),e[26]||(e[26]=t("small",null,"笔 · 点击查看明细",-1))],2),t("button",{class:A(["metric-card metric-card--interactive metric-rejected-rate",{"is-active":Number(o.fulfillment_status)===9}]),type:"button",onClick:M},[e[27]||(e[27]=t("span",null,"拒收率",-1)),t("strong",null,i(Z(g.value.rejectionRate)),1),e[28]||(e[28]=t("small",null,"拒收订单 ÷ 同检索范围订单",-1))],2)]),je((p(),P(se,{data:m(u).lists,class:"embedded-table","row-class-name":te},{empty:a(()=>[n(ae,{description:"当前范围内暂无订单"})]),default:a(()=>[n(r,{label:"订单","min-width":"174",fixed:"left"},{default:a(({row:l})=>[t("div",lt,[t("strong",null,i(l.order_no||"—"),1),t("span",null,"#"+i(l.id)+" · "+i(l.fee_type_text),1)])]),_:1}),n(r,{label:"患者","min-width":"150"},{default:a(({row:l})=>[t("div",nt,[t("strong",null,i(l.patient_name||l.recipient_name||"—"),1),t("span",null,i(l.patient_phone_masked||l.recipient_phone_masked||"无手机号"),1)])]),_:1}),n(r,{label:"处方 / 诊单","min-width":"118"},{default:a(({row:l})=>[t("div",at,[t("span",null,"处方 #"+i(l.prescription_id||"—"),1),t("span",null,"诊单 #"+i(l.diagnosis_id||"—"),1)])]),_:1}),n(r,{label:"有效金额",width:"118",align:"right"},{default:a(({row:l})=>[l.amount_included?(p(),b("strong",st,"¥"+i(U(l.effective_amount)),1)):(p(),b("span",ot,i(l.amount_exclusion_text||"不计入"),1))]),_:1}),n(r,{label:"处方审核",width:"104",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:L(l.prescription_audit_status),effect:"light"},{default:a(()=>[d(i(l.prescription_audit_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"支付单审核",width:"112",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:L(l.payment_slip_audit_status),effect:"light"},{default:a(()=>[d(i(l.payment_slip_audit_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"履约状态",width:"112",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:ee(l.fulfillment_status),effect:"light"},{default:a(()=>[d(i(l.fulfillment_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"关联支付单",width:"100",align:"center"},{default:a(({row:l})=>[d(i(Number(l.linked_pay_order_count)>0?`${l.linked_pay_order_count} 笔`:"—"),1)]),_:1}),n(r,{prop:"assistant_name",label:"归属助理","min-width":"100","show-overflow-tooltip":""}),n(r,{prop:"doctor_name",label:"开方人","min-width":"90","show-overflow-tooltip":""}),n(r,{prop:"creator_name",label:"创建人","min-width":"90","show-overflow-tooltip":""}),n(r,{prop:"create_time_text",label:"创建时间","min-width":"145"}),n(r,{label:"操作",width:"190",fixed:"right"},{default:a(({row:l})=>[t("div",it,[n(_,{type:"primary",link:"",onClick:c=>q("openDiagnosis",l)},{default:a(()=>[...e[29]||(e[29]=[d("诊单",-1)])]),_:1},8,["onClick"]),m(Oe)()?(p(),P(_,{key:0,type:"primary",link:"",onClick:c=>{var S;return(S=R.value)==null?void 0:S.openDetail(l)}},{default:a(()=>[...e[30]||(e[30]=[d("详情",-1)])]),_:1},8,["onClick"])):H("",!0),m($)(l).length?(p(),P(ne,{key:1,trigger:"click",onCommand:c=>le(l,c)},{dropdown:a(()=>[n(D,null,{default:a(()=>[(p(!0),b(O,null,F(m($)(l),c=>(p(),P(h,{key:c.key,command:c.key,class:A({"danger-menu-item":c.danger})},{default:a(()=>[d(i(c.label),1)]),_:2},1032,["command","class"]))),128))]),_:2},1024)]),default:a(()=>[n(_,{type:"primary",link:""},{default:a(()=>[e[31]||(e[31]=d(" 操作",-1)),n(f,{class:"el-icon--right"},{default:a(()=>[n(m(he))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):H("",!0)])]),_:1})]),_:1},8,["data"])),[[ie,m(u).loading]]),t("div",rt,[n(oe,{modelValue:m(u),"onUpdate:modelValue":e[5]||(e[5]=l=>Ae(u)?u.value=l:null),onChange:m(C)},null,8,["modelValue","onChange"])]),n(Fe,{ref_key:"orderActionHostRef",ref:R,onChanged:m(C)},null,8,["onChanged"])])}}}),ll=Te(dt,[["__scopeId","data-v-4c5a29ab"]]);export{ll as default}; +import{d as re,i as de,F as ue,G as me,C as pe,S as _e,M as fe,O as ce,U as be,p as ge,n as ve,o as ye,X as ke,N as we}from"./element-plus-DGP1XOrU.js";import{_ as Ce}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as xe}from"./@vue/runtime-dom-DDAG46FW.js";import{a8 as Ne,M as Ve,O as z,e as he}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as De}from"./usePaging-DofycyjW.js";import{q as Ee}from"./first_visit-lwfDQsu4.js";import{c as Oe,m as $,O as Fe}from"./OrderActionHost-C510XVGT.js";import{f as Pe,A as E,b as Re,ak as p,I as b,J as t,a as n,aN as a,O as d,F as O,ap as F,aP as je,G as P,H}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,a as Ae,n as Y,r as Ie}from"./@vue/reactivity-DiY1c2vO.js";import{Q as i,o as A}from"./@vue/shared-mAAVTE9n.js";import{_ as Te}from"./index-J_eFER10.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./PrescriptionOrderDetailDrawer-C30zC4to.js";import"./tcm-D-ZRccbe.js";import"./prescription-order-utils-CpKeuzsa.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./perm-8cp9D7Ag.js";const Be={class:"embedded-panel"},Me={class:"panel-toolbar"},Ue={class:"toolbar-actions"},Le={class:"scope-chip"},Se={class:"filter-panel"},ze={class:"filter-heading"},$e={class:"status-filter-list"},He={class:"status-filter-row"},Ye={class:"status-filter-row"},Ge={class:"status-filter-row status-filter-row--fulfillment"},Ke={class:"search-filter-row"},qe={class:"filter-field filter-field--keyword"},Je={class:"filter-field filter-field--date"},Qe={class:"filter-actions"},Xe={class:"metric-grid"},We={class:"metric-card"},Ze={class:"metric-card"},et={class:"metric-card metric-warning"},tt={class:"metric-card metric-success"},lt={class:"primary-cell"},nt={class:"primary-cell"},at={class:"id-stack"},st={key:0,class:"amount"},ot={key:1,class:"amount-excluded"},it={class:"order-actions"},rt={class:"pagination-wrap"},dt=Pe({__name:"OrderPanel",emits:["openDiagnosis"],setup(ut,{expose:G,emit:K}){const q=K,R=Y(),j=Y([]),o=Ie({keyword:"",prescription_audit_status:"",payment_slip_audit_status:"",fulfillment_status:"",start_date:"",end_date:""}),I=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],J=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已完成",value:3},{label:"已取消",value:4},{label:"已发货",value:5},{label:"已签收",value:6},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}],{pager:u,getLists:C,resetPage:x}=De({fetchFun:Ee,params:o,size:15,firstLoading:!0}),g=E(()=>{var s,e,f,_,y,k,N,V,r,w,h,D;return{orders:Number(((e=(s=u.extend)==null?void 0:s.summary)==null?void 0:e.orders)||0),amount:Number(((_=(f=u.extend)==null?void 0:f.summary)==null?void 0:_.amount)||0),pending:Number(((k=(y=u.extend)==null?void 0:y.summary)==null?void 0:k.pending)||0),completed:Number(((V=(N=u.extend)==null?void 0:N.summary)==null?void 0:V.completed)||0),rejected:Number(((w=(r=u.extend)==null?void 0:r.summary)==null?void 0:w.rejected)||0),rejectionRate:Number(((D=(h=u.extend)==null?void 0:h.summary)==null?void 0:D.rejection_rate)||0)}}),Q=E(()=>{var s,e;return((e=(s=u.extend)==null?void 0:s.scope)==null?void 0:e.label)||"按权限加载"}),X=E(()=>!!(o.keyword.trim()||o.prescription_audit_status!==""||o.payment_slip_audit_status!==""||o.fulfillment_status!==""||o.start_date||o.end_date));function v(){x()}function T(){return C()}function W(s){o.start_date=(s==null?void 0:s[0])||"",o.end_date=(s==null?void 0:s[1])||(s==null?void 0:s[0])||"",x()}function B(){o.keyword="",o.prescription_audit_status="",o.payment_slip_audit_status="",o.fulfillment_status="",o.start_date="",o.end_date="",j.value=[],x()}function M(){o.fulfillment_status=Number(o.fulfillment_status)===9?"":9,x()}function U(s){return Number(s||0).toFixed(2)}function Z(s){const e=Number(s||0);return`${Number.isInteger(e)?e.toFixed(0):e.toFixed(2)}%`}function L(s){return Number(s)===1?"success":Number(s)===2?"danger":"warning"}function ee(s){const e=Number(s);return[3,6].includes(e)?"success":[4,9,10].includes(e)?"danger":[2,5,7].includes(e)?"primary":"warning"}function te({row:s}){return[2].includes(Number(s.prescription_audit_status))||[2].includes(Number(s.payment_slip_audit_status))?"order-row-risk":[3,6].includes(Number(s.fulfillment_status))?"order-row-done":""}function le(s,e){var f;(f=R.value)==null||f.openAction(s,e)}return G({refresh:T,loading:E(()=>u.loading)}),Re(C),(s,e)=>{const f=re,_=de,y=ue,k=me,N=pe,V=_e,r=ce,w=be,h=ye,D=ve,ne=ge,ae=ke,se=we,oe=Ce,ie=fe;return p(),b("section",Be,[t("div",Me,[e[7]||(e[7]=t("div",null,[t("h2",null,"订单管理"),t("p",null,"展示当前患者范围内的处方业务订单,订单创建人不参与数据归属判断")],-1)),t("div",Ue,[t("span",Le,[n(f,null,{default:a(()=>[n(m(Ne))]),_:1}),d(i(Q.value),1)]),n(_,{icon:m(Ve),loading:m(u).loading,onClick:T},{default:a(()=>[...e[6]||(e[6]=[d("刷新",-1)])]),_:1},8,["icon","loading"])])]),t("div",Se,[t("div",ze,[e[9]||(e[9]=t("div",null,[t("h3",null,"订单检索"),t("p",null,"审核与履约状态直接展示,点击后立即筛选")],-1)),n(_,{link:"",disabled:!X.value,onClick:B},{default:a(()=>[...e[8]||(e[8]=[d("清空全部条件",-1)])]),_:1},8,["disabled"])]),t("div",$e,[t("div",He,[e[10]||(e[10]=t("span",{class:"filter-label"},"处方审核",-1)),n(k,{modelValue:o.prescription_audit_status,"onUpdate:modelValue":e[0]||(e[0]=l=>o.prescription_audit_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(I,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),t("div",Ye,[e[11]||(e[11]=t("span",{class:"filter-label"},"支付单审核",-1)),n(k,{modelValue:o.payment_slip_audit_status,"onUpdate:modelValue":e[1]||(e[1]=l=>o.payment_slip_audit_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(I,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),t("div",Ge,[e[12]||(e[12]=t("span",{class:"filter-label"},"履约状态",-1)),n(k,{modelValue:o.fulfillment_status,"onUpdate:modelValue":e[2]||(e[2]=l=>o.fulfillment_status=l),onChange:v},{default:a(()=>[(p(),b(O,null,F(J,l=>n(y,{key:String(l.value),value:l.value},{default:a(()=>[d(i(l.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])])]),t("div",Ke,[t("label",qe,[e[13]||(e[13]=t("span",null,"关键词",-1)),n(N,{modelValue:o.keyword,"onUpdate:modelValue":e[3]||(e[3]=l=>o.keyword=l),clearable:"","prefix-icon":m(z),placeholder:"订单号 / 患者 / 手机号 / 处方ID / 诊单ID",onKeyup:xe(v,["enter"]),onClear:v},null,8,["modelValue","prefix-icon"])]),t("label",Je,[e[14]||(e[14]=t("span",null,"创建时间",-1)),n(V,{modelValue:j.value,"onUpdate:modelValue":e[4]||(e[4]=l=>j.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:W},null,8,["modelValue"])]),t("div",Qe,[n(_,{type:"primary",icon:m(z),onClick:v},{default:a(()=>[...e[15]||(e[15]=[d("查询",-1)])]),_:1},8,["icon"]),n(_,{onClick:B},{default:a(()=>[...e[16]||(e[16]=[d("重置",-1)])]),_:1})])])]),t("div",Xe,[t("div",We,[e[17]||(e[17]=t("span",null,"订单数量",-1)),t("strong",null,i(g.value.orders),1),e[18]||(e[18]=t("small",null,"笔",-1))]),t("div",Ze,[e[19]||(e[19]=t("span",null,"有效订单金额",-1)),t("strong",null,"¥"+i(U(g.value.amount)),1),e[20]||(e[20]=t("small",null,"排除取消、拒收及退款",-1))]),t("div",et,[e[21]||(e[21]=t("span",null,"待审核",-1)),t("strong",null,i(g.value.pending),1),e[22]||(e[22]=t("small",null,"任一审核待处理",-1))]),t("div",tt,[e[23]||(e[23]=t("span",null,"已完成 / 签收",-1)),t("strong",null,i(g.value.completed),1),e[24]||(e[24]=t("small",null,"笔",-1))]),t("button",{class:A(["metric-card metric-card--interactive metric-rejected",{"is-active":Number(o.fulfillment_status)===9}]),type:"button",onClick:M},[e[25]||(e[25]=t("span",null,"拒收订单",-1)),t("strong",null,i(g.value.rejected),1),e[26]||(e[26]=t("small",null,"笔 · 点击查看明细",-1))],2),t("button",{class:A(["metric-card metric-card--interactive metric-rejected-rate",{"is-active":Number(o.fulfillment_status)===9}]),type:"button",onClick:M},[e[27]||(e[27]=t("span",null,"拒收率",-1)),t("strong",null,i(Z(g.value.rejectionRate)),1),e[28]||(e[28]=t("small",null,"拒收订单 ÷ 同检索范围订单",-1))],2)]),je((p(),P(se,{data:m(u).lists,class:"embedded-table","row-class-name":te},{empty:a(()=>[n(ae,{description:"当前范围内暂无订单"})]),default:a(()=>[n(r,{label:"订单","min-width":"174",fixed:"left"},{default:a(({row:l})=>[t("div",lt,[t("strong",null,i(l.order_no||"—"),1),t("span",null,"#"+i(l.id)+" · "+i(l.fee_type_text),1)])]),_:1}),n(r,{label:"患者","min-width":"150"},{default:a(({row:l})=>[t("div",nt,[t("strong",null,i(l.patient_name||l.recipient_name||"—"),1),t("span",null,i(l.patient_phone_masked||l.recipient_phone_masked||"无手机号"),1)])]),_:1}),n(r,{label:"处方 / 诊单","min-width":"118"},{default:a(({row:l})=>[t("div",at,[t("span",null,"处方 #"+i(l.prescription_id||"—"),1),t("span",null,"诊单 #"+i(l.diagnosis_id||"—"),1)])]),_:1}),n(r,{label:"有效金额",width:"118",align:"right"},{default:a(({row:l})=>[l.amount_included?(p(),b("strong",st,"¥"+i(U(l.effective_amount)),1)):(p(),b("span",ot,i(l.amount_exclusion_text||"不计入"),1))]),_:1}),n(r,{label:"处方审核",width:"104",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:L(l.prescription_audit_status),effect:"light"},{default:a(()=>[d(i(l.prescription_audit_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"支付单审核",width:"112",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:L(l.payment_slip_audit_status),effect:"light"},{default:a(()=>[d(i(l.payment_slip_audit_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"履约状态",width:"112",align:"center"},{default:a(({row:l})=>[n(w,{size:"small",type:ee(l.fulfillment_status),effect:"light"},{default:a(()=>[d(i(l.fulfillment_text),1)]),_:2},1032,["type"])]),_:1}),n(r,{label:"关联支付单",width:"100",align:"center"},{default:a(({row:l})=>[d(i(Number(l.linked_pay_order_count)>0?`${l.linked_pay_order_count} 笔`:"—"),1)]),_:1}),n(r,{prop:"assistant_name",label:"归属助理","min-width":"100","show-overflow-tooltip":""}),n(r,{prop:"doctor_name",label:"开方人","min-width":"90","show-overflow-tooltip":""}),n(r,{prop:"creator_name",label:"创建人","min-width":"90","show-overflow-tooltip":""}),n(r,{prop:"create_time_text",label:"创建时间","min-width":"145"}),n(r,{label:"操作",width:"190",fixed:"right"},{default:a(({row:l})=>[t("div",it,[n(_,{type:"primary",link:"",onClick:c=>q("openDiagnosis",l)},{default:a(()=>[...e[29]||(e[29]=[d("诊单",-1)])]),_:1},8,["onClick"]),m(Oe)()?(p(),P(_,{key:0,type:"primary",link:"",onClick:c=>{var S;return(S=R.value)==null?void 0:S.openDetail(l)}},{default:a(()=>[...e[30]||(e[30]=[d("详情",-1)])]),_:1},8,["onClick"])):H("",!0),m($)(l).length?(p(),P(ne,{key:1,trigger:"click",onCommand:c=>le(l,c)},{dropdown:a(()=>[n(D,null,{default:a(()=>[(p(!0),b(O,null,F(m($)(l),c=>(p(),P(h,{key:c.key,command:c.key,class:A({"danger-menu-item":c.danger})},{default:a(()=>[d(i(c.label),1)]),_:2},1032,["command","class"]))),128))]),_:2},1024)]),default:a(()=>[n(_,{type:"primary",link:""},{default:a(()=>[e[31]||(e[31]=d(" 操作",-1)),n(f,{class:"el-icon--right"},{default:a(()=>[n(m(he))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):H("",!0)])]),_:1})]),_:1},8,["data"])),[[ie,m(u).loading]]),t("div",rt,[n(oe,{modelValue:m(u),"onUpdate:modelValue":e[5]||(e[5]=l=>Ae(u)?u.value=l:null),onChange:m(C)},null,8,["modelValue","onChange"])]),n(Fe,{ref_key:"orderActionHostRef",ref:R,onChanged:m(C)},null,8,["onChanged"])])}}}),ll=Te(dt,[["__scopeId","data-v-4c5a29ab"]]);export{ll as default}; diff --git a/server/public/admin/assets/PaibanPanel-BETrahUR.js b/server/public/admin/assets/PaibanPanel-2RDEzQLo.js similarity index 97% rename from server/public/admin/assets/PaibanPanel-BETrahUR.js rename to server/public/admin/assets/PaibanPanel-2RDEzQLo.js index e04234f1f..61c4a6b1e 100644 --- a/server/public/admin/assets/PaibanPanel-BETrahUR.js +++ b/server/public/admin/assets/PaibanPanel-2RDEzQLo.js @@ -1 +1 @@ -import{M as K,D as O,B as Q,G as X,J as Z,X as ee,i as te,K as ae}from"./element-plus-DGP1XOrU.js";import{M as oe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{d,g as se}from"./dayjs-DG77mNTn.js";import{g as le}from"./tcm-CEIBuAeK.js";import{r as re,g as ie}from"./doctor-BVLBwYIX.js";import{k as f,_ as ne}from"./index-fRv3NTFQ.js";import{f as ce,b as de,d as me,aP as ue,ak as n,I as p,a as _,aN as c,J as g,F as E,ap as M,G as w,O as C,H as fe,A,n as ve}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as I}from"./@vue/shared-mAAVTE9n.js";import{y as pe,n as y,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ge={class:"paiban-container"},ye={class:"card-header"},he={class:"doctor-list"},be={key:2,class:"paiban-time-container"},De={class:"date-selector"},ke={key:0,class:"time-slots-container"},we={class:"time-slots-grid"},Ye=["onClick"],Te={class:"slot-time"},Ee=ce({__name:"PaibanPanel",setup(Me,{expose:$}){d.extend(se);const m=y(!1),T=y(!1),h=y([]),v=y([]),l=y(0),i=y([]);let b=null,D=!1;const o=_e({date:"",selectedTime:""}),L=A(()=>{if(!l.value||i.value.length===0)return[];const e=[],t=["日","一","二","三","四","五","六"],a=d().startOf("day");for(const r of i.value){const u=d(r);u.isBefore(a)||e.push({date:r,label:`${u.format("MM月DD日")} (${t[u.day()]})`})}return e}),N=A(()=>{if(!o.date||v.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(o.date!==e)return v.value;const t=d();return v.value.map(a=>{const r=d(`${o.date} ${a.time}`);return r.isBefore(t)||r.isSame(t,"minute")?{...a,available:!1}:a})}),S=async()=>{try{m.value=!0;const e=await le();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await x())}catch(e){console.error("加载医生列表失败:",e),f.msgError("加载医生列表失败")}finally{m.value=!1}},x=async()=>{o.selectedTime="",o.date="",v.value=[],i.value=[],l.value&&await z()},z=async()=>{if(l.value)try{m.value=!0;const e=d().format("YYYY-MM-DD"),t=d().add(6,"day").format("YYYY-MM-DD"),a=await re({doctor_id:l.value,start_date:e,end_date:t,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await ve(),i.value.length>0){const r=d().format("YYYY-MM-DD"),u=i.value.includes(r)?r:i.value[0];B(u)}}else i.value=[],f.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),f.msgError("加载医生排班失败"),i.value=[]}finally{m.value=!1}},B=e=>{o.date=e,o.selectedTime="",l.value&&k()},k=async(e=!1)=>{if(!(!l.value||!o.date)){if(D){console.log("正在加载中,跳过本次请求");return}try{D=!0,e||(m.value=!0);const t=await ie({doctor_id:l.value,appointment_date:o.date,period:"all"});v.value=((t==null?void 0:t.slots)||[]).map(a=>({time:a.time,available:a.available,hasAppointment:!!(a.has_appointment??a.available===!1),quota:a.available?1:0}))}catch(t){console.error("加载时间段失败:",t),e||f.msgError("加载时间段失败"),v.value=[]}finally{D=!1,e||(m.value=!1)}}},F=e=>{if(!e.available){f.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},W=async()=>{if(!(!l.value||!o.date)){if(D){f.msgWarning("正在刷新中,请稍候");return}try{T.value=!0;const e=o.selectedTime;if(o.selectedTime="",await k(),e){const t=v.value.find(a=>a.time===e);t&&t.available&&(o.selectedTime=e)}f.msgSuccess("刷新成功")}catch(e){console.error("刷新失败:",e),f.msgError("刷新失败,请重试")}finally{T.value=!1}}},G=()=>{R(),b=window.setInterval(()=>{l.value&&o.date&&k(!0)},5e3)},R=()=>{b&&(clearInterval(b),b=null)};async function j(){if(l.value&&o.date){await k();return}await S()}return $({refresh:j,loading:m}),de(()=>{S(),G()}),me(()=>{R()}),(e,t)=>{const a=te,r=Z,u=X,P=Q,V=ee,J=O,U=ae,q=K;return ue((n(),p("div",ge,[_(U,{shadow:"never"},{header:c(()=>[g("div",ye,[t[2]||(t[2]=g("span",null,"医生排班管理",-1)),_(a,{text:"",type:"primary",size:"small",loading:T.value,disabled:!l.value||!o.date,onClick:W},{icon:c(()=>[_(pe(oe))]),default:c(()=>[t[1]||(t[1]=C(" 刷新 ",-1))]),_:1},8,["loading","disabled"])])]),default:c(()=>[_(J,{model:o,"label-width":"100px",class:"paiban-form"},{default:c(()=>[_(P,{label:"选择医生:"},{default:c(()=>[g("div",he,[_(u,{modelValue:l.value,"onUpdate:modelValue":t[0]||(t[0]=s=>l.value=s),onChange:x},{default:c(()=>[(n(!0),p(E,null,M(h.value,s=>(n(),w(r,{key:s.id,value:s.id,class:"doctor-radio"},{default:c(()=>[C(Y(s.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),_(P,{label:"排班时间:"},{default:c(()=>[l.value?l.value&&i.value.length===0?(n(),w(V,{key:1,description:"该医生暂无排班","image-size":80})):(n(),p("div",be,[g("div",De,[(n(!0),p(E,null,M(L.value,s=>(n(),w(a,{key:s.date,type:o.date===s.date?"primary":"",class:"date-button",onClick:H=>B(s.date)},{default:c(()=>[C(Y(s.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(n(),p("div",ke,[g("div",we,[(n(!0),p(E,null,M(N.value,s=>(n(),p("div",{key:s.time,class:I(["time-slot-item",{available:s.available,unavailable:!s.available,selected:o.selectedTime===s.time}]),onClick:H=>F(s)},[g("div",Te,Y(s.time),1),g("div",{class:I(["slot-status",{"status-available":s.available}])},Y(s.available?"可约":s.hasAppointment?"已约":"空号"),3)],10,Ye))),128))])])):fe("",!0)])):(n(),w(V,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])),[[q,m.value]])}}}),ft=ne(Ee,[["__scopeId","data-v-8368484f"]]);export{ft as default}; +import{M as K,D as O,B as Q,G as X,J as Z,X as ee,i as te,K as ae}from"./element-plus-DGP1XOrU.js";import{M as oe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{d,g as se}from"./dayjs-DG77mNTn.js";import{g as le}from"./tcm-D-ZRccbe.js";import{r as re,g as ie}from"./doctor-BZKBQu9t.js";import{k as f,_ as ne}from"./index-J_eFER10.js";import{f as ce,b as de,d as me,aP as ue,ak as n,I as p,a as _,aN as c,J as g,F as E,ap as M,G as w,O as C,H as fe,A,n as ve}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as I}from"./@vue/shared-mAAVTE9n.js";import{y as pe,n as y,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ge={class:"paiban-container"},ye={class:"card-header"},he={class:"doctor-list"},be={key:2,class:"paiban-time-container"},De={class:"date-selector"},ke={key:0,class:"time-slots-container"},we={class:"time-slots-grid"},Ye=["onClick"],Te={class:"slot-time"},Ee=ce({__name:"PaibanPanel",setup(Me,{expose:$}){d.extend(se);const m=y(!1),T=y(!1),h=y([]),v=y([]),l=y(0),i=y([]);let b=null,D=!1;const o=_e({date:"",selectedTime:""}),L=A(()=>{if(!l.value||i.value.length===0)return[];const e=[],t=["日","一","二","三","四","五","六"],a=d().startOf("day");for(const r of i.value){const u=d(r);u.isBefore(a)||e.push({date:r,label:`${u.format("MM月DD日")} (${t[u.day()]})`})}return e}),N=A(()=>{if(!o.date||v.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(o.date!==e)return v.value;const t=d();return v.value.map(a=>{const r=d(`${o.date} ${a.time}`);return r.isBefore(t)||r.isSame(t,"minute")?{...a,available:!1}:a})}),S=async()=>{try{m.value=!0;const e=await le();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await x())}catch(e){console.error("加载医生列表失败:",e),f.msgError("加载医生列表失败")}finally{m.value=!1}},x=async()=>{o.selectedTime="",o.date="",v.value=[],i.value=[],l.value&&await z()},z=async()=>{if(l.value)try{m.value=!0;const e=d().format("YYYY-MM-DD"),t=d().add(6,"day").format("YYYY-MM-DD"),a=await re({doctor_id:l.value,start_date:e,end_date:t,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await ve(),i.value.length>0){const r=d().format("YYYY-MM-DD"),u=i.value.includes(r)?r:i.value[0];B(u)}}else i.value=[],f.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),f.msgError("加载医生排班失败"),i.value=[]}finally{m.value=!1}},B=e=>{o.date=e,o.selectedTime="",l.value&&k()},k=async(e=!1)=>{if(!(!l.value||!o.date)){if(D){console.log("正在加载中,跳过本次请求");return}try{D=!0,e||(m.value=!0);const t=await ie({doctor_id:l.value,appointment_date:o.date,period:"all"});v.value=((t==null?void 0:t.slots)||[]).map(a=>({time:a.time,available:a.available,hasAppointment:!!(a.has_appointment??a.available===!1),quota:a.available?1:0}))}catch(t){console.error("加载时间段失败:",t),e||f.msgError("加载时间段失败"),v.value=[]}finally{D=!1,e||(m.value=!1)}}},F=e=>{if(!e.available){f.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},W=async()=>{if(!(!l.value||!o.date)){if(D){f.msgWarning("正在刷新中,请稍候");return}try{T.value=!0;const e=o.selectedTime;if(o.selectedTime="",await k(),e){const t=v.value.find(a=>a.time===e);t&&t.available&&(o.selectedTime=e)}f.msgSuccess("刷新成功")}catch(e){console.error("刷新失败:",e),f.msgError("刷新失败,请重试")}finally{T.value=!1}}},G=()=>{R(),b=window.setInterval(()=>{l.value&&o.date&&k(!0)},5e3)},R=()=>{b&&(clearInterval(b),b=null)};async function j(){if(l.value&&o.date){await k();return}await S()}return $({refresh:j,loading:m}),de(()=>{S(),G()}),me(()=>{R()}),(e,t)=>{const a=te,r=Z,u=X,P=Q,V=ee,J=O,U=ae,q=K;return ue((n(),p("div",ge,[_(U,{shadow:"never"},{header:c(()=>[g("div",ye,[t[2]||(t[2]=g("span",null,"医生排班管理",-1)),_(a,{text:"",type:"primary",size:"small",loading:T.value,disabled:!l.value||!o.date,onClick:W},{icon:c(()=>[_(pe(oe))]),default:c(()=>[t[1]||(t[1]=C(" 刷新 ",-1))]),_:1},8,["loading","disabled"])])]),default:c(()=>[_(J,{model:o,"label-width":"100px",class:"paiban-form"},{default:c(()=>[_(P,{label:"选择医生:"},{default:c(()=>[g("div",he,[_(u,{modelValue:l.value,"onUpdate:modelValue":t[0]||(t[0]=s=>l.value=s),onChange:x},{default:c(()=>[(n(!0),p(E,null,M(h.value,s=>(n(),w(r,{key:s.id,value:s.id,class:"doctor-radio"},{default:c(()=>[C(Y(s.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),_(P,{label:"排班时间:"},{default:c(()=>[l.value?l.value&&i.value.length===0?(n(),w(V,{key:1,description:"该医生暂无排班","image-size":80})):(n(),p("div",be,[g("div",De,[(n(!0),p(E,null,M(L.value,s=>(n(),w(a,{key:s.date,type:o.date===s.date?"primary":"",class:"date-button",onClick:H=>B(s.date)},{default:c(()=>[C(Y(s.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(n(),p("div",ke,[g("div",we,[(n(!0),p(E,null,M(N.value,s=>(n(),p("div",{key:s.time,class:I(["time-slot-item",{available:s.available,unavailable:!s.available,selected:o.selectedTime===s.time}]),onClick:H=>F(s)},[g("div",Te,Y(s.time),1),g("div",{class:I(["slot-status",{"status-available":s.available}])},Y(s.available?"可约":s.hasAppointment?"已约":"空号"),3)],10,Ye))),128))])])):fe("",!0)])):(n(),w(V,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])),[[q,m.value]])}}}),ft=ne(Ee,[["__scopeId","data-v-8368484f"]]);export{ft as default}; diff --git a/server/public/admin/assets/PatientCaseCard-B9RReKmk.js b/server/public/admin/assets/PatientCaseCard-BUE1F6Xk.js similarity index 99% rename from server/public/admin/assets/PatientCaseCard-B9RReKmk.js rename to server/public/admin/assets/PatientCaseCard-BUE1F6Xk.js index 606bca1fb..6da9e7b19 100644 --- a/server/public/admin/assets/PatientCaseCard-B9RReKmk.js +++ b/server/public/admin/assets/PatientCaseCard-BUE1F6Xk.js @@ -1 +1 @@ -import{i as Q,a as q,b as z}from"./blood-thresholds-CJ1fqMjh.js";import{m as G,j as R,b as U}from"./diag-display-DCz_VAqj.js";import{f as E}from"./diabetes-discovery-display-B_wmGXQJ.js";import{f as W,ak as F,I as J,J as s,O as X,a as l,H as Y,A as Z,i as d}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as i}from"./@vue/reactivity-DiY1c2vO.js";import{_ as P}from"./index-fRv3NTFQ.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ll={class:"card case-card"},al={class:"card-title"},el={class:"case-sub"},il={class:"grid-block"},tl={class:"kv-grid four"},sl={class:"grid-block"},ul={class:"kv-grid four"},nl={class:"grid-block"},dl={class:"kv-grid four"},ol={class:"grid-block"},vl={class:"kv-grid three"},rl={class:"grid-block"},gl={class:"kv-grid three"},cl={class:"grid-block"},ml={class:"kv-grid three"},bl={key:0,class:"grid-block"},hl={class:"kv-grid one"},yl={class:"grid-block"},fl={class:"rx-note"},pl=W({__name:"PatientCaseCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(e){const g=e,M=Z(()=>((g.diag||{}).consultation_type==="follow_up","复诊")),u=U(()=>g.diag||{}),a=n=>{const t=n.value,o=t==null||t===""||Array.isArray(t)&&t.length===0;return d("div",{class:["kv-item",n.multiline?"multiline":"",o?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:"kv-value"},o?"—":String(t))])},v=n=>{const t=n.value===void 0||n.value===null||n.value==="";return d("div",{class:["kv-item","metric-kv-item",t?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:["kv-value","metric-kv-value",n.high?"high":""]},t?"—":[`${n.value}${n.unit||""}`,n.high?d("span",{class:"metric-up"},"↑"):null])])};return(n,t)=>{var o,c,m,b,h,y,f,p,k,_,x,w,C,D,H,V,I,A,B,N,S,$,O,T,j,K,L;return F(),J("div",ll,[s("div",al,[t[0]||(t[0]=X(" 患者病例 ",-1)),s("span",el,r(M.value)+" · 诊断日期 "+r(((o=e.diag)==null?void 0:o.diagnosis_date)||((c=e.apt)==null?void 0:c.appointment_date)||"—"),1)]),s("div",il,[t[1]||(t[1]=s("div",{class:"grid-title"},"基本信息",-1)),s("div",tl,[l(a,{label:"诊单ID",value:(m=e.diag)==null?void 0:m.patient_id},null,8,["value"]),l(a,{label:"姓名",value:(b=e.diag)==null?void 0:b.patient_name},null,8,["value"]),l(a,{label:"身份证号",value:(h=e.diag)==null?void 0:h.id_card},null,8,["value"]),l(a,{label:"手机号",value:i(G)(((y=e.diag)==null?void 0:y.phone)||((f=e.apt)==null?void 0:f.patient_phone))},null,8,["value"]),l(a,{label:"性别",value:i(u)("gender")},null,8,["value"]),l(a,{label:"年龄",value:((p=e.diag)==null?void 0:p.age)!=null?e.diag.age+"岁":""},null,8,["value"]),l(a,{label:"婚姻状态",value:i(u)("marital_status")},null,8,["value"]),l(a,{label:"地区",value:(k=e.diag)==null?void 0:k.region},null,8,["value"])])]),s("div",sl,[t[2]||(t[2]=s("div",{class:"grid-title"},"生命体征",-1)),s("div",ul,[l(a,{label:"身高",value:(_=e.diag)!=null&&_.height?e.diag.height+" cm":""},null,8,["value"]),l(a,{label:"体重",value:(x=e.diag)!=null&&x.weight?e.diag.weight+" kg":""},null,8,["value"]),l(v,{label:"高压",value:(w=e.diag)==null?void 0:w.systolic_pressure,unit:" mmHg",high:i(Q)((C=e.diag)==null?void 0:C.systolic_pressure)},null,8,["value","high"]),l(v,{label:"低压",value:(D=e.diag)==null?void 0:D.diastolic_pressure,unit:" mmHg",high:i(q)((H=e.diag)==null?void 0:H.diastolic_pressure)},null,8,["value","high"]),l(a,{label:"诊断类型",value:i(u)("diagnosis_type")},null,8,["value"]),l(v,{label:"空腹血糖",value:(V=e.diag)==null?void 0:V.fasting_blood_sugar,unit:" mmol/L",high:i(z)((I=e.diag)==null?void 0:I.fasting_blood_sugar,(A=e.diag)==null?void 0:A.age)},null,8,["value","high"]),l(a,{label:"在用药物",value:(B=e.diag)==null?void 0:B.current_medications,multiline:""},null,8,["value"])])]),s("div",nl,[t[3]||(t[3]=s("div",{class:"grid-title"},"主诉",-1)),s("div",dl,[l(a,{label:"当地医院诊断日期",value:(N=e.diag)==null?void 0:N.diagnosis_date},null,8,["value"]),l(a,{label:"发现糖尿病病史",value:i(E)?i(E)((S=e.diag)==null?void 0:S.diabetes_discovery_year):($=e.diag)==null?void 0:$.diabetes_discovery_year},null,8,["value"]),l(a,{label:"当地就诊医院",value:(O=e.diag)==null?void 0:O.local_hospital_name},null,8,["value"]),l(a,{label:"当地医院诊断结果",value:i(R)((T=e.diag)==null?void 0:T.local_hospital_diagnosis)},null,8,["value"])])]),s("div",ol,[t[4]||(t[4]=s("div",{class:"grid-title"},"现病史",-1)),s("div",vl,[l(a,{label:"口腔感觉",value:i(u)("appetite")},null,8,["value"]),l(a,{label:"每日饮水量",value:i(u)("water_intake")},null,8,["value"]),l(a,{label:"近月体重变化",value:i(u)("weight_change")},null,8,["value"]),l(a,{label:"脂肪肝程度",value:i(u)("fatty_liver_degree")},null,8,["value"]),l(a,{label:"饮食情况",value:i(u)("diet_condition"),span:"2"},null,8,["value"]),l(a,{label:"肢体感觉",value:i(u)("body_feeling")},null,8,["value"]),l(a,{label:"睡眠情况",value:i(u)("sleep_condition")},null,8,["value"]),l(a,{label:"眼睛情况",value:i(u)("eye_condition")},null,8,["value"]),l(a,{label:"头部感觉",value:i(u)("head_feeling")},null,8,["value"]),l(a,{label:"出汗情况",value:i(u)("sweat_condition")},null,8,["value"]),l(a,{label:"皮肤情况",value:i(u)("skin_condition")},null,8,["value"]),l(a,{label:"小便情况",value:i(u)("urine_condition")},null,8,["value"]),l(a,{label:"大便情况",value:i(u)("stool_condition")},null,8,["value"]),l(a,{label:"腰肾情况",value:i(u)("kidney_condition")},null,8,["value"]),l(a,{label:"其他补充",value:(j=e.diag)==null?void 0:j.symptoms,span:"3",multiline:""},null,8,["value"])])]),s("div",rl,[t[5]||(t[5]=s("div",{class:"grid-title"},"既往史",-1)),s("div",gl,[l(a,{label:"既往病史",value:i(u)("past_history"),span:"3"},null,8,["value"])])]),s("div",cl,[t[6]||(t[6]=s("div",{class:"grid-title"},"其他病史",-1)),s("div",ml,[l(a,{label:"外伤史",value:i(u)("trauma_history")},null,8,["value"]),l(a,{label:"手术史",value:i(u)("surgery_history")},null,8,["value"]),l(a,{label:"过敏史",value:i(u)("allergy_history")},null,8,["value"]),l(a,{label:"家族病史",value:i(u)("family_history")},null,8,["value"]),l(a,{label:"妊娠哺乳史",value:i(u)("pregnancy_history")},null,8,["value"])])]),(K=e.diag)!=null&&K.remark?(F(),J("div",bl,[t[7]||(t[7]=s("div",{class:"grid-title"},"病史补充",-1)),s("div",hl,[l(a,{label:"",value:e.diag.remark,multiline:""},null,8,["value"])])])):Y("",!0),s("div",yl,[t[8]||(t[8]=s("div",{class:"grid-title"},"处方意见",-1)),s("div",fl,r((L=e.apt)!=null&&L.has_prescription?"已开方。":"当前未开方。"),1)])])}}}),ua=P(pl,[["__scopeId","data-v-a6ad7c86"]]);export{ua as default}; +import{i as Q,a as q,b as z}from"./blood-thresholds-CJ1fqMjh.js";import{m as G,j as R,b as U}from"./diag-display-DCz_VAqj.js";import{f as E}from"./diabetes-discovery-display-B_wmGXQJ.js";import{f as W,ak as F,I as J,J as s,O as X,a as l,H as Y,A as Z,i as d}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as i}from"./@vue/reactivity-DiY1c2vO.js";import{_ as P}from"./index-J_eFER10.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ll={class:"card case-card"},al={class:"card-title"},el={class:"case-sub"},il={class:"grid-block"},tl={class:"kv-grid four"},sl={class:"grid-block"},ul={class:"kv-grid four"},nl={class:"grid-block"},dl={class:"kv-grid four"},ol={class:"grid-block"},vl={class:"kv-grid three"},rl={class:"grid-block"},gl={class:"kv-grid three"},cl={class:"grid-block"},ml={class:"kv-grid three"},bl={key:0,class:"grid-block"},hl={class:"kv-grid one"},yl={class:"grid-block"},fl={class:"rx-note"},pl=W({__name:"PatientCaseCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(e){const g=e,M=Z(()=>((g.diag||{}).consultation_type==="follow_up","复诊")),u=U(()=>g.diag||{}),a=n=>{const t=n.value,o=t==null||t===""||Array.isArray(t)&&t.length===0;return d("div",{class:["kv-item",n.multiline?"multiline":"",o?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:"kv-value"},o?"—":String(t))])},v=n=>{const t=n.value===void 0||n.value===null||n.value==="";return d("div",{class:["kv-item","metric-kv-item",t?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:["kv-value","metric-kv-value",n.high?"high":""]},t?"—":[`${n.value}${n.unit||""}`,n.high?d("span",{class:"metric-up"},"↑"):null])])};return(n,t)=>{var o,c,m,b,h,y,f,p,k,_,x,w,C,D,H,V,I,A,B,N,S,$,O,T,j,K,L;return F(),J("div",ll,[s("div",al,[t[0]||(t[0]=X(" 患者病例 ",-1)),s("span",el,r(M.value)+" · 诊断日期 "+r(((o=e.diag)==null?void 0:o.diagnosis_date)||((c=e.apt)==null?void 0:c.appointment_date)||"—"),1)]),s("div",il,[t[1]||(t[1]=s("div",{class:"grid-title"},"基本信息",-1)),s("div",tl,[l(a,{label:"诊单ID",value:(m=e.diag)==null?void 0:m.patient_id},null,8,["value"]),l(a,{label:"姓名",value:(b=e.diag)==null?void 0:b.patient_name},null,8,["value"]),l(a,{label:"身份证号",value:(h=e.diag)==null?void 0:h.id_card},null,8,["value"]),l(a,{label:"手机号",value:i(G)(((y=e.diag)==null?void 0:y.phone)||((f=e.apt)==null?void 0:f.patient_phone))},null,8,["value"]),l(a,{label:"性别",value:i(u)("gender")},null,8,["value"]),l(a,{label:"年龄",value:((p=e.diag)==null?void 0:p.age)!=null?e.diag.age+"岁":""},null,8,["value"]),l(a,{label:"婚姻状态",value:i(u)("marital_status")},null,8,["value"]),l(a,{label:"地区",value:(k=e.diag)==null?void 0:k.region},null,8,["value"])])]),s("div",sl,[t[2]||(t[2]=s("div",{class:"grid-title"},"生命体征",-1)),s("div",ul,[l(a,{label:"身高",value:(_=e.diag)!=null&&_.height?e.diag.height+" cm":""},null,8,["value"]),l(a,{label:"体重",value:(x=e.diag)!=null&&x.weight?e.diag.weight+" kg":""},null,8,["value"]),l(v,{label:"高压",value:(w=e.diag)==null?void 0:w.systolic_pressure,unit:" mmHg",high:i(Q)((C=e.diag)==null?void 0:C.systolic_pressure)},null,8,["value","high"]),l(v,{label:"低压",value:(D=e.diag)==null?void 0:D.diastolic_pressure,unit:" mmHg",high:i(q)((H=e.diag)==null?void 0:H.diastolic_pressure)},null,8,["value","high"]),l(a,{label:"诊断类型",value:i(u)("diagnosis_type")},null,8,["value"]),l(v,{label:"空腹血糖",value:(V=e.diag)==null?void 0:V.fasting_blood_sugar,unit:" mmol/L",high:i(z)((I=e.diag)==null?void 0:I.fasting_blood_sugar,(A=e.diag)==null?void 0:A.age)},null,8,["value","high"]),l(a,{label:"在用药物",value:(B=e.diag)==null?void 0:B.current_medications,multiline:""},null,8,["value"])])]),s("div",nl,[t[3]||(t[3]=s("div",{class:"grid-title"},"主诉",-1)),s("div",dl,[l(a,{label:"当地医院诊断日期",value:(N=e.diag)==null?void 0:N.diagnosis_date},null,8,["value"]),l(a,{label:"发现糖尿病病史",value:i(E)?i(E)((S=e.diag)==null?void 0:S.diabetes_discovery_year):($=e.diag)==null?void 0:$.diabetes_discovery_year},null,8,["value"]),l(a,{label:"当地就诊医院",value:(O=e.diag)==null?void 0:O.local_hospital_name},null,8,["value"]),l(a,{label:"当地医院诊断结果",value:i(R)((T=e.diag)==null?void 0:T.local_hospital_diagnosis)},null,8,["value"])])]),s("div",ol,[t[4]||(t[4]=s("div",{class:"grid-title"},"现病史",-1)),s("div",vl,[l(a,{label:"口腔感觉",value:i(u)("appetite")},null,8,["value"]),l(a,{label:"每日饮水量",value:i(u)("water_intake")},null,8,["value"]),l(a,{label:"近月体重变化",value:i(u)("weight_change")},null,8,["value"]),l(a,{label:"脂肪肝程度",value:i(u)("fatty_liver_degree")},null,8,["value"]),l(a,{label:"饮食情况",value:i(u)("diet_condition"),span:"2"},null,8,["value"]),l(a,{label:"肢体感觉",value:i(u)("body_feeling")},null,8,["value"]),l(a,{label:"睡眠情况",value:i(u)("sleep_condition")},null,8,["value"]),l(a,{label:"眼睛情况",value:i(u)("eye_condition")},null,8,["value"]),l(a,{label:"头部感觉",value:i(u)("head_feeling")},null,8,["value"]),l(a,{label:"出汗情况",value:i(u)("sweat_condition")},null,8,["value"]),l(a,{label:"皮肤情况",value:i(u)("skin_condition")},null,8,["value"]),l(a,{label:"小便情况",value:i(u)("urine_condition")},null,8,["value"]),l(a,{label:"大便情况",value:i(u)("stool_condition")},null,8,["value"]),l(a,{label:"腰肾情况",value:i(u)("kidney_condition")},null,8,["value"]),l(a,{label:"其他补充",value:(j=e.diag)==null?void 0:j.symptoms,span:"3",multiline:""},null,8,["value"])])]),s("div",rl,[t[5]||(t[5]=s("div",{class:"grid-title"},"既往史",-1)),s("div",gl,[l(a,{label:"既往病史",value:i(u)("past_history"),span:"3"},null,8,["value"])])]),s("div",cl,[t[6]||(t[6]=s("div",{class:"grid-title"},"其他病史",-1)),s("div",ml,[l(a,{label:"外伤史",value:i(u)("trauma_history")},null,8,["value"]),l(a,{label:"手术史",value:i(u)("surgery_history")},null,8,["value"]),l(a,{label:"过敏史",value:i(u)("allergy_history")},null,8,["value"]),l(a,{label:"家族病史",value:i(u)("family_history")},null,8,["value"]),l(a,{label:"妊娠哺乳史",value:i(u)("pregnancy_history")},null,8,["value"])])]),(K=e.diag)!=null&&K.remark?(F(),J("div",bl,[t[7]||(t[7]=s("div",{class:"grid-title"},"病史补充",-1)),s("div",hl,[l(a,{label:"",value:e.diag.remark,multiline:""},null,8,["value"])])])):Y("",!0),s("div",yl,[t[8]||(t[8]=s("div",{class:"grid-title"},"处方意见",-1)),s("div",fl,r((L=e.apt)!=null&&L.has_prescription?"已开方。":"当前未开方。"),1)])])}}}),ua=P(pl,[["__scopeId","data-v-a6ad7c86"]]);export{ua as default}; diff --git a/server/public/admin/assets/PatientInfoCard-Bub1uklL.js b/server/public/admin/assets/PatientInfoCard-CRgOOFEE.js similarity index 97% rename from server/public/admin/assets/PatientInfoCard-Bub1uklL.js rename to server/public/admin/assets/PatientInfoCard-CRgOOFEE.js index 25d53787e..7ce0c81f2 100644 --- a/server/public/admin/assets/PatientInfoCard-Bub1uklL.js +++ b/server/public/admin/assets/PatientInfoCard-CRgOOFEE.js @@ -1 +1 @@ -import{m as x,f as y,a as B}from"./diag-display-DCz_VAqj.js";import{f as w,ak as I,I as P,J as a,H as N}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as e}from"./@vue/reactivity-DiY1c2vO.js";import{_ as V}from"./index-fRv3NTFQ.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const b={class:"card patient-card"},D={class:"patient-hero"},E={class:"patient-name"},G={class:"patient-meta"},H={key:0},J=w({__name:"PatientInfoCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(t){return(Q,o)=>{var m,r,n,d,p,s,c,l,g,f,u,h,v,k,C;return I(),P("div",b,[o[0]||(o[0]=a("div",{class:"card-title"},"患者信息",-1)),a("div",D,[a("div",E,i(((m=t.apt)==null?void 0:m.patient_name)||"—"),1),a("div",G,[a("div",null,i(e(x)((r=t.apt)==null?void 0:r.patient_phone))+" · "+i(e(y)((n=t.diag)==null?void 0:n.gender))+" · "+i(((d=t.diag)==null?void 0:d.age)!=null?t.diag.age+"岁":"—"),1),a("div",null,i((p=t.diag)!=null&&p.height?t.diag.height+"cm":"—")+" / "+i((s=t.diag)!=null&&s.weight?t.diag.weight+"kg":"—")+" · "+i(((c=t.diag)==null?void 0:c.region)||"—"),1),a("div",null," 预约:"+i((l=t.apt)==null?void 0:l.appointment_date)+" "+i((g=t.apt)==null?void 0:g.appointment_time)+" · "+i(e(B)((f=t.apt)==null?void 0:f.period)),1),a("div",null,"医生:"+i(((u=t.apt)==null?void 0:u.doctor_name)||"—")+" 客服:"+i(((h=t.apt)==null?void 0:h.assistant_name)||"—"),1),a("div",null," 状态:"+i(((v=t.apt)==null?void 0:v.status_desc)||"—")+" · "+i((k=t.apt)!=null&&k.has_prescription?"已开方":"未开方"),1),(C=t.apt)!=null&&C.remark?(I(),P("div",H,"备注:"+i(t.apt.remark),1)):N("",!0)])])])}}}),Ct=V(J,[["__scopeId","data-v-37de0c0b"]]);export{Ct as default}; +import{m as x,f as y,a as B}from"./diag-display-DCz_VAqj.js";import{f as w,ak as I,I as P,J as a,H as N}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as e}from"./@vue/reactivity-DiY1c2vO.js";import{_ as V}from"./index-J_eFER10.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const b={class:"card patient-card"},D={class:"patient-hero"},E={class:"patient-name"},G={class:"patient-meta"},H={key:0},J=w({__name:"PatientInfoCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(t){return(Q,o)=>{var m,r,n,d,p,s,c,l,g,f,u,h,v,k,C;return I(),P("div",b,[o[0]||(o[0]=a("div",{class:"card-title"},"患者信息",-1)),a("div",D,[a("div",E,i(((m=t.apt)==null?void 0:m.patient_name)||"—"),1),a("div",G,[a("div",null,i(e(x)((r=t.apt)==null?void 0:r.patient_phone))+" · "+i(e(y)((n=t.diag)==null?void 0:n.gender))+" · "+i(((d=t.diag)==null?void 0:d.age)!=null?t.diag.age+"岁":"—"),1),a("div",null,i((p=t.diag)!=null&&p.height?t.diag.height+"cm":"—")+" / "+i((s=t.diag)!=null&&s.weight?t.diag.weight+"kg":"—")+" · "+i(((c=t.diag)==null?void 0:c.region)||"—"),1),a("div",null," 预约:"+i((l=t.apt)==null?void 0:l.appointment_date)+" "+i((g=t.apt)==null?void 0:g.appointment_time)+" · "+i(e(B)((f=t.apt)==null?void 0:f.period)),1),a("div",null,"医生:"+i(((u=t.apt)==null?void 0:u.doctor_name)||"—")+" 客服:"+i(((h=t.apt)==null?void 0:h.assistant_name)||"—"),1),a("div",null," 状态:"+i(((v=t.apt)==null?void 0:v.status_desc)||"—")+" · "+i((k=t.apt)!=null&&k.has_prescription?"已开方":"未开方"),1),(C=t.apt)!=null&&C.remark?(I(),P("div",H,"备注:"+i(t.apt.remark),1)):N("",!0)])])])}}}),Ct=V(J,[["__scopeId","data-v-37de0c0b"]]);export{Ct as default}; diff --git a/server/public/admin/assets/PatientOrderList-hgIlFF0m.js b/server/public/admin/assets/PatientOrderList-Bq3jWUKy.js similarity index 98% rename from server/public/admin/assets/PatientOrderList-hgIlFF0m.js rename to server/public/admin/assets/PatientOrderList-Bq3jWUKy.js index a2e985a96..c07d16616 100644 --- a/server/public/admin/assets/PatientOrderList-hgIlFF0m.js +++ b/server/public/admin/assets/PatientOrderList-Bq3jWUKy.js @@ -1 +1 @@ -import{X as Q,d as W,r as X,h as Y,i as K,N as Z,O as tt,U as et,M as st}from"./element-plus-DGP1XOrU.js";import{_ as it}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{Y as at}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as ot}from"./usePaging-DofycyjW.js";import{y as lt,aa as nt,au as rt}from"./tcm-CEIBuAeK.js";import mt from"./PrescriptionOrderDetailDrawer-O5Yv7ynk.js";import{k as R,_ as dt}from"./index-fRv3NTFQ.js";import{B as pt,a as ft,f as ut}from"./prescription-order-utils-CpKeuzsa.js";import{f as ct,w as _t,as as vt,ak as l,I as v,a as i,F as gt,J as g,aN as a,aP as h,G as b,O as m,H as bt,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,a as yt,n as y,r as wt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const xt={class:"patient-order-list"},ht={key:0,class:"po-empty-tip"},Nt={key:0,class:"po-revisit-offset-bar mb-3"},St={class:"po-revisit-offset-bar__main"},kt={class:"text-xs text-gray-500 ml-2"},It={key:0},Ot={key:1,class:"text-gray-400"},Dt={class:"text-red-500 font-semibold"},Et={class:"flex justify-end mt-3"},Vt=ct({__name:"PatientOrderList",props:{diagnosisId:{},patientId:{}},setup(E,{expose:T}){const r=E,S=N(()=>{const e=Number(r.patientId);return Number.isFinite(e)&&e>0?e:0}),k=N(()=>S.value>0),c=wt({}),{pager:p,getLists:I,resetPage:P}=ot({fetchFun:lt,params:c,size:10}),f=y(0),w=y(0),x=y(!1),V=y(!1),L=N(()=>Number(f.value)!==Number(w.value)),B=N(()=>{const e=Number(f.value),o=(Number.isFinite(e)?e:0)+1,_=["","一","二","三","四","五","六","七","八","九","十"];return o>=1&&o<=10?_[o]+"诊":`第${o}诊`}),z=()=>{Object.keys(c).forEach(e=>delete c[e]),r.diagnosisId>0&&(c.context_diagnosis_id=r.diagnosisId),k.value&&(c.patient_id=S.value),c.scene="diagnosis_edit"};async function q(){if(!(r.diagnosisId<=0)){V.value=!0;try{const e=await nt({id:r.diagnosisId}),t=(e==null?void 0:e.data)??e??{},o=Number(t.revisit_slot_start_offset),_=Number.isFinite(o)&&o>=0&&o<=20?o:0;f.value=_,w.value=_}catch{f.value=0,w.value=0}finally{V.value=!1}}}async function A(){if(r.diagnosisId<=0)return;const e=Number(f.value);if(!Number.isFinite(e)||e<0||e>20){R.msgWarning("起始偏移须在 0~20 之间");return}x.value=!0;try{await rt({id:r.diagnosisId,revisit_slot_start_offset:e}),w.value=e,R.msgSuccess("保存成功"),I()}catch{}finally{x.value=!1}}const C=y();function U(e){var t;(t=C.value)==null||t.open(e)}const $=e=>{const t=Number(e);return Number.isFinite(t)?t.toFixed(2):"0.00"};return _t(()=>[r.diagnosisId,S.value],()=>{if(!k.value){p.lists=[],p.count=0;return}z(),q(),P()},{immediate:!0}),T({refresh:()=>I()}),(e,t)=>{const o=Q,_=W,j=X,G=Y,F=K,n=tt,O=et,H=Z,J=it,D=vt("perms"),M=st;return l(),v("div",xt,[k.value?(l(),v(gt,{key:1},[E.diagnosisId>0?(l(),v("div",Nt,[g("div",St,[t[3]||(t[3]=g("span",{class:"text-sm text-gray-600"},"复诊统计起始偏移",-1)),i(j,{placement:"top"},{content:a(()=>[...t[2]||(t[2]=[g("div",{class:"max-w-xs leading-relaxed"}," 在实单诊次序号上叠加偏移量。设为 0(默认):第 1 笔实单计为一诊;设为 1:第 1 笔实单计为二诊;设为 2:第 1 笔实单计为三诊——若有 5 笔实单且偏移 2,则统计上相当于计至七诊(5+2)。 ",-1)])]),default:a(()=>[i(_,{class:"text-gray-400 align-middle ml-1"},{default:a(()=>[i(d(at))]),_:1})]),_:1}),h(i(G,{modelValue:f.value,"onUpdate:modelValue":t[0]||(t[0]=s=>f.value=s),min:0,max:20,step:1,"controls-position":"right",class:"w-[120px] ml-3",disabled:x.value},null,8,["modelValue","disabled"]),[[D,["tcm.diagnosis/setRevisitSlotStartOffset"]]]),g("span",kt," 第 1 笔实单计为"+u(B.value),1)]),h((l(),b(F,{type:"primary",size:"small",loading:x.value,disabled:!L.value,onClick:A},{default:a(()=>[...t[4]||(t[4]=[m(" 保存 ",-1)])]),_:1},8,["loading","disabled"])),[[D,["tcm.diagnosis/setRevisitSlotStartOffset"]]])])):bt("",!0),h((l(),b(H,{data:d(p).lists,border:"",stripe:"","empty-text":"暂无业务订单"},{default:a(()=>[i(n,{label:"订单编号",prop:"order_no","min-width":"200","show-overflow-tooltip":""}),i(n,{label:"全局诊次",width:"96",align:"center"},{default:a(({row:s})=>[s.global_visit_seq?(l(),v("span",It,u(s.global_visit_seq)+"诊",1)):(l(),v("span",Ot,"—"))]),_:1}),i(n,{label:"计入统计",width:"96",align:"center"},{default:a(({row:s})=>[s.counts_for_revisit_rate?(l(),b(O,{key:0,type:"success",size:"small",effect:"plain"},{default:a(()=>[...t[5]||(t[5]=[m("是",-1)])]),_:1})):(l(),b(O,{key:1,type:"info",size:"small",effect:"plain"},{default:a(()=>[...t[6]||(t[6]=[m("否",-1)])]),_:1}))]),_:1}),i(n,{label:"金额",width:"120",align:"right"},{default:a(({row:s})=>[g("span",Dt,"¥"+u($(s.amount)),1)]),_:1}),i(n,{label:"医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""},{default:a(({row:s})=>[m(u(s.doctor_name||"—"),1)]),_:1}),i(n,{label:"医助",prop:"assistant_name",width:"110","show-overflow-tooltip":""},{default:a(({row:s})=>[m(u(s.assistant_name||"—"),1)]),_:1}),i(n,{label:"履约状态",width:"110"},{default:a(({row:s})=>[i(O,{type:d(pt)(s.fulfillment_status),size:"small",effect:"light"},{default:a(()=>[m(u(d(ft)(s.fulfillment_status)),1)]),_:2},1032,["type"])]),_:1}),i(n,{label:"创建时间","min-width":"170"},{default:a(({row:s})=>[m(u(d(ut)(s.create_time)),1)]),_:1}),i(n,{label:"操作",width:"100",fixed:"right"},{default:a(({row:s})=>[h((l(),b(F,{type:"primary",link:"",onClick:Ct=>U(s.id)},{default:a(()=>[...t[7]||(t[7]=[m("查看详情",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/detail"]]])]),_:1})]),_:1},8,["data"])),[[M,d(p).loading]]),g("div",Et,[i(J,{modelValue:d(p),"onUpdate:modelValue":t[1]||(t[1]=s=>yt(p)?p.value=s:null),onChange:d(I)},null,8,["modelValue","onChange"])])],64)):(l(),v("div",ht,[i(o,{description:"当前诊单未携带患者ID,无法列出业务订单"})])),i(mt,{ref_key:"detailDrawerRef",ref:C,readonly:"","append-to-body":""},null,512)])}}}),we=dt(Vt,[["__scopeId","data-v-dab792c2"]]);export{we as default}; +import{X as Q,d as W,r as X,h as Y,i as K,N as Z,O as tt,U as et,M as st}from"./element-plus-DGP1XOrU.js";import{_ as it}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{Y as at}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as ot}from"./usePaging-DofycyjW.js";import{y as lt,aa as nt,au as rt}from"./tcm-D-ZRccbe.js";import mt from"./PrescriptionOrderDetailDrawer-C30zC4to.js";import{k as R,_ as dt}from"./index-J_eFER10.js";import{B as pt,a as ft,f as ut}from"./prescription-order-utils-CpKeuzsa.js";import{f as ct,w as _t,as as vt,ak as l,I as v,a as i,F as gt,J as g,aN as a,aP as h,G as b,O as m,H as bt,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,a as yt,n as y,r as wt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const xt={class:"patient-order-list"},ht={key:0,class:"po-empty-tip"},Nt={key:0,class:"po-revisit-offset-bar mb-3"},St={class:"po-revisit-offset-bar__main"},kt={class:"text-xs text-gray-500 ml-2"},It={key:0},Ot={key:1,class:"text-gray-400"},Dt={class:"text-red-500 font-semibold"},Et={class:"flex justify-end mt-3"},Vt=ct({__name:"PatientOrderList",props:{diagnosisId:{},patientId:{}},setup(E,{expose:T}){const r=E,S=N(()=>{const e=Number(r.patientId);return Number.isFinite(e)&&e>0?e:0}),k=N(()=>S.value>0),c=wt({}),{pager:p,getLists:I,resetPage:P}=ot({fetchFun:lt,params:c,size:10}),f=y(0),w=y(0),x=y(!1),V=y(!1),L=N(()=>Number(f.value)!==Number(w.value)),B=N(()=>{const e=Number(f.value),o=(Number.isFinite(e)?e:0)+1,_=["","一","二","三","四","五","六","七","八","九","十"];return o>=1&&o<=10?_[o]+"诊":`第${o}诊`}),z=()=>{Object.keys(c).forEach(e=>delete c[e]),r.diagnosisId>0&&(c.context_diagnosis_id=r.diagnosisId),k.value&&(c.patient_id=S.value),c.scene="diagnosis_edit"};async function q(){if(!(r.diagnosisId<=0)){V.value=!0;try{const e=await nt({id:r.diagnosisId}),t=(e==null?void 0:e.data)??e??{},o=Number(t.revisit_slot_start_offset),_=Number.isFinite(o)&&o>=0&&o<=20?o:0;f.value=_,w.value=_}catch{f.value=0,w.value=0}finally{V.value=!1}}}async function A(){if(r.diagnosisId<=0)return;const e=Number(f.value);if(!Number.isFinite(e)||e<0||e>20){R.msgWarning("起始偏移须在 0~20 之间");return}x.value=!0;try{await rt({id:r.diagnosisId,revisit_slot_start_offset:e}),w.value=e,R.msgSuccess("保存成功"),I()}catch{}finally{x.value=!1}}const C=y();function U(e){var t;(t=C.value)==null||t.open(e)}const $=e=>{const t=Number(e);return Number.isFinite(t)?t.toFixed(2):"0.00"};return _t(()=>[r.diagnosisId,S.value],()=>{if(!k.value){p.lists=[],p.count=0;return}z(),q(),P()},{immediate:!0}),T({refresh:()=>I()}),(e,t)=>{const o=Q,_=W,j=X,G=Y,F=K,n=tt,O=et,H=Z,J=it,D=vt("perms"),M=st;return l(),v("div",xt,[k.value?(l(),v(gt,{key:1},[E.diagnosisId>0?(l(),v("div",Nt,[g("div",St,[t[3]||(t[3]=g("span",{class:"text-sm text-gray-600"},"复诊统计起始偏移",-1)),i(j,{placement:"top"},{content:a(()=>[...t[2]||(t[2]=[g("div",{class:"max-w-xs leading-relaxed"}," 在实单诊次序号上叠加偏移量。设为 0(默认):第 1 笔实单计为一诊;设为 1:第 1 笔实单计为二诊;设为 2:第 1 笔实单计为三诊——若有 5 笔实单且偏移 2,则统计上相当于计至七诊(5+2)。 ",-1)])]),default:a(()=>[i(_,{class:"text-gray-400 align-middle ml-1"},{default:a(()=>[i(d(at))]),_:1})]),_:1}),h(i(G,{modelValue:f.value,"onUpdate:modelValue":t[0]||(t[0]=s=>f.value=s),min:0,max:20,step:1,"controls-position":"right",class:"w-[120px] ml-3",disabled:x.value},null,8,["modelValue","disabled"]),[[D,["tcm.diagnosis/setRevisitSlotStartOffset"]]]),g("span",kt," 第 1 笔实单计为"+u(B.value),1)]),h((l(),b(F,{type:"primary",size:"small",loading:x.value,disabled:!L.value,onClick:A},{default:a(()=>[...t[4]||(t[4]=[m(" 保存 ",-1)])]),_:1},8,["loading","disabled"])),[[D,["tcm.diagnosis/setRevisitSlotStartOffset"]]])])):bt("",!0),h((l(),b(H,{data:d(p).lists,border:"",stripe:"","empty-text":"暂无业务订单"},{default:a(()=>[i(n,{label:"订单编号",prop:"order_no","min-width":"200","show-overflow-tooltip":""}),i(n,{label:"全局诊次",width:"96",align:"center"},{default:a(({row:s})=>[s.global_visit_seq?(l(),v("span",It,u(s.global_visit_seq)+"诊",1)):(l(),v("span",Ot,"—"))]),_:1}),i(n,{label:"计入统计",width:"96",align:"center"},{default:a(({row:s})=>[s.counts_for_revisit_rate?(l(),b(O,{key:0,type:"success",size:"small",effect:"plain"},{default:a(()=>[...t[5]||(t[5]=[m("是",-1)])]),_:1})):(l(),b(O,{key:1,type:"info",size:"small",effect:"plain"},{default:a(()=>[...t[6]||(t[6]=[m("否",-1)])]),_:1}))]),_:1}),i(n,{label:"金额",width:"120",align:"right"},{default:a(({row:s})=>[g("span",Dt,"¥"+u($(s.amount)),1)]),_:1}),i(n,{label:"医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""},{default:a(({row:s})=>[m(u(s.doctor_name||"—"),1)]),_:1}),i(n,{label:"医助",prop:"assistant_name",width:"110","show-overflow-tooltip":""},{default:a(({row:s})=>[m(u(s.assistant_name||"—"),1)]),_:1}),i(n,{label:"履约状态",width:"110"},{default:a(({row:s})=>[i(O,{type:d(pt)(s.fulfillment_status),size:"small",effect:"light"},{default:a(()=>[m(u(d(ft)(s.fulfillment_status)),1)]),_:2},1032,["type"])]),_:1}),i(n,{label:"创建时间","min-width":"170"},{default:a(({row:s})=>[m(u(d(ut)(s.create_time)),1)]),_:1}),i(n,{label:"操作",width:"100",fixed:"right"},{default:a(({row:s})=>[h((l(),b(F,{type:"primary",link:"",onClick:Ct=>U(s.id)},{default:a(()=>[...t[7]||(t[7]=[m("查看详情",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/detail"]]])]),_:1})]),_:1},8,["data"])),[[M,d(p).loading]]),g("div",Et,[i(J,{modelValue:d(p),"onUpdate:modelValue":t[1]||(t[1]=s=>yt(p)?p.value=s:null),onChange:d(I)},null,8,["modelValue","onChange"])])],64)):(l(),v("div",ht,[i(o,{description:"当前诊单未携带患者ID,无法列出业务订单"})])),i(mt,{ref_key:"detailDrawerRef",ref:C,readonly:"","append-to-body":""},null,512)])}}}),we=dt(Vt,[["__scopeId","data-v-dab792c2"]]);export{we as default}; diff --git a/server/public/admin/assets/PrescriptionAiBatchGenerateDialog-DeSq7Ovs.js b/server/public/admin/assets/PrescriptionAiBatchGenerateDialog-BUnLbCPn.js similarity index 98% rename from server/public/admin/assets/PrescriptionAiBatchGenerateDialog-DeSq7Ovs.js rename to server/public/admin/assets/PrescriptionAiBatchGenerateDialog-BUnLbCPn.js index faadccd1c..7e643c038 100644 --- a/server/public/admin/assets/PrescriptionAiBatchGenerateDialog-DeSq7Ovs.js +++ b/server/public/admin/assets/PrescriptionAiBatchGenerateDialog-BUnLbCPn.js @@ -1 +1 @@ -import{L as pe,a3 as de,X as ce,i as me,U as ve,a1 as fe,N as ge,O as _e,W as ye}from"./element-plus-DGP1XOrU.js";import{a as he,b as ke}from"./tcm-CEIBuAeK.js";import{k as L,_ as be}from"./index-fRv3NTFQ.js";import{f as we,ak as r,G as g,aN as u,J as l,a as d,I as h,O as m,F as Ce,H as C,A as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Ee,n as p,q as $e}from"./@vue/reactivity-DiY1c2vO.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const xe={class:"batch-dialog-body"},Me={key:0,class:"loading-state"},Ae={key:1,class:"load-error-state"},Ie={class:"state-description"},Be={class:"overview-panel"},Ne={class:"overview-meta"},Re={key:0,class:"refresh-error"},Se={key:2,class:"progress-panel"},ze={class:"progress-heading"},Ge={key:0,class:"current-prescription"},Te={class:"counter-grid"},Le={class:"counter-item counter-processed"},Ve={class:"counter-item counter-success"},qe={class:"counter-item counter-partial"},Fe={class:"counter-item counter-failed"},Pe={key:3,class:"issues-panel"},De={class:"section-heading"},We={class:"issue-name"},je={class:"state-description"},He={key:5,class:"pending-panel"},Oe={class:"section-heading"},Ue={class:"pending-count"},Je={class:"dialog-footer"},Qe={key:0,class:"footer-tip"},Xe={key:1},I=500,Ke=we({__name:"PrescriptionAiBatchGenerateDialog",emits:["changed"],setup(Ye,{expose:Y,emit:Z}){const ee=Z,E=p(!1),z=p(0),B=p(0),G=p(!1),N=p(""),R=p(""),v=p([]),$=p(0),V=p(I),D=p(!1),c=p(!1),_=p(!1),W=p("idle"),y=p(0),w=p(0),j=p(0),q=p(0),T=p(0),k=p(null),x=p([]),F=$e(null),te=K(()=>y.value?Math.min(100,Math.round(w.value/y.value*100)):0),se=K(()=>{const s=Math.max(0,$.value-v.value.length);return s>0?`待生成数量超过单次上限,本次最多处理 ${v.value.length} 份;完成后可再次继续处理其余约 ${s} 份。`:`后端标记清单已截断,本次最多处理 ${V.value} 份;完成后可再次继续。`}),O=()=>{_.value=!1,W.value="idle",y.value=0,w.value=0,j.value=0,q.value=0,T.value=0,k.value=null,x.value=[]},U=()=>{G.value=!1,N.value="",R.value="",v.value=[],$.value=0,V.value=I,D.value=!1,O()},H=s=>{if(typeof s=="string"&&s.trim())return s;if(s&&typeof s=="object"){const e=s,n=e.response,a=n==null?void 0:n.data,o=e.msg||e.message||e.error||(a==null?void 0:a.msg)||(a==null?void 0:a.message);if(typeof o=="string"&&o.trim())return o}return"请求失败,请稍后重试"},b=s=>s===z.value&&E.value,P=async(s=z.value,e={})=>{const n=++B.value;e.silent||(G.value=!0,N.value="");try{const a=await he({limit:I});if(!b(s)||n!==B.value)return;const o=Array.isArray(a.items)?a.items.slice(0,I):[];v.value=o,$.value=Math.max(o.length,Number(a.total||0)),V.value=Math.min(I,Math.max(1,Number(a.limit||I))),D.value=a.truncated===!0||$.value>o.length,R.value=""}catch(a){if(!b(s)||n!==B.value)return;e.silent?R.value=`本轮已结束,但最新待生成清单读取失败:${H(a)}`:N.value=H(a)}finally{b(s)&&n===B.value&&(G.value=!1)}},J=s=>(s.results||[]).filter(n=>n.status==="error").map(n=>`${n.model_label||n.model_name}: ${n.error_message||"生成失败"}`).join(";")||"模型未返回完整报告",le=(s,e)=>{const n=Number(e.success_count||0),a=Number(e.failure_count||0),o=e.status==="partial"||e.partial===!0||n>0&&a>0,S=e.status==="error"||a>0&&n===0;return o?(q.value+=1,x.value.push({id:s.id,prescription_name:s.prescription_name||`处方 #${s.id}`,status:"partial",message:J(e)}),!0):S?(T.value+=1,x.value.push({id:s.id,prescription_name:s.prescription_name||`处方 #${s.id}`,status:"failed",message:J(e)}),!1):(j.value+=1,!0)},ae=(s,e)=>{T.value+=1,x.value.push({id:s.id,prescription_name:s.prescription_name||`处方 #${s.id}`,status:"failed",message:H(e)})},Q=()=>{!c.value||_.value||(_.value=!0)},ne=async()=>{if(c.value||!v.value.length)return;const s=z.value,e=v.value.slice(0,I);try{await L.confirm(`确定按顺序为 ${e.length} 份处方生成 AI 报告吗?每份会调用双模型,过程中可请求停止。`)}catch{return}if(!b(s)||c.value)return;O(),y.value=e.length,c.value=!0,R.value="";const n=new Set;try{for(const a of e){if(!b(s)||_.value)break;k.value=a;try{const o=await ke({id:a.id});if(!b(s))return;le(a,o)&&n.add(a.id)}catch(o){if(!b(s))return;ae(a,o)}w.value+=1,k.value=null}}finally{if(!b(s))return;const a=_.value&&w.value!n.has(S.id)),$.value=Math.max(0,$.value-n.size)),w.value>0&&ee("changed");const o=F.value;if(F.value=null,o){o();return}if(await P(s,{silent:!0}),!b(s))return;a?L.msgWarning(`已停止,本轮共处理 ${w.value} 份处方`):T.value>0||q.value>0?L.msgWarning("批量生成已完成,请查看失败与部分成功明细"):L.msgSuccess("批量生成报告完成")}},oe=s=>{if(!c.value){s();return}Q(),F.value=s,L.msgWarning("已请求停止,当前处方完成后将关闭窗口")},ie=()=>{++z.value,++B.value,F.value=null,c.value=!1,U()};return Y({open:()=>{if(c.value){E.value=!0;return}const s=++z.value;++B.value,U(),E.value=!0,P(s)}}),(s,e)=>{const n=pe,a=de,o=me,S=ce,M=ve,re=fe,A=_e,X=ge,ue=ye;return r(),g(ue,{modelValue:t(E),"onUpdate:modelValue":e[3]||(e[3]=f=>Ee(E)?E.value=f:null),class:"prescription-ai-batch-dialog",width:"min(820px, calc(100vw - 32px))",top:"6vh",title:"批量生成处方 AI 报告","close-on-click-modal":!1,"destroy-on-close":"","before-close":oe,onClosed:ie},{footer:u(()=>[l("div",Je,[t(c)?(r(),h("span",Qe,"生成请求不会自动重试,也不会并发执行。")):(r(),h("span",Xe)),l("div",null,[t(c)?C("",!0):(r(),g(o,{key:0,onClick:e[2]||(e[2]=f=>E.value=!1)},{default:u(()=>[...e[20]||(e[20]=[m("关闭",-1)])]),_:1})),t(c)?(r(),g(o,{key:1,type:"warning",plain:"",disabled:t(_),onClick:Q},{default:u(()=>[m(i(t(_)?"正在停止…":"停止"),1)]),_:1},8,["disabled"])):(r(),g(o,{key:2,type:"primary",disabled:t(G)||!!t(N)||!t(v).length,onClick:ne},{default:u(()=>[m(i(t(y)>0?"继续生成剩余报告":"开始批量生成"),1)]),_:1},8,["disabled"]))])])]),default:u(()=>[l("div",xe,[d(n,{type:"info",closable:!1,"show-icon":"",title:"仅统计完全没有任何 AI 报告的处方;已有报告不会被本批次覆盖。"}),t(G)?(r(),h("div",Me,[d(a,{rows:5,animated:""})])):t(N)?(r(),h("div",Ae,[d(S,{description:"待生成清单加载失败","image-size":72},{default:u(()=>[l("p",Ie,i(t(N)),1),d(o,{type:"primary",plain:"",onClick:e[0]||(e[0]=f=>P())},{default:u(()=>[...e[4]||(e[4]=[m("重新加载",-1)])]),_:1})]),_:1})])):(r(),h(Ce,{key:2},[l("section",Be,[l("div",null,[e[5]||(e[5]=l("span",{class:"overview-label"},"当前完全缺失报告",-1)),l("strong",null,i(t($)),1),e[6]||(e[6]=l("span",{class:"overview-unit"},"份处方",-1))]),l("div",Ne,[m(" 本次载入 "+i(t(v).length)+" 份 ",1),d(M,{size:"small",type:"info",effect:"plain"},{default:u(()=>[m("上限 "+i(t(V)),1)]),_:1})])]),t(R)?(r(),h("div",Re,[d(n,{type:"error",closable:!1,"show-icon":"",title:t(R)},null,8,["title"]),d(o,{type:"primary",plain:"",onClick:e[1]||(e[1]=f=>P())},{default:u(()=>[...e[7]||(e[7]=[m("重新读取清单",-1)])]),_:1})])):C("",!0),t(D)?(r(),g(n,{key:1,class:"truncated-alert",type:"warning",closable:!1,"show-icon":"",title:t(se)},null,8,["title"])):C("",!0),t(c)||t(y)>0?(r(),h("section",Se,[l("div",ze,[l("div",null,[e[8]||(e[8]=l("span",{class:"section-kicker"},"本轮进度",-1)),l("strong",null,i(t(w))+" / "+i(t(y)),1)]),t(c)&&!t(_)?(r(),g(M,{key:0,type:"primary"},{default:u(()=>[...e[9]||(e[9]=[m("顺序生成中",-1)])]),_:1})):t(c)&&t(_)?(r(),g(M,{key:1,type:"warning"},{default:u(()=>[...e[10]||(e[10]=[m("等待当前请求完成",-1)])]),_:1})):t(W)==="stopped"?(r(),g(M,{key:2,type:"warning"},{default:u(()=>[...e[11]||(e[11]=[m("已停止",-1)])]),_:1})):(r(),g(M,{key:3,type:"success"},{default:u(()=>[...e[12]||(e[12]=[m("本轮完成",-1)])]),_:1}))]),d(re,{percentage:t(te),"stroke-width":10},null,8,["percentage"]),t(k)?(r(),h("div",Ge,[e[13]||(e[13]=l("span",null,"当前处方",-1)),l("strong",null,i(t(k).prescription_name||`处方 #${t(k).id}`),1),l("small",null,"#"+i(t(k).id)+" · "+i(t(k).formula_type||"未分类"),1)])):C("",!0),l("div",Te,[l("div",Le,[e[14]||(e[14]=l("span",null,"已处理",-1)),l("strong",null,i(t(w)),1)]),l("div",Ve,[e[15]||(e[15]=l("span",null,"成功",-1)),l("strong",null,i(t(j)),1)]),l("div",qe,[e[16]||(e[16]=l("span",null,"部分成功",-1)),l("strong",null,i(t(q)),1)]),l("div",Fe,[e[17]||(e[17]=l("span",null,"失败",-1)),l("strong",null,i(t(T)),1)])]),t(_)&&t(c)?(r(),g(n,{key:1,class:"stop-alert",type:"warning",closable:!1,"show-icon":"",title:"已请求停止;当前处方生成完成后,不会继续发起下一条请求。"})):C("",!0)])):C("",!0),t(x).length?(r(),h("section",Pe,[l("div",De,[e[18]||(e[18]=l("div",null,[l("span",{class:"section-kicker"},"失败清单"),l("strong",null,"失败与部分成功明细")],-1)),d(M,{type:"danger",effect:"plain"},{default:u(()=>[m(i(t(x).length)+" 条",1)]),_:1})]),d(X,{data:t(x),"max-height":"240",size:"small"},{default:u(()=>[d(A,{label:"处方","min-width":"180"},{default:u(({row:f})=>[l("div",We,i(f.prescription_name),1),l("small",null,"#"+i(f.id),1)]),_:1}),d(A,{label:"结果",width:"100"},{default:u(({row:f})=>[d(M,{size:"small",type:f.status==="partial"?"warning":"danger"},{default:u(()=>[m(i(f.status==="partial"?"部分成功":"失败"),1)]),_:2},1032,["type"])]),_:1}),d(A,{label:"原因","min-width":"300","show-overflow-tooltip":"",prop:"message"})]),_:1},8,["data"])])):C("",!0),!t(v).length&&!t(c)?(r(),g(S,{key:4,description:t(y)>0?"当前范围已无待生成处方":"暂无完全缺失 AI 报告的处方","image-size":76},{default:u(()=>[l("p",je,i(t(y)>0?"已重新读取数据库中的最新待生成清单。":"所有可见处方均已有至少一份持久化报告。"),1)]),_:1},8,["description"])):t(c)?C("",!0):(r(),h("section",He,[l("div",Oe,[e[19]||(e[19]=l("div",null,[l("span",{class:"section-kicker"},"待生成清单"),l("strong",null,"本次将按以下顺序逐条处理")],-1)),l("span",Ue,i(t(v).length)+" 份",1)]),d(X,{data:t(v),"max-height":"280",size:"small"},{default:u(()=>[d(A,{label:"ID",prop:"id",width:"80"}),d(A,{label:"处方名称",prop:"prescription_name","min-width":"220","show-overflow-tooltip":""}),d(A,{label:"类型",prop:"formula_type",width:"100"}),d(A,{label:"药材数",width:"100",align:"right"},{default:u(({row:f})=>[m(i(f.herb_count)+" 味",1)]),_:1})]),_:1},8,["data"])]))],64))])]),_:1},8,["modelValue"])}}}),Vt=be(Ke,[["__scopeId","data-v-e1699253"]]);export{Vt as default}; +import{L as pe,a3 as de,X as ce,i as me,U as ve,a1 as fe,N as ge,O as _e,W as ye}from"./element-plus-DGP1XOrU.js";import{a as he,b as ke}from"./tcm-D-ZRccbe.js";import{k as L,_ as be}from"./index-J_eFER10.js";import{f as we,ak as r,G as g,aN as u,J as l,a as d,I as h,O as m,F as Ce,H as C,A as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Ee,n as p,q as $e}from"./@vue/reactivity-DiY1c2vO.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const xe={class:"batch-dialog-body"},Me={key:0,class:"loading-state"},Ae={key:1,class:"load-error-state"},Ie={class:"state-description"},Be={class:"overview-panel"},Ne={class:"overview-meta"},Re={key:0,class:"refresh-error"},Se={key:2,class:"progress-panel"},ze={class:"progress-heading"},Ge={key:0,class:"current-prescription"},Te={class:"counter-grid"},Le={class:"counter-item counter-processed"},Ve={class:"counter-item counter-success"},qe={class:"counter-item counter-partial"},Fe={class:"counter-item counter-failed"},Pe={key:3,class:"issues-panel"},De={class:"section-heading"},We={class:"issue-name"},je={class:"state-description"},He={key:5,class:"pending-panel"},Oe={class:"section-heading"},Ue={class:"pending-count"},Je={class:"dialog-footer"},Qe={key:0,class:"footer-tip"},Xe={key:1},I=500,Ke=we({__name:"PrescriptionAiBatchGenerateDialog",emits:["changed"],setup(Ye,{expose:Y,emit:Z}){const ee=Z,E=p(!1),z=p(0),B=p(0),G=p(!1),N=p(""),R=p(""),v=p([]),$=p(0),V=p(I),D=p(!1),c=p(!1),_=p(!1),W=p("idle"),y=p(0),w=p(0),j=p(0),q=p(0),T=p(0),k=p(null),x=p([]),F=$e(null),te=K(()=>y.value?Math.min(100,Math.round(w.value/y.value*100)):0),se=K(()=>{const s=Math.max(0,$.value-v.value.length);return s>0?`待生成数量超过单次上限,本次最多处理 ${v.value.length} 份;完成后可再次继续处理其余约 ${s} 份。`:`后端标记清单已截断,本次最多处理 ${V.value} 份;完成后可再次继续。`}),O=()=>{_.value=!1,W.value="idle",y.value=0,w.value=0,j.value=0,q.value=0,T.value=0,k.value=null,x.value=[]},U=()=>{G.value=!1,N.value="",R.value="",v.value=[],$.value=0,V.value=I,D.value=!1,O()},H=s=>{if(typeof s=="string"&&s.trim())return s;if(s&&typeof s=="object"){const e=s,n=e.response,a=n==null?void 0:n.data,o=e.msg||e.message||e.error||(a==null?void 0:a.msg)||(a==null?void 0:a.message);if(typeof o=="string"&&o.trim())return o}return"请求失败,请稍后重试"},b=s=>s===z.value&&E.value,P=async(s=z.value,e={})=>{const n=++B.value;e.silent||(G.value=!0,N.value="");try{const a=await he({limit:I});if(!b(s)||n!==B.value)return;const o=Array.isArray(a.items)?a.items.slice(0,I):[];v.value=o,$.value=Math.max(o.length,Number(a.total||0)),V.value=Math.min(I,Math.max(1,Number(a.limit||I))),D.value=a.truncated===!0||$.value>o.length,R.value=""}catch(a){if(!b(s)||n!==B.value)return;e.silent?R.value=`本轮已结束,但最新待生成清单读取失败:${H(a)}`:N.value=H(a)}finally{b(s)&&n===B.value&&(G.value=!1)}},J=s=>(s.results||[]).filter(n=>n.status==="error").map(n=>`${n.model_label||n.model_name}: ${n.error_message||"生成失败"}`).join(";")||"模型未返回完整报告",le=(s,e)=>{const n=Number(e.success_count||0),a=Number(e.failure_count||0),o=e.status==="partial"||e.partial===!0||n>0&&a>0,S=e.status==="error"||a>0&&n===0;return o?(q.value+=1,x.value.push({id:s.id,prescription_name:s.prescription_name||`处方 #${s.id}`,status:"partial",message:J(e)}),!0):S?(T.value+=1,x.value.push({id:s.id,prescription_name:s.prescription_name||`处方 #${s.id}`,status:"failed",message:J(e)}),!1):(j.value+=1,!0)},ae=(s,e)=>{T.value+=1,x.value.push({id:s.id,prescription_name:s.prescription_name||`处方 #${s.id}`,status:"failed",message:H(e)})},Q=()=>{!c.value||_.value||(_.value=!0)},ne=async()=>{if(c.value||!v.value.length)return;const s=z.value,e=v.value.slice(0,I);try{await L.confirm(`确定按顺序为 ${e.length} 份处方生成 AI 报告吗?每份会调用双模型,过程中可请求停止。`)}catch{return}if(!b(s)||c.value)return;O(),y.value=e.length,c.value=!0,R.value="";const n=new Set;try{for(const a of e){if(!b(s)||_.value)break;k.value=a;try{const o=await ke({id:a.id});if(!b(s))return;le(a,o)&&n.add(a.id)}catch(o){if(!b(s))return;ae(a,o)}w.value+=1,k.value=null}}finally{if(!b(s))return;const a=_.value&&w.value!n.has(S.id)),$.value=Math.max(0,$.value-n.size)),w.value>0&&ee("changed");const o=F.value;if(F.value=null,o){o();return}if(await P(s,{silent:!0}),!b(s))return;a?L.msgWarning(`已停止,本轮共处理 ${w.value} 份处方`):T.value>0||q.value>0?L.msgWarning("批量生成已完成,请查看失败与部分成功明细"):L.msgSuccess("批量生成报告完成")}},oe=s=>{if(!c.value){s();return}Q(),F.value=s,L.msgWarning("已请求停止,当前处方完成后将关闭窗口")},ie=()=>{++z.value,++B.value,F.value=null,c.value=!1,U()};return Y({open:()=>{if(c.value){E.value=!0;return}const s=++z.value;++B.value,U(),E.value=!0,P(s)}}),(s,e)=>{const n=pe,a=de,o=me,S=ce,M=ve,re=fe,A=_e,X=ge,ue=ye;return r(),g(ue,{modelValue:t(E),"onUpdate:modelValue":e[3]||(e[3]=f=>Ee(E)?E.value=f:null),class:"prescription-ai-batch-dialog",width:"min(820px, calc(100vw - 32px))",top:"6vh",title:"批量生成处方 AI 报告","close-on-click-modal":!1,"destroy-on-close":"","before-close":oe,onClosed:ie},{footer:u(()=>[l("div",Je,[t(c)?(r(),h("span",Qe,"生成请求不会自动重试,也不会并发执行。")):(r(),h("span",Xe)),l("div",null,[t(c)?C("",!0):(r(),g(o,{key:0,onClick:e[2]||(e[2]=f=>E.value=!1)},{default:u(()=>[...e[20]||(e[20]=[m("关闭",-1)])]),_:1})),t(c)?(r(),g(o,{key:1,type:"warning",plain:"",disabled:t(_),onClick:Q},{default:u(()=>[m(i(t(_)?"正在停止…":"停止"),1)]),_:1},8,["disabled"])):(r(),g(o,{key:2,type:"primary",disabled:t(G)||!!t(N)||!t(v).length,onClick:ne},{default:u(()=>[m(i(t(y)>0?"继续生成剩余报告":"开始批量生成"),1)]),_:1},8,["disabled"]))])])]),default:u(()=>[l("div",xe,[d(n,{type:"info",closable:!1,"show-icon":"",title:"仅统计完全没有任何 AI 报告的处方;已有报告不会被本批次覆盖。"}),t(G)?(r(),h("div",Me,[d(a,{rows:5,animated:""})])):t(N)?(r(),h("div",Ae,[d(S,{description:"待生成清单加载失败","image-size":72},{default:u(()=>[l("p",Ie,i(t(N)),1),d(o,{type:"primary",plain:"",onClick:e[0]||(e[0]=f=>P())},{default:u(()=>[...e[4]||(e[4]=[m("重新加载",-1)])]),_:1})]),_:1})])):(r(),h(Ce,{key:2},[l("section",Be,[l("div",null,[e[5]||(e[5]=l("span",{class:"overview-label"},"当前完全缺失报告",-1)),l("strong",null,i(t($)),1),e[6]||(e[6]=l("span",{class:"overview-unit"},"份处方",-1))]),l("div",Ne,[m(" 本次载入 "+i(t(v).length)+" 份 ",1),d(M,{size:"small",type:"info",effect:"plain"},{default:u(()=>[m("上限 "+i(t(V)),1)]),_:1})])]),t(R)?(r(),h("div",Re,[d(n,{type:"error",closable:!1,"show-icon":"",title:t(R)},null,8,["title"]),d(o,{type:"primary",plain:"",onClick:e[1]||(e[1]=f=>P())},{default:u(()=>[...e[7]||(e[7]=[m("重新读取清单",-1)])]),_:1})])):C("",!0),t(D)?(r(),g(n,{key:1,class:"truncated-alert",type:"warning",closable:!1,"show-icon":"",title:t(se)},null,8,["title"])):C("",!0),t(c)||t(y)>0?(r(),h("section",Se,[l("div",ze,[l("div",null,[e[8]||(e[8]=l("span",{class:"section-kicker"},"本轮进度",-1)),l("strong",null,i(t(w))+" / "+i(t(y)),1)]),t(c)&&!t(_)?(r(),g(M,{key:0,type:"primary"},{default:u(()=>[...e[9]||(e[9]=[m("顺序生成中",-1)])]),_:1})):t(c)&&t(_)?(r(),g(M,{key:1,type:"warning"},{default:u(()=>[...e[10]||(e[10]=[m("等待当前请求完成",-1)])]),_:1})):t(W)==="stopped"?(r(),g(M,{key:2,type:"warning"},{default:u(()=>[...e[11]||(e[11]=[m("已停止",-1)])]),_:1})):(r(),g(M,{key:3,type:"success"},{default:u(()=>[...e[12]||(e[12]=[m("本轮完成",-1)])]),_:1}))]),d(re,{percentage:t(te),"stroke-width":10},null,8,["percentage"]),t(k)?(r(),h("div",Ge,[e[13]||(e[13]=l("span",null,"当前处方",-1)),l("strong",null,i(t(k).prescription_name||`处方 #${t(k).id}`),1),l("small",null,"#"+i(t(k).id)+" · "+i(t(k).formula_type||"未分类"),1)])):C("",!0),l("div",Te,[l("div",Le,[e[14]||(e[14]=l("span",null,"已处理",-1)),l("strong",null,i(t(w)),1)]),l("div",Ve,[e[15]||(e[15]=l("span",null,"成功",-1)),l("strong",null,i(t(j)),1)]),l("div",qe,[e[16]||(e[16]=l("span",null,"部分成功",-1)),l("strong",null,i(t(q)),1)]),l("div",Fe,[e[17]||(e[17]=l("span",null,"失败",-1)),l("strong",null,i(t(T)),1)])]),t(_)&&t(c)?(r(),g(n,{key:1,class:"stop-alert",type:"warning",closable:!1,"show-icon":"",title:"已请求停止;当前处方生成完成后,不会继续发起下一条请求。"})):C("",!0)])):C("",!0),t(x).length?(r(),h("section",Pe,[l("div",De,[e[18]||(e[18]=l("div",null,[l("span",{class:"section-kicker"},"失败清单"),l("strong",null,"失败与部分成功明细")],-1)),d(M,{type:"danger",effect:"plain"},{default:u(()=>[m(i(t(x).length)+" 条",1)]),_:1})]),d(X,{data:t(x),"max-height":"240",size:"small"},{default:u(()=>[d(A,{label:"处方","min-width":"180"},{default:u(({row:f})=>[l("div",We,i(f.prescription_name),1),l("small",null,"#"+i(f.id),1)]),_:1}),d(A,{label:"结果",width:"100"},{default:u(({row:f})=>[d(M,{size:"small",type:f.status==="partial"?"warning":"danger"},{default:u(()=>[m(i(f.status==="partial"?"部分成功":"失败"),1)]),_:2},1032,["type"])]),_:1}),d(A,{label:"原因","min-width":"300","show-overflow-tooltip":"",prop:"message"})]),_:1},8,["data"])])):C("",!0),!t(v).length&&!t(c)?(r(),g(S,{key:4,description:t(y)>0?"当前范围已无待生成处方":"暂无完全缺失 AI 报告的处方","image-size":76},{default:u(()=>[l("p",je,i(t(y)>0?"已重新读取数据库中的最新待生成清单。":"所有可见处方均已有至少一份持久化报告。"),1)]),_:1},8,["description"])):t(c)?C("",!0):(r(),h("section",He,[l("div",Oe,[e[19]||(e[19]=l("div",null,[l("span",{class:"section-kicker"},"待生成清单"),l("strong",null,"本次将按以下顺序逐条处理")],-1)),l("span",Ue,i(t(v).length)+" 份",1)]),d(X,{data:t(v),"max-height":"280",size:"small"},{default:u(()=>[d(A,{label:"ID",prop:"id",width:"80"}),d(A,{label:"处方名称",prop:"prescription_name","min-width":"220","show-overflow-tooltip":""}),d(A,{label:"类型",prop:"formula_type",width:"100"}),d(A,{label:"药材数",width:"100",align:"right"},{default:u(({row:f})=>[m(i(f.herb_count)+" 味",1)]),_:1})]),_:1},8,["data"])]))],64))])]),_:1},8,["modelValue"])}}}),Vt=be(Ke,[["__scopeId","data-v-e1699253"]]);export{Vt as default}; diff --git a/server/public/admin/assets/PrescriptionAiReportDialog-B4Gc5TXr.js b/server/public/admin/assets/PrescriptionAiReportDialog-COU5n7OO.js similarity index 99% rename from server/public/admin/assets/PrescriptionAiReportDialog-B4Gc5TXr.js rename to server/public/admin/assets/PrescriptionAiReportDialog-COU5n7OO.js index f4276543c..4ab38a98d 100644 --- a/server/public/admin/assets/PrescriptionAiReportDialog-B4Gc5TXr.js +++ b/server/public/admin/assets/PrescriptionAiReportDialog-COU5n7OO.js @@ -1,4 +1,4 @@ -import{L as Me,a3 as We,X as He,i as Qe,U as Xe,m as Ke,l as Ye,s as Ze,C as et,M as tt,W as rt}from"./element-plus-DGP1XOrU.js";import{c as st,d as at,b as ot}from"./tcm-CEIBuAeK.js";import{u as it,k as B,_ as nt}from"./index-fRv3NTFQ.js";import{f as $e,ak as i,G as f,aN as n,I as b,J as o,a as g,H as k,O as y,F as Ie,ap as lt,aP as pt,i as re,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _,o as ut}from"./@vue/shared-mAAVTE9n.js";import{y as Q,n as R,r as dt}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ct={class:"dialog-heading"},ft=["id"],mt={key:0,class:"report-shell"},vt={class:"prescription-snapshot"},yt={class:"snapshot-content"},_t={key:1,class:"report-loading"},gt={key:2,class:"report-error"},kt={class:"error-message"},bt={key:3,class:"report-error"},Et={class:"model-tab-label"},ht={class:"model-name"},Rt={class:"report-pane","element-loading-text":"正在重新生成整个诊断报告…"},wt={key:0,class:"report-error"},At={class:"error-message"},Ct={class:"report-document"},St={class:"report-meta"},xt={class:"report-meta-main"},$t={class:"report-title-line"},It={class:"report-times"},Tt={key:0},Vt={key:1,class:"report-editor"},Bt={class:"editor-actions"},zt={key:0,class:"report-summary"},Nt={class:"report-grid"},Lt={class:"report-section"},Pt={class:"report-section"},Ft={class:"report-section"},Ot={class:"report-section"},Dt={key:1,class:"report-section report-section-wide"},Ut={class:"report-cautions"},jt={class:"report-disclaimer"},qt={key:3,class:"report-section report-section-wide"},Gt={class:"raw-content"},Jt=$e({__name:"PrescriptionAiReportDialog",setup(Mt,{expose:Te}){const q=$e({name:"PrescriptionAiReportList",props:{items:{type:Array,default:()=>[]},emptyText:{type:String,default:"暂无"}},setup(t){return()=>t.items.length?re("ul",{class:"report-list"},t.items.map(e=>re("li",{key:e},e))):re("p",{class:"report-empty-text"},t.emptyText)}}),x=[{profile:"qwen",label:"千问",name:"qwen3.6-35b"},{profile:"openai",label:"OpenAI",name:"gpt-5.6-sol"}],Ve=["tcm.prescriptionLibrary/editAiReport","wcf.prescription/editAiReport"],X=()=>({error:"",data:null,editing:!1,structuredEdit:!1,saving:!1,draft:"",originalContent:"",editError:""}),Be=it(),z=R(!1),E=R(null),N=R("qwen"),I=R(0),L=R(0),T=R(!1),$=R(""),h=R(!1),A=R(""),S=R(!1),P=R(!1),s=dt({qwen:X(),openai:X()}),ze=j(()=>{var e;const t=((e=E.value)==null?void 0:e.herbs)||[];return t.length?t.map(a=>`${a.name||"未命名药材"} ${a.dosage??"-"}g`).join("、"):"暂无药材"}),K=j(()=>x.some(({profile:t})=>!!(s[t].data||s[t].error))),F=j(()=>x.some(({profile:t})=>s[t].saving)),O=j(()=>x.some(({profile:t})=>s[t].editing)),Ne=j(()=>{const t=Be.perms||[];return t.includes("*")||Ve.some(e=>t.includes(e))}),Y=()=>{x.forEach(({profile:t})=>Object.assign(s[t],X()))},G=t=>{if(typeof t=="string"&&t.trim())return t;if(t&&typeof t=="object"){const e=t,a=e.msg||e.message||e.error;if(typeof a=="string"&&a.trim())return a}return"模型服务暂时不可用,请稍后重试"},C=t=>t===I.value&&z.value&&!!E.value,se=t=>{var l,v;Y(),S.value=t.can_refresh===!0||((l=t.capabilities)==null?void 0:l.can_refresh)===!0,P.value=t.can_edit===!0||((v=t.capabilities)==null?void 0:v.can_edit)===!0,(Array.isArray(t.reports)?t.reports:[]).forEach(c=>{const m=s[c.model_key];m&&(m.data=c)}),(Array.isArray(t.results)?t.results:[]).forEach(c=>{const m=s[c.model_key];!m||c.status!=="error"||(m.error=c.error_message||"该模型报告生成失败,请重新生成整个报告")});const p=s[N.value];if(!p.data&&!p.error){const c=x.find(({profile:m})=>s[m].data||s[m].error);c&&(N.value=c.profile)}},Z=async(t=I.value,e={})=>{const a=E.value;if(!a)return;const p=++L.value;e.silent||(T.value=!0,$.value="");try{const l=await st({id:a.id});if(!C(t)||p!==L.value)return;se(l),$.value=""}catch(l){if(!C(t)||p!==L.value)return;e.silent?A.value=`报告已保存,但刷新最新内容失败:${G(l)}`:$.value=G(l)}finally{C(t)&&p===L.value&&!e.silent&&(T.value=!1)}},Le=async()=>{const t=E.value;if(!t||h.value)return;if(O.value){B.msgWarning("请先保存或取消正在编辑的报告");return}const e=I.value;h.value=!0,A.value="";try{const a=await ot({id:t.id});if(!C(e))return;se(a),a.status==="partial"?(A.value="部分模型重新生成失败;成功结果已保存,失败模型仍显示上一次保存版本。",B.msgWarning("诊断报告部分生成成功")):a.status==="error"?(A.value="全部模型重新生成失败,已保留原有报告。",B.msgError("诊断报告生成失败")):B.msgSuccess("诊断报告已生成并保存")}catch(a){if(!C(e))return;A.value=G(a)}finally{C(e)&&(h.value=!1)}},J=async()=>{if(K.value)try{await B.confirm("重新生成会再次调用全部模型,并以新结果覆盖当前诊断报告。确定继续吗?")}catch{return}await Le()},ae=t=>x.find(e=>e.profile===t),oe=t=>{var e;return((e=s[t].data)==null?void 0:e.model_label)||ae(t).label},ie=t=>{var e;return((e=s[t].data)==null?void 0:e.model_name)||ae(t).name},Pe=t=>{const e=s[t].data;return(e==null?void 0:e.generated_at)||"—"},ne=t=>{const e=s[t].data;return(e==null?void 0:e.edited_at)||""},Fe=t=>{const e=s[t].data;return(e==null?void 0:e.is_edited)===!0},Oe=t=>{var e;return!!((e=s[t].data)!=null&&e.report)},M=["核心判断","可能症状与证候","主治方向","主要功效","可能适用人群","配伍分析","用药与复核提醒","免责声明"],le=t=>{const e=t.replace(/^\uFEFF/,"").replace(/\r\n?/g,` +import{L as Me,a3 as We,X as He,i as Qe,U as Xe,m as Ke,l as Ye,s as Ze,C as et,M as tt,W as rt}from"./element-plus-DGP1XOrU.js";import{c as st,d as at,b as ot}from"./tcm-D-ZRccbe.js";import{u as it,k as B,_ as nt}from"./index-J_eFER10.js";import{f as $e,ak as i,G as f,aN as n,I as b,J as o,a as g,H as k,O as y,F as Ie,ap as lt,aP as pt,i as re,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _,o as ut}from"./@vue/shared-mAAVTE9n.js";import{y as Q,n as R,r as dt}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ct={class:"dialog-heading"},ft=["id"],mt={key:0,class:"report-shell"},vt={class:"prescription-snapshot"},yt={class:"snapshot-content"},_t={key:1,class:"report-loading"},gt={key:2,class:"report-error"},kt={class:"error-message"},bt={key:3,class:"report-error"},Et={class:"model-tab-label"},ht={class:"model-name"},Rt={class:"report-pane","element-loading-text":"正在重新生成整个诊断报告…"},wt={key:0,class:"report-error"},At={class:"error-message"},Ct={class:"report-document"},St={class:"report-meta"},xt={class:"report-meta-main"},$t={class:"report-title-line"},It={class:"report-times"},Tt={key:0},Vt={key:1,class:"report-editor"},Bt={class:"editor-actions"},zt={key:0,class:"report-summary"},Nt={class:"report-grid"},Lt={class:"report-section"},Pt={class:"report-section"},Ft={class:"report-section"},Ot={class:"report-section"},Dt={key:1,class:"report-section report-section-wide"},Ut={class:"report-cautions"},jt={class:"report-disclaimer"},qt={key:3,class:"report-section report-section-wide"},Gt={class:"raw-content"},Jt=$e({__name:"PrescriptionAiReportDialog",setup(Mt,{expose:Te}){const q=$e({name:"PrescriptionAiReportList",props:{items:{type:Array,default:()=>[]},emptyText:{type:String,default:"暂无"}},setup(t){return()=>t.items.length?re("ul",{class:"report-list"},t.items.map(e=>re("li",{key:e},e))):re("p",{class:"report-empty-text"},t.emptyText)}}),x=[{profile:"qwen",label:"千问",name:"qwen3.6-35b"},{profile:"openai",label:"OpenAI",name:"gpt-5.6-sol"}],Ve=["tcm.prescriptionLibrary/editAiReport","wcf.prescription/editAiReport"],X=()=>({error:"",data:null,editing:!1,structuredEdit:!1,saving:!1,draft:"",originalContent:"",editError:""}),Be=it(),z=R(!1),E=R(null),N=R("qwen"),I=R(0),L=R(0),T=R(!1),$=R(""),h=R(!1),A=R(""),S=R(!1),P=R(!1),s=dt({qwen:X(),openai:X()}),ze=j(()=>{var e;const t=((e=E.value)==null?void 0:e.herbs)||[];return t.length?t.map(a=>`${a.name||"未命名药材"} ${a.dosage??"-"}g`).join("、"):"暂无药材"}),K=j(()=>x.some(({profile:t})=>!!(s[t].data||s[t].error))),F=j(()=>x.some(({profile:t})=>s[t].saving)),O=j(()=>x.some(({profile:t})=>s[t].editing)),Ne=j(()=>{const t=Be.perms||[];return t.includes("*")||Ve.some(e=>t.includes(e))}),Y=()=>{x.forEach(({profile:t})=>Object.assign(s[t],X()))},G=t=>{if(typeof t=="string"&&t.trim())return t;if(t&&typeof t=="object"){const e=t,a=e.msg||e.message||e.error;if(typeof a=="string"&&a.trim())return a}return"模型服务暂时不可用,请稍后重试"},C=t=>t===I.value&&z.value&&!!E.value,se=t=>{var l,v;Y(),S.value=t.can_refresh===!0||((l=t.capabilities)==null?void 0:l.can_refresh)===!0,P.value=t.can_edit===!0||((v=t.capabilities)==null?void 0:v.can_edit)===!0,(Array.isArray(t.reports)?t.reports:[]).forEach(c=>{const m=s[c.model_key];m&&(m.data=c)}),(Array.isArray(t.results)?t.results:[]).forEach(c=>{const m=s[c.model_key];!m||c.status!=="error"||(m.error=c.error_message||"该模型报告生成失败,请重新生成整个报告")});const p=s[N.value];if(!p.data&&!p.error){const c=x.find(({profile:m})=>s[m].data||s[m].error);c&&(N.value=c.profile)}},Z=async(t=I.value,e={})=>{const a=E.value;if(!a)return;const p=++L.value;e.silent||(T.value=!0,$.value="");try{const l=await st({id:a.id});if(!C(t)||p!==L.value)return;se(l),$.value=""}catch(l){if(!C(t)||p!==L.value)return;e.silent?A.value=`报告已保存,但刷新最新内容失败:${G(l)}`:$.value=G(l)}finally{C(t)&&p===L.value&&!e.silent&&(T.value=!1)}},Le=async()=>{const t=E.value;if(!t||h.value)return;if(O.value){B.msgWarning("请先保存或取消正在编辑的报告");return}const e=I.value;h.value=!0,A.value="";try{const a=await ot({id:t.id});if(!C(e))return;se(a),a.status==="partial"?(A.value="部分模型重新生成失败;成功结果已保存,失败模型仍显示上一次保存版本。",B.msgWarning("诊断报告部分生成成功")):a.status==="error"?(A.value="全部模型重新生成失败,已保留原有报告。",B.msgError("诊断报告生成失败")):B.msgSuccess("诊断报告已生成并保存")}catch(a){if(!C(e))return;A.value=G(a)}finally{C(e)&&(h.value=!1)}},J=async()=>{if(K.value)try{await B.confirm("重新生成会再次调用全部模型,并以新结果覆盖当前诊断报告。确定继续吗?")}catch{return}await Le()},ae=t=>x.find(e=>e.profile===t),oe=t=>{var e;return((e=s[t].data)==null?void 0:e.model_label)||ae(t).label},ie=t=>{var e;return((e=s[t].data)==null?void 0:e.model_name)||ae(t).name},Pe=t=>{const e=s[t].data;return(e==null?void 0:e.generated_at)||"—"},ne=t=>{const e=s[t].data;return(e==null?void 0:e.edited_at)||""},Fe=t=>{const e=s[t].data;return(e==null?void 0:e.is_edited)===!0},Oe=t=>{var e;return!!((e=s[t].data)!=null&&e.report)},M=["核心判断","可能症状与证候","主治方向","主要功效","可能适用人群","配伍分析","用药与复核提醒","免责声明"],le=t=>{const e=t.replace(/^\uFEFF/,"").replace(/\r\n?/g,` `).split(` `),a=[];for(const u of M){const d=e.reduce((w,V,te)=>(V.trim()===u&&w.push(te),w),[]);if(!d.length)return{ok:!1,error:`缺少章节标题“${u}”。请保留全部八个中文章节标题后再保存。`};if(d.length>1)return{ok:!1,error:`章节标题“${u}”出现了多次,请仅保留一个标题。`};a.push(d[0])}for(let u=1;u{const d=a[u]+1,w=a[u+1]??e.length;return e.slice(d,w).join(` `).trim()},l=M.map((u,d)=>p(d)),v=l.findIndex(u=>!u);if(v>=0)return{ok:!1,error:`章节“${M[v]}”内容不能为空;如无内容请填写“暂无”。`};const c=u=>u==="暂无"?"":u,m=u=>u==="暂无"?[]:u.split(` diff --git a/server/public/admin/assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js b/server/public/admin/assets/PrescriptionOrderDetailDrawer-C30zC4to.js similarity index 99% rename from server/public/admin/assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js rename to server/public/admin/assets/PrescriptionOrderDetailDrawer-C30zC4to.js index 78862630b..654631dd7 100644 --- a/server/public/admin/assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js +++ b/server/public/admin/assets/PrescriptionOrderDetailDrawer-C30zC4to.js @@ -1 +1 @@ -import{e as Mt,a3 as Ht,L as Jt,U as Kt,a4 as Qt,a5 as Wt,K as Gt,i as Xt,a6 as Yt,a7 as Zt,N as ea,O as ta,X as aa,k as sa,j as la,C as ra,Q as ia,R as na,d as oa,T as ua,a8 as da,a9 as pa,W as ma,D as ca,B as _a,h as ya}from"./element-plus-DGP1XOrU.js";import{w as va}from"./@vue/runtime-dom-DDAG46FW.js";import{O as fa,M as ga,U as ba,l as xa}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as ka,f as wa,h as ha,i as Na,j as Sa,k as Va,l as Oa,m as Pa}from"./tcm-CEIBuAeK.js";import{u as La,k as E,o as Ta,_ as za}from"./index-fRv3NTFQ.js";import{f as De,a as ot,c as ut,b as Ce,d as Aa,e as Ua,g as Ie,p as dt,o as pt,h as mt,i as ct,j as Da,l as Ca,k as Ia,m as _t,n as Ea,q as ja,T as Ra,P as yt,r as qa,s as Ba,t as vt,u as Fa,v as ft,w as $a,x as Ma,y as Ha}from"./prescription-order-utils-CpKeuzsa.js";import{f as xt,b as Ja,as as Ka,ak as s,G as c,aN as a,I as m,J as n,O as d,H as p,F as L,ap as Z,a as r,aP as J,aq as gt,A as x,n as Qa}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i,o as K}from"./@vue/shared-mAAVTE9n.js";import{y as k,n as V,r as bt}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Wa={class:"po-detail-drawer-head flex items-center justify-between"},Ga={class:"flex items-center"},Xa={key:0,class:"flex items-center gap-2 mr-6"},Ya={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},Za={class:"text-sm leading-relaxed"},es={class:"font-mono font-semibold text-red-700"},ts={class:"font-mono font-semibold text-red-700"},as={class:"text-sm leading-relaxed space-y-1.5"},ss={key:0,class:"flex flex-wrap gap-1.5 items-center"},ls={key:1,class:"list-disc pl-5 space-y-1 text-red-50"},rs={key:2,class:"bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},is={key:0,class:"text-red-500 font-medium"},ns={key:1},os={key:2,class:"text-green-600"},us={key:3,class:"text-gray-400"},ds={key:0,class:"text-red-500 font-medium"},ps={key:1},ms={key:2,class:"text-green-600"},cs={key:3,class:"text-gray-400"},_s={key:0,class:"text-amber-600 font-medium"},ys={key:1,class:"text-primary font-medium"},vs={key:2},fs={key:3,class:"text-green-600"},gs={key:4,class:"text-red-500 font-medium"},bs={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},xs={class:"flex items-center justify-between mb-1"},ks={class:"stat-value text-red-500 font-bold text-xl"},ws={class:"stat-value text-green-600 font-bold text-xl"},hs={class:"stat-value text-primary font-bold text-xl"},Ns={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Ss={key:0,class:"audit-stamp stamp-pass"},Vs={key:1,class:"audit-stamp stamp-reject"},Os={class:"flex items-center justify-between"},Ps={class:"flex items-center gap-3"},Ls={key:0,class:"text-xs text-gray-500"},Ts={class:"text-primary font-medium"},zs={class:"text-xs text-gray-400"},As={class:"text-red-500 font-medium"},Us={class:"flex flex-col gap-1 text-sm leading-relaxed"},Ds={key:0,class:"text-gray-500 mr-1"},Cs={key:1,class:"ml-2 text-gray-500"},Is={key:0},Es={key:1,class:"ml-2 text-gray-500"},js={class:"flex items-center gap-1"},Rs={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},qs={key:0},Bs={key:0,class:"mt-4"},Fs={class:"flex flex-col gap-4 h-full"},$s={class:"text-red-500"},Ms={key:0,class:"audit-stamp stamp-pass"},Hs={key:1,class:"audit-stamp stamp-reject"},Js={class:"flex items-center justify-between"},Ks={class:"flex items-center gap-3"},Qs={key:0,class:"text-xs text-gray-500"},Ws={class:"text-primary font-medium"},Gs={class:"text-red-500"},Xs={class:"font-mono"},Ys={key:0,class:"text-[13px] space-y-1"},Zs={class:"font-medium text-gray-900"},el={key:0,class:"text-gray-500 ml-2 font-mono text-xs"},tl={key:0,class:"text-gray-600 text-xs leading-relaxed"},al={key:1,class:"text-gray-400"},sl={key:0,class:"space-y-1.5"},ll={class:"text-gray-800 break-all"},rl={key:1,class:"text-gray-400"},il={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},nl={class:"font-mono text-primary"},ol={class:"text-gray-500"},ul={key:0},dl={key:1,class:"text-gray-500"},pl={key:0,class:"text-xs text-gray-500 mt-1"},ml={key:1,class:"text-gray-400"},cl={class:"po-audit-remark"},_l={class:"po-audit-remark"},yl={class:"flex items-center gap-2 flex-wrap"},vl={class:"text-xs text-gray-400 font-mono"},fl={key:0,class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"},gl={class:"flex flex-wrap items-center gap-3 mb-4"},bl={key:1,class:"ml-2 flex items-center gap-4 border-l pl-4 border-gray-200"},xl={key:2,class:"py-6 text-center text-sm text-gray-500"},kl={key:3,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},wl={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},hl={class:"text-gray-800"},Nl={key:1,class:"text-xs text-gray-400 ml-1"},Sl={key:2,class:"text-xs text-gray-400"},Vl={class:"flex items-center justify-between gap-2"},Ol={class:"flex items-center gap-2 mb-1"},Pl={class:"font-medium text-[13px]"},Ll={key:0,class:"text-xs text-gray-400 mt-1"},Tl={key:0,class:"text-xs text-gray-400 mt-1"},zl={key:0,class:"text-xs font-medium text-gray-500 mb-3"},Al={class:"flex items-center gap-1 w-full"},Ul={class:"flex items-center gap-1 w-full"},Dl={class:"flex items-center gap-1 w-full"},Cl=xt({name:"PrescriptionOrderDetailDrawer"}),Il=xt({...Cl,props:{readonly:{type:Boolean,default:!1},gancaoPreviewLoading:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},detailLoader:{type:Function,default:void 0},loadRelatedData:{type:Boolean,default:!0}},emits:["update-amount","patch-rx-patient","view-prescription","test-gancao-preview","view-patient","detail-changed"],setup(b,{expose:kt,emit:wt}){const D=b,j=wt,ee=La(),fe=x(()=>{const t=ee.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(o=>Number(o)):[];return e.includes(Ra)?e.some(o=>yt.includes(o)):!0}),R=V(!1),ge=V(!1),l=V(null),Q=V([]),W=V([]),te=V(null),Ee=x(()=>!D.readonly&&ut(l.value)&&Qe("tcm.prescriptionOrder/unlinkPayOrder"));async function ht(t){var y,v,S;const e=Number((y=l.value)==null?void 0:y.id),o=Number(t.id);if(!(!Ee.value||!e||!o||te.value!==null)&&[2,5].includes(Number(t.status))){te.value=o;try{if(await E.confirm(`确定移除收款记录「${t.order_no||"#"+o}」(¥${Ce(t.amount)})?仅解除关联,原收款记录保留;订单总金额不变,已付金额与需代收金额按剩余关联收款重新计算。`),!R.value||Number((v=l.value)==null?void 0:v.id)!==e)return;const z=await ka({id:e,pay_order_id:o}),w=(z==null?void 0:z.data)??z;Number((S=l.value)==null?void 0:S.id)===e&&Number(w==null?void 0:w.id)===e&&Object.assign(l.value,w),E.msgSuccess("收款关联已移除,金额已同步更新"),j("detail-changed"),await et(e)}catch{}finally{te.value=null}}}const _=x(()=>{var e;const t=(e=l.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),je=x(()=>{var t;return qa((t=_.value)==null?void 0:t.dietary_taboo)}),be=x(()=>{const t=l.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Re=x(()=>{const t=l.value;if(!t)return 0;const e=t.agency_collect_amount;if(e!=null&&e!=="")return Number(e)||0;const o=Number(t.amount)||0,y=Number(t.linked_pay_paid_total)||0;return Math.round((o-y)*100)/100}),oe=x(()=>{if(!l.value)return 0;const t=Number(l.value.fulfillment_status),e=Number(l.value.prescription_audit_status),o=Number(l.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:o===2?2:3:t===2?3:e===0||e===2?1:o===0||o===2?2:3}),ue=x(()=>{var e;const t=Number((e=l.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":oe.value===1?"process":"wait"}),de=x(()=>{var e;const t=Number((e=l.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":oe.value===2?"process":"wait"}),G=x(()=>{var e;const t=Number((e=l.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||oe.value===3?"process":"wait"}),ae=x(()=>{var o,y;const t=(o=_.value)==null?void 0:o.phone,e=(y=l.value)==null?void 0:y.recipient_phone;return Ba(e,t)}),Nt=x(()=>{var e;return vt((e=_.value)==null?void 0:e.phone)||"—"}),St=x(()=>{var e;return vt((e=l.value)==null?void 0:e.recipient_phone)||"—"}),qe=x(()=>{var e,o;const t=String(((e=l.value)==null?void 0:e.order_creator_dept_path)??((o=l.value)==null?void 0:o.diagnosis_creator_dept_path)??"").trim();return t?t.split(";").map(y=>y.trim()).filter(Boolean).map(y=>y.includes(" / ")?y.split(" / ").map(v=>v.trim()).filter(Boolean):y.split("/").map(v=>v.trim()).filter(Boolean)).filter(y=>y.length>0):[]}),Be=x(()=>{const t=l.value;if(!t)return"";const e=String(t.creator_account??"").trim(),o=String(t.creator_mobile??"").trim(),y=[];return e&&y.push(`登录账号:${e}`),o&&y.push(`手机:${o}`),y.join(" · ")}),A=x(()=>{var e;const t=(e=l.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),Fe=x(()=>{var e;const t=String(((e=A.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),$e=x(()=>{const t=A.value;if(!t)return"";const e=String(t.channel_source_desc??"").trim();return e||String(t.channel_source??"").trim()}),Me=x(()=>{var t;return Fa((t=_.value)==null?void 0:t.herbs)}),q=x(()=>ft(_.value)),T=x(()=>{const t=_.value;if(!t||!ft(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:$a(e,t.prescription_type||"浓缩水丸")}),Vt=x(()=>{var t;return((t=l.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),He=x(()=>{var t,e;return!D.readonly&&((t=l.value)==null?void 0:t.internal_cost)!=null&&((e=l.value)==null?void 0:e.internal_cost)!==""}),Ot=x(()=>{const t=l.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),xe=V([]);async function Je(){if(!(xe.value.length>0))try{const t=await Ta({type:"server_order"}),e=Ea(t==null?void 0:t.server_order);e.length>0&&(xe.value=e)}catch{}}const Pt=x(()=>{var t;return Ma((t=l.value)==null?void 0:t.service_package,xe.value)});Ja(()=>{Je()});function Lt(){const t=ee.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Ke(t){if(!Lt()){Q.value=[];return}try{const e=await Va({id:t});Q.value=(e==null?void 0:e.data)??e??[]}catch{Q.value=[]}}function Qe(t){const e=ee.perms||[];return e.includes("*")||e.includes(t)}function Tt(){return Qe("tcm.prescriptionOrder/addLog")}const ke=x(()=>{const t=ee.userInfo;return!t||Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(o=>Number(o)):[]).some(o=>yt.includes(o))}),we=x(()=>{const t=ee.userInfo;return!t||Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(o=>Number(o)):[]).some(o=>[0,3].includes(o))}),se=V(!1),he=V(!1),pe=V(),g=bt({summary:"",prescription_audit_status:"",payment_slip_audit_status:"",prescription_audit_remark:"",payment_slip_audit_remark:""}),zt={summary:[{required:!0,message:"请填写日志内容",trigger:"blur"}]},le=V(!1),Ne=V(!1),Se=V(),h=bt({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),At=x(()=>{const t={times_per_day:[{required:!0,message:"请填写主方每天次数",trigger:"change"}],usage_days:[{required:!0,message:"请填写主方开立天数",trigger:"change"}],medication_days:[{required:!0,message:"请填写订单服用天数",trigger:"change"}]};return q.value&&(t.aux_times_per_day=[{required:!0,message:"请填写辅方每天次数",trigger:"change"}],t.aux_usage_days=[{required:!0,message:"请填写辅方开立天数",trigger:"change"}]),t});function Ut(){const t=_.value,e=l.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){E.msgWarning("无处方数据");return}const o=T.value;h.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,h.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,h.aux_times_per_day=o&&Number(o.times_per_day)>0?Number(o.times_per_day):3,h.aux_usage_days=o&&Number(o.usage_days)>0?Number(o.usage_days):7;const y=Number(e.medication_days);h.medication_days=y>0?y:Number(t.usage_days)>0?Number(t.usage_days):7,le.value=!0,Qa(()=>{var v;return(v=Se.value)==null?void 0:v.clearValidate()})}function Dt(){h.times_per_day=3,h.usage_days=7,h.aux_times_per_day=3,h.aux_usage_days=7,h.medication_days=void 0}async function Ct(){var o;const t=Se.value;if(!t)return;try{await t.validate()}catch{return}const e=(o=l.value)==null?void 0:o.id;if(e){Ne.value=!0;try{const y={id:e,times_per_day:Number(h.times_per_day),usage_days:Number(h.usage_days),medication_days:Number(h.medication_days)};q.value&&(y.aux_times_per_day=Number(h.aux_times_per_day),y.aux_usage_days=Number(h.aux_usage_days)),await wa(y),E.msgSuccess("保存成功"),le.value=!1,await ce(),j("detail-changed")}catch{}finally{Ne.value=!1}}}function We(){var t;g.summary="",g.prescription_audit_status="",g.payment_slip_audit_status="",g.prescription_audit_remark="",g.payment_slip_audit_remark="",(t=pe.value)==null||t.clearValidate()}function It(){var e;if(!((e=l.value)!=null&&e.id))return;We();const t=l.value;g.prescription_audit_remark=String(t.prescription_audit_remark||""),g.payment_slip_audit_remark=String(t.payment_slip_audit_remark||""),se.value=!0}async function Et(){var t;if(!(!pe.value||!((t=l.value)!=null&&t.id))){await pe.value.validate(),he.value=!0;try{const e={id:l.value.id,summary:g.summary.trim()};ke.value&&g.prescription_audit_status!==""&&g.prescription_audit_status!==null&&g.prescription_audit_status!==void 0&&(e.prescription_audit_status=g.prescription_audit_status,e.prescription_audit_remark=g.prescription_audit_remark),we.value&&g.payment_slip_audit_status!==""&&g.payment_slip_audit_status!==null&&g.payment_slip_audit_status!==void 0&&(e.payment_slip_audit_status=g.payment_slip_audit_status,e.payment_slip_audit_remark=g.payment_slip_audit_remark),await ha(e),E.msgSuccess("日志已添加"),se.value=!1,await ce(),j("detail-changed")}catch{}finally{he.value=!1}}}async function Ge(t,e,o){var y;if(!t){W.value=[];return}try{const v=await Oa({diagnosis_id:t,prescription_order_id:e}),S=(v==null?void 0:v.lists)??((y=v==null?void 0:v.data)==null?void 0:y.lists)??[],z=Array.isArray(S)?S.filter(w=>!o.includes(w.id)):[];W.value=z}catch{W.value=[]}}const X=V("auto"),me=V(!1),Ve=V(!1),O=V(null),re=V("");let Oe=0;function Xe(){Oe+=1,O.value=null}function Pe(t){var e,o;return t.requestSeq!==Oe||Number((e=l.value)==null?void 0:e.id)!==t.orderId?!1:String(((o=l.value)==null?void 0:o.tracking_number)||"").trim()===t.trackingNumber}const Le=x(()=>{var o;const t=String(((o=l.value)==null?void 0:o.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),Ye=x(()=>{const t=O.value;return!t||!Array.isArray(t.traces)?[]:t.traces}),B=x(()=>Ha(O.value));async function ie(){var v,S;const t=Number((v=l.value)==null?void 0:v.id),e=String(((S=l.value)==null?void 0:S.tracking_number)||"").trim();if(!t||!e)return;const y={requestSeq:++Oe,orderId:t,trackingNumber:e};me.value=!0;try{const z=String(re.value||"").replace(/\D/g,""),w={id:t,express_company:X.value};z.length>=4&&(w.phone_tail=z);const U=await Na(w);if(!Pe(y))return;O.value=ja(U,e,t)}catch{if(!Pe(y))return;O.value=null}finally{Pe(y)&&(me.value=!1)}}async function jt(){var o,y;const t=Number((o=l.value)==null?void 0:o.id),e=String(((y=l.value)==null?void 0:y.tracking_number)||"").trim();if(!t||!e){E.msgWarning("当前订单未填写快递单号");return}Ve.value=!0;try{const v=await Sa({id:t});E.msgSuccess((v==null?void 0:v.message)||"京东物流轨迹已更新"),await ie()}catch(v){E.msgError((v==null?void 0:v.message)||"京东物流更新失败")}finally{Ve.value=!1}}function Ze(t){return D.detailLoader?D.detailLoader({id:t}):Pa({id:t})}async function Rt(t){Je(),l.value=null,W.value=[],Xe(),X.value="auto",re.value="",Q.value=[],R.value=!0,ge.value=!0;try{const e=await Ze(t),o=(e==null?void 0:e.data)??e??null;if(l.value=o,o){X.value=String(o.express_company||"auto")||"auto";const y=String(o.recipient_phone||"").replace(/\D/g,"");re.value=y.length>=4?y:"",D.loadRelatedData&&String(o.tracking_number||"").trim()&&ie(),D.loadRelatedData&&Ke(t);const v=o.diagnosis_id,S=o.pay_order_ids||[];D.loadRelatedData&&v&&Ge(v,t,S)}}catch(e){E.msgError((e==null?void 0:e.message)||"加载失败"),R.value=!1}finally{ge.value=!1}}async function ce(){var e,o;const t=Number((e=l.value)==null?void 0:e.id);if(t)try{const y=await Ze(t),v=(y==null?void 0:y.data)??y??null;if(!v)return;const S=String(((o=l.value)==null?void 0:o.tracking_number)||"").trim();l.value=v;const z=String(v.tracking_number||"").trim();D.loadRelatedData&&z&&z!==S&&(Xe(),X.value=String(v.express_company||"auto")||"auto",ie()),D.loadRelatedData&&Ke(t);const w=v.diagnosis_id;D.loadRelatedData&&w&&Ge(w,t,v.pay_order_ids||[])}catch{}}async function et(t){var o;const e=Number(t);!R.value||!(e>0)||Number((o=l.value)==null?void 0:o.id)!==e||await ce()}function qt(){R.value=!1}return kt({open:Rt,refresh:ce,refreshIfCurrent:et,close:qt,detail:l,visible:R}),(t,e)=>{const o=Kt,y=Ht,v=Jt,S=Wt,z=Qt,w=Xt,U=Gt,f=Zt,tt=Yt,N=ta,Te=ea,Y=aa,Bt=la,Ft=sa,_e=ra,C=na,ze=ia,Ae=oa,Ue=ua,at=pa,st=da,I=_a,lt=ca,rt=ma,ne=ya,$t=Mt,F=Ka("perms");return s(),c($t,{modelValue:R.value,"onUpdate:modelValue":e[21]||(e[21]=$=>R.value=$),class:"po-detail-drawer",size:"80%","destroy-on-close":"","close-on-click-modal":!1,"append-to-body":b.appendToBody},{header:a(()=>{var $,u,P;return[n("div",Wa,[n("div",Ga,[e[22]||(e[22]=n("span",{class:"po-detail-drawer-title text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),($=l.value)!=null&&$.order_no?(s(),c(o,{key:0,type:"primary",effect:"plain",round:"",class:"ml-3"},{default:a(()=>[d(i(l.value.order_no),1)]),_:1})):p("",!0),(u=l.value)!=null&&u.gancao_reciperl_order_no?(s(),c(o,{key:1,type:"success",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("甘草 "+i(l.value.gancao_reciperl_order_no),1)]),_:1})):p("",!0),(P=l.value)!=null&&P.ej_pharmacy_order_no?(s(),c(o,{key:2,type:"warning",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("洛阳 "+i(l.value.ej_pharmacy_order_no),1)]),_:1})):p("",!0),l.value?gt(t.$slots,"header-extra",{key:3,detail:l.value},void 0,!0):p("",!0)]),l.value?(s(),m("div",Xa,[gt(t.$slots,"header-actions",{detail:l.value},void 0,!0)])):p("",!0)])]}),default:a(()=>{var $;return[ge.value?(s(),c(y,{key:0,rows:12,animated:"",class:"px-6 py-4"})):l.value?(s(),m("div",Ya,[!b.readonly&&ae.value?(s(),c(v,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:a(()=>[n("div",Za,[n("div",null,[e[23]||(e[23]=d(" 处方手机: ",-1)),n("span",es,i(Nt.value),1)]),n("div",null,[e[24]||(e[24]=d(" 订单收货手机: ",-1)),n("span",ts,i(St.value),1)]),e[25]||(e[25]=n("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):p("",!0),!b.readonly&&B.value.show&&String((($=l.value)==null?void 0:$.tracking_number)||"").trim()?(s(),c(v,{key:1,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-4 !items-start ring-2 ring-red-600/90 shadow-lg",title:"物流异常:轨迹中出现拒收 / 退回等字样,请优先跟进处理"},{default:a(()=>[n("div",as,[B.value.keywords.length?(s(),m("div",ss,[e[26]||(e[26]=n("span",{class:"text-red-100 text-xs"},"命中关键词:",-1)),(s(!0),m(L,null,Z(B.value.keywords,u=>(s(),c(o,{key:u,type:"danger",effect:"plain",size:"small",class:"!border-white/40 !text-white"},{default:a(()=>[d(i(u),1)]),_:2},1024))),128))])):p("",!0),B.value.lines.length?(s(),m("ul",ls,[(s(!0),m(L,null,Z(B.value.lines,(u,P)=>(s(),m("li",{key:P},i(u),1))),128))])):p("",!0),e[27]||(e[27]=n("div",{class:"text-xs text-red-100/90 pt-1 border-t border-white/15"}," 请核实是否需改址重发、拦截退件或协调患者签收,并在备注中记录处理结果。 ",-1))])]),_:1})):p("",!0),b.readonly?p("",!0):(s(),m("div",rs,[r(z,{active:oe.value,"align-center":"","finish-status":"success"},{default:a(()=>[r(S,{title:"业务订单创建",description:k(De)(l.value.create_time)},null,8,["description"]),r(S,{title:"处方单双审",status:ue.value},{description:a(()=>[ue.value==="error"?(s(),m("span",is,"处方被驳回")):ue.value==="wait"?(s(),m("span",ns,"等待审核")):ue.value==="success"?(s(),m("span",os,"双审通过")):(s(),m("span",us,"进行中"))]),_:1},8,["status"]),r(S,{title:"支付单审核",status:de.value},{description:a(()=>[de.value==="error"?(s(),m("span",ds,"支付审核驳回")):de.value==="wait"?(s(),m("span",ps,"等待审核")):de.value==="success"?(s(),m("span",ms,"审核通过")):(s(),m("span",cs,"进行中"))]),_:1},8,["status"]),r(S,{title:"发货与履约",status:G.value},{description:a(()=>{var u,P,M;return[G.value==="process"&&Number((u=l.value)==null?void 0:u.fulfillment_status)===7?(s(),m("span",_s,"进行中")):G.value==="process"?(s(),m("span",ys,"等待发货/补充单号")):G.value==="wait"?(s(),m("span",vs,"待转入履约")):G.value==="success"?(s(),m("span",fs,i(k(ot)((P=l.value)==null?void 0:P.fulfillment_status)),1)):G.value==="error"?(s(),m("span",gs,i(k(ot)((M=l.value)==null?void 0:M.fulfillment_status)),1)):p("",!0)]}),_:1},8,["status"]),r(S,{title:"订单完成"})]),_:1},8,["active"])])),n("div",bs,[r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[n("div",xs,[e[29]||(e[29]=n("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),!b.readonly&&k(ut)(l.value)?J((s(),c(w,{key:0,type:"primary",size:"small",link:"",onClick:e[0]||(e[0]=u=>j("update-amount"))},{default:a(()=>[...e[28]||(e[28]=[d(" 修改 ",-1)])]),_:1})),[[F,["tcm.prescriptionOrder/updateAmount"]]]):p("",!0)]),n("div",ks,"¥"+i(l.value.amount),1)]),_:1}),r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[30]||(e[30]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),n("div",ws,"¥"+i(l.value.linked_pay_paid_total||0),1)]),_:1}),r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[31]||(e[31]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"退款金额",-1)),n("div",{class:K(["stat-value font-bold text-xl",Number(l.value.refund_amount)>0?"text-rose-500":"text-gray-400"])}," ¥"+i(k(Ce)(l.value.refund_amount||0)),3)]),_:1}),r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[32]||(e[32]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),n("div",{class:K(["stat-value font-bold text-xl",Re.value>0?"text-amber-600":"text-gray-500"])}," ¥"+i(k(Ce)(Re.value)),3)]),_:1}),r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[33]||(e[33]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),n("div",hs,i(be.value.length)+" 笔",1)]),_:1})]),n("div",Ns,[r(U,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:a(()=>[n("div",Os,[n("div",Ps,[e[40]||(e[40]=n("span",{class:"font-medium text-[15px]"},"处方详情",-1)),l.value.doctor_name?(s(),m("span",Ls,[e[36]||(e[36]=d(" 开方人:",-1)),n("span",Ts,i(l.value.doctor_name),1)])):p("",!0),!b.readonly&&l.value.prescription_id&&_.value&&!String(l.value.prescription_detail_error||"").trim()?J((s(),c(w,{key:1,type:"default",size:"small",link:"",onClick:e[1]||(e[1]=u=>j("patch-rx-patient"))},{default:a(()=>[...e[37]||(e[37]=[d(" 改患者信息 ",-1)])]),_:1})),[[F,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):p("",!0),!b.readonly&&l.value.prescription_id&&fe.value?(s(),c(w,{key:2,type:"primary",size:"small",link:"",onClick:e[2]||(e[2]=u=>j("view-prescription"))},{default:a(()=>[...e[38]||(e[38]=[d(" 详细 ",-1)])]),_:1})):p("",!0),!b.readonly&&l.value.id&&fe.value?(s(),c(w,{key:3,type:"warning",size:"small",link:"",loading:b.gancaoPreviewLoading,icon:k(fa),onClick:e[3]||(e[3]=u=>j("test-gancao-preview"))},{default:a(()=>[...e[39]||(e[39]=[d(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):p("",!0)]),n("span",zs,"ID: "+i(l.value.prescription_id||"—"),1)])]),default:a(()=>[l.value.prescription_audit_status===1?(s(),m("div",Ss,[...e[34]||(e[34]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):p("",!0),l.value.prescription_audit_status===2?(s(),m("div",Vs,[...e[35]||(e[35]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):p("",!0),!b.readonly&&String(l.value.prescription_detail_error||"").trim()?(s(),c(v,{key:2,title:l.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):_.value?(s(),m(L,{key:3},[r(tt,{column:2,border:"",size:"small",class:"po-desc bg-white"},{default:a(()=>[r(f,{label:"处方编号",span:2},{default:a(()=>[d(i(_.value.sn||"—"),1)]),_:1}),r(f,{label:"患者"},{default:a(()=>[d(i(_.value.patient_name||"—"),1)]),_:1}),r(f,{label:"性别 / 年龄"},{default:a(()=>[d(i(_.value.gender_desc||"—")+" · "+i(_.value.age??"—")+"岁 ",1)]),_:1}),r(f,{label:"手机"},{default:a(()=>[n("span",{class:K(ae.value?"rx-phone-mismatch text-red-600 font-bold":"")},i(_.value.phone||"—"),3),ae.value?(s(),c(o,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:a(()=>[...e[41]||(e[41]=[d(" 与订单手机不一致 ",-1)])]),_:1})):p("",!0)]),_:1}),r(f,{label:"处方日期"},{default:a(()=>[d(i(_.value.prescription_date||"—"),1)]),_:1}),r(f,{label:"医师"},{default:a(()=>[d(i(_.value.doctor_name||"—"),1)]),_:1}),r(f,{label:"类型"},{default:a(()=>[d(i(_.value.prescription_type||"—"),1)]),_:1}),r(f,{label:"临床诊断",span:2},{default:a(()=>[d(i(_.value.clinical_diagnosis||"—"),1)]),_:1}),fe.value?(s(),c(f,{key:0,label:"剂数 / 用法",span:2},{default:a(()=>[d(i(l.value.dose_count??_.value.dose_count??"—")+" "+i(l.value.dose_unit||"剂")+" · "+i(_.value.usage_instruction||_.value.usage_method||"—"),1)]),_:1})):p("",!0),r(f,{label:"处方金额"},{default:a(()=>[n("span",As,"¥"+i(_.value.amount??"—"),1)]),_:1}),r(f,{label:"消费者审核"},{default:a(()=>[r(o,{type:k(Aa)(_.value.audit_status),size:"small"},{default:a(()=>[d(i(k(Ua)(_.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),r(f,{label:"用量"},{default:a(()=>[n("div",Us,[n("div",null,[q.value?(s(),m("span",Ds,"主方:")):p("",!0),_.value.dosage_amount?(s(),m(L,{key:1},[d(i(_.value.dosage_amount)+i(_.value.dosage_unit||"g")+" ",1),_.value.prescription_type==="浓缩水丸"?(s(),m(L,{key:0},[d(" · "+i(Number(_.value.dosage_bag_count)>0?Number(_.value.dosage_bag_count):1)+"袋 ",1)],64)):p("",!0),_.value.prescription_type==="饮片"&&_.value.need_decoction!==null?(s(),m("span",Cs," ("+i(_.value.need_decoction?"代煎":"不代煎")+") ",1)):p("",!0)],64)):(s(),m(L,{key:2},[d("—")],64))]),q.value&&T.value?(s(),m("div",Is,[e[42]||(e[42]=n("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),T.value.dosage_amount!=null&&T.value.dosage_amount!==0?(s(),m(L,{key:0},[d(i(T.value.dosage_amount)+i(_.value.dosage_unit||"g")+" ",1),_.value.prescription_type==="浓缩水丸"?(s(),m(L,{key:0},[d(" · "+i(Number(T.value.dosage_bag_count)>0?Number(T.value.dosage_bag_count):1)+"袋 ",1)],64)):p("",!0),_.value.prescription_type==="饮片"?(s(),m("span",Es," ("+i(T.value.need_decoction?"代煎":"不代煎")+") ",1)):p("",!0)],64)):(s(),m(L,{key:1},[d("—")],64))])):p("",!0)])]),_:1}),r(f,null,{label:a(()=>[n("div",js,[e[44]||(e[44]=n("span",null,"服用方式",-1)),!b.readonly&&l.value.prescription_id&&_.value&&!String(l.value.prescription_detail_error||"").trim()?J((s(),c(w,{key:0,type:"primary",size:"small",link:"",onClick:Ut},{default:a(()=>[...e[43]||(e[43]=[d(" 修改 ",-1)])]),_:1})),[[F,["tcm.prescriptionOrder/patchPrescriptionUsage"]]]):p("",!0)])]),default:a(()=>[n("div",Rs,[q.value?(s(),m(L,{key:0},[n("div",null,[e[45]||(e[45]=n("span",{class:"text-gray-500 mr-1"},"主方:",-1)),d(" 每天 "+i(_.value.times_per_day?_.value.times_per_day+" 次":"— 次")+" · 处方开立 "+i(_.value.usage_days!=null&&_.value.usage_days!==""?_.value.usage_days+" 天":"— 天"),1)]),T.value?(s(),m("div",qs,[e[46]||(e[46]=n("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),d(" 每天 "+i(T.value.times_per_day?T.value.times_per_day+" 次":"— 次")+" · 处方开立 "+i(T.value.usage_days!=null&&Number(T.value.usage_days)>0?T.value.usage_days+" 天":"— 天"),1)])):p("",!0)],64)):(s(),m(L,{key:1},[n("div",null,[e[47]||(e[47]=n("span",{class:"text-gray-500"},"每天次数:",-1)),d(" "+i(_.value.times_per_day?_.value.times_per_day+" 次":"—"),1)]),n("div",null,[e[48]||(e[48]=n("span",{class:"text-gray-500"},"处方开立:",-1)),d(" "+i(_.value.usage_days!=null&&_.value.usage_days!==""?_.value.usage_days+" 天":"—"),1)])],64)),n("div",null,[e[49]||(e[49]=n("span",{class:"text-gray-500"},"订单设置:",-1)),d(" "+i(l.value.medication_days!=null&&String(l.value.medication_days).trim()!==""?l.value.medication_days+" 天":"—"),1)])])]),_:1}),je.value?(s(),c(f,{key:1,label:"忌口",span:2},{default:a(()=>[d(i(je.value),1)]),_:1})):p("",!0),r(f,{label:"状态",span:2},{default:a(()=>[r(o,{type:Number(_.value.void_status)===1?"danger":"success",size:"small"},{default:a(()=>[d(i(Number(_.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),!b.readonly&&Vt.value?(s(),m("div",Bs,[e[50]||(e[50]=n("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Me.value.length?(s(),c(Te,{key:0,data:Me.value,size:"small",border:"",stripe:"","max-height":"260"},{default:a(()=>[r(N,{type:"index",label:"#",width:"48",align:"center"}),r(N,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),r(N,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(s(),c(Y,{key:1,description:"无处方药材明细","image-size":64}))])):p("",!0)],64)):(s(),c(Y,{key:4,description:"无处方数据","image-size":72}))]),_:1}),n("div",Fs,[r(U,{shadow:"never",class:"po-panel border-gray-100"},{header:a(()=>[...e[51]||(e[51]=[n("div",{class:"flex items-center justify-between"},[n("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),n("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:a(()=>[W.value.length?(s(),c(Te,{key:0,data:W.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:a(()=>[r(N,{prop:"id",label:"ID",width:"70"}),r(N,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),r(N,{label:"类型",width:"90"},{default:a(({row:u})=>[d(i(u.order_type_desc||k(Ie)(u.order_type)),1)]),_:1}),r(N,{label:"金额",width:"86",align:"right"},{default:a(({row:u})=>[n("span",$s,"¥"+i(u.amount),1)]),_:1}),r(N,{label:"状态",width:"100",align:"center"},{default:a(({row:u})=>[r(o,{type:k(dt)(u.status),size:"small"},{default:a(()=>[d(i(u.status_desc||k(pt)(u.status)),1)]),_:2},1032,["type"]),!b.readonly&&u.is_exempt===1?(s(),c(o,{key:0,type:"warning",size:"small",class:"ml-1"},{default:a(()=>[...e[52]||(e[52]=[d("豁免",-1)])]),_:1})):p("",!0)]),_:1}),b.readonly?p("",!0):(s(),c(N,{key:0,label:"方式","min-width":"120","show-overflow-tooltip":""},{default:a(({row:u})=>[d(i(k(mt)(u)),1)]),_:1})),r(N,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),r(N,{label:"创建时间","min-width":"136"},{default:a(({row:u})=>[d(i(k(ct)(u.create_time)),1)]),_:1})]),_:1},8,["data"])):(s(),c(Y,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),r(U,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:a(()=>[n("div",Js,[n("div",Ks,[e[56]||(e[56]=n("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),l.value.creator_name?(s(),m("span",Qs,[e[55]||(e[55]=d(" 创建人:",-1)),n("span",Ws,i(l.value.creator_name),1)])):p("",!0)])])]),default:a(()=>[l.value.payment_slip_audit_status===1?(s(),m("div",Ms,[...e[53]||(e[53]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):p("",!0),l.value.payment_slip_audit_status===2?(s(),m("div",Hs,[...e[54]||(e[54]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):p("",!0),be.value.length?(s(),c(Te,{key:2,data:be.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:a(()=>[r(N,{prop:"id",label:"ID",width:"70"}),r(N,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),r(N,{label:"类型",width:"90"},{default:a(({row:u})=>[d(i(u.order_type_desc||k(Ie)(u.order_type)),1)]),_:1}),r(N,{label:"金额",width:"86",align:"right"},{default:a(({row:u})=>[n("span",Gs,"¥"+i(u.amount),1)]),_:1}),r(N,{label:"状态",width:"100",align:"center"},{default:a(({row:u})=>[r(o,{type:k(dt)(u.status),size:"small"},{default:a(()=>[d(i(u.status_desc||k(pt)(u.status)),1)]),_:2},1032,["type"]),!b.readonly&&u.is_exempt===1?(s(),c(o,{key:0,type:"warning",size:"small",class:"ml-1"},{default:a(()=>[...e[57]||(e[57]=[d("豁免",-1)])]),_:1})):p("",!0)]),_:1}),b.readonly?p("",!0):(s(),c(N,{key:0,label:"方式","min-width":"120","show-overflow-tooltip":""},{default:a(({row:u})=>[d(i(k(mt)(u)),1)]),_:1})),r(N,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),r(N,{label:"创建时间","min-width":"136"},{default:a(({row:u})=>[d(i(k(ct)(u.create_time)),1)]),_:1}),Ee.value?(s(),c(N,{key:1,label:"操作",width:"80",fixed:"right",align:"center"},{default:a(({row:u})=>[r(w,{type:"danger",size:"small",link:"",loading:te.value===Number(u.id),disabled:te.value!==null||![2,5].includes(Number(u.status)),title:Number(u.status)===4?"已退款收款记录不可移除":"解除关联并更新已付金额,总金额不变",onClick:P=>ht(u)},{default:a(()=>[...e[58]||(e[58]=[d("移除",-1)])]),_:1},8,["loading","disabled","title","onClick"])]),_:1})):p("",!0)]),_:1},8,["data"])):(s(),c(Y,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),r(U,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:a(()=>[...e[59]||(e[59]=[n("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:a(()=>[r(tt,{column:3,border:"",size:"small",class:"po-desc"},{default:a(()=>[r(f,{label:"诊单ID",span:3},{default:a(()=>[n("span",Xs,i(l.value.diagnosis_id),1),!b.readonly&&Number(l.value.diagnosis_id)>0?(s(),c(w,{key:0,type:"primary",link:"",size:"small",class:"ml-2 align-baseline",onClick:e[4]||(e[4]=u=>j("view-patient"))},{default:a(()=>[...e[60]||(e[60]=[d(" 查看患者信息 ",-1)])]),_:1})):p("",!0)]),_:1}),r(f,{label:"创建时间",span:1},{default:a(()=>[d(i(k(De)(l.value.create_time)),1)]),_:1}),r(f,{label:"业务订单创建人",span:2},{default:a(()=>[Number(l.value.creator_id)>0||l.value.creator_name?(s(),m("div",Ys,[n("div",null,[n("span",Zs,i(l.value.creator_name||"—"),1),!b.readonly&&Number(l.value.creator_id)>0?(s(),m("span",el,"ID "+i(l.value.creator_id),1)):p("",!0)]),Be.value?(s(),m("div",tl,i(Be.value),1)):p("",!0)])):(s(),m("span",al,"—"))]),_:1}),r(f,{label:"创建人所属部门",span:3},{default:a(()=>[qe.value.length?(s(),m("div",sl,[(s(!0),m(L,null,Z(qe.value,(u,P)=>(s(),m("div",{key:P,class:"min-w-0"},[u.length?(s(),c(Ft,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:a(()=>[(s(!0),m(L,null,Z(u,(M,ye)=>(s(),c(Bt,{key:ye},{default:a(()=>[n("span",ll,i(M),1)]),_:2},1024))),128))]),_:2},1024)):p("",!0)]))),128))])):(s(),m("span",rl,"—"))]),_:1}),r(f,{label:"收货人"},{default:a(()=>[d(i(l.value.recipient_name),1)]),_:1}),b.readonly?p("",!0):(s(),c(f,{key:0,label:"挂号关联",span:3},{default:a(()=>[A.value?(s(),m(L,{key:0},[n("div",il,[n("span",null,[e[61]||(e[61]=d("流转编号(挂号) ",-1)),n("span",nl,"#"+i(A.value.id),1)]),n("span",ol,"时间:"+i(A.value.appointment_date)+" "+i(A.value.period)+" "+i(A.value.appointment_time),1),r(o,{size:"small",type:"info"},{default:a(()=>[d(i(A.value.appointment_type_desc),1)]),_:1}),r(o,{size:"small"},{default:a(()=>[d(i(A.value.status_desc),1)]),_:1}),A.value.doctor_name?(s(),m("span",ul,"接诊:"+i(A.value.doctor_name),1)):p("",!0),$e.value?(s(),m("span",dl,"渠道:"+i($e.value),1)):p("",!0),Fe.value?(s(),c(o,{key:2,size:"small",effect:"plain"},{default:a(()=>[d(i(Fe.value),1)]),_:1})):p("",!0)]),String(A.value.remark||"").trim()?(s(),m("p",pl," 备注:"+i(A.value.remark),1)):p("",!0)],64)):(s(),m("span",ml,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1})),r(f,{label:"收货手机"},{default:a(()=>[n("span",{class:K(ae.value?"text-red-600 font-bold font-mono":"font-mono")},i(l.value.recipient_phone||"—"),3),ae.value?(s(),c(o,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:a(()=>[...e[62]||(e[62]=[d(" 与处方手机不一致 ",-1)])]),_:1})):p("",!0)]),_:1}),r(f,{label:"收货地址",span:2},{default:a(()=>[d(i(Ot.value),1)]),_:1}),r(f,{label:"复诊"},{default:a(()=>[d(i(l.value.is_follow_up?"是":"否"),1)]),_:1}),r(f,{label:"用药疗程"},{default:a(()=>[d(i(l.value.medication_days?l.value.medication_days+" 天":"—"),1)]),_:1}),r(f,{label:"上次医护"},{default:a(()=>[d(i(l.value.prev_staff||"—"),1)]),_:1}),r(f,{label:"服务渠道"},{default:a(()=>[d(i(l.value.service_channel||"—"),1)]),_:1}),r(f,{label:"服务套餐"},{default:a(()=>[d(i(Pt.value),1)]),_:1}),r(f,{label:"费用类别"},{default:a(()=>[d(i(k(Ie)(l.value.fee_type)),1)]),_:1}),He.value?(s(),c(f,{key:1,label:"内部成本"},{default:a(()=>[d(" ¥"+i(l.value.internal_cost),1)]),_:1})):p("",!0),r(f,{label:"快递单号",span:He.value?1:2},{default:a(()=>[d(i(l.value.tracking_number||"—"),1)]),_:1},8,["span"]),r(f,{label:"快递公司"},{default:a(()=>[d(i(k(Da)(l.value.express_company)),1)]),_:1}),J((s(),c(f,{label:"药房备注",span:3},{default:a(()=>[d(i(l.value.remark_extra||"—"),1)]),_:1})),[[F,["tcm.prescriptionOrder/editRemarkExtra"]]]),r(f,{label:"医助备注",span:3},{default:a(()=>[d(i(l.value.remark_assistant||"—"),1)]),_:1}),r(f,{label:"处方审核意见",span:3},{default:a(()=>[n("span",cl,i(l.value.prescription_audit_remark||"—"),1)]),_:1}),r(f,{label:"支付审核意见",span:3},{default:a(()=>[n("span",_l,i(l.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),b.loadRelatedData&&String(l.value.tracking_number||"").trim()?(s(),c(U,{key:3,shadow:"never",class:K(["po-panel po-panel-logistics",!b.readonly&&B.value.show?"!border-2 !border-red-500 shadow-md shadow-red-500/10":"border-gray-100"])},{header:a(()=>[n("div",yl,[e[64]||(e[64]=n("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)),n("span",vl,i(l.value.tracking_number),1),!b.readonly&&B.value.show?(s(),c(o,{key:0,type:"danger",effect:"dark",size:"small"},{default:a(()=>[...e[63]||(e[63]=[d(" 拒收/退回 · 待处理 ",-1)])]),_:1})):p("",!0)])]),default:a(()=>{var u,P,M,ye,it,nt;return[b.readonly?p("",!0):(s(),m("p",fl," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ")),n("div",gl,[r(_e,{modelValue:re.value,"onUpdate:modelValue":e[5]||(e[5]=H=>re.value=H),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"w-[180px]",onKeyup:va(ie,["enter"])},null,8,["modelValue"]),r(ze,{modelValue:X.value,"onUpdate:modelValue":e[6]||(e[6]=H=>X.value=H),placeholder:"承运商",style:{width:"140px"}},{default:a(()=>[r(C,{label:"自动识别",value:"auto"}),r(C,{label:"顺丰速运",value:"sf"}),r(C,{label:"京东快递",value:"jd"}),r(C,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),J((s(),c(w,{type:"primary",plain:"",size:"default",loading:me.value,onClick:ie},{icon:a(()=>[r(Ae,null,{default:a(()=>[r(k(ga))]),_:1})]),default:a(()=>[e[65]||(e[65]=d(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[F,["tcm.prescriptionOrder/logisticsTrace"]]]),b.readonly?p("",!0):J((s(),c(w,{key:0,type:"warning",plain:"",size:"default",loading:Ve.value,onClick:jt},{icon:a(()=>[r(Ae,null,{default:a(()=>[r(k(ba))]),_:1})]),default:a(()=>[e[66]||(e[66]=d(" 京东接口更新 ",-1))]),_:1},8,["loading"])),[[F,["tcm.prescriptionOrder/logisticsTrace"]]]),b.readonly?p("",!0):(s(),m("div",bl,[r(Ue,{href:Le.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[67]||(e[67]=[d("顺丰官网",-1)])]),_:1},8,["href"]),r(Ue,{href:Le.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[68]||(e[68]=[d("京东物流",-1)])]),_:1},8,["href"]),r(Ue,{href:Le.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[69]||(e[69]=[d("极兔",-1)])]),_:1},8,["href"])]))]),!b.readonly&&String(((u=O.value)==null?void 0:u.hint)||"").trim()?(s(),c(v,{key:1,title:String(((P=O.value)==null?void 0:P.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):p("",!0),me.value&&!O.value?(s(),m("div",xl,[r(Ae,{class:"is-loading mr-1"},{default:a(()=>[r(k(xa))]),_:1}),e[70]||(e[70]=d("正在加载物流轨迹... ",-1))])):O.value?(s(),m("div",kl,[(M=O.value)!=null&&M.state_text?(s(),m("div",wl,[n("span",hl,"状态:"+i(O.value.state_text),1),(ye=O.value)!=null&&ye.carrier_label?(s(),c(o,{key:0,size:"small",type:"info"},{default:a(()=>[d(i(O.value.carrier_label),1)]),_:1})):p("",!0),!b.readonly&&((it=O.value)!=null&&it.source)?(s(),m("span",Nl," ["+i(O.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):p("",!0),!b.readonly&&((nt=O.value)!=null&&nt.last_query_time)?(s(),m("span",Sl," 更新时间:"+i(O.value.last_query_time),1)):p("",!0)])):p("",!0),Ye.value.length?(s(),c(st,{key:1,class:"mt-2 pl-2"},{default:a(()=>[(s(!0),m(L,null,Z(Ye.value,(H,ve)=>(s(),c(at,{key:ve,type:ve===0?"primary":"info",hollow:ve!==0,timestamp:H.time,placement:"top"},{default:a(()=>[n("span",{class:K([ve===0?"text-gray-800 font-medium":"text-gray-500",!b.readonly&&k(Ca)(H.context)?"!text-red-700 font-semibold bg-red-50 px-1.5 py-0.5 rounded":""])},i(H.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(s(),c(Y,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):p("",!0)]}),_:1},8,["class"])):p("",!0),b.loadRelatedData?J((s(),c(U,{key:4,shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:a(()=>[n("div",Vl,[e[72]||(e[72]=n("span",{class:"font-medium text-[15px]"},"操作日志",-1)),Tt()?(s(),c(w,{key:0,type:"primary",link:"",size:"small",onClick:It},{default:a(()=>[...e[71]||(e[71]=[d(" 新增日志 ",-1)])]),_:1})):p("",!0)])]),default:a(()=>[Q.value.length?(s(),c(st,{key:0,class:"mt-2 pl-2"},{default:a(()=>[(s(!0),m(L,null,Z(Q.value,(u,P)=>(s(),c(at,{key:u.id,type:P===0?"primary":"info",hollow:P!==0,timestamp:k(De)(u.create_time),placement:"top"},{default:a(()=>[n("div",Ol,[n("span",Pl,i(u.admin_name),1),r(o,{size:"small",type:"info"},{default:a(()=>[d(i(k(Ia)(u.action)),1)]),_:2},1024)]),n("span",{class:K(P===0?"text-gray-800 font-medium":"text-gray-500")},i(u.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(s(),c(Y,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[F,["tcm.prescriptionOrder/logs"]]]):p("",!0),r(rt,{modelValue:se.value,"onUpdate:modelValue":e[13]||(e[13]=u=>se.value=u),title:"新增操作日志",width:"520px","close-on-click-modal":!1,"destroy-on-close":"","append-to-body":"",onClosed:We},{footer:a(()=>[r(w,{onClick:e[12]||(e[12]=u=>se.value=!1)},{default:a(()=>[...e[73]||(e[73]=[d("取消",-1)])]),_:1}),r(w,{type:"primary",loading:he.value,onClick:Et},{default:a(()=>[...e[74]||(e[74]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[r(lt,{ref_key:"addLogFormRef",ref:pe,model:g,rules:zt,"label-width":"108px"},{default:a(()=>[r(I,{label:"日志内容",prop:"summary"},{default:a(()=>[r(_e,{modelValue:g.summary,"onUpdate:modelValue":e[7]||(e[7]=u=>g.summary=u),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"记录本次操作说明、沟通结果等"},null,8,["modelValue"])]),_:1}),ke.value?(s(),c(I,{key:0,label:"处方审核"},{default:a(()=>[r(ze,{modelValue:g.prescription_audit_status,"onUpdate:modelValue":e[8]||(e[8]=u=>g.prescription_audit_status=u),class:"w-full",clearable:"",placeholder:"不修改"},{default:a(()=>[r(C,{label:"待审核",value:0}),r(C,{label:"已通过",value:1}),r(C,{label:"已驳回",value:2})]),_:1},8,["modelValue"]),l.value?(s(),m("div",Ll," 当前:"+i(k(_t)(l.value.prescription_audit_status)),1)):p("",!0)]),_:1})):p("",!0),ke.value&&g.prescription_audit_status!==""&&g.prescription_audit_status!==null&&g.prescription_audit_status!==void 0?(s(),c(I,{key:1,label:"处方审核意见"},{default:a(()=>[r(_e,{modelValue:g.prescription_audit_remark,"onUpdate:modelValue":e[9]||(e[9]=u=>g.prescription_audit_remark=u),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})):p("",!0),we.value?(s(),c(I,{key:2,label:"支付单审核"},{default:a(()=>[r(ze,{modelValue:g.payment_slip_audit_status,"onUpdate:modelValue":e[10]||(e[10]=u=>g.payment_slip_audit_status=u),class:"w-full",clearable:"",placeholder:"不修改"},{default:a(()=>[r(C,{label:"待审核",value:0}),r(C,{label:"已通过",value:1}),r(C,{label:"已驳回",value:2})]),_:1},8,["modelValue"]),l.value?(s(),m("div",Tl," 当前:"+i(k(_t)(l.value.payment_slip_audit_status)),1)):p("",!0)]),_:1})):p("",!0),we.value&&g.payment_slip_audit_status!==""&&g.payment_slip_audit_status!==null&&g.payment_slip_audit_status!==void 0?(s(),c(I,{key:3,label:"支付审核意见"},{default:a(()=>[r(_e,{modelValue:g.payment_slip_audit_remark,"onUpdate:modelValue":e[11]||(e[11]=u=>g.payment_slip_audit_remark=u),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})):p("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"]),r(rt,{modelValue:le.value,"onUpdate:modelValue":e[20]||(e[20]=u=>le.value=u),title:"修改服用参数",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Dt},{footer:a(()=>[r(w,{onClick:e[19]||(e[19]=u=>le.value=!1)},{default:a(()=>[...e[80]||(e[80]=[d("取消",-1)])]),_:1}),r(w,{type:"primary",loading:Ne.value,onClick:Ct},{default:a(()=>[...e[81]||(e[81]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[r(lt,{ref_key:"patchUsageFormRef",ref:Se,model:h,rules:At.value,"label-width":"108px"},{default:a(()=>[q.value?(s(),m("div",zl,"主方")):p("",!0),r(I,{label:"每天次数",prop:"times_per_day"},{default:a(()=>[r(ne,{modelValue:h.times_per_day,"onUpdate:modelValue":e[14]||(e[14]=u=>h.times_per_day=u),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),r(I,{label:"处方开立",prop:"usage_days"},{default:a(()=>[n("div",Al,[r(ne,{modelValue:h.usage_days,"onUpdate:modelValue":e[15]||(e[15]=u=>h.usage_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[75]||(e[75]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1}),q.value?(s(),m(L,{key:1},[e[77]||(e[77]=n("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"辅方",-1)),r(I,{label:"每天次数",prop:"aux_times_per_day"},{default:a(()=>[r(ne,{modelValue:h.aux_times_per_day,"onUpdate:modelValue":e[16]||(e[16]=u=>h.aux_times_per_day=u),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),r(I,{label:"处方开立",prop:"aux_usage_days"},{default:a(()=>[n("div",Ul,[r(ne,{modelValue:h.aux_usage_days,"onUpdate:modelValue":e[17]||(e[17]=u=>h.aux_usage_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[76]||(e[76]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})],64)):p("",!0),e[79]||(e[79]=n("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"订单设置",-1)),r(I,{label:"服用天数",prop:"medication_days"},{default:a(()=>[n("div",Dl,[r(ne,{modelValue:h.medication_days,"onUpdate:modelValue":e[18]||(e[18]=u=>h.medication_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[78]||(e[78]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"])])):p("",!0)]}),_:3},8,["modelValue","append-to-body"])}}}),wr=za(Il,[["__scopeId","data-v-3fe6d04f"]]);export{wr as default}; +import{e as Mt,a3 as Ht,L as Jt,U as Kt,a4 as Qt,a5 as Wt,K as Gt,i as Xt,a6 as Yt,a7 as Zt,N as ea,O as ta,X as aa,k as sa,j as la,C as ra,Q as ia,R as na,d as oa,T as ua,a8 as da,a9 as pa,W as ma,D as ca,B as _a,h as ya}from"./element-plus-DGP1XOrU.js";import{w as va}from"./@vue/runtime-dom-DDAG46FW.js";import{O as fa,M as ga,U as ba,l as xa}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as ka,f as wa,h as ha,i as Na,j as Sa,k as Va,l as Oa,m as Pa}from"./tcm-D-ZRccbe.js";import{u as La,k as E,o as Ta,_ as za}from"./index-J_eFER10.js";import{f as De,a as ot,c as ut,b as Ce,d as Aa,e as Ua,g as Ie,p as dt,o as pt,h as mt,i as ct,j as Da,l as Ca,k as Ia,m as _t,n as Ea,q as ja,T as Ra,P as yt,r as qa,s as Ba,t as vt,u as Fa,v as ft,w as $a,x as Ma,y as Ha}from"./prescription-order-utils-CpKeuzsa.js";import{f as xt,b as Ja,as as Ka,ak as s,G as c,aN as a,I as m,J as n,O as d,H as p,F as L,ap as Z,a as r,aP as J,aq as gt,A as x,n as Qa}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i,o as K}from"./@vue/shared-mAAVTE9n.js";import{y as k,n as V,r as bt}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Wa={class:"po-detail-drawer-head flex items-center justify-between"},Ga={class:"flex items-center"},Xa={key:0,class:"flex items-center gap-2 mr-6"},Ya={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},Za={class:"text-sm leading-relaxed"},es={class:"font-mono font-semibold text-red-700"},ts={class:"font-mono font-semibold text-red-700"},as={class:"text-sm leading-relaxed space-y-1.5"},ss={key:0,class:"flex flex-wrap gap-1.5 items-center"},ls={key:1,class:"list-disc pl-5 space-y-1 text-red-50"},rs={key:2,class:"bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},is={key:0,class:"text-red-500 font-medium"},ns={key:1},os={key:2,class:"text-green-600"},us={key:3,class:"text-gray-400"},ds={key:0,class:"text-red-500 font-medium"},ps={key:1},ms={key:2,class:"text-green-600"},cs={key:3,class:"text-gray-400"},_s={key:0,class:"text-amber-600 font-medium"},ys={key:1,class:"text-primary font-medium"},vs={key:2},fs={key:3,class:"text-green-600"},gs={key:4,class:"text-red-500 font-medium"},bs={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},xs={class:"flex items-center justify-between mb-1"},ks={class:"stat-value text-red-500 font-bold text-xl"},ws={class:"stat-value text-green-600 font-bold text-xl"},hs={class:"stat-value text-primary font-bold text-xl"},Ns={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Ss={key:0,class:"audit-stamp stamp-pass"},Vs={key:1,class:"audit-stamp stamp-reject"},Os={class:"flex items-center justify-between"},Ps={class:"flex items-center gap-3"},Ls={key:0,class:"text-xs text-gray-500"},Ts={class:"text-primary font-medium"},zs={class:"text-xs text-gray-400"},As={class:"text-red-500 font-medium"},Us={class:"flex flex-col gap-1 text-sm leading-relaxed"},Ds={key:0,class:"text-gray-500 mr-1"},Cs={key:1,class:"ml-2 text-gray-500"},Is={key:0},Es={key:1,class:"ml-2 text-gray-500"},js={class:"flex items-center gap-1"},Rs={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},qs={key:0},Bs={key:0,class:"mt-4"},Fs={class:"flex flex-col gap-4 h-full"},$s={class:"text-red-500"},Ms={key:0,class:"audit-stamp stamp-pass"},Hs={key:1,class:"audit-stamp stamp-reject"},Js={class:"flex items-center justify-between"},Ks={class:"flex items-center gap-3"},Qs={key:0,class:"text-xs text-gray-500"},Ws={class:"text-primary font-medium"},Gs={class:"text-red-500"},Xs={class:"font-mono"},Ys={key:0,class:"text-[13px] space-y-1"},Zs={class:"font-medium text-gray-900"},el={key:0,class:"text-gray-500 ml-2 font-mono text-xs"},tl={key:0,class:"text-gray-600 text-xs leading-relaxed"},al={key:1,class:"text-gray-400"},sl={key:0,class:"space-y-1.5"},ll={class:"text-gray-800 break-all"},rl={key:1,class:"text-gray-400"},il={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},nl={class:"font-mono text-primary"},ol={class:"text-gray-500"},ul={key:0},dl={key:1,class:"text-gray-500"},pl={key:0,class:"text-xs text-gray-500 mt-1"},ml={key:1,class:"text-gray-400"},cl={class:"po-audit-remark"},_l={class:"po-audit-remark"},yl={class:"flex items-center gap-2 flex-wrap"},vl={class:"text-xs text-gray-400 font-mono"},fl={key:0,class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"},gl={class:"flex flex-wrap items-center gap-3 mb-4"},bl={key:1,class:"ml-2 flex items-center gap-4 border-l pl-4 border-gray-200"},xl={key:2,class:"py-6 text-center text-sm text-gray-500"},kl={key:3,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},wl={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},hl={class:"text-gray-800"},Nl={key:1,class:"text-xs text-gray-400 ml-1"},Sl={key:2,class:"text-xs text-gray-400"},Vl={class:"flex items-center justify-between gap-2"},Ol={class:"flex items-center gap-2 mb-1"},Pl={class:"font-medium text-[13px]"},Ll={key:0,class:"text-xs text-gray-400 mt-1"},Tl={key:0,class:"text-xs text-gray-400 mt-1"},zl={key:0,class:"text-xs font-medium text-gray-500 mb-3"},Al={class:"flex items-center gap-1 w-full"},Ul={class:"flex items-center gap-1 w-full"},Dl={class:"flex items-center gap-1 w-full"},Cl=xt({name:"PrescriptionOrderDetailDrawer"}),Il=xt({...Cl,props:{readonly:{type:Boolean,default:!1},gancaoPreviewLoading:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},detailLoader:{type:Function,default:void 0},loadRelatedData:{type:Boolean,default:!0}},emits:["update-amount","patch-rx-patient","view-prescription","test-gancao-preview","view-patient","detail-changed"],setup(b,{expose:kt,emit:wt}){const D=b,j=wt,ee=La(),fe=x(()=>{const t=ee.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(o=>Number(o)):[];return e.includes(Ra)?e.some(o=>yt.includes(o)):!0}),R=V(!1),ge=V(!1),l=V(null),Q=V([]),W=V([]),te=V(null),Ee=x(()=>!D.readonly&&ut(l.value)&&Qe("tcm.prescriptionOrder/unlinkPayOrder"));async function ht(t){var y,v,S;const e=Number((y=l.value)==null?void 0:y.id),o=Number(t.id);if(!(!Ee.value||!e||!o||te.value!==null)&&[2,5].includes(Number(t.status))){te.value=o;try{if(await E.confirm(`确定移除收款记录「${t.order_no||"#"+o}」(¥${Ce(t.amount)})?仅解除关联,原收款记录保留;订单总金额不变,已付金额与需代收金额按剩余关联收款重新计算。`),!R.value||Number((v=l.value)==null?void 0:v.id)!==e)return;const z=await ka({id:e,pay_order_id:o}),w=(z==null?void 0:z.data)??z;Number((S=l.value)==null?void 0:S.id)===e&&Number(w==null?void 0:w.id)===e&&Object.assign(l.value,w),E.msgSuccess("收款关联已移除,金额已同步更新"),j("detail-changed"),await et(e)}catch{}finally{te.value=null}}}const _=x(()=>{var e;const t=(e=l.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),je=x(()=>{var t;return qa((t=_.value)==null?void 0:t.dietary_taboo)}),be=x(()=>{const t=l.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Re=x(()=>{const t=l.value;if(!t)return 0;const e=t.agency_collect_amount;if(e!=null&&e!=="")return Number(e)||0;const o=Number(t.amount)||0,y=Number(t.linked_pay_paid_total)||0;return Math.round((o-y)*100)/100}),oe=x(()=>{if(!l.value)return 0;const t=Number(l.value.fulfillment_status),e=Number(l.value.prescription_audit_status),o=Number(l.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:o===2?2:3:t===2?3:e===0||e===2?1:o===0||o===2?2:3}),ue=x(()=>{var e;const t=Number((e=l.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":oe.value===1?"process":"wait"}),de=x(()=>{var e;const t=Number((e=l.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":oe.value===2?"process":"wait"}),G=x(()=>{var e;const t=Number((e=l.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||oe.value===3?"process":"wait"}),ae=x(()=>{var o,y;const t=(o=_.value)==null?void 0:o.phone,e=(y=l.value)==null?void 0:y.recipient_phone;return Ba(e,t)}),Nt=x(()=>{var e;return vt((e=_.value)==null?void 0:e.phone)||"—"}),St=x(()=>{var e;return vt((e=l.value)==null?void 0:e.recipient_phone)||"—"}),qe=x(()=>{var e,o;const t=String(((e=l.value)==null?void 0:e.order_creator_dept_path)??((o=l.value)==null?void 0:o.diagnosis_creator_dept_path)??"").trim();return t?t.split(";").map(y=>y.trim()).filter(Boolean).map(y=>y.includes(" / ")?y.split(" / ").map(v=>v.trim()).filter(Boolean):y.split("/").map(v=>v.trim()).filter(Boolean)).filter(y=>y.length>0):[]}),Be=x(()=>{const t=l.value;if(!t)return"";const e=String(t.creator_account??"").trim(),o=String(t.creator_mobile??"").trim(),y=[];return e&&y.push(`登录账号:${e}`),o&&y.push(`手机:${o}`),y.join(" · ")}),A=x(()=>{var e;const t=(e=l.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),Fe=x(()=>{var e;const t=String(((e=A.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),$e=x(()=>{const t=A.value;if(!t)return"";const e=String(t.channel_source_desc??"").trim();return e||String(t.channel_source??"").trim()}),Me=x(()=>{var t;return Fa((t=_.value)==null?void 0:t.herbs)}),q=x(()=>ft(_.value)),T=x(()=>{const t=_.value;if(!t||!ft(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:$a(e,t.prescription_type||"浓缩水丸")}),Vt=x(()=>{var t;return((t=l.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),He=x(()=>{var t,e;return!D.readonly&&((t=l.value)==null?void 0:t.internal_cost)!=null&&((e=l.value)==null?void 0:e.internal_cost)!==""}),Ot=x(()=>{const t=l.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),xe=V([]);async function Je(){if(!(xe.value.length>0))try{const t=await Ta({type:"server_order"}),e=Ea(t==null?void 0:t.server_order);e.length>0&&(xe.value=e)}catch{}}const Pt=x(()=>{var t;return Ma((t=l.value)==null?void 0:t.service_package,xe.value)});Ja(()=>{Je()});function Lt(){const t=ee.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Ke(t){if(!Lt()){Q.value=[];return}try{const e=await Va({id:t});Q.value=(e==null?void 0:e.data)??e??[]}catch{Q.value=[]}}function Qe(t){const e=ee.perms||[];return e.includes("*")||e.includes(t)}function Tt(){return Qe("tcm.prescriptionOrder/addLog")}const ke=x(()=>{const t=ee.userInfo;return!t||Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(o=>Number(o)):[]).some(o=>yt.includes(o))}),we=x(()=>{const t=ee.userInfo;return!t||Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(o=>Number(o)):[]).some(o=>[0,3].includes(o))}),se=V(!1),he=V(!1),pe=V(),g=bt({summary:"",prescription_audit_status:"",payment_slip_audit_status:"",prescription_audit_remark:"",payment_slip_audit_remark:""}),zt={summary:[{required:!0,message:"请填写日志内容",trigger:"blur"}]},le=V(!1),Ne=V(!1),Se=V(),h=bt({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),At=x(()=>{const t={times_per_day:[{required:!0,message:"请填写主方每天次数",trigger:"change"}],usage_days:[{required:!0,message:"请填写主方开立天数",trigger:"change"}],medication_days:[{required:!0,message:"请填写订单服用天数",trigger:"change"}]};return q.value&&(t.aux_times_per_day=[{required:!0,message:"请填写辅方每天次数",trigger:"change"}],t.aux_usage_days=[{required:!0,message:"请填写辅方开立天数",trigger:"change"}]),t});function Ut(){const t=_.value,e=l.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){E.msgWarning("无处方数据");return}const o=T.value;h.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,h.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,h.aux_times_per_day=o&&Number(o.times_per_day)>0?Number(o.times_per_day):3,h.aux_usage_days=o&&Number(o.usage_days)>0?Number(o.usage_days):7;const y=Number(e.medication_days);h.medication_days=y>0?y:Number(t.usage_days)>0?Number(t.usage_days):7,le.value=!0,Qa(()=>{var v;return(v=Se.value)==null?void 0:v.clearValidate()})}function Dt(){h.times_per_day=3,h.usage_days=7,h.aux_times_per_day=3,h.aux_usage_days=7,h.medication_days=void 0}async function Ct(){var o;const t=Se.value;if(!t)return;try{await t.validate()}catch{return}const e=(o=l.value)==null?void 0:o.id;if(e){Ne.value=!0;try{const y={id:e,times_per_day:Number(h.times_per_day),usage_days:Number(h.usage_days),medication_days:Number(h.medication_days)};q.value&&(y.aux_times_per_day=Number(h.aux_times_per_day),y.aux_usage_days=Number(h.aux_usage_days)),await wa(y),E.msgSuccess("保存成功"),le.value=!1,await ce(),j("detail-changed")}catch{}finally{Ne.value=!1}}}function We(){var t;g.summary="",g.prescription_audit_status="",g.payment_slip_audit_status="",g.prescription_audit_remark="",g.payment_slip_audit_remark="",(t=pe.value)==null||t.clearValidate()}function It(){var e;if(!((e=l.value)!=null&&e.id))return;We();const t=l.value;g.prescription_audit_remark=String(t.prescription_audit_remark||""),g.payment_slip_audit_remark=String(t.payment_slip_audit_remark||""),se.value=!0}async function Et(){var t;if(!(!pe.value||!((t=l.value)!=null&&t.id))){await pe.value.validate(),he.value=!0;try{const e={id:l.value.id,summary:g.summary.trim()};ke.value&&g.prescription_audit_status!==""&&g.prescription_audit_status!==null&&g.prescription_audit_status!==void 0&&(e.prescription_audit_status=g.prescription_audit_status,e.prescription_audit_remark=g.prescription_audit_remark),we.value&&g.payment_slip_audit_status!==""&&g.payment_slip_audit_status!==null&&g.payment_slip_audit_status!==void 0&&(e.payment_slip_audit_status=g.payment_slip_audit_status,e.payment_slip_audit_remark=g.payment_slip_audit_remark),await ha(e),E.msgSuccess("日志已添加"),se.value=!1,await ce(),j("detail-changed")}catch{}finally{he.value=!1}}}async function Ge(t,e,o){var y;if(!t){W.value=[];return}try{const v=await Oa({diagnosis_id:t,prescription_order_id:e}),S=(v==null?void 0:v.lists)??((y=v==null?void 0:v.data)==null?void 0:y.lists)??[],z=Array.isArray(S)?S.filter(w=>!o.includes(w.id)):[];W.value=z}catch{W.value=[]}}const X=V("auto"),me=V(!1),Ve=V(!1),O=V(null),re=V("");let Oe=0;function Xe(){Oe+=1,O.value=null}function Pe(t){var e,o;return t.requestSeq!==Oe||Number((e=l.value)==null?void 0:e.id)!==t.orderId?!1:String(((o=l.value)==null?void 0:o.tracking_number)||"").trim()===t.trackingNumber}const Le=x(()=>{var o;const t=String(((o=l.value)==null?void 0:o.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),Ye=x(()=>{const t=O.value;return!t||!Array.isArray(t.traces)?[]:t.traces}),B=x(()=>Ha(O.value));async function ie(){var v,S;const t=Number((v=l.value)==null?void 0:v.id),e=String(((S=l.value)==null?void 0:S.tracking_number)||"").trim();if(!t||!e)return;const y={requestSeq:++Oe,orderId:t,trackingNumber:e};me.value=!0;try{const z=String(re.value||"").replace(/\D/g,""),w={id:t,express_company:X.value};z.length>=4&&(w.phone_tail=z);const U=await Na(w);if(!Pe(y))return;O.value=ja(U,e,t)}catch{if(!Pe(y))return;O.value=null}finally{Pe(y)&&(me.value=!1)}}async function jt(){var o,y;const t=Number((o=l.value)==null?void 0:o.id),e=String(((y=l.value)==null?void 0:y.tracking_number)||"").trim();if(!t||!e){E.msgWarning("当前订单未填写快递单号");return}Ve.value=!0;try{const v=await Sa({id:t});E.msgSuccess((v==null?void 0:v.message)||"京东物流轨迹已更新"),await ie()}catch(v){E.msgError((v==null?void 0:v.message)||"京东物流更新失败")}finally{Ve.value=!1}}function Ze(t){return D.detailLoader?D.detailLoader({id:t}):Pa({id:t})}async function Rt(t){Je(),l.value=null,W.value=[],Xe(),X.value="auto",re.value="",Q.value=[],R.value=!0,ge.value=!0;try{const e=await Ze(t),o=(e==null?void 0:e.data)??e??null;if(l.value=o,o){X.value=String(o.express_company||"auto")||"auto";const y=String(o.recipient_phone||"").replace(/\D/g,"");re.value=y.length>=4?y:"",D.loadRelatedData&&String(o.tracking_number||"").trim()&&ie(),D.loadRelatedData&&Ke(t);const v=o.diagnosis_id,S=o.pay_order_ids||[];D.loadRelatedData&&v&&Ge(v,t,S)}}catch(e){E.msgError((e==null?void 0:e.message)||"加载失败"),R.value=!1}finally{ge.value=!1}}async function ce(){var e,o;const t=Number((e=l.value)==null?void 0:e.id);if(t)try{const y=await Ze(t),v=(y==null?void 0:y.data)??y??null;if(!v)return;const S=String(((o=l.value)==null?void 0:o.tracking_number)||"").trim();l.value=v;const z=String(v.tracking_number||"").trim();D.loadRelatedData&&z&&z!==S&&(Xe(),X.value=String(v.express_company||"auto")||"auto",ie()),D.loadRelatedData&&Ke(t);const w=v.diagnosis_id;D.loadRelatedData&&w&&Ge(w,t,v.pay_order_ids||[])}catch{}}async function et(t){var o;const e=Number(t);!R.value||!(e>0)||Number((o=l.value)==null?void 0:o.id)!==e||await ce()}function qt(){R.value=!1}return kt({open:Rt,refresh:ce,refreshIfCurrent:et,close:qt,detail:l,visible:R}),(t,e)=>{const o=Kt,y=Ht,v=Jt,S=Wt,z=Qt,w=Xt,U=Gt,f=Zt,tt=Yt,N=ta,Te=ea,Y=aa,Bt=la,Ft=sa,_e=ra,C=na,ze=ia,Ae=oa,Ue=ua,at=pa,st=da,I=_a,lt=ca,rt=ma,ne=ya,$t=Mt,F=Ka("perms");return s(),c($t,{modelValue:R.value,"onUpdate:modelValue":e[21]||(e[21]=$=>R.value=$),class:"po-detail-drawer",size:"80%","destroy-on-close":"","close-on-click-modal":!1,"append-to-body":b.appendToBody},{header:a(()=>{var $,u,P;return[n("div",Wa,[n("div",Ga,[e[22]||(e[22]=n("span",{class:"po-detail-drawer-title text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),($=l.value)!=null&&$.order_no?(s(),c(o,{key:0,type:"primary",effect:"plain",round:"",class:"ml-3"},{default:a(()=>[d(i(l.value.order_no),1)]),_:1})):p("",!0),(u=l.value)!=null&&u.gancao_reciperl_order_no?(s(),c(o,{key:1,type:"success",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("甘草 "+i(l.value.gancao_reciperl_order_no),1)]),_:1})):p("",!0),(P=l.value)!=null&&P.ej_pharmacy_order_no?(s(),c(o,{key:2,type:"warning",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("洛阳 "+i(l.value.ej_pharmacy_order_no),1)]),_:1})):p("",!0),l.value?gt(t.$slots,"header-extra",{key:3,detail:l.value},void 0,!0):p("",!0)]),l.value?(s(),m("div",Xa,[gt(t.$slots,"header-actions",{detail:l.value},void 0,!0)])):p("",!0)])]}),default:a(()=>{var $;return[ge.value?(s(),c(y,{key:0,rows:12,animated:"",class:"px-6 py-4"})):l.value?(s(),m("div",Ya,[!b.readonly&&ae.value?(s(),c(v,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:a(()=>[n("div",Za,[n("div",null,[e[23]||(e[23]=d(" 处方手机: ",-1)),n("span",es,i(Nt.value),1)]),n("div",null,[e[24]||(e[24]=d(" 订单收货手机: ",-1)),n("span",ts,i(St.value),1)]),e[25]||(e[25]=n("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):p("",!0),!b.readonly&&B.value.show&&String((($=l.value)==null?void 0:$.tracking_number)||"").trim()?(s(),c(v,{key:1,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-4 !items-start ring-2 ring-red-600/90 shadow-lg",title:"物流异常:轨迹中出现拒收 / 退回等字样,请优先跟进处理"},{default:a(()=>[n("div",as,[B.value.keywords.length?(s(),m("div",ss,[e[26]||(e[26]=n("span",{class:"text-red-100 text-xs"},"命中关键词:",-1)),(s(!0),m(L,null,Z(B.value.keywords,u=>(s(),c(o,{key:u,type:"danger",effect:"plain",size:"small",class:"!border-white/40 !text-white"},{default:a(()=>[d(i(u),1)]),_:2},1024))),128))])):p("",!0),B.value.lines.length?(s(),m("ul",ls,[(s(!0),m(L,null,Z(B.value.lines,(u,P)=>(s(),m("li",{key:P},i(u),1))),128))])):p("",!0),e[27]||(e[27]=n("div",{class:"text-xs text-red-100/90 pt-1 border-t border-white/15"}," 请核实是否需改址重发、拦截退件或协调患者签收,并在备注中记录处理结果。 ",-1))])]),_:1})):p("",!0),b.readonly?p("",!0):(s(),m("div",rs,[r(z,{active:oe.value,"align-center":"","finish-status":"success"},{default:a(()=>[r(S,{title:"业务订单创建",description:k(De)(l.value.create_time)},null,8,["description"]),r(S,{title:"处方单双审",status:ue.value},{description:a(()=>[ue.value==="error"?(s(),m("span",is,"处方被驳回")):ue.value==="wait"?(s(),m("span",ns,"等待审核")):ue.value==="success"?(s(),m("span",os,"双审通过")):(s(),m("span",us,"进行中"))]),_:1},8,["status"]),r(S,{title:"支付单审核",status:de.value},{description:a(()=>[de.value==="error"?(s(),m("span",ds,"支付审核驳回")):de.value==="wait"?(s(),m("span",ps,"等待审核")):de.value==="success"?(s(),m("span",ms,"审核通过")):(s(),m("span",cs,"进行中"))]),_:1},8,["status"]),r(S,{title:"发货与履约",status:G.value},{description:a(()=>{var u,P,M;return[G.value==="process"&&Number((u=l.value)==null?void 0:u.fulfillment_status)===7?(s(),m("span",_s,"进行中")):G.value==="process"?(s(),m("span",ys,"等待发货/补充单号")):G.value==="wait"?(s(),m("span",vs,"待转入履约")):G.value==="success"?(s(),m("span",fs,i(k(ot)((P=l.value)==null?void 0:P.fulfillment_status)),1)):G.value==="error"?(s(),m("span",gs,i(k(ot)((M=l.value)==null?void 0:M.fulfillment_status)),1)):p("",!0)]}),_:1},8,["status"]),r(S,{title:"订单完成"})]),_:1},8,["active"])])),n("div",bs,[r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[n("div",xs,[e[29]||(e[29]=n("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),!b.readonly&&k(ut)(l.value)?J((s(),c(w,{key:0,type:"primary",size:"small",link:"",onClick:e[0]||(e[0]=u=>j("update-amount"))},{default:a(()=>[...e[28]||(e[28]=[d(" 修改 ",-1)])]),_:1})),[[F,["tcm.prescriptionOrder/updateAmount"]]]):p("",!0)]),n("div",ks,"¥"+i(l.value.amount),1)]),_:1}),r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[30]||(e[30]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),n("div",ws,"¥"+i(l.value.linked_pay_paid_total||0),1)]),_:1}),r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[31]||(e[31]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"退款金额",-1)),n("div",{class:K(["stat-value font-bold text-xl",Number(l.value.refund_amount)>0?"text-rose-500":"text-gray-400"])}," ¥"+i(k(Ce)(l.value.refund_amount||0)),3)]),_:1}),r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[32]||(e[32]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),n("div",{class:K(["stat-value font-bold text-xl",Re.value>0?"text-amber-600":"text-gray-500"])}," ¥"+i(k(Ce)(Re.value)),3)]),_:1}),r(U,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[33]||(e[33]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),n("div",hs,i(be.value.length)+" 笔",1)]),_:1})]),n("div",Ns,[r(U,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:a(()=>[n("div",Os,[n("div",Ps,[e[40]||(e[40]=n("span",{class:"font-medium text-[15px]"},"处方详情",-1)),l.value.doctor_name?(s(),m("span",Ls,[e[36]||(e[36]=d(" 开方人:",-1)),n("span",Ts,i(l.value.doctor_name),1)])):p("",!0),!b.readonly&&l.value.prescription_id&&_.value&&!String(l.value.prescription_detail_error||"").trim()?J((s(),c(w,{key:1,type:"default",size:"small",link:"",onClick:e[1]||(e[1]=u=>j("patch-rx-patient"))},{default:a(()=>[...e[37]||(e[37]=[d(" 改患者信息 ",-1)])]),_:1})),[[F,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):p("",!0),!b.readonly&&l.value.prescription_id&&fe.value?(s(),c(w,{key:2,type:"primary",size:"small",link:"",onClick:e[2]||(e[2]=u=>j("view-prescription"))},{default:a(()=>[...e[38]||(e[38]=[d(" 详细 ",-1)])]),_:1})):p("",!0),!b.readonly&&l.value.id&&fe.value?(s(),c(w,{key:3,type:"warning",size:"small",link:"",loading:b.gancaoPreviewLoading,icon:k(fa),onClick:e[3]||(e[3]=u=>j("test-gancao-preview"))},{default:a(()=>[...e[39]||(e[39]=[d(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):p("",!0)]),n("span",zs,"ID: "+i(l.value.prescription_id||"—"),1)])]),default:a(()=>[l.value.prescription_audit_status===1?(s(),m("div",Ss,[...e[34]||(e[34]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):p("",!0),l.value.prescription_audit_status===2?(s(),m("div",Vs,[...e[35]||(e[35]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):p("",!0),!b.readonly&&String(l.value.prescription_detail_error||"").trim()?(s(),c(v,{key:2,title:l.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):_.value?(s(),m(L,{key:3},[r(tt,{column:2,border:"",size:"small",class:"po-desc bg-white"},{default:a(()=>[r(f,{label:"处方编号",span:2},{default:a(()=>[d(i(_.value.sn||"—"),1)]),_:1}),r(f,{label:"患者"},{default:a(()=>[d(i(_.value.patient_name||"—"),1)]),_:1}),r(f,{label:"性别 / 年龄"},{default:a(()=>[d(i(_.value.gender_desc||"—")+" · "+i(_.value.age??"—")+"岁 ",1)]),_:1}),r(f,{label:"手机"},{default:a(()=>[n("span",{class:K(ae.value?"rx-phone-mismatch text-red-600 font-bold":"")},i(_.value.phone||"—"),3),ae.value?(s(),c(o,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:a(()=>[...e[41]||(e[41]=[d(" 与订单手机不一致 ",-1)])]),_:1})):p("",!0)]),_:1}),r(f,{label:"处方日期"},{default:a(()=>[d(i(_.value.prescription_date||"—"),1)]),_:1}),r(f,{label:"医师"},{default:a(()=>[d(i(_.value.doctor_name||"—"),1)]),_:1}),r(f,{label:"类型"},{default:a(()=>[d(i(_.value.prescription_type||"—"),1)]),_:1}),r(f,{label:"临床诊断",span:2},{default:a(()=>[d(i(_.value.clinical_diagnosis||"—"),1)]),_:1}),fe.value?(s(),c(f,{key:0,label:"剂数 / 用法",span:2},{default:a(()=>[d(i(l.value.dose_count??_.value.dose_count??"—")+" "+i(l.value.dose_unit||"剂")+" · "+i(_.value.usage_instruction||_.value.usage_method||"—"),1)]),_:1})):p("",!0),r(f,{label:"处方金额"},{default:a(()=>[n("span",As,"¥"+i(_.value.amount??"—"),1)]),_:1}),r(f,{label:"消费者审核"},{default:a(()=>[r(o,{type:k(Aa)(_.value.audit_status),size:"small"},{default:a(()=>[d(i(k(Ua)(_.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),r(f,{label:"用量"},{default:a(()=>[n("div",Us,[n("div",null,[q.value?(s(),m("span",Ds,"主方:")):p("",!0),_.value.dosage_amount?(s(),m(L,{key:1},[d(i(_.value.dosage_amount)+i(_.value.dosage_unit||"g")+" ",1),_.value.prescription_type==="浓缩水丸"?(s(),m(L,{key:0},[d(" · "+i(Number(_.value.dosage_bag_count)>0?Number(_.value.dosage_bag_count):1)+"袋 ",1)],64)):p("",!0),_.value.prescription_type==="饮片"&&_.value.need_decoction!==null?(s(),m("span",Cs," ("+i(_.value.need_decoction?"代煎":"不代煎")+") ",1)):p("",!0)],64)):(s(),m(L,{key:2},[d("—")],64))]),q.value&&T.value?(s(),m("div",Is,[e[42]||(e[42]=n("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),T.value.dosage_amount!=null&&T.value.dosage_amount!==0?(s(),m(L,{key:0},[d(i(T.value.dosage_amount)+i(_.value.dosage_unit||"g")+" ",1),_.value.prescription_type==="浓缩水丸"?(s(),m(L,{key:0},[d(" · "+i(Number(T.value.dosage_bag_count)>0?Number(T.value.dosage_bag_count):1)+"袋 ",1)],64)):p("",!0),_.value.prescription_type==="饮片"?(s(),m("span",Es," ("+i(T.value.need_decoction?"代煎":"不代煎")+") ",1)):p("",!0)],64)):(s(),m(L,{key:1},[d("—")],64))])):p("",!0)])]),_:1}),r(f,null,{label:a(()=>[n("div",js,[e[44]||(e[44]=n("span",null,"服用方式",-1)),!b.readonly&&l.value.prescription_id&&_.value&&!String(l.value.prescription_detail_error||"").trim()?J((s(),c(w,{key:0,type:"primary",size:"small",link:"",onClick:Ut},{default:a(()=>[...e[43]||(e[43]=[d(" 修改 ",-1)])]),_:1})),[[F,["tcm.prescriptionOrder/patchPrescriptionUsage"]]]):p("",!0)])]),default:a(()=>[n("div",Rs,[q.value?(s(),m(L,{key:0},[n("div",null,[e[45]||(e[45]=n("span",{class:"text-gray-500 mr-1"},"主方:",-1)),d(" 每天 "+i(_.value.times_per_day?_.value.times_per_day+" 次":"— 次")+" · 处方开立 "+i(_.value.usage_days!=null&&_.value.usage_days!==""?_.value.usage_days+" 天":"— 天"),1)]),T.value?(s(),m("div",qs,[e[46]||(e[46]=n("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),d(" 每天 "+i(T.value.times_per_day?T.value.times_per_day+" 次":"— 次")+" · 处方开立 "+i(T.value.usage_days!=null&&Number(T.value.usage_days)>0?T.value.usage_days+" 天":"— 天"),1)])):p("",!0)],64)):(s(),m(L,{key:1},[n("div",null,[e[47]||(e[47]=n("span",{class:"text-gray-500"},"每天次数:",-1)),d(" "+i(_.value.times_per_day?_.value.times_per_day+" 次":"—"),1)]),n("div",null,[e[48]||(e[48]=n("span",{class:"text-gray-500"},"处方开立:",-1)),d(" "+i(_.value.usage_days!=null&&_.value.usage_days!==""?_.value.usage_days+" 天":"—"),1)])],64)),n("div",null,[e[49]||(e[49]=n("span",{class:"text-gray-500"},"订单设置:",-1)),d(" "+i(l.value.medication_days!=null&&String(l.value.medication_days).trim()!==""?l.value.medication_days+" 天":"—"),1)])])]),_:1}),je.value?(s(),c(f,{key:1,label:"忌口",span:2},{default:a(()=>[d(i(je.value),1)]),_:1})):p("",!0),r(f,{label:"状态",span:2},{default:a(()=>[r(o,{type:Number(_.value.void_status)===1?"danger":"success",size:"small"},{default:a(()=>[d(i(Number(_.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),!b.readonly&&Vt.value?(s(),m("div",Bs,[e[50]||(e[50]=n("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Me.value.length?(s(),c(Te,{key:0,data:Me.value,size:"small",border:"",stripe:"","max-height":"260"},{default:a(()=>[r(N,{type:"index",label:"#",width:"48",align:"center"}),r(N,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),r(N,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(s(),c(Y,{key:1,description:"无处方药材明细","image-size":64}))])):p("",!0)],64)):(s(),c(Y,{key:4,description:"无处方数据","image-size":72}))]),_:1}),n("div",Fs,[r(U,{shadow:"never",class:"po-panel border-gray-100"},{header:a(()=>[...e[51]||(e[51]=[n("div",{class:"flex items-center justify-between"},[n("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),n("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:a(()=>[W.value.length?(s(),c(Te,{key:0,data:W.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:a(()=>[r(N,{prop:"id",label:"ID",width:"70"}),r(N,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),r(N,{label:"类型",width:"90"},{default:a(({row:u})=>[d(i(u.order_type_desc||k(Ie)(u.order_type)),1)]),_:1}),r(N,{label:"金额",width:"86",align:"right"},{default:a(({row:u})=>[n("span",$s,"¥"+i(u.amount),1)]),_:1}),r(N,{label:"状态",width:"100",align:"center"},{default:a(({row:u})=>[r(o,{type:k(dt)(u.status),size:"small"},{default:a(()=>[d(i(u.status_desc||k(pt)(u.status)),1)]),_:2},1032,["type"]),!b.readonly&&u.is_exempt===1?(s(),c(o,{key:0,type:"warning",size:"small",class:"ml-1"},{default:a(()=>[...e[52]||(e[52]=[d("豁免",-1)])]),_:1})):p("",!0)]),_:1}),b.readonly?p("",!0):(s(),c(N,{key:0,label:"方式","min-width":"120","show-overflow-tooltip":""},{default:a(({row:u})=>[d(i(k(mt)(u)),1)]),_:1})),r(N,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),r(N,{label:"创建时间","min-width":"136"},{default:a(({row:u})=>[d(i(k(ct)(u.create_time)),1)]),_:1})]),_:1},8,["data"])):(s(),c(Y,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),r(U,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:a(()=>[n("div",Js,[n("div",Ks,[e[56]||(e[56]=n("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),l.value.creator_name?(s(),m("span",Qs,[e[55]||(e[55]=d(" 创建人:",-1)),n("span",Ws,i(l.value.creator_name),1)])):p("",!0)])])]),default:a(()=>[l.value.payment_slip_audit_status===1?(s(),m("div",Ms,[...e[53]||(e[53]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):p("",!0),l.value.payment_slip_audit_status===2?(s(),m("div",Hs,[...e[54]||(e[54]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):p("",!0),be.value.length?(s(),c(Te,{key:2,data:be.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:a(()=>[r(N,{prop:"id",label:"ID",width:"70"}),r(N,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),r(N,{label:"类型",width:"90"},{default:a(({row:u})=>[d(i(u.order_type_desc||k(Ie)(u.order_type)),1)]),_:1}),r(N,{label:"金额",width:"86",align:"right"},{default:a(({row:u})=>[n("span",Gs,"¥"+i(u.amount),1)]),_:1}),r(N,{label:"状态",width:"100",align:"center"},{default:a(({row:u})=>[r(o,{type:k(dt)(u.status),size:"small"},{default:a(()=>[d(i(u.status_desc||k(pt)(u.status)),1)]),_:2},1032,["type"]),!b.readonly&&u.is_exempt===1?(s(),c(o,{key:0,type:"warning",size:"small",class:"ml-1"},{default:a(()=>[...e[57]||(e[57]=[d("豁免",-1)])]),_:1})):p("",!0)]),_:1}),b.readonly?p("",!0):(s(),c(N,{key:0,label:"方式","min-width":"120","show-overflow-tooltip":""},{default:a(({row:u})=>[d(i(k(mt)(u)),1)]),_:1})),r(N,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),r(N,{label:"创建时间","min-width":"136"},{default:a(({row:u})=>[d(i(k(ct)(u.create_time)),1)]),_:1}),Ee.value?(s(),c(N,{key:1,label:"操作",width:"80",fixed:"right",align:"center"},{default:a(({row:u})=>[r(w,{type:"danger",size:"small",link:"",loading:te.value===Number(u.id),disabled:te.value!==null||![2,5].includes(Number(u.status)),title:Number(u.status)===4?"已退款收款记录不可移除":"解除关联并更新已付金额,总金额不变",onClick:P=>ht(u)},{default:a(()=>[...e[58]||(e[58]=[d("移除",-1)])]),_:1},8,["loading","disabled","title","onClick"])]),_:1})):p("",!0)]),_:1},8,["data"])):(s(),c(Y,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),r(U,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:a(()=>[...e[59]||(e[59]=[n("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:a(()=>[r(tt,{column:3,border:"",size:"small",class:"po-desc"},{default:a(()=>[r(f,{label:"诊单ID",span:3},{default:a(()=>[n("span",Xs,i(l.value.diagnosis_id),1),!b.readonly&&Number(l.value.diagnosis_id)>0?(s(),c(w,{key:0,type:"primary",link:"",size:"small",class:"ml-2 align-baseline",onClick:e[4]||(e[4]=u=>j("view-patient"))},{default:a(()=>[...e[60]||(e[60]=[d(" 查看患者信息 ",-1)])]),_:1})):p("",!0)]),_:1}),r(f,{label:"创建时间",span:1},{default:a(()=>[d(i(k(De)(l.value.create_time)),1)]),_:1}),r(f,{label:"业务订单创建人",span:2},{default:a(()=>[Number(l.value.creator_id)>0||l.value.creator_name?(s(),m("div",Ys,[n("div",null,[n("span",Zs,i(l.value.creator_name||"—"),1),!b.readonly&&Number(l.value.creator_id)>0?(s(),m("span",el,"ID "+i(l.value.creator_id),1)):p("",!0)]),Be.value?(s(),m("div",tl,i(Be.value),1)):p("",!0)])):(s(),m("span",al,"—"))]),_:1}),r(f,{label:"创建人所属部门",span:3},{default:a(()=>[qe.value.length?(s(),m("div",sl,[(s(!0),m(L,null,Z(qe.value,(u,P)=>(s(),m("div",{key:P,class:"min-w-0"},[u.length?(s(),c(Ft,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:a(()=>[(s(!0),m(L,null,Z(u,(M,ye)=>(s(),c(Bt,{key:ye},{default:a(()=>[n("span",ll,i(M),1)]),_:2},1024))),128))]),_:2},1024)):p("",!0)]))),128))])):(s(),m("span",rl,"—"))]),_:1}),r(f,{label:"收货人"},{default:a(()=>[d(i(l.value.recipient_name),1)]),_:1}),b.readonly?p("",!0):(s(),c(f,{key:0,label:"挂号关联",span:3},{default:a(()=>[A.value?(s(),m(L,{key:0},[n("div",il,[n("span",null,[e[61]||(e[61]=d("流转编号(挂号) ",-1)),n("span",nl,"#"+i(A.value.id),1)]),n("span",ol,"时间:"+i(A.value.appointment_date)+" "+i(A.value.period)+" "+i(A.value.appointment_time),1),r(o,{size:"small",type:"info"},{default:a(()=>[d(i(A.value.appointment_type_desc),1)]),_:1}),r(o,{size:"small"},{default:a(()=>[d(i(A.value.status_desc),1)]),_:1}),A.value.doctor_name?(s(),m("span",ul,"接诊:"+i(A.value.doctor_name),1)):p("",!0),$e.value?(s(),m("span",dl,"渠道:"+i($e.value),1)):p("",!0),Fe.value?(s(),c(o,{key:2,size:"small",effect:"plain"},{default:a(()=>[d(i(Fe.value),1)]),_:1})):p("",!0)]),String(A.value.remark||"").trim()?(s(),m("p",pl," 备注:"+i(A.value.remark),1)):p("",!0)],64)):(s(),m("span",ml,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1})),r(f,{label:"收货手机"},{default:a(()=>[n("span",{class:K(ae.value?"text-red-600 font-bold font-mono":"font-mono")},i(l.value.recipient_phone||"—"),3),ae.value?(s(),c(o,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:a(()=>[...e[62]||(e[62]=[d(" 与处方手机不一致 ",-1)])]),_:1})):p("",!0)]),_:1}),r(f,{label:"收货地址",span:2},{default:a(()=>[d(i(Ot.value),1)]),_:1}),r(f,{label:"复诊"},{default:a(()=>[d(i(l.value.is_follow_up?"是":"否"),1)]),_:1}),r(f,{label:"用药疗程"},{default:a(()=>[d(i(l.value.medication_days?l.value.medication_days+" 天":"—"),1)]),_:1}),r(f,{label:"上次医护"},{default:a(()=>[d(i(l.value.prev_staff||"—"),1)]),_:1}),r(f,{label:"服务渠道"},{default:a(()=>[d(i(l.value.service_channel||"—"),1)]),_:1}),r(f,{label:"服务套餐"},{default:a(()=>[d(i(Pt.value),1)]),_:1}),r(f,{label:"费用类别"},{default:a(()=>[d(i(k(Ie)(l.value.fee_type)),1)]),_:1}),He.value?(s(),c(f,{key:1,label:"内部成本"},{default:a(()=>[d(" ¥"+i(l.value.internal_cost),1)]),_:1})):p("",!0),r(f,{label:"快递单号",span:He.value?1:2},{default:a(()=>[d(i(l.value.tracking_number||"—"),1)]),_:1},8,["span"]),r(f,{label:"快递公司"},{default:a(()=>[d(i(k(Da)(l.value.express_company)),1)]),_:1}),J((s(),c(f,{label:"药房备注",span:3},{default:a(()=>[d(i(l.value.remark_extra||"—"),1)]),_:1})),[[F,["tcm.prescriptionOrder/editRemarkExtra"]]]),r(f,{label:"医助备注",span:3},{default:a(()=>[d(i(l.value.remark_assistant||"—"),1)]),_:1}),r(f,{label:"处方审核意见",span:3},{default:a(()=>[n("span",cl,i(l.value.prescription_audit_remark||"—"),1)]),_:1}),r(f,{label:"支付审核意见",span:3},{default:a(()=>[n("span",_l,i(l.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),b.loadRelatedData&&String(l.value.tracking_number||"").trim()?(s(),c(U,{key:3,shadow:"never",class:K(["po-panel po-panel-logistics",!b.readonly&&B.value.show?"!border-2 !border-red-500 shadow-md shadow-red-500/10":"border-gray-100"])},{header:a(()=>[n("div",yl,[e[64]||(e[64]=n("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)),n("span",vl,i(l.value.tracking_number),1),!b.readonly&&B.value.show?(s(),c(o,{key:0,type:"danger",effect:"dark",size:"small"},{default:a(()=>[...e[63]||(e[63]=[d(" 拒收/退回 · 待处理 ",-1)])]),_:1})):p("",!0)])]),default:a(()=>{var u,P,M,ye,it,nt;return[b.readonly?p("",!0):(s(),m("p",fl," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ")),n("div",gl,[r(_e,{modelValue:re.value,"onUpdate:modelValue":e[5]||(e[5]=H=>re.value=H),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"w-[180px]",onKeyup:va(ie,["enter"])},null,8,["modelValue"]),r(ze,{modelValue:X.value,"onUpdate:modelValue":e[6]||(e[6]=H=>X.value=H),placeholder:"承运商",style:{width:"140px"}},{default:a(()=>[r(C,{label:"自动识别",value:"auto"}),r(C,{label:"顺丰速运",value:"sf"}),r(C,{label:"京东快递",value:"jd"}),r(C,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),J((s(),c(w,{type:"primary",plain:"",size:"default",loading:me.value,onClick:ie},{icon:a(()=>[r(Ae,null,{default:a(()=>[r(k(ga))]),_:1})]),default:a(()=>[e[65]||(e[65]=d(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[F,["tcm.prescriptionOrder/logisticsTrace"]]]),b.readonly?p("",!0):J((s(),c(w,{key:0,type:"warning",plain:"",size:"default",loading:Ve.value,onClick:jt},{icon:a(()=>[r(Ae,null,{default:a(()=>[r(k(ba))]),_:1})]),default:a(()=>[e[66]||(e[66]=d(" 京东接口更新 ",-1))]),_:1},8,["loading"])),[[F,["tcm.prescriptionOrder/logisticsTrace"]]]),b.readonly?p("",!0):(s(),m("div",bl,[r(Ue,{href:Le.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[67]||(e[67]=[d("顺丰官网",-1)])]),_:1},8,["href"]),r(Ue,{href:Le.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[68]||(e[68]=[d("京东物流",-1)])]),_:1},8,["href"]),r(Ue,{href:Le.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:a(()=>[...e[69]||(e[69]=[d("极兔",-1)])]),_:1},8,["href"])]))]),!b.readonly&&String(((u=O.value)==null?void 0:u.hint)||"").trim()?(s(),c(v,{key:1,title:String(((P=O.value)==null?void 0:P.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):p("",!0),me.value&&!O.value?(s(),m("div",xl,[r(Ae,{class:"is-loading mr-1"},{default:a(()=>[r(k(xa))]),_:1}),e[70]||(e[70]=d("正在加载物流轨迹... ",-1))])):O.value?(s(),m("div",kl,[(M=O.value)!=null&&M.state_text?(s(),m("div",wl,[n("span",hl,"状态:"+i(O.value.state_text),1),(ye=O.value)!=null&&ye.carrier_label?(s(),c(o,{key:0,size:"small",type:"info"},{default:a(()=>[d(i(O.value.carrier_label),1)]),_:1})):p("",!0),!b.readonly&&((it=O.value)!=null&&it.source)?(s(),m("span",Nl," ["+i(O.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):p("",!0),!b.readonly&&((nt=O.value)!=null&&nt.last_query_time)?(s(),m("span",Sl," 更新时间:"+i(O.value.last_query_time),1)):p("",!0)])):p("",!0),Ye.value.length?(s(),c(st,{key:1,class:"mt-2 pl-2"},{default:a(()=>[(s(!0),m(L,null,Z(Ye.value,(H,ve)=>(s(),c(at,{key:ve,type:ve===0?"primary":"info",hollow:ve!==0,timestamp:H.time,placement:"top"},{default:a(()=>[n("span",{class:K([ve===0?"text-gray-800 font-medium":"text-gray-500",!b.readonly&&k(Ca)(H.context)?"!text-red-700 font-semibold bg-red-50 px-1.5 py-0.5 rounded":""])},i(H.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(s(),c(Y,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):p("",!0)]}),_:1},8,["class"])):p("",!0),b.loadRelatedData?J((s(),c(U,{key:4,shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:a(()=>[n("div",Vl,[e[72]||(e[72]=n("span",{class:"font-medium text-[15px]"},"操作日志",-1)),Tt()?(s(),c(w,{key:0,type:"primary",link:"",size:"small",onClick:It},{default:a(()=>[...e[71]||(e[71]=[d(" 新增日志 ",-1)])]),_:1})):p("",!0)])]),default:a(()=>[Q.value.length?(s(),c(st,{key:0,class:"mt-2 pl-2"},{default:a(()=>[(s(!0),m(L,null,Z(Q.value,(u,P)=>(s(),c(at,{key:u.id,type:P===0?"primary":"info",hollow:P!==0,timestamp:k(De)(u.create_time),placement:"top"},{default:a(()=>[n("div",Ol,[n("span",Pl,i(u.admin_name),1),r(o,{size:"small",type:"info"},{default:a(()=>[d(i(k(Ia)(u.action)),1)]),_:2},1024)]),n("span",{class:K(P===0?"text-gray-800 font-medium":"text-gray-500")},i(u.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(s(),c(Y,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[F,["tcm.prescriptionOrder/logs"]]]):p("",!0),r(rt,{modelValue:se.value,"onUpdate:modelValue":e[13]||(e[13]=u=>se.value=u),title:"新增操作日志",width:"520px","close-on-click-modal":!1,"destroy-on-close":"","append-to-body":"",onClosed:We},{footer:a(()=>[r(w,{onClick:e[12]||(e[12]=u=>se.value=!1)},{default:a(()=>[...e[73]||(e[73]=[d("取消",-1)])]),_:1}),r(w,{type:"primary",loading:he.value,onClick:Et},{default:a(()=>[...e[74]||(e[74]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[r(lt,{ref_key:"addLogFormRef",ref:pe,model:g,rules:zt,"label-width":"108px"},{default:a(()=>[r(I,{label:"日志内容",prop:"summary"},{default:a(()=>[r(_e,{modelValue:g.summary,"onUpdate:modelValue":e[7]||(e[7]=u=>g.summary=u),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"记录本次操作说明、沟通结果等"},null,8,["modelValue"])]),_:1}),ke.value?(s(),c(I,{key:0,label:"处方审核"},{default:a(()=>[r(ze,{modelValue:g.prescription_audit_status,"onUpdate:modelValue":e[8]||(e[8]=u=>g.prescription_audit_status=u),class:"w-full",clearable:"",placeholder:"不修改"},{default:a(()=>[r(C,{label:"待审核",value:0}),r(C,{label:"已通过",value:1}),r(C,{label:"已驳回",value:2})]),_:1},8,["modelValue"]),l.value?(s(),m("div",Ll," 当前:"+i(k(_t)(l.value.prescription_audit_status)),1)):p("",!0)]),_:1})):p("",!0),ke.value&&g.prescription_audit_status!==""&&g.prescription_audit_status!==null&&g.prescription_audit_status!==void 0?(s(),c(I,{key:1,label:"处方审核意见"},{default:a(()=>[r(_e,{modelValue:g.prescription_audit_remark,"onUpdate:modelValue":e[9]||(e[9]=u=>g.prescription_audit_remark=u),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})):p("",!0),we.value?(s(),c(I,{key:2,label:"支付单审核"},{default:a(()=>[r(ze,{modelValue:g.payment_slip_audit_status,"onUpdate:modelValue":e[10]||(e[10]=u=>g.payment_slip_audit_status=u),class:"w-full",clearable:"",placeholder:"不修改"},{default:a(()=>[r(C,{label:"待审核",value:0}),r(C,{label:"已通过",value:1}),r(C,{label:"已驳回",value:2})]),_:1},8,["modelValue"]),l.value?(s(),m("div",Tl," 当前:"+i(k(_t)(l.value.payment_slip_audit_status)),1)):p("",!0)]),_:1})):p("",!0),we.value&&g.payment_slip_audit_status!==""&&g.payment_slip_audit_status!==null&&g.payment_slip_audit_status!==void 0?(s(),c(I,{key:3,label:"支付审核意见"},{default:a(()=>[r(_e,{modelValue:g.payment_slip_audit_remark,"onUpdate:modelValue":e[11]||(e[11]=u=>g.payment_slip_audit_remark=u),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})):p("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"]),r(rt,{modelValue:le.value,"onUpdate:modelValue":e[20]||(e[20]=u=>le.value=u),title:"修改服用参数",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Dt},{footer:a(()=>[r(w,{onClick:e[19]||(e[19]=u=>le.value=!1)},{default:a(()=>[...e[80]||(e[80]=[d("取消",-1)])]),_:1}),r(w,{type:"primary",loading:Ne.value,onClick:Ct},{default:a(()=>[...e[81]||(e[81]=[d("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[r(lt,{ref_key:"patchUsageFormRef",ref:Se,model:h,rules:At.value,"label-width":"108px"},{default:a(()=>[q.value?(s(),m("div",zl,"主方")):p("",!0),r(I,{label:"每天次数",prop:"times_per_day"},{default:a(()=>[r(ne,{modelValue:h.times_per_day,"onUpdate:modelValue":e[14]||(e[14]=u=>h.times_per_day=u),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),r(I,{label:"处方开立",prop:"usage_days"},{default:a(()=>[n("div",Al,[r(ne,{modelValue:h.usage_days,"onUpdate:modelValue":e[15]||(e[15]=u=>h.usage_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[75]||(e[75]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1}),q.value?(s(),m(L,{key:1},[e[77]||(e[77]=n("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"辅方",-1)),r(I,{label:"每天次数",prop:"aux_times_per_day"},{default:a(()=>[r(ne,{modelValue:h.aux_times_per_day,"onUpdate:modelValue":e[16]||(e[16]=u=>h.aux_times_per_day=u),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),r(I,{label:"处方开立",prop:"aux_usage_days"},{default:a(()=>[n("div",Ul,[r(ne,{modelValue:h.aux_usage_days,"onUpdate:modelValue":e[17]||(e[17]=u=>h.aux_usage_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[76]||(e[76]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})],64)):p("",!0),e[79]||(e[79]=n("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"订单设置",-1)),r(I,{label:"服用天数",prop:"medication_days"},{default:a(()=>[n("div",Dl,[r(ne,{modelValue:h.medication_days,"onUpdate:modelValue":e[18]||(e[18]=u=>h.medication_days=u),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[78]||(e[78]=n("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"])])):p("",!0)]}),_:3},8,["modelValue","append-to-body"])}}}),wr=za(Il,[["__scopeId","data-v-3fe6d04f"]]);export{wr as default}; diff --git a/server/public/admin/assets/ProgressPanel-BvPmp3XS.js b/server/public/admin/assets/ProgressPanel-Cz93PB3z.js similarity index 99% rename from server/public/admin/assets/ProgressPanel-BvPmp3XS.js rename to server/public/admin/assets/ProgressPanel-Cz93PB3z.js index d849a7944..a91bbb062 100644 --- a/server/public/admin/assets/ProgressPanel-BvPmp3XS.js +++ b/server/public/admin/assets/ProgressPanel-Cz93PB3z.js @@ -1 +1 @@ -import{d as ie,X as re,M as de,O as ue,U as ce,N as me}from"./element-plus-DGP1XOrU.js";import{_ as pe}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{d as $}from"./dayjs-DG77mNTn.js";import{a8 as _e}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as ve}from"./usePaging-DofycyjW.js";import{r as ge}from"./first_visit-BYIyH6Y1.js";import{f as he,A as p,b as fe,d as we,ak as r,I as d,J as e,a as _,aN as h,O as v,F as k,ap as V,H as G,G as H,aP as ye}from"./@vue/runtime-core-C6bnekPw.js";import{Q as t,o as x}from"./@vue/shared-mAAVTE9n.js";import{y as f,a as be,n as ke,r as xe}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Ne}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const De={class:"progress-board"},Se={class:"board-section overview-section"},Ce={class:"section-heading"},qe={class:"heading-copy"},Me={class:"heading-badge"},$e={class:"scope-chip"},Ae={class:"overview-grid"},Pe={class:"overview-card"},Ve={class:"overview-card"},Le={key:0},Te={key:1},Ye={key:0,class:"remaining-detail"},Ee={class:"remaining-detail-heading"},ze={class:"remaining-doctor-list"},Be={class:"remaining-doctor-identity"},Ie={class:"doctor-index"},Oe={class:"remaining-doctor-metrics"},Re={class:"is-remaining"},Fe={class:"board-section schedule-section"},Ue={class:"section-heading"},je={class:"heading-copy"},Ge={class:"heading-badge"},He={class:"schedule-range"},Je={class:"schedule-grid"},Qe=["aria-pressed","onClick"],We={class:"schedule-date"},Xe={class:"schedule-card-stats"},Ke={class:"schedule-card-action"},Ze={class:"schedule-drilldown"},et={class:"drilldown-heading"},tt={key:0,class:"doctor-schedule-list"},st={class:"doctor-identity"},ot={class:"doctor-index"},nt={class:"doctor-windows"},lt={class:"doctor-metric"},at={class:"doctor-metric doctor-metric-booked"},it={key:0,class:"doctor-metric doctor-metric-completed"},rt={class:"doctor-metric doctor-metric-passed"},dt={class:"doctor-metric doctor-metric-empty"},ut={class:"board-section queue-section"},ct={class:"section-heading queue-heading"},mt={class:"heading-copy"},pt={class:"queue-count"},_t={class:"queue-number"},vt={class:"patient-cell"},gt={class:"appointment-clock"},ht={key:0,class:"pagination-wrap"},ft=he({__name:"ProgressPanel",emits:["openDiagnosis"],setup(wt,{expose:J,emit:Q}){const W=Q,w=$().format("YYYY-MM-DD"),y=ke(w),A=xe({keyword:"",status:1,start_date:w,end_date:w}),{pager:a,getLists:D,resetPage:X}=ve({fetchFun:ge,params:A,size:15,firstLoading:!0,latestOnly:!0}),g=p(()=>{var s,n,i,m,c,S,C,q,M,o,b,B,I,O,R,F,U,j;return{totalVisits:Number(((n=(s=a.extend)==null?void 0:s.today_overview)==null?void 0:n.total_visits)||0),booked:Number(((m=(i=a.extend)==null?void 0:i.today_overview)==null?void 0:m.booked)||0),completed:Number(((S=(c=a.extend)==null?void 0:c.today_overview)==null?void 0:S.completed)||0),missed:Number(((q=(C=a.extend)==null?void 0:C.today_overview)==null?void 0:q.missed)||0),emptySlots:Number(((o=(M=a.extend)==null?void 0:M.today_overview)==null?void 0:o.empty_slots)||0),passedSlots:Number(((B=(b=a.extend)==null?void 0:b.today_overview)==null?void 0:B.passed_slots)||0),remainingSlots:Number(((O=(I=a.extend)==null?void 0:I.today_overview)==null?void 0:O.remaining_slots)??((F=(R=a.extend)==null?void 0:R.today_overview)==null?void 0:F.empty_slots)??0),doctorCount:Number(((j=(U=a.extend)==null?void 0:U.today_overview)==null?void 0:j.doctor_count)||0)}}),l=p(()=>{var s;return((s=a.extend)==null?void 0:s.schedule_mode)==="ownership"}),N=p(()=>{var n;const s=Array.isArray((n=a.extend)==null?void 0:n.week_schedule)?a.extend.week_schedule:[];return s.length?s:Array.from({length:7},(i,m)=>{const c=$().add(m,"day");return{date:c.format("YYYY-MM-DD"),date_text:c.format("MM-DD"),weekday:`周${"日一二三四五六"[c.day()]}`,total_slots:0,booked_slots:0,passed_slots:0,remaining_slots:0,empty_slots:0,doctor_count:0,doctors:[],total_appointments:0,waiting_appointments:0,completed_appointments:0,missed_appointments:0}})}),u=p(()=>N.value.find(s=>s.date===y.value)||N.value[0]||{date:w,date_text:$().format("MM-DD"),weekday:`周${"日一二三四五六"[$().day()]}`,total_slots:0,booked_slots:0,passed_slots:0,remaining_slots:0,empty_slots:0,doctor_count:0,doctors:[],total_appointments:0,waiting_appointments:0,completed_appointments:0,missed_appointments:0}),L=p(()=>{var s;return Array.isArray((s=u.value)==null?void 0:s.doctors)?u.value.doctors:[]}),T=p(()=>{const s=N.value.find(i=>i.date===w);return(Array.isArray(s==null?void 0:s.doctors)?s.doctors:[]).map(i=>({...i,remaining_slots:Number(i.remaining_slots??i.empty_slots??0),passed_slots:Number(i.passed_slots||0)})).sort((i,m)=>m.remaining_slots-i.remaining_slots||m.booked_slots-i.booked_slots||String(i.doctor_name||"").localeCompare(String(m.doctor_name||""),"zh-CN"))}),Y=p(()=>{const s=u.value;return`${s.date_text||""} ${s.weekday||""} `}),E=p(()=>y.value===w?"今日":Y.value.trim()||y.value),K=p(()=>{var s,n;return((n=(s=a.extend)==null?void 0:s.scope)==null?void 0:n.label)||"按权限加载"}),Z=p(()=>{const s=N.value;return s.length?`${s[0].date_text} 至 ${s[s.length-1].date_text}`:""});let P=null;function ee(s){return D(s)}function te(s){s&&(y.value=s,A.start_date=s,A.end_date=s,X())}function z(s){const n=l.value?s.appointment_times:s.schedule_windows,i=Array.isArray(n)?n.filter(Boolean):[];return i.length?i.join("、"):l.value?"暂无预约时刻":"未设置具体时段"}function se(s){return String(s.appointment_time||"").slice(0,5)||"—"}function oe(s){if(s.queue_status==="consulting")return"0(进行中)";if(s.queue_status==="next")return"0(待接诊)";const n=Math.max(0,Number(s.ahead_count||0));return n===0?"0 位":`${n} 位 · 约 ${Number(s.estimated_wait_minutes||n*15)} 分钟`}function ne(s){return s==="consulting"?"success":s==="next"?"warning":s==="completed"?"success":s==="missed"?"danger":"info"}function le({row:s}){return Number(s.is_self_patient)===1?"queue-row-self":""}function ae(s){W("openDiagnosis",s)}return J({refresh:ee,loading:p(()=>a.loading)}),fe(()=>{D(),P=setInterval(()=>D({silent:!0}),15e3)}),we(()=>{P&&clearInterval(P)}),(s,n)=>{const i=ie,m=re,c=ue,S=ce,C=me,q=pe,M=de;return r(),d("div",De,[e("section",Se,[e("div",Ce,[e("div",qe,[n[1]||(n[1]=e("h2",null,"今日面诊概览",-1)),e("span",Me,t(l.value?"按本人归属":"与排班合并"),1)]),e("span",$e,[_(i,null,{default:h(()=>[_(f(_e))]),_:1}),v(t(K.value),1)])]),e("div",Ae,[e("article",Pe,[e("span",null,t(l.value?"今日本人面诊":"今日面诊总号源"),1),e("strong",null,t(g.value.totalVisits),1),e("small",null,t(g.value.doctorCount)+" 位"+t(l.value?"接诊":"排班")+"医生",1)]),e("article",Ve,[e("span",null,t(l.value?"待面诊":"已预约"),1),e("strong",null,t(g.value.booked),1),e("small",null,t(l.value?"本人归属患者的有效挂号":"按有效挂号占用号源"),1)]),e("article",{class:x(["overview-card",l.value?"overview-card-completed":"overview-card-empty"])},[e("span",null,t(l.value?"已完成":"空号"),1),e("strong",null,t(l.value?g.value.completed:g.value.remainingSlots),1),l.value?(r(),d("small",Le,"已过号 "+t(g.value.missed)+" 人",1)):(r(),d("small",Te,"过号 "+t(g.value.passedSlots)+" · 未挂号 "+t(g.value.remainingSlots),1))],2)]),!l.value&&T.value.length?(r(),d("div",Ye,[e("div",Ee,[n[2]||(n[2]=e("h3",null,"医生剩余号源详情",-1)),e("span",null,"合计剩余可约 "+t(g.value.remainingSlots),1)]),e("div",ze,[(r(!0),d(k,null,V(T.value,(o,b)=>(r(),d("article",{key:o.doctor_id,class:"remaining-doctor-row"},[e("div",Be,[e("span",Ie,t(b+1),1),e("div",null,[e("strong",null,t(o.doctor_name),1),e("small",null,t(z(o)),1)])]),e("div",Oe,[e("span",null,[n[3]||(n[3]=v("过号 ",-1)),e("strong",null,t(o.passed_slots||0),1)]),e("span",Re,[n[4]||(n[4]=v("未挂号 / 剩余 ",-1)),e("strong",null,t(o.remaining_slots||0),1)])])]))),128))])])):G("",!0)]),e("section",Fe,[e("div",Ue,[e("div",je,[e("h2",null,t(l.value?"近一周面诊安排":"近一周排班"),1),e("span",Ge,t(l.value?"本人患者":"今日起 7 天"),1)]),e("span",He,t(Z.value),1)]),e("div",Je,[(r(!0),d(k,null,V(N.value,o=>(r(),d("button",{key:o.date,type:"button",class:x(["schedule-card",{"is-today":o.date===f(w),"is-selected":o.date===y.value}]),"aria-pressed":o.date===y.value,onClick:b=>te(o.date)},[e("span",We,t(o.date_text)+" "+t(o.weekday),1),e("strong",null,t(l.value?o.total_appointments:o.total_slots),1),e("span",Xe,[e("span",null,t(l.value?"待诊":"已约")+" "+t(l.value?o.waiting_appointments:o.booked_slots),1),n[5]||(n[5]=e("i",null,"/",-1)),e("span",{class:x({"is-completed":l.value})},t(l.value?"完成":"剩余")+" "+t(l.value?o.completed_appointments:o.remaining_slots??o.empty_slots),3)]),e("span",Ke,[e("span",null,t(o.doctor_count)+" 位医生",1),e("span",null,t(o.date===y.value?"正在查看":"查看明细")+" ›",1)])],10,Qe))),128))]),e("div",Ze,[e("div",et,[e("div",null,[e("h3",null,t(Y.value)+t(l.value?"面诊安排":"排班明细"),1),e("p",null,"共 "+t(u.value.doctor_count)+" 位"+t(l.value?"接诊":"排班")+"医生,点击上方日期可切换",1)]),e("div",{class:x(["drilldown-summary",{"is-ownership":l.value}])},[e("span",null,[v(t(l.value?"面诊总数":"总号源")+" ",1),e("strong",null,t(l.value?u.value.total_appointments:u.value.total_slots),1)]),e("span",null,[v(t(l.value?"待面诊":"已预约")+" ",1),e("strong",null,t(l.value?u.value.waiting_appointments:u.value.booked_slots),1)]),l.value?(r(),d(k,{key:0},[e("span",null,[n[6]||(n[6]=v("已完成 ",-1)),e("strong",null,t(u.value.completed_appointments),1)]),e("span",null,[n[7]||(n[7]=v("已过号 ",-1)),e("strong",null,t(u.value.missed_appointments),1)])],64)):(r(),d(k,{key:1},[e("span",null,[n[8]||(n[8]=v("过号 ",-1)),e("strong",null,t(u.value.passed_slots||0),1)]),e("span",null,[n[9]||(n[9]=v("剩余可约 ",-1)),e("strong",null,t(u.value.remaining_slots??u.value.empty_slots),1)])],64))],2)]),L.value.length?(r(),d("div",tt,[(r(!0),d(k,null,V(L.value,(o,b)=>(r(),d("article",{key:o.doctor_id,class:x(["doctor-schedule-row",{"is-ownership":l.value}])},[e("div",st,[e("span",ot,t(b+1),1),e("div",null,[e("strong",null,t(o.doctor_name),1),e("small",null,t(l.value?"本人患者接诊医生":"医生排班"),1)])]),e("div",nt,[e("span",null,t(l.value?"预约时刻":"排班时段"),1),e("strong",null,t(z(o)),1)]),e("div",lt,[e("span",null,t(l.value?"面诊总数":"总号源"),1),e("strong",null,t(l.value?o.total_appointments:o.total_slots),1)]),e("div",at,[e("span",null,t(l.value?"待面诊":"已预约"),1),e("strong",null,t(l.value?o.waiting_appointments:o.booked_slots),1)]),l.value?(r(),d("div",it,[n[10]||(n[10]=e("span",null,"完成 / 过号",-1)),e("strong",null,t(o.completed_appointments)+" / "+t(o.missed_appointments),1)])):(r(),d(k,{key:1},[e("div",rt,[n[11]||(n[11]=e("span",null,"过号",-1)),e("strong",null,t(o.passed_slots||0),1)]),e("div",dt,[n[12]||(n[12]=e("span",null,"未挂号 / 剩余",-1)),e("strong",null,t(o.remaining_slots??o.empty_slots),1)])],64))],2))),128))])):(r(),H(m,{key:1,"image-size":56,description:l.value?"该日期暂无本人归属患者的有效挂号":"该日期暂无当前权限范围内的医生排班"},null,8,["description"]))])]),e("section",ut,[e("div",ct,[e("div",mt,[e("h2",null,t(E.value)+"候诊列表",1),n[13]||(n[13]=e("span",{class:"heading-badge"},"按医生排队",-1)),e("span",pt,"共 "+t(f(a).count)+" 人",1)]),n[14]||(n[14]=e("span",{class:"refresh-time"},"每 15 秒自动刷新",-1))]),ye((r(),H(C,{data:f(a).lists,class:"queue-table","row-class-name":le,onRowDblclick:ae},{empty:h(()=>[_(m,{description:`当前权限范围内${E.value}暂无候诊患者`},null,8,["description"])]),default:h(()=>[_(c,{label:"排队",width:"92"},{default:h(({row:o})=>[e("span",_t,t(o.queue_no||"—"),1)]),_:1}),_(c,{label:"患者","min-width":"170"},{default:h(({row:o})=>[e("div",vt,[e("strong",null,t(o.patient_name||"未命名患者"),1),e("span",null,t(o.phone_masked||"无手机号"),1)])]),_:1}),_(c,{prop:"doctor_name",label:"医生","min-width":"130","show-overflow-tooltip":""}),_(c,{label:"预约时间","min-width":"135"},{default:h(({row:o})=>[e("span",gt,t(se(o)),1)]),_:1}),_(c,{label:"前方等待","min-width":"180"},{default:h(({row:o})=>[e("span",{class:x(["waiting-text",`is-${o.queue_status||"waiting"}`])},t(oe(o)),3)]),_:1}),_(c,{label:"状态","min-width":"110"},{default:h(({row:o})=>[_(S,{size:"small",round:"",effect:"light",type:ne(o.queue_status)},{default:h(()=>[v(t(o.queue_status_text||"等待中"),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])),[[M,f(a).loading]]),f(a).count>f(a).size?(r(),d("div",ht,[_(q,{modelValue:f(a),"onUpdate:modelValue":n[0]||(n[0]=o=>be(a)?a.value=o:null),onChange:f(D)},null,8,["modelValue","onChange"])])):G("",!0)])])}}}),as=Ne(ft,[["__scopeId","data-v-315ced2e"]]);export{as as default}; +import{d as ie,X as re,M as de,O as ue,U as ce,N as me}from"./element-plus-DGP1XOrU.js";import{_ as pe}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{d as $}from"./dayjs-DG77mNTn.js";import{a8 as _e}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as ve}from"./usePaging-DofycyjW.js";import{r as ge}from"./first_visit-lwfDQsu4.js";import{f as he,A as p,b as fe,d as we,ak as r,I as d,J as e,a as _,aN as h,O as v,F as k,ap as V,H as G,G as H,aP as ye}from"./@vue/runtime-core-C6bnekPw.js";import{Q as t,o as x}from"./@vue/shared-mAAVTE9n.js";import{y as f,a as be,n as ke,r as xe}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Ne}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const De={class:"progress-board"},Se={class:"board-section overview-section"},Ce={class:"section-heading"},qe={class:"heading-copy"},Me={class:"heading-badge"},$e={class:"scope-chip"},Ae={class:"overview-grid"},Pe={class:"overview-card"},Ve={class:"overview-card"},Le={key:0},Te={key:1},Ye={key:0,class:"remaining-detail"},Ee={class:"remaining-detail-heading"},ze={class:"remaining-doctor-list"},Be={class:"remaining-doctor-identity"},Ie={class:"doctor-index"},Oe={class:"remaining-doctor-metrics"},Re={class:"is-remaining"},Fe={class:"board-section schedule-section"},Ue={class:"section-heading"},je={class:"heading-copy"},Ge={class:"heading-badge"},He={class:"schedule-range"},Je={class:"schedule-grid"},Qe=["aria-pressed","onClick"],We={class:"schedule-date"},Xe={class:"schedule-card-stats"},Ke={class:"schedule-card-action"},Ze={class:"schedule-drilldown"},et={class:"drilldown-heading"},tt={key:0,class:"doctor-schedule-list"},st={class:"doctor-identity"},ot={class:"doctor-index"},nt={class:"doctor-windows"},lt={class:"doctor-metric"},at={class:"doctor-metric doctor-metric-booked"},it={key:0,class:"doctor-metric doctor-metric-completed"},rt={class:"doctor-metric doctor-metric-passed"},dt={class:"doctor-metric doctor-metric-empty"},ut={class:"board-section queue-section"},ct={class:"section-heading queue-heading"},mt={class:"heading-copy"},pt={class:"queue-count"},_t={class:"queue-number"},vt={class:"patient-cell"},gt={class:"appointment-clock"},ht={key:0,class:"pagination-wrap"},ft=he({__name:"ProgressPanel",emits:["openDiagnosis"],setup(wt,{expose:J,emit:Q}){const W=Q,w=$().format("YYYY-MM-DD"),y=ke(w),A=xe({keyword:"",status:1,start_date:w,end_date:w}),{pager:a,getLists:D,resetPage:X}=ve({fetchFun:ge,params:A,size:15,firstLoading:!0,latestOnly:!0}),g=p(()=>{var s,n,i,m,c,S,C,q,M,o,b,B,I,O,R,F,U,j;return{totalVisits:Number(((n=(s=a.extend)==null?void 0:s.today_overview)==null?void 0:n.total_visits)||0),booked:Number(((m=(i=a.extend)==null?void 0:i.today_overview)==null?void 0:m.booked)||0),completed:Number(((S=(c=a.extend)==null?void 0:c.today_overview)==null?void 0:S.completed)||0),missed:Number(((q=(C=a.extend)==null?void 0:C.today_overview)==null?void 0:q.missed)||0),emptySlots:Number(((o=(M=a.extend)==null?void 0:M.today_overview)==null?void 0:o.empty_slots)||0),passedSlots:Number(((B=(b=a.extend)==null?void 0:b.today_overview)==null?void 0:B.passed_slots)||0),remainingSlots:Number(((O=(I=a.extend)==null?void 0:I.today_overview)==null?void 0:O.remaining_slots)??((F=(R=a.extend)==null?void 0:R.today_overview)==null?void 0:F.empty_slots)??0),doctorCount:Number(((j=(U=a.extend)==null?void 0:U.today_overview)==null?void 0:j.doctor_count)||0)}}),l=p(()=>{var s;return((s=a.extend)==null?void 0:s.schedule_mode)==="ownership"}),N=p(()=>{var n;const s=Array.isArray((n=a.extend)==null?void 0:n.week_schedule)?a.extend.week_schedule:[];return s.length?s:Array.from({length:7},(i,m)=>{const c=$().add(m,"day");return{date:c.format("YYYY-MM-DD"),date_text:c.format("MM-DD"),weekday:`周${"日一二三四五六"[c.day()]}`,total_slots:0,booked_slots:0,passed_slots:0,remaining_slots:0,empty_slots:0,doctor_count:0,doctors:[],total_appointments:0,waiting_appointments:0,completed_appointments:0,missed_appointments:0}})}),u=p(()=>N.value.find(s=>s.date===y.value)||N.value[0]||{date:w,date_text:$().format("MM-DD"),weekday:`周${"日一二三四五六"[$().day()]}`,total_slots:0,booked_slots:0,passed_slots:0,remaining_slots:0,empty_slots:0,doctor_count:0,doctors:[],total_appointments:0,waiting_appointments:0,completed_appointments:0,missed_appointments:0}),L=p(()=>{var s;return Array.isArray((s=u.value)==null?void 0:s.doctors)?u.value.doctors:[]}),T=p(()=>{const s=N.value.find(i=>i.date===w);return(Array.isArray(s==null?void 0:s.doctors)?s.doctors:[]).map(i=>({...i,remaining_slots:Number(i.remaining_slots??i.empty_slots??0),passed_slots:Number(i.passed_slots||0)})).sort((i,m)=>m.remaining_slots-i.remaining_slots||m.booked_slots-i.booked_slots||String(i.doctor_name||"").localeCompare(String(m.doctor_name||""),"zh-CN"))}),Y=p(()=>{const s=u.value;return`${s.date_text||""} ${s.weekday||""} `}),E=p(()=>y.value===w?"今日":Y.value.trim()||y.value),K=p(()=>{var s,n;return((n=(s=a.extend)==null?void 0:s.scope)==null?void 0:n.label)||"按权限加载"}),Z=p(()=>{const s=N.value;return s.length?`${s[0].date_text} 至 ${s[s.length-1].date_text}`:""});let P=null;function ee(s){return D(s)}function te(s){s&&(y.value=s,A.start_date=s,A.end_date=s,X())}function z(s){const n=l.value?s.appointment_times:s.schedule_windows,i=Array.isArray(n)?n.filter(Boolean):[];return i.length?i.join("、"):l.value?"暂无预约时刻":"未设置具体时段"}function se(s){return String(s.appointment_time||"").slice(0,5)||"—"}function oe(s){if(s.queue_status==="consulting")return"0(进行中)";if(s.queue_status==="next")return"0(待接诊)";const n=Math.max(0,Number(s.ahead_count||0));return n===0?"0 位":`${n} 位 · 约 ${Number(s.estimated_wait_minutes||n*15)} 分钟`}function ne(s){return s==="consulting"?"success":s==="next"?"warning":s==="completed"?"success":s==="missed"?"danger":"info"}function le({row:s}){return Number(s.is_self_patient)===1?"queue-row-self":""}function ae(s){W("openDiagnosis",s)}return J({refresh:ee,loading:p(()=>a.loading)}),fe(()=>{D(),P=setInterval(()=>D({silent:!0}),15e3)}),we(()=>{P&&clearInterval(P)}),(s,n)=>{const i=ie,m=re,c=ue,S=ce,C=me,q=pe,M=de;return r(),d("div",De,[e("section",Se,[e("div",Ce,[e("div",qe,[n[1]||(n[1]=e("h2",null,"今日面诊概览",-1)),e("span",Me,t(l.value?"按本人归属":"与排班合并"),1)]),e("span",$e,[_(i,null,{default:h(()=>[_(f(_e))]),_:1}),v(t(K.value),1)])]),e("div",Ae,[e("article",Pe,[e("span",null,t(l.value?"今日本人面诊":"今日面诊总号源"),1),e("strong",null,t(g.value.totalVisits),1),e("small",null,t(g.value.doctorCount)+" 位"+t(l.value?"接诊":"排班")+"医生",1)]),e("article",Ve,[e("span",null,t(l.value?"待面诊":"已预约"),1),e("strong",null,t(g.value.booked),1),e("small",null,t(l.value?"本人归属患者的有效挂号":"按有效挂号占用号源"),1)]),e("article",{class:x(["overview-card",l.value?"overview-card-completed":"overview-card-empty"])},[e("span",null,t(l.value?"已完成":"空号"),1),e("strong",null,t(l.value?g.value.completed:g.value.remainingSlots),1),l.value?(r(),d("small",Le,"已过号 "+t(g.value.missed)+" 人",1)):(r(),d("small",Te,"过号 "+t(g.value.passedSlots)+" · 未挂号 "+t(g.value.remainingSlots),1))],2)]),!l.value&&T.value.length?(r(),d("div",Ye,[e("div",Ee,[n[2]||(n[2]=e("h3",null,"医生剩余号源详情",-1)),e("span",null,"合计剩余可约 "+t(g.value.remainingSlots),1)]),e("div",ze,[(r(!0),d(k,null,V(T.value,(o,b)=>(r(),d("article",{key:o.doctor_id,class:"remaining-doctor-row"},[e("div",Be,[e("span",Ie,t(b+1),1),e("div",null,[e("strong",null,t(o.doctor_name),1),e("small",null,t(z(o)),1)])]),e("div",Oe,[e("span",null,[n[3]||(n[3]=v("过号 ",-1)),e("strong",null,t(o.passed_slots||0),1)]),e("span",Re,[n[4]||(n[4]=v("未挂号 / 剩余 ",-1)),e("strong",null,t(o.remaining_slots||0),1)])])]))),128))])])):G("",!0)]),e("section",Fe,[e("div",Ue,[e("div",je,[e("h2",null,t(l.value?"近一周面诊安排":"近一周排班"),1),e("span",Ge,t(l.value?"本人患者":"今日起 7 天"),1)]),e("span",He,t(Z.value),1)]),e("div",Je,[(r(!0),d(k,null,V(N.value,o=>(r(),d("button",{key:o.date,type:"button",class:x(["schedule-card",{"is-today":o.date===f(w),"is-selected":o.date===y.value}]),"aria-pressed":o.date===y.value,onClick:b=>te(o.date)},[e("span",We,t(o.date_text)+" "+t(o.weekday),1),e("strong",null,t(l.value?o.total_appointments:o.total_slots),1),e("span",Xe,[e("span",null,t(l.value?"待诊":"已约")+" "+t(l.value?o.waiting_appointments:o.booked_slots),1),n[5]||(n[5]=e("i",null,"/",-1)),e("span",{class:x({"is-completed":l.value})},t(l.value?"完成":"剩余")+" "+t(l.value?o.completed_appointments:o.remaining_slots??o.empty_slots),3)]),e("span",Ke,[e("span",null,t(o.doctor_count)+" 位医生",1),e("span",null,t(o.date===y.value?"正在查看":"查看明细")+" ›",1)])],10,Qe))),128))]),e("div",Ze,[e("div",et,[e("div",null,[e("h3",null,t(Y.value)+t(l.value?"面诊安排":"排班明细"),1),e("p",null,"共 "+t(u.value.doctor_count)+" 位"+t(l.value?"接诊":"排班")+"医生,点击上方日期可切换",1)]),e("div",{class:x(["drilldown-summary",{"is-ownership":l.value}])},[e("span",null,[v(t(l.value?"面诊总数":"总号源")+" ",1),e("strong",null,t(l.value?u.value.total_appointments:u.value.total_slots),1)]),e("span",null,[v(t(l.value?"待面诊":"已预约")+" ",1),e("strong",null,t(l.value?u.value.waiting_appointments:u.value.booked_slots),1)]),l.value?(r(),d(k,{key:0},[e("span",null,[n[6]||(n[6]=v("已完成 ",-1)),e("strong",null,t(u.value.completed_appointments),1)]),e("span",null,[n[7]||(n[7]=v("已过号 ",-1)),e("strong",null,t(u.value.missed_appointments),1)])],64)):(r(),d(k,{key:1},[e("span",null,[n[8]||(n[8]=v("过号 ",-1)),e("strong",null,t(u.value.passed_slots||0),1)]),e("span",null,[n[9]||(n[9]=v("剩余可约 ",-1)),e("strong",null,t(u.value.remaining_slots??u.value.empty_slots),1)])],64))],2)]),L.value.length?(r(),d("div",tt,[(r(!0),d(k,null,V(L.value,(o,b)=>(r(),d("article",{key:o.doctor_id,class:x(["doctor-schedule-row",{"is-ownership":l.value}])},[e("div",st,[e("span",ot,t(b+1),1),e("div",null,[e("strong",null,t(o.doctor_name),1),e("small",null,t(l.value?"本人患者接诊医生":"医生排班"),1)])]),e("div",nt,[e("span",null,t(l.value?"预约时刻":"排班时段"),1),e("strong",null,t(z(o)),1)]),e("div",lt,[e("span",null,t(l.value?"面诊总数":"总号源"),1),e("strong",null,t(l.value?o.total_appointments:o.total_slots),1)]),e("div",at,[e("span",null,t(l.value?"待面诊":"已预约"),1),e("strong",null,t(l.value?o.waiting_appointments:o.booked_slots),1)]),l.value?(r(),d("div",it,[n[10]||(n[10]=e("span",null,"完成 / 过号",-1)),e("strong",null,t(o.completed_appointments)+" / "+t(o.missed_appointments),1)])):(r(),d(k,{key:1},[e("div",rt,[n[11]||(n[11]=e("span",null,"过号",-1)),e("strong",null,t(o.passed_slots||0),1)]),e("div",dt,[n[12]||(n[12]=e("span",null,"未挂号 / 剩余",-1)),e("strong",null,t(o.remaining_slots??o.empty_slots),1)])],64))],2))),128))])):(r(),H(m,{key:1,"image-size":56,description:l.value?"该日期暂无本人归属患者的有效挂号":"该日期暂无当前权限范围内的医生排班"},null,8,["description"]))])]),e("section",ut,[e("div",ct,[e("div",mt,[e("h2",null,t(E.value)+"候诊列表",1),n[13]||(n[13]=e("span",{class:"heading-badge"},"按医生排队",-1)),e("span",pt,"共 "+t(f(a).count)+" 人",1)]),n[14]||(n[14]=e("span",{class:"refresh-time"},"每 15 秒自动刷新",-1))]),ye((r(),H(C,{data:f(a).lists,class:"queue-table","row-class-name":le,onRowDblclick:ae},{empty:h(()=>[_(m,{description:`当前权限范围内${E.value}暂无候诊患者`},null,8,["description"])]),default:h(()=>[_(c,{label:"排队",width:"92"},{default:h(({row:o})=>[e("span",_t,t(o.queue_no||"—"),1)]),_:1}),_(c,{label:"患者","min-width":"170"},{default:h(({row:o})=>[e("div",vt,[e("strong",null,t(o.patient_name||"未命名患者"),1),e("span",null,t(o.phone_masked||"无手机号"),1)])]),_:1}),_(c,{prop:"doctor_name",label:"医生","min-width":"130","show-overflow-tooltip":""}),_(c,{label:"预约时间","min-width":"135"},{default:h(({row:o})=>[e("span",gt,t(se(o)),1)]),_:1}),_(c,{label:"前方等待","min-width":"180"},{default:h(({row:o})=>[e("span",{class:x(["waiting-text",`is-${o.queue_status||"waiting"}`])},t(oe(o)),3)]),_:1}),_(c,{label:"状态","min-width":"110"},{default:h(({row:o})=>[_(S,{size:"small",round:"",effect:"light",type:ne(o.queue_status)},{default:h(()=>[v(t(o.queue_status_text||"等待中"),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])),[[M,f(a).loading]]),f(a).count>f(a).size?(r(),d("div",ht,[_(q,{modelValue:f(a),"onUpdate:modelValue":n[0]||(n[0]=o=>be(a)?a.value=o:null),onChange:f(D)},null,8,["modelValue","onChange"])])):G("",!0)])])}}}),as=Ne(ft,[["__scopeId","data-v-315ced2e"]]);export{as as default}; diff --git a/server/public/admin/assets/PromotionAutomationForm-COkTGznv.js b/server/public/admin/assets/PromotionAutomationForm-C_8XR98S.js similarity index 98% rename from server/public/admin/assets/PromotionAutomationForm-COkTGznv.js rename to server/public/admin/assets/PromotionAutomationForm-C_8XR98S.js index fb7590eb8..cca5e1988 100644 --- a/server/public/admin/assets/PromotionAutomationForm-COkTGznv.js +++ b/server/public/admin/assets/PromotionAutomationForm-C_8XR98S.js @@ -1 +1 @@ -import{L as Ue,B as Ee,G as Ce,J as Ie,i as xe,af as He,H as Te,aa as Me,Q as Se,R as Be,g as Ne,ag as $e,C as Ae}from"./element-plus-DGP1XOrU.js";import{w as De,s as ze}from"./@vue/runtime-dom-DDAG46FW.js";import{A as ee,M as Re}from"./@element-plus/icons-vue-CbYn5zW9.js";import{y as Ge,z as Pe}from"./first_visit-BYIyH6Y1.js";import{w as pe,t as Fe,W as ve,p as Le,v as Oe}from"./WelcomeMessageEditor-A12mxrKO.js";import{f as Ke,w as ce,ae as We,ak as o,I as i,a as s,J as d,aN as u,O as r,F as y,ap as V,G as h,H as c,A as b,n as Ye}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _,o as le}from"./@vue/shared-mAAVTE9n.js";import{y as T,n as w}from"./@vue/reactivity-DiY1c2vO.js";import{_ as je}from"./index-fRv3NTFQ.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const qe={class:"automation-form"},Je={key:0,class:"reception-schedules"},Qe={class:"schedule-heading"},Xe={class:"time-row"},Ze={key:0},el={key:0,class:"inline-error"},ll={key:0,class:"legacy-tags-warning full-width",role:"alert"},al={key:1,class:"full-width tags-content"},tl={class:"tag-select-row"},ol={key:0,role:"alert",class:"inline-error"},sl={key:1,class:"field-help"},dl={key:2,class:"custom-tag-editor"},ul={class:"custom-tag-row"},nl={key:0,role:"alert",class:"inline-error"},il={key:3,role:"status",class:"tag-success"},rl={key:0,class:"full-width remark-content"},ml={class:"token-buttons"},pl={class:"remark-preview"},vl={class:"field-help"},cl={key:0,class:"field-help"},bl={key:1,class:"field-help warning-help"},fl={key:2,class:"field-help warning-help"},_l={class:"welcome-block"},gl={key:0},kl={class:"schedule-heading"},yl={class:"time-row"},wl={key:0},Vl=Ke({__name:"PromotionAutomationForm",props:{modelValue:{},mainMemberIds:{},members:{},disabled:{type:Boolean},disabledSections:{},backupExcludedMemberIds:{}},emits:["update:modelValue","busy"],setup(Y,{emit:be}){const C=Y,j=be,t=b({get:()=>C.modelValue,set:a=>j("update:modelValue",a)}),q=a=>{var e;return!!(C.disabled||(e=C.disabledSections)!=null&&e.includes(a))},I=b(()=>q("reception")),m=b(()=>q("customer")),U=b(()=>q("welcome")),fe=b(()=>C.backupExcludedMemberIds||C.mainMemberIds),ae=b(()=>C.members.filter(a=>C.mainMemberIds.includes(Number(a.id)))),_e=b(()=>t.value.backup_member_admin_ids.filter(a=>!C.members.some(e=>Number(e.id)===a))),R=b(()=>{var a;return((a=ae.value[0])==null?void 0:a.name)||"小陈"}),te=b(()=>Le(t.value.remark_template,R.value,20)),G=w(),J=w({start:0,end:0}),M=w([]),H=w(!1),B=w(""),oe=w(!1),g=w(!1),P=w(!1),N=w(""),S=w(""),$=w(""),ge=b(()=>t.value.tag_ids.length>1),F=b({get:()=>t.value.tag_ids.length===1?t.value.tag_ids[0]:"",set:a=>{t.value.tag_ids=a?[a]:[],$.value=""}}),ke=b(()=>{const a=M.value.flatMap(e=>e.tag);return t.value.tag_ids.map(e=>{var p;return((p=a.find(v=>v.id===e))==null?void 0:p.name)||e}).join("、")}),L=w(new Set),A=b(()=>L.value.size>0);ce([g,A],([a,e])=>j("busy",a||e),{flush:"sync"});const se=b(()=>{const a=new Set(M.value.flatMap(e=>e.tag.map(p=>p.id)));return t.value.tag_ids.filter(e=>!a.has(e))});ce([()=>t.value.tags_enabled,m],([a,e])=>{a&&!e&&!oe.value&&!H.value&&ne()},{immediate:!0});function de(a){var e;return`${a.name} · ${((e=a.dept_names)==null?void 0:e.join(" / "))||a.userid||"未分部门"}`}function ye(){t.value.reception_schedule.push({weekdays:[1,2,3,4,5],start:"09:00",end:"18:00",member_admin_ids:[...C.mainMemberIds]})}function we(){t.value.welcome_schedule.push({weekdays:[1,2,3,4,5],start:"09:00",end:"18:00",text:"",attachments:[]})}function Ve(a){t.value.welcome_schedule.splice(a,1),L.value.clear()}function ue(a,e){e?L.value.add(a):L.value.delete(a)}async function ne(){if(!(g.value||H.value)){H.value=!0,B.value="";try{const a=await Ge();if(!Array.isArray(a==null?void 0:a.tag_groups))throw new Error("标签接口未返回有效的标签列表。");M.value=a.tag_groups.map(e=>({...e,tag:Array.isArray(e.tag)?e.tag:[]})),oe.value=!0}catch(a){B.value=a instanceof Error?a.message:typeof a=="string"?a:"企业微信标签加载失败。"}finally{H.value=!1}}}async function ie(){var a;if(!(m.value||g.value||H.value)&&(S.value=Oe(N.value),$.value="",!S.value)){g.value=!0;try{const e=await Pe({name:N.value.trim()});if(!((a=e==null?void 0:e.tag)!=null&&a.id)||!e.tag.name||!e.group_id)throw new Error("企业微信未返回有效的标签 ID,请刷新标签后确认。");let p=M.value.find(x=>x.group_id===e.group_id);p||(p={group_id:e.group_id,group_name:e.group_name,tag:[]},M.value.push(p));const v=p.tag.findIndex(x=>x.id===e.tag.id);v>=0?p.tag[v]=e.tag:p.tag.push(e.tag),F.value=e.tag.id,$.value=`${e.reused?"已选用已有":"已创建并选用"}标签“${e.tag.name}”,保存方案后生效。`,N.value="",P.value=!1}catch(e){S.value=e instanceof Error?e.message:typeof e=="string"?e:"自定义标签创建失败,请刷新确认或重试。"}finally{g.value=!1}}}function O(){var e;const a=(e=G.value)==null?void 0:e.input;a&&(J.value={start:a.selectionStart||0,end:a.selectionEnd||0})}async function he(a){var x,E,k,D;const{start:e,end:p}=J.value;t.value.remark_template=t.value.remark_template.slice(0,e)+a+t.value.remark_template.slice(p),await Ye();const v=e+a.length;(E=(x=G.value)==null?void 0:x.input)==null||E.focus(),(D=(k=G.value)==null?void 0:k.input)==null||D.setSelectionRange(v,v),J.value={start:v,end:v}}return We(()=>j("busy",!1)),(a,e)=>{const p=Ue,v=Ie,x=Ce,E=Ee,k=xe,D=Te,re=He,K=Me,z=Be,Q=Se,W=Ne,me=$e,X=Ae;return o(),i("div",qe,[s(p,{class:"automation-note",type:"info","show-icon":"",closable:!1,title:"自动化设置只作用于之后新添加的客户,不会写入企微获客链接详情中的“欢迎语/客户标签”配置。",description:"系统会在客户添加回调中立即发送渠道欢迎语并添加标签,后台任务负责失败重试及其他补偿。测试时请使用系统复制的、带渠道参数的链接。"}),d("section",{class:le(["automation-section",{"is-disabled":I.value}])},[e[24]||(e[24]=d("h3",{class:"form-section-title"},"接待设置",-1)),s(E,{label:"接待模式"},{default:u(()=>[s(x,{modelValue:t.value.reception_mode,"onUpdate:modelValue":e[0]||(e[0]=l=>t.value.reception_mode=l),disabled:I.value},{default:u(()=>[s(v,{value:"always"},{default:u(()=>[...e[16]||(e[16]=[r("全天接待",-1)])]),_:1}),s(v,{value:"scheduled"},{default:u(()=>[...e[17]||(e[17]=[r("按星期时段自动上下线",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]),e[18]||(e[18]=d("p",{class:"field-help"},"成员仍受每日上限、有效期及启用状态限制;时间统一使用北京时间。",-1))]),_:1}),t.value.reception_mode==="scheduled"?(o(),i("div",Je,[(o(!0),i(y,null,V(t.value.reception_schedule,(l,f)=>(o(),i("div",{key:f,class:"schedule-card"},[d("div",Qe,[d("strong",null,"接待时段 "+_(f+1),1),s(k,{type:"danger",text:"",size:"small",disabled:I.value,onClick:n=>t.value.reception_schedule.splice(f,1)},{default:u(()=>[...e[19]||(e[19]=[r("删除时段",-1)])]),_:1},8,["disabled","onClick"])]),s(re,{modelValue:l.weekdays,"onUpdate:modelValue":n=>l.weekdays=n,class:"weekday-select",disabled:I.value},{default:u(()=>[(o(!0),i(y,null,V(T(pe),(n,Z)=>(o(),h(D,{key:n,value:Z+1},{default:u(()=>[r(_(n),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"]),d("div",Xe,[s(K,{modelValue:l.start,"onUpdate:modelValue":n=>l.start=n,disabled:I.value,format:"HH:mm","value-format":"HH:mm",placeholder:"开始时间",clearable:!1},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[20]||(e[20]=d("span",null,"至",-1)),s(K,{modelValue:l.end,"onUpdate:modelValue":n=>l.end=n,disabled:I.value,format:"HH:mm","value-format":"HH:mm",placeholder:"结束时间",clearable:!1},null,8,["modelValue","onUpdate:modelValue","disabled"]),l.endl.member_admin_ids=n,disabled:I.value,multiple:"",filterable:"",clearable:"",placeholder:"从上方主接待成员中选择",style:{width:"100%"}},{default:u(()=>[(o(!0),i(y,null,V(ae.value,n=>(o(),h(z,{key:n.id,value:Number(n.id),label:de(n)},null,8,["value","label"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"]),l.member_admin_ids.some(n=>!Y.mainMemberIds.includes(n))?(o(),i("p",el,"该时段含已从主接待移除的成员,请重新选择。")):c("",!0)]))),128)),s(k,{icon:T(ee),disabled:I.value||t.value.reception_schedule.length>=30,onClick:ye},{default:u(()=>[...e[21]||(e[21]=[r("添加接待时段",-1)])]),_:1},8,["icon","disabled"]),e[22]||(e[22]=d("p",{class:"field-help"},"最多 30 个时段。跨午夜时段归属开始日,例如星期一 22:00 至 02:00 包含星期二凌晨;接待时段重叠时取成员并集。",-1))])):c("",!0),s(E,{label:"备用成员",required:t.value.reception_mode==="scheduled"},{default:u(()=>[s(Q,{modelValue:t.value.backup_member_admin_ids,"onUpdate:modelValue":e[1]||(e[1]=l=>t.value.backup_member_admin_ids=l),disabled:I.value,multiple:"",filterable:"",clearable:"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":3,"multiple-limit":500,placeholder:"主接待成员均不可用时由备用成员接待",style:{width:"100%"}},{default:u(()=>[(o(!0),i(y,null,V(Y.members,l=>(o(),h(z,{key:l.id,value:Number(l.id),label:de(l),disabled:fe.value.includes(Number(l.id))},null,8,["value","label","disabled"]))),128)),(o(!0),i(y,null,V(_e.value,l=>(o(),h(z,{key:`missing-${l}`,value:l,label:`成员 ${l}(当前不可选,请移除后重新选择)`,disabled:""},null,8,["value","label"]))),128))]),_:1},8,["modelValue","disabled"]),e[23]||(e[23]=d("p",{class:"field-help"},"备用成员不能与主接待重复。按时段模式至少配置一名备用成员;仅当无可用主接待时进入官方成员范围。",-1))]),_:1},8,["required"])],2),d("section",{class:le(["automation-section",{"is-disabled":m.value}])},[e[31]||(e[31]=d("h3",{class:"form-section-title"},"客户设置",-1)),s(E,{label:"自动添加客户标签"},{default:u(()=>[s(W,{modelValue:t.value.tags_enabled,"onUpdate:modelValue":e[2]||(e[2]=l=>t.value.tags_enabled=l),disabled:m.value||g.value},null,8,["modelValue","disabled"]),ge.value?(o(),i("div",ll,[d("p",null,"原方案设置了多个标签:"+_(ke.value)+"。现在仅支持单选,请重新选择一个标签,或清空原标签。",1),s(k,{size:"small",disabled:m.value||g.value,onClick:e[3]||(e[3]=l=>F.value="")},{default:u(()=>[...e[25]||(e[25]=[r("清空原标签",-1)])]),_:1},8,["disabled"])])):c("",!0),t.value.tags_enabled?(o(),i("div",al,[d("div",tl,[s(Q,{modelValue:F.value,"onUpdate:modelValue":e[4]||(e[4]=l=>F.value=l),disabled:m.value||g.value,loading:H.value,filterable:"",clearable:"",placeholder:"选择一个企业微信客户标签","aria-label":"企业微信客户标签",class:"tag-select"},{default:u(()=>[(o(!0),i(y,null,V(M.value,l=>(o(),h(me,{key:l.group_id,label:l.group_name},{default:u(()=>[(o(!0),i(y,null,V(l.tag,f=>(o(),h(z,{key:f.id,value:f.id,label:f.name},null,8,["value","label"]))),128))]),_:2},1032,["label"]))),128)),se.value.length?(o(),h(me,{key:0,label:"已选标签(名称暂不可用)"},{default:u(()=>[(o(!0),i(y,null,V(se.value,l=>(o(),h(z,{key:l,value:l,label:`已选标签 · ${l}`},null,8,["value","label"]))),128))]),_:1})):c("",!0)]),_:1},8,["modelValue","disabled","loading"]),s(k,{icon:T(ee),disabled:m.value||g.value,onClick:e[5]||(e[5]=l=>P.value=!P.value)},{default:u(()=>[...e[26]||(e[26]=[r("自定义标签",-1)])]),_:1},8,["icon","disabled"]),s(k,{icon:T(Re),disabled:m.value||g.value,loading:H.value,onClick:ne},{default:u(()=>[r(_(B.value?"重试":"刷新标签"),1)]),_:1},8,["icon","disabled","loading"])]),B.value?(o(),i("p",ol,_(B.value)+" 已保留原有标签,点击“重试”重新加载。",1)):(o(),i("p",sl,"每个方案只选一个标签,可选择已有企业微信标签,也可自定义创建。客户添加成功后由系统调用企微接口打标,不会显示在企微获客链接详情的“客户标签”配置中。")),P.value?(o(),i("div",dl,[e[28]||(e[28]=d("label",{for:"promotion-custom-tag-name"},"自定义标签名称",-1)),d("div",ul,[s(X,{id:"promotion-custom-tag-name",modelValue:N.value,"onUpdate:modelValue":e[6]||(e[6]=l=>N.value=l),disabled:m.value||g.value,maxlength:"30","show-word-limit":"",placeholder:"例如:官网咨询",onInput:e[7]||(e[7]=l=>S.value=""),onKeydown:De(ze(ie,["prevent"]),["enter"])},null,8,["modelValue","disabled","onKeydown"]),s(k,{type:"primary",disabled:m.value||H.value,loading:g.value,onClick:ie},{default:u(()=>[...e[27]||(e[27]=[r("创建并选用",-1)])]),_:1},8,["disabled","loading"])]),e[29]||(e[29]=d("p",{class:"field-help"},"创建到企业微信“推广渠道”分组,同组同名标签会复用。创建后即保存到企微标签库,取消方案编辑不会删除标签。",-1)),S.value?(o(),i("p",nl,_(S.value)+" 原有选择未改变。",1)):c("",!0)])):c("",!0),$.value?(o(),i("p",il,_($.value),1)):c("",!0)])):c("",!0)]),_:1}),s(E,{label:"自动设置客户备注"},{default:u(()=>[s(W,{modelValue:t.value.remark_enabled,"onUpdate:modelValue":e[8]||(e[8]=l=>t.value.remark_enabled=l),disabled:m.value},null,8,["modelValue","disabled"]),t.value.remark_enabled?(o(),i("div",rl,[d("div",ml,[(o(!0),i(y,null,V(T(Fe),l=>(o(),h(k,{key:l.value,size:"small",disabled:m.value,onClick:f=>he(l.value)},{default:u(()=>[r("插入"+_(l.label),1)]),_:2},1032,["disabled","onClick"]))),128))]),s(X,{ref_key:"remarkInput",ref:G,modelValue:t.value.remark_template,"onUpdate:modelValue":e[9]||(e[9]=l=>t.value.remark_template=l),disabled:m.value,maxlength:"200","show-word-limit":"",placeholder:"例如:官网-{customer_name}",onSelect:O,onKeyup:O,onClick:O,onBlur:O},null,8,["modelValue","disabled"]),d("div",pl,[e[30]||(e[30]=d("span",null,"备注预览",-1)),d("strong",null,_(te.value||"—"),1),d("small",null,_(Array.from(te.value).length)+"/20 字",1)]),d("p",vl,"示例客户:张女士;员工:"+_(R.value)+"。添加时间格式为 YYYY-MM-DD,生成后的备注最多保留前 20 字。",1)])):c("",!0)]),_:1}),s(E,{label:"自动设置客户描述"},{default:u(()=>[s(W,{modelValue:t.value.description_enabled,"onUpdate:modelValue":e[10]||(e[10]=l=>t.value.description_enabled=l),disabled:m.value},null,8,["modelValue","disabled"]),t.value.description_enabled?(o(),h(X,{key:0,modelValue:t.value.description,"onUpdate:modelValue":e[11]||(e[11]=l=>t.value.description=l),class:"description-input",disabled:m.value,type:"textarea",rows:3,maxlength:"150","show-word-limit":"",placeholder:"请输入客户描述,最多 150 字"},null,8,["modelValue","disabled"])):c("",!0)]),_:1})],2),d("section",{class:le(["automation-section",{"is-disabled":U.value}])},[e[42]||(e[42]=d("h3",{class:"form-section-title"},"欢迎语设置",-1)),s(E,{label:"欢迎语模式"},{default:u(()=>[s(x,{modelValue:t.value.welcome_mode,"onUpdate:modelValue":e[12]||(e[12]=l=>t.value.welcome_mode=l),disabled:U.value||A.value},{default:u(()=>[s(v,{value:"channel"},{default:u(()=>[...e[32]||(e[32]=[r("渠道欢迎语",-1)])]),_:1}),s(v,{value:"default"},{default:u(()=>[...e[33]||(e[33]=[r("默认欢迎语",-1)])]),_:1}),s(v,{value:"none"},{default:u(()=>[...e[34]||(e[34]=[r("不发送欢迎语",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]),t.value.welcome_mode==="default"?(o(),i("p",cl,"沿用企业微信后台配置,本系统不发送欢迎语。")):t.value.welcome_mode==="none"?(o(),i("p",bl,"仅关闭本系统欢迎语,无法覆盖或关闭企业微信后台已配置的欢迎语。")):(o(),i("p",fl,"渠道欢迎语由客户添加回调即时发送,不会显示在企微获客链接详情中。同一接待成员若已配置企微原生欢迎语,企微可能不再下发欢迎码,请先关闭冲突配置。"))]),_:1}),t.value.welcome_mode==="channel"?(o(),i(y,{key:0},[d("div",_l,[e[35]||(e[35]=d("h4",null,"基础渠道欢迎语",-1)),e[36]||(e[36]=d("p",{class:"field-help"},"未开启分时欢迎语,或新客户添加时间未匹配任何时段时,使用以下内容。",-1)),s(ve,{modelValue:t.value.welcome,"onUpdate:modelValue":e[13]||(e[13]=l=>t.value.welcome=l),disabled:U.value,"employee-name":R.value,onBusy:e[14]||(e[14]=l=>ue("basic",l))},null,8,["modelValue","disabled","employee-name"])]),s(E,{class:"schedule-switch",label:"分时欢迎语"},{default:u(()=>[s(W,{modelValue:t.value.welcome_schedule_enabled,"onUpdate:modelValue":e[15]||(e[15]=l=>t.value.welcome_schedule_enabled=l),disabled:U.value||A.value},null,8,["modelValue","disabled"]),e[37]||(e[37]=d("span",{class:"switch-help"},"按客户添加时的北京时间匹配,时段不能重叠",-1))]),_:1}),t.value.welcome_schedule_enabled?(o(),i("div",gl,[(o(!0),i(y,null,V(t.value.welcome_schedule,(l,f)=>(o(),i("div",{key:f,class:"schedule-card welcome-schedule"},[d("div",kl,[d("strong",null,"欢迎语时段 "+_(f+1),1),s(k,{type:"danger",text:"",size:"small",disabled:U.value||A.value,onClick:n=>Ve(f)},{default:u(()=>[...e[38]||(e[38]=[r("删除时段",-1)])]),_:1},8,["disabled","onClick"])]),s(re,{modelValue:l.weekdays,"onUpdate:modelValue":n=>l.weekdays=n,class:"weekday-select",disabled:U.value},{default:u(()=>[(o(!0),i(y,null,V(T(pe),(n,Z)=>(o(),h(D,{key:n,value:Z+1},{default:u(()=>[r(_(n),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"]),d("div",yl,[s(K,{modelValue:l.start,"onUpdate:modelValue":n=>l.start=n,disabled:U.value,format:"HH:mm","value-format":"HH:mm",placeholder:"开始时间",clearable:!1},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[39]||(e[39]=d("span",null,"至",-1)),s(K,{modelValue:l.end,"onUpdate:modelValue":n=>l.end=n,disabled:U.value,format:"HH:mm","value-format":"HH:mm",placeholder:"结束时间",clearable:!1},null,8,["modelValue","onUpdate:modelValue","disabled"]),l.endObject.assign(l,n),onBusy:n=>ue(`slot-${f}`,n)},null,8,["model-value","disabled","employee-name","onUpdate:modelValue","onBusy"])]))),128)),s(k,{icon:T(ee),disabled:U.value||A.value||t.value.welcome_schedule.length>=30,onClick:we},{default:u(()=>[...e[40]||(e[40]=[r("添加欢迎语时段",-1)])]),_:1},8,["icon","disabled"]),e[41]||(e[41]=d("p",{class:"field-help"},"最多 30 个时段,支持跨午夜。时段外自动使用基础渠道欢迎语,不会随机选择内容。",-1))])):c("",!0)],64)):c("",!0)],2)])}}}),na=je(Vl,[["__scopeId","data-v-a7e42c87"]]);export{na as default}; +import{L as Ue,B as Ee,G as Ce,J as Ie,i as xe,af as He,H as Te,aa as Me,Q as Se,R as Be,g as Ne,ag as $e,C as Ae}from"./element-plus-DGP1XOrU.js";import{w as De,s as ze}from"./@vue/runtime-dom-DDAG46FW.js";import{A as ee,M as Re}from"./@element-plus/icons-vue-CbYn5zW9.js";import{y as Ge,z as Pe}from"./first_visit-lwfDQsu4.js";import{w as pe,t as Fe,W as ve,p as Le,v as Oe}from"./WelcomeMessageEditor-CZ3lYeWY.js";import{f as Ke,w as ce,ae as We,ak as o,I as i,a as s,J as d,aN as u,O as r,F as y,ap as V,G as h,H as c,A as b,n as Ye}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _,o as le}from"./@vue/shared-mAAVTE9n.js";import{y as T,n as w}from"./@vue/reactivity-DiY1c2vO.js";import{_ as je}from"./index-J_eFER10.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const qe={class:"automation-form"},Je={key:0,class:"reception-schedules"},Qe={class:"schedule-heading"},Xe={class:"time-row"},Ze={key:0},el={key:0,class:"inline-error"},ll={key:0,class:"legacy-tags-warning full-width",role:"alert"},al={key:1,class:"full-width tags-content"},tl={class:"tag-select-row"},ol={key:0,role:"alert",class:"inline-error"},sl={key:1,class:"field-help"},dl={key:2,class:"custom-tag-editor"},ul={class:"custom-tag-row"},nl={key:0,role:"alert",class:"inline-error"},il={key:3,role:"status",class:"tag-success"},rl={key:0,class:"full-width remark-content"},ml={class:"token-buttons"},pl={class:"remark-preview"},vl={class:"field-help"},cl={key:0,class:"field-help"},bl={key:1,class:"field-help warning-help"},fl={key:2,class:"field-help warning-help"},_l={class:"welcome-block"},gl={key:0},kl={class:"schedule-heading"},yl={class:"time-row"},wl={key:0},Vl=Ke({__name:"PromotionAutomationForm",props:{modelValue:{},mainMemberIds:{},members:{},disabled:{type:Boolean},disabledSections:{},backupExcludedMemberIds:{}},emits:["update:modelValue","busy"],setup(Y,{emit:be}){const C=Y,j=be,t=b({get:()=>C.modelValue,set:a=>j("update:modelValue",a)}),q=a=>{var e;return!!(C.disabled||(e=C.disabledSections)!=null&&e.includes(a))},I=b(()=>q("reception")),m=b(()=>q("customer")),U=b(()=>q("welcome")),fe=b(()=>C.backupExcludedMemberIds||C.mainMemberIds),ae=b(()=>C.members.filter(a=>C.mainMemberIds.includes(Number(a.id)))),_e=b(()=>t.value.backup_member_admin_ids.filter(a=>!C.members.some(e=>Number(e.id)===a))),R=b(()=>{var a;return((a=ae.value[0])==null?void 0:a.name)||"小陈"}),te=b(()=>Le(t.value.remark_template,R.value,20)),G=w(),J=w({start:0,end:0}),M=w([]),H=w(!1),B=w(""),oe=w(!1),g=w(!1),P=w(!1),N=w(""),S=w(""),$=w(""),ge=b(()=>t.value.tag_ids.length>1),F=b({get:()=>t.value.tag_ids.length===1?t.value.tag_ids[0]:"",set:a=>{t.value.tag_ids=a?[a]:[],$.value=""}}),ke=b(()=>{const a=M.value.flatMap(e=>e.tag);return t.value.tag_ids.map(e=>{var p;return((p=a.find(v=>v.id===e))==null?void 0:p.name)||e}).join("、")}),L=w(new Set),A=b(()=>L.value.size>0);ce([g,A],([a,e])=>j("busy",a||e),{flush:"sync"});const se=b(()=>{const a=new Set(M.value.flatMap(e=>e.tag.map(p=>p.id)));return t.value.tag_ids.filter(e=>!a.has(e))});ce([()=>t.value.tags_enabled,m],([a,e])=>{a&&!e&&!oe.value&&!H.value&&ne()},{immediate:!0});function de(a){var e;return`${a.name} · ${((e=a.dept_names)==null?void 0:e.join(" / "))||a.userid||"未分部门"}`}function ye(){t.value.reception_schedule.push({weekdays:[1,2,3,4,5],start:"09:00",end:"18:00",member_admin_ids:[...C.mainMemberIds]})}function we(){t.value.welcome_schedule.push({weekdays:[1,2,3,4,5],start:"09:00",end:"18:00",text:"",attachments:[]})}function Ve(a){t.value.welcome_schedule.splice(a,1),L.value.clear()}function ue(a,e){e?L.value.add(a):L.value.delete(a)}async function ne(){if(!(g.value||H.value)){H.value=!0,B.value="";try{const a=await Ge();if(!Array.isArray(a==null?void 0:a.tag_groups))throw new Error("标签接口未返回有效的标签列表。");M.value=a.tag_groups.map(e=>({...e,tag:Array.isArray(e.tag)?e.tag:[]})),oe.value=!0}catch(a){B.value=a instanceof Error?a.message:typeof a=="string"?a:"企业微信标签加载失败。"}finally{H.value=!1}}}async function ie(){var a;if(!(m.value||g.value||H.value)&&(S.value=Oe(N.value),$.value="",!S.value)){g.value=!0;try{const e=await Pe({name:N.value.trim()});if(!((a=e==null?void 0:e.tag)!=null&&a.id)||!e.tag.name||!e.group_id)throw new Error("企业微信未返回有效的标签 ID,请刷新标签后确认。");let p=M.value.find(x=>x.group_id===e.group_id);p||(p={group_id:e.group_id,group_name:e.group_name,tag:[]},M.value.push(p));const v=p.tag.findIndex(x=>x.id===e.tag.id);v>=0?p.tag[v]=e.tag:p.tag.push(e.tag),F.value=e.tag.id,$.value=`${e.reused?"已选用已有":"已创建并选用"}标签“${e.tag.name}”,保存方案后生效。`,N.value="",P.value=!1}catch(e){S.value=e instanceof Error?e.message:typeof e=="string"?e:"自定义标签创建失败,请刷新确认或重试。"}finally{g.value=!1}}}function O(){var e;const a=(e=G.value)==null?void 0:e.input;a&&(J.value={start:a.selectionStart||0,end:a.selectionEnd||0})}async function he(a){var x,E,k,D;const{start:e,end:p}=J.value;t.value.remark_template=t.value.remark_template.slice(0,e)+a+t.value.remark_template.slice(p),await Ye();const v=e+a.length;(E=(x=G.value)==null?void 0:x.input)==null||E.focus(),(D=(k=G.value)==null?void 0:k.input)==null||D.setSelectionRange(v,v),J.value={start:v,end:v}}return We(()=>j("busy",!1)),(a,e)=>{const p=Ue,v=Ie,x=Ce,E=Ee,k=xe,D=Te,re=He,K=Me,z=Be,Q=Se,W=Ne,me=$e,X=Ae;return o(),i("div",qe,[s(p,{class:"automation-note",type:"info","show-icon":"",closable:!1,title:"自动化设置只作用于之后新添加的客户,不会写入企微获客链接详情中的“欢迎语/客户标签”配置。",description:"系统会在客户添加回调中立即发送渠道欢迎语并添加标签,后台任务负责失败重试及其他补偿。测试时请使用系统复制的、带渠道参数的链接。"}),d("section",{class:le(["automation-section",{"is-disabled":I.value}])},[e[24]||(e[24]=d("h3",{class:"form-section-title"},"接待设置",-1)),s(E,{label:"接待模式"},{default:u(()=>[s(x,{modelValue:t.value.reception_mode,"onUpdate:modelValue":e[0]||(e[0]=l=>t.value.reception_mode=l),disabled:I.value},{default:u(()=>[s(v,{value:"always"},{default:u(()=>[...e[16]||(e[16]=[r("全天接待",-1)])]),_:1}),s(v,{value:"scheduled"},{default:u(()=>[...e[17]||(e[17]=[r("按星期时段自动上下线",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]),e[18]||(e[18]=d("p",{class:"field-help"},"成员仍受每日上限、有效期及启用状态限制;时间统一使用北京时间。",-1))]),_:1}),t.value.reception_mode==="scheduled"?(o(),i("div",Je,[(o(!0),i(y,null,V(t.value.reception_schedule,(l,f)=>(o(),i("div",{key:f,class:"schedule-card"},[d("div",Qe,[d("strong",null,"接待时段 "+_(f+1),1),s(k,{type:"danger",text:"",size:"small",disabled:I.value,onClick:n=>t.value.reception_schedule.splice(f,1)},{default:u(()=>[...e[19]||(e[19]=[r("删除时段",-1)])]),_:1},8,["disabled","onClick"])]),s(re,{modelValue:l.weekdays,"onUpdate:modelValue":n=>l.weekdays=n,class:"weekday-select",disabled:I.value},{default:u(()=>[(o(!0),i(y,null,V(T(pe),(n,Z)=>(o(),h(D,{key:n,value:Z+1},{default:u(()=>[r(_(n),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"]),d("div",Xe,[s(K,{modelValue:l.start,"onUpdate:modelValue":n=>l.start=n,disabled:I.value,format:"HH:mm","value-format":"HH:mm",placeholder:"开始时间",clearable:!1},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[20]||(e[20]=d("span",null,"至",-1)),s(K,{modelValue:l.end,"onUpdate:modelValue":n=>l.end=n,disabled:I.value,format:"HH:mm","value-format":"HH:mm",placeholder:"结束时间",clearable:!1},null,8,["modelValue","onUpdate:modelValue","disabled"]),l.endl.member_admin_ids=n,disabled:I.value,multiple:"",filterable:"",clearable:"",placeholder:"从上方主接待成员中选择",style:{width:"100%"}},{default:u(()=>[(o(!0),i(y,null,V(ae.value,n=>(o(),h(z,{key:n.id,value:Number(n.id),label:de(n)},null,8,["value","label"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"]),l.member_admin_ids.some(n=>!Y.mainMemberIds.includes(n))?(o(),i("p",el,"该时段含已从主接待移除的成员,请重新选择。")):c("",!0)]))),128)),s(k,{icon:T(ee),disabled:I.value||t.value.reception_schedule.length>=30,onClick:ye},{default:u(()=>[...e[21]||(e[21]=[r("添加接待时段",-1)])]),_:1},8,["icon","disabled"]),e[22]||(e[22]=d("p",{class:"field-help"},"最多 30 个时段。跨午夜时段归属开始日,例如星期一 22:00 至 02:00 包含星期二凌晨;接待时段重叠时取成员并集。",-1))])):c("",!0),s(E,{label:"备用成员",required:t.value.reception_mode==="scheduled"},{default:u(()=>[s(Q,{modelValue:t.value.backup_member_admin_ids,"onUpdate:modelValue":e[1]||(e[1]=l=>t.value.backup_member_admin_ids=l),disabled:I.value,multiple:"",filterable:"",clearable:"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":3,"multiple-limit":500,placeholder:"主接待成员均不可用时由备用成员接待",style:{width:"100%"}},{default:u(()=>[(o(!0),i(y,null,V(Y.members,l=>(o(),h(z,{key:l.id,value:Number(l.id),label:de(l),disabled:fe.value.includes(Number(l.id))},null,8,["value","label","disabled"]))),128)),(o(!0),i(y,null,V(_e.value,l=>(o(),h(z,{key:`missing-${l}`,value:l,label:`成员 ${l}(当前不可选,请移除后重新选择)`,disabled:""},null,8,["value","label"]))),128))]),_:1},8,["modelValue","disabled"]),e[23]||(e[23]=d("p",{class:"field-help"},"备用成员不能与主接待重复。按时段模式至少配置一名备用成员;仅当无可用主接待时进入官方成员范围。",-1))]),_:1},8,["required"])],2),d("section",{class:le(["automation-section",{"is-disabled":m.value}])},[e[31]||(e[31]=d("h3",{class:"form-section-title"},"客户设置",-1)),s(E,{label:"自动添加客户标签"},{default:u(()=>[s(W,{modelValue:t.value.tags_enabled,"onUpdate:modelValue":e[2]||(e[2]=l=>t.value.tags_enabled=l),disabled:m.value||g.value},null,8,["modelValue","disabled"]),ge.value?(o(),i("div",ll,[d("p",null,"原方案设置了多个标签:"+_(ke.value)+"。现在仅支持单选,请重新选择一个标签,或清空原标签。",1),s(k,{size:"small",disabled:m.value||g.value,onClick:e[3]||(e[3]=l=>F.value="")},{default:u(()=>[...e[25]||(e[25]=[r("清空原标签",-1)])]),_:1},8,["disabled"])])):c("",!0),t.value.tags_enabled?(o(),i("div",al,[d("div",tl,[s(Q,{modelValue:F.value,"onUpdate:modelValue":e[4]||(e[4]=l=>F.value=l),disabled:m.value||g.value,loading:H.value,filterable:"",clearable:"",placeholder:"选择一个企业微信客户标签","aria-label":"企业微信客户标签",class:"tag-select"},{default:u(()=>[(o(!0),i(y,null,V(M.value,l=>(o(),h(me,{key:l.group_id,label:l.group_name},{default:u(()=>[(o(!0),i(y,null,V(l.tag,f=>(o(),h(z,{key:f.id,value:f.id,label:f.name},null,8,["value","label"]))),128))]),_:2},1032,["label"]))),128)),se.value.length?(o(),h(me,{key:0,label:"已选标签(名称暂不可用)"},{default:u(()=>[(o(!0),i(y,null,V(se.value,l=>(o(),h(z,{key:l,value:l,label:`已选标签 · ${l}`},null,8,["value","label"]))),128))]),_:1})):c("",!0)]),_:1},8,["modelValue","disabled","loading"]),s(k,{icon:T(ee),disabled:m.value||g.value,onClick:e[5]||(e[5]=l=>P.value=!P.value)},{default:u(()=>[...e[26]||(e[26]=[r("自定义标签",-1)])]),_:1},8,["icon","disabled"]),s(k,{icon:T(Re),disabled:m.value||g.value,loading:H.value,onClick:ne},{default:u(()=>[r(_(B.value?"重试":"刷新标签"),1)]),_:1},8,["icon","disabled","loading"])]),B.value?(o(),i("p",ol,_(B.value)+" 已保留原有标签,点击“重试”重新加载。",1)):(o(),i("p",sl,"每个方案只选一个标签,可选择已有企业微信标签,也可自定义创建。客户添加成功后由系统调用企微接口打标,不会显示在企微获客链接详情的“客户标签”配置中。")),P.value?(o(),i("div",dl,[e[28]||(e[28]=d("label",{for:"promotion-custom-tag-name"},"自定义标签名称",-1)),d("div",ul,[s(X,{id:"promotion-custom-tag-name",modelValue:N.value,"onUpdate:modelValue":e[6]||(e[6]=l=>N.value=l),disabled:m.value||g.value,maxlength:"30","show-word-limit":"",placeholder:"例如:官网咨询",onInput:e[7]||(e[7]=l=>S.value=""),onKeydown:De(ze(ie,["prevent"]),["enter"])},null,8,["modelValue","disabled","onKeydown"]),s(k,{type:"primary",disabled:m.value||H.value,loading:g.value,onClick:ie},{default:u(()=>[...e[27]||(e[27]=[r("创建并选用",-1)])]),_:1},8,["disabled","loading"])]),e[29]||(e[29]=d("p",{class:"field-help"},"创建到企业微信“推广渠道”分组,同组同名标签会复用。创建后即保存到企微标签库,取消方案编辑不会删除标签。",-1)),S.value?(o(),i("p",nl,_(S.value)+" 原有选择未改变。",1)):c("",!0)])):c("",!0),$.value?(o(),i("p",il,_($.value),1)):c("",!0)])):c("",!0)]),_:1}),s(E,{label:"自动设置客户备注"},{default:u(()=>[s(W,{modelValue:t.value.remark_enabled,"onUpdate:modelValue":e[8]||(e[8]=l=>t.value.remark_enabled=l),disabled:m.value},null,8,["modelValue","disabled"]),t.value.remark_enabled?(o(),i("div",rl,[d("div",ml,[(o(!0),i(y,null,V(T(Fe),l=>(o(),h(k,{key:l.value,size:"small",disabled:m.value,onClick:f=>he(l.value)},{default:u(()=>[r("插入"+_(l.label),1)]),_:2},1032,["disabled","onClick"]))),128))]),s(X,{ref_key:"remarkInput",ref:G,modelValue:t.value.remark_template,"onUpdate:modelValue":e[9]||(e[9]=l=>t.value.remark_template=l),disabled:m.value,maxlength:"200","show-word-limit":"",placeholder:"例如:官网-{customer_name}",onSelect:O,onKeyup:O,onClick:O,onBlur:O},null,8,["modelValue","disabled"]),d("div",pl,[e[30]||(e[30]=d("span",null,"备注预览",-1)),d("strong",null,_(te.value||"—"),1),d("small",null,_(Array.from(te.value).length)+"/20 字",1)]),d("p",vl,"示例客户:张女士;员工:"+_(R.value)+"。添加时间格式为 YYYY-MM-DD,生成后的备注最多保留前 20 字。",1)])):c("",!0)]),_:1}),s(E,{label:"自动设置客户描述"},{default:u(()=>[s(W,{modelValue:t.value.description_enabled,"onUpdate:modelValue":e[10]||(e[10]=l=>t.value.description_enabled=l),disabled:m.value},null,8,["modelValue","disabled"]),t.value.description_enabled?(o(),h(X,{key:0,modelValue:t.value.description,"onUpdate:modelValue":e[11]||(e[11]=l=>t.value.description=l),class:"description-input",disabled:m.value,type:"textarea",rows:3,maxlength:"150","show-word-limit":"",placeholder:"请输入客户描述,最多 150 字"},null,8,["modelValue","disabled"])):c("",!0)]),_:1})],2),d("section",{class:le(["automation-section",{"is-disabled":U.value}])},[e[42]||(e[42]=d("h3",{class:"form-section-title"},"欢迎语设置",-1)),s(E,{label:"欢迎语模式"},{default:u(()=>[s(x,{modelValue:t.value.welcome_mode,"onUpdate:modelValue":e[12]||(e[12]=l=>t.value.welcome_mode=l),disabled:U.value||A.value},{default:u(()=>[s(v,{value:"channel"},{default:u(()=>[...e[32]||(e[32]=[r("渠道欢迎语",-1)])]),_:1}),s(v,{value:"default"},{default:u(()=>[...e[33]||(e[33]=[r("默认欢迎语",-1)])]),_:1}),s(v,{value:"none"},{default:u(()=>[...e[34]||(e[34]=[r("不发送欢迎语",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]),t.value.welcome_mode==="default"?(o(),i("p",cl,"沿用企业微信后台配置,本系统不发送欢迎语。")):t.value.welcome_mode==="none"?(o(),i("p",bl,"仅关闭本系统欢迎语,无法覆盖或关闭企业微信后台已配置的欢迎语。")):(o(),i("p",fl,"渠道欢迎语由客户添加回调即时发送,不会显示在企微获客链接详情中。同一接待成员若已配置企微原生欢迎语,企微可能不再下发欢迎码,请先关闭冲突配置。"))]),_:1}),t.value.welcome_mode==="channel"?(o(),i(y,{key:0},[d("div",_l,[e[35]||(e[35]=d("h4",null,"基础渠道欢迎语",-1)),e[36]||(e[36]=d("p",{class:"field-help"},"未开启分时欢迎语,或新客户添加时间未匹配任何时段时,使用以下内容。",-1)),s(ve,{modelValue:t.value.welcome,"onUpdate:modelValue":e[13]||(e[13]=l=>t.value.welcome=l),disabled:U.value,"employee-name":R.value,onBusy:e[14]||(e[14]=l=>ue("basic",l))},null,8,["modelValue","disabled","employee-name"])]),s(E,{class:"schedule-switch",label:"分时欢迎语"},{default:u(()=>[s(W,{modelValue:t.value.welcome_schedule_enabled,"onUpdate:modelValue":e[15]||(e[15]=l=>t.value.welcome_schedule_enabled=l),disabled:U.value||A.value},null,8,["modelValue","disabled"]),e[37]||(e[37]=d("span",{class:"switch-help"},"按客户添加时的北京时间匹配,时段不能重叠",-1))]),_:1}),t.value.welcome_schedule_enabled?(o(),i("div",gl,[(o(!0),i(y,null,V(t.value.welcome_schedule,(l,f)=>(o(),i("div",{key:f,class:"schedule-card welcome-schedule"},[d("div",kl,[d("strong",null,"欢迎语时段 "+_(f+1),1),s(k,{type:"danger",text:"",size:"small",disabled:U.value||A.value,onClick:n=>Ve(f)},{default:u(()=>[...e[38]||(e[38]=[r("删除时段",-1)])]),_:1},8,["disabled","onClick"])]),s(re,{modelValue:l.weekdays,"onUpdate:modelValue":n=>l.weekdays=n,class:"weekday-select",disabled:U.value},{default:u(()=>[(o(!0),i(y,null,V(T(pe),(n,Z)=>(o(),h(D,{key:n,value:Z+1},{default:u(()=>[r(_(n),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"]),d("div",yl,[s(K,{modelValue:l.start,"onUpdate:modelValue":n=>l.start=n,disabled:U.value,format:"HH:mm","value-format":"HH:mm",placeholder:"开始时间",clearable:!1},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[39]||(e[39]=d("span",null,"至",-1)),s(K,{modelValue:l.end,"onUpdate:modelValue":n=>l.end=n,disabled:U.value,format:"HH:mm","value-format":"HH:mm",placeholder:"结束时间",clearable:!1},null,8,["modelValue","onUpdate:modelValue","disabled"]),l.endObject.assign(l,n),onBusy:n=>ue(`slot-${f}`,n)},null,8,["model-value","disabled","employee-name","onUpdate:modelValue","onBusy"])]))),128)),s(k,{icon:T(ee),disabled:U.value||A.value||t.value.welcome_schedule.length>=30,onClick:we},{default:u(()=>[...e[40]||(e[40]=[r("添加欢迎语时段",-1)])]),_:1},8,["icon","disabled"]),e[41]||(e[41]=d("p",{class:"field-help"},"最多 30 个时段,支持跨午夜。时段外自动使用基础渠道欢迎语,不会随机选择内容。",-1))])):c("",!0)],64)):c("",!0)],2)])}}}),na=je(Vl,[["__scopeId","data-v-a7e42c87"]]);export{na as default}; diff --git a/server/public/admin/assets/RecordingPlaybackBlock-CTkcYK3L.js b/server/public/admin/assets/RecordingPlaybackBlock-Llmd2S_t.js similarity index 96% rename from server/public/admin/assets/RecordingPlaybackBlock-CTkcYK3L.js rename to server/public/admin/assets/RecordingPlaybackBlock-Llmd2S_t.js index 47b3b4526..3ac47c7b8 100644 --- a/server/public/admin/assets/RecordingPlaybackBlock-CTkcYK3L.js +++ b/server/public/admin/assets/RecordingPlaybackBlock-Llmd2S_t.js @@ -1 +1 @@ -import{T as L}from"./element-plus-DGP1XOrU.js";import B from"./RecordingVideoPlayer-VBMST9fm.js";import{e as H,_ as I}from"./index-fRv3NTFQ.js";import{f as w,ak as n,I as m,J as p,F as v,G as u,aN as _,O as k,H as y,ap as R,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{Q as q}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const C={key:0,class:"recording-list"},N={class:"recording-item"},P={key:1,class:"recording-alternates"},V={class:"recording-alternates__links"},A={key:1,class:"text-gray-400"},E=w({__name:"RecordingPlaybackBlock",props:{recordId:{},urls:{}},setup(c){const $=c,h=H(),l=d(()=>{const e=$.urls||[],t=new Set,r=[];for(const s of e){const o=String(s??"").trim();!o||t.has(o)||(t.add(o),r.push(o))}return r}),a=d(()=>{const e=l.value;if(!e.length)return null;const t=e.find(i=>/\.mp4(\?|#|$)/i.test(i));if(t)return t;const r=e.find(i=>/\.m3u8(\?|#|$)/i.test(i)&&/vod-qcloud\.com/i.test(i));if(r)return r;const s=e.find(i=>/\.m3u8(\?|#|$)/i.test(i)&&/\.cos\.[^/]+\.myqcloud\.com/i.test(i));if(s)return s;const o=e.find(i=>/\.m3u8(\?|#|$)/i.test(i));return o||e[0]}),f=d(()=>{const e=l.value,t=a.value;return t?e.filter(r=>r!==t):e.slice(1)});function S(e){if(!e||typeof e!="string")return!1;const t=e.trim();return/^https?:\/\//i.test(t)?/\.(mp4|webm|ogg|mov|mkv|m4v|m3u8)(\?|#|$)/i.test(t):/\.(mp4|webm|ogg|mov|mkv|m4v|m3u8)(\?|#|$)/i.test(t)||t.startsWith("/uploads/")}function g(e){return h.getImageUrl(String(e||"").trim())}function b(e,t){const r=e.trim();return/\.mp4(\?|#|$)/i.test(r)?`MP4 ${t+1}`:/vod-qcloud\.com/i.test(r)&&/\.m3u8/i.test(r)?`点播 ${t+1}`:/\.cos\.[^/]+\.myqcloud\.com/i.test(r)&&/\.m3u8/i.test(r)?`COS HLS ${t+1}`:/\.m3u8/i.test(r)?`HLS ${t+1}`:`链接 ${t+1}`}return(e,t)=>{const r=L;return l.value.length?(n(),m("div",C,[p("div",N,[a.value?(n(),m(v,{key:0},[S(a.value)?(n(),u(B,{key:`${c.recordId}-${a.value}`,src:a.value},null,8,["src"])):(n(),u(r,{key:1,href:g(a.value),target:"_blank",type:"primary"},{default:_(()=>[...t[0]||(t[0]=[k(" 打开回放 ",-1)])]),_:1},8,["href"]))],64)):y("",!0),f.value.length?(n(),m("div",P,[t[1]||(t[1]=p("span",{class:"recording-alternates__label"},"备用地址",-1)),p("div",V,[(n(!0),m(v,null,R(f.value,(s,o)=>(n(),u(r,{key:`${c.recordId}-alt-${o}-${s.slice(-32)}`,href:g(s),target:"_blank",type:"primary",class:"recording-alternates__link"},{default:_(()=>[k(q(b(s,o)),1)]),_:2},1032,["href"]))),128))])])):y("",!0)])])):(n(),m("span",A,"暂无"))}}}),ht=I(E,[["__scopeId","data-v-597ae096"]]);export{ht as default}; +import{T as L}from"./element-plus-DGP1XOrU.js";import B from"./RecordingVideoPlayer-D28GF4NK.js";import{e as H,_ as I}from"./index-J_eFER10.js";import{f as w,ak as n,I as m,J as p,F as v,G as u,aN as _,O as k,H as y,ap as R,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{Q as q}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const C={key:0,class:"recording-list"},N={class:"recording-item"},P={key:1,class:"recording-alternates"},V={class:"recording-alternates__links"},A={key:1,class:"text-gray-400"},E=w({__name:"RecordingPlaybackBlock",props:{recordId:{},urls:{}},setup(c){const $=c,h=H(),l=d(()=>{const e=$.urls||[],t=new Set,r=[];for(const s of e){const o=String(s??"").trim();!o||t.has(o)||(t.add(o),r.push(o))}return r}),a=d(()=>{const e=l.value;if(!e.length)return null;const t=e.find(i=>/\.mp4(\?|#|$)/i.test(i));if(t)return t;const r=e.find(i=>/\.m3u8(\?|#|$)/i.test(i)&&/vod-qcloud\.com/i.test(i));if(r)return r;const s=e.find(i=>/\.m3u8(\?|#|$)/i.test(i)&&/\.cos\.[^/]+\.myqcloud\.com/i.test(i));if(s)return s;const o=e.find(i=>/\.m3u8(\?|#|$)/i.test(i));return o||e[0]}),f=d(()=>{const e=l.value,t=a.value;return t?e.filter(r=>r!==t):e.slice(1)});function S(e){if(!e||typeof e!="string")return!1;const t=e.trim();return/^https?:\/\//i.test(t)?/\.(mp4|webm|ogg|mov|mkv|m4v|m3u8)(\?|#|$)/i.test(t):/\.(mp4|webm|ogg|mov|mkv|m4v|m3u8)(\?|#|$)/i.test(t)||t.startsWith("/uploads/")}function g(e){return h.getImageUrl(String(e||"").trim())}function b(e,t){const r=e.trim();return/\.mp4(\?|#|$)/i.test(r)?`MP4 ${t+1}`:/vod-qcloud\.com/i.test(r)&&/\.m3u8/i.test(r)?`点播 ${t+1}`:/\.cos\.[^/]+\.myqcloud\.com/i.test(r)&&/\.m3u8/i.test(r)?`COS HLS ${t+1}`:/\.m3u8/i.test(r)?`HLS ${t+1}`:`链接 ${t+1}`}return(e,t)=>{const r=L;return l.value.length?(n(),m("div",C,[p("div",N,[a.value?(n(),m(v,{key:0},[S(a.value)?(n(),u(B,{key:`${c.recordId}-${a.value}`,src:a.value},null,8,["src"])):(n(),u(r,{key:1,href:g(a.value),target:"_blank",type:"primary"},{default:_(()=>[...t[0]||(t[0]=[k(" 打开回放 ",-1)])]),_:1},8,["href"]))],64)):y("",!0),f.value.length?(n(),m("div",P,[t[1]||(t[1]=p("span",{class:"recording-alternates__label"},"备用地址",-1)),p("div",V,[(n(!0),m(v,null,R(f.value,(s,o)=>(n(),u(r,{key:`${c.recordId}-alt-${o}-${s.slice(-32)}`,href:g(s),target:"_blank",type:"primary",class:"recording-alternates__link"},{default:_(()=>[k(q(b(s,o)),1)]),_:2},1032,["href"]))),128))])])):y("",!0)])])):(n(),m("span",A,"暂无"))}}}),ht=I(E,[["__scopeId","data-v-597ae096"]]);export{ht as default}; diff --git a/server/public/admin/assets/RecordingVideoPlayer-VBMST9fm.js b/server/public/admin/assets/RecordingVideoPlayer-D28GF4NK.js similarity index 97% rename from server/public/admin/assets/RecordingVideoPlayer-VBMST9fm.js rename to server/public/admin/assets/RecordingVideoPlayer-D28GF4NK.js index c073deb24..d0a2c998e 100644 --- a/server/public/admin/assets/RecordingVideoPlayer-VBMST9fm.js +++ b/server/public/admin/assets/RecordingVideoPlayer-D28GF4NK.js @@ -1 +1 @@ -import{_ as F}from"./jspdf-BsthCvR5.js";import{d as H,T as K}from"./element-plus-DGP1XOrU.js";import{q as z,w as O,s as G}from"./@vue/runtime-dom-DDAG46FW.js";import{l as J}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as W,_ as $}from"./index-fRv3NTFQ.js";import{f as j,b as Q,n as I,w as X,d as Y,ak as p,I as m,J as f,aP as Z,F as w,a as h,aN as S,H as M,O as ee,A as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as te,n as v}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"recording-playback__shell"},oe=["preload"],ae=["onKeydown"],ne=j({__name:"RecordingVideoPlayer",props:{src:{}},setup(P){const A=P,B=W(),b=v(null),_=v(null),c=v(!1),i=v(!1),o=v(!1);let d=null,a=null,l=0,s=null;function u(){s!==null&&(clearTimeout(s),s=null)}const y=E(()=>{const e=String(A.src||"").trim();return e?N(B.getImageUrl(e)):""}),V=E(()=>{if(!i.value)return"none";const e=y.value;return e&&!L(e)?"metadata":"none"}),D=E(()=>!i.value||o.value);function N(e){if(!e||!/^https?:\/\//i.test(e))return e;try{const t=new URL(e),r=t.hostname.toLowerCase();if(r.includes("myqcloud.com")||r.includes("vod-qcloud.com")||r.includes("vod-qcloud"))return t.pathname.includes("+")&&(t.pathname=t.pathname.replace(/\+/g,"%2B")),t.href}catch{}return e}function L(e){return/\.m3u8(\?|#|$)/i.test(e)}function U(){var r;o.value=!1,u();const e=_.value,t=(r=e==null?void 0:e.error)==null?void 0:r.code;t===MediaError.MEDIA_ERR_ABORTED||t===1||(c.value=!0)}function k(){d&&(d.destroy(),d=null);const e=_.value;e&&(e.pause(),e.removeAttribute("src"),e.load())}function R(e,t){let r=!1;const n=()=>{r||t!==l||(r=!0,u(),o.value=!1)};e.addEventListener("loadedmetadata",()=>n(),{once:!0}),e.addEventListener("loadeddata",()=>n(),{once:!0}),e.addEventListener("canplay",()=>n(),{once:!0}),e.addEventListener("playing",()=>n(),{once:!0}),e.addEventListener("progress",()=>{try{e.buffered.length>0&&e.buffered.end(0)>0&&n("progress-buffered")}catch{}},{passive:!0})}async function g(){if(!i.value)return;await I();const e=_.value,t=y.value;if(!e)return;if(!t){o.value=!1,u();return}const r=++l;if(o.value=!0,u(),k(),c.value=!1,L(t)){try{const n=await F(()=>import("./hls.js-Cxumxs-1.js"),[]),x=n.default;if(x.isSupported()){d=new x({enableWorker:!0,lowLatencyMode:!1,maxBufferLength:20,maxMaxBufferLength:120}),d.on(n.Events.MANIFEST_PARSED,()=>{r===l&&(o.value=!1,u())}),d.on(n.Events.ERROR,(le,q)=>{if(q.fatal){if(r!==l)return;o.value=!1,u(),c.value=!0,k()}}),d.loadSource(t),d.attachMedia(e),s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},45e3);return}if(e.canPlayType("application/vnd.apple.mpegurl")){R(e,r),e.src=t,s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},45e3);return}}catch{if(r!==l)return;o.value=!1,u(),c.value=!0;return}if(r!==l)return;o.value=!1,u(),c.value=!0;return}R(e,r),e.src=t,s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},25e3)}function C(){const e=b.value;if(!e||typeof IntersectionObserver>"u"){i.value=!0,g();return}a=new IntersectionObserver(t=>{for(const r of t)if(r.isIntersecting){a==null||a.disconnect(),a=null,i.value=!0,g();break}},{root:null,rootMargin:"240px 0px",threshold:0}),a.observe(e)}function T(){a==null||a.disconnect(),a=null,i.value||(i.value=!0),g()}return Q(()=>{I(()=>{C()})}),X(y,()=>{i.value&&g()}),Y(()=>{a==null||a.disconnect(),a=null,u(),l++,k()}),(e,t)=>{const r=H,n=K;return p(),m("div",{ref_key:"wrapRef",ref:b,class:"recording-playback"},[f("div",re,[Z(f("video",{ref_key:"videoRef",ref:_,class:"recording-video",controls:"",playsinline:"","webkit-playsinline":"",preload:V.value,onError:U},null,40,oe),[[z,!c.value]]),!c.value&&D.value?(p(),m("div",{key:0,class:"recording-playback__overlay",role:"button",tabindex:"0",onClick:T,onKeydown:O(G(T,["prevent"]),["enter"])},[i.value?(p(),m(w,{key:1},[h(r,{class:"recording-playback__spin"},{default:S(()=>[h(te(J))]),_:1}),t[2]||(t[2]=f("span",null,"正在加载…",-1))],64)):(p(),m(w,{key:0},[t[0]||(t[0]=f("span",{class:"recording-playback__overlay-title"},"预览待加载",-1)),t[1]||(t[1]=f("span",{class:"recording-playback__overlay-desc"},"滚动至此处将自动加载(减轻并发卡顿),也可点击立即加载",-1))],64))],40,ae)):M("",!0)]),c.value?(p(),m(w,{key:0},[h(n,{href:y.value||"#",target:"_blank",type:"primary"},{default:S(()=>[...t[3]||(t[3]=[ee("在新窗口打开",-1)])]),_:1},8,["href"]),t[4]||(t[4]=f("div",{class:"recording-playback__hint"}," 内嵌播放失败(编码不支持、跨域或私有存储等)时可尝试在新窗口打开。 ",-1))],64)):M("",!0)],512)}}}),Oe=$(ne,[["__scopeId","data-v-2b85f631"]]);export{Oe as default}; +import{_ as F}from"./jspdf-BsthCvR5.js";import{d as H,T as K}from"./element-plus-DGP1XOrU.js";import{q as z,w as O,s as G}from"./@vue/runtime-dom-DDAG46FW.js";import{l as J}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as W,_ as $}from"./index-J_eFER10.js";import{f as j,b as Q,n as I,w as X,d as Y,ak as p,I as m,J as f,aP as Z,F as w,a as h,aN as S,H as M,O as ee,A as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as te,n as v}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"recording-playback__shell"},oe=["preload"],ae=["onKeydown"],ne=j({__name:"RecordingVideoPlayer",props:{src:{}},setup(P){const A=P,B=W(),b=v(null),_=v(null),c=v(!1),i=v(!1),o=v(!1);let d=null,a=null,l=0,s=null;function u(){s!==null&&(clearTimeout(s),s=null)}const y=E(()=>{const e=String(A.src||"").trim();return e?N(B.getImageUrl(e)):""}),V=E(()=>{if(!i.value)return"none";const e=y.value;return e&&!L(e)?"metadata":"none"}),D=E(()=>!i.value||o.value);function N(e){if(!e||!/^https?:\/\//i.test(e))return e;try{const t=new URL(e),r=t.hostname.toLowerCase();if(r.includes("myqcloud.com")||r.includes("vod-qcloud.com")||r.includes("vod-qcloud"))return t.pathname.includes("+")&&(t.pathname=t.pathname.replace(/\+/g,"%2B")),t.href}catch{}return e}function L(e){return/\.m3u8(\?|#|$)/i.test(e)}function U(){var r;o.value=!1,u();const e=_.value,t=(r=e==null?void 0:e.error)==null?void 0:r.code;t===MediaError.MEDIA_ERR_ABORTED||t===1||(c.value=!0)}function k(){d&&(d.destroy(),d=null);const e=_.value;e&&(e.pause(),e.removeAttribute("src"),e.load())}function R(e,t){let r=!1;const n=()=>{r||t!==l||(r=!0,u(),o.value=!1)};e.addEventListener("loadedmetadata",()=>n(),{once:!0}),e.addEventListener("loadeddata",()=>n(),{once:!0}),e.addEventListener("canplay",()=>n(),{once:!0}),e.addEventListener("playing",()=>n(),{once:!0}),e.addEventListener("progress",()=>{try{e.buffered.length>0&&e.buffered.end(0)>0&&n("progress-buffered")}catch{}},{passive:!0})}async function g(){if(!i.value)return;await I();const e=_.value,t=y.value;if(!e)return;if(!t){o.value=!1,u();return}const r=++l;if(o.value=!0,u(),k(),c.value=!1,L(t)){try{const n=await F(()=>import("./hls.js-Cxumxs-1.js"),[]),x=n.default;if(x.isSupported()){d=new x({enableWorker:!0,lowLatencyMode:!1,maxBufferLength:20,maxMaxBufferLength:120}),d.on(n.Events.MANIFEST_PARSED,()=>{r===l&&(o.value=!1,u())}),d.on(n.Events.ERROR,(le,q)=>{if(q.fatal){if(r!==l)return;o.value=!1,u(),c.value=!0,k()}}),d.loadSource(t),d.attachMedia(e),s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},45e3);return}if(e.canPlayType("application/vnd.apple.mpegurl")){R(e,r),e.src=t,s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},45e3);return}}catch{if(r!==l)return;o.value=!1,u(),c.value=!0;return}if(r!==l)return;o.value=!1,u(),c.value=!0;return}R(e,r),e.src=t,s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},25e3)}function C(){const e=b.value;if(!e||typeof IntersectionObserver>"u"){i.value=!0,g();return}a=new IntersectionObserver(t=>{for(const r of t)if(r.isIntersecting){a==null||a.disconnect(),a=null,i.value=!0,g();break}},{root:null,rootMargin:"240px 0px",threshold:0}),a.observe(e)}function T(){a==null||a.disconnect(),a=null,i.value||(i.value=!0),g()}return Q(()=>{I(()=>{C()})}),X(y,()=>{i.value&&g()}),Y(()=>{a==null||a.disconnect(),a=null,u(),l++,k()}),(e,t)=>{const r=H,n=K;return p(),m("div",{ref_key:"wrapRef",ref:b,class:"recording-playback"},[f("div",re,[Z(f("video",{ref_key:"videoRef",ref:_,class:"recording-video",controls:"",playsinline:"","webkit-playsinline":"",preload:V.value,onError:U},null,40,oe),[[z,!c.value]]),!c.value&&D.value?(p(),m("div",{key:0,class:"recording-playback__overlay",role:"button",tabindex:"0",onClick:T,onKeydown:O(G(T,["prevent"]),["enter"])},[i.value?(p(),m(w,{key:1},[h(r,{class:"recording-playback__spin"},{default:S(()=>[h(te(J))]),_:1}),t[2]||(t[2]=f("span",null,"正在加载…",-1))],64)):(p(),m(w,{key:0},[t[0]||(t[0]=f("span",{class:"recording-playback__overlay-title"},"预览待加载",-1)),t[1]||(t[1]=f("span",{class:"recording-playback__overlay-desc"},"滚动至此处将自动加载(减轻并发卡顿),也可点击立即加载",-1))],64))],40,ae)):M("",!0)]),c.value?(p(),m(w,{key:0},[h(n,{href:y.value||"#",target:"_blank",type:"primary"},{default:S(()=>[...t[3]||(t[3]=[ee("在新窗口打开",-1)])]),_:1},8,["href"]),t[4]||(t[4]=f("div",{class:"recording-playback__hint"}," 内嵌播放失败(编码不支持、跨域或私有存储等)时可尝试在新窗口打开。 ",-1))],64)):M("",!0)],512)}}}),Oe=$(ne,[["__scopeId","data-v-2b85f631"]]);export{Oe as default}; diff --git a/server/public/admin/assets/SendPanel-Bk_zumN5.js b/server/public/admin/assets/SendPanel-Pp0Dm3Lr.js similarity index 98% rename from server/public/admin/assets/SendPanel-Bk_zumN5.js rename to server/public/admin/assets/SendPanel-Pp0Dm3Lr.js index c79d1c08e..1571777ed 100644 --- a/server/public/admin/assets/SendPanel-Bk_zumN5.js +++ b/server/public/admin/assets/SendPanel-Pp0Dm3Lr.js @@ -1 +1 @@ -import{v as te,d as ae,i as ie,C as ne,r as se,W as oe,D as ue,B as re}from"./element-plus-DGP1XOrU.js";import{w as de,s as me}from"./@vue/runtime-dom-DDAG46FW.js";import{G as j,S as N,T as K,c as pe,P as fe,Q as ce}from"./@element-plus/icons-vue-CbYn5zW9.js";import{r as y,k as _,_ as ve}from"./index-fRv3NTFQ.js";import{u as G}from"./file-FhuQj5ML.js";import{f as ge,ak as v,I as w,F as I,ap as _e,G as T,a as l,aN as t,J as x,H as $,O as q,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{o as ke,Q as R}from"./@vue/shared-mAAVTE9n.js";import{y as V,n as b}from"./@vue/reactivity-DiY1c2vO.js";function Oe(r){return y.get({url:"/qywx.message/session_list",params:r})}function Pe(r){return y.get({url:"/qywx.message/archive_list",params:r})}function je(r){return y.post({url:"/qywx.message/mark_read",params:{session_id:r}})}function Ne(r){return y.post({url:"/qywx.message/send",params:r})}function Ke(r){return y.get({url:"/qywx.message/send_task_list",params:r})}function Ge(r,h=""){return y.get({url:"/qywx.message/send_task_detail",params:{task_id:r,cursor:h}})}function Qe(r=""){return y.get({url:"/qywx.message/staff_list",params:{keyword:r}})}function He(){return y.get({url:"/qywx.message/archive_status"})}function Je(r=5,h=!1){return y.post({url:"/qywx.message/pull_archive",params:{max_batches:r,download:h}})}async function Q(r,h){const S=new FormData;return S.append("file",r),S.append("type",h),y.post({url:"/qywx.message/upload_to_qywx",data:S,headers:{"Content-Type":"multipart/form-data"}})}const we={class:"send-panel"},xe={key:0,class:"attachment-list"},Ve=["src"],be={class:"attachment-filename"},he={class:"attachment-filename"},Ce={class:"attachment-filename"},qe={class:"send-toolbar"},Se={class:"toolbar-left"},Me={class:"toolbar-right"},Ue={class:"link-picurl-row"},Ee={key:0,class:"mini-preview"},Le=ge({__name:"SendPanel",props:{canSendMessage:{type:Boolean}},emits:["send"],setup(r,{emit:h}){const S=r,H=h,M=b(""),d=b([]),L=b(!1),f=b(null),z=b("image"),U=b(!1),c=b({title:"",url:"",picurl:"",desc:""}),E=b(!1),m=b({title:"",appid:"",page:"",pic_media_id:"",preview:""}),B=ye(()=>{if(!S.canSendMessage||L.value)return!1;const o=M.value.trim().length>0,e=d.value.some(s=>!s.uploading);return o||e});function F(o){if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}z.value=o;const e=o==="image"?"image/*":o==="video"?"video/*":"*/*";f.value&&(f.value.accept=e,f.value.value="",f.value.click())}function J(){z.value="link-cover",f.value&&(f.value.accept="image/*",f.value.value="",f.value.click())}function X(){z.value="mini-cover",f.value&&(f.value.accept="image/*",f.value.value="",f.value.click())}async function Y(o){var g;const s=(g=o.target.files)==null?void 0:g[0];if(!s)return;const i=z.value;if(i==="link-cover"){try{const u=await G(s,s.name);c.value.picurl=u.uri||u.url,_.msgSuccess("封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}if(i==="mini-cover"){try{const u=await Q(s,"image");m.value.pic_media_id=u.media_id;const k=await G(s,s.name);m.value.preview=k.uri||k.url,_.msgSuccess("小程序封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}const n=i==="file"?"":URL.createObjectURL(s),p={msgtype:i,uploading:!0,preview:n,file_name:s.name};d.value.push(p);const C=d.value.length-1;try{const k=(await Q(s,i)).media_id;i==="image"?p.image={media_id:k}:i==="video"?p.video={media_id:k}:p.file={media_id:k},p.uploading=!1}catch(u){_.msgError((u==null?void 0:u.message)||"上传失败"),d.value.splice(C,1)}}function Z(o){const e=d.value[o];e!=null&&e.preview&&e.preview.startsWith("blob:")&&URL.revokeObjectURL(e.preview),d.value.splice(o,1)}function ee(){const{title:o,url:e,picurl:s,desc:i}=c.value;if(!o.trim()||!e.trim()||!s.trim()){_.msgWarning("请完整填写标题、链接地址与封面图");return}if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}d.value.push({msgtype:"link",link:{title:o,url:e,picurl:s,desc:i}}),U.value=!1,c.value={title:"",url:"",picurl:"",desc:""}}function le(){const{title:o,appid:e,page:s,pic_media_id:i}=m.value;if(!o.trim()||!e.trim()||!s.trim()||!i){_.msgWarning("请完整填写小程序信息");return}if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}d.value.push({msgtype:"miniprogram",miniprogram:{title:o,appid:e,page:s,pic_media_id:i}}),E.value=!1,m.value={title:"",appid:"",page:"",pic_media_id:"",preview:""}}async function W(){if(!B.value)return;const o=d.value.filter(i=>!i.uploading).map(i=>{const n={msgtype:i.msgtype};return i.image&&(n.image=i.image),i.video&&(n.video=i.video),i.file&&(n.file=i.file),i.link&&(n.link=i.link),i.miniprogram&&(n.miniprogram=i.miniprogram),n}),e={},s=M.value.trim();s&&(e.text={content:s}),o.length&&(e.attachments=o),L.value=!0;try{await H("send",e),M.value="",d.value.forEach(i=>{var n;(n=i.preview)!=null&&n.startsWith("blob:")&&URL.revokeObjectURL(i.preview)}),d.value=[]}finally{L.value=!1}}return(o,e)=>{const s=te,i=ae,n=ie,p=ne,C=se,g=re,u=ue,k=oe;return v(),w("div",we,[d.value.length?(v(),w("div",xe,[(v(!0),w(I,null,_e(d.value,(a,A)=>{var D,O,P;return v(),w("div",{key:A,class:ke(["attachment-item","attachment-"+a.msgtype])},[a.msgtype==="image"?(v(),T(s,{key:0,src:a.preview||"",fit:"cover",class:"attachment-preview"},null,8,["src"])):a.msgtype==="video"?(v(),w("video",{key:1,src:a.preview||"",class:"attachment-preview",muted:""},null,8,Ve)):a.msgtype==="file"?(v(),w(I,{key:2},[l(i,{size:20},{default:t(()=>[l(V(j))]),_:1}),x("span",be,R(a.file_name),1)],64)):a.msgtype==="link"?(v(),w(I,{key:3},[l(i,{size:20},{default:t(()=>[l(V(N))]),_:1}),x("span",he,R(((D=a.link)==null?void 0:D.title)||((O=a.link)==null?void 0:O.url)),1)],64)):a.msgtype==="miniprogram"?(v(),w(I,{key:4},[l(i,{size:20},{default:t(()=>[l(V(K))]),_:1}),x("span",Ce,R((P=a.miniprogram)==null?void 0:P.title),1)],64)):$("",!0),a.uploading?(v(),T(n,{key:5,type:"primary",link:"",loading:"",size:"small"})):(v(),T(n,{key:6,class:"attachment-remove",type:"danger",link:"",onClick:Ie=>Z(A)},{default:t(()=>[l(i,null,{default:t(()=>[l(V(pe))]),_:1})]),_:1},8,["onClick"]))],2)}),128))])):$("",!0),l(p,{modelValue:M.value,"onUpdate:modelValue":e[0]||(e[0]=a=>M.value=a),type:"textarea",rows:3,placeholder:"在此输入消息,Ctrl+Enter 发送。该消息以代发员工身份发给客户,员工手机端确认后送达。",resize:"none",onKeydown:de(me(W,["ctrl"]),["enter"])},null,8,["modelValue","onKeydown"]),x("div",qe,[x("div",Se,[l(C,{content:"图片",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[1]||(e[1]=a=>F("image"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(fe))]),_:1})]),_:1})]),_:1}),l(C,{content:"视频",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[2]||(e[2]=a=>F("video"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(ce))]),_:1})]),_:1})]),_:1}),l(C,{content:"文件",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[3]||(e[3]=a=>F("file"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(j))]),_:1})]),_:1})]),_:1}),l(C,{content:"链接",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[4]||(e[4]=a=>U.value=!0)},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(N))]),_:1})]),_:1})]),_:1}),l(C,{content:"小程序",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[5]||(e[5]=a=>E.value=!0)},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(K))]),_:1})]),_:1})]),_:1})]),x("div",Me,[e[18]||(e[18]=x("span",{class:"send-hint"}," 员工手机端确认后送达客户 · Ctrl+Enter 快速发送 ",-1)),l(n,{type:"primary",disabled:!B.value,loading:L.value,onClick:W},{default:t(()=>[...e[17]||(e[17]=[q(" 发送 ",-1)])]),_:1},8,["disabled","loading"])])]),x("input",{ref_key:"fileInputRef",ref:f,type:"file",hidden:"",onChange:Y},null,544),l(k,{modelValue:U.value,"onUpdate:modelValue":e[11]||(e[11]=a=>U.value=a),title:"添加链接",width:"480px"},{footer:t(()=>[l(n,{onClick:e[10]||(e[10]=a=>U.value=!1)},{default:t(()=>[...e[20]||(e[20]=[q("取消",-1)])]),_:1}),l(n,{type:"primary",onClick:ee},{default:t(()=>[...e[21]||(e[21]=[q("确定",-1)])]),_:1})]),default:t(()=>[l(u,{"label-width":"80px",model:c.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:c.value.title,"onUpdate:modelValue":e[6]||(e[6]=a=>c.value.title=a),maxlength:"128"},null,8,["modelValue"])]),_:1}),l(g,{label:"链接地址"},{default:t(()=>[l(p,{modelValue:c.value.url,"onUpdate:modelValue":e[7]||(e[7]=a=>c.value.url=a),placeholder:"https://..."},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[x("div",Ue,[l(p,{modelValue:c.value.picurl,"onUpdate:modelValue":e[8]||(e[8]=a=>c.value.picurl=a),placeholder:"https://..."},null,8,["modelValue"]),l(n,{onClick:J},{default:t(()=>[...e[19]||(e[19]=[q("本地上传",-1)])]),_:1})])]),_:1}),l(g,{label:"描述"},{default:t(()=>[l(p,{modelValue:c.value.desc,"onUpdate:modelValue":e[9]||(e[9]=a=>c.value.desc=a),type:"textarea",rows:2,maxlength:"512"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(k,{modelValue:E.value,"onUpdate:modelValue":e[16]||(e[16]=a=>E.value=a),title:"添加小程序",width:"480px"},{footer:t(()=>[l(n,{onClick:e[15]||(e[15]=a=>E.value=!1)},{default:t(()=>[...e[22]||(e[22]=[q("取消",-1)])]),_:1}),l(n,{type:"primary",disabled:!m.value.pic_media_id||!m.value.appid,onClick:le},{default:t(()=>[...e[23]||(e[23]=[q(" 确定 ",-1)])]),_:1},8,["disabled"])]),default:t(()=>[l(u,{"label-width":"100px",model:m.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:m.value.title,"onUpdate:modelValue":e[12]||(e[12]=a=>m.value.title=a)},null,8,["modelValue"])]),_:1}),l(g,{label:"appid"},{default:t(()=>[l(p,{modelValue:m.value.appid,"onUpdate:modelValue":e[13]||(e[13]=a=>m.value.appid=a),placeholder:"wx..."},null,8,["modelValue"])]),_:1}),l(g,{label:"页面路径"},{default:t(()=>[l(p,{modelValue:m.value.page,"onUpdate:modelValue":e[14]||(e[14]=a=>m.value.page=a),placeholder:"/pages/index/index"},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[l(n,{onClick:X},{default:t(()=>[q(R(m.value.pic_media_id?"已选择 · 重新选择":"上传封面(必填)"),1)]),_:1}),m.value.preview?(v(),w("div",Ee,[l(s,{src:m.value.preview,fit:"cover"},null,8,["src"])])):$("",!0)]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ze=ve(Le,[["__scopeId","data-v-5fcb6856"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:ze},Symbol.toStringTag,{value:"Module"}));export{ze as S,He as a,Je as b,Qe as c,je as d,Pe as e,Ne as f,Ke as g,Ge as h,Xe as i,Oe as q}; +import{v as te,d as ae,i as ie,C as ne,r as se,W as oe,D as ue,B as re}from"./element-plus-DGP1XOrU.js";import{w as de,s as me}from"./@vue/runtime-dom-DDAG46FW.js";import{G as j,S as N,T as K,c as pe,P as fe,Q as ce}from"./@element-plus/icons-vue-CbYn5zW9.js";import{r as y,k as _,_ as ve}from"./index-J_eFER10.js";import{u as G}from"./file-D7g_w1vo.js";import{f as ge,ak as v,I as w,F as I,ap as _e,G as T,a as l,aN as t,J as x,H as $,O as q,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{o as ke,Q as R}from"./@vue/shared-mAAVTE9n.js";import{y as V,n as b}from"./@vue/reactivity-DiY1c2vO.js";function Oe(r){return y.get({url:"/qywx.message/session_list",params:r})}function Pe(r){return y.get({url:"/qywx.message/archive_list",params:r})}function je(r){return y.post({url:"/qywx.message/mark_read",params:{session_id:r}})}function Ne(r){return y.post({url:"/qywx.message/send",params:r})}function Ke(r){return y.get({url:"/qywx.message/send_task_list",params:r})}function Ge(r,h=""){return y.get({url:"/qywx.message/send_task_detail",params:{task_id:r,cursor:h}})}function Qe(r=""){return y.get({url:"/qywx.message/staff_list",params:{keyword:r}})}function He(){return y.get({url:"/qywx.message/archive_status"})}function Je(r=5,h=!1){return y.post({url:"/qywx.message/pull_archive",params:{max_batches:r,download:h}})}async function Q(r,h){const S=new FormData;return S.append("file",r),S.append("type",h),y.post({url:"/qywx.message/upload_to_qywx",data:S,headers:{"Content-Type":"multipart/form-data"}})}const we={class:"send-panel"},xe={key:0,class:"attachment-list"},Ve=["src"],be={class:"attachment-filename"},he={class:"attachment-filename"},Ce={class:"attachment-filename"},qe={class:"send-toolbar"},Se={class:"toolbar-left"},Me={class:"toolbar-right"},Ue={class:"link-picurl-row"},Ee={key:0,class:"mini-preview"},Le=ge({__name:"SendPanel",props:{canSendMessage:{type:Boolean}},emits:["send"],setup(r,{emit:h}){const S=r,H=h,M=b(""),d=b([]),L=b(!1),f=b(null),z=b("image"),U=b(!1),c=b({title:"",url:"",picurl:"",desc:""}),E=b(!1),m=b({title:"",appid:"",page:"",pic_media_id:"",preview:""}),B=ye(()=>{if(!S.canSendMessage||L.value)return!1;const o=M.value.trim().length>0,e=d.value.some(s=>!s.uploading);return o||e});function F(o){if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}z.value=o;const e=o==="image"?"image/*":o==="video"?"video/*":"*/*";f.value&&(f.value.accept=e,f.value.value="",f.value.click())}function J(){z.value="link-cover",f.value&&(f.value.accept="image/*",f.value.value="",f.value.click())}function X(){z.value="mini-cover",f.value&&(f.value.accept="image/*",f.value.value="",f.value.click())}async function Y(o){var g;const s=(g=o.target.files)==null?void 0:g[0];if(!s)return;const i=z.value;if(i==="link-cover"){try{const u=await G(s,s.name);c.value.picurl=u.uri||u.url,_.msgSuccess("封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}if(i==="mini-cover"){try{const u=await Q(s,"image");m.value.pic_media_id=u.media_id;const k=await G(s,s.name);m.value.preview=k.uri||k.url,_.msgSuccess("小程序封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}const n=i==="file"?"":URL.createObjectURL(s),p={msgtype:i,uploading:!0,preview:n,file_name:s.name};d.value.push(p);const C=d.value.length-1;try{const k=(await Q(s,i)).media_id;i==="image"?p.image={media_id:k}:i==="video"?p.video={media_id:k}:p.file={media_id:k},p.uploading=!1}catch(u){_.msgError((u==null?void 0:u.message)||"上传失败"),d.value.splice(C,1)}}function Z(o){const e=d.value[o];e!=null&&e.preview&&e.preview.startsWith("blob:")&&URL.revokeObjectURL(e.preview),d.value.splice(o,1)}function ee(){const{title:o,url:e,picurl:s,desc:i}=c.value;if(!o.trim()||!e.trim()||!s.trim()){_.msgWarning("请完整填写标题、链接地址与封面图");return}if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}d.value.push({msgtype:"link",link:{title:o,url:e,picurl:s,desc:i}}),U.value=!1,c.value={title:"",url:"",picurl:"",desc:""}}function le(){const{title:o,appid:e,page:s,pic_media_id:i}=m.value;if(!o.trim()||!e.trim()||!s.trim()||!i){_.msgWarning("请完整填写小程序信息");return}if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}d.value.push({msgtype:"miniprogram",miniprogram:{title:o,appid:e,page:s,pic_media_id:i}}),E.value=!1,m.value={title:"",appid:"",page:"",pic_media_id:"",preview:""}}async function W(){if(!B.value)return;const o=d.value.filter(i=>!i.uploading).map(i=>{const n={msgtype:i.msgtype};return i.image&&(n.image=i.image),i.video&&(n.video=i.video),i.file&&(n.file=i.file),i.link&&(n.link=i.link),i.miniprogram&&(n.miniprogram=i.miniprogram),n}),e={},s=M.value.trim();s&&(e.text={content:s}),o.length&&(e.attachments=o),L.value=!0;try{await H("send",e),M.value="",d.value.forEach(i=>{var n;(n=i.preview)!=null&&n.startsWith("blob:")&&URL.revokeObjectURL(i.preview)}),d.value=[]}finally{L.value=!1}}return(o,e)=>{const s=te,i=ae,n=ie,p=ne,C=se,g=re,u=ue,k=oe;return v(),w("div",we,[d.value.length?(v(),w("div",xe,[(v(!0),w(I,null,_e(d.value,(a,A)=>{var D,O,P;return v(),w("div",{key:A,class:ke(["attachment-item","attachment-"+a.msgtype])},[a.msgtype==="image"?(v(),T(s,{key:0,src:a.preview||"",fit:"cover",class:"attachment-preview"},null,8,["src"])):a.msgtype==="video"?(v(),w("video",{key:1,src:a.preview||"",class:"attachment-preview",muted:""},null,8,Ve)):a.msgtype==="file"?(v(),w(I,{key:2},[l(i,{size:20},{default:t(()=>[l(V(j))]),_:1}),x("span",be,R(a.file_name),1)],64)):a.msgtype==="link"?(v(),w(I,{key:3},[l(i,{size:20},{default:t(()=>[l(V(N))]),_:1}),x("span",he,R(((D=a.link)==null?void 0:D.title)||((O=a.link)==null?void 0:O.url)),1)],64)):a.msgtype==="miniprogram"?(v(),w(I,{key:4},[l(i,{size:20},{default:t(()=>[l(V(K))]),_:1}),x("span",Ce,R((P=a.miniprogram)==null?void 0:P.title),1)],64)):$("",!0),a.uploading?(v(),T(n,{key:5,type:"primary",link:"",loading:"",size:"small"})):(v(),T(n,{key:6,class:"attachment-remove",type:"danger",link:"",onClick:Ie=>Z(A)},{default:t(()=>[l(i,null,{default:t(()=>[l(V(pe))]),_:1})]),_:1},8,["onClick"]))],2)}),128))])):$("",!0),l(p,{modelValue:M.value,"onUpdate:modelValue":e[0]||(e[0]=a=>M.value=a),type:"textarea",rows:3,placeholder:"在此输入消息,Ctrl+Enter 发送。该消息以代发员工身份发给客户,员工手机端确认后送达。",resize:"none",onKeydown:de(me(W,["ctrl"]),["enter"])},null,8,["modelValue","onKeydown"]),x("div",qe,[x("div",Se,[l(C,{content:"图片",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[1]||(e[1]=a=>F("image"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(fe))]),_:1})]),_:1})]),_:1}),l(C,{content:"视频",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[2]||(e[2]=a=>F("video"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(ce))]),_:1})]),_:1})]),_:1}),l(C,{content:"文件",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[3]||(e[3]=a=>F("file"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(j))]),_:1})]),_:1})]),_:1}),l(C,{content:"链接",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[4]||(e[4]=a=>U.value=!0)},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(N))]),_:1})]),_:1})]),_:1}),l(C,{content:"小程序",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[5]||(e[5]=a=>E.value=!0)},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(K))]),_:1})]),_:1})]),_:1})]),x("div",Me,[e[18]||(e[18]=x("span",{class:"send-hint"}," 员工手机端确认后送达客户 · Ctrl+Enter 快速发送 ",-1)),l(n,{type:"primary",disabled:!B.value,loading:L.value,onClick:W},{default:t(()=>[...e[17]||(e[17]=[q(" 发送 ",-1)])]),_:1},8,["disabled","loading"])])]),x("input",{ref_key:"fileInputRef",ref:f,type:"file",hidden:"",onChange:Y},null,544),l(k,{modelValue:U.value,"onUpdate:modelValue":e[11]||(e[11]=a=>U.value=a),title:"添加链接",width:"480px"},{footer:t(()=>[l(n,{onClick:e[10]||(e[10]=a=>U.value=!1)},{default:t(()=>[...e[20]||(e[20]=[q("取消",-1)])]),_:1}),l(n,{type:"primary",onClick:ee},{default:t(()=>[...e[21]||(e[21]=[q("确定",-1)])]),_:1})]),default:t(()=>[l(u,{"label-width":"80px",model:c.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:c.value.title,"onUpdate:modelValue":e[6]||(e[6]=a=>c.value.title=a),maxlength:"128"},null,8,["modelValue"])]),_:1}),l(g,{label:"链接地址"},{default:t(()=>[l(p,{modelValue:c.value.url,"onUpdate:modelValue":e[7]||(e[7]=a=>c.value.url=a),placeholder:"https://..."},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[x("div",Ue,[l(p,{modelValue:c.value.picurl,"onUpdate:modelValue":e[8]||(e[8]=a=>c.value.picurl=a),placeholder:"https://..."},null,8,["modelValue"]),l(n,{onClick:J},{default:t(()=>[...e[19]||(e[19]=[q("本地上传",-1)])]),_:1})])]),_:1}),l(g,{label:"描述"},{default:t(()=>[l(p,{modelValue:c.value.desc,"onUpdate:modelValue":e[9]||(e[9]=a=>c.value.desc=a),type:"textarea",rows:2,maxlength:"512"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(k,{modelValue:E.value,"onUpdate:modelValue":e[16]||(e[16]=a=>E.value=a),title:"添加小程序",width:"480px"},{footer:t(()=>[l(n,{onClick:e[15]||(e[15]=a=>E.value=!1)},{default:t(()=>[...e[22]||(e[22]=[q("取消",-1)])]),_:1}),l(n,{type:"primary",disabled:!m.value.pic_media_id||!m.value.appid,onClick:le},{default:t(()=>[...e[23]||(e[23]=[q(" 确定 ",-1)])]),_:1},8,["disabled"])]),default:t(()=>[l(u,{"label-width":"100px",model:m.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:m.value.title,"onUpdate:modelValue":e[12]||(e[12]=a=>m.value.title=a)},null,8,["modelValue"])]),_:1}),l(g,{label:"appid"},{default:t(()=>[l(p,{modelValue:m.value.appid,"onUpdate:modelValue":e[13]||(e[13]=a=>m.value.appid=a),placeholder:"wx..."},null,8,["modelValue"])]),_:1}),l(g,{label:"页面路径"},{default:t(()=>[l(p,{modelValue:m.value.page,"onUpdate:modelValue":e[14]||(e[14]=a=>m.value.page=a),placeholder:"/pages/index/index"},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[l(n,{onClick:X},{default:t(()=>[q(R(m.value.pic_media_id?"已选择 · 重新选择":"上传封面(必填)"),1)]),_:1}),m.value.preview?(v(),w("div",Ee,[l(s,{src:m.value.preview,fit:"cover"},null,8,["src"])])):$("",!0)]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ze=ve(Le,[["__scopeId","data-v-5fcb6856"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:ze},Symbol.toStringTag,{value:"Module"}));export{ze as S,He as a,Je as b,Qe as c,je as d,Pe as e,Ne as f,Ke as g,Ge as h,Xe as i,Oe as q}; diff --git a/server/public/admin/assets/TrackingMatrix-DM20myFS.js b/server/public/admin/assets/TrackingMatrix-BfgpwCge.js similarity index 98% rename from server/public/admin/assets/TrackingMatrix-DM20myFS.js rename to server/public/admin/assets/TrackingMatrix-BfgpwCge.js index 22ebeef98..e06b54ea1 100644 --- a/server/public/admin/assets/TrackingMatrix-DM20myFS.js +++ b/server/public/admin/assets/TrackingMatrix-BfgpwCge.js @@ -1 +1 @@ -import{M as G,F as O,G as U,S as J,X as Q,O as W,r as X,N as Z}from"./element-plus-DGP1XOrU.js";import{f as j,c as K,d as ee,e as te,b as se}from"./blood-thresholds-CJ1fqMjh.js";import{Z as ae}from"./tcm-CEIBuAeK.js";import{f as ne,w as oe,b as ie,aP as le,ak as n,I as i,J as r,a as p,aN as d,O as g,G as M,H as f,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{o as V,Q as c}from"./@vue/shared-mAAVTE9n.js";import{n as y}from"./@vue/reactivity-DiY1c2vO.js";import{_ as re}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const de={class:"tracking-matrix"},ce={class:"toolbar"},ue={key:0,class:"cell-blood"},pe={class:"value"},me={key:0,class:"cell-up"},_e={class:"value"},ge={key:0,class:"cell-up"},fe={class:"value"},he={key:0,class:"cell-up"},ve={key:1,class:"cell-empty"},ye={key:0,class:"cell-up"},ke={key:1,class:"cell-empty"},xe={key:0},be={key:1,class:"cell-empty"},He={key:0},De={key:1,class:"cell-empty"},Se={class:"diet-tip"},Me={key:1,class:"cell-empty"},Be={class:"exercise-tip"},Te={key:0},Ce={class:"cell-checked"},Ve={key:0,class:"meta"},Ee={key:1,class:"meta"},Ie={key:1,class:"cell-empty"},Re=ne({__name:"TrackingMatrix",props:{diagnosisId:{},age:{default:null}},setup(Y,{expose:w}){const _=Y,h=y("30"),k=y(null),T=y(!1),x=y([]),b=y([]),H=y([]);let C=0;const I=s=>`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,R=s=>{if(s==="custom"){const[m,l]=k.value||["",""];return{start:m||"",end:l||""}}const e=s==="7"?7:30,t=new Date;t.setHours(0,0,0,0);const o=new Date(t);return o.setDate(o.getDate()-(e-1)),{start:I(o),end:I(t)}},A=s=>s.getTime()>Date.now(),D=async()=>{if(!_.diagnosisId||_.diagnosisId<=0){x.value=[],b.value=[],H.value=[];return}const s=R(h.value);if(h.value==="custom"&&(!s.start||!s.end))return;const e=++C;T.value=!0;try{const t=await ae({id:_.diagnosisId,start_date:s.start,end_date:s.end});if(e!==C)return;x.value=(t==null?void 0:t.blood_records)||[],b.value=(t==null?void 0:t.diet_records)||[],H.value=(t==null?void 0:t.exercise_records)||[]}catch{e===C&&(x.value=[],b.value=[],H.value=[])}finally{e===C&&(T.value=!1)}},F=()=>{if(h.value==="custom"&&!k.value){const s=R("30");k.value=[s.start,s.end]}D()},L=()=>{h.value==="custom"&&D()};oe(()=>_.diagnosisId,s=>{s&&s>0&&D()}),ie(()=>{_.diagnosisId&&_.diagnosisId>0&&D()});const P=B(()=>{const s=new Map;for(const e of x.value){const t=String(e.record_date||"");if(!t)continue;s.has(t)||s.set(t,{record_date:t,record_date_ts:e.record_date_ts});const o=s.get(t),m=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin"];for(const l of m)(o[l]===void 0||o[l]===null||o[l]==="")&&e[l]!==void 0&&e[l]!==null&&e[l]!==""&&(o[l]=e[l])}return s}),$=B(()=>{const s=new Map;for(const e of b.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),q=B(()=>{const s=new Map;for(const e of H.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),N=B(()=>{const s=new Set;for(const t of x.value)t.record_date&&s.add(String(t.record_date));for(const t of b.value)t.record_date&&s.add(String(t.record_date));for(const t of H.value)t.record_date&&s.add(String(t.record_date));const e=Array.from(s).filter(t=>t.length===10);return e.sort((t,o)=>to?-1:0),e}),z=B(()=>N.value.map(s=>{const e=P.value.get(s),t=$.value.get(s),o=q.value.get(s),m=(e==null?void 0:e.fasting_blood_sugar)??null,l=(e==null?void 0:e.postprandial_blood_sugar)??null,u=(e==null?void 0:e.other_blood_sugar)??null,v=(e==null?void 0:e.systolic_pressure)??null,S=(e==null?void 0:e.diastolic_pressure)??null,E=m!==null&&m!==""||l!==null&&l!==""||u!==null&&u!=="",a=v||S?j({systolic_pressure:v,diastolic_pressure:S}):"";return{date:s,dateLabel:`${s}`,bloodAny:E,fasting:m??"—",postprandial:l??"—",other:u??"—",fastingHigh:se(m,_.age),postprandialHigh:te(l,_.age),otherHigh:ee(u,_.age),bp:a,bpHigh:K({systolic_pressure:v,diastolic_pressure:S}),westernMedicine:(e==null?void 0:e.western_medicine)||"",insulin:(e==null?void 0:e.insulin)||"",diet:t?{breakfast:t.breakfast||"",lunch:t.lunch||"",dinner:t.dinner||""}:null,exercise:o?{duration:o.duration||0,intensityText:o.intensity_text||"",remark:o.remark||""}:null}}));return w({refresh:D}),(s,e)=>{const t=O,o=U,m=J,l=Q,u=W,v=X,S=Z,E=G;return le((n(),i("div",de,[r("div",ce,[p(o,{modelValue:h.value,"onUpdate:modelValue":e[0]||(e[0]=a=>h.value=a),onChange:F},{default:d(()=>[p(t,{value:"7"},{default:d(()=>[...e[2]||(e[2]=[g("最近 7 天",-1)])]),_:1}),p(t,{value:"30"},{default:d(()=>[...e[3]||(e[3]=[g("最近 30 天",-1)])]),_:1}),p(t,{value:"custom"},{default:d(()=>[...e[4]||(e[4]=[g("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),h.value==="custom"?(n(),M(m,{key:0,modelValue:k.value,"onUpdate:modelValue":e[1]||(e[1]=a=>k.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:!1,size:"default","disabled-date":A,onChange:L},null,8,["modelValue"])):f("",!0),e[5]||(e[5]=r("span",{class:"hint"}," 超阈值红字↑(年龄分段:<50:空7/餐9,≥50:空8/餐10) ",-1))]),!T.value&&N.value.length===0?(n(),M(l,{key:0,description:"所选区间内无任何打卡记录","image-size":80})):(n(),M(S,{key:1,data:z.value,border:"",stripe:"",class:"matrix-table","empty-text":"暂无数据","row-key":"date","max-height":"640"},{default:d(()=>[p(u,{prop:"dateLabel",label:"日期",width:"120",fixed:"left"}),p(u,{label:"血糖 (mmol/L)","min-width":"180"},{default:d(({row:a})=>[a.bloodAny?(n(),i("div",ue,[r("span",{class:V({"cell-high":a.fastingHigh})},[e[6]||(e[6]=g(" 空 ",-1)),r("span",pe,c(a.fasting??"—"),1),a.fastingHigh?(n(),i("span",me,"↑")):f("",!0)],2),r("span",{class:V({"cell-high":a.postprandialHigh})},[e[7]||(e[7]=g(" 餐 ",-1)),r("span",_e,c(a.postprandial??"—"),1),a.postprandialHigh?(n(),i("span",ge,"↑")):f("",!0)],2),r("span",{class:V({"cell-high":a.otherHigh})},[e[8]||(e[8]=g(" 其他 ",-1)),r("span",fe,c(a.other??"—"),1),a.otherHigh?(n(),i("span",he,"↑")):f("",!0)],2)])):(n(),i("span",ve,"—"))]),_:1}),p(u,{label:"血压 (mmHg)",width:"120",align:"center"},{default:d(({row:a})=>[a.bp?(n(),i("span",{key:0,class:V({"cell-high":a.bpHigh})},[g(c(a.bp)+" ",1),a.bpHigh?(n(),i("span",ye,"↑")):f("",!0)],2)):(n(),i("span",ke,"—"))]),_:1}),p(u,{label:"西药","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.westernMedicine?(n(),i("span",xe,c(a.westernMedicine),1)):(n(),i("span",be,"—"))]),_:1}),p(u,{label:"胰岛素","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.insulin?(n(),i("span",He,c(a.insulin),1)):(n(),i("span",De,"—"))]),_:1}),p(u,{label:"饮食打卡",width:"110",align:"center"},{default:d(({row:a})=>[a.diet?(n(),M(v,{key:0,placement:"top",disabled:!a.diet,effect:"light"},{content:d(()=>[r("div",Se,[r("div",null,"早:"+c(a.diet.breakfast||"—"),1),r("div",null,"午:"+c(a.diet.lunch||"—"),1),r("div",null,"晚:"+c(a.diet.dinner||"—"),1)])]),default:d(()=>[e[9]||(e[9]=r("span",{class:"cell-checked"},"已打卡",-1))]),_:2},1032,["disabled"])):(n(),i("span",Me,"—"))]),_:1}),p(u,{label:"运动打卡","min-width":"160",align:"center"},{default:d(({row:a})=>[a.exercise?(n(),M(v,{key:0,placement:"top",effect:"light"},{content:d(()=>[r("div",Be,[r("div",null,"强度:"+c(a.exercise.intensityText||"—"),1),r("div",null,"时长:"+c(a.exercise.duration?a.exercise.duration+" min":"—"),1),a.exercise.remark?(n(),i("div",Te,"备注:"+c(a.exercise.remark),1)):f("",!0)])]),default:d(()=>[r("span",Ce,[e[10]||(e[10]=g(" 已打卡 ",-1)),a.exercise.duration?(n(),i("span",Ve,"· "+c(a.exercise.duration)+"min",1)):f("",!0),a.exercise.intensityText?(n(),i("span",Ee,"· "+c(a.exercise.intensityText),1)):f("",!0)])]),_:2},1024)):(n(),i("span",Ie,"—"))]),_:1})]),_:1},8,["data"]))])),[[E,T.value]])}}}),yt=re(Re,[["__scopeId","data-v-4eea47f3"]]);export{yt as default}; +import{M as G,F as O,G as U,S as J,X as Q,O as W,r as X,N as Z}from"./element-plus-DGP1XOrU.js";import{f as j,c as K,d as ee,e as te,b as se}from"./blood-thresholds-CJ1fqMjh.js";import{Z as ae}from"./tcm-D-ZRccbe.js";import{f as ne,w as oe,b as ie,aP as le,ak as n,I as i,J as r,a as p,aN as d,O as g,G as M,H as f,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{o as V,Q as c}from"./@vue/shared-mAAVTE9n.js";import{n as y}from"./@vue/reactivity-DiY1c2vO.js";import{_ as re}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const de={class:"tracking-matrix"},ce={class:"toolbar"},ue={key:0,class:"cell-blood"},pe={class:"value"},me={key:0,class:"cell-up"},_e={class:"value"},ge={key:0,class:"cell-up"},fe={class:"value"},he={key:0,class:"cell-up"},ve={key:1,class:"cell-empty"},ye={key:0,class:"cell-up"},ke={key:1,class:"cell-empty"},xe={key:0},be={key:1,class:"cell-empty"},He={key:0},De={key:1,class:"cell-empty"},Se={class:"diet-tip"},Me={key:1,class:"cell-empty"},Be={class:"exercise-tip"},Te={key:0},Ce={class:"cell-checked"},Ve={key:0,class:"meta"},Ee={key:1,class:"meta"},Ie={key:1,class:"cell-empty"},Re=ne({__name:"TrackingMatrix",props:{diagnosisId:{},age:{default:null}},setup(Y,{expose:w}){const _=Y,h=y("30"),k=y(null),T=y(!1),x=y([]),b=y([]),H=y([]);let C=0;const I=s=>`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,R=s=>{if(s==="custom"){const[m,l]=k.value||["",""];return{start:m||"",end:l||""}}const e=s==="7"?7:30,t=new Date;t.setHours(0,0,0,0);const o=new Date(t);return o.setDate(o.getDate()-(e-1)),{start:I(o),end:I(t)}},A=s=>s.getTime()>Date.now(),D=async()=>{if(!_.diagnosisId||_.diagnosisId<=0){x.value=[],b.value=[],H.value=[];return}const s=R(h.value);if(h.value==="custom"&&(!s.start||!s.end))return;const e=++C;T.value=!0;try{const t=await ae({id:_.diagnosisId,start_date:s.start,end_date:s.end});if(e!==C)return;x.value=(t==null?void 0:t.blood_records)||[],b.value=(t==null?void 0:t.diet_records)||[],H.value=(t==null?void 0:t.exercise_records)||[]}catch{e===C&&(x.value=[],b.value=[],H.value=[])}finally{e===C&&(T.value=!1)}},F=()=>{if(h.value==="custom"&&!k.value){const s=R("30");k.value=[s.start,s.end]}D()},L=()=>{h.value==="custom"&&D()};oe(()=>_.diagnosisId,s=>{s&&s>0&&D()}),ie(()=>{_.diagnosisId&&_.diagnosisId>0&&D()});const P=B(()=>{const s=new Map;for(const e of x.value){const t=String(e.record_date||"");if(!t)continue;s.has(t)||s.set(t,{record_date:t,record_date_ts:e.record_date_ts});const o=s.get(t),m=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin"];for(const l of m)(o[l]===void 0||o[l]===null||o[l]==="")&&e[l]!==void 0&&e[l]!==null&&e[l]!==""&&(o[l]=e[l])}return s}),$=B(()=>{const s=new Map;for(const e of b.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),q=B(()=>{const s=new Map;for(const e of H.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),N=B(()=>{const s=new Set;for(const t of x.value)t.record_date&&s.add(String(t.record_date));for(const t of b.value)t.record_date&&s.add(String(t.record_date));for(const t of H.value)t.record_date&&s.add(String(t.record_date));const e=Array.from(s).filter(t=>t.length===10);return e.sort((t,o)=>to?-1:0),e}),z=B(()=>N.value.map(s=>{const e=P.value.get(s),t=$.value.get(s),o=q.value.get(s),m=(e==null?void 0:e.fasting_blood_sugar)??null,l=(e==null?void 0:e.postprandial_blood_sugar)??null,u=(e==null?void 0:e.other_blood_sugar)??null,v=(e==null?void 0:e.systolic_pressure)??null,S=(e==null?void 0:e.diastolic_pressure)??null,E=m!==null&&m!==""||l!==null&&l!==""||u!==null&&u!=="",a=v||S?j({systolic_pressure:v,diastolic_pressure:S}):"";return{date:s,dateLabel:`${s}`,bloodAny:E,fasting:m??"—",postprandial:l??"—",other:u??"—",fastingHigh:se(m,_.age),postprandialHigh:te(l,_.age),otherHigh:ee(u,_.age),bp:a,bpHigh:K({systolic_pressure:v,diastolic_pressure:S}),westernMedicine:(e==null?void 0:e.western_medicine)||"",insulin:(e==null?void 0:e.insulin)||"",diet:t?{breakfast:t.breakfast||"",lunch:t.lunch||"",dinner:t.dinner||""}:null,exercise:o?{duration:o.duration||0,intensityText:o.intensity_text||"",remark:o.remark||""}:null}}));return w({refresh:D}),(s,e)=>{const t=O,o=U,m=J,l=Q,u=W,v=X,S=Z,E=G;return le((n(),i("div",de,[r("div",ce,[p(o,{modelValue:h.value,"onUpdate:modelValue":e[0]||(e[0]=a=>h.value=a),onChange:F},{default:d(()=>[p(t,{value:"7"},{default:d(()=>[...e[2]||(e[2]=[g("最近 7 天",-1)])]),_:1}),p(t,{value:"30"},{default:d(()=>[...e[3]||(e[3]=[g("最近 30 天",-1)])]),_:1}),p(t,{value:"custom"},{default:d(()=>[...e[4]||(e[4]=[g("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),h.value==="custom"?(n(),M(m,{key:0,modelValue:k.value,"onUpdate:modelValue":e[1]||(e[1]=a=>k.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:!1,size:"default","disabled-date":A,onChange:L},null,8,["modelValue"])):f("",!0),e[5]||(e[5]=r("span",{class:"hint"}," 超阈值红字↑(年龄分段:<50:空7/餐9,≥50:空8/餐10) ",-1))]),!T.value&&N.value.length===0?(n(),M(l,{key:0,description:"所选区间内无任何打卡记录","image-size":80})):(n(),M(S,{key:1,data:z.value,border:"",stripe:"",class:"matrix-table","empty-text":"暂无数据","row-key":"date","max-height":"640"},{default:d(()=>[p(u,{prop:"dateLabel",label:"日期",width:"120",fixed:"left"}),p(u,{label:"血糖 (mmol/L)","min-width":"180"},{default:d(({row:a})=>[a.bloodAny?(n(),i("div",ue,[r("span",{class:V({"cell-high":a.fastingHigh})},[e[6]||(e[6]=g(" 空 ",-1)),r("span",pe,c(a.fasting??"—"),1),a.fastingHigh?(n(),i("span",me,"↑")):f("",!0)],2),r("span",{class:V({"cell-high":a.postprandialHigh})},[e[7]||(e[7]=g(" 餐 ",-1)),r("span",_e,c(a.postprandial??"—"),1),a.postprandialHigh?(n(),i("span",ge,"↑")):f("",!0)],2),r("span",{class:V({"cell-high":a.otherHigh})},[e[8]||(e[8]=g(" 其他 ",-1)),r("span",fe,c(a.other??"—"),1),a.otherHigh?(n(),i("span",he,"↑")):f("",!0)],2)])):(n(),i("span",ve,"—"))]),_:1}),p(u,{label:"血压 (mmHg)",width:"120",align:"center"},{default:d(({row:a})=>[a.bp?(n(),i("span",{key:0,class:V({"cell-high":a.bpHigh})},[g(c(a.bp)+" ",1),a.bpHigh?(n(),i("span",ye,"↑")):f("",!0)],2)):(n(),i("span",ke,"—"))]),_:1}),p(u,{label:"西药","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.westernMedicine?(n(),i("span",xe,c(a.westernMedicine),1)):(n(),i("span",be,"—"))]),_:1}),p(u,{label:"胰岛素","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.insulin?(n(),i("span",He,c(a.insulin),1)):(n(),i("span",De,"—"))]),_:1}),p(u,{label:"饮食打卡",width:"110",align:"center"},{default:d(({row:a})=>[a.diet?(n(),M(v,{key:0,placement:"top",disabled:!a.diet,effect:"light"},{content:d(()=>[r("div",Se,[r("div",null,"早:"+c(a.diet.breakfast||"—"),1),r("div",null,"午:"+c(a.diet.lunch||"—"),1),r("div",null,"晚:"+c(a.diet.dinner||"—"),1)])]),default:d(()=>[e[9]||(e[9]=r("span",{class:"cell-checked"},"已打卡",-1))]),_:2},1032,["disabled"])):(n(),i("span",Me,"—"))]),_:1}),p(u,{label:"运动打卡","min-width":"160",align:"center"},{default:d(({row:a})=>[a.exercise?(n(),M(v,{key:0,placement:"top",effect:"light"},{content:d(()=>[r("div",Be,[r("div",null,"强度:"+c(a.exercise.intensityText||"—"),1),r("div",null,"时长:"+c(a.exercise.duration?a.exercise.duration+" min":"—"),1),a.exercise.remark?(n(),i("div",Te,"备注:"+c(a.exercise.remark),1)):f("",!0)])]),default:d(()=>[r("span",Ce,[e[10]||(e[10]=g(" 已打卡 ",-1)),a.exercise.duration?(n(),i("span",Ve,"· "+c(a.exercise.duration)+"min",1)):f("",!0),a.exercise.intensityText?(n(),i("span",Ee,"· "+c(a.exercise.intensityText),1)):f("",!0)])]),_:2},1024)):(n(),i("span",Ie,"—"))]),_:1})]),_:1},8,["data"]))])),[[E,T.value]])}}}),yt=re(Re,[["__scopeId","data-v-4eea47f3"]]);export{yt as default}; diff --git a/server/public/admin/assets/TrackingNoteTimeline-BN_PykOB.js b/server/public/admin/assets/TrackingNoteTimeline--NTL4w6T.js similarity index 96% rename from server/public/admin/assets/TrackingNoteTimeline-BN_PykOB.js rename to server/public/admin/assets/TrackingNoteTimeline--NTL4w6T.js index c138f0446..819fa3931 100644 --- a/server/public/admin/assets/TrackingNoteTimeline-BN_PykOB.js +++ b/server/public/admin/assets/TrackingNoteTimeline--NTL4w6T.js @@ -1,2 +1,2 @@ -import{C as I,i as V,X as w}from"./element-plus-DGP1XOrU.js";import{a5 as T}from"./tcm-CEIBuAeK.js";import{k as C,_ as E}from"./index-fRv3NTFQ.js";import{f as z,ak as t,I as e,a as p,J as l,aN as H,O as S,H as m,F as c,ap as u,G as F}from"./@vue/runtime-core-C6bnekPw.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import{n as g}from"./@vue/reactivity-DiY1c2vO.js";/* empty css */import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const L={class:"tracking-timeline-wrap"},M={key:0,class:"timeline-input"},A={class:"input-actions"},D={key:1,class:"tracking-timeline"},G={class:"timeline-date"},J={class:"timeline-body"},O={key:0,class:"timeline-content"},Q=z({__name:"TrackingNoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(i,{emit:v}){const d=i,y=v,r=g(""),a=g(!1),_=o=>o?o.split(` +import{C as I,i as V,X as w}from"./element-plus-DGP1XOrU.js";import{a5 as T}from"./tcm-D-ZRccbe.js";import{k as C,_ as E}from"./index-J_eFER10.js";import{f as z,ak as t,I as e,a as p,J as l,aN as H,O as S,H as m,F as c,ap as u,G as F}from"./@vue/runtime-core-C6bnekPw.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import{n as g}from"./@vue/reactivity-DiY1c2vO.js";/* empty css */import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const L={class:"tracking-timeline-wrap"},M={key:0,class:"timeline-input"},A={class:"input-actions"},D={key:1,class:"tracking-timeline"},G={class:"timeline-date"},J={class:"timeline-body"},O={key:0,class:"timeline-content"},Q=z({__name:"TrackingNoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(i,{emit:v}){const d=i,y=v,r=g(""),a=g(!1),_=o=>o?o.split(` `).filter(Boolean):[],k=async()=>{if(!d.diagnosisId)return;const o=r.value.trim();if(o){a.value=!0;try{await T({diagnosis_id:d.diagnosisId,tracking_content:o}),C.msgSuccess("已添加"),r.value="",y("refresh")}finally{a.value=!1}}};return(o,n)=>{const h=I,b=V,N=w;return t(),e("div",L,[!i.readonly&&i.diagnosisId?(t(),e("div",M,[p(h,{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=s=>r.value=s),type:"textarea",rows:2,placeholder:"输入跟踪备注,回车换行;保存后将以「[HH:MM] 内容」追加到当天记录",maxlength:"1000","show-word-limit":"",resize:"none",disabled:a.value},null,8,["modelValue","disabled"]),l("div",A,[p(b,{type:"primary",size:"small",loading:a.value,disabled:!r.value.trim(),onClick:k},{default:H(()=>[...n[1]||(n[1]=[S(" 添加 ",-1)])]),_:1},8,["loading","disabled"])])])):m("",!0),i.notes.length?(t(),e("div",D,[(t(!0),e(c,null,u(i.notes,s=>(t(),e("div",{key:s.id,class:"timeline-node"},[n[2]||(n[2]=l("div",{class:"timeline-dot"},null,-1)),l("div",G,f(s.note_date),1),l("div",J,[s.content?(t(),e("div",O,[(t(!0),e(c,null,u(_(s.content),(x,B)=>(t(),e("div",{key:B,class:"content-line"},f(x),1))),128))])):m("",!0)])]))),128))])):m("",!0),!i.notes.length&&i.readonly?(t(),F(N,{key:2,description:"暂无跟踪备注","image-size":48})):m("",!0)])}}}),Tt=E(Q,[["__scopeId","data-v-bee1e9dd"]]);export{Tt as default}; diff --git a/server/public/admin/assets/WecomFloatingWidgetBuilder-BF_tetsw.js b/server/public/admin/assets/WecomFloatingWidgetBuilder-CeJ7tFnb.js similarity index 99% rename from server/public/admin/assets/WecomFloatingWidgetBuilder-BF_tetsw.js rename to server/public/admin/assets/WecomFloatingWidgetBuilder-CeJ7tFnb.js index b9b9648be..49eb0b0f2 100644 --- a/server/public/admin/assets/WecomFloatingWidgetBuilder-BF_tetsw.js +++ b/server/public/admin/assets/WecomFloatingWidgetBuilder-CeJ7tFnb.js @@ -1 +1 @@ -import{d as at,B as rt,g as dt,f as ut,C as pt,G as mt,F as ct,ak as ft,h as bt,D as _t,i as gt,E as m}from"./element-plus-DGP1XOrU.js";import{s as z}from"./@vue/runtime-dom-DDAG46FW.js";import{ae as yt,d as L,_ as wt,u as vt,af as kt,ag as G,ah as xt,ai as R}from"./@element-plus/icons-vue-CbYn5zW9.js";import{B as Vt}from"./first_visit-BYIyH6Y1.js";import{f as Ct,w as Et,ak as v,I as V,J as e,a as l,aN as a,O as _,F as ht,ap as At,G as St,H as T,N as Tt,A as O}from"./@vue/runtime-core-C6bnekPw.js";import{r as Ot,n as B,y as c}from"./@vue/reactivity-DiY1c2vO.js";import{o as C,Q as f,p as Bt}from"./@vue/shared-mAAVTE9n.js";import{_ as Nt}from"./index-fRv3NTFQ.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Wt=["bubble","pill","card","message","edge","bar"],y=Object.freeze({v:1,enabled:!1,template:"bubble",position:"bottom-right",title:"专属顾问在线",subtitle:"点击添加企业微信,获取一对一服务",button_text:"立即咨询",primary_color:"#139A8C",bottom_offset:28,show_mobile:!0}),N=Object.freeze([{id:"bubble",name:"轻巧气泡",description:"圆形入口,占用空间最少",scene:"内容型页面"},{id:"pill",name:"行动胶囊",description:"图标与按钮文案同时露出",scene:"营销落地页"},{id:"card",name:"顾问名片",description:"完整呈现标题、说明与行动按钮",scene:"高意向咨询"},{id:"message",name:"消息提醒",description:"模拟新消息,视觉提醒更明确",scene:"活动推广页"},{id:"edge",name:"贴边咨询",description:"沿浏览器边缘停靠,干扰更低",scene:"工具与内容页"},{id:"bar",name:"底部咨询条",description:"宽幅行动区,移动端更醒目",scene:"移动端页面"}]),Ut=new Set(Wt),It=new Set(["bottom-right","bottom-left"]),Dt=/^#[0-9A-F]{6}$/i;function Ft(n){if(n&&typeof n=="object"&&!Array.isArray(n))return n;if(typeof n!="string"||!n.trim())return{};try{const r=JSON.parse(n);return r&&typeof r=="object"&&!Array.isArray(r)?r:{}}catch{return{}}}function j(n,r){return n===!0||n===1||n==="1"||n==="true"?!0:n===!1||n===0||n==="0"||n==="false"?!1:r}function W(n,r,d){return n==null?r:Array.from(String(n).trim()).slice(0,d).join("")}function U(n){const r=Ft(n),d=String(r.template||""),A=String(r.position||""),o=String(r.primary_color||"").trim().toUpperCase(),b=Number(r.bottom_offset),k=Number.isFinite(b)?Math.min(160,Math.max(16,Math.round(b))):y.bottom_offset;return{v:1,enabled:j(r.enabled,y.enabled),template:Ut.has(d)?d:y.template,position:It.has(A)?A:y.position,title:W(r.title,y.title,24),subtitle:W(r.subtitle,y.subtitle,48),button_text:W(r.button_text,y.button_text,12),primary_color:Dt.test(o)?o:y.primary_color,bottom_offset:k,show_mobile:j(r.show_mobile,y.show_mobile)}}function I(){return{...y}}const $t={class:"widget-builder","aria-label":"企业微信浮窗客服配置"},Mt={class:"builder-header"},zt={class:"builder-intro"},Lt={class:"builder-icon"},Gt={class:"publish-state"},Rt={class:"builder-layout"},jt={class:"builder-controls"},Pt={class:"control-section template-section"},Ht={class:"template-grid",role:"radiogroup","aria-label":"浮窗客服模板"},Jt=["aria-checked","onClick","onKeydown"],Kt={class:"template-copy"},qt={class:"control-section config-section"},Qt={class:"control-heading"},Xt={key:0,class:"dirty-state"},Yt={class:"form-grid"},Zt={class:"switch-control"},te={class:"switch-control"},ee={class:"color-control"},oe={class:"offset-control"},le={class:"form-actions"},se={class:"action-note"},ne={class:"action-buttons"},ie={class:"preview-panel","aria-label":"浮窗实时预览"},ae={class:"preview-header"},re={key:0,class:"mobile-hidden-note"},de=["aria-label"],ue={class:"widget-copy"},pe={class:"widget-title"},me={key:0,class:"widget-subtitle"},ce={class:"widget-cta"},fe={class:"install-section"},be={class:"install-heading"},_e={class:"code-grid"},ge={class:"code-card"},ye={class:"code-card"},we={class:"install-tip"},ve=Ct({__name:"WecomFloatingWidgetBuilder",props:{pool:{}},emits:["saved"],setup(n,{emit:r}){const d=n,A=r,o=Ot(I()),b=B(I()),k=B("desktop"),S=B(!1),P=["#139A8C","#168C74","#2878D0","#C76A2B","#BA4E68","#43546A"],H=O(()=>({"--widget-primary":o.primary_color,"--widget-bottom":`${o.bottom_offset}px`})),J=O(()=>JSON.stringify(o)!==JSON.stringify(b.value)),K=O(()=>o.enabled?b.value.enabled?"保存更新":"保存并启用":b.value.enabled?"保存并停用":"保存配置");function q(){return d.pool.widget_config??d.pool.widget??d.pool.widgetConfig}function Q(){const i=U(q());Object.assign(o,i),b.value={...i}}Et(()=>[d.pool.id,d.pool.widget_config,d.pool.widget,d.pool.widgetConfig],Q,{immediate:!0,deep:!0});function X(i,t){if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(i.key))return;i.preventDefault();const g=N.length-1;let p=t;(i.key==="ArrowRight"||i.key==="ArrowDown")&&(p=t===g?0:t+1),(i.key==="ArrowLeft"||i.key==="ArrowUp")&&(p=t===0?g:t-1),i.key==="Home"&&(p=0),i.key==="End"&&(p=g),o.template=N[p].id;const E=i.currentTarget.closest(".template-grid"),w=E==null?void 0:E.querySelectorAll(".template-option");window.requestAnimationFrame(()=>{var x;return(x=w==null?void 0:w[p])==null?void 0:x.focus()})}function Y(){o.primary_color=U({...o,primary_color:typeof o.primary_color=="string"?o.primary_color:""}).primary_color}function Z(){Object.assign(o,I()),m.info("已恢复默认配置,保存后生效")}function tt(){if(!o.title.trim())return m.warning("请输入浮窗标题"),!1;if(!o.button_text.trim())return m.warning("请输入按钮文字"),!1;const i=typeof o.primary_color=="string"?o.primary_color.trim():"";return/^#[0-9A-F]{6}$/i.test(i)?!0:(m.warning("主题色请输入 #RRGGBB 格式"),!1)}async function et(){if(!tt())return;const i=b.value.enabled,t=o.enabled,u=U({...o,enabled:t});S.value=!0;try{await Vt({pool_id:Number(d.pool.id),...u}),Object.assign(o,u),b.value={...u},!t&&i?m.success("浮窗已停用,最多 60 秒生效"):t?i?m.success("浮窗配置已保存,最多 60 秒生效"):m.success("浮窗已启用,最多 60 秒生效"):m.success("浮窗配置已保存,当前保持未启用"),A("saved",u)}catch(g){m.error((g==null?void 0:g.message)||"浮窗配置保存失败")}finally{S.value=!1}}function D(i){const t=document.createElement("textarea");t.value=i,t.setAttribute("readonly",""),t.style.position="fixed",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t);try{if(t.focus(),t.select(),!document.execCommand("copy"))throw new Error("copy command failed")}finally{t.remove()}}async function F(i,t){var u;if(!i){m.warning(`${t}暂无内容`);return}try{if(window.isSecureContext&&((u=navigator.clipboard)!=null&&u.writeText))try{await navigator.clipboard.writeText(i)}catch{D(i)}else D(i);m.success(`${t}已复制`)}catch{m.error(`${t}复制失败,请手动选择代码复制`)}}function ot(){const i=d.pool.main_url||d.pool.go_url||d.pool.compat_go_url;if(!i){m.warning("当前方案暂无测试链接");return}window.open(i,"_blank","noopener,noreferrer")}return(i,t)=>{const u=at,g=dt,p=rt,E=ut,w=pt,x=ct,$=mt,lt=ft,st=bt,nt=_t,h=gt;return v(),V("section",$t,[e("header",Mt,[e("div",zt,[e("span",Lt,[l(u,null,{default:a(()=>[l(c(yt))]),_:1})]),t[15]||(t[15]=e("div",null,[e("h3",null,"浮窗客服模板"),e("p",null,"选择模板并调整内容,保存后基础脚本会自动在推广页展示浮窗。")],-1))]),e("div",Gt,[e("span",{class:C(["state-badge",b.value.enabled?"is-enabled":"is-disabled"])},[t[16]||(t[16]=e("i",{"aria-hidden":"true"},null,-1)),_(f(b.value.enabled?"已启用":"未启用"),1)],2),t[17]||(t[17]=e("small",null,"配置保存后最多 60 秒生效",-1))])]),e("div",Rt,[e("div",jt,[e("section",Pt,[t[19]||(t[19]=e("div",{class:"control-heading"},[e("div",null,[e("span",{class:"section-index"},"01"),e("h4",null,"选择展示模板")]),e("span",null,"支持方向键切换")],-1)),e("div",Ht,[(v(!0),V(ht,null,At(c(N),(s,it)=>(v(),V("button",{key:s.id,type:"button",class:C(["template-option",{active:o.template===s.id}]),role:"radio","aria-checked":o.template===s.id,onClick:M=>o.template=s.id,onKeydown:M=>X(M,it)},[e("span",{class:C(["template-swatch",`is-${s.id}`]),"aria-hidden":"true"},[...t[18]||(t[18]=[e("i",{class:"swatch-icon"},null,-1),e("i",{class:"swatch-line is-long"},null,-1),e("i",{class:"swatch-line is-short"},null,-1),e("i",{class:"swatch-action"},null,-1)])],2),e("span",Kt,[e("strong",null,f(s.name),1),e("small",null,f(s.description),1),e("em",null,f(s.scene),1)]),o.template===s.id?(v(),St(u,{key:0,class:"selected-check"},{default:a(()=>[l(c(L))]),_:1})):T("",!0)],42,Jt))),128))])]),e("section",qt,[e("div",Qt,[t[20]||(t[20]=e("div",null,[e("span",{class:"section-index"},"02"),e("h4",null,"调整浮窗内容")],-1)),J.value?(v(),V("span",Xt,"有未保存更改")):T("",!0)]),l(nt,{class:"widget-form","label-position":"top",onSubmit:t[10]||(t[10]=z(()=>{},["prevent"]))},{default:a(()=>[e("div",Yt,[l(p,{label:"显示浮窗"},{default:a(()=>[e("div",Zt,[l(g,{modelValue:o.enabled,"onUpdate:modelValue":t[0]||(t[0]=s=>o.enabled=s),"active-text":"显示","inactive-text":"隐藏"},null,8,["modelValue"]),t[21]||(t[21]=e("small",null,"保存后应用到推广页",-1))])]),_:1}),l(p,{label:"移动端展示"},{default:a(()=>[e("div",te,[l(g,{modelValue:o.show_mobile,"onUpdate:modelValue":t[1]||(t[1]=s=>o.show_mobile=s),"active-text":"展示","inactive-text":"隐藏"},null,8,["modelValue"]),t[22]||(t[22]=e("small",null,"关闭后仅在桌面端出现",-1))])]),_:1}),l(p,{label:"主题色"},{default:a(()=>[e("div",ee,[l(E,{modelValue:o.primary_color,"onUpdate:modelValue":t[2]||(t[2]=s=>o.primary_color=s),predefine:P},null,8,["modelValue"]),l(w,{modelValue:o.primary_color,"onUpdate:modelValue":t[3]||(t[3]=s=>o.primary_color=s),maxlength:"7","aria-label":"主题色十六进制值",onBlur:Y},null,8,["modelValue"])])]),_:1}),l(p,{label:"左右位置"},{default:a(()=>[l($,{modelValue:o.position,"onUpdate:modelValue":t[4]||(t[4]=s=>o.position=s),class:"position-control"},{default:a(()=>[l(x,{value:"bottom-left"},{default:a(()=>[...t[23]||(t[23]=[_("左下角",-1)])]),_:1}),l(x,{value:"bottom-right"},{default:a(()=>[...t[24]||(t[24]=[_("右下角",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"距底距离",class:"is-wide"},{default:a(()=>[e("div",oe,[l(lt,{modelValue:o.bottom_offset,"onUpdate:modelValue":t[5]||(t[5]=s=>o.bottom_offset=s),min:16,max:160,step:4},null,8,["modelValue"]),l(st,{modelValue:o.bottom_offset,"onUpdate:modelValue":t[6]||(t[6]=s=>o.bottom_offset=s),min:16,max:160,step:4,"controls-position":"right","aria-label":"距底距离,单位像素"},null,8,["modelValue"]),t[25]||(t[25]=e("span",null,"px",-1))])]),_:1}),l(p,{label:"标题",class:"is-wide"},{default:a(()=>[l(w,{modelValue:o.title,"onUpdate:modelValue":t[7]||(t[7]=s=>o.title=s),maxlength:"24","show-word-limit":"",placeholder:"例如:专属顾问在线"},null,8,["modelValue"])]),_:1}),l(p,{label:"副文案",class:"is-wide"},{default:a(()=>[l(w,{modelValue:o.subtitle,"onUpdate:modelValue":t[8]||(t[8]=s=>o.subtitle=s),maxlength:"48","show-word-limit":"",placeholder:"说明点击后可以获得什么服务"},null,8,["modelValue"])]),_:1}),l(p,{label:"按钮文字",class:"is-wide"},{default:a(()=>[l(w,{modelValue:o.button_text,"onUpdate:modelValue":t[9]||(t[9]=s=>o.button_text=s),maxlength:"12","show-word-limit":"",placeholder:"例如:立即咨询"},null,8,["modelValue"])]),_:1})])]),_:1}),e("footer",le,[e("div",se,[l(u,null,{default:a(()=>[l(c(wt))]),_:1}),e("span",null,"当前方案:"+f(n.pool.name||`方案 ${n.pool.id}`),1)]),e("div",ne,[l(h,{icon:c(vt),onClick:Z},{default:a(()=>[...t[26]||(t[26]=[_("恢复默认",-1)])]),_:1},8,["icon"]),l(h,{type:"primary",loading:S.value,onClick:et},{default:a(()=>[_(f(K.value),1)]),_:1},8,["loading"])])])])]),e("aside",ie,[e("header",ae,[e("div",null,[t[27]||(t[27]=e("strong",null,"实时预览",-1)),e("span",null,f(o.enabled?"保存后按此样式展示":"配置预览,当前尚未启用"),1)]),l($,{modelValue:k.value,"onUpdate:modelValue":t[11]||(t[11]=s=>k.value=s),size:"small","aria-label":"预览设备"},{default:a(()=>[l(x,{value:"desktop"},{default:a(()=>[l(u,null,{default:a(()=>[l(c(kt))]),_:1}),t[28]||(t[28]=_("桌面",-1))]),_:1}),l(x,{value:"mobile"},{default:a(()=>[l(u,null,{default:a(()=>[l(c(G))]),_:1}),t[29]||(t[29]=_("手机",-1))]),_:1})]),_:1},8,["modelValue"])]),e("div",{class:C(["preview-canvas",`is-${k.value}`])},[t[34]||(t[34]=e("div",{class:"browser-chrome","aria-hidden":"true"},[e("span"),e("span"),e("span"),e("i",null,"promotion.example.com")],-1)),e("div",{class:C(["preview-stage",[`position-${o.position}`,{"is-mobile-hidden":k.value==="mobile"&&!o.show_mobile}]]),style:Bt(H.value)},[t[33]||(t[33]=Tt('',1)),k.value==="mobile"&&!o.show_mobile?(v(),V("div",re,[l(u,null,{default:a(()=>[l(c(G))]),_:1}),t[30]||(t[30]=e("strong",null,"移动端已隐藏",-1)),t[31]||(t[31]=e("span",null,"开启“移动端展示”后可查看效果",-1))])):(v(),V("button",{key:1,type:"button",class:C(["live-widget",`template-${o.template}`]),"aria-label":o.button_text||o.title||"企业微信咨询",onClick:t[12]||(t[12]=z(()=>{},["prevent"]))},[t[32]||(t[32]=e("span",{class:"consult-icon","aria-hidden":"true"},"企",-1)),e("span",ue,[e("strong",pe,f(o.title),1),o.subtitle?(v(),V("small",me,f(o.subtitle),1)):T("",!0)]),e("span",ce,f(o.button_text),1)],10,de))],6)],2)])]),e("section",fe,[e("div",be,[t[36]||(t[36]=e("div",null,[e("span",{class:"section-index"},"03"),e("h4",null,"安装与手动触发"),e("p",null,"基础脚本只需安装一次;启用浮窗后,脚本会自动读取本方案的最新配置。")],-1)),l(h,{type:"primary",plain:"",icon:c(xt),disabled:!n.pool.go_url,onClick:ot},{default:a(()=>[...t[35]||(t[35]=[_(" 打开测试链接 ",-1)])]),_:1},8,["icon","disabled"])]),e("div",_e,[e("article",ge,[t[38]||(t[38]=e("div",{class:"code-title"},[e("span",null,"1"),e("div",null,[e("strong",null,"安装基础脚本"),e("small",null,"放在页面 之前,只需一次。")])],-1)),e("pre",null,[e("code",null,f(n.pool.install_code||"暂无基础脚本"),1)]),l(h,{type:"primary",plain:"",icon:c(R),onClick:t[13]||(t[13]=s=>F(n.pool.install_code,"基础脚本"))},{default:a(()=>[...t[37]||(t[37]=[_(" 复制基础脚本 ",-1)])]),_:1},8,["icon"])]),e("article",ye,[t[40]||(t[40]=e("div",{class:"code-title"},[e("span",null,"2"),e("div",null,[e("strong",null,"手动触发代码"),e("small",null,"需要额外入口时,将属性放到按钮或链接上。")])],-1)),e("pre",null,[e("code",null,f(n.pool.trigger_code||"暂无手动触发代码"),1)]),l(h,{type:"primary",plain:"",icon:c(R),onClick:t[14]||(t[14]=s=>F(n.pool.trigger_code,"手动触发代码"))},{default:a(()=>[...t[39]||(t[39]=[_(" 复制触发代码 ",-1)])]),_:1},8,["icon"])])]),e("div",we,[l(u,null,{default:a(()=>[l(c(L))]),_:1}),t[41]||(t[41]=e("span",null,[e("strong",null,"一个方案,一个官方链接"),_("浮窗会直接打开企业微信链接,多名医助由企业微信执行均衡分流。")],-1))])])])}}}),no=Nt(ve,[["__scopeId","data-v-51ceed15"]]);export{no as default}; +import{d as at,B as rt,g as dt,f as ut,C as pt,G as mt,F as ct,ak as ft,h as bt,D as _t,i as gt,E as m}from"./element-plus-DGP1XOrU.js";import{s as z}from"./@vue/runtime-dom-DDAG46FW.js";import{ae as yt,d as L,_ as wt,u as vt,af as kt,ag as G,ah as xt,ai as R}from"./@element-plus/icons-vue-CbYn5zW9.js";import{B as Vt}from"./first_visit-lwfDQsu4.js";import{f as Ct,w as Et,ak as v,I as V,J as e,a as l,aN as a,O as _,F as ht,ap as At,G as St,H as T,N as Tt,A as O}from"./@vue/runtime-core-C6bnekPw.js";import{r as Ot,n as B,y as c}from"./@vue/reactivity-DiY1c2vO.js";import{o as C,Q as f,p as Bt}from"./@vue/shared-mAAVTE9n.js";import{_ as Nt}from"./index-J_eFER10.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Wt=["bubble","pill","card","message","edge","bar"],y=Object.freeze({v:1,enabled:!1,template:"bubble",position:"bottom-right",title:"专属顾问在线",subtitle:"点击添加企业微信,获取一对一服务",button_text:"立即咨询",primary_color:"#139A8C",bottom_offset:28,show_mobile:!0}),N=Object.freeze([{id:"bubble",name:"轻巧气泡",description:"圆形入口,占用空间最少",scene:"内容型页面"},{id:"pill",name:"行动胶囊",description:"图标与按钮文案同时露出",scene:"营销落地页"},{id:"card",name:"顾问名片",description:"完整呈现标题、说明与行动按钮",scene:"高意向咨询"},{id:"message",name:"消息提醒",description:"模拟新消息,视觉提醒更明确",scene:"活动推广页"},{id:"edge",name:"贴边咨询",description:"沿浏览器边缘停靠,干扰更低",scene:"工具与内容页"},{id:"bar",name:"底部咨询条",description:"宽幅行动区,移动端更醒目",scene:"移动端页面"}]),Ut=new Set(Wt),It=new Set(["bottom-right","bottom-left"]),Dt=/^#[0-9A-F]{6}$/i;function Ft(n){if(n&&typeof n=="object"&&!Array.isArray(n))return n;if(typeof n!="string"||!n.trim())return{};try{const r=JSON.parse(n);return r&&typeof r=="object"&&!Array.isArray(r)?r:{}}catch{return{}}}function j(n,r){return n===!0||n===1||n==="1"||n==="true"?!0:n===!1||n===0||n==="0"||n==="false"?!1:r}function W(n,r,d){return n==null?r:Array.from(String(n).trim()).slice(0,d).join("")}function U(n){const r=Ft(n),d=String(r.template||""),A=String(r.position||""),o=String(r.primary_color||"").trim().toUpperCase(),b=Number(r.bottom_offset),k=Number.isFinite(b)?Math.min(160,Math.max(16,Math.round(b))):y.bottom_offset;return{v:1,enabled:j(r.enabled,y.enabled),template:Ut.has(d)?d:y.template,position:It.has(A)?A:y.position,title:W(r.title,y.title,24),subtitle:W(r.subtitle,y.subtitle,48),button_text:W(r.button_text,y.button_text,12),primary_color:Dt.test(o)?o:y.primary_color,bottom_offset:k,show_mobile:j(r.show_mobile,y.show_mobile)}}function I(){return{...y}}const $t={class:"widget-builder","aria-label":"企业微信浮窗客服配置"},Mt={class:"builder-header"},zt={class:"builder-intro"},Lt={class:"builder-icon"},Gt={class:"publish-state"},Rt={class:"builder-layout"},jt={class:"builder-controls"},Pt={class:"control-section template-section"},Ht={class:"template-grid",role:"radiogroup","aria-label":"浮窗客服模板"},Jt=["aria-checked","onClick","onKeydown"],Kt={class:"template-copy"},qt={class:"control-section config-section"},Qt={class:"control-heading"},Xt={key:0,class:"dirty-state"},Yt={class:"form-grid"},Zt={class:"switch-control"},te={class:"switch-control"},ee={class:"color-control"},oe={class:"offset-control"},le={class:"form-actions"},se={class:"action-note"},ne={class:"action-buttons"},ie={class:"preview-panel","aria-label":"浮窗实时预览"},ae={class:"preview-header"},re={key:0,class:"mobile-hidden-note"},de=["aria-label"],ue={class:"widget-copy"},pe={class:"widget-title"},me={key:0,class:"widget-subtitle"},ce={class:"widget-cta"},fe={class:"install-section"},be={class:"install-heading"},_e={class:"code-grid"},ge={class:"code-card"},ye={class:"code-card"},we={class:"install-tip"},ve=Ct({__name:"WecomFloatingWidgetBuilder",props:{pool:{}},emits:["saved"],setup(n,{emit:r}){const d=n,A=r,o=Ot(I()),b=B(I()),k=B("desktop"),S=B(!1),P=["#139A8C","#168C74","#2878D0","#C76A2B","#BA4E68","#43546A"],H=O(()=>({"--widget-primary":o.primary_color,"--widget-bottom":`${o.bottom_offset}px`})),J=O(()=>JSON.stringify(o)!==JSON.stringify(b.value)),K=O(()=>o.enabled?b.value.enabled?"保存更新":"保存并启用":b.value.enabled?"保存并停用":"保存配置");function q(){return d.pool.widget_config??d.pool.widget??d.pool.widgetConfig}function Q(){const i=U(q());Object.assign(o,i),b.value={...i}}Et(()=>[d.pool.id,d.pool.widget_config,d.pool.widget,d.pool.widgetConfig],Q,{immediate:!0,deep:!0});function X(i,t){if(!["ArrowRight","ArrowDown","ArrowLeft","ArrowUp","Home","End"].includes(i.key))return;i.preventDefault();const g=N.length-1;let p=t;(i.key==="ArrowRight"||i.key==="ArrowDown")&&(p=t===g?0:t+1),(i.key==="ArrowLeft"||i.key==="ArrowUp")&&(p=t===0?g:t-1),i.key==="Home"&&(p=0),i.key==="End"&&(p=g),o.template=N[p].id;const E=i.currentTarget.closest(".template-grid"),w=E==null?void 0:E.querySelectorAll(".template-option");window.requestAnimationFrame(()=>{var x;return(x=w==null?void 0:w[p])==null?void 0:x.focus()})}function Y(){o.primary_color=U({...o,primary_color:typeof o.primary_color=="string"?o.primary_color:""}).primary_color}function Z(){Object.assign(o,I()),m.info("已恢复默认配置,保存后生效")}function tt(){if(!o.title.trim())return m.warning("请输入浮窗标题"),!1;if(!o.button_text.trim())return m.warning("请输入按钮文字"),!1;const i=typeof o.primary_color=="string"?o.primary_color.trim():"";return/^#[0-9A-F]{6}$/i.test(i)?!0:(m.warning("主题色请输入 #RRGGBB 格式"),!1)}async function et(){if(!tt())return;const i=b.value.enabled,t=o.enabled,u=U({...o,enabled:t});S.value=!0;try{await Vt({pool_id:Number(d.pool.id),...u}),Object.assign(o,u),b.value={...u},!t&&i?m.success("浮窗已停用,最多 60 秒生效"):t?i?m.success("浮窗配置已保存,最多 60 秒生效"):m.success("浮窗已启用,最多 60 秒生效"):m.success("浮窗配置已保存,当前保持未启用"),A("saved",u)}catch(g){m.error((g==null?void 0:g.message)||"浮窗配置保存失败")}finally{S.value=!1}}function D(i){const t=document.createElement("textarea");t.value=i,t.setAttribute("readonly",""),t.style.position="fixed",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t);try{if(t.focus(),t.select(),!document.execCommand("copy"))throw new Error("copy command failed")}finally{t.remove()}}async function F(i,t){var u;if(!i){m.warning(`${t}暂无内容`);return}try{if(window.isSecureContext&&((u=navigator.clipboard)!=null&&u.writeText))try{await navigator.clipboard.writeText(i)}catch{D(i)}else D(i);m.success(`${t}已复制`)}catch{m.error(`${t}复制失败,请手动选择代码复制`)}}function ot(){const i=d.pool.main_url||d.pool.go_url||d.pool.compat_go_url;if(!i){m.warning("当前方案暂无测试链接");return}window.open(i,"_blank","noopener,noreferrer")}return(i,t)=>{const u=at,g=dt,p=rt,E=ut,w=pt,x=ct,$=mt,lt=ft,st=bt,nt=_t,h=gt;return v(),V("section",$t,[e("header",Mt,[e("div",zt,[e("span",Lt,[l(u,null,{default:a(()=>[l(c(yt))]),_:1})]),t[15]||(t[15]=e("div",null,[e("h3",null,"浮窗客服模板"),e("p",null,"选择模板并调整内容,保存后基础脚本会自动在推广页展示浮窗。")],-1))]),e("div",Gt,[e("span",{class:C(["state-badge",b.value.enabled?"is-enabled":"is-disabled"])},[t[16]||(t[16]=e("i",{"aria-hidden":"true"},null,-1)),_(f(b.value.enabled?"已启用":"未启用"),1)],2),t[17]||(t[17]=e("small",null,"配置保存后最多 60 秒生效",-1))])]),e("div",Rt,[e("div",jt,[e("section",Pt,[t[19]||(t[19]=e("div",{class:"control-heading"},[e("div",null,[e("span",{class:"section-index"},"01"),e("h4",null,"选择展示模板")]),e("span",null,"支持方向键切换")],-1)),e("div",Ht,[(v(!0),V(ht,null,At(c(N),(s,it)=>(v(),V("button",{key:s.id,type:"button",class:C(["template-option",{active:o.template===s.id}]),role:"radio","aria-checked":o.template===s.id,onClick:M=>o.template=s.id,onKeydown:M=>X(M,it)},[e("span",{class:C(["template-swatch",`is-${s.id}`]),"aria-hidden":"true"},[...t[18]||(t[18]=[e("i",{class:"swatch-icon"},null,-1),e("i",{class:"swatch-line is-long"},null,-1),e("i",{class:"swatch-line is-short"},null,-1),e("i",{class:"swatch-action"},null,-1)])],2),e("span",Kt,[e("strong",null,f(s.name),1),e("small",null,f(s.description),1),e("em",null,f(s.scene),1)]),o.template===s.id?(v(),St(u,{key:0,class:"selected-check"},{default:a(()=>[l(c(L))]),_:1})):T("",!0)],42,Jt))),128))])]),e("section",qt,[e("div",Qt,[t[20]||(t[20]=e("div",null,[e("span",{class:"section-index"},"02"),e("h4",null,"调整浮窗内容")],-1)),J.value?(v(),V("span",Xt,"有未保存更改")):T("",!0)]),l(nt,{class:"widget-form","label-position":"top",onSubmit:t[10]||(t[10]=z(()=>{},["prevent"]))},{default:a(()=>[e("div",Yt,[l(p,{label:"显示浮窗"},{default:a(()=>[e("div",Zt,[l(g,{modelValue:o.enabled,"onUpdate:modelValue":t[0]||(t[0]=s=>o.enabled=s),"active-text":"显示","inactive-text":"隐藏"},null,8,["modelValue"]),t[21]||(t[21]=e("small",null,"保存后应用到推广页",-1))])]),_:1}),l(p,{label:"移动端展示"},{default:a(()=>[e("div",te,[l(g,{modelValue:o.show_mobile,"onUpdate:modelValue":t[1]||(t[1]=s=>o.show_mobile=s),"active-text":"展示","inactive-text":"隐藏"},null,8,["modelValue"]),t[22]||(t[22]=e("small",null,"关闭后仅在桌面端出现",-1))])]),_:1}),l(p,{label:"主题色"},{default:a(()=>[e("div",ee,[l(E,{modelValue:o.primary_color,"onUpdate:modelValue":t[2]||(t[2]=s=>o.primary_color=s),predefine:P},null,8,["modelValue"]),l(w,{modelValue:o.primary_color,"onUpdate:modelValue":t[3]||(t[3]=s=>o.primary_color=s),maxlength:"7","aria-label":"主题色十六进制值",onBlur:Y},null,8,["modelValue"])])]),_:1}),l(p,{label:"左右位置"},{default:a(()=>[l($,{modelValue:o.position,"onUpdate:modelValue":t[4]||(t[4]=s=>o.position=s),class:"position-control"},{default:a(()=>[l(x,{value:"bottom-left"},{default:a(()=>[...t[23]||(t[23]=[_("左下角",-1)])]),_:1}),l(x,{value:"bottom-right"},{default:a(()=>[...t[24]||(t[24]=[_("右下角",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(p,{label:"距底距离",class:"is-wide"},{default:a(()=>[e("div",oe,[l(lt,{modelValue:o.bottom_offset,"onUpdate:modelValue":t[5]||(t[5]=s=>o.bottom_offset=s),min:16,max:160,step:4},null,8,["modelValue"]),l(st,{modelValue:o.bottom_offset,"onUpdate:modelValue":t[6]||(t[6]=s=>o.bottom_offset=s),min:16,max:160,step:4,"controls-position":"right","aria-label":"距底距离,单位像素"},null,8,["modelValue"]),t[25]||(t[25]=e("span",null,"px",-1))])]),_:1}),l(p,{label:"标题",class:"is-wide"},{default:a(()=>[l(w,{modelValue:o.title,"onUpdate:modelValue":t[7]||(t[7]=s=>o.title=s),maxlength:"24","show-word-limit":"",placeholder:"例如:专属顾问在线"},null,8,["modelValue"])]),_:1}),l(p,{label:"副文案",class:"is-wide"},{default:a(()=>[l(w,{modelValue:o.subtitle,"onUpdate:modelValue":t[8]||(t[8]=s=>o.subtitle=s),maxlength:"48","show-word-limit":"",placeholder:"说明点击后可以获得什么服务"},null,8,["modelValue"])]),_:1}),l(p,{label:"按钮文字",class:"is-wide"},{default:a(()=>[l(w,{modelValue:o.button_text,"onUpdate:modelValue":t[9]||(t[9]=s=>o.button_text=s),maxlength:"12","show-word-limit":"",placeholder:"例如:立即咨询"},null,8,["modelValue"])]),_:1})])]),_:1}),e("footer",le,[e("div",se,[l(u,null,{default:a(()=>[l(c(wt))]),_:1}),e("span",null,"当前方案:"+f(n.pool.name||`方案 ${n.pool.id}`),1)]),e("div",ne,[l(h,{icon:c(vt),onClick:Z},{default:a(()=>[...t[26]||(t[26]=[_("恢复默认",-1)])]),_:1},8,["icon"]),l(h,{type:"primary",loading:S.value,onClick:et},{default:a(()=>[_(f(K.value),1)]),_:1},8,["loading"])])])])]),e("aside",ie,[e("header",ae,[e("div",null,[t[27]||(t[27]=e("strong",null,"实时预览",-1)),e("span",null,f(o.enabled?"保存后按此样式展示":"配置预览,当前尚未启用"),1)]),l($,{modelValue:k.value,"onUpdate:modelValue":t[11]||(t[11]=s=>k.value=s),size:"small","aria-label":"预览设备"},{default:a(()=>[l(x,{value:"desktop"},{default:a(()=>[l(u,null,{default:a(()=>[l(c(kt))]),_:1}),t[28]||(t[28]=_("桌面",-1))]),_:1}),l(x,{value:"mobile"},{default:a(()=>[l(u,null,{default:a(()=>[l(c(G))]),_:1}),t[29]||(t[29]=_("手机",-1))]),_:1})]),_:1},8,["modelValue"])]),e("div",{class:C(["preview-canvas",`is-${k.value}`])},[t[34]||(t[34]=e("div",{class:"browser-chrome","aria-hidden":"true"},[e("span"),e("span"),e("span"),e("i",null,"promotion.example.com")],-1)),e("div",{class:C(["preview-stage",[`position-${o.position}`,{"is-mobile-hidden":k.value==="mobile"&&!o.show_mobile}]]),style:Bt(H.value)},[t[33]||(t[33]=Tt('',1)),k.value==="mobile"&&!o.show_mobile?(v(),V("div",re,[l(u,null,{default:a(()=>[l(c(G))]),_:1}),t[30]||(t[30]=e("strong",null,"移动端已隐藏",-1)),t[31]||(t[31]=e("span",null,"开启“移动端展示”后可查看效果",-1))])):(v(),V("button",{key:1,type:"button",class:C(["live-widget",`template-${o.template}`]),"aria-label":o.button_text||o.title||"企业微信咨询",onClick:t[12]||(t[12]=z(()=>{},["prevent"]))},[t[32]||(t[32]=e("span",{class:"consult-icon","aria-hidden":"true"},"企",-1)),e("span",ue,[e("strong",pe,f(o.title),1),o.subtitle?(v(),V("small",me,f(o.subtitle),1)):T("",!0)]),e("span",ce,f(o.button_text),1)],10,de))],6)],2)])]),e("section",fe,[e("div",be,[t[36]||(t[36]=e("div",null,[e("span",{class:"section-index"},"03"),e("h4",null,"安装与手动触发"),e("p",null,"基础脚本只需安装一次;启用浮窗后,脚本会自动读取本方案的最新配置。")],-1)),l(h,{type:"primary",plain:"",icon:c(xt),disabled:!n.pool.go_url,onClick:ot},{default:a(()=>[...t[35]||(t[35]=[_(" 打开测试链接 ",-1)])]),_:1},8,["icon","disabled"])]),e("div",_e,[e("article",ge,[t[38]||(t[38]=e("div",{class:"code-title"},[e("span",null,"1"),e("div",null,[e("strong",null,"安装基础脚本"),e("small",null,"放在页面 之前,只需一次。")])],-1)),e("pre",null,[e("code",null,f(n.pool.install_code||"暂无基础脚本"),1)]),l(h,{type:"primary",plain:"",icon:c(R),onClick:t[13]||(t[13]=s=>F(n.pool.install_code,"基础脚本"))},{default:a(()=>[...t[37]||(t[37]=[_(" 复制基础脚本 ",-1)])]),_:1},8,["icon"])]),e("article",ye,[t[40]||(t[40]=e("div",{class:"code-title"},[e("span",null,"2"),e("div",null,[e("strong",null,"手动触发代码"),e("small",null,"需要额外入口时,将属性放到按钮或链接上。")])],-1)),e("pre",null,[e("code",null,f(n.pool.trigger_code||"暂无手动触发代码"),1)]),l(h,{type:"primary",plain:"",icon:c(R),onClick:t[14]||(t[14]=s=>F(n.pool.trigger_code,"手动触发代码"))},{default:a(()=>[...t[39]||(t[39]=[_(" 复制触发代码 ",-1)])]),_:1},8,["icon"])])]),e("div",we,[l(u,null,{default:a(()=>[l(c(L))]),_:1}),t[41]||(t[41]=e("span",null,[e("strong",null,"一个方案,一个官方链接"),_("浮窗会直接打开企业微信链接,多名医助由企业微信执行均衡分流。")],-1))])])])}}}),no=Nt(ve,[["__scopeId","data-v-51ceed15"]]);export{no as default}; diff --git a/server/public/admin/assets/WelcomeMessageEditor-A12mxrKO.js b/server/public/admin/assets/WelcomeMessageEditor-CZ3lYeWY.js similarity index 99% rename from server/public/admin/assets/WelcomeMessageEditor-A12mxrKO.js rename to server/public/admin/assets/WelcomeMessageEditor-CZ3lYeWY.js index 1529b4fd4..1249ddc4b 100644 --- a/server/public/admin/assets/WelcomeMessageEditor-A12mxrKO.js +++ b/server/public/admin/assets/WelcomeMessageEditor-CZ3lYeWY.js @@ -1 +1 @@ -import{a2 as de,i as oe,C as re,p as ue,n as me,o as ce,d as pe,E as fe}from"./element-plus-DGP1XOrU.js";import{A as be,ac as q,P as ge,T as _e,ad as ve,G as ye}from"./@element-plus/icons-vue-CbYn5zW9.js";import{A as ke}from"./first_visit-BYIyH6Y1.js";import{f as we,ae as he,ak as u,I as f,J as a,a as c,aN as v,F as C,ap as M,O as w,G,H as z,A as X,n as Y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as o,o as W}from"./@vue/shared-mAAVTE9n.js";import{y as h,n as E}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Ve}from"./index-fRv3NTFQ.js";const cl=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"],xe=[{label:"客户昵称",value:"{customer_name}"},{label:"员工昵称",value:"{employee_name}"},{label:"添加时间",value:"{add_time}"}],N=e=>new TextEncoder().encode(e).length;function pl(e){return e.trim()?/[\p{C}\u2028\u2029]/u.test(e)?"标签名称不能包含换行、控制字符或不可见格式字符":Array.from(e.trim()).length>30?"标签名称最多 30 个字符":"":"请输入自定义标签名称"}function Ce(){return{reception_mode:"always",reception_schedule:[],backup_member_admin_ids:[],tags_enabled:!1,tag_ids:[],remark_enabled:!1,remark_template:"{customer_name}",description_enabled:!1,description:"",welcome_mode:"default",welcome:{text:"",attachments:[]},welcome_schedule_enabled:!1,welcome_schedule:[]}}function fl(e){var m,n;const b=Ce();if(!e)return b;const s=JSON.parse(JSON.stringify(e));return{reception_mode:s.reception_mode==="scheduled"?"scheduled":"always",reception_schedule:(s.reception_schedule||[]).map(({weekdays:r,start:$,end:V,member_admin_ids:y})=>({weekdays:[...r],start:$,end:V,member_admin_ids:y.map(Number)})),backup_member_admin_ids:(s.backup_member_admin_ids||[]).map(Number),tags_enabled:!!s.tags_enabled,tag_ids:[...s.tag_ids||[]],remark_enabled:!!s.remark_enabled,remark_template:s.remark_template??b.remark_template,description_enabled:!!s.description_enabled,description:s.description||"",welcome_mode:s.welcome_mode||"default",welcome:{text:((m=s.welcome)==null?void 0:m.text)||"",attachments:((n=s.welcome)==null?void 0:n.attachments)||[]},welcome_schedule_enabled:!!s.welcome_schedule_enabled,welcome_schedule:(s.welcome_schedule||[]).map(({weekdays:r,start:$,end:V,text:y,attachments:U})=>({weekdays:[...r],start:$,end:V,text:y||"",attachments:U||[]}))}}function bl(e){return{...e,tags_enabled:e.tags_enabled?1:0,remark_enabled:e.remark_enabled?1:0,description_enabled:e.description_enabled?1:0,welcome_schedule_enabled:e.welcome_schedule_enabled?1:0}}function $e(e,b="小陈",s){const m=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(new Date),n=e.replace(/\{(customer_name|employee_name|add_time)\}/g,r=>({"{customer_name}":"张女士","{employee_name}":b,"{add_time}":m})[r]||r);return s?Array.from(n).slice(0,s).join(""):n}function F(e){try{return["https:","http:"].includes(new URL(e).protocol)}catch{return!1}}function ee(e,b){return!e.weekdays.length||e.weekdays.some(s=>s<1||s>7)?`${b}请选择星期`:!/^(?:[01]\d|2[0-3]):[0-5]\d$/.test(e.start)||!/^(?:[01]\d|2[0-3]):[0-5]\d$/.test(e.end)?`${b}请填写有效的起止时间`:e.start===e.end?`${b}开始与结束时间不能相同,全天接待请选择全天模式`:""}function le(e,b,s=!0){if(Array.from(e.text).length>1200)return`${b}正文不能超过 1200 字`;if(N(e.text)>4e3)return`${b}正文不能超过 4000 UTF-8 字节,请减少表情或文字`;if(e.attachments.length>9)return`${b}最多添加 9 个附件`;if(s&&!e.text.trim()&&!e.attachments.length)return`${b}请填写正文或添加附件`;for(const[m,n]of e.attachments.entries()){const r=`${b}第 ${m+1} 个附件:`;switch(n.msgtype){case"image":if(!n.image.asset_id&&!F(n.image.pic_url||""))return r+"请上传图片或填写有效图片地址";break;case"video":if(!n.video.asset_id)return r+"请先上传视频";break;case"file":if(!n.file.asset_id)return r+"请先上传文件";break;case"link":if(!n.link.title.trim()||!F(n.link.url))return r+"请填写网页标题和有效的 HTTP/HTTPS 链接";if(N(n.link.title)>128||N(n.link.desc)>512)return r+"网页标题限 128 字节,描述限 512 字节";if(n.link.picurl&&!F(n.link.picurl))return r+"网页封面地址无效";break;case"miniprogram":if(!n.miniprogram.title.trim()||!n.miniprogram.appid.trim()||!n.miniprogram.page.trim()||!n.miniprogram.pic_asset_id)return r+"请填写小程序标题、AppID、页面路径并上传封面";if(N(n.miniprogram.title)>64)return r+"小程序标题不能超过 64 字节";break}}return""}function Ue(e){const b=new Set;for(const s of e){const[m,n]=s.start.split(":").map(Number),[r,$]=s.end.split(":").map(Number),V=m*60+n,y=(r*60+$-V+1440)%1440;for(const U of new Set(s.weekdays))for(let T=0;Tb.includes(m)))return"备用成员不能与主接待成员重复";if(e.reception_schedule.length>30||e.welcome_schedule.length>30)return"每类时段最多添加 30 条";if(e.reception_mode==="scheduled"){if(!e.reception_schedule.length)return"按时段接待至少需要一个接待时段";if(!e.backup_member_admin_ids.length)return"按时段接待至少需要一名备用成员,以承接非接待时段的客户"}for(const[m,n]of e.reception_schedule.entries()){const r=ee(n,`接待时段 ${m+1}:`);if(r)return r;if(!n.member_admin_ids.length)return`接待时段 ${m+1}:请至少选择一名成员`;if(n.member_admin_ids.some($=>!b.includes($)))return`接待时段 ${m+1}:成员必须来自主接待成员,请重新选择`}if(e.tags_enabled&&!e.tag_ids.length)return"启用客户标签后,请选择一个企业微信标签,或创建自定义标签";if(e.tag_ids.length>1)return"客户标签只能选择一个,请重新选择或清空原标签";if(e.remark_enabled&&!e.remark_template.trim())return"请填写客户备注模板";if(Array.from(e.remark_template).length>200)return"客户备注模板不能超过 200 字";if(e.description_enabled&&!e.description.trim())return"请填写客户描述";if(Array.from(e.description).length>150)return"客户描述不能超过 150 字";const s=le(e.welcome,"基础渠道欢迎语:",e.welcome_mode==="channel");if(s)return s;if(e.welcome_mode==="channel"&&e.welcome_schedule_enabled&&!e.welcome_schedule.length)return"请至少添加一个分时欢迎语时段";for(const[m,n]of e.welcome_schedule.entries()){const r=ee(n,`欢迎语时段 ${m+1}:`)||le(n,`欢迎语时段 ${m+1}:`);if(r)return r}return Ue(e.welcome_schedule)?"分时欢迎语的时间范围不能重叠(跨午夜时段归属开始日)":""}const Ae={class:"welcome-editor"},Ne={class:"welcome-editor__fields"},Te={class:"text-tools"},Ee={class:"emoji-grid"},Se=["onClick"],Be={class:"attachments-heading"},Pe={key:0,class:"attachment-empty"},Ie={class:"attachment-card__heading"},Me={class:"upload-field"},ze={class:"field-tip"},je={class:"attachment-label"},De={class:"attachment-label"},Le={class:"attachment-label"},Oe={class:"upload-field mini-upload"},Ge={key:3,role:"alert",class:"upload-error"},We=["accept"],Fe={class:"welcome-preview","aria-label":"欢迎语手机预览"},Je={class:"phone-heading"},Re={class:"phone-content"},He={key:0,class:"chat-row"},Ke={class:"chat-avatar"},Qe={class:"chat-bubble"},Ze={class:"chat-avatar"},qe={class:"chat-bubble attachment-preview"},Xe=["src"],Ye={key:1,class:"media-placeholder"},el=["src"],ll={key:1,class:"media-placeholder"},tl={key:1,class:"preview-empty"},al=we({__name:"WelcomeMessageEditor",props:{modelValue:{},disabled:{type:Boolean},employeeName:{}},emits:["update:modelValue","busy"],setup(e,{emit:b}){const s=e,m=b,n=E(),r=E(),$=E({start:0,end:0}),V=E(-1),y=X(()=>V.value>=0),U=E({}),T=E({}),I=E({index:0,type:"image"}),J=E("image/jpeg,image/png"),te=["😊","😀","👋","🌹","❤️","👍","🙏","🎉","☀️","✨","💐","🤝","💬","✅","🌿","🍀"],R=[{value:"image",label:"图片"},{value:"link",label:"网页"},{value:"miniprogram",label:"小程序"},{value:"video",label:"视频"},{value:"file",label:"文件"}],ae=X(()=>Array.from(s.modelValue.text).length>1200||N(s.modelValue.text)>4e3);function H(i){m("update:modelValue",{...s.modelValue,text:i})}function j(){var l;const i=(l=n.value)==null?void 0:l.textarea;i&&($.value={start:i.selectionStart,end:i.selectionEnd})}async function K(i){var _,S,A,k;if(s.disabled)return;const{start:l,end:d}=$.value;H(s.modelValue.text.slice(0,l)+i+s.modelValue.text.slice(d)),await Y();const x=l+i.length;(S=(_=n.value)==null?void 0:_.textarea)==null||S.focus(),(k=(A=n.value)==null?void 0:A.textarea)==null||k.setSelectionRange(x,x),$.value={start:x,end:x}}function L(i){var l;return((l=R.find(d=>d.value===i))==null?void 0:l.label)||"附件"}function se(i){if(s.disabled||y.value||s.modelValue.attachments.length>=9)return;let l;i==="image"?l={msgtype:"image",image:{asset_id:""}}:i==="video"?l={msgtype:"video",video:{asset_id:""}}:i==="file"?l={msgtype:"file",file:{asset_id:""}}:i==="link"?l={msgtype:"link",link:{title:"",url:"",desc:"",picurl:""}}:l={msgtype:"miniprogram",miniprogram:{title:"",appid:"",page:"",pic_asset_id:""}},m("update:modelValue",{...s.modelValue,attachments:[...s.modelValue.attachments,l]})}function ie(i){U.value={},m("update:modelValue",{...s.modelValue,attachments:s.modelValue.attachments.filter((l,d)=>d!==i)})}function Q(i,l){const d=[...s.modelValue.attachments];[d[i],d[i+l]]=[d[i+l],d[i]],U.value={},m("update:modelValue",{...s.modelValue,attachments:d})}function B(i){return i.msgtype==="image"?i.image.asset_id||"":i.msgtype==="video"?i.video.asset_id:i.msgtype==="file"?i.file.asset_id:i.msgtype==="miniprogram"?i.miniprogram.pic_asset_id:""}function O(i){var d;const l=B(i);return l?((d=T.value[l])==null?void 0:d.name)||`已保存素材 ${l.slice(-10)}`:i.msgtype==="image"&&i.image.pic_url?"已保存的企微图片":"尚未上传"}function D(i){var l;return((l=T.value[B(i)])==null?void 0:l.url)||""}async function Z(i,l){var d;I.value={index:i,type:l},J.value=l==="image"?".jpg,.jpeg,.png":l==="video"?".mp4":"*",await Y(),(d=r.value)==null||d.click()}async function ne(i){var P;const l=i.target,d=(P=l.files)==null?void 0:P[0];if(l.value="",!d)return;const{index:x,type:_}=I.value,S=_==="file"?20:10;let A="";if(d.size<=5||d.size>S*1024*1024?A=`文件必须大于 5 字节且不超过 ${S}MB`:_==="image"&&!/\.(jpe?g|png)$/i.test(d.name)?A="图片仅支持 JPG / PNG 格式":_==="video"&&!/\.mp4$/i.test(d.name)&&(A="视频仅支持 MP4 格式"),A){U.value[x]=A;return}const k=s.modelValue.attachments[x];if(k){V.value=x,m("busy",!0),delete U.value[x];try{const t=await ke(d,_);if(!(t!=null&&t.asset_id))throw new Error("上传接口未返回素材 ID");const p=String(t.asset_id);T.value[p]={name:t.name||d.name,url:_==="image"?URL.createObjectURL(d):void 0},k.msgtype==="image"?k.image={asset_id:p}:k.msgtype==="video"?k.video.asset_id=p:k.msgtype==="file"?k.file.asset_id=p:k.msgtype==="miniprogram"&&(k.miniprogram.pic_asset_id=p),fe.success("素材已上传")}catch(t){U.value[x]=t instanceof Error?t.message:typeof t=="string"?t:"素材上传失败"}finally{V.value=-1,m("busy",!1)}}}return he(()=>{Object.values(T.value).forEach(i=>{i.url&&URL.revokeObjectURL(i.url)}),m("busy",!1)}),(i,l)=>{const d=oe,x=de,_=re,S=ce,A=me,k=ue,P=pe;return u(),f("div",Ae,[a("div",Ne,[a("div",Te,[c(x,{placement:"bottom-start",trigger:"click",width:240,disabled:e.disabled},{reference:v(()=>[c(d,{size:"small",disabled:e.disabled},{default:v(()=>[...l[0]||(l[0]=[w("☺ 插入表情",-1)])]),_:1},8,["disabled"])]),default:v(()=>[a("div",Ee,[(u(),f(C,null,M(te,t=>a("button",{key:t,type:"button",onClick:p=>K(t)},o(t),9,Se)),64))])]),_:1},8,["disabled"]),(u(!0),f(C,null,M(h(xe),t=>(u(),G(d,{key:t.value,size:"small",disabled:e.disabled,onClick:p=>K(t.value)},{default:v(()=>[w(o(t.label),1)]),_:2},1032,["disabled","onClick"]))),128))]),c(_,{ref_key:"textInput",ref:n,"model-value":e.modelValue.text,type:"textarea",rows:6,disabled:e.disabled,placeholder:"请输入欢迎语,也可插入客户昵称、员工昵称和添加日期","onUpdate:modelValue":H,onSelect:j,onKeyup:j,onClick:j,onBlur:j},null,8,["model-value","disabled"]),a("div",{class:W(["text-count",{"is-error":ae.value}])},o(Array.from(e.modelValue.text).length)+"/1200 字 · "+o(h(N)(e.modelValue.text))+"/4000 字节",3),a("div",Be,[a("strong",null,[l[1]||(l[1]=w("附件 ",-1)),a("span",null,o(e.modelValue.attachments.length)+"/9",1)]),c(k,{disabled:e.disabled||e.modelValue.attachments.length>=9||y.value,onCommand:se},{dropdown:v(()=>[c(A,null,{default:v(()=>[(u(),f(C,null,M(R,t=>c(S,{key:t.value,command:t.value},{default:v(()=>[w(o(t.label),1)]),_:2},1032,["command"])),64))]),_:1})]),default:v(()=>[c(d,{size:"small",disabled:e.disabled||e.modelValue.attachments.length>=9||y.value,icon:h(be)},{default:v(()=>[...l[2]||(l[2]=[w("添加附件",-1)])]),_:1},8,["disabled","icon"])]),_:1},8,["disabled"])]),e.modelValue.attachments.length?z("",!0):(u(),f("div",Pe,"可添加图片、网页、小程序、视频或文件。")),(u(!0),f(C,null,M(e.modelValue.attachments,(t,p)=>(u(),f("div",{key:p,class:"attachment-card"},[a("div",Ie,[a("strong",null,o(p+1)+". "+o(L(t.msgtype)),1),a("div",null,[c(d,{text:"",size:"small",disabled:e.disabled||y.value||p===0,onClick:g=>Q(p,-1)},{default:v(()=>[...l[3]||(l[3]=[w("上移",-1)])]),_:1},8,["disabled","onClick"]),c(d,{text:"",size:"small",disabled:e.disabled||y.value||p===e.modelValue.attachments.length-1,onClick:g=>Q(p,1)},{default:v(()=>[...l[4]||(l[4]=[w("下移",-1)])]),_:1},8,["disabled","onClick"]),c(d,{text:"",type:"danger",size:"small",disabled:e.disabled||y.value,onClick:g=>ie(p)},{default:v(()=>[...l[5]||(l[5]=[w("删除",-1)])]),_:1},8,["disabled","onClick"])])]),t.msgtype==="image"||t.msgtype==="video"||t.msgtype==="file"?(u(),f(C,{key:0},[a("div",Me,[c(d,{size:"small",icon:h(q),loading:V.value===p,disabled:e.disabled||y.value,onClick:g=>Z(p,t.msgtype)},{default:v(()=>[w(o(B(t)?"重新上传":"上传")+o(L(t.msgtype)),1)]),_:2},1032,["icon","loading","disabled","onClick"]),a("span",{class:W(B(t)?"asset-ready":"muted")},o(O(t)),3)]),a("small",ze,o(t.msgtype==="image"?"JPG / PNG,最多 10MB。":t.msgtype==="video"?"MP4,最多 10MB。":"文件最多 20MB。")+"上传成功后由服务端保存素材;未上传完成不能提交。",1)],64)):t.msgtype==="link"?(u(),f(C,{key:1},[a("label",je,[l[6]||(l[6]=w("网页标题 ",-1)),a("span",null,o(h(N)(t.link.title))+"/128 字节",1)]),c(_,{modelValue:t.link.title,"onUpdate:modelValue":g=>t.link.title=g,disabled:e.disabled,placeholder:"必填:网页标题"},null,8,["modelValue","onUpdate:modelValue","disabled"]),l[8]||(l[8]=a("label",{class:"attachment-label"},"网页地址",-1)),c(_,{modelValue:t.link.url,"onUpdate:modelValue":g=>t.link.url=g,disabled:e.disabled,placeholder:"https://"},null,8,["modelValue","onUpdate:modelValue","disabled"]),a("label",De,[l[7]||(l[7]=w("网页描述 ",-1)),a("span",null,o(h(N)(t.link.desc))+"/512 字节",1)]),c(_,{modelValue:t.link.desc,"onUpdate:modelValue":g=>t.link.desc=g,disabled:e.disabled,type:"textarea",rows:2,placeholder:"选填:网页摘要"},null,8,["modelValue","onUpdate:modelValue","disabled"]),l[9]||(l[9]=a("label",{class:"attachment-label"},"网页封面地址",-1)),c(_,{modelValue:t.link.picurl,"onUpdate:modelValue":g=>t.link.picurl=g,disabled:e.disabled,placeholder:"选填:公网可访问的 HTTPS 图片地址"},null,8,["modelValue","onUpdate:modelValue","disabled"])],64)):t.msgtype==="miniprogram"?(u(),f(C,{key:2},[a("label",Le,[l[10]||(l[10]=w("小程序标题 ",-1)),a("span",null,o(h(N)(t.miniprogram.title))+"/64 字节",1)]),c(_,{modelValue:t.miniprogram.title,"onUpdate:modelValue":g=>t.miniprogram.title=g,disabled:e.disabled,placeholder:"必填:小程序标题"},null,8,["modelValue","onUpdate:modelValue","disabled"]),l[11]||(l[11]=a("label",{class:"attachment-label"},"AppID",-1)),c(_,{modelValue:t.miniprogram.appid,"onUpdate:modelValue":g=>t.miniprogram.appid=g,disabled:e.disabled,placeholder:"必填:小程序 AppID"},null,8,["modelValue","onUpdate:modelValue","disabled"]),l[12]||(l[12]=a("label",{class:"attachment-label"},"页面路径",-1)),c(_,{modelValue:t.miniprogram.page,"onUpdate:modelValue":g=>t.miniprogram.page=g,disabled:e.disabled,placeholder:"pages/index/index,可包含查询参数"},null,8,["modelValue","onUpdate:modelValue","disabled"]),a("div",Oe,[c(d,{size:"small",icon:h(q),loading:V.value===p,disabled:e.disabled||y.value,onClick:g=>Z(p,"image")},{default:v(()=>[w(o(t.miniprogram.pic_asset_id?"更换封面":"上传小程序封面"),1)]),_:2},1032,["icon","loading","disabled","onClick"]),a("span",{class:W(B(t)?"asset-ready":"muted")},o(O(t)),3)]),l[13]||(l[13]=a("small",{class:"field-tip"},"JPG / PNG,最多 10MB。",-1))],64)):z("",!0),U.value[p]?(u(),f("div",Ge,o(U.value[p])+" 请重试上传,原素材未被替换。",1)):z("",!0)]))),128)),a("input",{ref_key:"fileInput",ref:r,class:"file-input",type:"file",accept:J.value,onChange:ne},null,40,We)]),a("aside",Fe,[a("div",Je,[l[14]||(l[14]=a("span",null,"‹",-1)),a("strong",null,o(e.employeeName||"接待员工"),1),l[15]||(l[15]=a("span",null,"···",-1))]),a("div",Re,[l[19]||(l[19]=a("div",{class:"preview-time"},"添加成功 · 预览示例",-1)),e.modelValue.text?(u(),f("div",He,[a("span",Ke,o((e.employeeName||"员").slice(0,1)),1),a("div",Qe,o(h($e)(e.modelValue.text,e.employeeName)),1)])):z("",!0),(u(!0),f(C,null,M(e.modelValue.attachments,(t,p)=>(u(),f("div",{key:p,class:"chat-row"},[a("span",Ze,o((e.employeeName||"员").slice(0,1)),1),a("div",qe,[t.msgtype==="image"?(u(),f(C,{key:0},[D(t)?(u(),f("img",{key:0,src:D(t),alt:"欢迎语图片预览"},null,8,Xe)):(u(),f("div",Ye,[c(P,null,{default:v(()=>[c(h(ge))]),_:1}),a("span",null,o(B(t)?"已保存的图片素材":"待上传图片"),1)]))],64)):t.msgtype==="link"?(u(),f(C,{key:1},[a("strong",null,o(t.link.title||"网页标题"),1),a("p",null,o(t.link.desc||"网页摘要"),1),l[16]||(l[16]=a("small",null,"网页链接",-1))],64)):t.msgtype==="miniprogram"?(u(),f(C,{key:2},[l[18]||(l[18]=a("small",null,"小程序",-1)),a("strong",null,o(t.miniprogram.title||"小程序标题"),1),D(t)?(u(),f("img",{key:0,src:D(t),alt:"小程序封面预览"},null,8,el)):(u(),f("div",ll,[c(P,null,{default:v(()=>[c(h(_e))]),_:1}),l[17]||(l[17]=a("span",null,"小程序封面",-1))]))],64)):(u(),f(C,{key:3},[c(P,{class:"file-icon"},{default:v(()=>[t.msgtype==="video"?(u(),G(h(ve),{key:0})):(u(),G(h(ye),{key:1}))]),_:2},1024),a("strong",null,o(O(t)),1),a("small",null,o(L(t.msgtype)),1)],64))])]))),128)),!e.modelValue.text&&!e.modelValue.attachments.length?(u(),f("div",tl,"编辑内容后在这里预览")):z("",!0)]),l[20]||(l[20]=a("div",{class:"phone-input"},[a("span",null,"⊕"),a("span",{class:"phone-input__blank"}),a("span",null,"☺")],-1)),l[21]||(l[21]=a("p",{class:"preview-note"},"仅为排版示意,昵称与时间会替换为实际值。",-1))])])}}}),sl=Ve(al,[["__scopeId","data-v-1e5d0e03"]]),_l=Object.freeze(Object.defineProperty({__proto__:null,default:sl},Symbol.toStringTag,{value:"Module"}));export{sl as W,gl as a,_l as b,fl as c,Ce as d,F as i,$e as p,bl as s,xe as t,pl as v,cl as w}; +import{a2 as de,i as oe,C as re,p as ue,n as me,o as ce,d as pe,E as fe}from"./element-plus-DGP1XOrU.js";import{A as be,ac as q,P as ge,T as _e,ad as ve,G as ye}from"./@element-plus/icons-vue-CbYn5zW9.js";import{A as ke}from"./first_visit-lwfDQsu4.js";import{f as we,ae as he,ak as u,I as f,J as a,a as c,aN as v,F as C,ap as M,O as w,G,H as z,A as X,n as Y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as o,o as W}from"./@vue/shared-mAAVTE9n.js";import{y as h,n as E}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Ve}from"./index-J_eFER10.js";const cl=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"],xe=[{label:"客户昵称",value:"{customer_name}"},{label:"员工昵称",value:"{employee_name}"},{label:"添加时间",value:"{add_time}"}],N=e=>new TextEncoder().encode(e).length;function pl(e){return e.trim()?/[\p{C}\u2028\u2029]/u.test(e)?"标签名称不能包含换行、控制字符或不可见格式字符":Array.from(e.trim()).length>30?"标签名称最多 30 个字符":"":"请输入自定义标签名称"}function Ce(){return{reception_mode:"always",reception_schedule:[],backup_member_admin_ids:[],tags_enabled:!1,tag_ids:[],remark_enabled:!1,remark_template:"{customer_name}",description_enabled:!1,description:"",welcome_mode:"default",welcome:{text:"",attachments:[]},welcome_schedule_enabled:!1,welcome_schedule:[]}}function fl(e){var m,n;const b=Ce();if(!e)return b;const s=JSON.parse(JSON.stringify(e));return{reception_mode:s.reception_mode==="scheduled"?"scheduled":"always",reception_schedule:(s.reception_schedule||[]).map(({weekdays:r,start:$,end:V,member_admin_ids:y})=>({weekdays:[...r],start:$,end:V,member_admin_ids:y.map(Number)})),backup_member_admin_ids:(s.backup_member_admin_ids||[]).map(Number),tags_enabled:!!s.tags_enabled,tag_ids:[...s.tag_ids||[]],remark_enabled:!!s.remark_enabled,remark_template:s.remark_template??b.remark_template,description_enabled:!!s.description_enabled,description:s.description||"",welcome_mode:s.welcome_mode||"default",welcome:{text:((m=s.welcome)==null?void 0:m.text)||"",attachments:((n=s.welcome)==null?void 0:n.attachments)||[]},welcome_schedule_enabled:!!s.welcome_schedule_enabled,welcome_schedule:(s.welcome_schedule||[]).map(({weekdays:r,start:$,end:V,text:y,attachments:U})=>({weekdays:[...r],start:$,end:V,text:y||"",attachments:U||[]}))}}function bl(e){return{...e,tags_enabled:e.tags_enabled?1:0,remark_enabled:e.remark_enabled?1:0,description_enabled:e.description_enabled?1:0,welcome_schedule_enabled:e.welcome_schedule_enabled?1:0}}function $e(e,b="小陈",s){const m=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(new Date),n=e.replace(/\{(customer_name|employee_name|add_time)\}/g,r=>({"{customer_name}":"张女士","{employee_name}":b,"{add_time}":m})[r]||r);return s?Array.from(n).slice(0,s).join(""):n}function F(e){try{return["https:","http:"].includes(new URL(e).protocol)}catch{return!1}}function ee(e,b){return!e.weekdays.length||e.weekdays.some(s=>s<1||s>7)?`${b}请选择星期`:!/^(?:[01]\d|2[0-3]):[0-5]\d$/.test(e.start)||!/^(?:[01]\d|2[0-3]):[0-5]\d$/.test(e.end)?`${b}请填写有效的起止时间`:e.start===e.end?`${b}开始与结束时间不能相同,全天接待请选择全天模式`:""}function le(e,b,s=!0){if(Array.from(e.text).length>1200)return`${b}正文不能超过 1200 字`;if(N(e.text)>4e3)return`${b}正文不能超过 4000 UTF-8 字节,请减少表情或文字`;if(e.attachments.length>9)return`${b}最多添加 9 个附件`;if(s&&!e.text.trim()&&!e.attachments.length)return`${b}请填写正文或添加附件`;for(const[m,n]of e.attachments.entries()){const r=`${b}第 ${m+1} 个附件:`;switch(n.msgtype){case"image":if(!n.image.asset_id&&!F(n.image.pic_url||""))return r+"请上传图片或填写有效图片地址";break;case"video":if(!n.video.asset_id)return r+"请先上传视频";break;case"file":if(!n.file.asset_id)return r+"请先上传文件";break;case"link":if(!n.link.title.trim()||!F(n.link.url))return r+"请填写网页标题和有效的 HTTP/HTTPS 链接";if(N(n.link.title)>128||N(n.link.desc)>512)return r+"网页标题限 128 字节,描述限 512 字节";if(n.link.picurl&&!F(n.link.picurl))return r+"网页封面地址无效";break;case"miniprogram":if(!n.miniprogram.title.trim()||!n.miniprogram.appid.trim()||!n.miniprogram.page.trim()||!n.miniprogram.pic_asset_id)return r+"请填写小程序标题、AppID、页面路径并上传封面";if(N(n.miniprogram.title)>64)return r+"小程序标题不能超过 64 字节";break}}return""}function Ue(e){const b=new Set;for(const s of e){const[m,n]=s.start.split(":").map(Number),[r,$]=s.end.split(":").map(Number),V=m*60+n,y=(r*60+$-V+1440)%1440;for(const U of new Set(s.weekdays))for(let T=0;Tb.includes(m)))return"备用成员不能与主接待成员重复";if(e.reception_schedule.length>30||e.welcome_schedule.length>30)return"每类时段最多添加 30 条";if(e.reception_mode==="scheduled"){if(!e.reception_schedule.length)return"按时段接待至少需要一个接待时段";if(!e.backup_member_admin_ids.length)return"按时段接待至少需要一名备用成员,以承接非接待时段的客户"}for(const[m,n]of e.reception_schedule.entries()){const r=ee(n,`接待时段 ${m+1}:`);if(r)return r;if(!n.member_admin_ids.length)return`接待时段 ${m+1}:请至少选择一名成员`;if(n.member_admin_ids.some($=>!b.includes($)))return`接待时段 ${m+1}:成员必须来自主接待成员,请重新选择`}if(e.tags_enabled&&!e.tag_ids.length)return"启用客户标签后,请选择一个企业微信标签,或创建自定义标签";if(e.tag_ids.length>1)return"客户标签只能选择一个,请重新选择或清空原标签";if(e.remark_enabled&&!e.remark_template.trim())return"请填写客户备注模板";if(Array.from(e.remark_template).length>200)return"客户备注模板不能超过 200 字";if(e.description_enabled&&!e.description.trim())return"请填写客户描述";if(Array.from(e.description).length>150)return"客户描述不能超过 150 字";const s=le(e.welcome,"基础渠道欢迎语:",e.welcome_mode==="channel");if(s)return s;if(e.welcome_mode==="channel"&&e.welcome_schedule_enabled&&!e.welcome_schedule.length)return"请至少添加一个分时欢迎语时段";for(const[m,n]of e.welcome_schedule.entries()){const r=ee(n,`欢迎语时段 ${m+1}:`)||le(n,`欢迎语时段 ${m+1}:`);if(r)return r}return Ue(e.welcome_schedule)?"分时欢迎语的时间范围不能重叠(跨午夜时段归属开始日)":""}const Ae={class:"welcome-editor"},Ne={class:"welcome-editor__fields"},Te={class:"text-tools"},Ee={class:"emoji-grid"},Se=["onClick"],Be={class:"attachments-heading"},Pe={key:0,class:"attachment-empty"},Ie={class:"attachment-card__heading"},Me={class:"upload-field"},ze={class:"field-tip"},je={class:"attachment-label"},De={class:"attachment-label"},Le={class:"attachment-label"},Oe={class:"upload-field mini-upload"},Ge={key:3,role:"alert",class:"upload-error"},We=["accept"],Fe={class:"welcome-preview","aria-label":"欢迎语手机预览"},Je={class:"phone-heading"},Re={class:"phone-content"},He={key:0,class:"chat-row"},Ke={class:"chat-avatar"},Qe={class:"chat-bubble"},Ze={class:"chat-avatar"},qe={class:"chat-bubble attachment-preview"},Xe=["src"],Ye={key:1,class:"media-placeholder"},el=["src"],ll={key:1,class:"media-placeholder"},tl={key:1,class:"preview-empty"},al=we({__name:"WelcomeMessageEditor",props:{modelValue:{},disabled:{type:Boolean},employeeName:{}},emits:["update:modelValue","busy"],setup(e,{emit:b}){const s=e,m=b,n=E(),r=E(),$=E({start:0,end:0}),V=E(-1),y=X(()=>V.value>=0),U=E({}),T=E({}),I=E({index:0,type:"image"}),J=E("image/jpeg,image/png"),te=["😊","😀","👋","🌹","❤️","👍","🙏","🎉","☀️","✨","💐","🤝","💬","✅","🌿","🍀"],R=[{value:"image",label:"图片"},{value:"link",label:"网页"},{value:"miniprogram",label:"小程序"},{value:"video",label:"视频"},{value:"file",label:"文件"}],ae=X(()=>Array.from(s.modelValue.text).length>1200||N(s.modelValue.text)>4e3);function H(i){m("update:modelValue",{...s.modelValue,text:i})}function j(){var l;const i=(l=n.value)==null?void 0:l.textarea;i&&($.value={start:i.selectionStart,end:i.selectionEnd})}async function K(i){var _,S,A,k;if(s.disabled)return;const{start:l,end:d}=$.value;H(s.modelValue.text.slice(0,l)+i+s.modelValue.text.slice(d)),await Y();const x=l+i.length;(S=(_=n.value)==null?void 0:_.textarea)==null||S.focus(),(k=(A=n.value)==null?void 0:A.textarea)==null||k.setSelectionRange(x,x),$.value={start:x,end:x}}function L(i){var l;return((l=R.find(d=>d.value===i))==null?void 0:l.label)||"附件"}function se(i){if(s.disabled||y.value||s.modelValue.attachments.length>=9)return;let l;i==="image"?l={msgtype:"image",image:{asset_id:""}}:i==="video"?l={msgtype:"video",video:{asset_id:""}}:i==="file"?l={msgtype:"file",file:{asset_id:""}}:i==="link"?l={msgtype:"link",link:{title:"",url:"",desc:"",picurl:""}}:l={msgtype:"miniprogram",miniprogram:{title:"",appid:"",page:"",pic_asset_id:""}},m("update:modelValue",{...s.modelValue,attachments:[...s.modelValue.attachments,l]})}function ie(i){U.value={},m("update:modelValue",{...s.modelValue,attachments:s.modelValue.attachments.filter((l,d)=>d!==i)})}function Q(i,l){const d=[...s.modelValue.attachments];[d[i],d[i+l]]=[d[i+l],d[i]],U.value={},m("update:modelValue",{...s.modelValue,attachments:d})}function B(i){return i.msgtype==="image"?i.image.asset_id||"":i.msgtype==="video"?i.video.asset_id:i.msgtype==="file"?i.file.asset_id:i.msgtype==="miniprogram"?i.miniprogram.pic_asset_id:""}function O(i){var d;const l=B(i);return l?((d=T.value[l])==null?void 0:d.name)||`已保存素材 ${l.slice(-10)}`:i.msgtype==="image"&&i.image.pic_url?"已保存的企微图片":"尚未上传"}function D(i){var l;return((l=T.value[B(i)])==null?void 0:l.url)||""}async function Z(i,l){var d;I.value={index:i,type:l},J.value=l==="image"?".jpg,.jpeg,.png":l==="video"?".mp4":"*",await Y(),(d=r.value)==null||d.click()}async function ne(i){var P;const l=i.target,d=(P=l.files)==null?void 0:P[0];if(l.value="",!d)return;const{index:x,type:_}=I.value,S=_==="file"?20:10;let A="";if(d.size<=5||d.size>S*1024*1024?A=`文件必须大于 5 字节且不超过 ${S}MB`:_==="image"&&!/\.(jpe?g|png)$/i.test(d.name)?A="图片仅支持 JPG / PNG 格式":_==="video"&&!/\.mp4$/i.test(d.name)&&(A="视频仅支持 MP4 格式"),A){U.value[x]=A;return}const k=s.modelValue.attachments[x];if(k){V.value=x,m("busy",!0),delete U.value[x];try{const t=await ke(d,_);if(!(t!=null&&t.asset_id))throw new Error("上传接口未返回素材 ID");const p=String(t.asset_id);T.value[p]={name:t.name||d.name,url:_==="image"?URL.createObjectURL(d):void 0},k.msgtype==="image"?k.image={asset_id:p}:k.msgtype==="video"?k.video.asset_id=p:k.msgtype==="file"?k.file.asset_id=p:k.msgtype==="miniprogram"&&(k.miniprogram.pic_asset_id=p),fe.success("素材已上传")}catch(t){U.value[x]=t instanceof Error?t.message:typeof t=="string"?t:"素材上传失败"}finally{V.value=-1,m("busy",!1)}}}return he(()=>{Object.values(T.value).forEach(i=>{i.url&&URL.revokeObjectURL(i.url)}),m("busy",!1)}),(i,l)=>{const d=oe,x=de,_=re,S=ce,A=me,k=ue,P=pe;return u(),f("div",Ae,[a("div",Ne,[a("div",Te,[c(x,{placement:"bottom-start",trigger:"click",width:240,disabled:e.disabled},{reference:v(()=>[c(d,{size:"small",disabled:e.disabled},{default:v(()=>[...l[0]||(l[0]=[w("☺ 插入表情",-1)])]),_:1},8,["disabled"])]),default:v(()=>[a("div",Ee,[(u(),f(C,null,M(te,t=>a("button",{key:t,type:"button",onClick:p=>K(t)},o(t),9,Se)),64))])]),_:1},8,["disabled"]),(u(!0),f(C,null,M(h(xe),t=>(u(),G(d,{key:t.value,size:"small",disabled:e.disabled,onClick:p=>K(t.value)},{default:v(()=>[w(o(t.label),1)]),_:2},1032,["disabled","onClick"]))),128))]),c(_,{ref_key:"textInput",ref:n,"model-value":e.modelValue.text,type:"textarea",rows:6,disabled:e.disabled,placeholder:"请输入欢迎语,也可插入客户昵称、员工昵称和添加日期","onUpdate:modelValue":H,onSelect:j,onKeyup:j,onClick:j,onBlur:j},null,8,["model-value","disabled"]),a("div",{class:W(["text-count",{"is-error":ae.value}])},o(Array.from(e.modelValue.text).length)+"/1200 字 · "+o(h(N)(e.modelValue.text))+"/4000 字节",3),a("div",Be,[a("strong",null,[l[1]||(l[1]=w("附件 ",-1)),a("span",null,o(e.modelValue.attachments.length)+"/9",1)]),c(k,{disabled:e.disabled||e.modelValue.attachments.length>=9||y.value,onCommand:se},{dropdown:v(()=>[c(A,null,{default:v(()=>[(u(),f(C,null,M(R,t=>c(S,{key:t.value,command:t.value},{default:v(()=>[w(o(t.label),1)]),_:2},1032,["command"])),64))]),_:1})]),default:v(()=>[c(d,{size:"small",disabled:e.disabled||e.modelValue.attachments.length>=9||y.value,icon:h(be)},{default:v(()=>[...l[2]||(l[2]=[w("添加附件",-1)])]),_:1},8,["disabled","icon"])]),_:1},8,["disabled"])]),e.modelValue.attachments.length?z("",!0):(u(),f("div",Pe,"可添加图片、网页、小程序、视频或文件。")),(u(!0),f(C,null,M(e.modelValue.attachments,(t,p)=>(u(),f("div",{key:p,class:"attachment-card"},[a("div",Ie,[a("strong",null,o(p+1)+". "+o(L(t.msgtype)),1),a("div",null,[c(d,{text:"",size:"small",disabled:e.disabled||y.value||p===0,onClick:g=>Q(p,-1)},{default:v(()=>[...l[3]||(l[3]=[w("上移",-1)])]),_:1},8,["disabled","onClick"]),c(d,{text:"",size:"small",disabled:e.disabled||y.value||p===e.modelValue.attachments.length-1,onClick:g=>Q(p,1)},{default:v(()=>[...l[4]||(l[4]=[w("下移",-1)])]),_:1},8,["disabled","onClick"]),c(d,{text:"",type:"danger",size:"small",disabled:e.disabled||y.value,onClick:g=>ie(p)},{default:v(()=>[...l[5]||(l[5]=[w("删除",-1)])]),_:1},8,["disabled","onClick"])])]),t.msgtype==="image"||t.msgtype==="video"||t.msgtype==="file"?(u(),f(C,{key:0},[a("div",Me,[c(d,{size:"small",icon:h(q),loading:V.value===p,disabled:e.disabled||y.value,onClick:g=>Z(p,t.msgtype)},{default:v(()=>[w(o(B(t)?"重新上传":"上传")+o(L(t.msgtype)),1)]),_:2},1032,["icon","loading","disabled","onClick"]),a("span",{class:W(B(t)?"asset-ready":"muted")},o(O(t)),3)]),a("small",ze,o(t.msgtype==="image"?"JPG / PNG,最多 10MB。":t.msgtype==="video"?"MP4,最多 10MB。":"文件最多 20MB。")+"上传成功后由服务端保存素材;未上传完成不能提交。",1)],64)):t.msgtype==="link"?(u(),f(C,{key:1},[a("label",je,[l[6]||(l[6]=w("网页标题 ",-1)),a("span",null,o(h(N)(t.link.title))+"/128 字节",1)]),c(_,{modelValue:t.link.title,"onUpdate:modelValue":g=>t.link.title=g,disabled:e.disabled,placeholder:"必填:网页标题"},null,8,["modelValue","onUpdate:modelValue","disabled"]),l[8]||(l[8]=a("label",{class:"attachment-label"},"网页地址",-1)),c(_,{modelValue:t.link.url,"onUpdate:modelValue":g=>t.link.url=g,disabled:e.disabled,placeholder:"https://"},null,8,["modelValue","onUpdate:modelValue","disabled"]),a("label",De,[l[7]||(l[7]=w("网页描述 ",-1)),a("span",null,o(h(N)(t.link.desc))+"/512 字节",1)]),c(_,{modelValue:t.link.desc,"onUpdate:modelValue":g=>t.link.desc=g,disabled:e.disabled,type:"textarea",rows:2,placeholder:"选填:网页摘要"},null,8,["modelValue","onUpdate:modelValue","disabled"]),l[9]||(l[9]=a("label",{class:"attachment-label"},"网页封面地址",-1)),c(_,{modelValue:t.link.picurl,"onUpdate:modelValue":g=>t.link.picurl=g,disabled:e.disabled,placeholder:"选填:公网可访问的 HTTPS 图片地址"},null,8,["modelValue","onUpdate:modelValue","disabled"])],64)):t.msgtype==="miniprogram"?(u(),f(C,{key:2},[a("label",Le,[l[10]||(l[10]=w("小程序标题 ",-1)),a("span",null,o(h(N)(t.miniprogram.title))+"/64 字节",1)]),c(_,{modelValue:t.miniprogram.title,"onUpdate:modelValue":g=>t.miniprogram.title=g,disabled:e.disabled,placeholder:"必填:小程序标题"},null,8,["modelValue","onUpdate:modelValue","disabled"]),l[11]||(l[11]=a("label",{class:"attachment-label"},"AppID",-1)),c(_,{modelValue:t.miniprogram.appid,"onUpdate:modelValue":g=>t.miniprogram.appid=g,disabled:e.disabled,placeholder:"必填:小程序 AppID"},null,8,["modelValue","onUpdate:modelValue","disabled"]),l[12]||(l[12]=a("label",{class:"attachment-label"},"页面路径",-1)),c(_,{modelValue:t.miniprogram.page,"onUpdate:modelValue":g=>t.miniprogram.page=g,disabled:e.disabled,placeholder:"pages/index/index,可包含查询参数"},null,8,["modelValue","onUpdate:modelValue","disabled"]),a("div",Oe,[c(d,{size:"small",icon:h(q),loading:V.value===p,disabled:e.disabled||y.value,onClick:g=>Z(p,"image")},{default:v(()=>[w(o(t.miniprogram.pic_asset_id?"更换封面":"上传小程序封面"),1)]),_:2},1032,["icon","loading","disabled","onClick"]),a("span",{class:W(B(t)?"asset-ready":"muted")},o(O(t)),3)]),l[13]||(l[13]=a("small",{class:"field-tip"},"JPG / PNG,最多 10MB。",-1))],64)):z("",!0),U.value[p]?(u(),f("div",Ge,o(U.value[p])+" 请重试上传,原素材未被替换。",1)):z("",!0)]))),128)),a("input",{ref_key:"fileInput",ref:r,class:"file-input",type:"file",accept:J.value,onChange:ne},null,40,We)]),a("aside",Fe,[a("div",Je,[l[14]||(l[14]=a("span",null,"‹",-1)),a("strong",null,o(e.employeeName||"接待员工"),1),l[15]||(l[15]=a("span",null,"···",-1))]),a("div",Re,[l[19]||(l[19]=a("div",{class:"preview-time"},"添加成功 · 预览示例",-1)),e.modelValue.text?(u(),f("div",He,[a("span",Ke,o((e.employeeName||"员").slice(0,1)),1),a("div",Qe,o(h($e)(e.modelValue.text,e.employeeName)),1)])):z("",!0),(u(!0),f(C,null,M(e.modelValue.attachments,(t,p)=>(u(),f("div",{key:p,class:"chat-row"},[a("span",Ze,o((e.employeeName||"员").slice(0,1)),1),a("div",qe,[t.msgtype==="image"?(u(),f(C,{key:0},[D(t)?(u(),f("img",{key:0,src:D(t),alt:"欢迎语图片预览"},null,8,Xe)):(u(),f("div",Ye,[c(P,null,{default:v(()=>[c(h(ge))]),_:1}),a("span",null,o(B(t)?"已保存的图片素材":"待上传图片"),1)]))],64)):t.msgtype==="link"?(u(),f(C,{key:1},[a("strong",null,o(t.link.title||"网页标题"),1),a("p",null,o(t.link.desc||"网页摘要"),1),l[16]||(l[16]=a("small",null,"网页链接",-1))],64)):t.msgtype==="miniprogram"?(u(),f(C,{key:2},[l[18]||(l[18]=a("small",null,"小程序",-1)),a("strong",null,o(t.miniprogram.title||"小程序标题"),1),D(t)?(u(),f("img",{key:0,src:D(t),alt:"小程序封面预览"},null,8,el)):(u(),f("div",ll,[c(P,null,{default:v(()=>[c(h(_e))]),_:1}),l[17]||(l[17]=a("span",null,"小程序封面",-1))]))],64)):(u(),f(C,{key:3},[c(P,{class:"file-icon"},{default:v(()=>[t.msgtype==="video"?(u(),G(h(ve),{key:0})):(u(),G(h(ye),{key:1}))]),_:2},1024),a("strong",null,o(O(t)),1),a("small",null,o(L(t.msgtype)),1)],64))])]))),128)),!e.modelValue.text&&!e.modelValue.attachments.length?(u(),f("div",tl,"编辑内容后在这里预览")):z("",!0)]),l[20]||(l[20]=a("div",{class:"phone-input"},[a("span",null,"⊕"),a("span",{class:"phone-input__blank"}),a("span",null,"☺")],-1)),l[21]||(l[21]=a("p",{class:"preview-note"},"仅为排版示意,昵称与时间会替换为实际值。",-1))])])}}}),sl=Ve(al,[["__scopeId","data-v-1e5d0e03"]]),_l=Object.freeze(Object.defineProperty({__proto__:null,default:sl},Symbol.toStringTag,{value:"Module"}));export{sl as W,gl as a,_l as b,fl as c,Ce as d,F as i,$e as p,bl as s,xe as t,pl as v,cl as w}; diff --git a/server/public/admin/assets/account-adjust-uROIj6YI.js b/server/public/admin/assets/account-adjust-Dl4mrGMe.js similarity index 86% rename from server/public/admin/assets/account-adjust-uROIj6YI.js rename to server/public/admin/assets/account-adjust-Dl4mrGMe.js index 4b828ac7e..449b3c653 100644 --- a/server/public/admin/assets/account-adjust-uROIj6YI.js +++ b/server/public/admin/assets/account-adjust-Dl4mrGMe.js @@ -1 +1 @@ -import{_ as o}from"./account-adjust.vue_vue_type_script_setup_true_lang-BKavIhtU.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./account-adjust.vue_vue_type_script_setup_true_lang-CWDqkmPn.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-BKavIhtU.js b/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-CWDqkmPn.js similarity index 94% rename from server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-BKavIhtU.js rename to server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-CWDqkmPn.js index f8eed1c98..daa74ee0c 100644 --- a/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-BKavIhtU.js +++ b/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-CWDqkmPn.js @@ -1 +1 @@ -import{D as h,B as q,G as B,J as D,C as F}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./index-D5PquIeg.js";import{k as b}from"./index-fRv3NTFQ.js";import{f as I,w,ak as j,G as J,aN as r,J as S,a,O as u,A as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,q as k,r as A}from"./@vue/reactivity-DiY1c2vO.js";import{Q as y}from"./@vue/shared-mAAVTE9n.js";const M={class:"pr-8"},L=I({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:V}){const s=k(),i=d,f=V,o=A({action:1,num:"",remark:""}),m=k(),c=U(()=>Number(i.value)+Number(o.num)*(o.action==1?1:-1)),R={num:[{required:!0,message:"请输入调整的金额"}]},g=e=>{if(e.includes("-"))return b.msgError("请输入正整数");o.num=e},x=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),f("confirm",o)},C=()=>{var e;f("update:show",!1),(e=s.value)==null||e.resetFields()};return w(()=>i.show,e=>{var t,l;e?(t=m.value)==null||t.open():(l=m.value)==null||l.close()}),w(c,e=>{e<0&&(b.msgError("调整后余额需大于0"),o.num="")}),(e,t)=>{const l=q,_=D,E=B,v=F,N=h;return j(),J(G,{ref_key:"popupRef",ref:m,title:"余额调整",width:"500px",onConfirm:x,async:!0,onClose:C},{default:r(()=>[S("div",M,[a(N,{ref_key:"formRef",ref:s,model:n(o),"label-width":"120px",rules:R},{default:r(()=>[a(l,{label:"当前余额"},{default:r(()=>[u("¥ "+y(d.value),1)]),_:1}),a(l,{label:"余额增减",required:"",prop:"action"},{default:r(()=>[a(E,{modelValue:n(o).action,"onUpdate:modelValue":t[0]||(t[0]=p=>n(o).action=p)},{default:r(()=>[a(_,{value:1},{default:r(()=>[...t[2]||(t[2]=[u("增加余额",-1)])]),_:1}),a(_,{value:2},{default:r(()=>[...t[3]||(t[3]=[u("扣减余额",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(l,{label:"调整余额",prop:"num"},{default:r(()=>[a(v,{"model-value":n(o).num,placeholder:"请输入调整的金额",type:"number",onInput:g},null,8,["model-value"])]),_:1}),a(l,{label:"调整后余额"},{default:r(()=>[u(" ¥ "+y(n(c)),1)]),_:1}),a(l,{label:"备注",prop:"remark"},{default:r(()=>[a(v,{modelValue:n(o).remark,"onUpdate:modelValue":t[1]||(t[1]=p=>n(o).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{L as _}; +import{D as h,B as q,G as B,J as D,C as F}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./index-BVjWjU3h.js";import{k as b}from"./index-J_eFER10.js";import{f as I,w,ak as j,G as J,aN as r,J as S,a,O as u,A as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,q as k,r as A}from"./@vue/reactivity-DiY1c2vO.js";import{Q as y}from"./@vue/shared-mAAVTE9n.js";const M={class:"pr-8"},L=I({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:V}){const s=k(),i=d,f=V,o=A({action:1,num:"",remark:""}),m=k(),c=U(()=>Number(i.value)+Number(o.num)*(o.action==1?1:-1)),R={num:[{required:!0,message:"请输入调整的金额"}]},g=e=>{if(e.includes("-"))return b.msgError("请输入正整数");o.num=e},x=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),f("confirm",o)},C=()=>{var e;f("update:show",!1),(e=s.value)==null||e.resetFields()};return w(()=>i.show,e=>{var t,l;e?(t=m.value)==null||t.open():(l=m.value)==null||l.close()}),w(c,e=>{e<0&&(b.msgError("调整后余额需大于0"),o.num="")}),(e,t)=>{const l=q,_=D,E=B,v=F,N=h;return j(),J(G,{ref_key:"popupRef",ref:m,title:"余额调整",width:"500px",onConfirm:x,async:!0,onClose:C},{default:r(()=>[S("div",M,[a(N,{ref_key:"formRef",ref:s,model:n(o),"label-width":"120px",rules:R},{default:r(()=>[a(l,{label:"当前余额"},{default:r(()=>[u("¥ "+y(d.value),1)]),_:1}),a(l,{label:"余额增减",required:"",prop:"action"},{default:r(()=>[a(E,{modelValue:n(o).action,"onUpdate:modelValue":t[0]||(t[0]=p=>n(o).action=p)},{default:r(()=>[a(_,{value:1},{default:r(()=>[...t[2]||(t[2]=[u("增加余额",-1)])]),_:1}),a(_,{value:2},{default:r(()=>[...t[3]||(t[3]=[u("扣减余额",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(l,{label:"调整余额",prop:"num"},{default:r(()=>[a(v,{"model-value":n(o).num,placeholder:"请输入调整的金额",type:"number",onInput:g},null,8,["model-value"])]),_:1}),a(l,{label:"调整后余额"},{default:r(()=>[u(" ¥ "+y(n(c)),1)]),_:1}),a(l,{label:"备注",prop:"remark"},{default:r(()=>[a(v,{modelValue:n(o).remark,"onUpdate:modelValue":t[1]||(t[1]=p=>n(o).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{L as _}; diff --git a/server/public/admin/assets/account_cost-Cu7HRXZ4.js b/server/public/admin/assets/account_cost-B9kmgGu7.js similarity index 93% rename from server/public/admin/assets/account_cost-Cu7HRXZ4.js rename to server/public/admin/assets/account_cost-B9kmgGu7.js index 7c34b3d81..233f71a2c 100644 --- a/server/public/admin/assets/account_cost-Cu7HRXZ4.js +++ b/server/public/admin/assets/account_cost-B9kmgGu7.js @@ -1 +1 @@ -import{K as re,D as de,B as pe,Z as me,C as ce,i as ue,N as _e,O as fe,r as ve,M as ge}from"./element-plus-DGP1XOrU.js";import{_ as ye}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as we,m as he,k as Ce,_ as ke}from"./index-fRv3NTFQ.js";import{w as be}from"./@vue/runtime-dom-DDAG46FW.js";import{p as xe,a as Ve}from"./self_input_stats-VfgnRjmU.js";import{d as Te}from"./department-OHG8LTQz.js";import{u as Ee}from"./usePaging-DofycyjW.js";import{_ as De}from"./cost-edit.vue_vue_type_script_setup_true_lang-BSDLDO6E.js";import{_ as Se}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";import{u as Re}from"./useMediaSourceOptions-B5yhXJl7.js";import{L as Ae,u as Oe}from"./useListTimeFilter-Btvmdejx.js";import{a as Fe}from"./vue-router-QlpZ4wdW.js";import{f as P,b as Le,as as Pe,ak as r,I as D,a as t,aN as s,J as d,O as c,G as u,H as O,aP as C,A as $e,n as F}from"./@vue/runtime-core-C6bnekPw.js";import{Q as g}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as S,q as Be,n as L,r as Ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const Me={class:"personal-account-cost-page"},Ne={class:"flex flex-wrap"},Ue={class:"w-1/2 md:w-1/3"},Ke={class:"text-4xl"},qe={class:"w-1/2 md:w-1/3"},ze={class:"text-4xl"},Qe={class:"dept-cell"},je={key:1},Ge={key:2,class:"text-gray-400"},He={class:"flex justify-end mt-4"},Je=P({name:"personalAccountCost"}),Ze=P({...Je,setup(We){const $=Fe(),y=Be(),w=L(!1),k=L([]),{mediaSourceOptions:R,mediaSourceLoading:A,loadMediaSourceOptions:B,refreshMediaSourceOptions:b}=Re(),I={value:"id",label:"name",children:"children"},x=$e(()=>he("stats.self_input/overview")||""),M=()=>{x.value&&$.push(x.value)},l=Ie({media_source:"",dept_id:void 0,remark:""}),{time_type:V,dateRange:T,resolve:N,handleTimeTypeChange:U,handleCustomDateChange:K,resetTimeFilter:q}=Oe("today"),{pager:i,getLists:_}=Ee({fetchFun:async n=>{const[e,m]=N();return xe({...n,start_date:e,end_date:m})},params:l}),f=()=>{i.page=1,_()},z=()=>U(f),Q=()=>K(f),j=()=>{q(),l.media_source="",l.dept_id=void 0,l.remark="",i.page=1,i.size=15,_()},G=n=>{n&&b()},H=async()=>{await b(),_()},J=async()=>{var n;await b(),w.value=!0,await F(),(n=y.value)==null||n.open("add")},Z=async n=>{var e,m;w.value=!0,await F(),(e=y.value)==null||e.open("edit"),(m=y.value)==null||m.setFormData(n)},W=async n=>{await Ce.confirm("确定删除该账户消耗记录?"),await Ve({id:n}),_()},X=async()=>{try{const n=await Te({apply_data_scope:1});Array.isArray(n)&&(k.value=n)}catch{k.value=[]}};return Le(async()=>{X(),B(),await _()}),(n,e)=>{const m=re,Y=me,h=pe,ee=ce,v=ue,te=de,oe=we,p=fe,ae=ve,se=_e,ne=ye,E=Pe("perms"),le=ge;return r(),D("div",Me,[t(m,{class:"!border-none mb-4",shadow:"never"},{default:s(()=>[d("div",Ne,[d("div",Ue,[e[7]||(e[7]=d("div",{class:"leading-10"},"当前筛选天数",-1)),d("div",Ke,g(a(i).extend.days_count??0),1)]),d("div",qe,[e[8]||(e[8]=d("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),d("div",ze,"¥"+g(a(i).extend.total_amount??"0.00"),1)])])]),_:1}),t(m,{class:"!border-none",shadow:"never"},{default:s(()=>[t(te,{inline:!0,model:a(l),class:"stats-filter-form"},{default:s(()=>[t(Ae,{"time-type":a(V),"onUpdate:timeType":e[0]||(e[0]=o=>S(V)?V.value=o:null),"date-range":a(T),"onUpdate:dateRange":e[1]||(e[1]=o=>S(T)?T.value=o:null),onTimeTypeChange:z,onCustomChange:Q},null,8,["time-type","date-range"]),t(h,{label:"部门"},{default:s(()=>[t(Y,{modelValue:a(l).dept_id,"onUpdate:modelValue":e[2]||(e[2]=o=>a(l).dept_id=o),data:a(k),"node-key":"id",props:I,"default-expand-all":!0,"check-strictly":"",placeholder:"全部部门",clearable:"",filterable:"",class:"w-[220px]",onChange:f},null,8,["modelValue","data"])]),_:1}),t(h,{label:"自媒体来源"},{default:s(()=>[t(Se,{modelValue:a(l).media_source,"onUpdate:modelValue":e[3]||(e[3]=o=>a(l).media_source=o),options:a(R),loading:a(A),placeholder:"全部来源","allow-create":!1,"select-class":"w-[220px]",onChange:f,onVisibleChange:G},null,8,["modelValue","options","loading"])]),_:1}),t(h,{class:"w-[280px]",label:"备注/录入人"},{default:s(()=>[t(ee,{modelValue:a(l).remark,"onUpdate:modelValue":e[4]||(e[4]=o=>a(l).remark=o),placeholder:"备注 / 创建人",clearable:"",onKeyup:be(f,["enter"])},null,8,["modelValue"])]),_:1}),t(h,null,{default:s(()=>[t(v,{type:"primary",loading:a(i).loading,onClick:f},{default:s(()=>[...e[9]||(e[9]=[c("查询",-1)])]),_:1},8,["loading"]),t(v,{onClick:j},{default:s(()=>[...e[10]||(e[10]=[c("重置",-1)])]),_:1}),a(x)?(r(),u(v,{key:0,class:"ml-2",onClick:M},{default:s(()=>[...e[11]||(e[11]=[c("返回统计",-1)])]),_:1})):O("",!0)]),_:1})]),_:1},8,["model"])]),_:1}),t(m,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[d("div",null,[C((r(),u(v,{type:"primary",onClick:J},{icon:s(()=>[t(oe,{name:"el-icon-Plus"})]),default:s(()=>[e[12]||(e[12]=c(" 新增 ",-1))]),_:1})),[[E,["stats.personal_account_cost/add"]]])]),C((r(),u(se,{class:"mt-4",size:"large",data:a(i).lists},{default:s(()=>[t(p,{label:"日期",prop:"cost_date","min-width":"120"}),t(p,{label:"自媒体来源",prop:"media_source","min-width":"160","show-overflow-tooltip":""}),t(p,{label:"账户消耗","min-width":"120"},{default:s(({row:o})=>[c("¥"+g(o.amount),1)]),_:1}),t(p,{label:"备注",prop:"remark","min-width":"200","show-overflow-tooltip":""}),t(p,{label:"录入人",prop:"creator_name","min-width":"100"}),t(p,{label:"部门",prop:"dept_name","min-width":"140"},{default:s(({row:o})=>[o.dept_path?(r(),u(ae,{key:0,content:o.dept_path,placement:"top",effect:"dark"},{default:s(()=>[d("span",Qe,g(o.dept_name||"未分配"),1)]),_:2},1032,["content"])):o.dept_name?(r(),D("span",je,g(o.dept_name),1)):(r(),D("span",Ge,"未分配"))]),_:1}),t(p,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(p,{label:"更新时间",prop:"update_time","min-width":"180"}),t(p,{label:"操作",width:"160",fixed:"right"},{default:s(({row:o})=>[C((r(),u(v,{type:"primary",link:"",onClick:ie=>Z(o)},{default:s(()=>[...e[13]||(e[13]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[E,["stats.personal_account_cost/edit"]]]),C((r(),u(v,{type:"danger",link:"",onClick:ie=>W(o.id)},{default:s(()=>[...e[14]||(e[14]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[E,["stats.personal_account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[le,a(i).loading]]),d("div",He,[t(ne,{modelValue:a(i),"onUpdate:modelValue":e[5]||(e[5]=o=>S(i)?i.value=o:null),onChange:a(_)},null,8,["modelValue","onChange"])])]),_:1}),a(w)?(r(),u(De,{key:0,ref_key:"editRef",ref:y,"media-source-options":a(R),"media-source-loading":a(A),onSuccess:H,onClose:e[6]||(e[6]=o=>w.value=!1)},null,8,["media-source-options","media-source-loading"])):O("",!0)])}}}),zt=ke(Ze,[["__scopeId","data-v-7efb8396"]]);export{zt as default}; +import{K as re,D as de,B as pe,Z as me,C as ce,i as ue,N as _e,O as fe,r as ve,M as ge}from"./element-plus-DGP1XOrU.js";import{_ as ye}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as we,m as he,k as Ce,_ as ke}from"./index-J_eFER10.js";import{w as be}from"./@vue/runtime-dom-DDAG46FW.js";import{p as xe,a as Ve}from"./self_input_stats-BfVTp8QE.js";import{d as Te}from"./department-DdhKHNS-.js";import{u as Ee}from"./usePaging-DofycyjW.js";import{_ as De}from"./cost-edit.vue_vue_type_script_setup_true_lang-GDC8DpIL.js";import{_ as Se}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";import{u as Re}from"./useMediaSourceOptions-Ct8BjvKG.js";import{L as Ae,u as Oe}from"./useListTimeFilter-BquUtCH_.js";import{a as Fe}from"./vue-router-QlpZ4wdW.js";import{f as P,b as Le,as as Pe,ak as r,I as D,a as t,aN as s,J as d,O as c,G as u,H as O,aP as C,A as $e,n as F}from"./@vue/runtime-core-C6bnekPw.js";import{Q as g}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as S,q as Be,n as L,r as Ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const Me={class:"personal-account-cost-page"},Ne={class:"flex flex-wrap"},Ue={class:"w-1/2 md:w-1/3"},Ke={class:"text-4xl"},qe={class:"w-1/2 md:w-1/3"},ze={class:"text-4xl"},Qe={class:"dept-cell"},je={key:1},Ge={key:2,class:"text-gray-400"},He={class:"flex justify-end mt-4"},Je=P({name:"personalAccountCost"}),Ze=P({...Je,setup(We){const $=Fe(),y=Be(),w=L(!1),k=L([]),{mediaSourceOptions:R,mediaSourceLoading:A,loadMediaSourceOptions:B,refreshMediaSourceOptions:b}=Re(),I={value:"id",label:"name",children:"children"},x=$e(()=>he("stats.self_input/overview")||""),M=()=>{x.value&&$.push(x.value)},l=Ie({media_source:"",dept_id:void 0,remark:""}),{time_type:V,dateRange:T,resolve:N,handleTimeTypeChange:U,handleCustomDateChange:K,resetTimeFilter:q}=Oe("today"),{pager:i,getLists:_}=Ee({fetchFun:async n=>{const[e,m]=N();return xe({...n,start_date:e,end_date:m})},params:l}),f=()=>{i.page=1,_()},z=()=>U(f),Q=()=>K(f),j=()=>{q(),l.media_source="",l.dept_id=void 0,l.remark="",i.page=1,i.size=15,_()},G=n=>{n&&b()},H=async()=>{await b(),_()},J=async()=>{var n;await b(),w.value=!0,await F(),(n=y.value)==null||n.open("add")},Z=async n=>{var e,m;w.value=!0,await F(),(e=y.value)==null||e.open("edit"),(m=y.value)==null||m.setFormData(n)},W=async n=>{await Ce.confirm("确定删除该账户消耗记录?"),await Ve({id:n}),_()},X=async()=>{try{const n=await Te({apply_data_scope:1});Array.isArray(n)&&(k.value=n)}catch{k.value=[]}};return Le(async()=>{X(),B(),await _()}),(n,e)=>{const m=re,Y=me,h=pe,ee=ce,v=ue,te=de,oe=we,p=fe,ae=ve,se=_e,ne=ye,E=Pe("perms"),le=ge;return r(),D("div",Me,[t(m,{class:"!border-none mb-4",shadow:"never"},{default:s(()=>[d("div",Ne,[d("div",Ue,[e[7]||(e[7]=d("div",{class:"leading-10"},"当前筛选天数",-1)),d("div",Ke,g(a(i).extend.days_count??0),1)]),d("div",qe,[e[8]||(e[8]=d("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),d("div",ze,"¥"+g(a(i).extend.total_amount??"0.00"),1)])])]),_:1}),t(m,{class:"!border-none",shadow:"never"},{default:s(()=>[t(te,{inline:!0,model:a(l),class:"stats-filter-form"},{default:s(()=>[t(Ae,{"time-type":a(V),"onUpdate:timeType":e[0]||(e[0]=o=>S(V)?V.value=o:null),"date-range":a(T),"onUpdate:dateRange":e[1]||(e[1]=o=>S(T)?T.value=o:null),onTimeTypeChange:z,onCustomChange:Q},null,8,["time-type","date-range"]),t(h,{label:"部门"},{default:s(()=>[t(Y,{modelValue:a(l).dept_id,"onUpdate:modelValue":e[2]||(e[2]=o=>a(l).dept_id=o),data:a(k),"node-key":"id",props:I,"default-expand-all":!0,"check-strictly":"",placeholder:"全部部门",clearable:"",filterable:"",class:"w-[220px]",onChange:f},null,8,["modelValue","data"])]),_:1}),t(h,{label:"自媒体来源"},{default:s(()=>[t(Se,{modelValue:a(l).media_source,"onUpdate:modelValue":e[3]||(e[3]=o=>a(l).media_source=o),options:a(R),loading:a(A),placeholder:"全部来源","allow-create":!1,"select-class":"w-[220px]",onChange:f,onVisibleChange:G},null,8,["modelValue","options","loading"])]),_:1}),t(h,{class:"w-[280px]",label:"备注/录入人"},{default:s(()=>[t(ee,{modelValue:a(l).remark,"onUpdate:modelValue":e[4]||(e[4]=o=>a(l).remark=o),placeholder:"备注 / 创建人",clearable:"",onKeyup:be(f,["enter"])},null,8,["modelValue"])]),_:1}),t(h,null,{default:s(()=>[t(v,{type:"primary",loading:a(i).loading,onClick:f},{default:s(()=>[...e[9]||(e[9]=[c("查询",-1)])]),_:1},8,["loading"]),t(v,{onClick:j},{default:s(()=>[...e[10]||(e[10]=[c("重置",-1)])]),_:1}),a(x)?(r(),u(v,{key:0,class:"ml-2",onClick:M},{default:s(()=>[...e[11]||(e[11]=[c("返回统计",-1)])]),_:1})):O("",!0)]),_:1})]),_:1},8,["model"])]),_:1}),t(m,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[d("div",null,[C((r(),u(v,{type:"primary",onClick:J},{icon:s(()=>[t(oe,{name:"el-icon-Plus"})]),default:s(()=>[e[12]||(e[12]=c(" 新增 ",-1))]),_:1})),[[E,["stats.personal_account_cost/add"]]])]),C((r(),u(se,{class:"mt-4",size:"large",data:a(i).lists},{default:s(()=>[t(p,{label:"日期",prop:"cost_date","min-width":"120"}),t(p,{label:"自媒体来源",prop:"media_source","min-width":"160","show-overflow-tooltip":""}),t(p,{label:"账户消耗","min-width":"120"},{default:s(({row:o})=>[c("¥"+g(o.amount),1)]),_:1}),t(p,{label:"备注",prop:"remark","min-width":"200","show-overflow-tooltip":""}),t(p,{label:"录入人",prop:"creator_name","min-width":"100"}),t(p,{label:"部门",prop:"dept_name","min-width":"140"},{default:s(({row:o})=>[o.dept_path?(r(),u(ae,{key:0,content:o.dept_path,placement:"top",effect:"dark"},{default:s(()=>[d("span",Qe,g(o.dept_name||"未分配"),1)]),_:2},1032,["content"])):o.dept_name?(r(),D("span",je,g(o.dept_name),1)):(r(),D("span",Ge,"未分配"))]),_:1}),t(p,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(p,{label:"更新时间",prop:"update_time","min-width":"180"}),t(p,{label:"操作",width:"160",fixed:"right"},{default:s(({row:o})=>[C((r(),u(v,{type:"primary",link:"",onClick:ie=>Z(o)},{default:s(()=>[...e[13]||(e[13]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[E,["stats.personal_account_cost/edit"]]]),C((r(),u(v,{type:"danger",link:"",onClick:ie=>W(o.id)},{default:s(()=>[...e[14]||(e[14]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[E,["stats.personal_account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[le,a(i).loading]]),d("div",He,[t(ne,{modelValue:a(i),"onUpdate:modelValue":e[5]||(e[5]=o=>S(i)?i.value=o:null),onChange:a(_)},null,8,["modelValue","onChange"])])]),_:1}),a(w)?(r(),u(De,{key:0,ref_key:"editRef",ref:y,"media-source-options":a(R),"media-source-loading":a(A),onSuccess:H,onClose:e[6]||(e[6]=o=>w.value=!1)},null,8,["media-source-options","media-source-loading"])):O("",!0)])}}}),zt=ke(Ze,[["__scopeId","data-v-7efb8396"]]);export{zt as default}; diff --git a/server/public/admin/assets/add-DUPS86dc.js b/server/public/admin/assets/add-B2VOi4Qw.js similarity index 99% rename from server/public/admin/assets/add-DUPS86dc.js rename to server/public/admin/assets/add-B2VOi4Qw.js index d455b2e91..5fcb03c4b 100644 --- a/server/public/admin/assets/add-DUPS86dc.js +++ b/server/public/admin/assets/add-B2VOi4Qw.js @@ -1 +1 @@ -import{d as pe,i as me,B as _e,C as fe,G as ye,J as ge,h as be,S as Ve,Q as ve,R as ce,af as ke,am as we,F as Ue,D as xe,E as le}from"./element-plus-DGP1XOrU.js";import{aa as ae,ab as Ee,ac as Oe,ad as qe,ae as Be}from"./tcm-CEIBuAeK.js";import{o as b,k as oe,_ as De}from"./index-fRv3NTFQ.js";import{a as Ce,u as Se}from"./vue-router-QlpZ4wdW.js";import{o as Ie}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Re,b as Ne,ae as Pe,ak as u,I as f,J as _,a,aN as t,O as s,F as V,ap as v,G as c,A as Fe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,n as p}from"./@vue/reactivity-DiY1c2vO.js";import{Q as w}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ge={class:"diagnosis-page"},Le={class:"page-header"},Me={class:"page-title"},Ye={class:"page-content"},$e={class:"form-section"},Te={class:"form-section"},Ae={class:"form-section"},He={class:"form-section"},Je={class:"form-section"},Qe={class:"form-section"},Xe={class:"form-section"},he={class:"form-section"},je={class:"page-footer"},ze=Re({__name:"add",setup(Ke){const N=Ce(),te=Se(),P=p(),S=p("add"),I=p(!1),de=Fe(()=>S.value==="add"?"新增诊单":"编辑诊单"),d=p({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:"",water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1}),ne={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],id_card:[{validator:(r,e,i)=>{if(!e){i();return}if(!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e)){i(new Error("身份证号格式不正确"));return}i()},trigger:"blur"}],phone:[{required:!0,validator:(r,e,i)=>{if(!e){i(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(e)){i(new Error("手机号格式不正确"));return}i()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],syndrome_type:[{required:!0,message:"请选择证型",trigger:"change"}],diabetes_type:[{required:!0,message:"请选择糖尿病期数",trigger:"change"}],local_hospital_name:[{required:!0,message:"请输入当地就诊医院名称",trigger:"blur"}],diabetes_discovery_year:[{max:50,message:"最多50个字符",trigger:"blur"}]},F=p([]),G=p([]),L=p([]),M=p([]),Y=p([]),$=p([]),T=p([]),A=p([]),H=p([]),J=p([]),Q=p([]),X=p([]),h=p([]),j=p([]),z=p([]),K=p([]),W=p([]),Z=p([]),ue=async()=>{try{const[r,e,i,x,m,n,y,U,O,D,E,q,g,k,B,C,l,R]=await Promise.all([b({type:"diagnosis_type"}),b({type:"syndrome_type"}),b({type:"diabetes_type"}),b({type:"past_history"}),b({type:"appetite"}),b({type:"water_intake"}),b({type:"diet_condition"}),b({type:"weight_change"}),b({type:"body_feeling"}),b({type:"sleep_condition"}),b({type:"eye_condition"}),b({type:"head_feeling"}),b({type:"sweat_condition"}),b({type:"skin_condition"}),b({type:"urine_condition"}),b({type:"stool_condition"}),b({type:"kidney_condition"}),b({type:"fatty_liver_degree"})]);F.value=(r==null?void 0:r.diagnosis_type)||[],G.value=(e==null?void 0:e.syndrome_type)||[],L.value=(i==null?void 0:i.diabetes_type)||[],M.value=(x==null?void 0:x.past_history)||[],Y.value=(m==null?void 0:m.appetite)||[],$.value=(n==null?void 0:n.water_intake)||[],T.value=(y==null?void 0:y.diet_condition)||[],A.value=(U==null?void 0:U.weight_change)||[],H.value=(O==null?void 0:O.body_feeling)||[],J.value=(D==null?void 0:D.sleep_condition)||[],Q.value=(E==null?void 0:E.eye_condition)||[],X.value=(q==null?void 0:q.head_feeling)||[],h.value=(g==null?void 0:g.sweat_condition)||[],j.value=(k==null?void 0:k.skin_condition)||[],z.value=(B==null?void 0:B.urine_condition)||[],K.value=(C==null?void 0:C.stool_condition)||[],W.value=(l==null?void 0:l.kidney_condition)||[],Z.value=(R==null?void 0:R.fatty_liver_degree)||[]}catch(r){console.error("获取字典数据失败:",r)}},se=async()=>{if(!(!d.value.phone||!/^1[3-9]\d{9}$/.test(d.value.phone)))try{const r=await Ee({phone:d.value.phone,id:d.value.id||""});r.exists&&le.warning(r.message)}catch(r){console.error("检查手机号失败:",r)}},re=async()=>{if(!(!d.value.id_card||!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(d.value.id_card)))try{const r=await Oe({id_card:d.value.id_card,id:d.value.id||""});r.exists&&le.warning(r.message)}catch(r){console.error("检查身份证号失败:",r)}},ie=async()=>{var r;await((r=P.value)==null?void 0:r.validate()),I.value=!0;try{if(S.value==="add"){const e=await qe(d.value);if(oe.msgSuccess("新增成功"),e&&e.id){S.value="edit",d.value.id=e.id;try{const i=await ae({id:e.id});d.value.patient_id=i.patient_id}catch(i){console.error("获取详情失败:",i)}N.replace({query:{id:e.id}})}}else await Be(d.value),oe.msgSuccess("编辑成功")}catch(e){console.error("提交失败:",e)}finally{I.value=!1}},ee=()=>{N.back()};return Ne(async()=>{await ue(),setTimeout(()=>{const e=document.querySelector(".el-aside");e&&(e.style.display="none");const i=document.querySelector(".el-main");i&&(i.style.width="100%"(i).style.marginLeft="0");const x=document.querySelector(".el-container");x&&(x.style.width="100%")},100);const r=te.query.id;if(r){S.value="edit";const e=await ae({id:Number(r)});d.value=e}}),Pe(()=>{const r=document.querySelector(".el-aside");r&&(r.style.display="");const e=document.querySelector(".el-main");e&&(e.style.width=""(e).style.marginLeft="");const i=document.querySelector(".el-container");i&&(i.style.width="")}),(r,e)=>{const i=pe,x=me,m=fe,n=_e,y=ge,U=ye,O=be,D=Ve,E=ce,q=ve,g=we,k=ke,B=Ue,C=xe;return u(),f("div",Ge,[_("div",Le,[a(x,{link:"",onClick:ee,class:"back-btn"},{default:t(()=>[a(i,null,{default:t(()=>[a(o(Ie))]),_:1}),e[49]||(e[49]=s(" 返回 ",-1))]),_:1}),_("h1",Me,w(o(de)),1)]),_("div",Ye,[a(C,{ref_key:"formRef",ref:P,model:o(d),rules:ne,"label-width":"auto",class:"diagnosis-form"},{default:t(()=>[_("div",$e,[e[52]||(e[52]=_("div",{class:"section-title"},"基本信息",-1)),a(n,{label:"患者ID"},{default:t(()=>[a(m,{modelValue:o(d).patient_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o(d).patient_id=l),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),a(n,{label:"患者姓名",prop:"patient_name"},{default:t(()=>[a(m,{modelValue:o(d).patient_name,"onUpdate:modelValue":e[1]||(e[1]=l=>o(d).patient_name=l),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1}),a(n,{label:"身份证号",prop:"id_card"},{default:t(()=>[a(m,{modelValue:o(d).id_card,"onUpdate:modelValue":e[2]||(e[2]=l=>o(d).id_card=l),placeholder:"请输入身份证号",maxlength:"18",onBlur:re},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:t(()=>[a(m,{modelValue:o(d).phone,"onUpdate:modelValue":e[3]||(e[3]=l=>o(d).phone=l),placeholder:"请输入手机号",maxlength:"11",onBlur:se},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:t(()=>[a(U,{modelValue:o(d).gender,"onUpdate:modelValue":e[4]||(e[4]=l=>o(d).gender=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[50]||(e[50]=[s("男",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[51]||(e[51]=[s("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:t(()=>[a(O,{modelValue:o(d).age,"onUpdate:modelValue":e[5]||(e[5]=l=>o(d).age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"诊断日期",prop:"diagnosis_date"},{default:t(()=>[a(D,{modelValue:o(d).diagnosis_date,"onUpdate:modelValue":e[6]||(e[6]=l=>o(d).diagnosis_date=l),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Te,[e[53]||(e[53]=_("div",{class:"section-title"},"生命体征",-1)),a(n,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[a(q,{modelValue:o(d).marital_status,"onUpdate:modelValue":e[7]||(e[7]=l=>o(d).marital_status=l),placeholder:"请选择婚姻状态",class:"w-full"},{default:t(()=>[a(E,{label:"未婚",value:0}),a(E,{label:"已婚",value:1}),a(E,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"身高(cm)",prop:"height"},{default:t(()=>[a(O,{modelValue:o(d).height,"onUpdate:modelValue":e[8]||(e[8]=l=>o(d).height=l),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"体重(kg)",prop:"weight"},{default:t(()=>[a(O,{modelValue:o(d).weight,"onUpdate:modelValue":e[9]||(e[9]=l=>o(d).weight=l),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"地区",prop:"region"},{default:t(()=>[a(m,{modelValue:o(d).region,"onUpdate:modelValue":e[10]||(e[10]=l=>o(d).region=l),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1}),a(n,{label:"收缩压(mmHg)",prop:"systolic_pressure"},{default:t(()=>[a(O,{modelValue:o(d).systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=l=>o(d).systolic_pressure=l),min:0,max:250,placeholder:"请输入收缩压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"舒张压(mmHg)",prop:"diastolic_pressure"},{default:t(()=>[a(O,{modelValue:o(d).diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=l=>o(d).diastolic_pressure=l),min:0,max:150,placeholder:"请输入舒张压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[a(m,{modelValue:o(d).fasting_blood_sugar,"onUpdate:modelValue":e[13]||(e[13]=l=>o(d).fasting_blood_sugar=l),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Ae,[e[56]||(e[56]=_("div",{class:"section-title"},"诊断信息",-1)),a(n,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[a(q,{modelValue:o(d).diagnosis_type,"onUpdate:modelValue":e[14]||(e[14]=l=>o(d).diagnosis_type=l),placeholder:"请选择诊断类型",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(F),l=>(u(),c(E,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"证型",prop:"syndrome_type"},{default:t(()=>[a(q,{modelValue:o(d).syndrome_type,"onUpdate:modelValue":e[15]||(e[15]=l=>o(d).syndrome_type=l),placeholder:"请选择证型",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(G),l=>(u(),c(E,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"糖尿病期数",prop:"diabetes_type"},{default:t(()=>[a(q,{modelValue:o(d).diabetes_type,"onUpdate:modelValue":e[16]||(e[16]=l=>o(d).diabetes_type=l),placeholder:"请选择糖尿病期数",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(L),l=>(u(),c(E,{key:l.value,label:l.name+(l.remark?" ("+l.remark+")":""),value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"状态",prop:"status"},{default:t(()=>[a(U,{modelValue:o(d).status,"onUpdate:modelValue":e[17]||(e[17]=l=>o(d).status=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[54]||(e[54]=[s("启用",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[55]||(e[55]=[s("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"在用药物",prop:"current_medications"},{default:t(()=>[a(m,{modelValue:o(d).current_medications,"onUpdate:modelValue":e[18]||(e[18]=l=>o(d).current_medications=l),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_("div",He,[e[60]||(e[60]=_("div",{class:"section-title"},"主诉",-1)),a(n,{label:"发现糖尿病就患病史",prop:"diabetes_discovery_year"},{default:t(()=>[a(m,{modelValue:o(d).diabetes_discovery_year,"onUpdate:modelValue":e[19]||(e[19]=l=>o(d).diabetes_discovery_year=l),clearable:"",maxlength:"50","show-word-limit":"",placeholder:"可填数字或文字,如:5、1年、半年",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"当地医院诊断结果"},{default:t(()=>[a(k,{modelValue:o(d).local_hospital_diagnosis,"onUpdate:modelValue":e[20]||(e[20]=l=>o(d).local_hospital_diagnosis=l),class:"checkbox-group"},{default:t(()=>[a(g,{label:"糖尿病"},{default:t(()=>[...e[57]||(e[57]=[s("糖尿病",-1)])]),_:1}),a(g,{label:"高血压"},{default:t(()=>[...e[58]||(e[58]=[s("高血压",-1)])]),_:1}),a(g,{label:"糖尿病高血压"},{default:t(()=>[...e[59]||(e[59]=[s("糖尿病高血压",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[a(m,{modelValue:o(d).local_hospital_name,"onUpdate:modelValue":e[21]||(e[21]=l=>o(d).local_hospital_name=l),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1})]),_("div",Je,[e[61]||(e[61]=_("div",{class:"section-title"},"现病史",-1)),a(n,{label:"口腔感觉"},{default:t(()=>[a(U,{modelValue:o(d).appetite,"onUpdate:modelValue":e[22]||(e[22]=l=>o(d).appetite=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Y),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"每日饮水量"},{default:t(()=>[a(U,{modelValue:o(d).water_intake,"onUpdate:modelValue":e[23]||(e[23]=l=>o(d).water_intake=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o($),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"近一个月体重变化"},{default:t(()=>[a(U,{modelValue:o(d).weight_change,"onUpdate:modelValue":e[24]||(e[24]=l=>o(d).weight_change=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(A),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"脂肪肝程度"},{default:t(()=>[a(U,{modelValue:o(d).fatty_liver_degree,"onUpdate:modelValue":e[25]||(e[25]=l=>o(d).fatty_liver_degree=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Z),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"饮食情况"},{default:t(()=>[a(k,{modelValue:o(d).diet_condition,"onUpdate:modelValue":e[26]||(e[26]=l=>o(d).diet_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(T),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"肢体感觉"},{default:t(()=>[a(k,{modelValue:o(d).body_feeling,"onUpdate:modelValue":e[27]||(e[27]=l=>o(d).body_feeling=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(H),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"睡眠情况"},{default:t(()=>[a(k,{modelValue:o(d).sleep_condition,"onUpdate:modelValue":e[28]||(e[28]=l=>o(d).sleep_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(J),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"眼睛情况"},{default:t(()=>[a(k,{modelValue:o(d).eye_condition,"onUpdate:modelValue":e[29]||(e[29]=l=>o(d).eye_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Q),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"头部感觉"},{default:t(()=>[a(k,{modelValue:o(d).head_feeling,"onUpdate:modelValue":e[30]||(e[30]=l=>o(d).head_feeling=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(X),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"出汗情况"},{default:t(()=>[a(k,{modelValue:o(d).sweat_condition,"onUpdate:modelValue":e[31]||(e[31]=l=>o(d).sweat_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(h),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"皮肤情况"},{default:t(()=>[a(k,{modelValue:o(d).skin_condition,"onUpdate:modelValue":e[32]||(e[32]=l=>o(d).skin_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(j),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"小便情况"},{default:t(()=>[a(k,{modelValue:o(d).urine_condition,"onUpdate:modelValue":e[33]||(e[33]=l=>o(d).urine_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(z),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"大便情况"},{default:t(()=>[a(k,{modelValue:o(d).stool_condition,"onUpdate:modelValue":e[34]||(e[34]=l=>o(d).stool_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(K),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"腰肾情况"},{default:t(()=>[a(k,{modelValue:o(d).kidney_condition,"onUpdate:modelValue":e[35]||(e[35]=l=>o(d).kidney_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(W),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"病情补充",prop:"symptoms"},{default:t(()=>[a(m,{modelValue:o(d).symptoms,"onUpdate:modelValue":e[36]||(e[36]=l=>o(d).symptoms=l),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1})]),_("div",Qe,[e[62]||(e[62]=_("div",{class:"section-title"},"既往史",-1)),a(n,{label:""},{default:t(()=>[a(k,{modelValue:o(d).past_history,"onUpdate:modelValue":e[37]||(e[37]=l=>o(d).past_history=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(M),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_("div",Xe,[e[73]||(e[73]=_("div",{class:"section-title"},"其他病史",-1)),a(n,{label:"外伤史"},{default:t(()=>[a(U,{modelValue:o(d).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=l=>o(d).trauma_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[63]||(e[63]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[64]||(e[64]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"手术史"},{default:t(()=>[a(U,{modelValue:o(d).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=l=>o(d).surgery_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[65]||(e[65]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[66]||(e[66]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"过敏史"},{default:t(()=>[a(U,{modelValue:o(d).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=l=>o(d).allergy_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[67]||(e[67]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[68]||(e[68]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"家族病史"},{default:t(()=>[a(U,{modelValue:o(d).family_history,"onUpdate:modelValue":e[41]||(e[41]=l=>o(d).family_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[69]||(e[69]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[70]||(e[70]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"妊娠哺乳史"},{default:t(()=>[a(U,{modelValue:o(d).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=l=>o(d).pregnancy_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[71]||(e[71]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[72]||(e[72]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_("div",he,[e[74]||(e[74]=_("div",{class:"section-title"},"诊断详情",-1)),a(n,{label:"舌苔",prop:"tongue_coating"},{default:t(()=>[a(m,{modelValue:o(d).tongue_coating,"onUpdate:modelValue":e[43]||(e[43]=l=>o(d).tongue_coating=l),placeholder:"请输入舌苔情况"},null,8,["modelValue"])]),_:1}),a(n,{label:"脉象",prop:"pulse"},{default:t(()=>[a(m,{modelValue:o(d).pulse,"onUpdate:modelValue":e[44]||(e[44]=l=>o(d).pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1}),a(n,{label:"治则",prop:"treatment_principle"},{default:t(()=>[a(m,{modelValue:o(d).treatment_principle,"onUpdate:modelValue":e[45]||(e[45]=l=>o(d).treatment_principle=l),type:"textarea",rows:3,placeholder:"请输入治则"},null,8,["modelValue"])]),_:1}),a(n,{label:"处方",prop:"prescription"},{default:t(()=>[a(m,{modelValue:o(d).prescription,"onUpdate:modelValue":e[46]||(e[46]=l=>o(d).prescription=l),type:"textarea",rows:3,placeholder:"请输入处方"},null,8,["modelValue"])]),_:1}),a(n,{label:"医嘱",prop:"doctor_advice"},{default:t(()=>[a(m,{modelValue:o(d).doctor_advice,"onUpdate:modelValue":e[47]||(e[47]=l=>o(d).doctor_advice=l),type:"textarea",rows:3,placeholder:"请输入医嘱"},null,8,["modelValue"])]),_:1}),a(n,{label:"备注",prop:"remark"},{default:t(()=>[a(m,{modelValue:o(d).remark,"onUpdate:modelValue":e[48]||(e[48]=l=>o(d).remark=l),type:"textarea",rows:2,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})])]),_:1},8,["model"])]),_("div",je,[a(x,{onClick:ee,class:"btn-cancel"},{default:t(()=>[...e[75]||(e[75]=[s("取消",-1)])]),_:1}),a(x,{type:"primary",onClick:ie,loading:o(I),class:"btn-submit"},{default:t(()=>[...e[76]||(e[76]=[s(" 保存 ",-1)])]),_:1},8,["loading"])])])}}}),Ll=De(ze,[["__scopeId","data-v-9a9240a1"]]);export{Ll as default}; +import{d as pe,i as me,B as _e,C as fe,G as ye,J as ge,h as be,S as Ve,Q as ve,R as ce,af as ke,am as we,F as Ue,D as xe,E as le}from"./element-plus-DGP1XOrU.js";import{aa as ae,ab as Ee,ac as Oe,ad as qe,ae as Be}from"./tcm-D-ZRccbe.js";import{o as b,k as oe,_ as De}from"./index-J_eFER10.js";import{a as Ce,u as Se}from"./vue-router-QlpZ4wdW.js";import{o as Ie}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Re,b as Ne,ae as Pe,ak as u,I as f,J as _,a,aN as t,O as s,F as V,ap as v,G as c,A as Fe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,n as p}from"./@vue/reactivity-DiY1c2vO.js";import{Q as w}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ge={class:"diagnosis-page"},Le={class:"page-header"},Me={class:"page-title"},Ye={class:"page-content"},$e={class:"form-section"},Te={class:"form-section"},Ae={class:"form-section"},He={class:"form-section"},Je={class:"form-section"},Qe={class:"form-section"},Xe={class:"form-section"},he={class:"form-section"},je={class:"page-footer"},ze=Re({__name:"add",setup(Ke){const N=Ce(),te=Se(),P=p(),S=p("add"),I=p(!1),de=Fe(()=>S.value==="add"?"新增诊单":"编辑诊单"),d=p({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:"",water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1}),ne={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],id_card:[{validator:(r,e,i)=>{if(!e){i();return}if(!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e)){i(new Error("身份证号格式不正确"));return}i()},trigger:"blur"}],phone:[{required:!0,validator:(r,e,i)=>{if(!e){i(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(e)){i(new Error("手机号格式不正确"));return}i()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],syndrome_type:[{required:!0,message:"请选择证型",trigger:"change"}],diabetes_type:[{required:!0,message:"请选择糖尿病期数",trigger:"change"}],local_hospital_name:[{required:!0,message:"请输入当地就诊医院名称",trigger:"blur"}],diabetes_discovery_year:[{max:50,message:"最多50个字符",trigger:"blur"}]},F=p([]),G=p([]),L=p([]),M=p([]),Y=p([]),$=p([]),T=p([]),A=p([]),H=p([]),J=p([]),Q=p([]),X=p([]),h=p([]),j=p([]),z=p([]),K=p([]),W=p([]),Z=p([]),ue=async()=>{try{const[r,e,i,x,m,n,y,U,O,D,E,q,g,k,B,C,l,R]=await Promise.all([b({type:"diagnosis_type"}),b({type:"syndrome_type"}),b({type:"diabetes_type"}),b({type:"past_history"}),b({type:"appetite"}),b({type:"water_intake"}),b({type:"diet_condition"}),b({type:"weight_change"}),b({type:"body_feeling"}),b({type:"sleep_condition"}),b({type:"eye_condition"}),b({type:"head_feeling"}),b({type:"sweat_condition"}),b({type:"skin_condition"}),b({type:"urine_condition"}),b({type:"stool_condition"}),b({type:"kidney_condition"}),b({type:"fatty_liver_degree"})]);F.value=(r==null?void 0:r.diagnosis_type)||[],G.value=(e==null?void 0:e.syndrome_type)||[],L.value=(i==null?void 0:i.diabetes_type)||[],M.value=(x==null?void 0:x.past_history)||[],Y.value=(m==null?void 0:m.appetite)||[],$.value=(n==null?void 0:n.water_intake)||[],T.value=(y==null?void 0:y.diet_condition)||[],A.value=(U==null?void 0:U.weight_change)||[],H.value=(O==null?void 0:O.body_feeling)||[],J.value=(D==null?void 0:D.sleep_condition)||[],Q.value=(E==null?void 0:E.eye_condition)||[],X.value=(q==null?void 0:q.head_feeling)||[],h.value=(g==null?void 0:g.sweat_condition)||[],j.value=(k==null?void 0:k.skin_condition)||[],z.value=(B==null?void 0:B.urine_condition)||[],K.value=(C==null?void 0:C.stool_condition)||[],W.value=(l==null?void 0:l.kidney_condition)||[],Z.value=(R==null?void 0:R.fatty_liver_degree)||[]}catch(r){console.error("获取字典数据失败:",r)}},se=async()=>{if(!(!d.value.phone||!/^1[3-9]\d{9}$/.test(d.value.phone)))try{const r=await Ee({phone:d.value.phone,id:d.value.id||""});r.exists&&le.warning(r.message)}catch(r){console.error("检查手机号失败:",r)}},re=async()=>{if(!(!d.value.id_card||!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(d.value.id_card)))try{const r=await Oe({id_card:d.value.id_card,id:d.value.id||""});r.exists&&le.warning(r.message)}catch(r){console.error("检查身份证号失败:",r)}},ie=async()=>{var r;await((r=P.value)==null?void 0:r.validate()),I.value=!0;try{if(S.value==="add"){const e=await qe(d.value);if(oe.msgSuccess("新增成功"),e&&e.id){S.value="edit",d.value.id=e.id;try{const i=await ae({id:e.id});d.value.patient_id=i.patient_id}catch(i){console.error("获取详情失败:",i)}N.replace({query:{id:e.id}})}}else await Be(d.value),oe.msgSuccess("编辑成功")}catch(e){console.error("提交失败:",e)}finally{I.value=!1}},ee=()=>{N.back()};return Ne(async()=>{await ue(),setTimeout(()=>{const e=document.querySelector(".el-aside");e&&(e.style.display="none");const i=document.querySelector(".el-main");i&&(i.style.width="100%"(i).style.marginLeft="0");const x=document.querySelector(".el-container");x&&(x.style.width="100%")},100);const r=te.query.id;if(r){S.value="edit";const e=await ae({id:Number(r)});d.value=e}}),Pe(()=>{const r=document.querySelector(".el-aside");r&&(r.style.display="");const e=document.querySelector(".el-main");e&&(e.style.width=""(e).style.marginLeft="");const i=document.querySelector(".el-container");i&&(i.style.width="")}),(r,e)=>{const i=pe,x=me,m=fe,n=_e,y=ge,U=ye,O=be,D=Ve,E=ce,q=ve,g=we,k=ke,B=Ue,C=xe;return u(),f("div",Ge,[_("div",Le,[a(x,{link:"",onClick:ee,class:"back-btn"},{default:t(()=>[a(i,null,{default:t(()=>[a(o(Ie))]),_:1}),e[49]||(e[49]=s(" 返回 ",-1))]),_:1}),_("h1",Me,w(o(de)),1)]),_("div",Ye,[a(C,{ref_key:"formRef",ref:P,model:o(d),rules:ne,"label-width":"auto",class:"diagnosis-form"},{default:t(()=>[_("div",$e,[e[52]||(e[52]=_("div",{class:"section-title"},"基本信息",-1)),a(n,{label:"患者ID"},{default:t(()=>[a(m,{modelValue:o(d).patient_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o(d).patient_id=l),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),a(n,{label:"患者姓名",prop:"patient_name"},{default:t(()=>[a(m,{modelValue:o(d).patient_name,"onUpdate:modelValue":e[1]||(e[1]=l=>o(d).patient_name=l),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1}),a(n,{label:"身份证号",prop:"id_card"},{default:t(()=>[a(m,{modelValue:o(d).id_card,"onUpdate:modelValue":e[2]||(e[2]=l=>o(d).id_card=l),placeholder:"请输入身份证号",maxlength:"18",onBlur:re},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:t(()=>[a(m,{modelValue:o(d).phone,"onUpdate:modelValue":e[3]||(e[3]=l=>o(d).phone=l),placeholder:"请输入手机号",maxlength:"11",onBlur:se},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:t(()=>[a(U,{modelValue:o(d).gender,"onUpdate:modelValue":e[4]||(e[4]=l=>o(d).gender=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[50]||(e[50]=[s("男",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[51]||(e[51]=[s("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:t(()=>[a(O,{modelValue:o(d).age,"onUpdate:modelValue":e[5]||(e[5]=l=>o(d).age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"诊断日期",prop:"diagnosis_date"},{default:t(()=>[a(D,{modelValue:o(d).diagnosis_date,"onUpdate:modelValue":e[6]||(e[6]=l=>o(d).diagnosis_date=l),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Te,[e[53]||(e[53]=_("div",{class:"section-title"},"生命体征",-1)),a(n,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[a(q,{modelValue:o(d).marital_status,"onUpdate:modelValue":e[7]||(e[7]=l=>o(d).marital_status=l),placeholder:"请选择婚姻状态",class:"w-full"},{default:t(()=>[a(E,{label:"未婚",value:0}),a(E,{label:"已婚",value:1}),a(E,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"身高(cm)",prop:"height"},{default:t(()=>[a(O,{modelValue:o(d).height,"onUpdate:modelValue":e[8]||(e[8]=l=>o(d).height=l),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"体重(kg)",prop:"weight"},{default:t(()=>[a(O,{modelValue:o(d).weight,"onUpdate:modelValue":e[9]||(e[9]=l=>o(d).weight=l),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"地区",prop:"region"},{default:t(()=>[a(m,{modelValue:o(d).region,"onUpdate:modelValue":e[10]||(e[10]=l=>o(d).region=l),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1}),a(n,{label:"收缩压(mmHg)",prop:"systolic_pressure"},{default:t(()=>[a(O,{modelValue:o(d).systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=l=>o(d).systolic_pressure=l),min:0,max:250,placeholder:"请输入收缩压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"舒张压(mmHg)",prop:"diastolic_pressure"},{default:t(()=>[a(O,{modelValue:o(d).diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=l=>o(d).diastolic_pressure=l),min:0,max:150,placeholder:"请输入舒张压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[a(m,{modelValue:o(d).fasting_blood_sugar,"onUpdate:modelValue":e[13]||(e[13]=l=>o(d).fasting_blood_sugar=l),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Ae,[e[56]||(e[56]=_("div",{class:"section-title"},"诊断信息",-1)),a(n,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[a(q,{modelValue:o(d).diagnosis_type,"onUpdate:modelValue":e[14]||(e[14]=l=>o(d).diagnosis_type=l),placeholder:"请选择诊断类型",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(F),l=>(u(),c(E,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"证型",prop:"syndrome_type"},{default:t(()=>[a(q,{modelValue:o(d).syndrome_type,"onUpdate:modelValue":e[15]||(e[15]=l=>o(d).syndrome_type=l),placeholder:"请选择证型",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(G),l=>(u(),c(E,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"糖尿病期数",prop:"diabetes_type"},{default:t(()=>[a(q,{modelValue:o(d).diabetes_type,"onUpdate:modelValue":e[16]||(e[16]=l=>o(d).diabetes_type=l),placeholder:"请选择糖尿病期数",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(L),l=>(u(),c(E,{key:l.value,label:l.name+(l.remark?" ("+l.remark+")":""),value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"状态",prop:"status"},{default:t(()=>[a(U,{modelValue:o(d).status,"onUpdate:modelValue":e[17]||(e[17]=l=>o(d).status=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[54]||(e[54]=[s("启用",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[55]||(e[55]=[s("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"在用药物",prop:"current_medications"},{default:t(()=>[a(m,{modelValue:o(d).current_medications,"onUpdate:modelValue":e[18]||(e[18]=l=>o(d).current_medications=l),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_("div",He,[e[60]||(e[60]=_("div",{class:"section-title"},"主诉",-1)),a(n,{label:"发现糖尿病就患病史",prop:"diabetes_discovery_year"},{default:t(()=>[a(m,{modelValue:o(d).diabetes_discovery_year,"onUpdate:modelValue":e[19]||(e[19]=l=>o(d).diabetes_discovery_year=l),clearable:"",maxlength:"50","show-word-limit":"",placeholder:"可填数字或文字,如:5、1年、半年",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"当地医院诊断结果"},{default:t(()=>[a(k,{modelValue:o(d).local_hospital_diagnosis,"onUpdate:modelValue":e[20]||(e[20]=l=>o(d).local_hospital_diagnosis=l),class:"checkbox-group"},{default:t(()=>[a(g,{label:"糖尿病"},{default:t(()=>[...e[57]||(e[57]=[s("糖尿病",-1)])]),_:1}),a(g,{label:"高血压"},{default:t(()=>[...e[58]||(e[58]=[s("高血压",-1)])]),_:1}),a(g,{label:"糖尿病高血压"},{default:t(()=>[...e[59]||(e[59]=[s("糖尿病高血压",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[a(m,{modelValue:o(d).local_hospital_name,"onUpdate:modelValue":e[21]||(e[21]=l=>o(d).local_hospital_name=l),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1})]),_("div",Je,[e[61]||(e[61]=_("div",{class:"section-title"},"现病史",-1)),a(n,{label:"口腔感觉"},{default:t(()=>[a(U,{modelValue:o(d).appetite,"onUpdate:modelValue":e[22]||(e[22]=l=>o(d).appetite=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Y),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"每日饮水量"},{default:t(()=>[a(U,{modelValue:o(d).water_intake,"onUpdate:modelValue":e[23]||(e[23]=l=>o(d).water_intake=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o($),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"近一个月体重变化"},{default:t(()=>[a(U,{modelValue:o(d).weight_change,"onUpdate:modelValue":e[24]||(e[24]=l=>o(d).weight_change=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(A),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"脂肪肝程度"},{default:t(()=>[a(U,{modelValue:o(d).fatty_liver_degree,"onUpdate:modelValue":e[25]||(e[25]=l=>o(d).fatty_liver_degree=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Z),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"饮食情况"},{default:t(()=>[a(k,{modelValue:o(d).diet_condition,"onUpdate:modelValue":e[26]||(e[26]=l=>o(d).diet_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(T),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"肢体感觉"},{default:t(()=>[a(k,{modelValue:o(d).body_feeling,"onUpdate:modelValue":e[27]||(e[27]=l=>o(d).body_feeling=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(H),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"睡眠情况"},{default:t(()=>[a(k,{modelValue:o(d).sleep_condition,"onUpdate:modelValue":e[28]||(e[28]=l=>o(d).sleep_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(J),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"眼睛情况"},{default:t(()=>[a(k,{modelValue:o(d).eye_condition,"onUpdate:modelValue":e[29]||(e[29]=l=>o(d).eye_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Q),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"头部感觉"},{default:t(()=>[a(k,{modelValue:o(d).head_feeling,"onUpdate:modelValue":e[30]||(e[30]=l=>o(d).head_feeling=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(X),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"出汗情况"},{default:t(()=>[a(k,{modelValue:o(d).sweat_condition,"onUpdate:modelValue":e[31]||(e[31]=l=>o(d).sweat_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(h),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"皮肤情况"},{default:t(()=>[a(k,{modelValue:o(d).skin_condition,"onUpdate:modelValue":e[32]||(e[32]=l=>o(d).skin_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(j),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"小便情况"},{default:t(()=>[a(k,{modelValue:o(d).urine_condition,"onUpdate:modelValue":e[33]||(e[33]=l=>o(d).urine_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(z),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"大便情况"},{default:t(()=>[a(k,{modelValue:o(d).stool_condition,"onUpdate:modelValue":e[34]||(e[34]=l=>o(d).stool_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(K),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"腰肾情况"},{default:t(()=>[a(k,{modelValue:o(d).kidney_condition,"onUpdate:modelValue":e[35]||(e[35]=l=>o(d).kidney_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(W),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"病情补充",prop:"symptoms"},{default:t(()=>[a(m,{modelValue:o(d).symptoms,"onUpdate:modelValue":e[36]||(e[36]=l=>o(d).symptoms=l),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1})]),_("div",Qe,[e[62]||(e[62]=_("div",{class:"section-title"},"既往史",-1)),a(n,{label:""},{default:t(()=>[a(k,{modelValue:o(d).past_history,"onUpdate:modelValue":e[37]||(e[37]=l=>o(d).past_history=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(M),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_("div",Xe,[e[73]||(e[73]=_("div",{class:"section-title"},"其他病史",-1)),a(n,{label:"外伤史"},{default:t(()=>[a(U,{modelValue:o(d).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=l=>o(d).trauma_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[63]||(e[63]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[64]||(e[64]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"手术史"},{default:t(()=>[a(U,{modelValue:o(d).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=l=>o(d).surgery_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[65]||(e[65]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[66]||(e[66]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"过敏史"},{default:t(()=>[a(U,{modelValue:o(d).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=l=>o(d).allergy_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[67]||(e[67]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[68]||(e[68]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"家族病史"},{default:t(()=>[a(U,{modelValue:o(d).family_history,"onUpdate:modelValue":e[41]||(e[41]=l=>o(d).family_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[69]||(e[69]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[70]||(e[70]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"妊娠哺乳史"},{default:t(()=>[a(U,{modelValue:o(d).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=l=>o(d).pregnancy_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[71]||(e[71]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[72]||(e[72]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_("div",he,[e[74]||(e[74]=_("div",{class:"section-title"},"诊断详情",-1)),a(n,{label:"舌苔",prop:"tongue_coating"},{default:t(()=>[a(m,{modelValue:o(d).tongue_coating,"onUpdate:modelValue":e[43]||(e[43]=l=>o(d).tongue_coating=l),placeholder:"请输入舌苔情况"},null,8,["modelValue"])]),_:1}),a(n,{label:"脉象",prop:"pulse"},{default:t(()=>[a(m,{modelValue:o(d).pulse,"onUpdate:modelValue":e[44]||(e[44]=l=>o(d).pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1}),a(n,{label:"治则",prop:"treatment_principle"},{default:t(()=>[a(m,{modelValue:o(d).treatment_principle,"onUpdate:modelValue":e[45]||(e[45]=l=>o(d).treatment_principle=l),type:"textarea",rows:3,placeholder:"请输入治则"},null,8,["modelValue"])]),_:1}),a(n,{label:"处方",prop:"prescription"},{default:t(()=>[a(m,{modelValue:o(d).prescription,"onUpdate:modelValue":e[46]||(e[46]=l=>o(d).prescription=l),type:"textarea",rows:3,placeholder:"请输入处方"},null,8,["modelValue"])]),_:1}),a(n,{label:"医嘱",prop:"doctor_advice"},{default:t(()=>[a(m,{modelValue:o(d).doctor_advice,"onUpdate:modelValue":e[47]||(e[47]=l=>o(d).doctor_advice=l),type:"textarea",rows:3,placeholder:"请输入医嘱"},null,8,["modelValue"])]),_:1}),a(n,{label:"备注",prop:"remark"},{default:t(()=>[a(m,{modelValue:o(d).remark,"onUpdate:modelValue":e[48]||(e[48]=l=>o(d).remark=l),type:"textarea",rows:2,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})])]),_:1},8,["model"])]),_("div",je,[a(x,{onClick:ee,class:"btn-cancel"},{default:t(()=>[...e[75]||(e[75]=[s("取消",-1)])]),_:1}),a(x,{type:"primary",onClick:ie,loading:o(I),class:"btn-submit"},{default:t(()=>[...e[76]||(e[76]=[s(" 保存 ",-1)])]),_:1},8,["loading"])])])}}}),Ll=De(ze,[["__scopeId","data-v-9a9240a1"]]);export{Ll as default}; diff --git a/server/public/admin/assets/add-nav-D7qVIdmR.js b/server/public/admin/assets/add-nav-Dng94uAB.js similarity index 70% rename from server/public/admin/assets/add-nav-D7qVIdmR.js rename to server/public/admin/assets/add-nav-Dng94uAB.js index 2ff102092..d39b26070 100644 --- a/server/public/admin/assets/add-nav-D7qVIdmR.js +++ b/server/public/admin/assets/add-nav-Dng94uAB.js @@ -1 +1 @@ -import{_ as o}from"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js b/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js similarity index 93% rename from server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js rename to server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js index 3dfe037cb..f7611254e 100644 --- a/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js +++ b/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js @@ -1 +1 @@ -import{C as E,B,g as C,i as N}from"./element-plus-DGP1XOrU.js";import{_ as $}from"./index-Dc1nFBAH.js";import{_ as z}from"./picker-8l5NOLQi.js";import{_ as A}from"./picker-C0hwSppU.js";import{c as D,k as r}from"./index-fRv3NTFQ.js";import{D as I}from"./vuedraggable-5bKFmC7X.js";import{f as R,ak as p,I as F,J as l,a,aN as d,G,O as J,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,a as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"bg-fill-light flex items-center w-full p-4 mb-4"},S={class:"upload-btn w-[60px] h-[60px]"},T={class:"ml-3 flex-1"},j={class:"flex items-center"},q={class:"flex items-center mt-[18px]"},H={class:"flex-1 flex items-center"},K={class:"drag-move cursor-move ml-auto"},oe=R({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:100},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:f}){const t=_,V=f,m=L({get(){return t.modelValue},set(s){V("update:modelValue",s)}}),x=()=>{var s;((s=t.modelValue)==null?void 0:s.length){var e;if(((e=t.modelValue)==null?void 0:e.length)<=t.min)return r.msgError(`最少保留${t.min}个`);m.value.splice(s,1)};return(s,e)=>{const i=D,v=A,k=E,h=z,b=C,w=B,y=$,U=N;return p(),F("div",null,[l("div",null,[a(c(I),{class:"draggable",modelValue:c(m),"onUpdate:modelValue":e[0]||(e[0]=o=>O(m)?m.value=o:null),animation:"300",handle:".drag-move","item-key":"index"},{item:d(({element:o,index:u})=>[(p(),G(y,{class:"w-[467px]",key:u,onClose:n=>g(u)},{default:d(()=>[l("div",P,[a(v,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:d(()=>[l("div",S,[a(i,{name:"el-icon-Plus",size:20})])]),_:1},8,["modelValue","onUpdate:modelValue"]),l("div",T,[l("div",j,[e[1]||(e[1]=l("span",{class:"text-tx-regular flex-none mr-3"},"名称",-1)),a(k,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),l("div",q,[e[2]||(e[2]=l("span",{class:"text-tx-regular flex-none mr-3"},"链接",-1)),a(h,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),a(w,{label:"是否显示",class:"mt-[18px]"},{default:d(()=>[l("div",H,[a(b,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",K,[a(i,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),l("div",null,[a(U,{type:"primary",onClick:x},{default:d(()=>[...e[3]||(e[3]=[J("添加",-1)])]),_:1})])])}}});export{oe as _}; +import{C as E,B,g as C,i as N}from"./element-plus-DGP1XOrU.js";import{_ as $}from"./index-sgqCyAwB.js";import{_ as z}from"./picker-CeVtQr2X.js";import{_ as A}from"./picker-lbwHqE-a.js";import{c as D,k as r}from"./index-J_eFER10.js";import{D as I}from"./vuedraggable-5bKFmC7X.js";import{f as R,ak as p,I as F,J as l,a,aN as d,G,O as J,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,a as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"bg-fill-light flex items-center w-full p-4 mb-4"},S={class:"upload-btn w-[60px] h-[60px]"},T={class:"ml-3 flex-1"},j={class:"flex items-center"},q={class:"flex items-center mt-[18px]"},H={class:"flex-1 flex items-center"},K={class:"drag-move cursor-move ml-auto"},oe=R({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:100},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:f}){const t=_,V=f,m=L({get(){return t.modelValue},set(s){V("update:modelValue",s)}}),x=()=>{var s;((s=t.modelValue)==null?void 0:s.length){var e;if(((e=t.modelValue)==null?void 0:e.length)<=t.min)return r.msgError(`最少保留${t.min}个`);m.value.splice(s,1)};return(s,e)=>{const i=D,v=A,k=E,h=z,b=C,w=B,y=$,U=N;return p(),F("div",null,[l("div",null,[a(c(I),{class:"draggable",modelValue:c(m),"onUpdate:modelValue":e[0]||(e[0]=o=>O(m)?m.value=o:null),animation:"300",handle:".drag-move","item-key":"index"},{item:d(({element:o,index:u})=>[(p(),G(y,{class:"w-[467px]",key:u,onClose:n=>g(u)},{default:d(()=>[l("div",P,[a(v,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:d(()=>[l("div",S,[a(i,{name:"el-icon-Plus",size:20})])]),_:1},8,["modelValue","onUpdate:modelValue"]),l("div",T,[l("div",j,[e[1]||(e[1]=l("span",{class:"text-tx-regular flex-none mr-3"},"名称",-1)),a(k,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),l("div",q,[e[2]||(e[2]=l("span",{class:"text-tx-regular flex-none mr-3"},"链接",-1)),a(h,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),a(w,{label:"是否显示",class:"mt-[18px]"},{default:d(()=>[l("div",H,[a(b,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",K,[a(i,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),l("div",null,[a(U,{type:"primary",onClick:x},{default:d(()=>[...e[3]||(e[3]=[J("添加",-1)])]),_:1})])])}}});export{oe as _}; diff --git a/server/public/admin/assets/admin-BiglL3bM.js b/server/public/admin/assets/admin-RUE9duOm.js similarity index 84% rename from server/public/admin/assets/admin-BiglL3bM.js rename to server/public/admin/assets/admin-RUE9duOm.js index b0f3a67c3..7b308d471 100644 --- a/server/public/admin/assets/admin-BiglL3bM.js +++ b/server/public/admin/assets/admin-RUE9duOm.js @@ -1 +1 @@ -import{r as n}from"./index-fRv3NTFQ.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function i(t){return n.post({url:"/auth.admin/add",params:t})}function r(t){return n.post({url:"/auth.admin/edit",params:t})}function u(t){return n.post({url:"/auth.admin/delete",params:t})}function d(t){return n.get({url:"/auth.admin/detail",params:t})}export{e as a,r as b,u as c,i as d,d as e}; +import{r as n}from"./index-J_eFER10.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function i(t){return n.post({url:"/auth.admin/add",params:t})}function r(t){return n.post({url:"/auth.admin/edit",params:t})}function u(t){return n.post({url:"/auth.admin/delete",params:t})}function d(t){return n.get({url:"/auth.admin/detail",params:t})}export{e as a,r as b,u as c,i as d,d as e}; diff --git a/server/public/admin/assets/appointment-aTSV_XED.js b/server/public/admin/assets/appointment-CWzTZ9VV.js similarity index 98% rename from server/public/admin/assets/appointment-aTSV_XED.js rename to server/public/admin/assets/appointment-CWzTZ9VV.js index f6ee51d45..6bff9ed32 100644 --- a/server/public/admin/assets/appointment-aTSV_XED.js +++ b/server/public/admin/assets/appointment-CWzTZ9VV.js @@ -1 +1 @@ -import{L as Se,D as Te,B as Ve,G as we,J as Ce,Q as Me,R as Ye,C as Ee,X as Ne,i as xe,M as Ie,e as Ae}from"./element-plus-DGP1XOrU.js";import{M as Be}from"./@element-plus/icons-vue-CbYn5zW9.js";import{d as p,g as Le}from"./dayjs-DG77mNTn.js";import{g as Re}from"./tcm-CEIBuAeK.js";import{o as Ue,k as m,_ as We}from"./index-fRv3NTFQ.js";import{a as q,r as $e,g as ze,o as Fe}from"./doctor-BVLBwYIX.js";import{M as He}from"./first_visit-BYIyH6Y1.js";import{f as Qe,ak as d,G as k,aN as s,aP as qe,I as b,H as R,a as i,J as y,O as D,F as N,ap as x,A as S,n as Ge}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as G}from"./@vue/shared-mAAVTE9n.js";import{y as Oe,n as v,r as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Pe={class:"text-gray-500"},je={class:"doctor-list"},Je={key:2,class:"appointment-time-container"},Xe={class:"date-selector"},Ke={key:0,class:"time-slots-container"},Ze={class:"time-slots-header"},et={class:"time-slots-grid"},tt=["onClick"],at={class:"slot-time"},nt={class:"drawer-footer"},lt=Qe({__name:"appointment",props:{apiScene:{default:"default"}},emits:["success"],setup(P,{expose:j,emit:J}){p.extend(Le);const X=P,C=v(!1),T=v(!1),I=v(!1),A=v(!1),U=v([]),f=v([]),Y=v(""),u=v(0),c=v([]),M=v([]),V=v(!1),_=O({id:0,name:"",gender:"",age:0}),a=O({appointmentMethod:"time",appointmentType:"video",patientId:0,date:"",appointmentTime:"",remark:"",channel_source:"",channel_source_detail:""}),K=new Set(["自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function W(e){return K.has(String(e??"").trim())}const Z=S(()=>{const e=a.channel_source;if(e===""||e==null)return"";const t=M.value.find(n=>String(n.value)===String(e));return t?String(t.name??"").trim():""}),B=S(()=>W(Z.value)),ee=e=>{const t=M.value.find(o=>String(o.value)===String(e)),n=t?String(t.name??"").trim():"";W(n)||(a.channel_source_detail="")},te=S(()=>{if(!u.value||c.value.length===0)return[];const e=[],t=["日","一","二","三","四","五","六"],n=p().startOf("day");for(const o of c.value){const r=p(o);if(r.isBefore(n))continue;const g=`${r.format("MM月DD日")} (${t[r.day()]})`;e.push({date:o,label:g})}return e}),ae=S(()=>{if(!a.date||f.value.length===0)return[];const e=p().format("YYYY-MM-DD");if(!(a.date===e))return f.value;const n=p();return f.value.map(o=>{const r=p(`${a.date} ${o.time}`);return r.isBefore(n)||r.isSame(n,"minute")?{...o,available:!1}:o})}),ne=()=>p().format("YYYY-MM-DD"),L=S(()=>a.date===ne()),le=S(()=>V.value?L.value?"该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。":"该患者今日已有挂号记录;可为患者预约其他日期的时段。":""),$=S(()=>V.value&&L.value),oe=S(()=>!$.value&&u.value&&a.date&&a.appointmentTime&&!!a.channel_source&&(!B.value||a.channel_source_detail.trim()!=="")),se=J,ie=async e=>{C.value=!0,_.id=e.patient_id||e.id,_.name=e.patient_name||e.name,_.gender=e.gender_desc||e.gender,_.age=e.age||0,a.appointmentMethod="time",a.appointmentType="video",a.patientId=_.id,u.value=0,a.date="",a.appointmentTime="",a.remark="",a.channel_source="",a.channel_source_detail="",f.value=[],c.value=[],Y.value="",V.value=!1,await de(),await me(),await ue(),await re()},re=async()=>{V.value=!1;const e=_.id;if(!e)return;const t=p().format("YYYY-MM-DD");try{const n=await q({patient_id:e,start_date:t,end_date:t,page_no:1,page_size:50}),r=((n==null?void 0:n.lists)||[]).find(g=>{const h=Number(g.status);return h===1||h===4});V.value=!!r}catch(n){console.error("检查今日挂号状态失败:",n)}},ue=async()=>{try{const e=await q({patient_id:_.id,status:3,page_no:1,page_size:1});if(e!=null&&e.lists&&e.lists.length>0){const t=e.lists[0];t.appointment_date&&t.appointment_time?Y.value=`${t.appointment_date} ${t.appointment_time}`:t.appointment_date&&(Y.value=t.appointment_date)}}catch(e){console.error("加载就诊记录失败:",e)}},de=async()=>{try{const e=await Ue({type:"channels"}),t=((e==null?void 0:e.channels)||[]).filter(n=>n.status!==0);t.sort((n,o)=>{const r=Number((o==null?void 0:o.sort)??0)-Number((n==null?void 0:n.sort)??0);return r!==0?r:Number((o==null?void 0:o.id)??0)-Number((n==null?void 0:n.id)??0)}),M.value=t.map(n=>({...n,value:(n==null?void 0:n.value)!=null&&n.value!==""?String(n.value):""}))}catch(e){console.error("加载渠道来源失败:",e),M.value=[]}},me=async()=>{try{T.value=!0;const e=await Re();U.value=e||[]}catch(e){console.error("加载医生列表失败:",e),m.msgError("加载医生列表失败")}finally{T.value=!1}},ce=()=>{u.value=0,a.date="",a.appointmentTime="",f.value=[]},pe=async()=>{a.appointmentTime="",a.date="",f.value=[],c.value=[],u.value&&await ve()},ve=async()=>{if(u.value)try{T.value=!0;const e=p().format("YYYY-MM-DD"),t=p().add(6,"day").format("YYYY-MM-DD"),n=await $e({doctor_id:u.value,start_date:e,end_date:t,status:1});if(n!=null&&n.lists&&n.lists.length>0){if(c.value=[...new Set(n.lists.map(o=>o.date))],c.value.sort(),await Ge(),c.value.length>0){const o=p().format("YYYY-MM-DD");let r=c.value.includes(o)?o:c.value[0];V.value&&r===o&&(r=c.value.find(h=>h>o)??c.value.find(h=>h!==o)??r),z(r)}}else c.value=[],m.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),m.msgError("加载医生排班失败"),c.value=[]}finally{T.value=!1}},z=e=>{a.date=e,a.appointmentTime="",u.value&&F()},F=async()=>{if(!(!u.value||!a.date))try{T.value=!0;const e=await ze({doctor_id:u.value,appointment_date:a.date,period:"all"});console.log("时间段数据:",e),f.value=((e==null?void 0:e.slots)||[]).map(t=>({time:t.time,available:t.available,quota:t.available?1:0})),console.log("处理后的时间段:",f.value)}catch(e){console.error("加载时间段失败:",e),m.msgError("加载时间段失败"),f.value=[]}finally{T.value=!1}},fe=e=>{if(!e.available){m.msgWarning("该时间段不可预约");return}a.appointmentTime=e.time},_e=async()=>{if(!(!u.value||!a.date))try{A.value=!0;const e=a.appointmentTime;if(a.appointmentTime="",await F(),e){const t=f.value.find(n=>n.time===e);t&&t.available&&(a.appointmentTime=e)}m.msgSuccess("刷新成功")}catch(e){console.error("刷新失败:",e),m.msgError("刷新失败,请重试")}finally{A.value=!1}},ge=async()=>{if(!u.value){m.msgWarning("请选择医生");return}if(!a.date){m.msgWarning("请选择日期");return}if(!a.appointmentTime){m.msgWarning("请选择预约时间");return}if(!a.channel_source){m.msgWarning("请选择渠道来源");return}if(B.value&&!a.channel_source_detail.trim()){m.msgWarning("请填写自媒体渠道补充信息");return}if($.value){m.msgWarning("该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。");return}try{I.value=!0;const e={patient_id:_.id,doctor_id:u.value,appointment_date:a.date,period:"all",appointment_time:a.appointmentTime,appointment_type:a.appointmentType,remark:a.remark,channel_source:String(a.channel_source??""),channel_source_detail:a.channel_source_detail.trim()};console.log("提交预约参数:",e),X.apiScene==="my_patient"?await He(e):await Fe(e),m.msgSuccess("预约成功"),C.value=!1,se("success")}catch(e){console.error("预约失败:",e),m.msgError("预约失败")}finally{I.value=!1}};return j({open:ie}),(e,t)=>{const n=Se,o=Ve,r=Ce,g=we,h=Ye,ye=Me,H=Ee,Q=Ne,E=xe,he=Te,ke=Ae,be=Ie;return d(),k(ke,{modelValue:C.value,"onUpdate:modelValue":t[8]||(t[8]=l=>C.value=l),title:"预约问诊",direction:"rtl",size:"60%","close-on-click-modal":!1,"z-index":2e3},{footer:s(()=>[y("div",nt,[i(E,{onClick:t[7]||(t[7]=l=>C.value=!1)},{default:s(()=>[...t[13]||(t[13]=[D("取消",-1)])]),_:1}),i(E,{type:"primary",onClick:ge,loading:I.value,disabled:!oe.value},{default:s(()=>[...t[14]||(t[14]=[D(" 确定 ",-1)])]),_:1},8,["loading","disabled"])])]),default:s(()=>[qe((d(),b("div",null,[V.value?(d(),k(n,{key:0,type:L.value?"warning":"info",closable:!1,"show-icon":"",class:"today-block-alert",title:le.value},null,8,["type","title"])):R("",!0),i(he,{model:a,"label-width":"100px",class:"appointment-form"},{default:s(()=>[i(o,{label:"上次就诊:"},{default:s(()=>[y("span",Pe,w(Y.value||"无就诊记录"),1)]),_:1}),i(o,{label:"预约方式:"},{default:s(()=>[i(g,{modelValue:a.appointmentMethod,"onUpdate:modelValue":t[0]||(t[0]=l=>a.appointmentMethod=l),onChange:ce},{default:s(()=>[i(r,{value:"time"},{default:s(()=>[...t[9]||(t[9]=[D("选择时段预约有专医生",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"预约类型:"},{default:s(()=>[i(g,{modelValue:a.appointmentType,"onUpdate:modelValue":t[1]||(t[1]=l=>a.appointmentType=l)},{default:s(()=>[i(r,{value:"video"},{default:s(()=>[...t[10]||(t[10]=[D("视频问诊",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"选择患者:"},{default:s(()=>[i(g,{modelValue:a.patientId,"onUpdate:modelValue":t[2]||(t[2]=l=>a.patientId=l)},{default:s(()=>[i(r,{value:_.id},{default:s(()=>[D(w(_.name),1)]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"渠道来源:",required:""},{default:s(()=>[i(ye,{modelValue:a.channel_source,"onUpdate:modelValue":t[3]||(t[3]=l=>a.channel_source=l),placeholder:"请选择渠道来源",class:"channel-source-select",onChange:ee},{default:s(()=>[(d(!0),b(N,null,x(M.value,l=>(d(),k(h,{key:String(l.value),label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),B.value?(d(),k(o,{key:0,label:"自媒体补充:",required:""},{default:s(()=>[i(H,{modelValue:a.channel_source_detail,"onUpdate:modelValue":t[4]||(t[4]=l=>a.channel_source_detail=l),clearable:"",maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",class:"channel-source-select"},null,8,["modelValue"])]),_:1})):R("",!0),i(o,{label:"预约医生:"},{default:s(()=>[y("div",je,[i(g,{modelValue:u.value,"onUpdate:modelValue":t[5]||(t[5]=l=>u.value=l),onChange:pe},{default:s(()=>[(d(!0),b(N,null,x(U.value,l=>(d(),k(r,{key:l.id,value:l.id,class:"doctor-radio"},{default:s(()=>[D(w(l.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),i(o,{label:"预约时间:"},{default:s(()=>[u.value?u.value&&c.value.length===0?(d(),k(Q,{key:1,description:"该医生暂无排班","image-size":80})):(d(),b("div",Je,[y("div",Xe,[(d(!0),b(N,null,x(te.value,l=>(d(),k(E,{key:l.date,type:a.date===l.date?"primary":"",onClick:De=>z(l.date),class:"date-button"},{default:s(()=>[D(w(l.label),1)]),_:2},1032,["type","onClick"]))),128))]),a.date?(d(),b("div",Ke,[y("div",Ze,[t[12]||(t[12]=y("span",{class:"header-title"},"可预约时段",-1)),i(E,{text:"",type:"primary",size:"small",loading:A.value,onClick:_e},{icon:s(()=>[i(Oe(Be))]),default:s(()=>[t[11]||(t[11]=D(" 刷新 ",-1))]),_:1},8,["loading"])]),y("div",et,[(d(!0),b(N,null,x(ae.value,l=>(d(),b("div",{key:l.time,class:G(["time-slot-item",{available:l.available,unavailable:!l.available,selected:a.appointmentTime===l.time}]),onClick:De=>fe(l)},[y("div",at,w(l.time),1),y("div",{class:G(["slot-status",{"status-available":l.available}])},w(l.available?"可约":"已约"),3)],10,tt))),128))])])):R("",!0)])):(d(),k(Q,{key:0,description:"请先选择医生","image-size":80}))]),_:1}),i(o,{label:"备注:"},{default:s(()=>[i(H,{modelValue:a.remark,"onUpdate:modelValue":t[6]||(t[6]=l=>a.remark=l),type:"textarea",rows:2,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])),[[be,T.value]])]),_:1},8,["modelValue"])}}}),qt=We(lt,[["__scopeId","data-v-47038f3d"]]);export{qt as default}; +import{L as Se,D as Te,B as Ve,G as we,J as Ce,Q as Me,R as Ye,C as Ee,X as Ne,i as xe,M as Ie,e as Ae}from"./element-plus-DGP1XOrU.js";import{M as Be}from"./@element-plus/icons-vue-CbYn5zW9.js";import{d as p,g as Le}from"./dayjs-DG77mNTn.js";import{g as Re}from"./tcm-D-ZRccbe.js";import{o as Ue,k as m,_ as We}from"./index-J_eFER10.js";import{a as q,r as $e,g as ze,o as Fe}from"./doctor-BZKBQu9t.js";import{M as He}from"./first_visit-lwfDQsu4.js";import{f as Qe,ak as d,G as k,aN as s,aP as qe,I as b,H as R,a as i,J as y,O as D,F as N,ap as x,A as S,n as Ge}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as G}from"./@vue/shared-mAAVTE9n.js";import{y as Oe,n as v,r as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Pe={class:"text-gray-500"},je={class:"doctor-list"},Je={key:2,class:"appointment-time-container"},Xe={class:"date-selector"},Ke={key:0,class:"time-slots-container"},Ze={class:"time-slots-header"},et={class:"time-slots-grid"},tt=["onClick"],at={class:"slot-time"},nt={class:"drawer-footer"},lt=Qe({__name:"appointment",props:{apiScene:{default:"default"}},emits:["success"],setup(P,{expose:j,emit:J}){p.extend(Le);const X=P,C=v(!1),T=v(!1),I=v(!1),A=v(!1),U=v([]),f=v([]),Y=v(""),u=v(0),c=v([]),M=v([]),V=v(!1),_=O({id:0,name:"",gender:"",age:0}),a=O({appointmentMethod:"time",appointmentType:"video",patientId:0,date:"",appointmentTime:"",remark:"",channel_source:"",channel_source_detail:""}),K=new Set(["自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function W(e){return K.has(String(e??"").trim())}const Z=S(()=>{const e=a.channel_source;if(e===""||e==null)return"";const t=M.value.find(n=>String(n.value)===String(e));return t?String(t.name??"").trim():""}),B=S(()=>W(Z.value)),ee=e=>{const t=M.value.find(o=>String(o.value)===String(e)),n=t?String(t.name??"").trim():"";W(n)||(a.channel_source_detail="")},te=S(()=>{if(!u.value||c.value.length===0)return[];const e=[],t=["日","一","二","三","四","五","六"],n=p().startOf("day");for(const o of c.value){const r=p(o);if(r.isBefore(n))continue;const g=`${r.format("MM月DD日")} (${t[r.day()]})`;e.push({date:o,label:g})}return e}),ae=S(()=>{if(!a.date||f.value.length===0)return[];const e=p().format("YYYY-MM-DD");if(!(a.date===e))return f.value;const n=p();return f.value.map(o=>{const r=p(`${a.date} ${o.time}`);return r.isBefore(n)||r.isSame(n,"minute")?{...o,available:!1}:o})}),ne=()=>p().format("YYYY-MM-DD"),L=S(()=>a.date===ne()),le=S(()=>V.value?L.value?"该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。":"该患者今日已有挂号记录;可为患者预约其他日期的时段。":""),$=S(()=>V.value&&L.value),oe=S(()=>!$.value&&u.value&&a.date&&a.appointmentTime&&!!a.channel_source&&(!B.value||a.channel_source_detail.trim()!=="")),se=J,ie=async e=>{C.value=!0,_.id=e.patient_id||e.id,_.name=e.patient_name||e.name,_.gender=e.gender_desc||e.gender,_.age=e.age||0,a.appointmentMethod="time",a.appointmentType="video",a.patientId=_.id,u.value=0,a.date="",a.appointmentTime="",a.remark="",a.channel_source="",a.channel_source_detail="",f.value=[],c.value=[],Y.value="",V.value=!1,await de(),await me(),await ue(),await re()},re=async()=>{V.value=!1;const e=_.id;if(!e)return;const t=p().format("YYYY-MM-DD");try{const n=await q({patient_id:e,start_date:t,end_date:t,page_no:1,page_size:50}),r=((n==null?void 0:n.lists)||[]).find(g=>{const h=Number(g.status);return h===1||h===4});V.value=!!r}catch(n){console.error("检查今日挂号状态失败:",n)}},ue=async()=>{try{const e=await q({patient_id:_.id,status:3,page_no:1,page_size:1});if(e!=null&&e.lists&&e.lists.length>0){const t=e.lists[0];t.appointment_date&&t.appointment_time?Y.value=`${t.appointment_date} ${t.appointment_time}`:t.appointment_date&&(Y.value=t.appointment_date)}}catch(e){console.error("加载就诊记录失败:",e)}},de=async()=>{try{const e=await Ue({type:"channels"}),t=((e==null?void 0:e.channels)||[]).filter(n=>n.status!==0);t.sort((n,o)=>{const r=Number((o==null?void 0:o.sort)??0)-Number((n==null?void 0:n.sort)??0);return r!==0?r:Number((o==null?void 0:o.id)??0)-Number((n==null?void 0:n.id)??0)}),M.value=t.map(n=>({...n,value:(n==null?void 0:n.value)!=null&&n.value!==""?String(n.value):""}))}catch(e){console.error("加载渠道来源失败:",e),M.value=[]}},me=async()=>{try{T.value=!0;const e=await Re();U.value=e||[]}catch(e){console.error("加载医生列表失败:",e),m.msgError("加载医生列表失败")}finally{T.value=!1}},ce=()=>{u.value=0,a.date="",a.appointmentTime="",f.value=[]},pe=async()=>{a.appointmentTime="",a.date="",f.value=[],c.value=[],u.value&&await ve()},ve=async()=>{if(u.value)try{T.value=!0;const e=p().format("YYYY-MM-DD"),t=p().add(6,"day").format("YYYY-MM-DD"),n=await $e({doctor_id:u.value,start_date:e,end_date:t,status:1});if(n!=null&&n.lists&&n.lists.length>0){if(c.value=[...new Set(n.lists.map(o=>o.date))],c.value.sort(),await Ge(),c.value.length>0){const o=p().format("YYYY-MM-DD");let r=c.value.includes(o)?o:c.value[0];V.value&&r===o&&(r=c.value.find(h=>h>o)??c.value.find(h=>h!==o)??r),z(r)}}else c.value=[],m.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),m.msgError("加载医生排班失败"),c.value=[]}finally{T.value=!1}},z=e=>{a.date=e,a.appointmentTime="",u.value&&F()},F=async()=>{if(!(!u.value||!a.date))try{T.value=!0;const e=await ze({doctor_id:u.value,appointment_date:a.date,period:"all"});console.log("时间段数据:",e),f.value=((e==null?void 0:e.slots)||[]).map(t=>({time:t.time,available:t.available,quota:t.available?1:0})),console.log("处理后的时间段:",f.value)}catch(e){console.error("加载时间段失败:",e),m.msgError("加载时间段失败"),f.value=[]}finally{T.value=!1}},fe=e=>{if(!e.available){m.msgWarning("该时间段不可预约");return}a.appointmentTime=e.time},_e=async()=>{if(!(!u.value||!a.date))try{A.value=!0;const e=a.appointmentTime;if(a.appointmentTime="",await F(),e){const t=f.value.find(n=>n.time===e);t&&t.available&&(a.appointmentTime=e)}m.msgSuccess("刷新成功")}catch(e){console.error("刷新失败:",e),m.msgError("刷新失败,请重试")}finally{A.value=!1}},ge=async()=>{if(!u.value){m.msgWarning("请选择医生");return}if(!a.date){m.msgWarning("请选择日期");return}if(!a.appointmentTime){m.msgWarning("请选择预约时间");return}if(!a.channel_source){m.msgWarning("请选择渠道来源");return}if(B.value&&!a.channel_source_detail.trim()){m.msgWarning("请填写自媒体渠道补充信息");return}if($.value){m.msgWarning("该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。");return}try{I.value=!0;const e={patient_id:_.id,doctor_id:u.value,appointment_date:a.date,period:"all",appointment_time:a.appointmentTime,appointment_type:a.appointmentType,remark:a.remark,channel_source:String(a.channel_source??""),channel_source_detail:a.channel_source_detail.trim()};console.log("提交预约参数:",e),X.apiScene==="my_patient"?await He(e):await Fe(e),m.msgSuccess("预约成功"),C.value=!1,se("success")}catch(e){console.error("预约失败:",e),m.msgError("预约失败")}finally{I.value=!1}};return j({open:ie}),(e,t)=>{const n=Se,o=Ve,r=Ce,g=we,h=Ye,ye=Me,H=Ee,Q=Ne,E=xe,he=Te,ke=Ae,be=Ie;return d(),k(ke,{modelValue:C.value,"onUpdate:modelValue":t[8]||(t[8]=l=>C.value=l),title:"预约问诊",direction:"rtl",size:"60%","close-on-click-modal":!1,"z-index":2e3},{footer:s(()=>[y("div",nt,[i(E,{onClick:t[7]||(t[7]=l=>C.value=!1)},{default:s(()=>[...t[13]||(t[13]=[D("取消",-1)])]),_:1}),i(E,{type:"primary",onClick:ge,loading:I.value,disabled:!oe.value},{default:s(()=>[...t[14]||(t[14]=[D(" 确定 ",-1)])]),_:1},8,["loading","disabled"])])]),default:s(()=>[qe((d(),b("div",null,[V.value?(d(),k(n,{key:0,type:L.value?"warning":"info",closable:!1,"show-icon":"",class:"today-block-alert",title:le.value},null,8,["type","title"])):R("",!0),i(he,{model:a,"label-width":"100px",class:"appointment-form"},{default:s(()=>[i(o,{label:"上次就诊:"},{default:s(()=>[y("span",Pe,w(Y.value||"无就诊记录"),1)]),_:1}),i(o,{label:"预约方式:"},{default:s(()=>[i(g,{modelValue:a.appointmentMethod,"onUpdate:modelValue":t[0]||(t[0]=l=>a.appointmentMethod=l),onChange:ce},{default:s(()=>[i(r,{value:"time"},{default:s(()=>[...t[9]||(t[9]=[D("选择时段预约有专医生",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"预约类型:"},{default:s(()=>[i(g,{modelValue:a.appointmentType,"onUpdate:modelValue":t[1]||(t[1]=l=>a.appointmentType=l)},{default:s(()=>[i(r,{value:"video"},{default:s(()=>[...t[10]||(t[10]=[D("视频问诊",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"选择患者:"},{default:s(()=>[i(g,{modelValue:a.patientId,"onUpdate:modelValue":t[2]||(t[2]=l=>a.patientId=l)},{default:s(()=>[i(r,{value:_.id},{default:s(()=>[D(w(_.name),1)]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"渠道来源:",required:""},{default:s(()=>[i(ye,{modelValue:a.channel_source,"onUpdate:modelValue":t[3]||(t[3]=l=>a.channel_source=l),placeholder:"请选择渠道来源",class:"channel-source-select",onChange:ee},{default:s(()=>[(d(!0),b(N,null,x(M.value,l=>(d(),k(h,{key:String(l.value),label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),B.value?(d(),k(o,{key:0,label:"自媒体补充:",required:""},{default:s(()=>[i(H,{modelValue:a.channel_source_detail,"onUpdate:modelValue":t[4]||(t[4]=l=>a.channel_source_detail=l),clearable:"",maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",class:"channel-source-select"},null,8,["modelValue"])]),_:1})):R("",!0),i(o,{label:"预约医生:"},{default:s(()=>[y("div",je,[i(g,{modelValue:u.value,"onUpdate:modelValue":t[5]||(t[5]=l=>u.value=l),onChange:pe},{default:s(()=>[(d(!0),b(N,null,x(U.value,l=>(d(),k(r,{key:l.id,value:l.id,class:"doctor-radio"},{default:s(()=>[D(w(l.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),i(o,{label:"预约时间:"},{default:s(()=>[u.value?u.value&&c.value.length===0?(d(),k(Q,{key:1,description:"该医生暂无排班","image-size":80})):(d(),b("div",Je,[y("div",Xe,[(d(!0),b(N,null,x(te.value,l=>(d(),k(E,{key:l.date,type:a.date===l.date?"primary":"",onClick:De=>z(l.date),class:"date-button"},{default:s(()=>[D(w(l.label),1)]),_:2},1032,["type","onClick"]))),128))]),a.date?(d(),b("div",Ke,[y("div",Ze,[t[12]||(t[12]=y("span",{class:"header-title"},"可预约时段",-1)),i(E,{text:"",type:"primary",size:"small",loading:A.value,onClick:_e},{icon:s(()=>[i(Oe(Be))]),default:s(()=>[t[11]||(t[11]=D(" 刷新 ",-1))]),_:1},8,["loading"])]),y("div",et,[(d(!0),b(N,null,x(ae.value,l=>(d(),b("div",{key:l.time,class:G(["time-slot-item",{available:l.available,unavailable:!l.available,selected:a.appointmentTime===l.time}]),onClick:De=>fe(l)},[y("div",at,w(l.time),1),y("div",{class:G(["slot-status",{"status-available":l.available}])},w(l.available?"可约":"已约"),3)],10,tt))),128))])])):R("",!0)])):(d(),k(Q,{key:0,description:"请先选择医生","image-size":80}))]),_:1}),i(o,{label:"备注:"},{default:s(()=>[i(H,{modelValue:a.remark,"onUpdate:modelValue":t[6]||(t[6]=l=>a.remark=l),type:"textarea",rows:2,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])),[[be,T.value]])]),_:1},8,["modelValue"])}}}),qt=We(lt,[["__scopeId","data-v-47038f3d"]]);export{qt as default}; diff --git a/server/public/admin/assets/article-BsGgZfIu.js b/server/public/admin/assets/article-D7twg9M1.js similarity index 93% rename from server/public/admin/assets/article-BsGgZfIu.js rename to server/public/admin/assets/article-D7twg9M1.js index bea1d2856..4fac7b738 100644 --- a/server/public/admin/assets/article-BsGgZfIu.js +++ b/server/public/admin/assets/article-D7twg9M1.js @@ -1 +1 @@ -import{r as e}from"./index-fRv3NTFQ.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{a,u as b,s as c,c as d,i as e,n as f,p as g,f as h,d as i,l as j,o as k,g as l,C as m}; +import{r as e}from"./index-J_eFER10.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{a,u as b,s as c,c as d,i as e,n as f,p as g,f as h,d as i,l as j,o as k,g as l,C as m}; diff --git a/server/public/admin/assets/asset-BIi7JiAC.js b/server/public/admin/assets/asset-D3abx9VD.js similarity index 90% rename from server/public/admin/assets/asset-BIi7JiAC.js rename to server/public/admin/assets/asset-D3abx9VD.js index c6c312b3c..aa61b07c7 100644 --- a/server/public/admin/assets/asset-BIi7JiAC.js +++ b/server/public/admin/assets/asset-D3abx9VD.js @@ -1 +1 @@ -import{r as e}from"./index-fRv3NTFQ.js";function r(s){return e.get({url:"/asset.AssetUser/lists",params:s})}function u(s){return e.post({url:"/asset.AssetUser/add",params:s})}function a(s){return e.post({url:"/asset.AssetUser/edit",params:s})}function i(s){return e.post({url:"/asset.AssetUser/delete",params:s})}function o(s){return e.get({url:"/asset.AssetResource/lists",params:s})}function n(s){return e.post({url:"/asset.AssetResource/add",params:s})}function A(s){return e.post({url:"/asset.AssetResource/edit",params:s})}function c(s){return e.post({url:"/asset.AssetResource/delete",params:s})}export{o as a,c as b,A as c,n as d,r as e,a as f,i as g,u as h}; +import{r as e}from"./index-J_eFER10.js";function r(s){return e.get({url:"/asset.AssetUser/lists",params:s})}function u(s){return e.post({url:"/asset.AssetUser/add",params:s})}function a(s){return e.post({url:"/asset.AssetUser/edit",params:s})}function i(s){return e.post({url:"/asset.AssetUser/delete",params:s})}function o(s){return e.get({url:"/asset.AssetResource/lists",params:s})}function n(s){return e.post({url:"/asset.AssetResource/add",params:s})}function A(s){return e.post({url:"/asset.AssetResource/edit",params:s})}function c(s){return e.post({url:"/asset.AssetResource/delete",params:s})}export{o as a,c as b,A as c,n as d,r as e,a as f,i as g,u as h}; diff --git a/server/public/admin/assets/attr-BbYRgiEK.js b/server/public/admin/assets/attr-BZJ196vG.js similarity index 68% rename from server/public/admin/assets/attr-BbYRgiEK.js rename to server/public/admin/assets/attr-BZJ196vG.js index 21abc2b5c..24620f8d4 100644 --- a/server/public/admin/assets/attr-BbYRgiEK.js +++ b/server/public/admin/assets/attr-BZJ196vG.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-xKBSWMjX.js b/server/public/admin/assets/attr-BwA_74Bu.js similarity index 67% rename from server/public/admin/assets/attr-xKBSWMjX.js rename to server/public/admin/assets/attr-BwA_74Bu.js index f4adaeeb3..28a2e42b0 100644 --- a/server/public/admin/assets/attr-xKBSWMjX.js +++ b/server/public/admin/assets/attr-BwA_74Bu.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-DOkeFgW2.js b/server/public/admin/assets/attr-CGTrPtXp.js similarity index 73% rename from server/public/admin/assets/attr-DOkeFgW2.js rename to server/public/admin/assets/attr-CGTrPtXp.js index 21b9d3dcd..8c7514145 100644 --- a/server/public/admin/assets/attr-DOkeFgW2.js +++ b/server/public/admin/assets/attr-CGTrPtXp.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-InluY_es.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-CvYF9HcW.js b/server/public/admin/assets/attr-CSIASRLW.js similarity index 80% rename from server/public/admin/assets/attr-CvYF9HcW.js rename to server/public/admin/assets/attr-CSIASRLW.js index 1092c5a2a..1d1a9919a 100644 --- a/server/public/admin/assets/attr-CvYF9HcW.js +++ b/server/public/admin/assets/attr-CSIASRLW.js @@ -1 +1 @@ -import{m as b,l as c,D as V}from"./element-plus-DGP1XOrU.js";import{_ as l}from"./menu-set.vue_vue_type_script_setup_true_lang-Dugyuqkl.js";import{f as v,ak as x,I as k,J as E,a as o,aN as e,F as g,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as r}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const Bt=v({__name:"attr",props:{modelValue:{type:Object,default:()=>({nav:[],menu:{}})}},emits:["update:modelValue"],setup(n,{emit:s}){const u=n,d=s,m=w({get(){return u.modelValue},set(i){d("update:modelValue",i)}});return(i,t)=>{const a=c,f=b,_=V;return x(),k(g,null,[t[2]||(t[2]=E("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"}," pc导航设置 ",-1)),o(_,{class:"mt-4","label-width":"70px"},{default:e(()=>[o(f,{"model-value":"nav"},{default:e(()=>[o(a,{label:"主导航设置",name:"nav"},{default:e(()=>[o(l,{modelValue:r(m).nav,"onUpdate:modelValue":t[0]||(t[0]=p=>r(m).nav=p)},null,8,["modelValue"])]),_:1}),o(a,{label:"菜单设置",name:"menu"},{default:e(()=>[o(l,{modelValue:r(m).menu,"onUpdate:modelValue":t[1]||(t[1]=p=>r(m).menu=p)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)}}});export{Bt as default}; +import{m as b,l as c,D as V}from"./element-plus-DGP1XOrU.js";import{_ as l}from"./menu-set.vue_vue_type_script_setup_true_lang-B71z3XWb.js";import{f as v,ak as x,I as k,J as E,a as o,aN as e,F as g,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as r}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const Bt=v({__name:"attr",props:{modelValue:{type:Object,default:()=>({nav:[],menu:{}})}},emits:["update:modelValue"],setup(n,{emit:s}){const u=n,d=s,m=w({get(){return u.modelValue},set(i){d("update:modelValue",i)}});return(i,t)=>{const a=c,f=b,_=V;return x(),k(g,null,[t[2]||(t[2]=E("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"}," pc导航设置 ",-1)),o(_,{class:"mt-4","label-width":"70px"},{default:e(()=>[o(f,{"model-value":"nav"},{default:e(()=>[o(a,{label:"主导航设置",name:"nav"},{default:e(()=>[o(l,{modelValue:r(m).nav,"onUpdate:modelValue":t[0]||(t[0]=p=>r(m).nav=p)},null,8,["modelValue"])]),_:1}),o(a,{label:"菜单设置",name:"menu"},{default:e(()=>[o(l,{modelValue:r(m).menu,"onUpdate:modelValue":t[1]||(t[1]=p=>r(m).menu=p)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)}}});export{Bt as default}; diff --git a/server/public/admin/assets/attr-CIQncvn9.js b/server/public/admin/assets/attr-CjhU9F4P.js similarity index 67% rename from server/public/admin/assets/attr-CIQncvn9.js rename to server/public/admin/assets/attr-CjhU9F4P.js index b7b63b3c1..1631a3885 100644 --- a/server/public/admin/assets/attr-CIQncvn9.js +++ b/server/public/admin/assets/attr-CjhU9F4P.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-Bzl3ZUvo.js b/server/public/admin/assets/attr-DGALZxxM.js similarity index 72% rename from server/public/admin/assets/attr-Bzl3ZUvo.js rename to server/public/admin/assets/attr-DGALZxxM.js index 7f549e73f..7faeca4cc 100644 --- a/server/public/admin/assets/attr-Bzl3ZUvo.js +++ b/server/public/admin/assets/attr-DGALZxxM.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-C15UeEgF.js b/server/public/admin/assets/attr-DWqsQPnI.js similarity index 68% rename from server/public/admin/assets/attr-C15UeEgF.js rename to server/public/admin/assets/attr-DWqsQPnI.js index ce2f40dd9..7047bf48f 100644 --- a/server/public/admin/assets/attr-C15UeEgF.js +++ b/server/public/admin/assets/attr-DWqsQPnI.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-DNYOqt8u.js b/server/public/admin/assets/attr-Desfmq-O.js similarity index 68% rename from server/public/admin/assets/attr-DNYOqt8u.js rename to server/public/admin/assets/attr-Desfmq-O.js index 7816bc4d0..0f3538974 100644 --- a/server/public/admin/assets/attr-DNYOqt8u.js +++ b/server/public/admin/assets/attr-Desfmq-O.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BEMWfwi1.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-s3MjTyMz.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";export{o as default}; diff --git a/server/public/admin/assets/attr-DaHTqGGt.js b/server/public/admin/assets/attr-U0WNIueQ.js similarity index 92% rename from server/public/admin/assets/attr-DaHTqGGt.js rename to server/public/admin/assets/attr-U0WNIueQ.js index bf1f5285b..9bfeb58fe 100644 --- a/server/public/admin/assets/attr-DaHTqGGt.js +++ b/server/public/admin/assets/attr-U0WNIueQ.js @@ -1 +1 @@ -import{K as O,G as R,J as A,B as J,C as S,g as H,i as K,D as T}from"./element-plus-DGP1XOrU.js";import{_ as q}from"./index-Dc1nFBAH.js";import{c as L,k as E,_ as M}from"./index-fRv3NTFQ.js";import{_ as P}from"./picker-8l5NOLQi.js";import{_ as Q}from"./picker-C0hwSppU.js";import{D as W}from"./vuedraggable-5bKFmC7X.js";import{k as h}from"./lodash-es-C2A-Pj28.js";import{f as X,ak as s,G as p,aN as t,a as o,J as l,O as _,H as x,I as b,F as Y,A as Z}from"./@vue/runtime-core-C6bnekPw.js";import{y as r}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const ee={class:"flex items-end"},te={key:0,class:"text-xs text-tx-secondary ml-2"},oe={key:1,class:"text-xs text-tx-secondary ml-2"},le={class:"flex-1"},ae={class:"bg-fill-light w-full p-4 mt-4"},ne={class:"flex justify-center w-[467px]"},se={class:"flex-1"},de={class:"flex-1 flex items-center"},me={class:"drag-move cursor-move ml-auto"},ie={key:0,class:"mt-4"},v=5,pe=X({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(d,{emit:C}){const g=C,f=d,u=Z({get:()=>f.content,set:m=>{g("update:content",m)}}),B=()=>{var m;if(((m=f.content.data)==null?void 0:m.length){var i;if(((i=f.content.data)==null?void 0:i.length)<=1)return E.msgError("最少保留一张图片");const e=h(f.content);e.data.splice(m,1),g("update:content",e)};return(m,e)=>{const i=A,k=R,V=O,y=Q,N=P,F=S,w=J,I=H,$=L,j=q,z=K,G=T;return s(),p(G,{"label-width":"70px"},{default:t(()=>[o(V,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[5]||(e[5]=l("div",{class:"flex items-end mb-4"},[l("div",{class:"text-base dark:text-[#ffffff] text-[#101010] font-medium"},"展示样式")],-1)),o(k,{modelValue:r(u).style,"onUpdate:modelValue":e[0]||(e[0]=c=>r(u).style=c)},{default:t(()=>[o(i,{value:1},{default:t(()=>[...e[3]||(e[3]=[_("常规",-1)])]),_:1}),o(i,{value:2},{default:t(()=>[...e[4]||(e[4]=[_("大屏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.style==1?(s(),p(V,{key:0,shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[8]||(e[8]=l("div",{class:"flex items-end mb-4"},[l("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"背景联动")],-1)),o(k,{modelValue:r(u).bg_style,"onUpdate:modelValue":e[1]||(e[1]=c=>r(u).bg_style=c)},{default:t(()=>[o(i,{value:1},{default:t(()=>[...e[6]||(e[6]=[_("开启",-1)])]),_:1}),o(i,{value:0},{default:t(()=>[...e[7]||(e[7]=[_("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[9]||(e[9]=l("div",{class:"p-[15px] rounded-[8px] bg-[#f3f8ff] text-[#136bdf] mt-2"}," 开启背景联动后,需为轮播图设置背景图,轮播图切换时,背景图也跟随切换,此时该页面自身的“页面背景“设置将失效。 ",-1))]),_:1})):x("",!0),o(V,{shadow:"never",class:"!border-none flex-1 mt-2"},{default:t(()=>{var c;return[l("div",ee,[e[10]||(e[10]=l("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"轮播图片",-1)),d.content.style==1?(s(),b("div",te," 最多添加5张,建议图片尺寸:750px*340px ")):(s(),b("div",oe," 最多添加5张,建议图片尺寸:750px*1100px "))]),l("div",le,[o(r(W),{class:"draggable",modelValue:r(u).data,"onUpdate:modelValue":e[2]||(e[2]=a=>r(u).data=a),animation:"300",handle:".drag-move","item-key":"index"},{item:t(({element:a,index:U})=>[(s(),p(j,{key:U,onClose:n=>D(U),class:"w-full"},{default:t(()=>[l("div",ae,[l("div",ne,[d.content.style==1?(s(),b(Y,{key:0},[o(y,{size:"122px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[11]||(e[11]=[l("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),d.content.style==1||d.content.bg_style==1?(s(),p(y,{key:0,class:"ml-[40px]",size:"122px",modelValue:a.bg,"onUpdate:modelValue":n=>a.bg=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[12]||(e[12]=[l("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 背景图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])):x("",!0)],64)):(s(),p(y,{key:1,width:"396px",height:"196px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]))]),l("div",se,[o(w,{class:"mt-[18px]",label:"图片链接"},{default:t(()=>[d.type=="mobile"?(s(),p(N,{key:0,modelValue:a.link,"onUpdate:modelValue":n=>a.link=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0),d.type=="pc"?(s(),p(F,{key:1,placeholder:"请输入链接",modelValue:a.link.path,"onUpdate:modelValue":n=>a.link.path=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0)]),_:2},1024),o(w,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:t(()=>[l("div",de,[o(I,{modelValue:a.is_show,"onUpdate:modelValue":n=>a.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",me,[o($,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((c=d.content.data)==null?void 0:c.length)[...e[13]||(e[13]=[_("添加图片",-1)])]),_:1})])):x("",!0)]}),_:1})]),_:1})}}}),rt=M(pe,[["__scopeId","data-v-3e6394fe"]]);export{rt as default}; +import{K as O,G as R,J as A,B as J,C as S,g as H,i as K,D as T}from"./element-plus-DGP1XOrU.js";import{_ as q}from"./index-sgqCyAwB.js";import{c as L,k as E,_ as M}from"./index-J_eFER10.js";import{_ as P}from"./picker-CeVtQr2X.js";import{_ as Q}from"./picker-lbwHqE-a.js";import{D as W}from"./vuedraggable-5bKFmC7X.js";import{k as h}from"./lodash-es-C2A-Pj28.js";import{f as X,ak as s,G as p,aN as t,a as o,J as l,O as _,H as x,I as b,F as Y,A as Z}from"./@vue/runtime-core-C6bnekPw.js";import{y as r}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const ee={class:"flex items-end"},te={key:0,class:"text-xs text-tx-secondary ml-2"},oe={key:1,class:"text-xs text-tx-secondary ml-2"},le={class:"flex-1"},ae={class:"bg-fill-light w-full p-4 mt-4"},ne={class:"flex justify-center w-[467px]"},se={class:"flex-1"},de={class:"flex-1 flex items-center"},me={class:"drag-move cursor-move ml-auto"},ie={key:0,class:"mt-4"},v=5,pe=X({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(d,{emit:C}){const g=C,f=d,u=Z({get:()=>f.content,set:m=>{g("update:content",m)}}),B=()=>{var m;if(((m=f.content.data)==null?void 0:m.length){var i;if(((i=f.content.data)==null?void 0:i.length)<=1)return E.msgError("最少保留一张图片");const e=h(f.content);e.data.splice(m,1),g("update:content",e)};return(m,e)=>{const i=A,k=R,V=O,y=Q,N=P,F=S,w=J,I=H,$=L,j=q,z=K,G=T;return s(),p(G,{"label-width":"70px"},{default:t(()=>[o(V,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[5]||(e[5]=l("div",{class:"flex items-end mb-4"},[l("div",{class:"text-base dark:text-[#ffffff] text-[#101010] font-medium"},"展示样式")],-1)),o(k,{modelValue:r(u).style,"onUpdate:modelValue":e[0]||(e[0]=c=>r(u).style=c)},{default:t(()=>[o(i,{value:1},{default:t(()=>[...e[3]||(e[3]=[_("常规",-1)])]),_:1}),o(i,{value:2},{default:t(()=>[...e[4]||(e[4]=[_("大屏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.style==1?(s(),p(V,{key:0,shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[8]||(e[8]=l("div",{class:"flex items-end mb-4"},[l("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"背景联动")],-1)),o(k,{modelValue:r(u).bg_style,"onUpdate:modelValue":e[1]||(e[1]=c=>r(u).bg_style=c)},{default:t(()=>[o(i,{value:1},{default:t(()=>[...e[6]||(e[6]=[_("开启",-1)])]),_:1}),o(i,{value:0},{default:t(()=>[...e[7]||(e[7]=[_("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[9]||(e[9]=l("div",{class:"p-[15px] rounded-[8px] bg-[#f3f8ff] text-[#136bdf] mt-2"}," 开启背景联动后,需为轮播图设置背景图,轮播图切换时,背景图也跟随切换,此时该页面自身的“页面背景“设置将失效。 ",-1))]),_:1})):x("",!0),o(V,{shadow:"never",class:"!border-none flex-1 mt-2"},{default:t(()=>{var c;return[l("div",ee,[e[10]||(e[10]=l("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"轮播图片",-1)),d.content.style==1?(s(),b("div",te," 最多添加5张,建议图片尺寸:750px*340px ")):(s(),b("div",oe," 最多添加5张,建议图片尺寸:750px*1100px "))]),l("div",le,[o(r(W),{class:"draggable",modelValue:r(u).data,"onUpdate:modelValue":e[2]||(e[2]=a=>r(u).data=a),animation:"300",handle:".drag-move","item-key":"index"},{item:t(({element:a,index:U})=>[(s(),p(j,{key:U,onClose:n=>D(U),class:"w-full"},{default:t(()=>[l("div",ae,[l("div",ne,[d.content.style==1?(s(),b(Y,{key:0},[o(y,{size:"122px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[11]||(e[11]=[l("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),d.content.style==1||d.content.bg_style==1?(s(),p(y,{key:0,class:"ml-[40px]",size:"122px",modelValue:a.bg,"onUpdate:modelValue":n=>a.bg=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[12]||(e[12]=[l("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 背景图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])):x("",!0)],64)):(s(),p(y,{key:1,width:"396px",height:"196px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]))]),l("div",se,[o(w,{class:"mt-[18px]",label:"图片链接"},{default:t(()=>[d.type=="mobile"?(s(),p(N,{key:0,modelValue:a.link,"onUpdate:modelValue":n=>a.link=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0),d.type=="pc"?(s(),p(F,{key:1,placeholder:"请输入链接",modelValue:a.link.path,"onUpdate:modelValue":n=>a.link.path=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0)]),_:2},1024),o(w,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:t(()=>[l("div",de,[o(I,{modelValue:a.is_show,"onUpdate:modelValue":n=>a.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",me,[o($,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((c=d.content.data)==null?void 0:c.length)[...e[13]||(e[13]=[_("添加图片",-1)])]),_:1})])):x("",!0)]}),_:1})]),_:1})}}}),rt=M(pe,[["__scopeId","data-v-3e6394fe"]]);export{rt as default}; diff --git a/server/public/admin/assets/attr-setting-DE1D6Xw2.js b/server/public/admin/assets/attr-setting-DE1D6Xw2.js new file mode 100644 index 000000000..8b5200a8d --- /dev/null +++ b/server/public/admin/assets/attr-setting-DE1D6Xw2.js @@ -0,0 +1 @@ +import{_ as o}from"./attr-setting.vue_vue_type_script_setup_true_lang-CkQbp3IP.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-B48jKD3-.js";import"./attr-U0WNIueQ.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js";import"./decoration-img-cJ3sOJu-.js";import"./attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js";import"./content-CuE78Set.js";import"./attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js";import"./content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js";import"./attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js";import"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import"./content-CC1w-xAd.js";import"./attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js";import"./content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-CjkrN-kA.js";import"./decoration-BRUlzC1v.js";import"./attr.vue_vue_type_script_setup_true_lang-InluY_es.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-CQZwJIUc.js";import"./content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BzNveTg-.js";import"./attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js";import"./content.vue_vue_type_script_setup_true_lang-DsMOey0g.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-DrZ0HxYf.js";export{o as default}; diff --git a/server/public/admin/assets/attr-setting-Dy-rYL12.js b/server/public/admin/assets/attr-setting-Dy-rYL12.js deleted file mode 100644 index c3b618371..000000000 --- a/server/public/admin/assets/attr-setting-Dy-rYL12.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr-setting.vue_vue_type_script_setup_true_lang-pfZYH5mS.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BTh_xBKj.js";import"./attr-DaHTqGGt.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-DdNcvOry.js";import"./decoration-img-63yHTKq5.js";import"./attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js";import"./content-Dbr1CmpF.js";import"./attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js";import"./content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js";import"./attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js";import"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import"./content-8Zehp_Rk.js";import"./attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js";import"./content.vue_vue_type_script_setup_true_lang-CN32u1VP.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-BKtyOCcY.js";import"./decoration-HusoyoI3.js";import"./attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-BTqw4mI0.js";import"./content.vue_vue_type_script_setup_true_lang-B83-RT4p.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-DNPcBCfo.js";import"./attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js";import"./content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-lVo8M4Zt.js";export{o as default}; diff --git a/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-pfZYH5mS.js b/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-CkQbp3IP.js similarity index 94% rename from server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-pfZYH5mS.js rename to server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-CkQbp3IP.js index 0b228d864..a841505e0 100644 --- a/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-pfZYH5mS.js +++ b/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-CkQbp3IP.js @@ -1 +1 @@ -import{K as y,s as g}from"./element-plus-DGP1XOrU.js";import{e as b}from"./index-BTh_xBKj.js";import{f as x,ak as o,I as _,a as r,aN as c,J as h,G as i,K as w,at as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as C}from"./@vue/reactivity-DiY1c2vO.js";const B={class:"pages-setting"},E={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},j=x({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(e,{emit:m}){const d=m,p=a=>{d("update:content",a)};return(a,K)=>{const f=y,u=g;return o(),_("div",B,[r(f,{shadow:"never",class:"!border-none flex"},{default:c(()=>{var t;return[h("div",E,v((t=e.widget)==null?void 0:t.title),1)]}),_:1}),r(u,{class:"w-full",style:{height:"calc(100% - 60px)"}},{default:c(()=>{var t,n,s,l;return[(o(),i(w,null,[(o(),i(k((n=C(b)[(t=e.widget)==null?void 0:t.name])==null?void 0:n.attr),{content:(s=e.widget)==null?void 0:s.content,styles:(l=e.widget)==null?void 0:l.styles,type:e.type,"onUpdate:content":p},null,40,["content","styles","type"]))],1024))]}),_:1})])}}});export{j as _}; +import{K as y,s as g}from"./element-plus-DGP1XOrU.js";import{e as b}from"./index-B48jKD3-.js";import{f as x,ak as o,I as _,a as r,aN as c,J as h,G as i,K as w,at as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as C}from"./@vue/reactivity-DiY1c2vO.js";const B={class:"pages-setting"},E={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},j=x({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(e,{emit:m}){const d=m,p=a=>{d("update:content",a)};return(a,K)=>{const f=y,u=g;return o(),_("div",B,[r(f,{shadow:"never",class:"!border-none flex"},{default:c(()=>{var t;return[h("div",E,v((t=e.widget)==null?void 0:t.title),1)]}),_:1}),r(u,{class:"w-full",style:{height:"calc(100% - 60px)"}},{default:c(()=>{var t,n,s,l;return[(o(),i(w,null,[(o(),i(k((n=C(b)[(t=e.widget)==null?void 0:t.name])==null?void 0:n.attr),{content:(s=e.widget)==null?void 0:s.content,styles:(l=e.widget)==null?void 0:l.styles,type:e.type,"onUpdate:content":p},null,40,["content","styles","type"]))],1024))]}),_:1})])}}});export{j as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js similarity index 93% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js index 8e8e9ab8c..e16e9f457 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js @@ -1 +1 @@ -import{K as j,B as A,C as F,g as S,i as z,D as G}from"./element-plus-DGP1XOrU.js";import{_ as H}from"./index-Dc1nFBAH.js";import{c as J,k}from"./index-fRv3NTFQ.js";import{_ as K}from"./picker-8l5NOLQi.js";import{_ as R}from"./picker-C0hwSppU.js";import{D as T}from"./vuedraggable-5bKFmC7X.js";import{k as v}from"./lodash-es-C2A-Pj28.js";import{f as q,ak as d,I as b,a as o,aN as s,J as n,G as u,H as r,O as L,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as _}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"flex-1"},Q={class:"bg-fill-light w-full p-4 mt-4"},W={class:"flex-1"},X={class:"flex-1 flex items-center"},Y={class:"drag-move cursor-move ml-auto"},Z={key:0,class:"mt-4"},f=5,me=q({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(m,{emit:y}){const p=y,c=m,g=M({get:()=>c.content,set:a=>{p("update:content",a)}}),w=()=>{var a;if(((a=c.content.data)==null?void 0:a.length){var i;if(((i=c.content.data)==null?void 0:i.length)<=1)return k.msgError("最少保留一张图片");const e=v(c.content);e.data.splice(a,1),p("update:content",e)};return(a,e)=>{const i=R,U=K,C=F,h=A,B=S,D=J,N=H,$=z,I=j,O=G;return d(),b("div",null,[o(O,{"label-width":"70px"},{default:s(()=>[o(I,{shadow:"never",class:"!border-none flex mt-2"},{default:s(()=>{var x;return[e[2]||(e[2]=n("div",{class:"flex items-end"},[n("div",{class:"text-base text-[#101010] font-medium"},"图片设置"),n("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),n("div",P,[o(_(T),{class:"draggable",modelValue:_(g).data,"onUpdate:modelValue":e[0]||(e[0]=t=>_(g).data=t),animation:"300",handle:".drag-move"},{item:s(({element:t,index:V})=>[(d(),u(N,{key:V,onClose:l=>E(V),class:"w-full"},{default:s(()=>[n("div",Q,[o(i,{width:"396px",height:"196px",modelValue:t.image,"onUpdate:modelValue":l=>t.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),n("div",W,[o(h,{class:"mt-[18px]",label:"图片链接"},{default:s(()=>[m.type=="mobile"?(d(),u(U,{key:0,modelValue:t.link,"onUpdate:modelValue":l=>t.link=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),m.type=="pc"?(d(),u(C,{key:1,placeholder:"请输入链接",modelValue:t.link.path,"onUpdate:modelValue":l=>t.link.path=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0)]),_:2},1024),o(h,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:s(()=>[n("div",X,[o(B,{modelValue:t.is_show,"onUpdate:modelValue":l=>t.is_show=l,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),n("div",Y,[o(D,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((x=m.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[L("添加图片",-1)])]),_:1})])):r("",!0)]}),_:1})]),_:1})])}}});export{me as _}; +import{K as j,B as A,C as F,g as S,i as z,D as G}from"./element-plus-DGP1XOrU.js";import{_ as H}from"./index-sgqCyAwB.js";import{c as J,k}from"./index-J_eFER10.js";import{_ as K}from"./picker-CeVtQr2X.js";import{_ as R}from"./picker-lbwHqE-a.js";import{D as T}from"./vuedraggable-5bKFmC7X.js";import{k as v}from"./lodash-es-C2A-Pj28.js";import{f as q,ak as d,I as b,a as o,aN as s,J as n,G as u,H as r,O as L,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as _}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"flex-1"},Q={class:"bg-fill-light w-full p-4 mt-4"},W={class:"flex-1"},X={class:"flex-1 flex items-center"},Y={class:"drag-move cursor-move ml-auto"},Z={key:0,class:"mt-4"},f=5,me=q({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(m,{emit:y}){const p=y,c=m,g=M({get:()=>c.content,set:a=>{p("update:content",a)}}),w=()=>{var a;if(((a=c.content.data)==null?void 0:a.length){var i;if(((i=c.content.data)==null?void 0:i.length)<=1)return k.msgError("最少保留一张图片");const e=v(c.content);e.data.splice(a,1),p("update:content",e)};return(a,e)=>{const i=R,U=K,C=F,h=A,B=S,D=J,N=H,$=z,I=j,O=G;return d(),b("div",null,[o(O,{"label-width":"70px"},{default:s(()=>[o(I,{shadow:"never",class:"!border-none flex mt-2"},{default:s(()=>{var x;return[e[2]||(e[2]=n("div",{class:"flex items-end"},[n("div",{class:"text-base text-[#101010] font-medium"},"图片设置"),n("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),n("div",P,[o(_(T),{class:"draggable",modelValue:_(g).data,"onUpdate:modelValue":e[0]||(e[0]=t=>_(g).data=t),animation:"300",handle:".drag-move"},{item:s(({element:t,index:V})=>[(d(),u(N,{key:V,onClose:l=>E(V),class:"w-full"},{default:s(()=>[n("div",Q,[o(i,{width:"396px",height:"196px",modelValue:t.image,"onUpdate:modelValue":l=>t.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),n("div",W,[o(h,{class:"mt-[18px]",label:"图片链接"},{default:s(()=>[m.type=="mobile"?(d(),u(U,{key:0,modelValue:t.link,"onUpdate:modelValue":l=>t.link=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),m.type=="pc"?(d(),u(C,{key:1,placeholder:"请输入链接",modelValue:t.link.path,"onUpdate:modelValue":l=>t.link.path=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0)]),_:2},1024),o(h,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:s(()=>[n("div",X,[o(B,{modelValue:t.is_show,"onUpdate:modelValue":l=>t.is_show=l,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),n("div",Y,[o(D,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((x=m.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[L("添加图片",-1)])]),_:1})])):r("",!0)]}),_:1})]),_:1})])}}});export{me as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js similarity index 97% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js index 1a0df1be7..c93663cca 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js @@ -1 +1 @@ -import{K as B,G as F,J as N,B as O,Q as U,R as g,D as C}from"./element-plus-DGP1XOrU.js";import{_ as R}from"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import{f as j,ak as d,I as m,a as l,aN as o,J as s,O as x,F as c,ap as v,A as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as n}from"./@vue/reactivity-DiY1c2vO.js";const G={class:"flex-1 mt-4"},L=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(V,{emit:b}){const y=b,w=V,a=D({get:()=>w.content,set:u=>{y("update:content",u)}});return(u,e)=>{const r=N,E=F,p=g,i=U,_=O,f=B,k=C;return d(),m("div",null,[l(k,{"label-width":"70px"},{default:o(()=>[l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),l(E,{modelValue:n(a).style,"onUpdate:modelValue":e[0]||(e[0]=t=>n(a).style=t)},{default:o(()=>[l(r,{value:1},{default:o(()=>[...e[4]||(e[4]=[x("固定显示",-1)])]),_:1}),l(r,{value:2},{default:o(()=>[...e[5]||(e[5]=[x("分页滑动",-1)])]),_:1})]),_:1},8,["modelValue"]),l(_,{label:"每行数量",class:"mt-4"},{default:o(()=>[l(i,{modelValue:n(a).per_line,"onUpdate:modelValue":e[1]||(e[1]=t=>n(a).per_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(5,t=>l(p,{key:t,label:t+"个",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(_,{label:"显示行数"},{default:o(()=>[l(i,{modelValue:n(a).show_line,"onUpdate:modelValue":e[2]||(e[2]=t=>n(a).show_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(2,t=>l(p,{key:t,label:t+"行",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[7]||(e[7]=s("div",{class:"flex items-end"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),s("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),s("div",G,[l(R,{modelValue:n(a).data,"onUpdate:modelValue":e[3]||(e[3]=t=>n(a).data=t)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{L as _}; +import{K as B,G as F,J as N,B as O,Q as U,R as g,D as C}from"./element-plus-DGP1XOrU.js";import{_ as R}from"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import{f as j,ak as d,I as m,a as l,aN as o,J as s,O as x,F as c,ap as v,A as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as n}from"./@vue/reactivity-DiY1c2vO.js";const G={class:"flex-1 mt-4"},L=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(V,{emit:b}){const y=b,w=V,a=D({get:()=>w.content,set:u=>{y("update:content",u)}});return(u,e)=>{const r=N,E=F,p=g,i=U,_=O,f=B,k=C;return d(),m("div",null,[l(k,{"label-width":"70px"},{default:o(()=>[l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),l(E,{modelValue:n(a).style,"onUpdate:modelValue":e[0]||(e[0]=t=>n(a).style=t)},{default:o(()=>[l(r,{value:1},{default:o(()=>[...e[4]||(e[4]=[x("固定显示",-1)])]),_:1}),l(r,{value:2},{default:o(()=>[...e[5]||(e[5]=[x("分页滑动",-1)])]),_:1})]),_:1},8,["modelValue"]),l(_,{label:"每行数量",class:"mt-4"},{default:o(()=>[l(i,{modelValue:n(a).per_line,"onUpdate:modelValue":e[1]||(e[1]=t=>n(a).per_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(5,t=>l(p,{key:t,label:t+"个",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(_,{label:"显示行数"},{default:o(()=>[l(i,{modelValue:n(a).show_line,"onUpdate:modelValue":e[2]||(e[2]=t=>n(a).show_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(2,t=>l(p,{key:t,label:t+"行",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[7]||(e[7]=s("div",{class:"flex items-end"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),s("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),s("div",G,[l(R,{modelValue:n(a).data,"onUpdate:modelValue":e[3]||(e[3]=t=>n(a).data=t)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{L as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js similarity index 93% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js index 7e495283d..186ffcf84 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js @@ -1 +1 @@ -import{K as I,B as O,C as j,g as A,i as F,D as z}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./index-Dc1nFBAH.js";import{c as H,k as g}from"./index-fRv3NTFQ.js";import{_ as J}from"./picker-8l5NOLQi.js";import{_ as K}from"./picker-C0hwSppU.js";import{D as R}from"./vuedraggable-5bKFmC7X.js";import{k}from"./lodash-es-C2A-Pj28.js";import{f as S,ak as _,I as v,a as t,aN as a,J as s,G as T,O as q,H as L,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as p}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"bg-fill-light flex items-center w-full p-4 mt-4"},Q={class:"ml-3 flex-1"},W={class:"flex-1 flex items-center"},X={class:"drag-move cursor-move ml-auto"},Y={key:0,class:"mt-4"},r=5,ce=S({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:h}){const d=h,m=u,f=M({get:()=>m.content,set:l=>{d("update:content",l)}}),b=()=>{var l;if(((l=m.content.data)==null?void 0:l.length){var c;if(((c=m.content.data)==null?void 0:c.length)<=1)return g.msgError("最少保留一张图片");const e=k(m.content);e.data.splice(l,1),d("update:content",e)};return(l,e)=>{const c=K,y=j,i=O,E=J,U=A,C=H,B=G,D=F,N=I,$=z;return _(),v("div",null,[t($,{"label-width":"70px"},{default:a(()=>[t(N,{shadow:"never",class:"!border-none flex mt-2"},{default:a(()=>{var x;return[e[2]||(e[2]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单"),s("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),t(p(R),{class:"draggable",modelValue:p(f).data,"onUpdate:modelValue":e[0]||(e[0]=o=>p(f).data=o),animation:"300",handle:".drag-move","item-key":"index"},{item:a(({element:o,index:V})=>[(_(),T(B,{key:V,onClose:n=>w(V),class:"w-[467px]"},{default:a(()=>[s("div",P,[t(c,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),s("div",Q,[t(i,{label:"图片名称"},{default:a(()=>[t(y,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{class:"mt-[18px]",label:"图片链接"},{default:a(()=>[t(E,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{label:"是否显示",class:"mt-[18px]"},{default:a(()=>[s("div",W,[t(U,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),s("div",X,[t(C,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"]),((x=u.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[q("添加图片",-1)])]),_:1})])):L("",!0)]}),_:1})]),_:1})])}}});export{ce as _}; +import{K as I,B as O,C as j,g as A,i as F,D as z}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./index-sgqCyAwB.js";import{c as H,k as g}from"./index-J_eFER10.js";import{_ as J}from"./picker-CeVtQr2X.js";import{_ as K}from"./picker-lbwHqE-a.js";import{D as R}from"./vuedraggable-5bKFmC7X.js";import{k}from"./lodash-es-C2A-Pj28.js";import{f as S,ak as _,I as v,a as t,aN as a,J as s,G as T,O as q,H as L,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as p}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"bg-fill-light flex items-center w-full p-4 mt-4"},Q={class:"ml-3 flex-1"},W={class:"flex-1 flex items-center"},X={class:"drag-move cursor-move ml-auto"},Y={key:0,class:"mt-4"},r=5,ce=S({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:h}){const d=h,m=u,f=M({get:()=>m.content,set:l=>{d("update:content",l)}}),b=()=>{var l;if(((l=m.content.data)==null?void 0:l.length){var c;if(((c=m.content.data)==null?void 0:c.length)<=1)return g.msgError("最少保留一张图片");const e=k(m.content);e.data.splice(l,1),d("update:content",e)};return(l,e)=>{const c=K,y=j,i=O,E=J,U=A,C=H,B=G,D=F,N=I,$=z;return _(),v("div",null,[t($,{"label-width":"70px"},{default:a(()=>[t(N,{shadow:"never",class:"!border-none flex mt-2"},{default:a(()=>{var x;return[e[2]||(e[2]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单"),s("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),t(p(R),{class:"draggable",modelValue:p(f).data,"onUpdate:modelValue":e[0]||(e[0]=o=>p(f).data=o),animation:"300",handle:".drag-move","item-key":"index"},{item:a(({element:o,index:V})=>[(_(),T(B,{key:V,onClose:n=>w(V),class:"w-[467px]"},{default:a(()=>[s("div",P,[t(c,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),s("div",Q,[t(i,{label:"图片名称"},{default:a(()=>[t(y,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{class:"mt-[18px]",label:"图片链接"},{default:a(()=>[t(E,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{label:"是否显示",class:"mt-[18px]"},{default:a(()=>[s("div",W,[t(U,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),s("div",X,[t(C,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"]),((x=u.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[q("添加图片",-1)])]),_:1})])):L("",!0)]}),_:1})]),_:1})])}}});export{ce as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js similarity index 96% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js index 0e7267741..e67482cd1 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js @@ -1 +1 @@ -import{K as b,B as y,C as E,G as w,J as B,D as C}from"./element-plus-DGP1XOrU.js";import{_ as N}from"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import{f as k,ak as I,I as O,a as t,aN as o,J as a,O as u,A as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as s}from"./@vue/reactivity-DiY1c2vO.js";const g={class:"flex-1"},J=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(p,{emit:i}){const f=i,_=p,l=U({get:()=>_.content,set:m=>{f("update:content",m)}});return(m,e)=>{const x=E,c=y,d=b,r=B,v=w,V=C;return I(),O("div",null,[t(V,{"label-width":"70px"},{default:o(()=>[t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[t(c,{label:"标题"},{default:o(()=>[t(x,{class:"w-[396px]",modelValue:s(l).title,"onUpdate:modelValue":e[0]||(e[0]=n=>s(l).title=n)},null,8,["modelValue"])]),_:1})]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[5]||(e[5]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),t(v,{modelValue:s(l).style,"onUpdate:modelValue":e[1]||(e[1]=n=>s(l).style=n)},{default:o(()=>[t(r,{value:1},{default:o(()=>[...e[3]||(e[3]=[u("横排",-1)])]),_:1}),t(r,{value:2},{default:o(()=>[...e[4]||(e[4]=[u("竖排",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",g,[t(N,{modelValue:s(l).data,"onUpdate:modelValue":e[2]||(e[2]=n=>s(l).data=n)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{J as _}; +import{K as b,B as y,C as E,G as w,J as B,D as C}from"./element-plus-DGP1XOrU.js";import{_ as N}from"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import{f as k,ak as I,I as O,a as t,aN as o,J as a,O as u,A as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as s}from"./@vue/reactivity-DiY1c2vO.js";const g={class:"flex-1"},J=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(p,{emit:i}){const f=i,_=p,l=U({get:()=>_.content,set:m=>{f("update:content",m)}});return(m,e)=>{const x=E,c=y,d=b,r=B,v=w,V=C;return I(),O("div",null,[t(V,{"label-width":"70px"},{default:o(()=>[t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[t(c,{label:"标题"},{default:o(()=>[t(x,{class:"w-[396px]",modelValue:s(l).title,"onUpdate:modelValue":e[0]||(e[0]=n=>s(l).title=n)},null,8,["modelValue"])]),_:1})]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[5]||(e[5]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),t(v,{modelValue:s(l).style,"onUpdate:modelValue":e[1]||(e[1]=n=>s(l).style=n)},{default:o(()=>[t(r,{value:1},{default:o(()=>[...e[3]||(e[3]=[u("横排",-1)])]),_:1}),t(r,{value:2},{default:o(()=>[...e[4]||(e[4]=[u("竖排",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",g,[t(N,{modelValue:s(l).data,"onUpdate:modelValue":e[2]||(e[2]=n=>s(l).data=n)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{J as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js similarity index 96% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js index 0655a2ca6..a196e45af 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js @@ -1 +1 @@ -import{K as V,B as w,C as x,D as b}from"./element-plus-DGP1XOrU.js";import{_ as g}from"./picker-C0hwSppU.js";import{f as k,ak as E,I as U,a as e,aN as n,J as y,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as o}from"./@vue/reactivity-DiY1c2vO.js";const j=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:r}){const p=r,i=u,l=B({get:()=>i.content,set:d=>{p("update:content",d)}});return(d,t)=>{const s=x,m=w,_=g,c=V,f=b;return E(),U("div",null,[e(f,{"label-width":"90px",size:"large","label-position":"top"},{default:n(()=>[e(c,{shadow:"never",class:"!border-none flex mt-2"},{default:n(()=>[e(m,{label:"平台名称"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).title,"onUpdate:modelValue":t[0]||(t[0]=a=>o(l).title=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"客服二维码"},{default:n(()=>[y("div",null,[e(_,{modelValue:o(l).qrcode,"onUpdate:modelValue":t[1]||(t[1]=a=>o(l).qrcode=a),"exclude-domain":""},null,8,["modelValue"])])]),_:1}),e(m,{label:"备注"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).remark,"onUpdate:modelValue":t[2]||(t[2]=a=>o(l).remark=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"联系电话"},{default:n(()=>[e(s,{class:"w-[400px]",modelValue:o(l).mobile,"onUpdate:modelValue":t[3]||(t[3]=a=>o(l).mobile=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"服务时间"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).time,"onUpdate:modelValue":t[4]||(t[4]=a=>o(l).time=a)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])}}});export{j as _}; +import{K as V,B as w,C as x,D as b}from"./element-plus-DGP1XOrU.js";import{_ as g}from"./picker-lbwHqE-a.js";import{f as k,ak as E,I as U,a as e,aN as n,J as y,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as o}from"./@vue/reactivity-DiY1c2vO.js";const j=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:r}){const p=r,i=u,l=B({get:()=>i.content,set:d=>{p("update:content",d)}});return(d,t)=>{const s=x,m=w,_=g,c=V,f=b;return E(),U("div",null,[e(f,{"label-width":"90px",size:"large","label-position":"top"},{default:n(()=>[e(c,{shadow:"never",class:"!border-none flex mt-2"},{default:n(()=>[e(m,{label:"平台名称"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).title,"onUpdate:modelValue":t[0]||(t[0]=a=>o(l).title=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"客服二维码"},{default:n(()=>[y("div",null,[e(_,{modelValue:o(l).qrcode,"onUpdate:modelValue":t[1]||(t[1]=a=>o(l).qrcode=a),"exclude-domain":""},null,8,["modelValue"])])]),_:1}),e(m,{label:"备注"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).remark,"onUpdate:modelValue":t[2]||(t[2]=a=>o(l).remark=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"联系电话"},{default:n(()=>[e(s,{class:"w-[400px]",modelValue:o(l).mobile,"onUpdate:modelValue":t[3]||(t[3]=a=>o(l).mobile=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"服务时间"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).time,"onUpdate:modelValue":t[4]||(t[4]=a=>o(l).time=a)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])}}});export{j as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-InluY_es.js similarity index 95% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-InluY_es.js index 9e1e8e278..9b851db66 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-InluY_es.js @@ -1 +1 @@ -import{K as E,B as C,G as F,J as N,C as B,D as z}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import{_ as O}from"./picker-C0hwSppU.js";import{f as j,ak as r,G as s,aN as t,a as l,O as p,H as i,J as y,A as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";const K=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(m,{emit:g}){const b=g,x=m,o=D({get:()=>x.content,set:_=>{b("update:content",_)}});return(_,e)=>{const u=N,f=F,d=C,k=B,V=O,v=G,U=E,w=z;return r(),s(w,{ref:"form","label-width":"80px",size:"large"},{default:t(()=>[l(U,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l(d,{label:"页面标题"},{default:t(()=>[l(f,{modelValue:a(o).title_type,"onUpdate:modelValue":e[0]||(e[0]=n=>a(o).title_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[7]||(e[7]=[p("文字",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[8]||(e[8]=[p("图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.title_type==1?(r(),s(d,{key:0},{default:t(()=>[l(k,{modelValue:a(o).title,"onUpdate:modelValue":e[1]||(e[1]=n=>a(o).title=n),maxlength:"8","show-word-limit":"",class:"w-[300px]",placeholder:"请输入页面标题"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.title_type==2?(r(),s(d,{key:1},{default:t(()=>[l(V,{modelValue:a(o).title_img,"onUpdate:modelValue":e[2]||(e[2]=n=>a(o).title_img=n),limit:1,size:"100px"},null,8,["modelValue"]),e[9]||(e[9]=y("div",{class:"form-tips"},"建议图片尺寸:300px*40px",-1))]),_:1})):i("",!0),m.content.title_type==1?(r(),s(d,{key:2,label:"文字颜色"},{default:t(()=>[l(f,{modelValue:a(o).text_color,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).text_color=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[10]||(e[10]=[p("白色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[11]||(e[11]=[p("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(d,{label:"页面背景"},{default:t(()=>[l(f,{modelValue:a(o).bg_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(o).bg_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[12]||(e[12]=[p("背景颜色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[13]||(e[13]=[p("背景图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.bg_type==1?(r(),s(d,{key:3},{default:t(()=>[l(v,{modelValue:a(o).bg_color,"onUpdate:modelValue":e[5]||(e[5]=n=>a(o).bg_color=n),"reset-color":"#F5F5F5"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.bg_type==2?(r(),s(d,{key:4},{default:t(()=>[l(V,{modelValue:a(o).bg_image,"onUpdate:modelValue":e[6]||(e[6]=n=>a(o).bg_image=n),limit:1,size:"100px"},null,8,["modelValue"]),e[14]||(e[14]=y("div",{class:"form-tips"},"建议图片尺寸:750px*高度不限",-1))]),_:1})):i("",!0)]),_:1})]),_:1},512)}}});export{K as _}; +import{K as E,B as C,G as F,J as N,C as B,D as z}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import{_ as O}from"./picker-lbwHqE-a.js";import{f as j,ak as r,G as s,aN as t,a as l,O as p,H as i,J as y,A as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";const K=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(m,{emit:g}){const b=g,x=m,o=D({get:()=>x.content,set:_=>{b("update:content",_)}});return(_,e)=>{const u=N,f=F,d=C,k=B,V=O,v=G,U=E,w=z;return r(),s(w,{ref:"form","label-width":"80px",size:"large"},{default:t(()=>[l(U,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l(d,{label:"页面标题"},{default:t(()=>[l(f,{modelValue:a(o).title_type,"onUpdate:modelValue":e[0]||(e[0]=n=>a(o).title_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[7]||(e[7]=[p("文字",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[8]||(e[8]=[p("图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.title_type==1?(r(),s(d,{key:0},{default:t(()=>[l(k,{modelValue:a(o).title,"onUpdate:modelValue":e[1]||(e[1]=n=>a(o).title=n),maxlength:"8","show-word-limit":"",class:"w-[300px]",placeholder:"请输入页面标题"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.title_type==2?(r(),s(d,{key:1},{default:t(()=>[l(V,{modelValue:a(o).title_img,"onUpdate:modelValue":e[2]||(e[2]=n=>a(o).title_img=n),limit:1,size:"100px"},null,8,["modelValue"]),e[9]||(e[9]=y("div",{class:"form-tips"},"建议图片尺寸:300px*40px",-1))]),_:1})):i("",!0),m.content.title_type==1?(r(),s(d,{key:2,label:"文字颜色"},{default:t(()=>[l(f,{modelValue:a(o).text_color,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).text_color=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[10]||(e[10]=[p("白色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[11]||(e[11]=[p("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(d,{label:"页面背景"},{default:t(()=>[l(f,{modelValue:a(o).bg_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(o).bg_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[12]||(e[12]=[p("背景颜色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[13]||(e[13]=[p("背景图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.bg_type==1?(r(),s(d,{key:3},{default:t(()=>[l(v,{modelValue:a(o).bg_color,"onUpdate:modelValue":e[5]||(e[5]=n=>a(o).bg_color=n),"reset-color":"#F5F5F5"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.bg_type==2?(r(),s(d,{key:4},{default:t(()=>[l(V,{modelValue:a(o).bg_image,"onUpdate:modelValue":e[6]||(e[6]=n=>a(o).bg_image=n),limit:1,size:"100px"},null,8,["modelValue"]),e[14]||(e[14]=y("div",{class:"form-tips"},"建议图片尺寸:750px*高度不限",-1))]),_:1})):i("",!0)]),_:1})]),_:1},512)}}});export{K as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BEMWfwi1.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-s3MjTyMz.js similarity index 96% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BEMWfwi1.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-s3MjTyMz.js index 93616e0d0..83d745c5b 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BEMWfwi1.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-s3MjTyMz.js @@ -1 +1 @@ -import{K as T,B as j,C as H,g as J,i as K,D as L}from"./element-plus-DGP1XOrU.js";import{_ as M}from"./index-Dc1nFBAH.js";import{_ as Q}from"./picker-8l5NOLQi.js";import{_ as R}from"./picker-C0hwSppU.js";import{c as q,k as x}from"./index-fRv3NTFQ.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import{D as W}from"./vuedraggable-5bKFmC7X.js";import{f as X,ak as V,I as v,a as e,aN as t,J as a,O as h,H as Y,F as Z,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as m}from"./@vue/reactivity-DiY1c2vO.js";import{o as ee,Q as k}from"./@vue/shared-mAAVTE9n.js";const le={class:"mb-[18px] max-w-[400px]"},oe={class:"bg-fill-light w-full p-4 mt-4"},te={class:"upload-btn w-[60px] h-[60px]"},ae={class:"upload-btn w-[60px] h-[60px]"},se={class:"flex-1 flex items-center"},ne={class:"drag-move cursor-move ml-auto"},de={key:0,class:"mt-4"},c=5,p=2,ge=X({__name:"attr",props:{modelValue:{type:Object,default:()=>({list:[],style:{}})}},emits:["update:modelValue"],setup(y,{emit:C}){const U=y,E=C,n=w({get(){return U.modelValue},set(s){E("update:modelValue",s)}}),$=w(()=>{var s;return((s=n.value.list)==null?void 0:s.filter(l=>l.is_show=="1"))||[]}),z=()=>{var s;((s=n.value.list)==null?void 0:s.length){var l;if(((l=n.value.list)==null?void 0:l.length)<=p)return x.msgError(`最少保留${p}个`);n.value.list.splice(s,1)},D=s=>s.relatedContext.index!=0,N=s=>{if($.value.length{const _=T,b=G,i=j,f=q,g=R,F=H,I=Q,S=J,A=M,O=K,P=L;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(P,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length){var o;return[h(" 添加导航 "+k((o=m(n).list)==null?void 0:o.length)+" / "+k(c),1)]}),_:1})])):Y("",!0)]}),_:1})]),_:1})],64)}}});export{ge as _}; +import{K as T,B as j,C as H,g as J,i as K,D as L}from"./element-plus-DGP1XOrU.js";import{_ as M}from"./index-sgqCyAwB.js";import{_ as Q}from"./picker-CeVtQr2X.js";import{_ as R}from"./picker-lbwHqE-a.js";import{c as q,k as x}from"./index-J_eFER10.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import{D as W}from"./vuedraggable-5bKFmC7X.js";import{f as X,ak as V,I as v,a as e,aN as t,J as a,O as h,H as Y,F as Z,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as m}from"./@vue/reactivity-DiY1c2vO.js";import{o as ee,Q as k}from"./@vue/shared-mAAVTE9n.js";const le={class:"mb-[18px] max-w-[400px]"},oe={class:"bg-fill-light w-full p-4 mt-4"},te={class:"upload-btn w-[60px] h-[60px]"},ae={class:"upload-btn w-[60px] h-[60px]"},se={class:"flex-1 flex items-center"},ne={class:"drag-move cursor-move ml-auto"},de={key:0,class:"mt-4"},c=5,p=2,ge=X({__name:"attr",props:{modelValue:{type:Object,default:()=>({list:[],style:{}})}},emits:["update:modelValue"],setup(y,{emit:C}){const U=y,E=C,n=w({get(){return U.modelValue},set(s){E("update:modelValue",s)}}),$=w(()=>{var s;return((s=n.value.list)==null?void 0:s.filter(l=>l.is_show=="1"))||[]}),z=()=>{var s;((s=n.value.list)==null?void 0:s.length){var l;if(((l=n.value.list)==null?void 0:l.length)<=p)return x.msgError(`最少保留${p}个`);n.value.list.splice(s,1)},D=s=>s.relatedContext.index!=0,N=s=>{if($.value.length{const _=T,b=G,i=j,f=q,g=R,F=H,I=Q,S=J,A=M,O=K,P=L;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(P,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length){var o;return[h(" 添加导航 "+k((o=m(n).list)==null?void 0:o.length)+" / "+k(c),1)]}),_:1})])):Y("",!0)]}),_:1})]),_:1})],64)}}});export{ge as _}; diff --git a/server/public/admin/assets/auth-Cq56kTJb.js b/server/public/admin/assets/auth-BPryrCi7.js similarity index 75% rename from server/public/admin/assets/auth-Cq56kTJb.js rename to server/public/admin/assets/auth-BPryrCi7.js index 91b16dc2b..3a635bb7f 100644 --- a/server/public/admin/assets/auth-Cq56kTJb.js +++ b/server/public/admin/assets/auth-BPryrCi7.js @@ -1 +1 @@ -import{_ as o}from"./auth.vue_vue_type_script_setup_true_lang-B51KH8Bx.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./menu-jRNdRy5r.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./role-B18Xi51b.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./auth.vue_vue_type_script_setup_true_lang-CFoWU2Bs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./menu-Bn6AOgrY.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./role-hMw9X8iI.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-B51KH8Bx.js b/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-CFoWU2Bs.js similarity index 92% rename from server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-B51KH8Bx.js rename to server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-CFoWU2Bs.js index 93a068062..680d9aa01 100644 --- a/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-B51KH8Bx.js +++ b/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-CFoWU2Bs.js @@ -1 +1 @@ -import{D as L,s as M,B as z,H as G,$ as J,M as O}from"./element-plus-DGP1XOrU.js";import{m as P}from"./menu-jRNdRy5r.js";import{a as U}from"./role-B18Xi51b.js";import{_ as $}from"./index-D5PquIeg.js";import{z as j}from"./index-fRv3NTFQ.js";import{f as Q,ak as k,I as W,a as l,aN as d,aP as X,G as Y,J as y,n as x}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,a as Z,q as f,n as r,r as ee}from"./@vue/reactivity-DiY1c2vO.js";const te={class:"edit-popup"},de=Q({__name:"auth",emits:["success","close"],setup(ae,{expose:C,emit:g}){const _=g,o=f(),h=f(),u=f(),b=r(!1),i=r(!0),m=r(!1),v=r([]),p=r([]),s=ee({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),E={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=()=>{m.value=!0,P().then(e=>{p.value=e,v.value=j(e),x(()=>{A()}),m.value=!1})},R=()=>{var a,n;const e=(a=o.value)==null?void 0:a.getCheckedKeys(),t=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,t),e},A=()=>{s.menu_id.forEach(e=>{x(()=>{var t;(t=o.value)==null||t.setChecked(e,!0,!1)})})},D=e=>{const t=p.value;for(let a=0;a{var t,a;e?(t=o.value)==null||t.setCheckedKeys(v.value.map(n=>n.id)):(a=o.value)==null||a.setCheckedKeys([])},B=async()=>{var e,t;await((e=h.value)==null?void 0:e.validate()),s.menu_id=R(),await U(s),(t=u.value)==null||t.close(),_("success")},V=()=>{_("close")},S=()=>{var e;(e=u.value)==null||e.open()},T=async e=>{for(const t in s)e[t]!=null&&e[t]!=null&&(s[t]=e[t])};return w(),C({open:S,setFormData:T}),(e,t)=>{const a=G,n=J,F=z,N=M,q=L,H=O;return k(),W("div",te,[l($,{ref_key:"popupRef",ref:u,title:"分配权限",async:!0,width:"550px",onConfirm:B,onClose:V},{default:d(()=>[X((k(),Y(q,{class:"ls-form",ref_key:"formRef",ref:h,rules:E,model:c(s),"label-width":"60px"},{default:d(()=>[l(N,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[l(F,{label:"权限",prop:"menu_id"},{default:d(()=>[y("div",null,[l(a,{label:"展开/折叠",onChange:D}),l(a,{label:"全选/不全选",onChange:K}),l(a,{modelValue:c(i),"onUpdate:modelValue":t[0]||(t[0]=I=>Z(i)?i.value=I:null),label:"父子联动"},null,8,["modelValue"]),y("div",null,[l(n,{ref_key:"treeRef",ref:o,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(i),"node-key":"id","default-expand-all":c(b),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[H,c(m)]])]),_:1},512)])}}});export{de as _}; +import{D as L,s as M,B as z,H as G,$ as J,M as O}from"./element-plus-DGP1XOrU.js";import{m as P}from"./menu-Bn6AOgrY.js";import{a as U}from"./role-hMw9X8iI.js";import{_ as $}from"./index-BVjWjU3h.js";import{z as j}from"./index-J_eFER10.js";import{f as Q,ak as k,I as W,a as l,aN as d,aP as X,G as Y,J as y,n as x}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,a as Z,q as f,n as r,r as ee}from"./@vue/reactivity-DiY1c2vO.js";const te={class:"edit-popup"},de=Q({__name:"auth",emits:["success","close"],setup(ae,{expose:C,emit:g}){const _=g,o=f(),h=f(),u=f(),b=r(!1),i=r(!0),m=r(!1),v=r([]),p=r([]),s=ee({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),E={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=()=>{m.value=!0,P().then(e=>{p.value=e,v.value=j(e),x(()=>{A()}),m.value=!1})},R=()=>{var a,n;const e=(a=o.value)==null?void 0:a.getCheckedKeys(),t=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,t),e},A=()=>{s.menu_id.forEach(e=>{x(()=>{var t;(t=o.value)==null||t.setChecked(e,!0,!1)})})},D=e=>{const t=p.value;for(let a=0;a{var t,a;e?(t=o.value)==null||t.setCheckedKeys(v.value.map(n=>n.id)):(a=o.value)==null||a.setCheckedKeys([])},B=async()=>{var e,t;await((e=h.value)==null?void 0:e.validate()),s.menu_id=R(),await U(s),(t=u.value)==null||t.close(),_("success")},V=()=>{_("close")},S=()=>{var e;(e=u.value)==null||e.open()},T=async e=>{for(const t in s)e[t]!=null&&e[t]!=null&&(s[t]=e[t])};return w(),C({open:S,setFormData:T}),(e,t)=>{const a=G,n=J,F=z,N=M,q=L,H=O;return k(),W("div",te,[l($,{ref_key:"popupRef",ref:u,title:"分配权限",async:!0,width:"550px",onConfirm:B,onClose:V},{default:d(()=>[X((k(),Y(q,{class:"ls-form",ref_key:"formRef",ref:h,rules:E,model:c(s),"label-width":"60px"},{default:d(()=>[l(N,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[l(F,{label:"权限",prop:"menu_id"},{default:d(()=>[y("div",null,[l(a,{label:"展开/折叠",onChange:D}),l(a,{label:"全选/不全选",onChange:K}),l(a,{modelValue:c(i),"onUpdate:modelValue":t[0]||(t[0]=I=>Z(i)?i.value=I:null),label:"父子联动"},null,8,["modelValue"]),y("div",null,[l(n,{ref_key:"treeRef",ref:o,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(i),"node-key":"id","default-expand-all":c(b),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[H,c(m)]])]),_:1},512)])}}});export{de as _}; diff --git a/server/public/admin/assets/balance_details-CewPWsE5.js b/server/public/admin/assets/balance_details-C-e-XZQ4.js similarity index 97% rename from server/public/admin/assets/balance_details-CewPWsE5.js rename to server/public/admin/assets/balance_details-C-e-XZQ4.js index c6f23537f..718adf0b8 100644 --- a/server/public/admin/assets/balance_details-CewPWsE5.js +++ b/server/public/admin/assets/balance_details-C-e-XZQ4.js @@ -1 +1 @@ -import{L as N,D as P,B as K,C as O,Q as I,R,i as z,K as Q,N as S,O as $,M as j}from"./element-plus-DGP1XOrU.js";import{_ as q}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{i as A}from"./index-fRv3NTFQ.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as J}from"./@vue/runtime-dom-DDAG46FW.js";import{g as M,h as H}from"./finance-BnbY_luA.js";import{u as W}from"./useDictOptions-Cx2-jvcM.js";import{u as X}from"./usePaging-DofycyjW.js";import{f as v,ak as s,I as h,a as e,aN as n,F as Y,ap as Z,G as w,O as p,aP as ee,J as _}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as te,r as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as y,o as ae}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex items-center"},le={class:"flex justify-end mt-4"},ie=v({name:"balanceDetail"}),Xe=v({...ie,setup(re){const l=oe({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:c,resetParams:C}=X({fetchFun:M,params:l}),{optionsData:x}=W({change_type:{api:H}});return d(),(me,a)=>{const V=N,E=O,m=K,u=R,T=I,k=G,f=z,B=P,g=Q,i=$,D=A,U=S,F=q,L=j;return s(),h("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(V,{type:"warning",title:"温馨提示:用户账户变动记录",closable:!1,"show-icon":""}),e(B,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:o(l),inline:!0},{default:n(()=>[e(m,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(E,{modelValue:o(l).user_info,"onUpdate:modelValue":a[0]||(a[0]=t=>o(l).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:J(o(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(m,{class:"w-[280px]",label:"变动类型"},{default:n(()=>[e(T,{modelValue:o(l).change_type,"onUpdate:modelValue":a[1]||(a[1]=t=>o(l).change_type=t)},{default:n(()=>[e(u,{label:"全部",value:""}),(s(!0),h(Y,null,Z(o(x).change_type,(t,b)=>(s(),w(u,{key:b,label:t,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(m,{label:"记录时间"},{default:n(()=>[e(k,{startTime:o(l).start_time,"onUpdate:startTime":a[2]||(a[2]=t=>o(l).start_time=t),endTime:o(l).end_time,"onUpdate:endTime":a[3]||(a[3]=t=>o(l).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(m,null,{default:n(()=>[e(f,{type:"primary",onClick:o(c)},{default:n(()=>[...a[5]||(a[5]=[p("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:o(C)},{default:n(()=>[...a[6]||(a[6]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[ee((s(),w(U,{size:"large",data:o(r).lists},{default:n(()=>[e(i,{label:"用户账号",prop:"account","min-width":"100"}),e(i,{label:"用户昵称","min-width":"160"},{default:n(({row:t})=>[_("div",ne,[e(D,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+y(t.nickname),1)])]),_:1}),e(i,{label:"手机号码",prop:"mobile","min-width":"100"}),e(i,{label:"变动金额",prop:"change_amount","min-width":"100"},{default:n(({row:t})=>[_("span",{class:ae({"text-error":t.action==2})},y(t.change_amount),3)]),_:1}),e(i,{label:"剩余金额",prop:"left_amount","min-width":"100"}),e(i,{label:"变动类型",prop:"change_type_desc","min-width":"120"}),e(i,{label:"来源单号",prop:"source_sn","min-width":"100"}),e(i,{label:"记录时间",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[L,o(r).loading]]),_("div",le,[e(F,{modelValue:o(r),"onUpdate:modelValue":a[4]||(a[4]=t=>te(r)?r.value=t:null),onChange:o(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Xe as default}; +import{L as N,D as P,B as K,C as O,Q as I,R,i as z,K as Q,N as S,O as $,M as j}from"./element-plus-DGP1XOrU.js";import{_ as q}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{i as A}from"./index-J_eFER10.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as J}from"./@vue/runtime-dom-DDAG46FW.js";import{g as M,h as H}from"./finance-Dc98hQLW.js";import{u as W}from"./useDictOptions-CU1TLMPn.js";import{u as X}from"./usePaging-DofycyjW.js";import{f as v,ak as s,I as h,a as e,aN as n,F as Y,ap as Z,G as w,O as p,aP as ee,J as _}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as te,r as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as y,o as ae}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex items-center"},le={class:"flex justify-end mt-4"},ie=v({name:"balanceDetail"}),Xe=v({...ie,setup(re){const l=oe({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:c,resetParams:C}=X({fetchFun:M,params:l}),{optionsData:x}=W({change_type:{api:H}});return d(),(me,a)=>{const V=N,E=O,m=K,u=R,T=I,k=G,f=z,B=P,g=Q,i=$,D=A,U=S,F=q,L=j;return s(),h("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(V,{type:"warning",title:"温馨提示:用户账户变动记录",closable:!1,"show-icon":""}),e(B,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:o(l),inline:!0},{default:n(()=>[e(m,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(E,{modelValue:o(l).user_info,"onUpdate:modelValue":a[0]||(a[0]=t=>o(l).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:J(o(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(m,{class:"w-[280px]",label:"变动类型"},{default:n(()=>[e(T,{modelValue:o(l).change_type,"onUpdate:modelValue":a[1]||(a[1]=t=>o(l).change_type=t)},{default:n(()=>[e(u,{label:"全部",value:""}),(s(!0),h(Y,null,Z(o(x).change_type,(t,b)=>(s(),w(u,{key:b,label:t,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(m,{label:"记录时间"},{default:n(()=>[e(k,{startTime:o(l).start_time,"onUpdate:startTime":a[2]||(a[2]=t=>o(l).start_time=t),endTime:o(l).end_time,"onUpdate:endTime":a[3]||(a[3]=t=>o(l).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(m,null,{default:n(()=>[e(f,{type:"primary",onClick:o(c)},{default:n(()=>[...a[5]||(a[5]=[p("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:o(C)},{default:n(()=>[...a[6]||(a[6]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[ee((s(),w(U,{size:"large",data:o(r).lists},{default:n(()=>[e(i,{label:"用户账号",prop:"account","min-width":"100"}),e(i,{label:"用户昵称","min-width":"160"},{default:n(({row:t})=>[_("div",ne,[e(D,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+y(t.nickname),1)])]),_:1}),e(i,{label:"手机号码",prop:"mobile","min-width":"100"}),e(i,{label:"变动金额",prop:"change_amount","min-width":"100"},{default:n(({row:t})=>[_("span",{class:ae({"text-error":t.action==2})},y(t.change_amount),3)]),_:1}),e(i,{label:"剩余金额",prop:"left_amount","min-width":"100"}),e(i,{label:"变动类型",prop:"change_type_desc","min-width":"120"}),e(i,{label:"来源单号",prop:"source_sn","min-width":"100"}),e(i,{label:"记录时间",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[L,o(r).loading]]),_("div",le,[e(F,{modelValue:o(r),"onUpdate:modelValue":a[4]||(a[4]=t=>te(r)?r.value=t:null),onChange:o(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Xe as default}; diff --git a/server/public/admin/assets/bind-work-wechat-C-tP8cIn.js b/server/public/admin/assets/bind-work-wechat-CvAePHuu.js similarity index 97% rename from server/public/admin/assets/bind-work-wechat-C-tP8cIn.js rename to server/public/admin/assets/bind-work-wechat-CvAePHuu.js index 6dbfb75f2..49e40b544 100644 --- a/server/public/admin/assets/bind-work-wechat-C-tP8cIn.js +++ b/server/public/admin/assets/bind-work-wechat-CvAePHuu.js @@ -1 +1 @@ -import{E as _,d as T,i as $}from"./element-plus-DGP1XOrU.js";import{l as S}from"./@element-plus/icons-vue-CbYn5zW9.js";import{_ as j}from"./footer.vue_vue_type_script_setup_true_lang-COsLLTkC.js";import{u as z,g as A,P as I,a as D,b as F,_ as M}from"./index-fRv3NTFQ.js";import{a as Q}from"./wecomOauthPostMessage-C_e6VGrO.js";import{a as V}from"./vue-router-QlpZ4wdW.js";import{f as X,b as J,d as K,ak as d,I as l,J as a,a as c,aN as y,F as G,O as H,n as C}from"./@vue/runtime-core-C6bnekPw.js";import{y as U,n as k}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Y={class:"bind-wx flex flex-col"},Z={class:"flex-1 flex items-center justify-center"},tt={class:"bind-wx-card bg-body rounded-md px-10 py-10 w-[480px]"},et={key:0,class:"text-center py-10"},ot={key:0,class:"text-center py-10"},rt={key:1,id:"wxwork_bind_qrcode_container",class:"wxwork-qrcode mx-auto"},it={class:"mt-8 flex justify-center gap-4"},m="bind_wxwork",g="like_admin_wx_bind_oauth",nt=X({__name:"bind-work-wechat",setup(at){const p=V(),f=z(),x=k(!1),w=k(!1),u=k({corp_id:"",agent_id:""}),L=()=>/wxwork/i.test(navigator.userAgent),v=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1";function W(){const o=new URLSearchParams(window.location.search),t=window.location.hash||"",e=t.includes("?")?t.split("?").slice(1).join("?"):"";return e&&new URLSearchParams(e).forEach((r,s)=>{o.has(s)||o.set(s,r)}),o}const E=()=>{f.logout()},B=async()=>{try{await f.getUserInfo()}catch{}if(f.isPaw===0){p.replace("/change-password");return}p.replace(I.INDEX)},b=async o=>{w.value=!0;try{await F({code:o}),window.history.replaceState({},"",window.location.pathname),await B()}catch(t){console.error(t),_.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"绑定失败"),w.value=!1}};let n=null;const P=async()=>{if(!u.value.corp_id)return;x.value=!0,window.WwLogin||await new Promise((t,e)=>{const r=document.createElement("script");r.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",r.onload=()=>t(),r.onerror=()=>e(new Error("加载企业微信 JS 失败")),document.head.appendChild(r)}),await C(),x.value=!1,await C();const o=encodeURIComponent(v());new window.WwLogin({id:"wxwork_bind_qrcode_container",appid:u.value.corp_id,agentid:u.value.agent_id,redirect_uri:o,lang:"zh",state:m,href:"",self_redirect:!1})};return J(async()=>{let o="";try{o=(new URLSearchParams(window.location.search).get("code")||"").trim()}catch{o=""}if(!A()){_.error("请先登录"),p.push(I.LOGIN);return}const t=W(),e=o||(t.get("code")||"").trim(),r=t.get("state"),s=r!=null?String(r).trim():"",R=s===m||s==="admin_bind_wx"||s.toLowerCase()===m.toLowerCase(),N=t.get("bind_wxwork")==="1",O=!!e&&s===""&&p.currentRoute.value.path==="/bind-work-wechat";if(e&&(R||N||O)){if(sessionStorage.getItem(g)===e)return;sessionStorage.setItem(g,e);try{await b(e)}finally{sessionStorage.removeItem(g)}return}try{const i=await D();if(!(i!=null&&i.enabled)||!i.corp_id){_.error("企业微信未配置,请联系管理员");return}if(u.value={corp_id:i.corp_id,agent_id:i.agent_id},L()){w.value=!0;const h=encodeURIComponent(v()),q=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${i.corp_id}&redirect_uri=${h}&response_type=code&scope=snsapi_privateinfo&agentid=${i.agent_id}&state=${m}#wechat_redirect`;window.location.href=q;return}n==null||n(),n=Q({pathIncludes:"bind-work-wechat",lockKey:g,wxBindState:m,onCode:h=>b(h)}),await P()}catch(i){console.error(i),_.error("获取企业微信配置失败")}}),K(()=>{n==null||n(),n=null}),(o,t)=>{const e=T,r=$;return d(),l("div",Y,[a("div",Z,[a("div",tt,[t[4]||(t[4]=a("div",{class:"text-center text-2xl font-medium mb-2"},"绑定企业微信",-1)),t[5]||(t[5]=a("div",{class:"text-center text-gray-500 text-sm mb-8"}," 根据安全策略,需绑定企业微信账号后方可使用管理后台 ",-1)),w.value?(d(),l("div",et,[c(e,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:y(()=>[c(U(S))]),_:1}),t[0]||(t[0]=a("div",{class:"text-gray-500"},"企业微信授权中...",-1))])):(d(),l(G,{key:1},[x.value?(d(),l("div",ot,[c(e,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:y(()=>[c(U(S))]),_:1}),t[1]||(t[1]=a("div",{class:"mt-2 text-gray-400 text-sm"},"加载扫码...",-1))])):(d(),l("div",rt)),t[2]||(t[2]=a("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码完成绑定 ",-1))],64)),a("div",it,[c(r,{onClick:E},{default:y(()=>[...t[3]||(t[3]=[H("退出登录",-1)])]),_:1})])])]),c(j)])}}}),Xt=M(nt,[["__scopeId","data-v-d4a61522"]]);export{Xt as default}; +import{E as _,d as T,i as $}from"./element-plus-DGP1XOrU.js";import{l as S}from"./@element-plus/icons-vue-CbYn5zW9.js";import{_ as j}from"./footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js";import{u as z,g as A,P as I,a as D,b as F,_ as M}from"./index-J_eFER10.js";import{a as Q}from"./wecomOauthPostMessage-C_e6VGrO.js";import{a as V}from"./vue-router-QlpZ4wdW.js";import{f as X,b as J,d as K,ak as d,I as l,J as a,a as c,aN as y,F as G,O as H,n as C}from"./@vue/runtime-core-C6bnekPw.js";import{y as U,n as k}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Y={class:"bind-wx flex flex-col"},Z={class:"flex-1 flex items-center justify-center"},tt={class:"bind-wx-card bg-body rounded-md px-10 py-10 w-[480px]"},et={key:0,class:"text-center py-10"},ot={key:0,class:"text-center py-10"},rt={key:1,id:"wxwork_bind_qrcode_container",class:"wxwork-qrcode mx-auto"},it={class:"mt-8 flex justify-center gap-4"},m="bind_wxwork",g="like_admin_wx_bind_oauth",nt=X({__name:"bind-work-wechat",setup(at){const p=V(),f=z(),x=k(!1),w=k(!1),u=k({corp_id:"",agent_id:""}),L=()=>/wxwork/i.test(navigator.userAgent),v=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1";function W(){const o=new URLSearchParams(window.location.search),t=window.location.hash||"",e=t.includes("?")?t.split("?").slice(1).join("?"):"";return e&&new URLSearchParams(e).forEach((r,s)=>{o.has(s)||o.set(s,r)}),o}const E=()=>{f.logout()},B=async()=>{try{await f.getUserInfo()}catch{}if(f.isPaw===0){p.replace("/change-password");return}p.replace(I.INDEX)},b=async o=>{w.value=!0;try{await F({code:o}),window.history.replaceState({},"",window.location.pathname),await B()}catch(t){console.error(t),_.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"绑定失败"),w.value=!1}};let n=null;const P=async()=>{if(!u.value.corp_id)return;x.value=!0,window.WwLogin||await new Promise((t,e)=>{const r=document.createElement("script");r.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",r.onload=()=>t(),r.onerror=()=>e(new Error("加载企业微信 JS 失败")),document.head.appendChild(r)}),await C(),x.value=!1,await C();const o=encodeURIComponent(v());new window.WwLogin({id:"wxwork_bind_qrcode_container",appid:u.value.corp_id,agentid:u.value.agent_id,redirect_uri:o,lang:"zh",state:m,href:"",self_redirect:!1})};return J(async()=>{let o="";try{o=(new URLSearchParams(window.location.search).get("code")||"").trim()}catch{o=""}if(!A()){_.error("请先登录"),p.push(I.LOGIN);return}const t=W(),e=o||(t.get("code")||"").trim(),r=t.get("state"),s=r!=null?String(r).trim():"",R=s===m||s==="admin_bind_wx"||s.toLowerCase()===m.toLowerCase(),N=t.get("bind_wxwork")==="1",O=!!e&&s===""&&p.currentRoute.value.path==="/bind-work-wechat";if(e&&(R||N||O)){if(sessionStorage.getItem(g)===e)return;sessionStorage.setItem(g,e);try{await b(e)}finally{sessionStorage.removeItem(g)}return}try{const i=await D();if(!(i!=null&&i.enabled)||!i.corp_id){_.error("企业微信未配置,请联系管理员");return}if(u.value={corp_id:i.corp_id,agent_id:i.agent_id},L()){w.value=!0;const h=encodeURIComponent(v()),q=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${i.corp_id}&redirect_uri=${h}&response_type=code&scope=snsapi_privateinfo&agentid=${i.agent_id}&state=${m}#wechat_redirect`;window.location.href=q;return}n==null||n(),n=Q({pathIncludes:"bind-work-wechat",lockKey:g,wxBindState:m,onCode:h=>b(h)}),await P()}catch(i){console.error(i),_.error("获取企业微信配置失败")}}),K(()=>{n==null||n(),n=null}),(o,t)=>{const e=T,r=$;return d(),l("div",Y,[a("div",Z,[a("div",tt,[t[4]||(t[4]=a("div",{class:"text-center text-2xl font-medium mb-2"},"绑定企业微信",-1)),t[5]||(t[5]=a("div",{class:"text-center text-gray-500 text-sm mb-8"}," 根据安全策略,需绑定企业微信账号后方可使用管理后台 ",-1)),w.value?(d(),l("div",et,[c(e,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:y(()=>[c(U(S))]),_:1}),t[0]||(t[0]=a("div",{class:"text-gray-500"},"企业微信授权中...",-1))])):(d(),l(G,{key:1},[x.value?(d(),l("div",ot,[c(e,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:y(()=>[c(U(S))]),_:1}),t[1]||(t[1]=a("div",{class:"mt-2 text-gray-400 text-sm"},"加载扫码...",-1))])):(d(),l("div",rt)),t[2]||(t[2]=a("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码完成绑定 ",-1))],64)),a("div",it,[c(r,{onClick:E},{default:y(()=>[...t[3]||(t[3]=[H("退出登录",-1)])]),_:1})])])]),c(j)])}}}),Xt=M(nt,[["__scopeId","data-v-d4a61522"]]);export{Xt as default}; diff --git a/server/public/admin/assets/cache-D_vN465x.js b/server/public/admin/assets/cache-CmGeN_d9.js similarity index 97% rename from server/public/admin/assets/cache-D_vN465x.js rename to server/public/admin/assets/cache-CmGeN_d9.js index 24c99b07e..096cb2f35 100644 --- a/server/public/admin/assets/cache-D_vN465x.js +++ b/server/public/admin/assets/cache-CmGeN_d9.js @@ -1 +1 @@ -import{L as c,K as _,N as d,O as f,i as u}from"./element-plus-DGP1XOrU.js";import{k as h,E as b}from"./index-fRv3NTFQ.js";import{f as i,ak as w,I as C,a as t,aN as o,O as k}from"./@vue/runtime-core-C6bnekPw.js";import{y as E,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const x={class:"cache"},N=i({name:"cache"}),st=i({...N,setup(g){const m=y([{content:"系统缓存",desc:"系统运行过程中产生的各类缓存数据"}]),n=async()=>{await h.confirm("确认清除系统缓存?"),await b(),window.location.reload()};return(v,r)=>{const p=c,a=_,e=f,l=u,s=d;return w(),C("div",x,[t(a,{class:"!border-none",shadow:"never"},{default:o(()=>[t(p,{type:"warning",title:"温馨提示:管理系统运行过程中产生的缓存",closable:!1,"show-icon":""})]),_:1}),t(a,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[t(s,{data:E(m),size:"large"},{default:o(()=>[t(e,{label:"管理内容",prop:"content","min-width":"130"}),t(e,{label:"内容说明",prop:"desc","min-width":"180"}),t(e,{label:"操作",width:"130",fixed:"right"},{default:o(()=>[t(l,{type:"primary",link:"",onClick:n},{default:o(()=>[...r[0]||(r[0]=[k("清除系统缓存",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{st as default}; +import{L as c,K as _,N as d,O as f,i as u}from"./element-plus-DGP1XOrU.js";import{k as h,E as b}from"./index-J_eFER10.js";import{f as i,ak as w,I as C,a as t,aN as o,O as k}from"./@vue/runtime-core-C6bnekPw.js";import{y as E,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const x={class:"cache"},N=i({name:"cache"}),st=i({...N,setup(g){const m=y([{content:"系统缓存",desc:"系统运行过程中产生的各类缓存数据"}]),n=async()=>{await h.confirm("确认清除系统缓存?"),await b(),window.location.reload()};return(v,r)=>{const p=c,a=_,e=f,l=u,s=d;return w(),C("div",x,[t(a,{class:"!border-none",shadow:"never"},{default:o(()=>[t(p,{type:"warning",title:"温馨提示:管理系统运行过程中产生的缓存",closable:!1,"show-icon":""})]),_:1}),t(a,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[t(s,{data:E(m),size:"large"},{default:o(()=>[t(e,{label:"管理内容",prop:"content","min-width":"130"}),t(e,{label:"内容说明",prop:"desc","min-width":"180"}),t(e,{label:"操作",width:"130",fixed:"right"},{default:o(()=>[t(l,{type:"primary",link:"",onClick:n},{default:o(()=>[...r[0]||(r[0]=[k("清除系统缓存",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{st as default}; diff --git a/server/public/admin/assets/change-password-tLKGtc83.js b/server/public/admin/assets/change-password-x7Sz_3GB.js similarity index 96% rename from server/public/admin/assets/change-password-tLKGtc83.js rename to server/public/admin/assets/change-password-x7Sz_3GB.js index 0cac4d5c8..d015685bf 100644 --- a/server/public/admin/assets/change-password-tLKGtc83.js +++ b/server/public/admin/assets/change-password-x7Sz_3GB.js @@ -1 +1 @@ -import{E as p,B as v,C as b,D as E,i as h}from"./element-plus-DGP1XOrU.js";import{u as V,g as C,P,c as B,d as F,_ as I}from"./index-fRv3NTFQ.js";import{w as L}from"./@vue/runtime-dom-DDAG46FW.js";import{u as N}from"./useLockFn-X4Qce5KO.js";import{_ as z}from"./footer.vue_vue_type_script_setup_true_lang-COsLLTkC.js";import{a as R}from"./vue-router-QlpZ4wdW.js";import{f as S,b as q,ak as U,I as D,J as i,a as s,aN as t,O as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,q as M,r as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const T={class:"change-password flex flex-col"},$={class:"flex-1 flex items-center justify-center"},j={class:"change-password-card bg-body rounded-md px-10 py-10 w-[480px]"},G=S({__name:"change-password",setup(J){const n=M(),_=R(),d=V();q(()=>{C()||(p.error("请先登录"),_.push(P.LOGIN))});const e=O({password:"",password_confirm:""}),w={password:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"密码长度不能少于6位",trigger:"blur"}],password_confirm:[{required:!0,validator:(a,o,r)=>{o===""?r(new Error("请再次输入密码")):o!==e.password?r(new Error("两次输入的密码不一致")):r()},trigger:"blur"}]},l=async()=>{var a;await((a=n.value)==null?void 0:a.validate());try{await F({password:e.password,password_confirm:e.password_confirm}),p.success("密码修改成功,请重新登录"),d.isPaw=1,await d.logout()}catch(o){p.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"密码修改失败")}},{isLock:g,lockFn:x}=N(l);return(a,o)=>{const r=B,c=b,f=v,y=E,k=h;return U(),D("div",T,[i("div",$,[i("div",j,[o[3]||(o[3]=i("div",{class:"text-center text-2xl font-medium mb-2"},"首次登录",-1)),o[4]||(o[4]=i("div",{class:"text-center text-gray-500 text-sm mb-8"},"为了您的账号安全,请修改初始密码",-1)),s(y,{ref_key:"formRef",ref:n,model:e,size:"large",rules:w},{default:t(()=>[s(f,{prop:"password"},{default:t(()=>[s(c,{modelValue:e.password,"onUpdate:modelValue":o[0]||(o[0]=m=>e.password=m),type:"password","show-password":"",placeholder:"请输入新密码"},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1}),s(f,{prop:"password_confirm"},{default:t(()=>[s(c,{modelValue:e.password_confirm,"onUpdate:modelValue":o[1]||(o[1]=m=>e.password_confirm=m),type:"password","show-password":"",placeholder:"请再次输入新密码",onKeyup:L(l,["enter"])},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s(k,{type:"primary",size:"large",loading:u(g),onClick:u(x),class:"w-full"},{default:t(()=>[...o[2]||(o[2]=[K(" 确认修改 ",-1)])]),_:1},8,["loading","onClick"])])]),s(z)])}}}),Ro=I(G,[["__scopeId","data-v-b5c4e69d"]]);export{Ro as default}; +import{E as p,B as v,C as b,D as E,i as h}from"./element-plus-DGP1XOrU.js";import{u as V,g as C,P,c as B,d as F,_ as I}from"./index-J_eFER10.js";import{w as L}from"./@vue/runtime-dom-DDAG46FW.js";import{u as N}from"./useLockFn-X4Qce5KO.js";import{_ as z}from"./footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js";import{a as R}from"./vue-router-QlpZ4wdW.js";import{f as S,b as q,ak as U,I as D,J as i,a as s,aN as t,O as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,q as M,r as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const T={class:"change-password flex flex-col"},$={class:"flex-1 flex items-center justify-center"},j={class:"change-password-card bg-body rounded-md px-10 py-10 w-[480px]"},G=S({__name:"change-password",setup(J){const n=M(),_=R(),d=V();q(()=>{C()||(p.error("请先登录"),_.push(P.LOGIN))});const e=O({password:"",password_confirm:""}),w={password:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"密码长度不能少于6位",trigger:"blur"}],password_confirm:[{required:!0,validator:(a,o,r)=>{o===""?r(new Error("请再次输入密码")):o!==e.password?r(new Error("两次输入的密码不一致")):r()},trigger:"blur"}]},l=async()=>{var a;await((a=n.value)==null?void 0:a.validate());try{await F({password:e.password,password_confirm:e.password_confirm}),p.success("密码修改成功,请重新登录"),d.isPaw=1,await d.logout()}catch(o){p.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"密码修改失败")}},{isLock:g,lockFn:x}=N(l);return(a,o)=>{const r=B,c=b,f=v,y=E,k=h;return U(),D("div",T,[i("div",$,[i("div",j,[o[3]||(o[3]=i("div",{class:"text-center text-2xl font-medium mb-2"},"首次登录",-1)),o[4]||(o[4]=i("div",{class:"text-center text-gray-500 text-sm mb-8"},"为了您的账号安全,请修改初始密码",-1)),s(y,{ref_key:"formRef",ref:n,model:e,size:"large",rules:w},{default:t(()=>[s(f,{prop:"password"},{default:t(()=>[s(c,{modelValue:e.password,"onUpdate:modelValue":o[0]||(o[0]=m=>e.password=m),type:"password","show-password":"",placeholder:"请输入新密码"},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1}),s(f,{prop:"password_confirm"},{default:t(()=>[s(c,{modelValue:e.password_confirm,"onUpdate:modelValue":o[1]||(o[1]=m=>e.password_confirm=m),type:"password","show-password":"",placeholder:"请再次输入新密码",onKeyup:L(l,["enter"])},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s(k,{type:"primary",size:"large",loading:u(g),onClick:u(x),class:"w-full"},{default:t(()=>[...o[2]||(o[2]=[K(" 确认修改 ",-1)])]),_:1},8,["loading","onClick"])])]),s(z)])}}}),Ro=I(G,[["__scopeId","data-v-b5c4e69d"]]);export{Ro as default}; diff --git a/server/public/admin/assets/code-DhkjCxGq.js b/server/public/admin/assets/code-MrNYrKx7.js similarity index 92% rename from server/public/admin/assets/code-DhkjCxGq.js rename to server/public/admin/assets/code-MrNYrKx7.js index b61b5deb7..f26e22ed8 100644 --- a/server/public/admin/assets/code-DhkjCxGq.js +++ b/server/public/admin/assets/code-MrNYrKx7.js @@ -1 +1 @@ -import{r as t}from"./index-fRv3NTFQ.js";function o(e){return t.get({url:"/tools.generator/generateTable",params:e})}function n(e){return t.get({url:"/tools.generator/dataTable",params:e})}function a(e){return t.post({url:"/tools.generator/selectTable",params:e})}function l(e){return t.get({url:"/tools.generator/detail",params:e})}function s(e){return t.post({url:"/tools.generator/syncColumn",params:e})}function u(e){return t.post({url:"/tools.generator/delete",params:e})}function g(e){return t.post({url:"/tools.generator/edit",params:e})}function i(e){return t.post({url:"/tools.generator/preview",params:e})}function c(e){return t.post({url:"/tools.generator/generate",params:e})}function f(){return t.get({url:"/tools.generator/getModels"})}export{f as a,o as b,u as c,i as d,c as e,n as f,g,a as h,s,l as t}; +import{r as t}from"./index-J_eFER10.js";function o(e){return t.get({url:"/tools.generator/generateTable",params:e})}function n(e){return t.get({url:"/tools.generator/dataTable",params:e})}function a(e){return t.post({url:"/tools.generator/selectTable",params:e})}function l(e){return t.get({url:"/tools.generator/detail",params:e})}function s(e){return t.post({url:"/tools.generator/syncColumn",params:e})}function u(e){return t.post({url:"/tools.generator/delete",params:e})}function g(e){return t.post({url:"/tools.generator/edit",params:e})}function i(e){return t.post({url:"/tools.generator/preview",params:e})}function c(e){return t.post({url:"/tools.generator/generate",params:e})}function f(){return t.get({url:"/tools.generator/getModels"})}export{f as a,o as b,u as c,i as d,c as e,n as f,g,a as h,s,l as t}; diff --git a/server/public/admin/assets/code-preview-DBWqxZs9.js b/server/public/admin/assets/code-preview-DF2sZaPh.js similarity index 85% rename from server/public/admin/assets/code-preview-DBWqxZs9.js rename to server/public/admin/assets/code-preview-DF2sZaPh.js index c5f1d3912..26684ee56 100644 --- a/server/public/admin/assets/code-preview-DBWqxZs9.js +++ b/server/public/admin/assets/code-preview-DF2sZaPh.js @@ -1 +1 @@ -import{_ as o}from"./code-preview.vue_vue_type_script_setup_true_lang-BzWV3a9Y.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./code-preview.vue_vue_type_script_setup_true_lang-BqAwrR8R.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BzWV3a9Y.js b/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BqAwrR8R.js similarity index 95% rename from server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BzWV3a9Y.js rename to server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BqAwrR8R.js index 013434074..b70c10f94 100644 --- a/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BzWV3a9Y.js +++ b/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BqAwrR8R.js @@ -1 +1 @@ -import{m as B,l as N,s as T,i as $,W as j}from"./element-plus-DGP1XOrU.js";import{c as D,k as d}from"./index-fRv3NTFQ.js";import{u as F}from"./vue-clipboard3-DByT_rEQ.js";import{f as S,ar as U,ak as c,I as i,a as t,aN as a,F as A,ap as G,G as I,J as u,O as J,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{a as p,y as _,n as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"code-preview"},R={class:"flex",style:{height:"50vh"}},Q=S({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(r,{emit:f}){const b=r,V=f,{toClipboard:g}=F(),n=O("index0"),h=async l=>{try{await g(l),d.msgSuccess("复制成功")}catch{d.msgError("复制失败")}},s=L({get(){return b.modelValue},set(l){V("update:modelValue",l)}});return(l,e)=>{const v=U("highlightjs"),k=T,y=D,C=$,x=N,E=B,w=j;return c(),i("div",P,[t(w,{modelValue:_(s),"onUpdate:modelValue":e[1]||(e[1]=o=>p(s)?s.value=o:null),width:"900px",title:"代码预览"},{default:a(()=>[t(E,{modelValue:_(n),"onUpdate:modelValue":e[0]||(e[0]=o=>p(n)?n.value=o:null)},{default:a(()=>[(c(!0),i(A,null,G(r.code,(o,m)=>(c(),I(x,{label:o.name,name:`index${m}`,key:m},{default:a(()=>[u("div",R,[t(k,{class:"flex-1"},{default:a(()=>[t(v,{autodetect:"",code:o.content},null,8,["code"])]),_:2},1024),u("div",null,[t(C,{onClick:W=>h(o.content),type:"primary",link:""},{icon:a(()=>[t(y,{name:"el-icon-CopyDocument"})]),default:a(()=>[e[2]||(e[2]=J(" 复制 ",-1))]),_:1},8,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{Q as _}; +import{m as B,l as N,s as T,i as $,W as j}from"./element-plus-DGP1XOrU.js";import{c as D,k as d}from"./index-J_eFER10.js";import{u as F}from"./vue-clipboard3-DByT_rEQ.js";import{f as S,ar as U,ak as c,I as i,a as t,aN as a,F as A,ap as G,G as I,J as u,O as J,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{a as p,y as _,n as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"code-preview"},R={class:"flex",style:{height:"50vh"}},Q=S({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(r,{emit:f}){const b=r,V=f,{toClipboard:g}=F(),n=O("index0"),h=async l=>{try{await g(l),d.msgSuccess("复制成功")}catch{d.msgError("复制失败")}},s=L({get(){return b.modelValue},set(l){V("update:modelValue",l)}});return(l,e)=>{const v=U("highlightjs"),k=T,y=D,C=$,x=N,E=B,w=j;return c(),i("div",P,[t(w,{modelValue:_(s),"onUpdate:modelValue":e[1]||(e[1]=o=>p(s)?s.value=o:null),width:"900px",title:"代码预览"},{default:a(()=>[t(E,{modelValue:_(n),"onUpdate:modelValue":e[0]||(e[0]=o=>p(n)?n.value=o:null)},{default:a(()=>[(c(!0),i(A,null,G(r.code,(o,m)=>(c(),I(x,{label:o.name,name:`index${m}`,key:m},{default:a(()=>[u("div",R,[t(k,{class:"flex-1"},{default:a(()=>[t(v,{autodetect:"",code:o.content},null,8,["code"])]),_:2},1024),u("div",null,[t(C,{onClick:W=>h(o.content),type:"primary",link:""},{icon:a(()=>[t(y,{name:"el-icon-CopyDocument"})]),default:a(()=>[e[2]||(e[2]=J(" 复制 ",-1))]),_:1},8,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{Q as _}; diff --git a/server/public/admin/assets/commission-settlement-BIUQKhV2.js b/server/public/admin/assets/commission-settlement-C8uEBqVH.js similarity index 99% rename from server/public/admin/assets/commission-settlement-BIUQKhV2.js rename to server/public/admin/assets/commission-settlement-C8uEBqVH.js index f87b5564c..48d381ec6 100644 --- a/server/public/admin/assets/commission-settlement-BIUQKhV2.js +++ b/server/public/admin/assets/commission-settlement-C8uEBqVH.js @@ -1 +1 @@ -import{S as gt,H as ht,Q as bt,R as wt,ag as yt,Z as kt,M as xt,i as Ct,d as St,K as Vt,L as Ot,U as Et,C as Nt,m as Dt,l as zt,N as Mt,O as $t,T as Tt,G as Rt,F as Ft,V as Lt,W as Ut,E as w,a as Be}from"./element-plus-DGP1XOrU.js";import{s as Ie}from"./@vue/runtime-dom-DDAG46FW.js";import{O as Bt,x as It,m as Pt,g as Yt,a2 as qt}from"./@element-plus/icons-vue-CbYn5zW9.js";import{c as Pe,a as Gt,b as Ht,d as At,e as Wt,f as jt,g as Qt}from"./stats-D2lwBNks.js";import{f as Jt,w as Zt,b as Xt,ak as u,I as m,J as r,N as Kt,H as v,a as n,aN as o,O as s,F as S,ap as Ye,G as b,aP as W,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,y as U,r as el}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _,o as qe}from"./@vue/shared-mAAVTE9n.js";import{_ as tl}from"./index-fRv3NTFQ.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ll={class:"cs-page"},al={class:"cs-masthead"},nl={class:"cs-masthead__inner"},ol={key:0,class:"cs-masthead__stats"},sl={class:"cs-stat"},rl={class:"cs-stat__value"},il={key:0,class:"cs-stat"},dl={class:"cs-stat__value cs-stat__value--xs"},ul={key:1,class:"cs-stat"},_l={class:"cs-stat__value cs-stat__value--xs"},cl={class:"filter-surface"},pl={class:"filter-row filter-row--top"},ml={class:"filter-field"},fl={class:"filter-field filter-field--rangewrap"},vl={class:"filter-field"},gl={class:"filter-field filter-field--wide"},hl={class:"filter-select filter-select--dept filter-dept-tree-wrap"},bl={class:"filter-actions"},wl={class:"cs-alert__body"},yl={key:0},kl={key:1},xl={key:2,class:"cs-alert__meta"},Cl={class:"cs-reconcile"},Sl={class:"cs-reconcile__head"},Vl={class:"cs-reconcile__tags"},Ol={key:3,class:"cs-reconcile__meta"},El={key:4,class:"cs-reconcile__meta"},Nl={class:"cs-reconcile__toolbar"},Dl={key:0,class:"cs-reconcile__carry"},zl={class:"cs-table-head"},Ml={class:"cs-table-head__row"},$l={key:0,class:"cs-drill-state"},Tl={class:"cs-dept-link__text"},Rl={key:1,class:"cs-muted"},Fl={class:"cs-dialog__bar"},Ll={class:"cs-patient-cell"},Ul={class:"cs-patient-cell__name"},Bl={key:0,class:"cs-patient-cell__meta cs-muted"},Il={key:0},Pl={key:1,class:"cs-muted"},Yl={key:0,class:"cs-muted"},ql={key:1,class:"cs-muted"},Gl={class:"cs-dialog__pager"},Hl={class:"cs-dialog__bar cs-dialog__bar--split"},Al={class:"cs-dialog__hint"},Wl={class:"cs-patient-cell"},jl={class:"cs-patient-cell__name"},Ql={key:0,class:"cs-patient-cell__meta cs-muted"},Jl={key:0},Zl={key:1,class:"cs-muted"},Xl={key:0,class:"cs-muted"},Kl={key:1,class:"cs-muted"},ea={class:"cs-dialog__pager"},ta=Jt({__name:"commission-settlement",setup(la){const Ge={value:"id",label:"name",children:"children"};function He(t){if(!t.length)return[];const e=new Map;for(const f of t)e.set(f.id,{...f,children:[]});const i=[];for(const f of t){const g=e.get(f.id),y=Number(f.pid);y>0&&e.has(y)?e.get(y).children.push(g):i.push(g)}const a=f=>{var g;(g=f.children)!=null&&g.length?f.children.forEach(a):delete f.children};i.forEach(a);const x=f=>{var g;f.sort((y,D)=>{const C=y.name.includes("中心")?-1:1,z=D.name.includes("中心")?-1:1;return C!==z?C-z:y.id-D.id});for(const y of f)(g=y.children)!=null&&g.length&&x(y.children)};return x(i),i}function ke(){const t=new Date,e=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0");return`${e}-${i}`}function j(t){return String(t).padStart(2,"0")}function xe(t){return`${t.getFullYear()}-${j(t.getMonth()+1)}-${j(t.getDate())} ${j(t.getHours())}:${j(t.getMinutes())}:${j(t.getSeconds())}`}function re(t){const e=/^(\d{4})-(\d{2})$/.exec(t),i=e?parseInt(e[1],10):new Date().getFullYear(),a=e?parseInt(e[2],10):new Date().getMonth()+1,x=new Date(i,a-2,1,0,0,0),f=new Date(i,a-1,0,23,59,59);return[xe(x),xe(f)]}const h=p(ke()),B=p(re(h.value)),ae=p(!1),R=p(!1),ne=p([]),ie=p(!1),Ae=T(()=>He(ne.value)),O=p([]),Ce=p([]),de=p(!1),Q=p(""),ue=p([]),Se=p([]),Ve=p([]),oe=p([]),se=p([]),Oe=p("dept"),I=p({}),c=el({settlement_month:"",order_month:"",order_start_time:"",order_end_time:"",fulfillment_status:3,explicit_order_time_window:!1,cutoff_end:"",rule_note:"",channel_name:"",require_system_auto_prescription:!1}),E=p(null),J=p(""),_e=p(!1),ce=p(!1),pe=p(!1),F=T(()=>{var t;return Number((t=E.value)==null?void 0:t.status)===1}),me=p(!1),fe=p(!1),P=p("all"),ve=p([]),ge=p(0),Ee=p(1),Ne=p(20),Z=p(!1),Y=p(null),$=p("all"),q=p([]),G=p(0),X=p(1),De=p(20),he=p(!1),We=T(()=>{const t=Y.value;return t?t.mode==="dept"?`已完成业绩订单 · ${t.dept_name}`:t.title:"已完成业绩订单"}),K=T(()=>c.order_start_time&&c.order_end_time?`${c.order_start_time}~${c.order_end_time}`:c.order_month||"—"),je=T(()=>{const t=new Map;for(const e of ne.value){const i=Number(e.pid),a=t.get(i)??[];a.push(e.id),t.set(i,a)}return t}),be=T(()=>{const t=new Map;for(const e of ne.value)t.set(e.id,e);return t}),ee=T(()=>{if(O.value.length!==1)return null;const t=O.value[0];return be.value.get(t)??null}),Qe=T(()=>{const t=ee.value;if(!t)return"返回顶层";const e=Number(t.pid),i=e>0?be.value.get(e):null;return!i||Number(i.pid)<=0?"返回顶层":`返回上级 · ${i.name}`});function ze(t){if(!t||t<=0)return!1;const e=je.value.get(t);return!!(e&&e.length>0)}function Je(t){if(!(!t||!t.dept_id||t.dept_id<=0)){if(ze(t.dept_id)){O.value=[t.dept_id],N();return}Xe(t.dept_id,t.dept_name)}}function Ze(){const t=ee.value;if(!t){O.value=[],N();return}const e=Number(t.pid),i=e>0?be.value.get(e):null;!i||Number(i.pid)<=0?O.value=[]:O.value=[e],N()}function Xe(t,e){if(!h.value){w.warning("请选择结算月");return}Y.value={mode:"dept",dept_id:t,dept_name:e},$.value="all",X.value=1,q.value=[],G.value=0,Z.value=!0,te(1)}function Ke(t){if(!h.value){w.warning("请选择结算月");return}Y.value={mode:"channel",title:`业务订单 · ${t.appt_channel_name} · 医助 ${t.assistant_name}`,assistant_id:t.assistant_id,appt_channel_value:Number(t.appt_channel_value??0)},$.value="all",X.value=1,q.value=[],G.value=0,Z.value=!0,te(1)}function et(t){if(!h.value){w.warning("请选择结算月");return}Y.value={mode:"channel",title:`业务订单 · ${t.appt_channel_name} · 医生 ${t.doctor_name}`,doctor_id:t.doctor_id,appt_channel_value:Number(t.appt_channel_value??0)},$.value="all",X.value=1,q.value=[],G.value=0,Z.value=!0,te(1)}async function te(t){if(!(!h.value||!Y.value)){he.value=!0,X.value=t;try{const e=Y.value,i={settlement_month:h.value,page:t,page_size:De.value};e.mode==="dept"?(Object.assign(i,L()),i.table_row_dept_id=e.dept_id):(Object.assign(i,L()),i.appt_channel_value=e.appt_channel_value,e.assistant_id!=null&&(i.assistant_id=e.assistant_id),e.doctor_id!=null&&(i.doctor_id=e.doctor_id)),$.value&&$.value!=="all"&&(i.bucket=$.value);const a=await Pe(i);q.value=(a==null?void 0:a.list)||[],G.value=Number((a==null?void 0:a.count)??0)}catch(e){w.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载明细失败"),q.value=[],G.value=0}finally{he.value=!1}}}function k(t){return t==null||!Number.isFinite(Number(t))?"—":`¥ ${Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}async function tt(){ie.value=!0;try{const t=await Gt();ne.value=(t||[]).sort((e,i)=>{const a=e.name.includes("中心")?-1:1,x=i.name.includes("中心")?-1:1;return a!==x?a-x:e.id-i.id})}catch{}finally{ie.value=!1}}async function lt(){de.value=!0;try{const t=await Ht();Ce.value=(t==null?void 0:t.groups)||[]}catch{}finally{de.value=!1}}async function N(){var i;const t=h.value;if(!t){w.warning("请选择结算月");return}const e=B.value;if(!e||!e[0]||!e[1]){w.warning("请设置订单创建时间范围");return}R.value=!0;try{const a=await At(L());ue.value=(a==null?void 0:a.rows)||[],Se.value=(a==null?void 0:a.assistant_rows)||[],Ve.value=(a==null?void 0:a.doctor_rows)||[],oe.value=(a==null?void 0:a.assistant_channel_rows)||[],se.value=(a==null?void 0:a.doctor_channel_rows)||[],I.value=(a==null?void 0:a.total)||{},c.settlement_month=(a==null?void 0:a.settlement_month)||t,c.order_month=(a==null?void 0:a.order_month)||"",c.order_start_time=a!=null&&a.order_start_time?String(a.order_start_time):"",c.order_end_time=a!=null&&a.order_end_time?String(a.order_end_time):"",c.fulfillment_status=(a==null?void 0:a.fulfillment_status)!=null?Number(a.fulfillment_status):3,c.explicit_order_time_window=typeof(a==null?void 0:a.explicit_order_time_window)=="boolean"?a.explicit_order_time_window:!!(c.order_start_time&&c.order_end_time),c.cutoff_end=(a==null?void 0:a.cutoff_end)||"",c.rule_note=(a==null?void 0:a.rule_note)||"",c.channel_name=(a==null?void 0:a.channel_name)||"",c.require_system_auto_prescription=typeof(a==null?void 0:a.require_system_auto_prescription)=="boolean"?a.require_system_auto_prescription:!1,E.value=(a==null?void 0:a.confirm)??null,J.value=((i=a==null?void 0:a.confirm)==null?void 0:i.reconcile_note)!=null?String(a.confirm.reconcile_note):""}catch(a){w.error((a==null?void 0:a.msg)||(a==null?void 0:a.message)||"加载失败"),ue.value=[],Se.value=[],Ve.value=[],oe.value=[],se.value=[],I.value={},E.value=null}finally{R.value=!1}}function L(){const e={settlement_month:h.value,fulfillment_status:3},i=B.value;return i&&i[0]&&i[1]&&(e.start_time=i[0],e.end_time=i[1]),ae.value&&(e.require_system_auto_prescription=1),O.value.length>0&&(e.dept_ids=O.value.join(",")),Q.value&&(e.channel_code=Q.value),e}function at(){if(!h.value){w.warning("请选择结算月");return}me.value=!0}function nt(){P.value="all",we(1)}async function we(t){if(h.value){fe.value=!0,Ee.value=t;try{const e={...L(),page:t,page_size:Ne.value};P.value&&P.value!=="all"&&(e.bucket=P.value);const i=await Pe(e);ve.value=(i==null?void 0:i.list)||[],ge.value=Number((i==null?void 0:i.count)??0)}catch(e){w.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载明细失败"),ve.value=[],ge.value=0}finally{fe.value=!1}}}async function ot(){if(!h.value){w.warning("请选择结算月");return}if(F.value){w.warning("已确定业绩不可修改备注;请先撤回确定");return}_e.value=!0;try{await Wt({...L(),reconcile_note:J.value}),w.success("已保存核对备注"),await N()}catch(t){w.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"保存失败")}finally{_e.value=!1}}async function st(){if(!h.value){w.warning("请选择结算月");return}try{await Be.confirm("确定后将为「顺延下期」订单写入结转记录,下一结算月在相同渠道与部门筛选下自动并入统计。确定后仍可「撤回确定」以清除结转并重新核对(与财务对齐后再操作)。","确定本期业绩",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}ce.value=!0;try{const t=await jt({...L(),reconcile_note:J.value});w.success(`已确定本期业绩;结转 ${Number((t==null?void 0:t.deferred_carry_count)??0)} 单至 ${String((t==null?void 0:t.next_settlement_month)??"下期")}`),await N()}catch(t){w.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"提交失败")}finally{ce.value=!1}}async function rt(){if(!h.value){w.warning("请选择结算月");return}try{await Be.confirm("将撤回本次「确定业绩」状态,并删除已写入的顺延结转记录(下期将不再汇入这些单)。确定后继续?","撤回确定业绩",{confirmButtonText:"撤回",cancelButtonText:"取消",type:"warning"})}catch{return}pe.value=!0;try{await Qt(L()),w.success("已撤回确定;可重新保存备注并再次确定本期业绩"),await N()}catch(t){w.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"撤回失败")}finally{pe.value=!1}}function it(){h.value=ke(),B.value=re(h.value),ae.value=!1,O.value=[],Q.value="",N()}function Me(t){const{columns:e}=t,i=I.value,a=[];return e.forEach((x,f)=>{if(f===0){a[f]="合计";return}const g=x.property;if(!i||!g){a[f]="";return}if(g==="primary_dept_name"||g==="appt_channel_name"){a[f]="";return}if(g==="carry_in_order_count"){a[f]=String(i.carry_in_order_count??0);return}const y={completed_order_count:String(i.completed_order_count??0),completed_order_amount:k(i.completed_order_amount),current_period_count:String(i.current_period_count??0),current_period_amount:k(i.current_period_amount),deferred_period_count:String(i.deferred_period_count??0),deferred_period_amount:k(i.deferred_period_amount)};a[f]=y[String(g)]??""}),a}function $e(t,e){return i=>{const{rowIndex:a,columnIndex:x}=i;if(x>1)return;const f=t.value;if(!f||f.length===0)return;const g=f[a];if(!g)return;const y=g[e],D=a>0?f[a-1]:null;if(D&&D[e]===y)return{rowspan:0,colspan:0};let C=1;for(let z=a+1;z{if(f===0){a[f]="合计";return}const g=x.property;if(!i||!g){a[f]="";return}const y={completed_order_count:String(i.completed_order_count??0),completed_order_amount:k(i.completed_order_amount),current_period_count:String(i.current_period_count??0),current_period_amount:k(i.current_period_amount),deferred_period_count:String(i.deferred_period_count??0),deferred_period_amount:k(i.deferred_period_amount)};a[f]=y[String(g)]??""}),a}return Zt(h,t=>{t&&(B.value=re(t))}),Xt(async()=>{await Promise.all([tt(),lt()]),await N()}),(t,e)=>{const i=gt,a=ht,x=wt,f=yt,g=bt,y=kt,D=St,C=Ct,z=Vt,ct=Ot,V=Et,pt=Nt,mt=Tt,d=$t,le=Mt,ye=zt,ft=Dt,H=Ft,Re=Rt,Fe=Lt,Le=Ut,A=xt;return u(),m("div",ll,[r("header",al,[r("div",nl,[e[16]||(e[16]=Kt('
财务结算 · 业绩台账

提成结算业绩

订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同

',1)),c.settlement_month||c.cutoff_end?(u(),m("dl",ol,[r("div",sl,[e[13]||(e[13]=r("dt",{class:"cs-stat__label"},"结算月",-1)),r("dd",rl,_(c.settlement_month||h.value),1)]),c.order_month||c.order_start_time?(u(),m("div",il,[e[14]||(e[14]=r("dt",{class:"cs-stat__label"},"订单时间窗",-1)),r("dd",dl,_(K.value),1)])):v("",!0),c.cutoff_end?(u(),m("div",ul,[e[15]||(e[15]=r("dt",{class:"cs-stat__label"},"截止时刻",-1)),r("dd",_l,_(c.cutoff_end),1)])):v("",!0)])):v("",!0)])]),n(z,{class:"cs-panel filter-card",shadow:"never"},{default:o(()=>[r("div",cl,[r("div",pl,[r("div",ml,[e[17]||(e[17]=r("span",{class:"lbl"},"结算月",-1)),n(i,{modelValue:h.value,"onUpdate:modelValue":e[0]||(e[0]=l=>h.value=l),type:"month","value-format":"YYYY-MM",placeholder:"选择结算月",class:"filter-month"},null,8,["modelValue"])]),r("div",fl,[e[19]||(e[19]=r("span",{class:"lbl"},"订单创建",-1)),n(i,{modelValue:B.value,"onUpdate:modelValue":e[1]||(e[1]=l=>B.value=l),type:"datetimerange","value-format":"YYYY-MM-DD HH:mm:ss","range-separator":"至","start-placeholder":"列表 start_time","end-placeholder":"列表 end_time",class:"filter-datetimerange"},null,8,["modelValue"]),n(a,{modelValue:ae.value,"onUpdate:modelValue":e[2]||(e[2]=l=>ae.value=l),class:"filter-sa-check"},{default:o(()=>[...e[18]||(e[18]=[s(" 仅系统代开处方 ",-1)])]),_:1},8,["modelValue"])]),r("div",vl,[e[20]||(e[20]=r("span",{class:"lbl"},"渠道来源",-1)),n(g,{modelValue:Q.value,"onUpdate:modelValue":e[3]||(e[3]=l=>Q.value=l),filterable:"",clearable:"",placeholder:"全部",class:"filter-select filter-select--channel",loading:de.value,onChange:N},{default:o(()=>[n(x,{label:"全部",value:""}),(u(!0),m(S,null,Ye(Ce.value,l=>(u(),b(f,{key:l.group_name,label:l.group_name},{default:o(()=>[(u(!0),m(S,null,Ye(l.channels,M=>(u(),b(x,{key:M.channel_code,label:M.channel_name,value:M.channel_code},null,8,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),r("div",gl,[e[21]||(e[21]=r("span",{class:"lbl"},"展示部门",-1)),W((u(),m("div",hl,[n(y,{modelValue:O.value,"onUpdate:modelValue":e[4]||(e[4]=l=>O.value=l),data:Ae.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:Ge},null,8,["modelValue","data"])])),[[A,ie.value]])]),r("div",bl,[n(C,{type:"primary",class:"filter-btn filter-btn--query",loading:R.value,onClick:N},{default:o(()=>[n(D,{class:"filter-btn__icon"},{default:o(()=>[n(U(Bt))]),_:1}),e[22]||(e[22]=s(" 查询 ",-1))]),_:1},8,["loading"]),n(C,{class:"filter-btn filter-btn--reset",disabled:R.value,onClick:it},{default:o(()=>[n(D,{class:"filter-btn__icon"},{default:o(()=>[n(U(It))]),_:1}),e[23]||(e[23]=s(" 重置 ",-1))]),_:1},8,["disabled"])])])])]),_:1}),n(ct,{type:"info",closable:!1,"show-icon":"",class:"cs-alert"},{title:o(()=>[...e[24]||(e[24]=[r("span",{class:"cs-alert__title"},"统计口径",-1)])]),default:o(()=>[r("div",wl,[c.rule_note?(u(),m("p",yl,_(c.rule_note),1)):(u(),m("p",kl,[...e[25]||(e[25]=[s(" 请选择结算月并设置",-1),r("strong",null,"订单创建时间范围",-1),s("(与处方订单列表 URL 参数 ",-1),r("code",null,"start_time",-1),s("/",-1),r("code",null,"end_time",-1),s("/",-1),r("code",null,"fulfillment_status",-1),s(" 一致);切换结算月会自动带出",-1),r("strong",null,"上一自然月整段",-1),s("作为默认时段,可按业务修改(例如 2026-04-02~04-30)。 「仅系统代开处方」勾选后与列表在未限制开方类型时的条数会不一致。 ",-1)])])),c.cutoff_end?(u(),m("p",xl,[e[30]||(e[30]=s(" 当前结算月:",-1)),r("strong",null,_(c.settlement_month),1),e[31]||(e[31]=s(" · 订单时间:",-1)),r("strong",null,_(K.value),1),e[32]||(e[32]=s(" · 履约状态:",-1)),r("strong",null,_(c.fulfillment_status??3),1),e[33]||(e[33]=s(" · 截止时刻:",-1)),r("strong",null,_(c.cutoff_end),1),c.channel_name?(u(),m(S,{key:0},[e[26]||(e[26]=s(" · 渠道:",-1)),r("strong",null,_(c.channel_name),1)],64)):v("",!0),c.settlement_month?(u(),m(S,{key:1},[e[29]||(e[29]=s(" · 处方池:",-1)),r("strong",null,_(c.require_system_auto_prescription?"仅系统代开":"含手动与系统"),1),c.explicit_order_time_window?(u(),m(S,{key:0},[e[27]||(e[27]=s(" · 列表对齐:",-1)),e[28]||(e[28]=r("strong",null,"是",-1))],64)):v("",!0)],64)):v("",!0)])):v("",!0)])]),_:1}),n(z,{class:"cs-panel cs-reconcile-card",shadow:"never"},{default:o(()=>{var l,M,Ue;return[r("div",Cl,[r("div",Sl,[r("div",Vl,[F.value?(u(),b(V,{key:0,type:"success",effect:"dark"},{default:o(()=>[...e[34]||(e[34]=[s("已确定业绩",-1)])]),_:1})):((l=E.value)==null?void 0:l.status)===2?(u(),b(V,{key:1,type:"warning",effect:"plain"},{default:o(()=>[...e[35]||(e[35]=[s("已撤回确定",-1)])]),_:1})):(u(),b(V,{key:2,type:"info",effect:"plain"},{default:o(()=>[...e[36]||(e[36]=[s("待确定业绩",-1)])]),_:1})),F.value&&((M=E.value)!=null&&M.confirmed_at_text)?(u(),m("span",Ol,_(E.value.confirmed_admin_name||"—")+" · "+_(E.value.confirmed_at_text),1)):((Ue=E.value)==null?void 0:Ue.status)===2&&E.value.revoked_at_text?(u(),m("span",El," 撤回:"+_(E.value.revoked_admin_name||"—")+" · "+_(E.value.revoked_at_text),1)):v("",!0)]),r("div",Nl,[n(C,{type:"primary",plain:"",onClick:at},{default:o(()=>[...e[37]||(e[37]=[s("业绩明细核对",-1)])]),_:1}),n(C,{disabled:F.value||_e.value,onClick:ot},{default:o(()=>[...e[38]||(e[38]=[s(" 保存核对备注 ",-1)])]),_:1},8,["disabled"]),n(C,{type:"warning",disabled:F.value||ce.value,onClick:st},{default:o(()=>[...e[39]||(e[39]=[s(" 确定本期业绩 ",-1)])]),_:1},8,["disabled"]),F.value?(u(),b(C,{key:0,type:"danger",plain:"",loading:pe.value,onClick:rt},{default:o(()=>[...e[40]||(e[40]=[s(" 撤回确定 ",-1)])]),_:1},8,["loading"])):v("",!0)])]),n(pt,{modelValue:J.value,"onUpdate:modelValue":e[5]||(e[5]=vt=>J.value=vt),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"核对备注(可与财务线下对齐后填写;确定业绩前可反复保存)",disabled:F.value,class:"cs-reconcile__note"},null,8,["modelValue","disabled"]),Number(I.value.carry_in_order_count)>0?(u(),m("p",Dl,[e[41]||(e[41]=s(" 上期顺延汇入本期:",-1)),r("strong",null,_(I.value.carry_in_order_count),1),e[42]||(e[42]=s(" 单(已并入当前汇总) ",-1))])):v("",!0)])]}),_:1}),n(z,{class:"cs-panel cs-summary-card",shadow:"never"},{default:o(()=>[n(ft,{modelValue:Oe.value,"onUpdate:modelValue":e[6]||(e[6]=l=>Oe.value=l),class:"cs-summary-tabs"},{default:o(()=>[n(ye,{label:"部门汇总",name:"dept"},{default:o(()=>[r("div",zl,[r("div",Ml,[e[43]||(e[43]=r("span",{class:"cs-table-head__title"},"部门汇总",-1)),ee.value?(u(),m("div",$l,[n(V,{size:"small",type:"info",effect:"plain",class:"cs-drill-state__tag"},{default:o(()=>[s(" 当前下钻:"+_(ee.value.path||ee.value.name),1)]),_:1}),n(C,{link:"",type:"primary",class:"cs-drill-state__back",onClick:Ze},{default:o(()=>[n(D,null,{default:o(()=>[n(U(Pt))]),_:1}),s(" "+_(Qe.value),1)]),_:1})])):v("",!0)]),e[44]||(e[44]=r("span",{class:"cs-table-head__hint"},[s(" 金额单位:元;与业绩看板相同的部门摊列规则(业绩归属医助 → 展示「中心」)。 "),r("strong",null,"点击部门"),s(":若有子部门则下钻一层;末级部门弹出「已完成业绩订单」明细。 ")],-1))]),W((u(),b(le,{data:ue.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--clickable","show-summary":"","summary-method":_t},{default:o(()=>[n(d,{prop:"dept_name",label:"部门","min-width":"220",fixed:""},{default:o(({row:l})=>[l.dept_id>0?(u(),b(mt,{key:0,type:"primary",underline:!1,class:"cs-dept-link",onClick:M=>Je(l)},{default:o(()=>[r("span",Tl,_(l.dept_name),1),n(D,{class:"cs-dept-link__icon"},{default:o(()=>[ze(l.dept_id)?(u(),b(U(Yt),{key:0})):(u(),b(U(qt),{key:1}))]),_:2},1024)]),_:2},1032,["onClick"])):(u(),m("span",Rl,_(l.dept_name),1))]),_:1}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:l})=>[s(_(k(l.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.deferred_period_amount)),1)]),_:1})]),_:1},8,["data"])),[[A,R.value]])]),_:1}),n(ye,{label:"按医助下发",name:"assistant"},{default:o(()=>[e[45]||(e[45]=r("div",{class:"cs-table-head"},[r("span",{class:"cs-table-head__title"},"业绩归属医助 × 挂号渠道"),r("span",{class:"cs-table-head__hint"},[s(" 按诊单业绩归属医助 "),r("strong",null,"×"),s(" 挂号渠道(doctor_appointment.channels)拆分到行; "),r("strong",null,"「复诊2」「复诊3」「自媒体1」等保持各自独立"),s(",未关联挂号统一归到「未匹配挂号渠道」。 同一医助多行"),r("strong",null,"自动合并「医助 / 归属中心」单元格"),s(",「顺延汇入」为上期结转进入本期订单池的单数。 "),r("strong",null,"展示部门"),s("有勾选时,本表仅列出"),r("strong",null,"可归入该部门上下文"),s("的业绩医助(与人事部门落在所选部门范围内的账号一致)。 "),r("strong",null,"点击挂号渠道"),s(":查看该行对应的业务订单明细(与上方部门筛选一致)。 ")])],-1)),W((u(),b(le,{data:oe.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":U(dt)},{default:o(()=>[n(d,{prop:"assistant_name",label:"医助","min-width":"120",fixed:"","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属中心","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"appt_channel_name",label:"挂号渠道","min-width":"120","show-overflow-tooltip":""},{default:o(({row:l})=>[n(V,{size:"small",class:qe(["cs-channel-tag cs-channel-tag--clickable",Te(l.appt_channel_name)]),effect:"plain",onClick:Ie(M=>Ke(l),["stop"])},{default:o(()=>[s(_(l.appt_channel_name),1)]),_:2},1032,["class","onClick"])]),_:1}),n(d,{prop:"carry_in_order_count",label:"顺延汇入单数","min-width":"112",align:"right"}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:l})=>[s(_(k(l.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.deferred_period_amount)),1)]),_:1})]),_:1},8,["data","span-method"])),[[A,R.value]])]),_:1}),n(ye,{label:"按医生下发",name:"doctor"},{default:o(()=>[e[46]||(e[46]=r("div",{class:"cs-table-head"},[r("span",{class:"cs-table-head__title"},"处方开方医生 × 挂号渠道"),r("span",{class:"cs-table-head__hint"},[s(" 按处方创建账号(开方人) "),r("strong",null,"×"),s(" 挂号渠道拆分; 可与医助维度交叉核对;同一医生多行自动合并「医生 / 归属中心」单元格。 "),r("strong",null,"展示部门"),s("有勾选时,与医助表相同,仅统计"),r("strong",null,"该部门上下文内"),s("订单对应的开方医生。 "),r("strong",null,"点击挂号渠道"),s(":查看该行对应的业务订单明细。 ")])],-1)),W((u(),b(le,{data:se.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":U(ut)},{default:o(()=>[n(d,{prop:"doctor_name",label:"医生","min-width":"120",fixed:"","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属中心","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"appt_channel_name",label:"挂号渠道","min-width":"120","show-overflow-tooltip":""},{default:o(({row:l})=>[n(V,{size:"small",class:qe(["cs-channel-tag cs-channel-tag--clickable",Te(l.appt_channel_name)]),effect:"plain",onClick:Ie(M=>et(l),["stop"])},{default:o(()=>[s(_(l.appt_channel_name),1)]),_:2},1032,["class","onClick"])]),_:1}),n(d,{prop:"carry_in_order_count",label:"顺延汇入单数","min-width":"112",align:"right"}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:l})=>[s(_(k(l.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.deferred_period_amount)),1)]),_:1})]),_:1},8,["data","span-method"])),[[A,R.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(Le,{modelValue:me.value,"onUpdate:modelValue":e[9]||(e[9]=l=>me.value=l),title:"业绩明细核对",width:"1280px","destroy-on-close":"",class:"cs-dialog",onOpen:nt},{default:o(()=>[r("div",Fl,[n(Re,{modelValue:P.value,"onUpdate:modelValue":e[7]||(e[7]=l=>P.value=l),size:"small",onChange:e[8]||(e[8]=l=>we(1))},{default:o(()=>[n(H,{label:"all"},{default:o(()=>[...e[47]||(e[47]=[s("全部",-1)])]),_:1}),n(H,{label:"current"},{default:o(()=>[...e[48]||(e[48]=[s("本期提成",-1)])]),_:1}),n(H,{label:"deferred"},{default:o(()=>[...e[49]||(e[49]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"])]),W((u(),b(le,{data:ve.value,border:"",stripe:"",size:"small","max-height":"440"},{default:o(()=>[n(d,{prop:"order_no",label:"业务订单号","min-width":"128","show-overflow-tooltip":""}),n(d,{label:"患者","min-width":"112","show-overflow-tooltip":""},{default:o(({row:l})=>[r("div",Ll,[r("span",Ul,_(l.patient_name||"—"),1),l.patient_phone||l.patient_gender_text?(u(),m("span",Bl,[l.patient_gender_text?(u(),m(S,{key:0},[s(_(l.patient_gender_text),1)],64)):v("",!0),l.patient_gender_text&&l.patient_phone?(u(),m(S,{key:1},[s(" · ")],64)):v("",!0),l.patient_phone?(u(),m(S,{key:2},[s(_(l.patient_phone),1)],64)):v("",!0)])):v("",!0)])]),_:1}),n(d,{label:"快递单号","min-width":"132","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.tracking_number||"—"),1)]),_:1}),n(d,{label:"挂号日期","min-width":"124","show-overflow-tooltip":""},{default:o(({row:l})=>[r("span",null,_(l.appointment_date_text||"—"),1),l.appointment_status&&Number(l.appointment_status)!==3?(u(),b(V,{key:0,class:"cs-tag-appt-muted",type:"info",size:"small",effect:"plain"},{default:o(()=>[...e[50]||(e[50]=[s("未完结挂号",-1)])]),_:1})):v("",!0)]),_:1}),n(d,{label:"挂号渠道","min-width":"124","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.appt_channel_name||"—"),1)]),_:1}),n(d,{prop:"assistant_name",label:"业绩医助","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"doctor_name",label:"开方医生","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属部门","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"amount",label:"金额",width:"108",align:"right"},{default:o(({row:l})=>[s(_(k(l.amount)),1)]),_:1}),n(d,{label:"分段",width:"88",align:"center"},{default:o(({row:l})=>[l.bucket==="current"?(u(),b(V,{key:0,type:"success",size:"small"},{default:o(()=>[...e[51]||(e[51]=[s("本期",-1)])]),_:1})):(u(),b(V,{key:1,type:"warning",size:"small"},{default:o(()=>[...e[52]||(e[52]=[s("顺延",-1)])]),_:1}))]),_:1}),n(d,{label:"结转",width:"72",align:"center"},{default:o(({row:l})=>[l.is_carry_in?(u(),m("span",Il,"是")):(u(),m("span",Pl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:l})=>[l.bucket==="deferred"&&l.bucket_defer_text?(u(),m("span",Yl,_(l.bucket_defer_text),1)):(u(),m("span",ql,"—"))]),_:1}),n(d,{label:"物流签收","min-width":"152","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.sign_time_text||"—"),1)]),_:1}),n(d,{prop:"pay_time_text",label:"尾款支付","min-width":"152","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.pay_time_text||"—"),1)]),_:1}),n(d,{prop:"create_time_text",label:"订单创建",width:"152"})]),_:1},8,["data"])),[[A,fe.value]]),r("div",Gl,[n(Fe,{layout:"total, prev, pager, next",total:ge.value,"page-size":Ne.value,"current-page":Ee.value,onCurrentChange:we},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue"]),n(Le,{modelValue:Z.value,"onUpdate:modelValue":e[12]||(e[12]=l=>Z.value=l),title:We.value,width:"1280px","destroy-on-close":"",class:"cs-dialog"},{default:o(()=>[r("div",Hl,[n(Re,{modelValue:$.value,"onUpdate:modelValue":e[10]||(e[10]=l=>$.value=l),size:"small",onChange:e[11]||(e[11]=l=>te(1))},{default:o(()=>[n(H,{label:"all"},{default:o(()=>[...e[53]||(e[53]=[s("全部已完成",-1)])]),_:1}),n(H,{label:"current"},{default:o(()=>[...e[54]||(e[54]=[s("本期提成",-1)])]),_:1}),n(H,{label:"deferred"},{default:o(()=>[...e[55]||(e[55]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"]),r("span",Al,[e[58]||(e[58]=s(" 结算月:",-1)),r("strong",null,_(c.settlement_month||h.value),1),K.value&&K.value!=="—"?(u(),m(S,{key:0},[e[56]||(e[56]=s(" · 订单创建:",-1)),r("strong",null,_(K.value),1)],64)):v("",!0),c.channel_name?(u(),m(S,{key:1},[e[57]||(e[57]=s(" · 渠道:",-1)),r("strong",null,_(c.channel_name),1)],64)):v("",!0)])]),W((u(),b(le,{data:q.value,border:"",stripe:"",size:"small","max-height":"440"},{default:o(()=>[n(d,{prop:"order_no",label:"业务订单号","min-width":"128","show-overflow-tooltip":""}),n(d,{label:"患者","min-width":"112","show-overflow-tooltip":""},{default:o(({row:l})=>[r("div",Wl,[r("span",jl,_(l.patient_name||"—"),1),l.patient_phone||l.patient_gender_text?(u(),m("span",Ql,[l.patient_gender_text?(u(),m(S,{key:0},[s(_(l.patient_gender_text),1)],64)):v("",!0),l.patient_gender_text&&l.patient_phone?(u(),m(S,{key:1},[s(" · ")],64)):v("",!0),l.patient_phone?(u(),m(S,{key:2},[s(_(l.patient_phone),1)],64)):v("",!0)])):v("",!0)])]),_:1}),n(d,{label:"快递单号","min-width":"132","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.tracking_number||"—"),1)]),_:1}),n(d,{label:"挂号日期","min-width":"124","show-overflow-tooltip":""},{default:o(({row:l})=>[r("span",null,_(l.appointment_date_text||"—"),1),l.appointment_status&&Number(l.appointment_status)!==3?(u(),b(V,{key:0,class:"cs-tag-appt-muted",type:"info",size:"small",effect:"plain"},{default:o(()=>[...e[59]||(e[59]=[s("未完结挂号",-1)])]),_:1})):v("",!0)]),_:1}),n(d,{label:"挂号渠道","min-width":"124","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.appt_channel_name||"—"),1)]),_:1}),n(d,{prop:"assistant_name",label:"业绩医助","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"doctor_name",label:"开方医生","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属部门","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"amount",label:"金额",width:"108",align:"right"},{default:o(({row:l})=>[s(_(k(l.amount)),1)]),_:1}),n(d,{label:"分段",width:"88",align:"center"},{default:o(({row:l})=>[l.bucket==="current"?(u(),b(V,{key:0,type:"success",size:"small"},{default:o(()=>[...e[60]||(e[60]=[s("本期",-1)])]),_:1})):(u(),b(V,{key:1,type:"warning",size:"small"},{default:o(()=>[...e[61]||(e[61]=[s("顺延",-1)])]),_:1}))]),_:1}),n(d,{label:"结转",width:"72",align:"center"},{default:o(({row:l})=>[l.is_carry_in?(u(),m("span",Jl,"是")):(u(),m("span",Zl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:l})=>[l.bucket==="deferred"&&l.bucket_defer_text?(u(),m("span",Xl,_(l.bucket_defer_text),1)):(u(),m("span",Kl,"—"))]),_:1}),n(d,{label:"物流签收","min-width":"152","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.sign_time_text||"—"),1)]),_:1}),n(d,{prop:"pay_time_text",label:"尾款支付","min-width":"152","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.pay_time_text||"—"),1)]),_:1}),n(d,{prop:"create_time_text",label:"订单创建",width:"152"})]),_:1},8,["data"])),[[A,he.value]]),r("div",ea,[n(Fe,{layout:"total, prev, pager, next",total:G.value,"page-size":De.value,"current-page":X.value,onCurrentChange:te},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue","title"])])}}}),Pa=tl(ta,[["__scopeId","data-v-14e5732a"]]);export{Pa as default}; +import{S as gt,H as ht,Q as bt,R as wt,ag as yt,Z as kt,M as xt,i as Ct,d as St,K as Vt,L as Ot,U as Et,C as Nt,m as Dt,l as zt,N as Mt,O as $t,T as Tt,G as Rt,F as Ft,V as Lt,W as Ut,E as w,a as Be}from"./element-plus-DGP1XOrU.js";import{s as Ie}from"./@vue/runtime-dom-DDAG46FW.js";import{O as Bt,x as It,m as Pt,g as Yt,a2 as qt}from"./@element-plus/icons-vue-CbYn5zW9.js";import{c as Pe,a as Gt,b as Ht,d as At,e as Wt,f as jt,g as Qt}from"./stats-DXRw03Ae.js";import{f as Jt,w as Zt,b as Xt,ak as u,I as m,J as r,N as Kt,H as v,a as n,aN as o,O as s,F as S,ap as Ye,G as b,aP as W,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,y as U,r as el}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _,o as qe}from"./@vue/shared-mAAVTE9n.js";import{_ as tl}from"./index-J_eFER10.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ll={class:"cs-page"},al={class:"cs-masthead"},nl={class:"cs-masthead__inner"},ol={key:0,class:"cs-masthead__stats"},sl={class:"cs-stat"},rl={class:"cs-stat__value"},il={key:0,class:"cs-stat"},dl={class:"cs-stat__value cs-stat__value--xs"},ul={key:1,class:"cs-stat"},_l={class:"cs-stat__value cs-stat__value--xs"},cl={class:"filter-surface"},pl={class:"filter-row filter-row--top"},ml={class:"filter-field"},fl={class:"filter-field filter-field--rangewrap"},vl={class:"filter-field"},gl={class:"filter-field filter-field--wide"},hl={class:"filter-select filter-select--dept filter-dept-tree-wrap"},bl={class:"filter-actions"},wl={class:"cs-alert__body"},yl={key:0},kl={key:1},xl={key:2,class:"cs-alert__meta"},Cl={class:"cs-reconcile"},Sl={class:"cs-reconcile__head"},Vl={class:"cs-reconcile__tags"},Ol={key:3,class:"cs-reconcile__meta"},El={key:4,class:"cs-reconcile__meta"},Nl={class:"cs-reconcile__toolbar"},Dl={key:0,class:"cs-reconcile__carry"},zl={class:"cs-table-head"},Ml={class:"cs-table-head__row"},$l={key:0,class:"cs-drill-state"},Tl={class:"cs-dept-link__text"},Rl={key:1,class:"cs-muted"},Fl={class:"cs-dialog__bar"},Ll={class:"cs-patient-cell"},Ul={class:"cs-patient-cell__name"},Bl={key:0,class:"cs-patient-cell__meta cs-muted"},Il={key:0},Pl={key:1,class:"cs-muted"},Yl={key:0,class:"cs-muted"},ql={key:1,class:"cs-muted"},Gl={class:"cs-dialog__pager"},Hl={class:"cs-dialog__bar cs-dialog__bar--split"},Al={class:"cs-dialog__hint"},Wl={class:"cs-patient-cell"},jl={class:"cs-patient-cell__name"},Ql={key:0,class:"cs-patient-cell__meta cs-muted"},Jl={key:0},Zl={key:1,class:"cs-muted"},Xl={key:0,class:"cs-muted"},Kl={key:1,class:"cs-muted"},ea={class:"cs-dialog__pager"},ta=Jt({__name:"commission-settlement",setup(la){const Ge={value:"id",label:"name",children:"children"};function He(t){if(!t.length)return[];const e=new Map;for(const f of t)e.set(f.id,{...f,children:[]});const i=[];for(const f of t){const g=e.get(f.id),y=Number(f.pid);y>0&&e.has(y)?e.get(y).children.push(g):i.push(g)}const a=f=>{var g;(g=f.children)!=null&&g.length?f.children.forEach(a):delete f.children};i.forEach(a);const x=f=>{var g;f.sort((y,D)=>{const C=y.name.includes("中心")?-1:1,z=D.name.includes("中心")?-1:1;return C!==z?C-z:y.id-D.id});for(const y of f)(g=y.children)!=null&&g.length&&x(y.children)};return x(i),i}function ke(){const t=new Date,e=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0");return`${e}-${i}`}function j(t){return String(t).padStart(2,"0")}function xe(t){return`${t.getFullYear()}-${j(t.getMonth()+1)}-${j(t.getDate())} ${j(t.getHours())}:${j(t.getMinutes())}:${j(t.getSeconds())}`}function re(t){const e=/^(\d{4})-(\d{2})$/.exec(t),i=e?parseInt(e[1],10):new Date().getFullYear(),a=e?parseInt(e[2],10):new Date().getMonth()+1,x=new Date(i,a-2,1,0,0,0),f=new Date(i,a-1,0,23,59,59);return[xe(x),xe(f)]}const h=p(ke()),B=p(re(h.value)),ae=p(!1),R=p(!1),ne=p([]),ie=p(!1),Ae=T(()=>He(ne.value)),O=p([]),Ce=p([]),de=p(!1),Q=p(""),ue=p([]),Se=p([]),Ve=p([]),oe=p([]),se=p([]),Oe=p("dept"),I=p({}),c=el({settlement_month:"",order_month:"",order_start_time:"",order_end_time:"",fulfillment_status:3,explicit_order_time_window:!1,cutoff_end:"",rule_note:"",channel_name:"",require_system_auto_prescription:!1}),E=p(null),J=p(""),_e=p(!1),ce=p(!1),pe=p(!1),F=T(()=>{var t;return Number((t=E.value)==null?void 0:t.status)===1}),me=p(!1),fe=p(!1),P=p("all"),ve=p([]),ge=p(0),Ee=p(1),Ne=p(20),Z=p(!1),Y=p(null),$=p("all"),q=p([]),G=p(0),X=p(1),De=p(20),he=p(!1),We=T(()=>{const t=Y.value;return t?t.mode==="dept"?`已完成业绩订单 · ${t.dept_name}`:t.title:"已完成业绩订单"}),K=T(()=>c.order_start_time&&c.order_end_time?`${c.order_start_time}~${c.order_end_time}`:c.order_month||"—"),je=T(()=>{const t=new Map;for(const e of ne.value){const i=Number(e.pid),a=t.get(i)??[];a.push(e.id),t.set(i,a)}return t}),be=T(()=>{const t=new Map;for(const e of ne.value)t.set(e.id,e);return t}),ee=T(()=>{if(O.value.length!==1)return null;const t=O.value[0];return be.value.get(t)??null}),Qe=T(()=>{const t=ee.value;if(!t)return"返回顶层";const e=Number(t.pid),i=e>0?be.value.get(e):null;return!i||Number(i.pid)<=0?"返回顶层":`返回上级 · ${i.name}`});function ze(t){if(!t||t<=0)return!1;const e=je.value.get(t);return!!(e&&e.length>0)}function Je(t){if(!(!t||!t.dept_id||t.dept_id<=0)){if(ze(t.dept_id)){O.value=[t.dept_id],N();return}Xe(t.dept_id,t.dept_name)}}function Ze(){const t=ee.value;if(!t){O.value=[],N();return}const e=Number(t.pid),i=e>0?be.value.get(e):null;!i||Number(i.pid)<=0?O.value=[]:O.value=[e],N()}function Xe(t,e){if(!h.value){w.warning("请选择结算月");return}Y.value={mode:"dept",dept_id:t,dept_name:e},$.value="all",X.value=1,q.value=[],G.value=0,Z.value=!0,te(1)}function Ke(t){if(!h.value){w.warning("请选择结算月");return}Y.value={mode:"channel",title:`业务订单 · ${t.appt_channel_name} · 医助 ${t.assistant_name}`,assistant_id:t.assistant_id,appt_channel_value:Number(t.appt_channel_value??0)},$.value="all",X.value=1,q.value=[],G.value=0,Z.value=!0,te(1)}function et(t){if(!h.value){w.warning("请选择结算月");return}Y.value={mode:"channel",title:`业务订单 · ${t.appt_channel_name} · 医生 ${t.doctor_name}`,doctor_id:t.doctor_id,appt_channel_value:Number(t.appt_channel_value??0)},$.value="all",X.value=1,q.value=[],G.value=0,Z.value=!0,te(1)}async function te(t){if(!(!h.value||!Y.value)){he.value=!0,X.value=t;try{const e=Y.value,i={settlement_month:h.value,page:t,page_size:De.value};e.mode==="dept"?(Object.assign(i,L()),i.table_row_dept_id=e.dept_id):(Object.assign(i,L()),i.appt_channel_value=e.appt_channel_value,e.assistant_id!=null&&(i.assistant_id=e.assistant_id),e.doctor_id!=null&&(i.doctor_id=e.doctor_id)),$.value&&$.value!=="all"&&(i.bucket=$.value);const a=await Pe(i);q.value=(a==null?void 0:a.list)||[],G.value=Number((a==null?void 0:a.count)??0)}catch(e){w.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载明细失败"),q.value=[],G.value=0}finally{he.value=!1}}}function k(t){return t==null||!Number.isFinite(Number(t))?"—":`¥ ${Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}async function tt(){ie.value=!0;try{const t=await Gt();ne.value=(t||[]).sort((e,i)=>{const a=e.name.includes("中心")?-1:1,x=i.name.includes("中心")?-1:1;return a!==x?a-x:e.id-i.id})}catch{}finally{ie.value=!1}}async function lt(){de.value=!0;try{const t=await Ht();Ce.value=(t==null?void 0:t.groups)||[]}catch{}finally{de.value=!1}}async function N(){var i;const t=h.value;if(!t){w.warning("请选择结算月");return}const e=B.value;if(!e||!e[0]||!e[1]){w.warning("请设置订单创建时间范围");return}R.value=!0;try{const a=await At(L());ue.value=(a==null?void 0:a.rows)||[],Se.value=(a==null?void 0:a.assistant_rows)||[],Ve.value=(a==null?void 0:a.doctor_rows)||[],oe.value=(a==null?void 0:a.assistant_channel_rows)||[],se.value=(a==null?void 0:a.doctor_channel_rows)||[],I.value=(a==null?void 0:a.total)||{},c.settlement_month=(a==null?void 0:a.settlement_month)||t,c.order_month=(a==null?void 0:a.order_month)||"",c.order_start_time=a!=null&&a.order_start_time?String(a.order_start_time):"",c.order_end_time=a!=null&&a.order_end_time?String(a.order_end_time):"",c.fulfillment_status=(a==null?void 0:a.fulfillment_status)!=null?Number(a.fulfillment_status):3,c.explicit_order_time_window=typeof(a==null?void 0:a.explicit_order_time_window)=="boolean"?a.explicit_order_time_window:!!(c.order_start_time&&c.order_end_time),c.cutoff_end=(a==null?void 0:a.cutoff_end)||"",c.rule_note=(a==null?void 0:a.rule_note)||"",c.channel_name=(a==null?void 0:a.channel_name)||"",c.require_system_auto_prescription=typeof(a==null?void 0:a.require_system_auto_prescription)=="boolean"?a.require_system_auto_prescription:!1,E.value=(a==null?void 0:a.confirm)??null,J.value=((i=a==null?void 0:a.confirm)==null?void 0:i.reconcile_note)!=null?String(a.confirm.reconcile_note):""}catch(a){w.error((a==null?void 0:a.msg)||(a==null?void 0:a.message)||"加载失败"),ue.value=[],Se.value=[],Ve.value=[],oe.value=[],se.value=[],I.value={},E.value=null}finally{R.value=!1}}function L(){const e={settlement_month:h.value,fulfillment_status:3},i=B.value;return i&&i[0]&&i[1]&&(e.start_time=i[0],e.end_time=i[1]),ae.value&&(e.require_system_auto_prescription=1),O.value.length>0&&(e.dept_ids=O.value.join(",")),Q.value&&(e.channel_code=Q.value),e}function at(){if(!h.value){w.warning("请选择结算月");return}me.value=!0}function nt(){P.value="all",we(1)}async function we(t){if(h.value){fe.value=!0,Ee.value=t;try{const e={...L(),page:t,page_size:Ne.value};P.value&&P.value!=="all"&&(e.bucket=P.value);const i=await Pe(e);ve.value=(i==null?void 0:i.list)||[],ge.value=Number((i==null?void 0:i.count)??0)}catch(e){w.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载明细失败"),ve.value=[],ge.value=0}finally{fe.value=!1}}}async function ot(){if(!h.value){w.warning("请选择结算月");return}if(F.value){w.warning("已确定业绩不可修改备注;请先撤回确定");return}_e.value=!0;try{await Wt({...L(),reconcile_note:J.value}),w.success("已保存核对备注"),await N()}catch(t){w.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"保存失败")}finally{_e.value=!1}}async function st(){if(!h.value){w.warning("请选择结算月");return}try{await Be.confirm("确定后将为「顺延下期」订单写入结转记录,下一结算月在相同渠道与部门筛选下自动并入统计。确定后仍可「撤回确定」以清除结转并重新核对(与财务对齐后再操作)。","确定本期业绩",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}ce.value=!0;try{const t=await jt({...L(),reconcile_note:J.value});w.success(`已确定本期业绩;结转 ${Number((t==null?void 0:t.deferred_carry_count)??0)} 单至 ${String((t==null?void 0:t.next_settlement_month)??"下期")}`),await N()}catch(t){w.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"提交失败")}finally{ce.value=!1}}async function rt(){if(!h.value){w.warning("请选择结算月");return}try{await Be.confirm("将撤回本次「确定业绩」状态,并删除已写入的顺延结转记录(下期将不再汇入这些单)。确定后继续?","撤回确定业绩",{confirmButtonText:"撤回",cancelButtonText:"取消",type:"warning"})}catch{return}pe.value=!0;try{await Qt(L()),w.success("已撤回确定;可重新保存备注并再次确定本期业绩"),await N()}catch(t){w.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"撤回失败")}finally{pe.value=!1}}function it(){h.value=ke(),B.value=re(h.value),ae.value=!1,O.value=[],Q.value="",N()}function Me(t){const{columns:e}=t,i=I.value,a=[];return e.forEach((x,f)=>{if(f===0){a[f]="合计";return}const g=x.property;if(!i||!g){a[f]="";return}if(g==="primary_dept_name"||g==="appt_channel_name"){a[f]="";return}if(g==="carry_in_order_count"){a[f]=String(i.carry_in_order_count??0);return}const y={completed_order_count:String(i.completed_order_count??0),completed_order_amount:k(i.completed_order_amount),current_period_count:String(i.current_period_count??0),current_period_amount:k(i.current_period_amount),deferred_period_count:String(i.deferred_period_count??0),deferred_period_amount:k(i.deferred_period_amount)};a[f]=y[String(g)]??""}),a}function $e(t,e){return i=>{const{rowIndex:a,columnIndex:x}=i;if(x>1)return;const f=t.value;if(!f||f.length===0)return;const g=f[a];if(!g)return;const y=g[e],D=a>0?f[a-1]:null;if(D&&D[e]===y)return{rowspan:0,colspan:0};let C=1;for(let z=a+1;z{if(f===0){a[f]="合计";return}const g=x.property;if(!i||!g){a[f]="";return}const y={completed_order_count:String(i.completed_order_count??0),completed_order_amount:k(i.completed_order_amount),current_period_count:String(i.current_period_count??0),current_period_amount:k(i.current_period_amount),deferred_period_count:String(i.deferred_period_count??0),deferred_period_amount:k(i.deferred_period_amount)};a[f]=y[String(g)]??""}),a}return Zt(h,t=>{t&&(B.value=re(t))}),Xt(async()=>{await Promise.all([tt(),lt()]),await N()}),(t,e)=>{const i=gt,a=ht,x=wt,f=yt,g=bt,y=kt,D=St,C=Ct,z=Vt,ct=Ot,V=Et,pt=Nt,mt=Tt,d=$t,le=Mt,ye=zt,ft=Dt,H=Ft,Re=Rt,Fe=Lt,Le=Ut,A=xt;return u(),m("div",ll,[r("header",al,[r("div",nl,[e[16]||(e[16]=Kt('
财务结算 · 业绩台账

提成结算业绩

订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同

',1)),c.settlement_month||c.cutoff_end?(u(),m("dl",ol,[r("div",sl,[e[13]||(e[13]=r("dt",{class:"cs-stat__label"},"结算月",-1)),r("dd",rl,_(c.settlement_month||h.value),1)]),c.order_month||c.order_start_time?(u(),m("div",il,[e[14]||(e[14]=r("dt",{class:"cs-stat__label"},"订单时间窗",-1)),r("dd",dl,_(K.value),1)])):v("",!0),c.cutoff_end?(u(),m("div",ul,[e[15]||(e[15]=r("dt",{class:"cs-stat__label"},"截止时刻",-1)),r("dd",_l,_(c.cutoff_end),1)])):v("",!0)])):v("",!0)])]),n(z,{class:"cs-panel filter-card",shadow:"never"},{default:o(()=>[r("div",cl,[r("div",pl,[r("div",ml,[e[17]||(e[17]=r("span",{class:"lbl"},"结算月",-1)),n(i,{modelValue:h.value,"onUpdate:modelValue":e[0]||(e[0]=l=>h.value=l),type:"month","value-format":"YYYY-MM",placeholder:"选择结算月",class:"filter-month"},null,8,["modelValue"])]),r("div",fl,[e[19]||(e[19]=r("span",{class:"lbl"},"订单创建",-1)),n(i,{modelValue:B.value,"onUpdate:modelValue":e[1]||(e[1]=l=>B.value=l),type:"datetimerange","value-format":"YYYY-MM-DD HH:mm:ss","range-separator":"至","start-placeholder":"列表 start_time","end-placeholder":"列表 end_time",class:"filter-datetimerange"},null,8,["modelValue"]),n(a,{modelValue:ae.value,"onUpdate:modelValue":e[2]||(e[2]=l=>ae.value=l),class:"filter-sa-check"},{default:o(()=>[...e[18]||(e[18]=[s(" 仅系统代开处方 ",-1)])]),_:1},8,["modelValue"])]),r("div",vl,[e[20]||(e[20]=r("span",{class:"lbl"},"渠道来源",-1)),n(g,{modelValue:Q.value,"onUpdate:modelValue":e[3]||(e[3]=l=>Q.value=l),filterable:"",clearable:"",placeholder:"全部",class:"filter-select filter-select--channel",loading:de.value,onChange:N},{default:o(()=>[n(x,{label:"全部",value:""}),(u(!0),m(S,null,Ye(Ce.value,l=>(u(),b(f,{key:l.group_name,label:l.group_name},{default:o(()=>[(u(!0),m(S,null,Ye(l.channels,M=>(u(),b(x,{key:M.channel_code,label:M.channel_name,value:M.channel_code},null,8,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),r("div",gl,[e[21]||(e[21]=r("span",{class:"lbl"},"展示部门",-1)),W((u(),m("div",hl,[n(y,{modelValue:O.value,"onUpdate:modelValue":e[4]||(e[4]=l=>O.value=l),data:Ae.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:Ge},null,8,["modelValue","data"])])),[[A,ie.value]])]),r("div",bl,[n(C,{type:"primary",class:"filter-btn filter-btn--query",loading:R.value,onClick:N},{default:o(()=>[n(D,{class:"filter-btn__icon"},{default:o(()=>[n(U(Bt))]),_:1}),e[22]||(e[22]=s(" 查询 ",-1))]),_:1},8,["loading"]),n(C,{class:"filter-btn filter-btn--reset",disabled:R.value,onClick:it},{default:o(()=>[n(D,{class:"filter-btn__icon"},{default:o(()=>[n(U(It))]),_:1}),e[23]||(e[23]=s(" 重置 ",-1))]),_:1},8,["disabled"])])])])]),_:1}),n(ct,{type:"info",closable:!1,"show-icon":"",class:"cs-alert"},{title:o(()=>[...e[24]||(e[24]=[r("span",{class:"cs-alert__title"},"统计口径",-1)])]),default:o(()=>[r("div",wl,[c.rule_note?(u(),m("p",yl,_(c.rule_note),1)):(u(),m("p",kl,[...e[25]||(e[25]=[s(" 请选择结算月并设置",-1),r("strong",null,"订单创建时间范围",-1),s("(与处方订单列表 URL 参数 ",-1),r("code",null,"start_time",-1),s("/",-1),r("code",null,"end_time",-1),s("/",-1),r("code",null,"fulfillment_status",-1),s(" 一致);切换结算月会自动带出",-1),r("strong",null,"上一自然月整段",-1),s("作为默认时段,可按业务修改(例如 2026-04-02~04-30)。 「仅系统代开处方」勾选后与列表在未限制开方类型时的条数会不一致。 ",-1)])])),c.cutoff_end?(u(),m("p",xl,[e[30]||(e[30]=s(" 当前结算月:",-1)),r("strong",null,_(c.settlement_month),1),e[31]||(e[31]=s(" · 订单时间:",-1)),r("strong",null,_(K.value),1),e[32]||(e[32]=s(" · 履约状态:",-1)),r("strong",null,_(c.fulfillment_status??3),1),e[33]||(e[33]=s(" · 截止时刻:",-1)),r("strong",null,_(c.cutoff_end),1),c.channel_name?(u(),m(S,{key:0},[e[26]||(e[26]=s(" · 渠道:",-1)),r("strong",null,_(c.channel_name),1)],64)):v("",!0),c.settlement_month?(u(),m(S,{key:1},[e[29]||(e[29]=s(" · 处方池:",-1)),r("strong",null,_(c.require_system_auto_prescription?"仅系统代开":"含手动与系统"),1),c.explicit_order_time_window?(u(),m(S,{key:0},[e[27]||(e[27]=s(" · 列表对齐:",-1)),e[28]||(e[28]=r("strong",null,"是",-1))],64)):v("",!0)],64)):v("",!0)])):v("",!0)])]),_:1}),n(z,{class:"cs-panel cs-reconcile-card",shadow:"never"},{default:o(()=>{var l,M,Ue;return[r("div",Cl,[r("div",Sl,[r("div",Vl,[F.value?(u(),b(V,{key:0,type:"success",effect:"dark"},{default:o(()=>[...e[34]||(e[34]=[s("已确定业绩",-1)])]),_:1})):((l=E.value)==null?void 0:l.status)===2?(u(),b(V,{key:1,type:"warning",effect:"plain"},{default:o(()=>[...e[35]||(e[35]=[s("已撤回确定",-1)])]),_:1})):(u(),b(V,{key:2,type:"info",effect:"plain"},{default:o(()=>[...e[36]||(e[36]=[s("待确定业绩",-1)])]),_:1})),F.value&&((M=E.value)!=null&&M.confirmed_at_text)?(u(),m("span",Ol,_(E.value.confirmed_admin_name||"—")+" · "+_(E.value.confirmed_at_text),1)):((Ue=E.value)==null?void 0:Ue.status)===2&&E.value.revoked_at_text?(u(),m("span",El," 撤回:"+_(E.value.revoked_admin_name||"—")+" · "+_(E.value.revoked_at_text),1)):v("",!0)]),r("div",Nl,[n(C,{type:"primary",plain:"",onClick:at},{default:o(()=>[...e[37]||(e[37]=[s("业绩明细核对",-1)])]),_:1}),n(C,{disabled:F.value||_e.value,onClick:ot},{default:o(()=>[...e[38]||(e[38]=[s(" 保存核对备注 ",-1)])]),_:1},8,["disabled"]),n(C,{type:"warning",disabled:F.value||ce.value,onClick:st},{default:o(()=>[...e[39]||(e[39]=[s(" 确定本期业绩 ",-1)])]),_:1},8,["disabled"]),F.value?(u(),b(C,{key:0,type:"danger",plain:"",loading:pe.value,onClick:rt},{default:o(()=>[...e[40]||(e[40]=[s(" 撤回确定 ",-1)])]),_:1},8,["loading"])):v("",!0)])]),n(pt,{modelValue:J.value,"onUpdate:modelValue":e[5]||(e[5]=vt=>J.value=vt),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"核对备注(可与财务线下对齐后填写;确定业绩前可反复保存)",disabled:F.value,class:"cs-reconcile__note"},null,8,["modelValue","disabled"]),Number(I.value.carry_in_order_count)>0?(u(),m("p",Dl,[e[41]||(e[41]=s(" 上期顺延汇入本期:",-1)),r("strong",null,_(I.value.carry_in_order_count),1),e[42]||(e[42]=s(" 单(已并入当前汇总) ",-1))])):v("",!0)])]}),_:1}),n(z,{class:"cs-panel cs-summary-card",shadow:"never"},{default:o(()=>[n(ft,{modelValue:Oe.value,"onUpdate:modelValue":e[6]||(e[6]=l=>Oe.value=l),class:"cs-summary-tabs"},{default:o(()=>[n(ye,{label:"部门汇总",name:"dept"},{default:o(()=>[r("div",zl,[r("div",Ml,[e[43]||(e[43]=r("span",{class:"cs-table-head__title"},"部门汇总",-1)),ee.value?(u(),m("div",$l,[n(V,{size:"small",type:"info",effect:"plain",class:"cs-drill-state__tag"},{default:o(()=>[s(" 当前下钻:"+_(ee.value.path||ee.value.name),1)]),_:1}),n(C,{link:"",type:"primary",class:"cs-drill-state__back",onClick:Ze},{default:o(()=>[n(D,null,{default:o(()=>[n(U(Pt))]),_:1}),s(" "+_(Qe.value),1)]),_:1})])):v("",!0)]),e[44]||(e[44]=r("span",{class:"cs-table-head__hint"},[s(" 金额单位:元;与业绩看板相同的部门摊列规则(业绩归属医助 → 展示「中心」)。 "),r("strong",null,"点击部门"),s(":若有子部门则下钻一层;末级部门弹出「已完成业绩订单」明细。 ")],-1))]),W((u(),b(le,{data:ue.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--clickable","show-summary":"","summary-method":_t},{default:o(()=>[n(d,{prop:"dept_name",label:"部门","min-width":"220",fixed:""},{default:o(({row:l})=>[l.dept_id>0?(u(),b(mt,{key:0,type:"primary",underline:!1,class:"cs-dept-link",onClick:M=>Je(l)},{default:o(()=>[r("span",Tl,_(l.dept_name),1),n(D,{class:"cs-dept-link__icon"},{default:o(()=>[ze(l.dept_id)?(u(),b(U(Yt),{key:0})):(u(),b(U(qt),{key:1}))]),_:2},1024)]),_:2},1032,["onClick"])):(u(),m("span",Rl,_(l.dept_name),1))]),_:1}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:l})=>[s(_(k(l.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.deferred_period_amount)),1)]),_:1})]),_:1},8,["data"])),[[A,R.value]])]),_:1}),n(ye,{label:"按医助下发",name:"assistant"},{default:o(()=>[e[45]||(e[45]=r("div",{class:"cs-table-head"},[r("span",{class:"cs-table-head__title"},"业绩归属医助 × 挂号渠道"),r("span",{class:"cs-table-head__hint"},[s(" 按诊单业绩归属医助 "),r("strong",null,"×"),s(" 挂号渠道(doctor_appointment.channels)拆分到行; "),r("strong",null,"「复诊2」「复诊3」「自媒体1」等保持各自独立"),s(",未关联挂号统一归到「未匹配挂号渠道」。 同一医助多行"),r("strong",null,"自动合并「医助 / 归属中心」单元格"),s(",「顺延汇入」为上期结转进入本期订单池的单数。 "),r("strong",null,"展示部门"),s("有勾选时,本表仅列出"),r("strong",null,"可归入该部门上下文"),s("的业绩医助(与人事部门落在所选部门范围内的账号一致)。 "),r("strong",null,"点击挂号渠道"),s(":查看该行对应的业务订单明细(与上方部门筛选一致)。 ")])],-1)),W((u(),b(le,{data:oe.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":U(dt)},{default:o(()=>[n(d,{prop:"assistant_name",label:"医助","min-width":"120",fixed:"","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属中心","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"appt_channel_name",label:"挂号渠道","min-width":"120","show-overflow-tooltip":""},{default:o(({row:l})=>[n(V,{size:"small",class:qe(["cs-channel-tag cs-channel-tag--clickable",Te(l.appt_channel_name)]),effect:"plain",onClick:Ie(M=>Ke(l),["stop"])},{default:o(()=>[s(_(l.appt_channel_name),1)]),_:2},1032,["class","onClick"])]),_:1}),n(d,{prop:"carry_in_order_count",label:"顺延汇入单数","min-width":"112",align:"right"}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:l})=>[s(_(k(l.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.deferred_period_amount)),1)]),_:1})]),_:1},8,["data","span-method"])),[[A,R.value]])]),_:1}),n(ye,{label:"按医生下发",name:"doctor"},{default:o(()=>[e[46]||(e[46]=r("div",{class:"cs-table-head"},[r("span",{class:"cs-table-head__title"},"处方开方医生 × 挂号渠道"),r("span",{class:"cs-table-head__hint"},[s(" 按处方创建账号(开方人) "),r("strong",null,"×"),s(" 挂号渠道拆分; 可与医助维度交叉核对;同一医生多行自动合并「医生 / 归属中心」单元格。 "),r("strong",null,"展示部门"),s("有勾选时,与医助表相同,仅统计"),r("strong",null,"该部门上下文内"),s("订单对应的开方医生。 "),r("strong",null,"点击挂号渠道"),s(":查看该行对应的业务订单明细。 ")])],-1)),W((u(),b(le,{data:se.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":U(ut)},{default:o(()=>[n(d,{prop:"doctor_name",label:"医生","min-width":"120",fixed:"","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属中心","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"appt_channel_name",label:"挂号渠道","min-width":"120","show-overflow-tooltip":""},{default:o(({row:l})=>[n(V,{size:"small",class:qe(["cs-channel-tag cs-channel-tag--clickable",Te(l.appt_channel_name)]),effect:"plain",onClick:Ie(M=>et(l),["stop"])},{default:o(()=>[s(_(l.appt_channel_name),1)]),_:2},1032,["class","onClick"])]),_:1}),n(d,{prop:"carry_in_order_count",label:"顺延汇入单数","min-width":"112",align:"right"}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:l})=>[s(_(k(l.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:l})=>[s(_(k(l.deferred_period_amount)),1)]),_:1})]),_:1},8,["data","span-method"])),[[A,R.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(Le,{modelValue:me.value,"onUpdate:modelValue":e[9]||(e[9]=l=>me.value=l),title:"业绩明细核对",width:"1280px","destroy-on-close":"",class:"cs-dialog",onOpen:nt},{default:o(()=>[r("div",Fl,[n(Re,{modelValue:P.value,"onUpdate:modelValue":e[7]||(e[7]=l=>P.value=l),size:"small",onChange:e[8]||(e[8]=l=>we(1))},{default:o(()=>[n(H,{label:"all"},{default:o(()=>[...e[47]||(e[47]=[s("全部",-1)])]),_:1}),n(H,{label:"current"},{default:o(()=>[...e[48]||(e[48]=[s("本期提成",-1)])]),_:1}),n(H,{label:"deferred"},{default:o(()=>[...e[49]||(e[49]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"])]),W((u(),b(le,{data:ve.value,border:"",stripe:"",size:"small","max-height":"440"},{default:o(()=>[n(d,{prop:"order_no",label:"业务订单号","min-width":"128","show-overflow-tooltip":""}),n(d,{label:"患者","min-width":"112","show-overflow-tooltip":""},{default:o(({row:l})=>[r("div",Ll,[r("span",Ul,_(l.patient_name||"—"),1),l.patient_phone||l.patient_gender_text?(u(),m("span",Bl,[l.patient_gender_text?(u(),m(S,{key:0},[s(_(l.patient_gender_text),1)],64)):v("",!0),l.patient_gender_text&&l.patient_phone?(u(),m(S,{key:1},[s(" · ")],64)):v("",!0),l.patient_phone?(u(),m(S,{key:2},[s(_(l.patient_phone),1)],64)):v("",!0)])):v("",!0)])]),_:1}),n(d,{label:"快递单号","min-width":"132","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.tracking_number||"—"),1)]),_:1}),n(d,{label:"挂号日期","min-width":"124","show-overflow-tooltip":""},{default:o(({row:l})=>[r("span",null,_(l.appointment_date_text||"—"),1),l.appointment_status&&Number(l.appointment_status)!==3?(u(),b(V,{key:0,class:"cs-tag-appt-muted",type:"info",size:"small",effect:"plain"},{default:o(()=>[...e[50]||(e[50]=[s("未完结挂号",-1)])]),_:1})):v("",!0)]),_:1}),n(d,{label:"挂号渠道","min-width":"124","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.appt_channel_name||"—"),1)]),_:1}),n(d,{prop:"assistant_name",label:"业绩医助","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"doctor_name",label:"开方医生","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属部门","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"amount",label:"金额",width:"108",align:"right"},{default:o(({row:l})=>[s(_(k(l.amount)),1)]),_:1}),n(d,{label:"分段",width:"88",align:"center"},{default:o(({row:l})=>[l.bucket==="current"?(u(),b(V,{key:0,type:"success",size:"small"},{default:o(()=>[...e[51]||(e[51]=[s("本期",-1)])]),_:1})):(u(),b(V,{key:1,type:"warning",size:"small"},{default:o(()=>[...e[52]||(e[52]=[s("顺延",-1)])]),_:1}))]),_:1}),n(d,{label:"结转",width:"72",align:"center"},{default:o(({row:l})=>[l.is_carry_in?(u(),m("span",Il,"是")):(u(),m("span",Pl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:l})=>[l.bucket==="deferred"&&l.bucket_defer_text?(u(),m("span",Yl,_(l.bucket_defer_text),1)):(u(),m("span",ql,"—"))]),_:1}),n(d,{label:"物流签收","min-width":"152","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.sign_time_text||"—"),1)]),_:1}),n(d,{prop:"pay_time_text",label:"尾款支付","min-width":"152","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.pay_time_text||"—"),1)]),_:1}),n(d,{prop:"create_time_text",label:"订单创建",width:"152"})]),_:1},8,["data"])),[[A,fe.value]]),r("div",Gl,[n(Fe,{layout:"total, prev, pager, next",total:ge.value,"page-size":Ne.value,"current-page":Ee.value,onCurrentChange:we},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue"]),n(Le,{modelValue:Z.value,"onUpdate:modelValue":e[12]||(e[12]=l=>Z.value=l),title:We.value,width:"1280px","destroy-on-close":"",class:"cs-dialog"},{default:o(()=>[r("div",Hl,[n(Re,{modelValue:$.value,"onUpdate:modelValue":e[10]||(e[10]=l=>$.value=l),size:"small",onChange:e[11]||(e[11]=l=>te(1))},{default:o(()=>[n(H,{label:"all"},{default:o(()=>[...e[53]||(e[53]=[s("全部已完成",-1)])]),_:1}),n(H,{label:"current"},{default:o(()=>[...e[54]||(e[54]=[s("本期提成",-1)])]),_:1}),n(H,{label:"deferred"},{default:o(()=>[...e[55]||(e[55]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"]),r("span",Al,[e[58]||(e[58]=s(" 结算月:",-1)),r("strong",null,_(c.settlement_month||h.value),1),K.value&&K.value!=="—"?(u(),m(S,{key:0},[e[56]||(e[56]=s(" · 订单创建:",-1)),r("strong",null,_(K.value),1)],64)):v("",!0),c.channel_name?(u(),m(S,{key:1},[e[57]||(e[57]=s(" · 渠道:",-1)),r("strong",null,_(c.channel_name),1)],64)):v("",!0)])]),W((u(),b(le,{data:q.value,border:"",stripe:"",size:"small","max-height":"440"},{default:o(()=>[n(d,{prop:"order_no",label:"业务订单号","min-width":"128","show-overflow-tooltip":""}),n(d,{label:"患者","min-width":"112","show-overflow-tooltip":""},{default:o(({row:l})=>[r("div",Wl,[r("span",jl,_(l.patient_name||"—"),1),l.patient_phone||l.patient_gender_text?(u(),m("span",Ql,[l.patient_gender_text?(u(),m(S,{key:0},[s(_(l.patient_gender_text),1)],64)):v("",!0),l.patient_gender_text&&l.patient_phone?(u(),m(S,{key:1},[s(" · ")],64)):v("",!0),l.patient_phone?(u(),m(S,{key:2},[s(_(l.patient_phone),1)],64)):v("",!0)])):v("",!0)])]),_:1}),n(d,{label:"快递单号","min-width":"132","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.tracking_number||"—"),1)]),_:1}),n(d,{label:"挂号日期","min-width":"124","show-overflow-tooltip":""},{default:o(({row:l})=>[r("span",null,_(l.appointment_date_text||"—"),1),l.appointment_status&&Number(l.appointment_status)!==3?(u(),b(V,{key:0,class:"cs-tag-appt-muted",type:"info",size:"small",effect:"plain"},{default:o(()=>[...e[59]||(e[59]=[s("未完结挂号",-1)])]),_:1})):v("",!0)]),_:1}),n(d,{label:"挂号渠道","min-width":"124","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.appt_channel_name||"—"),1)]),_:1}),n(d,{prop:"assistant_name",label:"业绩医助","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"doctor_name",label:"开方医生","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属部门","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"amount",label:"金额",width:"108",align:"right"},{default:o(({row:l})=>[s(_(k(l.amount)),1)]),_:1}),n(d,{label:"分段",width:"88",align:"center"},{default:o(({row:l})=>[l.bucket==="current"?(u(),b(V,{key:0,type:"success",size:"small"},{default:o(()=>[...e[60]||(e[60]=[s("本期",-1)])]),_:1})):(u(),b(V,{key:1,type:"warning",size:"small"},{default:o(()=>[...e[61]||(e[61]=[s("顺延",-1)])]),_:1}))]),_:1}),n(d,{label:"结转",width:"72",align:"center"},{default:o(({row:l})=>[l.is_carry_in?(u(),m("span",Jl,"是")):(u(),m("span",Zl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:l})=>[l.bucket==="deferred"&&l.bucket_defer_text?(u(),m("span",Xl,_(l.bucket_defer_text),1)):(u(),m("span",Kl,"—"))]),_:1}),n(d,{label:"物流签收","min-width":"152","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.sign_time_text||"—"),1)]),_:1}),n(d,{prop:"pay_time_text",label:"尾款支付","min-width":"152","show-overflow-tooltip":""},{default:o(({row:l})=>[s(_(l.pay_time_text||"—"),1)]),_:1}),n(d,{prop:"create_time_text",label:"订单创建",width:"152"})]),_:1},8,["data"])),[[A,he.value]]),r("div",ea,[n(Fe,{layout:"total, prev, pager, next",total:G.value,"page-size":De.value,"current-page":X.value,onCurrentChange:te},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue","title"])])}}}),Pa=tl(ta,[["__scopeId","data-v-14e5732a"]]);export{Pa as default}; diff --git a/server/public/admin/assets/config-BcjsSE7D.js b/server/public/admin/assets/config-CybBa6W7.js similarity index 94% rename from server/public/admin/assets/config-BcjsSE7D.js rename to server/public/admin/assets/config-CybBa6W7.js index e212cc2f0..e8e1521f9 100644 --- a/server/public/admin/assets/config-BcjsSE7D.js +++ b/server/public/admin/assets/config-CybBa6W7.js @@ -1 +1 @@ -import{_ as q}from"./index-D6hiZISU.js";import{L as R,K as j,B,C as T,i as J,G as N,J as O,D as G}from"./element-plus-DGP1XOrU.js";import{_ as K}from"./picker-C0hwSppU.js";import{g as L,s as F}from"./wx_oa-BuVhGwqh.js";import{e as z}from"./index-fRv3NTFQ.js";import{f as x,as as c,ak as m,I as M,a as o,aN as i,J as l,aP as f,G as v,O as r}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,r as P,q as Z}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const H={class:"w-80"},Q={class:"w-80"},W={class:"w-80"},X={class:"w-80"},Y={class:"flex-1 min-w-0"},$={class:"sm:flex"},h={class:"mr-4 sm:w-80 flex"},ee={class:"flex-1 min-w-0"},oe={class:"w-80"},le={class:"flex-1 min-w-0"},te={class:"w-80"},se={class:"flex-1 min-w-0"},ie={class:"flex-1 min-w-0"},de={class:"sm:flex"},ne={class:"mr-4 sm:w-80 flex"},ae={class:"flex-1 min-w-0"},re={class:"sm:flex"},me={class:"mr-4 sm:w-80 flex"},pe={class:"flex-1 min-w-0"},ue={class:"sm:flex"},_e={class:"mr-4 sm:w-80 flex"},fe=x({name:"wxOaConfig"}),Vo=x({...fe,setup(ve){const y=z(),t=P({name:"",original_id:" ",qr_code:"",app_id:"",app_secret:"",url:"",token:"",encoding_aes_key:"",encryption_type:1,business_domain:"",js_secure_domain:"",web_auth_domain:""}),w=Z(),k={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},g=async()=>{const p=await L();for(const e in t)t[e]=p[e]},U=async()=>{var p;await((p=w.value)==null?void 0:p.validate()),await F(t),g()};return g(),(p,e)=>{const A=R,u=j,a=T,n=B,E=K,_=J,V=O,D=N,S=G,I=q,b=c("copy"),C=c("perms");return m(),M("div",null,[o(u,{class:"!border-none",shadow:"never"},{default:i(()=>[o(A,{type:"warning",title:"温馨提示:填写微信公众号开发配置,请前往微信公众平台申请服务号并完成认证",closable:!1,"show-icon":""})]),_:1}),o(S,{ref_key:"formRef",ref:w,model:s(t),rules:k,"label-width":s(y).isMobile?"80px":"160px"},{default:i(()=>[o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[13]||(e[13]=l("div",{class:"font-medium mb-7"},"微信公众号",-1)),o(n,{label:"公众号名称",prop:"name"},{default:i(()=>[l("div",H,[o(a,{modelValue:s(t).name,"onUpdate:modelValue":e[0]||(e[0]=d=>s(t).name=d),placeholder:"请输入公众号名称"},null,8,["modelValue"])])]),_:1}),o(n,{label:"原始ID",prop:"original_id"},{default:i(()=>[l("div",Q,[o(a,{modelValue:s(t).original_id,"onUpdate:modelValue":e[1]||(e[1]=d=>s(t).original_id=d),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),o(n,{label:"公众号二维码",prop:"qr_code"},{default:i(()=>[l("div",null,[l("div",null,[o(E,{modelValue:s(t).qr_code,"onUpdate:modelValue":e[2]||(e[2]=d=>s(t).qr_code=d),limit:1},null,8,["modelValue"])]),e[12]||(e[12]=l("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[15]||(e[15]=l("div",{class:"font-medium mb-7"},"公众号开发者信息",-1)),o(n,{label:"AppID",prop:"app_id"},{default:i(()=>[l("div",W,[o(a,{modelValue:s(t).app_id,"onUpdate:modelValue":e[3]||(e[3]=d=>s(t).app_id=d),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),o(n,{label:"AppSecret",prop:"app_secret"},{default:i(()=>[l("div",X,[o(a,{modelValue:s(t).app_secret,"onUpdate:modelValue":e[4]||(e[4]=d=>s(t).app_secret=d),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),o(n,null,{default:i(()=>[...e[14]||(e[14]=[l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[23]||(e[23]=l("div",{class:"font-medium mb-7"},"服务器配置",-1)),o(n,{label:"URL"},{default:i(()=>[l("div",Y,[l("div",$,[l("div",h,[o(a,{modelValue:s(t).url,"onUpdate:modelValue":e[5]||(e[5]=d=>s(t).url=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[16]||(e[16]=[r("复制",-1)])]),_:1})),[[b,s(t).url]])]),e[17]||(e[17]=l("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,填写服务器地址(URL) ",-1))])]),_:1}),o(n,{label:"Token",prop:"Token"},{default:i(()=>[l("div",ee,[l("div",oe,[o(a,{modelValue:s(t).token,"onUpdate:modelValue":e[6]||(e[6]=d=>s(t).token=d),placeholder:"请输入Token"},null,8,["modelValue"])]),e[18]||(e[18]=l("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,设置令牌Token。不填默认为“likeshop” ",-1))])]),_:1}),o(n,{label:"EncodingAESKey",prop:"encoding_aes_key"},{default:i(()=>[l("div",le,[l("div",te,[o(a,{modelValue:s(t).encoding_aes_key,"onUpdate:modelValue":e[7]||(e[7]=d=>s(t).encoding_aes_key=d),placeholder:"请输入EncodingAESKey"},null,8,["modelValue"])]),e[19]||(e[19]=l("div",{class:"form-tips"}," 消息加密密钥由43位字符组成,字符范围为A-Z,a-z,0-9 ",-1))])]),_:1}),o(n,{label:"消息加密方式",required:"",prop:"encryption_type"},{default:i(()=>[l("div",se,[o(D,{class:"flex-col !items-start min-w-0",modelValue:s(t).encryption_type,"onUpdate:modelValue":e[8]||(e[8]=d=>s(t).encryption_type=d)},{default:i(()=>[o(V,{value:1},{default:i(()=>[...e[20]||(e[20]=[r(" 明文模式 (不使用消息体加解密功能,安全系数较低) ",-1)])]),_:1}),o(V,{value:2},{default:i(()=>[...e[21]||(e[21]=[r(" 兼容模式 (明文、密文将共存,方便开发者调试和维护) ",-1)])]),_:1}),o(V,{value:3},{default:i(()=>[...e[22]||(e[22]=[r(" 安全模式(推荐) (消息包为纯密文,需要开发者加密和解密,安全系数高) ",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[30]||(e[30]=l("div",{class:"font-medium mb-7"},"功能设置",-1)),o(n,{label:"业务域名"},{default:i(()=>[l("div",ie,[l("div",de,[l("div",ne,[o(a,{modelValue:s(t).business_domain,"onUpdate:modelValue":e[9]||(e[9]=d=>s(t).business_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[24]||(e[24]=[r("复制",-1)])]),_:1})),[[b,s(t).business_domain]])]),e[25]||(e[25]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写业务域名 ",-1))])]),_:1}),o(n,{label:"JS接口安全域名"},{default:i(()=>[l("div",ae,[l("div",re,[l("div",me,[o(a,{modelValue:s(t).js_secure_domain,"onUpdate:modelValue":e[10]||(e[10]=d=>s(t).js_secure_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[26]||(e[26]=[r("复制",-1)])]),_:1})),[[b,s(t).js_secure_domain]])]),e[27]||(e[27]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写JS接口安全域名 ",-1))])]),_:1}),o(n,{label:"网页授权域名"},{default:i(()=>[l("div",pe,[l("div",ue,[l("div",_e,[o(a,{modelValue:s(t).web_auth_domain,"onUpdate:modelValue":e[11]||(e[11]=d=>s(t).web_auth_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[28]||(e[28]=[r("复制",-1)])]),_:1})),[[b,s(t).web_auth_domain]])]),e[29]||(e[29]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写网页授权域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),f((m(),v(I,null,{default:i(()=>[o(_,{type:"primary",onClick:U},{default:i(()=>[...e[31]||(e[31]=[r("保存",-1)])]),_:1})]),_:1})),[[C,["channel.official_account_setting/setConfig"]]])])}}});export{Vo as default}; +import{_ as q}from"./index-UGD9wxNK.js";import{L as R,K as j,B,C as T,i as J,G as N,J as O,D as G}from"./element-plus-DGP1XOrU.js";import{_ as K}from"./picker-lbwHqE-a.js";import{g as L,s as F}from"./wx_oa-Bi2y5vRS.js";import{e as z}from"./index-J_eFER10.js";import{f as x,as as c,ak as m,I as M,a as o,aN as i,J as l,aP as f,G as v,O as r}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,r as P,q as Z}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const H={class:"w-80"},Q={class:"w-80"},W={class:"w-80"},X={class:"w-80"},Y={class:"flex-1 min-w-0"},$={class:"sm:flex"},h={class:"mr-4 sm:w-80 flex"},ee={class:"flex-1 min-w-0"},oe={class:"w-80"},le={class:"flex-1 min-w-0"},te={class:"w-80"},se={class:"flex-1 min-w-0"},ie={class:"flex-1 min-w-0"},de={class:"sm:flex"},ne={class:"mr-4 sm:w-80 flex"},ae={class:"flex-1 min-w-0"},re={class:"sm:flex"},me={class:"mr-4 sm:w-80 flex"},pe={class:"flex-1 min-w-0"},ue={class:"sm:flex"},_e={class:"mr-4 sm:w-80 flex"},fe=x({name:"wxOaConfig"}),Vo=x({...fe,setup(ve){const y=z(),t=P({name:"",original_id:" ",qr_code:"",app_id:"",app_secret:"",url:"",token:"",encoding_aes_key:"",encryption_type:1,business_domain:"",js_secure_domain:"",web_auth_domain:""}),w=Z(),k={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},g=async()=>{const p=await L();for(const e in t)t[e]=p[e]},U=async()=>{var p;await((p=w.value)==null?void 0:p.validate()),await F(t),g()};return g(),(p,e)=>{const A=R,u=j,a=T,n=B,E=K,_=J,V=O,D=N,S=G,I=q,b=c("copy"),C=c("perms");return m(),M("div",null,[o(u,{class:"!border-none",shadow:"never"},{default:i(()=>[o(A,{type:"warning",title:"温馨提示:填写微信公众号开发配置,请前往微信公众平台申请服务号并完成认证",closable:!1,"show-icon":""})]),_:1}),o(S,{ref_key:"formRef",ref:w,model:s(t),rules:k,"label-width":s(y).isMobile?"80px":"160px"},{default:i(()=>[o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[13]||(e[13]=l("div",{class:"font-medium mb-7"},"微信公众号",-1)),o(n,{label:"公众号名称",prop:"name"},{default:i(()=>[l("div",H,[o(a,{modelValue:s(t).name,"onUpdate:modelValue":e[0]||(e[0]=d=>s(t).name=d),placeholder:"请输入公众号名称"},null,8,["modelValue"])])]),_:1}),o(n,{label:"原始ID",prop:"original_id"},{default:i(()=>[l("div",Q,[o(a,{modelValue:s(t).original_id,"onUpdate:modelValue":e[1]||(e[1]=d=>s(t).original_id=d),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),o(n,{label:"公众号二维码",prop:"qr_code"},{default:i(()=>[l("div",null,[l("div",null,[o(E,{modelValue:s(t).qr_code,"onUpdate:modelValue":e[2]||(e[2]=d=>s(t).qr_code=d),limit:1},null,8,["modelValue"])]),e[12]||(e[12]=l("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[15]||(e[15]=l("div",{class:"font-medium mb-7"},"公众号开发者信息",-1)),o(n,{label:"AppID",prop:"app_id"},{default:i(()=>[l("div",W,[o(a,{modelValue:s(t).app_id,"onUpdate:modelValue":e[3]||(e[3]=d=>s(t).app_id=d),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),o(n,{label:"AppSecret",prop:"app_secret"},{default:i(()=>[l("div",X,[o(a,{modelValue:s(t).app_secret,"onUpdate:modelValue":e[4]||(e[4]=d=>s(t).app_secret=d),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),o(n,null,{default:i(()=>[...e[14]||(e[14]=[l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[23]||(e[23]=l("div",{class:"font-medium mb-7"},"服务器配置",-1)),o(n,{label:"URL"},{default:i(()=>[l("div",Y,[l("div",$,[l("div",h,[o(a,{modelValue:s(t).url,"onUpdate:modelValue":e[5]||(e[5]=d=>s(t).url=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[16]||(e[16]=[r("复制",-1)])]),_:1})),[[b,s(t).url]])]),e[17]||(e[17]=l("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,填写服务器地址(URL) ",-1))])]),_:1}),o(n,{label:"Token",prop:"Token"},{default:i(()=>[l("div",ee,[l("div",oe,[o(a,{modelValue:s(t).token,"onUpdate:modelValue":e[6]||(e[6]=d=>s(t).token=d),placeholder:"请输入Token"},null,8,["modelValue"])]),e[18]||(e[18]=l("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,设置令牌Token。不填默认为“likeshop” ",-1))])]),_:1}),o(n,{label:"EncodingAESKey",prop:"encoding_aes_key"},{default:i(()=>[l("div",le,[l("div",te,[o(a,{modelValue:s(t).encoding_aes_key,"onUpdate:modelValue":e[7]||(e[7]=d=>s(t).encoding_aes_key=d),placeholder:"请输入EncodingAESKey"},null,8,["modelValue"])]),e[19]||(e[19]=l("div",{class:"form-tips"}," 消息加密密钥由43位字符组成,字符范围为A-Z,a-z,0-9 ",-1))])]),_:1}),o(n,{label:"消息加密方式",required:"",prop:"encryption_type"},{default:i(()=>[l("div",se,[o(D,{class:"flex-col !items-start min-w-0",modelValue:s(t).encryption_type,"onUpdate:modelValue":e[8]||(e[8]=d=>s(t).encryption_type=d)},{default:i(()=>[o(V,{value:1},{default:i(()=>[...e[20]||(e[20]=[r(" 明文模式 (不使用消息体加解密功能,安全系数较低) ",-1)])]),_:1}),o(V,{value:2},{default:i(()=>[...e[21]||(e[21]=[r(" 兼容模式 (明文、密文将共存,方便开发者调试和维护) ",-1)])]),_:1}),o(V,{value:3},{default:i(()=>[...e[22]||(e[22]=[r(" 安全模式(推荐) (消息包为纯密文,需要开发者加密和解密,安全系数高) ",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[30]||(e[30]=l("div",{class:"font-medium mb-7"},"功能设置",-1)),o(n,{label:"业务域名"},{default:i(()=>[l("div",ie,[l("div",de,[l("div",ne,[o(a,{modelValue:s(t).business_domain,"onUpdate:modelValue":e[9]||(e[9]=d=>s(t).business_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[24]||(e[24]=[r("复制",-1)])]),_:1})),[[b,s(t).business_domain]])]),e[25]||(e[25]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写业务域名 ",-1))])]),_:1}),o(n,{label:"JS接口安全域名"},{default:i(()=>[l("div",ae,[l("div",re,[l("div",me,[o(a,{modelValue:s(t).js_secure_domain,"onUpdate:modelValue":e[10]||(e[10]=d=>s(t).js_secure_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[26]||(e[26]=[r("复制",-1)])]),_:1})),[[b,s(t).js_secure_domain]])]),e[27]||(e[27]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写JS接口安全域名 ",-1))])]),_:1}),o(n,{label:"网页授权域名"},{default:i(()=>[l("div",pe,[l("div",ue,[l("div",_e,[o(a,{modelValue:s(t).web_auth_domain,"onUpdate:modelValue":e[11]||(e[11]=d=>s(t).web_auth_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[28]||(e[28]=[r("复制",-1)])]),_:1})),[[b,s(t).web_auth_domain]])]),e[29]||(e[29]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写网页授权域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),f((m(),v(I,null,{default:i(()=>[o(_,{type:"primary",onClick:U},{default:i(()=>[...e[31]||(e[31]=[r("保存",-1)])]),_:1})]),_:1})),[[C,["channel.official_account_setting/setConfig"]]])])}}});export{Vo as default}; diff --git a/server/public/admin/assets/consumer-CPi0_UIB.js b/server/public/admin/assets/consumer-csfCIN0w.js similarity index 81% rename from server/public/admin/assets/consumer-CPi0_UIB.js rename to server/public/admin/assets/consumer-csfCIN0w.js index 1029c1944..7756f9a58 100644 --- a/server/public/admin/assets/consumer-CPi0_UIB.js +++ b/server/public/admin/assets/consumer-csfCIN0w.js @@ -1 +1 @@ -import{r}from"./index-fRv3NTFQ.js";function u(e){return r.get({url:"/user.user/lists",params:e},{ignoreCancelToken:!0})}function s(e){return r.get({url:"/user.user/detail",params:e})}function n(e){return r.post({url:"/user.user/edit",params:e})}function o(e){return r.post({url:"/user.user/adjustMoney",params:e})}export{o as a,u as b,s as g,n as u}; +import{r}from"./index-J_eFER10.js";function u(e){return r.get({url:"/user.user/lists",params:e},{ignoreCancelToken:!0})}function s(e){return r.get({url:"/user.user/detail",params:e})}function n(e){return r.post({url:"/user.user/edit",params:e})}function o(e){return r.post({url:"/user.user/adjustMoney",params:e})}export{o as a,u as b,s as g,n as u}; diff --git a/server/public/admin/assets/content-Des7r1Cn.js b/server/public/admin/assets/content-BGq-Uuuc.js similarity index 90% rename from server/public/admin/assets/content-Des7r1Cn.js rename to server/public/admin/assets/content-BGq-Uuuc.js index a2a4b4b2b..371cecdfe 100644 --- a/server/public/admin/assets/content-Des7r1Cn.js +++ b/server/public/admin/assets/content-BGq-Uuuc.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-DdNcvOry.js";import"./decoration-img-63yHTKq5.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js";import"./decoration-img-cJ3sOJu-.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/content-CImZycXn.js b/server/public/admin/assets/content-BJiGIc_u.js similarity index 90% rename from server/public/admin/assets/content-CImZycXn.js rename to server/public/admin/assets/content-BJiGIc_u.js index 481277a06..37319fa0c 100644 --- a/server/public/admin/assets/content-CImZycXn.js +++ b/server/public/admin/assets/content-BJiGIc_u.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-CN32u1VP.js";import"./decoration-img-63yHTKq5.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js";import"./decoration-img-cJ3sOJu-.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/content-DNPcBCfo.js b/server/public/admin/assets/content-BzNveTg-.js similarity index 96% rename from server/public/admin/assets/content-DNPcBCfo.js rename to server/public/admin/assets/content-BzNveTg-.js index 79a80df85..a63f22659 100644 --- a/server/public/admin/assets/content-DNPcBCfo.js +++ b/server/public/admin/assets/content-BzNveTg-.js @@ -1 +1 @@ -import{_ as i,c as m}from"./index-fRv3NTFQ.js";import{ak as p,I as e,J as t,a as s}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={},a={class:"search"},n={class:"search-con flex items-center px-[15px]"};function _(d,o){const r=m;return p(),e("div",a,[t("div",n,[s(r,{name:"el-icon-Search",size:17}),o[0]||(o[0]=t("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])])}const W=i(c,[["render",_],["__scopeId","data-v-6fb29c10"]]);export{W as default}; +import{_ as i,c as m}from"./index-J_eFER10.js";import{ak as p,I as e,J as t,a as s}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={},a={class:"search"},n={class:"search-con flex items-center px-[15px]"};function _(d,o){const r=m;return p(),e("div",a,[t("div",n,[s(r,{name:"el-icon-Search",size:17}),o[0]||(o[0]=t("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])])}const W=i(c,[["render",_],["__scopeId","data-v-6fb29c10"]]);export{W as default}; diff --git a/server/public/admin/assets/content-8Zehp_Rk.js b/server/public/admin/assets/content-CC1w-xAd.js similarity index 95% rename from server/public/admin/assets/content-8Zehp_Rk.js rename to server/public/admin/assets/content-CC1w-xAd.js index b0d843a63..c744da9fb 100644 --- a/server/public/admin/assets/content-8Zehp_Rk.js +++ b/server/public/admin/assets/content-CC1w-xAd.js @@ -1 +1 @@ -import{c as y,_ as v}from"./index-fRv3NTFQ.js";import d from"./decoration-img-63yHTKq5.js";import{f as g,ak as t,I as e,J as i,H as m,F as x,ap as u,a as n,A as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as f}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const b={class:"my-service"},w={key:0,class:"title px-[15px] py-[10px]"},B={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},I={class:"mt-[7px]"},N={key:2},V={class:"ml-[10px] flex-1"},j=g({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const _=o,a=k(()=>{var s;return((s=_.content.data)==null?void 0:s.filter(l=>l.is_show=="1"))||[]});return(s,l)=>{const h=y;return t(),e("div",b,[o.content.title?(t(),e("div",w,[i("div",null,c(o.content.title),1)])):m("",!0),o.content.style==1?(t(),e("div",B,[(t(!0),e(x,null,u(f(a),(r,p)=>(t(),e("div",{key:p,class:"flex flex-col items-center w-1/4 mb-[15px]"},[n(d,{width:"26px",height:"26px",src:r.image,alt:""},null,8,["src"]),i("div",I,c(r.name),1)]))),128))])):m("",!0),o.content.style==2?(t(),e("div",N,[(t(!0),e(x,null,u(f(a),(r,p)=>(t(),e("div",{key:p,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[n(d,{width:"24px",height:"24px",src:r.image,alt:""},null,8,["src"]),i("div",V,c(r.name),1),i("div",null,[n(h,{name:"el-icon-ArrowRight"})])]))),128))])):m("",!0)])}}}),xt=v(j,[["__scopeId","data-v-e6ec8456"]]);export{xt as default}; +import{c as y,_ as v}from"./index-J_eFER10.js";import d from"./decoration-img-cJ3sOJu-.js";import{f as g,ak as t,I as e,J as i,H as m,F as x,ap as u,a as n,A as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as f}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const b={class:"my-service"},w={key:0,class:"title px-[15px] py-[10px]"},B={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},I={class:"mt-[7px]"},N={key:2},V={class:"ml-[10px] flex-1"},j=g({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const _=o,a=k(()=>{var s;return((s=_.content.data)==null?void 0:s.filter(l=>l.is_show=="1"))||[]});return(s,l)=>{const h=y;return t(),e("div",b,[o.content.title?(t(),e("div",w,[i("div",null,c(o.content.title),1)])):m("",!0),o.content.style==1?(t(),e("div",B,[(t(!0),e(x,null,u(f(a),(r,p)=>(t(),e("div",{key:p,class:"flex flex-col items-center w-1/4 mb-[15px]"},[n(d,{width:"26px",height:"26px",src:r.image,alt:""},null,8,["src"]),i("div",I,c(r.name),1)]))),128))])):m("",!0),o.content.style==2?(t(),e("div",N,[(t(!0),e(x,null,u(f(a),(r,p)=>(t(),e("div",{key:p,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[n(d,{width:"24px",height:"24px",src:r.image,alt:""},null,8,["src"]),i("div",V,c(r.name),1),i("div",null,[n(h,{name:"el-icon-ArrowRight"})])]))),128))])):m("",!0)])}}}),xt=v(j,[["__scopeId","data-v-e6ec8456"]]);export{xt as default}; diff --git a/server/public/admin/assets/content-BTqw4mI0.js b/server/public/admin/assets/content-CQZwJIUc.js similarity index 95% rename from server/public/admin/assets/content-BTqw4mI0.js rename to server/public/admin/assets/content-CQZwJIUc.js index 1a48048e6..b1f6bb647 100644 --- a/server/public/admin/assets/content-BTqw4mI0.js +++ b/server/public/admin/assets/content-CQZwJIUc.js @@ -1 +1 @@ -import{_ as t}from"./index-fRv3NTFQ.js";import{ak as o,I as r}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const m={},i={class:"page-mate"};function p(e,c){return o(),r("div",i)}const S=t(m,[["render",p]]);export{S as default}; +import{_ as t}from"./index-J_eFER10.js";import{ak as o,I as r}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const m={},i={class:"page-mate"};function p(e,c){return o(),r("div",i)}const S=t(m,[["render",p]]);export{S as default}; diff --git a/server/public/admin/assets/content-9uaH4o7Z.js b/server/public/admin/assets/content-CVZfwvS8.js similarity index 94% rename from server/public/admin/assets/content-9uaH4o7Z.js rename to server/public/admin/assets/content-CVZfwvS8.js index ed2bcd06c..3fc7f7c90 100644 --- a/server/public/admin/assets/content-9uaH4o7Z.js +++ b/server/public/admin/assets/content-CVZfwvS8.js @@ -1 +1 @@ -import{s as _}from"./element-plus-DGP1XOrU.js";import l from"./decoration-img-63yHTKq5.js";import{f,ak as r,I as e,a as p,aN as a,J as t,F as m,ap as c,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const y={class:"pc-aside absolute top-0 bottom-0 left-0 w-[150px]"},k={class:"h-full px-[10px] flex flex-col"},b={class:"mb-auto"},g={class:"nav"},w=["to"],C={class:"ml-[10px]"},N={class:"menu"},B={class:"ml-[6px] line-clamp-1"},E=f({__name:"content",props:{nav:{type:Array,default:()=>[]},menu:{type:Array,default:()=>[]}},setup(n){return(I,i)=>{const u=_;return r(),e("div",y,[p(u,null,{default:a(()=>[t("div",k,[t("div",b,[t("div",g,[(r(!0),e(m,null,c(n.nav,(o,s)=>(r(),e(m,{key:s},[o.is_show=="1"?(r(),e("div",{key:0,to:o.link.path,class:h(["nav-item",{active:s==0}])},[p(l,{width:"18px",height:"18px",src:s==0?o.selected:o.unselected,fit:"cover"},{error:a(()=>[...i[0]||(i[0]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("div",C,d(o.name),1)],10,w)):v("",!0)],64))),128))])]),t("div",null,[t("div",N,[(r(!0),e(m,null,c(n.menu,(o,s)=>(r(),e("div",{class:"menu-item",key:s},[p(l,{width:"16px",height:"16px",src:o.unselected,fit:"cover"},{error:a(()=>[...i[1]||(i[1]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("span",B,d(o.name),1)]))),128))])])])]),_:1})])}}}),ut=x(E,[["__scopeId","data-v-751ecec2"]]);export{ut as default}; +import{s as _}from"./element-plus-DGP1XOrU.js";import l from"./decoration-img-cJ3sOJu-.js";import{f,ak as r,I as e,a as p,aN as a,J as t,F as m,ap as c,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const y={class:"pc-aside absolute top-0 bottom-0 left-0 w-[150px]"},k={class:"h-full px-[10px] flex flex-col"},b={class:"mb-auto"},g={class:"nav"},w=["to"],C={class:"ml-[10px]"},N={class:"menu"},B={class:"ml-[6px] line-clamp-1"},E=f({__name:"content",props:{nav:{type:Array,default:()=>[]},menu:{type:Array,default:()=>[]}},setup(n){return(I,i)=>{const u=_;return r(),e("div",y,[p(u,null,{default:a(()=>[t("div",k,[t("div",b,[t("div",g,[(r(!0),e(m,null,c(n.nav,(o,s)=>(r(),e(m,{key:s},[o.is_show=="1"?(r(),e("div",{key:0,to:o.link.path,class:h(["nav-item",{active:s==0}])},[p(l,{width:"18px",height:"18px",src:s==0?o.selected:o.unselected,fit:"cover"},{error:a(()=>[...i[0]||(i[0]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("div",C,d(o.name),1)],10,w)):v("",!0)],64))),128))])]),t("div",null,[t("div",N,[(r(!0),e(m,null,c(n.menu,(o,s)=>(r(),e("div",{class:"menu-item",key:s},[p(l,{width:"16px",height:"16px",src:o.unselected,fit:"cover"},{error:a(()=>[...i[1]||(i[1]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("span",B,d(o.name),1)]))),128))])])])]),_:1})])}}}),ut=x(E,[["__scopeId","data-v-751ecec2"]]);export{ut as default}; diff --git a/server/public/admin/assets/content-C12ui3Qz.js b/server/public/admin/assets/content-C_Os7VUy.js similarity index 93% rename from server/public/admin/assets/content-C12ui3Qz.js rename to server/public/admin/assets/content-C_Os7VUy.js index 3ece7edaf..d9761d7c2 100644 --- a/server/public/admin/assets/content-C12ui3Qz.js +++ b/server/public/admin/assets/content-C_Os7VUy.js @@ -1 +1 @@ -import c from"./decoration-img-63yHTKq5.js";import{f as n,ak as r,I as o,F as l,ap as f,a as d,J as u,A as _}from"./@vue/runtime-core-C6bnekPw.js";import{p as x,Q as y}from"./@vue/shared-mAAVTE9n.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{_ as b}from"./index-fRv3NTFQ.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const g={class:"tabbar flex"},v={class:"leading-3 text-[12px] mt-[4px]"},k=n({__name:"content",props:{style:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]}},setup(e){const m=e,s=_(()=>{var t;return((t=m.list)==null?void 0:t.filter(i=>i.is_show==1))||[]});return(t,i)=>(r(),o("div",g,[(r(!0),o(l,null,f(h(s),(p,a)=>(r(),o("div",{key:a,class:"tabbar-item flex flex-col justify-center items-center flex-1",style:x({color:e.style.default_color})},[d(c,{width:"22px",height:"22px",src:p.unselected,fit:"cover"},null,8,["src"]),u("div",v,y(p.name),1)],4))),128))]))}}),st=b(k,[["__scopeId","data-v-33d760f8"]]);export{st as default}; +import c from"./decoration-img-cJ3sOJu-.js";import{f as n,ak as r,I as o,F as l,ap as f,a as d,J as u,A as _}from"./@vue/runtime-core-C6bnekPw.js";import{p as x,Q as y}from"./@vue/shared-mAAVTE9n.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{_ as b}from"./index-J_eFER10.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const g={class:"tabbar flex"},v={class:"leading-3 text-[12px] mt-[4px]"},k=n({__name:"content",props:{style:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]}},setup(e){const m=e,s=_(()=>{var t;return((t=m.list)==null?void 0:t.filter(i=>i.is_show==1))||[]});return(t,i)=>(r(),o("div",g,[(r(!0),o(l,null,f(h(s),(p,a)=>(r(),o("div",{key:a,class:"tabbar-item flex flex-col justify-center items-center flex-1",style:x({color:e.style.default_color})},[d(c,{width:"22px",height:"22px",src:p.unselected,fit:"cover"},null,8,["src"]),u("div",v,y(p.name),1)],4))),128))]))}}),st=b(k,[["__scopeId","data-v-33d760f8"]]);export{st as default}; diff --git a/server/public/admin/assets/content-BKtyOCcY.js b/server/public/admin/assets/content-CjkrN-kA.js similarity index 95% rename from server/public/admin/assets/content-BKtyOCcY.js rename to server/public/admin/assets/content-CjkrN-kA.js index 3b17f7cec..40f07ba43 100644 --- a/server/public/admin/assets/content-BKtyOCcY.js +++ b/server/public/admin/assets/content-CjkrN-kA.js @@ -1 +1 @@ -import{c,_ as n}from"./index-fRv3NTFQ.js";import{g as l}from"./decoration-HusoyoI3.js";import{f as d,ak as o,I as s,J as t,F as _,ap as f,H as x,a as u}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as v,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const w={class:"news"},g={key:0,class:"mr-[10px]"},h=["src"],b={class:"flex flex-col justify-between flex-1"},k={class:"text-[15px] font-medium line-clamp-2"},j={class:"line-clamp-1 text-sm mt-[8px]"},D={class:"text-[#999] text-xs w-full flex justify-between mt-[8px]"},V={class:"flex items-center"},B={class:"ml-[5px]"},N=d({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(C){const r=y([]);return(async()=>{const p=await l({limit:10});r.value=p})(),(p,m)=>{const a=c;return o(),s("div",w,[m[0]||(m[0]=t("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," 最新资讯 ",-1)),(o(!0),s(_,null,f(v(r),e=>(o(),s("div",{key:e.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[e.image?(o(),s("div",g,[t("img",{src:e.image,class:"w-[120px] h-[90px] object-contain"},null,8,h)])):x("",!0),t("div",b,[t("div",k,i(e.title),1),t("div",j,i(e.desc),1),t("div",D,[t("div",null,i(e.create_time),1),t("div",V,[u(a,{name:"el-icon-View"}),t("div",B,i(e.click),1)])])])]))),128))])}}}),xt=n(N,[["__scopeId","data-v-ee8cfed9"]]);export{xt as default}; +import{c,_ as n}from"./index-J_eFER10.js";import{g as l}from"./decoration-BRUlzC1v.js";import{f as d,ak as o,I as s,J as t,F as _,ap as f,H as x,a as u}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as v,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const w={class:"news"},g={key:0,class:"mr-[10px]"},h=["src"],b={class:"flex flex-col justify-between flex-1"},k={class:"text-[15px] font-medium line-clamp-2"},j={class:"line-clamp-1 text-sm mt-[8px]"},D={class:"text-[#999] text-xs w-full flex justify-between mt-[8px]"},V={class:"flex items-center"},B={class:"ml-[5px]"},N=d({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(C){const r=y([]);return(async()=>{const p=await l({limit:10});r.value=p})(),(p,m)=>{const a=c;return o(),s("div",w,[m[0]||(m[0]=t("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," 最新资讯 ",-1)),(o(!0),s(_,null,f(v(r),e=>(o(),s("div",{key:e.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[e.image?(o(),s("div",g,[t("img",{src:e.image,class:"w-[120px] h-[90px] object-contain"},null,8,h)])):x("",!0),t("div",b,[t("div",k,i(e.title),1),t("div",j,i(e.desc),1),t("div",D,[t("div",null,i(e.create_time),1),t("div",V,[u(a,{name:"el-icon-View"}),t("div",B,i(e.click),1)])])])]))),128))])}}}),xt=n(N,[["__scopeId","data-v-ee8cfed9"]]);export{xt as default}; diff --git a/server/public/admin/assets/content-Dbr1CmpF.js b/server/public/admin/assets/content-CuE78Set.js similarity index 95% rename from server/public/admin/assets/content-Dbr1CmpF.js rename to server/public/admin/assets/content-CuE78Set.js index 451761e97..1b92154a3 100644 --- a/server/public/admin/assets/content-Dbr1CmpF.js +++ b/server/public/admin/assets/content-CuE78Set.js @@ -1 +1 @@ -import s from"./decoration-img-63yHTKq5.js";import{f as p,ak as r,I as m,J as e,a as c,H as n,O as a,F as l}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-fRv3NTFQ.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const d={class:"customer-service bg-white flex flex-col justify-center items-center mx-[18px] mt-[15px] rounded-[10px] px-[10px] pb-[50px]"},f={class:"w-full border-solid border-0 border-b border-[#f5f5f5] p-[15px] text-center text-[#101010] text-base font-medium"},u={class:"mt-[30px]"},b={key:0,class:"text-sm mt-[20px] font-medium"},h={key:1,class:"text-sm mt-[12px] flex flex-wrap"},w=["href"],v={key:2,class:"text-muted text-sm mt-[15px]"},y=p({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){return(k,o)=>(r(),m(l,null,[o[0]||(o[0]=e("view",{class:"bg-white p-[15px] flex text-[#101010] font-medium text-lg"}," 联系我们 ",-1)),e("view",d,[e("view",f,i(t.content.title),1),e("view",u,[c(s,{width:"100px",height:"100px",src:t.content.qrcode,alt:""},null,8,["src"])]),t.content.remark?(r(),m("view",b,i(t.content.remark),1)):n("",!0),t.content.mobile?(r(),m("view",h,[e("a",{class:"ml-[5px] phone text-primary underline",href:"tel:"+t.content.mobile},i(t.content.mobile),9,w)])):n("",!0),t.content.time?(r(),m("view",v," 服务时间:"+i(t.content.time),1)):n("",!0)]),o[1]||(o[1]=a(" Î ",-1))],64))}}),nt=x(y,[["__scopeId","data-v-7a551d8a"]]);export{nt as default}; +import s from"./decoration-img-cJ3sOJu-.js";import{f as p,ak as r,I as m,J as e,a as c,H as n,O as a,F as l}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-J_eFER10.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const d={class:"customer-service bg-white flex flex-col justify-center items-center mx-[18px] mt-[15px] rounded-[10px] px-[10px] pb-[50px]"},f={class:"w-full border-solid border-0 border-b border-[#f5f5f5] p-[15px] text-center text-[#101010] text-base font-medium"},u={class:"mt-[30px]"},b={key:0,class:"text-sm mt-[20px] font-medium"},h={key:1,class:"text-sm mt-[12px] flex flex-wrap"},w=["href"],v={key:2,class:"text-muted text-sm mt-[15px]"},y=p({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){return(k,o)=>(r(),m(l,null,[o[0]||(o[0]=e("view",{class:"bg-white p-[15px] flex text-[#101010] font-medium text-lg"}," 联系我们 ",-1)),e("view",d,[e("view",f,i(t.content.title),1),e("view",u,[c(s,{width:"100px",height:"100px",src:t.content.qrcode,alt:""},null,8,["src"])]),t.content.remark?(r(),m("view",b,i(t.content.remark),1)):n("",!0),t.content.mobile?(r(),m("view",h,[e("a",{class:"ml-[5px] phone text-primary underline",href:"tel:"+t.content.mobile},i(t.content.mobile),9,w)])):n("",!0),t.content.time?(r(),m("view",v," 服务时间:"+i(t.content.time),1)):n("",!0)]),o[1]||(o[1]=a(" Î ",-1))],64))}}),nt=x(y,[["__scopeId","data-v-7a551d8a"]]);export{nt as default}; diff --git a/server/public/admin/assets/content-D28o1htD.js b/server/public/admin/assets/content-DVKuEpqI.js similarity index 90% rename from server/public/admin/assets/content-D28o1htD.js rename to server/public/admin/assets/content-DVKuEpqI.js index 0bb0678ab..3141f974a 100644 --- a/server/public/admin/assets/content-D28o1htD.js +++ b/server/public/admin/assets/content-DVKuEpqI.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js";import"./decoration-img-63yHTKq5.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-DsMOey0g.js";import"./decoration-img-cJ3sOJu-.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/content-lVo8M4Zt.js b/server/public/admin/assets/content-DrZ0HxYf.js similarity index 96% rename from server/public/admin/assets/content-lVo8M4Zt.js rename to server/public/admin/assets/content-DrZ0HxYf.js index 9a9bf4329..e9255b279 100644 --- a/server/public/admin/assets/content-lVo8M4Zt.js +++ b/server/public/admin/assets/content-DrZ0HxYf.js @@ -1 +1 @@ -import{_ as r}from"./index-fRv3NTFQ.js";import{ak as p,I as i,J as o}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const m="/admin/assets/default_avatar-C6VB7PGm.png",e={},s={class:"user-info flex items-center px-[25px]"};function a(c,t){return p(),i("div",s,[...t[0]||(t[0]=[o("img",{src:m,class:"w-[60px] h-[60px]",alt:""},null,-1),o("div",{class:"text-white text-[18px] ml-[10px]"},"未登录",-1)])])}const T=r(e,[["render",a],["__scopeId","data-v-cdcc3d15"]]);export{T as default}; +import{_ as r}from"./index-J_eFER10.js";import{ak as p,I as i,J as o}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const m="/admin/assets/default_avatar-C6VB7PGm.png",e={},s={class:"user-info flex items-center px-[25px]"};function a(c,t){return p(),i("div",s,[...t[0]||(t[0]=[o("img",{src:m,class:"w-[60px] h-[60px]",alt:""},null,-1),o("div",{class:"text-white text-[18px] ml-[10px]"},"未登录",-1)])])}const T=r(e,[["render",a],["__scopeId","data-v-cdcc3d15"]]);export{T as default}; diff --git a/server/public/admin/assets/content-DtEMpPXD.js b/server/public/admin/assets/content-Dtk1yPl3.js similarity index 70% rename from server/public/admin/assets/content-DtEMpPXD.js rename to server/public/admin/assets/content-Dtk1yPl3.js index 16dff6b60..bbf64e54f 100644 --- a/server/public/admin/assets/content-DtEMpPXD.js +++ b/server/public/admin/assets/content-Dtk1yPl3.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-B83-RT4p.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/content-DCZ1xcL7.js b/server/public/admin/assets/content-tnscaIhs.js similarity index 90% rename from server/public/admin/assets/content-DCZ1xcL7.js rename to server/public/admin/assets/content-tnscaIhs.js index 89f36b114..c7a388c0c 100644 --- a/server/public/admin/assets/content-DCZ1xcL7.js +++ b/server/public/admin/assets/content-tnscaIhs.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js";import"./decoration-img-63yHTKq5.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js";import"./decoration-img-cJ3sOJu-.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CN32u1VP.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js similarity index 93% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CN32u1VP.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js index a59cb68b5..2bd104be0 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CN32u1VP.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js @@ -1 +1 @@ -import p from"./decoration-img-63yHTKq5.js";import{f as m,ak as a,I as n,J as r,F as d,ap as f,a as u,A as _}from"./@vue/runtime-core-C6bnekPw.js";import{Q as g,p as h}from"./@vue/shared-mAAVTE9n.js";import{y as x}from"./@vue/reactivity-DiY1c2vO.js";const y={class:"nav bg-white pt-[15px] pb-[8px]"},w={class:"mt-[7px]"},j=m({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const t=o,c=_(()=>{var s;return(((s=t.content.data)==null?void 0:s.filter(e=>e.is_show=="1"))||[]).slice(0,t.content.show_line*t.content.per_line)});return(i,s)=>(a(),n("div",y,[r("div",{class:"grid grid-rows-auto gap-y-3 w-full",style:h({"grid-template-columns":`repeat(${o.content.per_line}, 1fr)`})},[(a(!0),n(d,null,f(x(c),(e,l)=>(a(),n("div",{key:l,class:"flex flex-col items-center"},[u(p,{width:"41px",height:"41px",src:e.image,alt:""},null,8,["src"]),r("div",w,g(e.name),1)]))),128))],4)]))}});export{j as _}; +import p from"./decoration-img-cJ3sOJu-.js";import{f as m,ak as a,I as n,J as r,F as d,ap as f,a as u,A as _}from"./@vue/runtime-core-C6bnekPw.js";import{Q as g,p as h}from"./@vue/shared-mAAVTE9n.js";import{y as x}from"./@vue/reactivity-DiY1c2vO.js";const y={class:"nav bg-white pt-[15px] pb-[8px]"},w={class:"mt-[7px]"},j=m({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const t=o,c=_(()=>{var s;return(((s=t.content.data)==null?void 0:s.filter(e=>e.is_show=="1"))||[]).slice(0,t.content.show_line*t.content.per_line)});return(i,s)=>(a(),n("div",y,[r("div",{class:"grid grid-rows-auto gap-y-3 w-full",style:h({"grid-template-columns":`repeat(${o.content.per_line}, 1fr)`})},[(a(!0),n(d,null,f(x(c),(e,l)=>(a(),n("div",{key:l,class:"flex flex-col items-center"},[u(p,{width:"41px",height:"41px",src:e.image,alt:""},null,8,["src"]),r("div",w,g(e.name),1)]))),128))],4)]))}});export{j as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js similarity index 91% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js index 7cff86ec1..d53a3a4c5 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js @@ -1 +1 @@ -import i from"./decoration-img-63yHTKq5.js";import{f as c,ak as l,I as m,J as u,a as f,A as n}from"./@vue/runtime-core-C6bnekPw.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{p as d}from"./@vue/shared-mAAVTE9n.js";const p={class:"banner-image w-full h-full"},w=c({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"96px"}},setup(e){const r=e,t=n(()=>{var a;return((a=r.content.data)==null?void 0:a.filter(s=>s.is_show=="1"))||[]}),o=n(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,s)=>(l(),m("div",{class:"banner",style:d(e.styles)},[u("div",p,[f(i,{width:"100%",height:e.styles.height||e.height,src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _}; +import i from"./decoration-img-cJ3sOJu-.js";import{f as c,ak as l,I as m,J as u,a as f,A as n}from"./@vue/runtime-core-C6bnekPw.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{p as d}from"./@vue/shared-mAAVTE9n.js";const p={class:"banner-image w-full h-full"},w=c({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"96px"}},setup(e){const r=e,t=n(()=>{var a;return((a=r.content.data)==null?void 0:a.filter(s=>s.is_show=="1"))||[]}),o=n(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,s)=>(l(),m("div",{class:"banner",style:d(e.styles)},[u("div",p,[f(i,{width:"100%",height:e.styles.height||e.height,src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B83-RT4p.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js similarity index 89% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B83-RT4p.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js index 661868a71..121ee5385 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B83-RT4p.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js @@ -1 +1 @@ -import{L as U,s as j,i as O}from"./element-plus-DGP1XOrU.js";import{_ as R}from"./index-Dc1nFBAH.js";import{_ as S}from"./picker-8l5NOLQi.js";import{_ as $}from"./picker-C0hwSppU.js";import{_ as A}from"./index-D5PquIeg.js";import{k as u}from"./index-fRv3NTFQ.js";import{k as f}from"./lodash-es-C2A-Pj28.js";import{f as D,ak as r,G as g,aN as o,a as n,J as l,I as h,F,ap as L,O as q}from"./@vue/runtime-core-C6bnekPw.js";import{q as G}from"./@vue/reactivity-DiY1c2vO.js";const I={class:"flex flex-wrap p-4"},J={class:"bg-fill-light w-full p-4"},T={class:"flex items-center"},z={class:"mt-4 ml-4"},ee=D({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},emits:["update:content"],setup(d,{expose:k,emit:x}){const _=x,i=G(),a=d,y=()=>{var e;(e=i.value)==null||e.open()},b=()=>{var e;(e=i.value)==null||e.close()},w=()=>{var e;if(((e=a.content.data)==null?void 0:e.length)<10){const t=f(a.content);t.data.push({image:"",name:"",link:{}}),_("update:content",t)}else u.msgError("最多添加10张图片")},V=e=>{var s;if(((s=a.content.data)==null?void 0:s.length)<=1)return u.msgError("最少保留一个轮播图");const t=f(a.content);t.data.splice(e,1),_("update:content",t)};return k({open:y}),(e,t)=>{const s=U,v=$,C=S,E=R,B=O,N=j;return r(),g(A,{ref_key:"popupRef",ref:i,title:"轮播图设置",async:!0,width:"980px",onConfirm:b},{default:o(()=>[n(s,{title:"最多可添加10张,建议图片尺寸750px*440px",type:"warning"}),n(N,{height:"400px",class:"mt-4"},{default:o(()=>[l("div",I,[(r(!0),h(F,null,L(d.content.data,(p,m)=>(r(),h("div",{key:m,class:"w-[400px] mr-4 mb-4"},[(r(),g(E,{key:m,onClose:c=>V(m),class:"w-full"},{default:o(()=>[l("div",J,[l("div",T,[n(v,{width:"122px",height:"122px",modelValue:p.image,"onUpdate:modelValue":c=>p.image=c,"upload-class":"bg-body","exclude-domain":""},{upload:o(()=>[...t[0]||(t[0]=[l("div",{class:"w-[122px] h-[122px] flex justify-center items-center"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),n(C,{modelValue:p.link,"onUpdate:modelValue":c=>p.link=c},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1032,["onClose"]))]))),128))]),l("div",z,[n(B,{link:"",type:"primary",onClick:w},{default:o(()=>[...t[1]||(t[1]=[q("+ 添加轮播图",-1)])]),_:1})])]),_:1})]),_:1},512)}}});export{ee as _}; +import{L as U,s as j,i as O}from"./element-plus-DGP1XOrU.js";import{_ as R}from"./index-sgqCyAwB.js";import{_ as S}from"./picker-CeVtQr2X.js";import{_ as $}from"./picker-lbwHqE-a.js";import{_ as A}from"./index-BVjWjU3h.js";import{k as u}from"./index-J_eFER10.js";import{k as f}from"./lodash-es-C2A-Pj28.js";import{f as D,ak as r,G as g,aN as o,a as n,J as l,I as h,F,ap as L,O as q}from"./@vue/runtime-core-C6bnekPw.js";import{q as G}from"./@vue/reactivity-DiY1c2vO.js";const I={class:"flex flex-wrap p-4"},J={class:"bg-fill-light w-full p-4"},T={class:"flex items-center"},z={class:"mt-4 ml-4"},ee=D({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},emits:["update:content"],setup(d,{expose:k,emit:x}){const _=x,i=G(),a=d,y=()=>{var e;(e=i.value)==null||e.open()},b=()=>{var e;(e=i.value)==null||e.close()},w=()=>{var e;if(((e=a.content.data)==null?void 0:e.length)<10){const t=f(a.content);t.data.push({image:"",name:"",link:{}}),_("update:content",t)}else u.msgError("最多添加10张图片")},V=e=>{var s;if(((s=a.content.data)==null?void 0:s.length)<=1)return u.msgError("最少保留一个轮播图");const t=f(a.content);t.data.splice(e,1),_("update:content",t)};return k({open:y}),(e,t)=>{const s=U,v=$,C=S,E=R,B=O,N=j;return r(),g(A,{ref_key:"popupRef",ref:i,title:"轮播图设置",async:!0,width:"980px",onConfirm:b},{default:o(()=>[n(s,{title:"最多可添加10张,建议图片尺寸750px*440px",type:"warning"}),n(N,{height:"400px",class:"mt-4"},{default:o(()=>[l("div",I,[(r(!0),h(F,null,L(d.content.data,(p,m)=>(r(),h("div",{key:m,class:"w-[400px] mr-4 mb-4"},[(r(),g(E,{key:m,onClose:c=>V(m),class:"w-full"},{default:o(()=>[l("div",J,[l("div",T,[n(v,{width:"122px",height:"122px",modelValue:p.image,"onUpdate:modelValue":c=>p.image=c,"upload-class":"bg-body","exclude-domain":""},{upload:o(()=>[...t[0]||(t[0]=[l("div",{class:"w-[122px] h-[122px] flex justify-center items-center"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),n(C,{modelValue:p.link,"onUpdate:modelValue":c=>p.link=c},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1032,["onClose"]))]))),128))]),l("div",z,[n(B,{link:"",type:"primary",onClick:w},{default:o(()=>[...t[1]||(t[1]=[q("+ 添加轮播图",-1)])]),_:1})])]),_:1})]),_:1},512)}}});export{ee as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DsMOey0g.js similarity index 90% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DsMOey0g.js index 0d57b3e64..70a89ae17 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DsMOey0g.js @@ -1 +1 @@ -import c from"./decoration-img-63yHTKq5.js";import{f as i,ak as m,I as p,J as l,a as u,A as s}from"./@vue/runtime-core-C6bnekPw.js";import{y as d}from"./@vue/reactivity-DiY1c2vO.js";const f={class:"banner mx-[10px] mt-[10px]"},_={class:"banner-image"},y=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(n){const o=n,e=s(()=>{var t;return((t=o.content.data)==null?void 0:t.filter(a=>a.is_show=="1"))||[]}),r=s(()=>Array.isArray(e.value)&&e.value[0]?e.value[0].image:"");return(t,a)=>(m(),p("div",f,[l("div",_,[u(c,{width:"100%",height:"100px",src:d(r),fit:"contain"},null,8,["src"])])]))}});export{y as _}; +import c from"./decoration-img-cJ3sOJu-.js";import{f as i,ak as m,I as p,J as l,a as u,A as s}from"./@vue/runtime-core-C6bnekPw.js";import{y as d}from"./@vue/reactivity-DiY1c2vO.js";const f={class:"banner mx-[10px] mt-[10px]"},_={class:"banner-image"},y=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(n){const o=n,e=s(()=>{var t;return((t=o.content.data)==null?void 0:t.filter(a=>a.is_show=="1"))||[]}),r=s(()=>Array.isArray(e.value)&&e.value[0]?e.value[0].image:"");return(t,a)=>(m(),p("div",f,[l("div",_,[u(c,{width:"100%",height:"100px",src:d(r),fit:"contain"},null,8,["src"])])]))}});export{y as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DdNcvOry.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js similarity index 91% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DdNcvOry.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js index b62a0491e..d069c926b 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DdNcvOry.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js @@ -1 +1 @@ -import c from"./decoration-img-63yHTKq5.js";import{f as i,ak as l,I as m,J as u,a as f,A as r}from"./@vue/runtime-core-C6bnekPw.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{p}from"./@vue/shared-mAAVTE9n.js";const d={class:"banner-image w-full h-full"},w=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},setup(e){const s=e,t=r(()=>{var a;return((a=s.content.data)==null?void 0:a.filter(n=>n.is_show=="1"))||[]}),o=r(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,n)=>(l(),m("div",{class:"banner",style:p(e.styles)},[u("div",d,[f(c,{width:"100%",height:e.content.style==1?e.height:"550px",src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _}; +import c from"./decoration-img-cJ3sOJu-.js";import{f as i,ak as l,I as m,J as u,a as f,A as r}from"./@vue/runtime-core-C6bnekPw.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{p}from"./@vue/shared-mAAVTE9n.js";const d={class:"banner-image w-full h-full"},w=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},setup(e){const s=e,t=r(()=>{var a;return((a=s.content.data)==null?void 0:a.filter(n=>n.is_show=="1"))||[]}),o=r(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,n)=>(l(),m("div",{class:"banner",style:p(e.styles)},[u("div",d,[f(c,{width:"100%",height:e.content.style==1?e.height:"550px",src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _}; diff --git a/server/public/admin/assets/cost-edit-BkHmQaQh.js b/server/public/admin/assets/cost-edit-pZVZpDGY.js similarity index 87% rename from server/public/admin/assets/cost-edit-BkHmQaQh.js rename to server/public/admin/assets/cost-edit-pZVZpDGY.js index ef390498a..0a2aae13b 100644 --- a/server/public/admin/assets/cost-edit-BkHmQaQh.js +++ b/server/public/admin/assets/cost-edit-pZVZpDGY.js @@ -1 +1 @@ -import{_ as o}from"./cost-edit.vue_vue_type_script_setup_true_lang-BSDLDO6E.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./self_input_stats-VfgnRjmU.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";export{o as default}; +import{_ as o}from"./cost-edit.vue_vue_type_script_setup_true_lang-GDC8DpIL.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./self_input_stats-BfVTp8QE.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";export{o as default}; diff --git a/server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-BSDLDO6E.js b/server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-GDC8DpIL.js similarity index 95% rename from server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-BSDLDO6E.js rename to server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-GDC8DpIL.js index 58b83b662..de75225c0 100644 --- a/server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-BSDLDO6E.js +++ b/server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-GDC8DpIL.js @@ -1 +1 @@ -import{D as E,B as D,S,h as q,C as A}from"./element-plus-DGP1XOrU.js";import{b as B,c as F}from"./self_input_stats-VfgnRjmU.js";import{_ as I}from"./index-D5PquIeg.js";import{_ as N}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";import{f as U,ak as Y,I as L,a as l,aN as r,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as p,n as O,r as z}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"edit-popup"},K=U({__name:"cost-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(u,{expose:_,emit:f}){const i=f,c=p(),d=p(),m=O("add"),g=M(()=>m.value==="edit"?"编辑账户消耗":"新增账户消耗"),e=z({id:"",cost_date:"",media_source:"",amount:0,remark:""}),b={cost_date:[{required:!0,message:"请选择日期",trigger:["change"]}],media_source:[{required:!0,message:"请填写自媒体来源",trigger:["blur"]}],amount:[{required:!0,message:"请输入账户消耗金额",trigger:["blur","change"]}]},w=()=>{e.id="",e.cost_date="",e.media_source="",e.amount=0,e.remark=""},k=async()=>{var t,o;await((t=c.value)==null?void 0:t.validate()),m.value==="edit"?await B(e):await F(e),(o=d.value)==null||o.close(),i("success")},V=(t="add")=>{var o;m.value=t,w(),(o=d.value)==null||o.open()},v=t=>{e.id=t.id??"",e.cost_date=t.cost_date??"",e.media_source=t.media_source??"",e.amount=Number(t.amount??0),e.remark=t.remark??""},x=()=>{i("close")};return _({open:V,setFormData:v}),(t,o)=>{const h=S,n=D,y=q,C=A,R=E;return Y(),L("div",P,[l(I,{ref_key:"popupRef",ref:d,title:a(g),async:!0,width:"520px",onConfirm:k,onClose:x},{default:r(()=>[l(R,{ref_key:"formRef",ref:c,model:a(e),"label-width":"110px",rules:b},{default:r(()=>[l(n,{label:"日期",prop:"cost_date"},{default:r(()=>[l(h,{modelValue:a(e).cost_date,"onUpdate:modelValue":o[0]||(o[0]=s=>a(e).cost_date=s),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:a(m)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),l(n,{label:"自媒体来源",prop:"media_source"},{default:r(()=>[l(N,{modelValue:a(e).media_source,"onUpdate:modelValue":o[1]||(o[1]=s=>a(e).media_source=s),options:u.mediaSourceOptions,loading:u.mediaSourceLoading,placeholder:"请选择自媒体来源","allow-create":!1,disabled:a(m)==="edit","select-class":"w-full"},null,8,["modelValue","options","loading","disabled"])]),_:1}),l(n,{label:"账户消耗",prop:"amount"},{default:r(()=>[l(y,{modelValue:a(e).amount,"onUpdate:modelValue":o[2]||(o[2]=s=>a(e).amount=s),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1}),l(n,{label:"备注",prop:"remark"},{default:r(()=>[l(C,{modelValue:a(e).remark,"onUpdate:modelValue":o[3]||(o[3]=s=>a(e).remark=s),type:"textarea",autosize:{minRows:3,maxRows:5},maxlength:"255","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{K as _}; +import{D as E,B as D,S,h as q,C as A}from"./element-plus-DGP1XOrU.js";import{b as B,c as F}from"./self_input_stats-BfVTp8QE.js";import{_ as I}from"./index-BVjWjU3h.js";import{_ as N}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";import{f as U,ak as Y,I as L,a as l,aN as r,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as p,n as O,r as z}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"edit-popup"},K=U({__name:"cost-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(u,{expose:_,emit:f}){const i=f,c=p(),d=p(),m=O("add"),g=M(()=>m.value==="edit"?"编辑账户消耗":"新增账户消耗"),e=z({id:"",cost_date:"",media_source:"",amount:0,remark:""}),b={cost_date:[{required:!0,message:"请选择日期",trigger:["change"]}],media_source:[{required:!0,message:"请填写自媒体来源",trigger:["blur"]}],amount:[{required:!0,message:"请输入账户消耗金额",trigger:["blur","change"]}]},w=()=>{e.id="",e.cost_date="",e.media_source="",e.amount=0,e.remark=""},k=async()=>{var t,o;await((t=c.value)==null?void 0:t.validate()),m.value==="edit"?await B(e):await F(e),(o=d.value)==null||o.close(),i("success")},V=(t="add")=>{var o;m.value=t,w(),(o=d.value)==null||o.open()},v=t=>{e.id=t.id??"",e.cost_date=t.cost_date??"",e.media_source=t.media_source??"",e.amount=Number(t.amount??0),e.remark=t.remark??""},x=()=>{i("close")};return _({open:V,setFormData:v}),(t,o)=>{const h=S,n=D,y=q,C=A,R=E;return Y(),L("div",P,[l(I,{ref_key:"popupRef",ref:d,title:a(g),async:!0,width:"520px",onConfirm:k,onClose:x},{default:r(()=>[l(R,{ref_key:"formRef",ref:c,model:a(e),"label-width":"110px",rules:b},{default:r(()=>[l(n,{label:"日期",prop:"cost_date"},{default:r(()=>[l(h,{modelValue:a(e).cost_date,"onUpdate:modelValue":o[0]||(o[0]=s=>a(e).cost_date=s),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:a(m)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),l(n,{label:"自媒体来源",prop:"media_source"},{default:r(()=>[l(N,{modelValue:a(e).media_source,"onUpdate:modelValue":o[1]||(o[1]=s=>a(e).media_source=s),options:u.mediaSourceOptions,loading:u.mediaSourceLoading,placeholder:"请选择自媒体来源","allow-create":!1,disabled:a(m)==="edit","select-class":"w-full"},null,8,["modelValue","options","loading","disabled"])]),_:1}),l(n,{label:"账户消耗",prop:"amount"},{default:r(()=>[l(y,{modelValue:a(e).amount,"onUpdate:modelValue":o[2]||(o[2]=s=>a(e).amount=s),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1}),l(n,{label:"备注",prop:"remark"},{default:r(()=>[l(C,{modelValue:a(e).remark,"onUpdate:modelValue":o[3]||(o[3]=s=>a(e).remark=s),type:"textarea",autosize:{minRows:3,maxRows:5},maxlength:"255","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{K as _}; diff --git a/server/public/admin/assets/data-table-CP3b6bk7.js b/server/public/admin/assets/data-table-CLWy4za8.js similarity index 83% rename from server/public/admin/assets/data-table-CP3b6bk7.js rename to server/public/admin/assets/data-table-CLWy4za8.js index 375237279..f2789fabb 100644 --- a/server/public/admin/assets/data-table-CP3b6bk7.js +++ b/server/public/admin/assets/data-table-CLWy4za8.js @@ -1 +1 @@ -import{_ as o}from"./data-table.vue_vue_type_script_setup_true_lang-diW1kYKK.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-DhkjCxGq.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-D5PquIeg.js";import"./usePaging-DofycyjW.js";export{o as default}; +import{_ as o}from"./data-table.vue_vue_type_script_setup_true_lang-BuGcAuLn.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-MrNYrKx7.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-BVjWjU3h.js";import"./usePaging-DofycyjW.js";export{o as default}; diff --git a/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-diW1kYKK.js b/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-BuGcAuLn.js similarity index 92% rename from server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-diW1kYKK.js rename to server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-BuGcAuLn.js index 647352045..9323926a4 100644 --- a/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-diW1kYKK.js +++ b/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-BuGcAuLn.js @@ -1 +1 @@ -import{D as K,B as N,C as T,i as D,N as P,O as R,M as F}from"./element-plus-DGP1XOrU.js";import{w as b}from"./@vue/runtime-dom-DDAG46FW.js";import{f as I,h as S}from"./code-DhkjCxGq.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as q}from"./index-D5PquIeg.js";import{u as z}from"./usePaging-DofycyjW.js";import{k as L}from"./index-fRv3NTFQ.js";import{f as M,w as O,ak as g,I as h,a as e,aN as l,O as w,aP as $,J as j,aq as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as A,q as G,r as H,n as Q}from"./@vue/reactivity-DiY1c2vO.js";const W={class:"data-table"},X={class:"m-4"},Y={class:"flex justify-end mt-4"},re=M({__name:"data-table",emits:["success"],setup(Z,{emit:C}){const v=C,u=G(),n=H({name:"",comment:""}),{pager:s,getLists:f,resetParams:y,resetPage:c}=z({fetchFun:I,params:n,size:10}),d=Q([]),V=o=>{d.value=o.map(({name:t,comment:i})=>({name:t,comment:i}))},k=async()=>{var o;if(!d.value.length)return L.msgError("请选择数据表");await S({table:d.value}),(o=u.value)==null||o.close(),v("success")};return O(()=>{var o;return(o=u.value)==null?void 0:o.visible},o=>{o&&f()}),(o,t)=>{const i=T,p=N,_=D,E=K,r=R,x=P,B=F;return g(),h("div",W,[e(q,{ref_key:"popupRef",ref:u,clickModalClose:!1,title:"选择表",width:"900px",async:!0,onConfirm:k},{trigger:l(()=>[J(o.$slots,"default")]),default:l(()=>[e(E,{class:"ls-form",model:a(n),inline:""},{default:l(()=>[e(p,{class:"w-[280px]",label:"表名称"},{default:l(()=>[e(i,{modelValue:a(n).name,"onUpdate:modelValue":t[0]||(t[0]=m=>a(n).name=m),clearable:"",onKeyup:b(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"表描述"},{default:l(()=>[e(i,{modelValue:a(n).comment,"onUpdate:modelValue":t[1]||(t[1]=m=>a(n).comment=m),clearable:"",onKeyup:b(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:l(()=>[e(_,{type:"primary",onClick:a(c)},{default:l(()=>[...t[3]||(t[3]=[w("查询",-1)])]),_:1},8,["onClick"]),e(_,{onClick:a(y)},{default:l(()=>[...t[4]||(t[4]=[w("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"]),$((g(),h("div",X,[e(x,{height:"400",size:"large",data:a(s).lists,onSelectionChange:V},{default:l(()=>[e(r,{type:"selection",width:"55"}),e(r,{label:"表名称",prop:"name","min-width":"150"}),e(r,{label:"表描述",prop:"comment","min-width":"160"}),e(r,{label:"创建时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])])),[[B,a(s).loading]]),j("div",Y,[e(U,{modelValue:a(s),"onUpdate:modelValue":t[2]||(t[2]=m=>A(s)?s.value=m:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:3},512)])}}});export{re as _}; +import{D as K,B as N,C as T,i as D,N as P,O as R,M as F}from"./element-plus-DGP1XOrU.js";import{w as b}from"./@vue/runtime-dom-DDAG46FW.js";import{f as I,h as S}from"./code-MrNYrKx7.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as q}from"./index-BVjWjU3h.js";import{u as z}from"./usePaging-DofycyjW.js";import{k as L}from"./index-J_eFER10.js";import{f as M,w as O,ak as g,I as h,a as e,aN as l,O as w,aP as $,J as j,aq as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as A,q as G,r as H,n as Q}from"./@vue/reactivity-DiY1c2vO.js";const W={class:"data-table"},X={class:"m-4"},Y={class:"flex justify-end mt-4"},re=M({__name:"data-table",emits:["success"],setup(Z,{emit:C}){const v=C,u=G(),n=H({name:"",comment:""}),{pager:s,getLists:f,resetParams:y,resetPage:c}=z({fetchFun:I,params:n,size:10}),d=Q([]),V=o=>{d.value=o.map(({name:t,comment:i})=>({name:t,comment:i}))},k=async()=>{var o;if(!d.value.length)return L.msgError("请选择数据表");await S({table:d.value}),(o=u.value)==null||o.close(),v("success")};return O(()=>{var o;return(o=u.value)==null?void 0:o.visible},o=>{o&&f()}),(o,t)=>{const i=T,p=N,_=D,E=K,r=R,x=P,B=F;return g(),h("div",W,[e(q,{ref_key:"popupRef",ref:u,clickModalClose:!1,title:"选择表",width:"900px",async:!0,onConfirm:k},{trigger:l(()=>[J(o.$slots,"default")]),default:l(()=>[e(E,{class:"ls-form",model:a(n),inline:""},{default:l(()=>[e(p,{class:"w-[280px]",label:"表名称"},{default:l(()=>[e(i,{modelValue:a(n).name,"onUpdate:modelValue":t[0]||(t[0]=m=>a(n).name=m),clearable:"",onKeyup:b(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"表描述"},{default:l(()=>[e(i,{modelValue:a(n).comment,"onUpdate:modelValue":t[1]||(t[1]=m=>a(n).comment=m),clearable:"",onKeyup:b(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:l(()=>[e(_,{type:"primary",onClick:a(c)},{default:l(()=>[...t[3]||(t[3]=[w("查询",-1)])]),_:1},8,["onClick"]),e(_,{onClick:a(y)},{default:l(()=>[...t[4]||(t[4]=[w("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"]),$((g(),h("div",X,[e(x,{height:"400",size:"large",data:a(s).lists,onSelectionChange:V},{default:l(()=>[e(r,{type:"selection",width:"55"}),e(r,{label:"表名称",prop:"name","min-width":"150"}),e(r,{label:"表描述",prop:"comment","min-width":"160"}),e(r,{label:"创建时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])])),[[B,a(s).loading]]),j("div",Y,[e(U,{modelValue:a(s),"onUpdate:modelValue":t[2]||(t[2]=m=>A(s)?s.value=m:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:3},512)])}}});export{re as _}; diff --git a/server/public/admin/assets/decoration-HusoyoI3.js b/server/public/admin/assets/decoration-BRUlzC1v.js similarity index 87% rename from server/public/admin/assets/decoration-HusoyoI3.js rename to server/public/admin/assets/decoration-BRUlzC1v.js index e21671c54..7eca42d8a 100644 --- a/server/public/admin/assets/decoration-HusoyoI3.js +++ b/server/public/admin/assets/decoration-BRUlzC1v.js @@ -1 +1 @@ -import{r as t}from"./index-fRv3NTFQ.js";function a(e){return t.get({url:"/decorate.page/detail",params:e},{ignoreCancelToken:!0})}function o(e){return t.post({url:"/decorate.page/save",params:e})}function c(e){return t.get({url:"/decorate.data/article",params:e})}function n(e){return t.get({url:"/decorate.tabbar/detail",params:e})}function u(e){return t.post({url:"/decorate.tabbar/save",params:e})}function s(){return t.get({url:"/decorate.data/pc"})}export{a,s as b,n as c,u as d,c as g,o as s}; +import{r as t}from"./index-J_eFER10.js";function a(e){return t.get({url:"/decorate.page/detail",params:e},{ignoreCancelToken:!0})}function o(e){return t.post({url:"/decorate.page/save",params:e})}function c(e){return t.get({url:"/decorate.data/article",params:e})}function n(e){return t.get({url:"/decorate.tabbar/detail",params:e})}function u(e){return t.post({url:"/decorate.tabbar/save",params:e})}function s(){return t.get({url:"/decorate.data/pc"})}export{a,s as b,n as c,u as d,c as g,o as s}; diff --git a/server/public/admin/assets/decoration-img-63yHTKq5.js b/server/public/admin/assets/decoration-img-cJ3sOJu-.js similarity index 96% rename from server/public/admin/assets/decoration-img-63yHTKq5.js rename to server/public/admin/assets/decoration-img-cJ3sOJu-.js index 8bbb912c6..9fcc2b5f2 100644 --- a/server/public/admin/assets/decoration-img-63yHTKq5.js +++ b/server/public/admin/assets/decoration-img-cJ3sOJu-.js @@ -1 +1 @@ -import{t as d,v as l}from"./element-plus-DGP1XOrU.js";import{e as u,c as _,p as o,_ as g}from"./index-fRv3NTFQ.js";import{f,ak as h,G as y,aN as i,J as e,a as b,ab as N,A as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const I={class:"image-slot"},S=f({__name:"decoration-img",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...d},setup(m){const t=m,{getImageUrl:p}=u(),s=v(()=>({width:o(t.width),height:o(t.height),borderRadius:o(t.radius)}));return(a,r)=>{const n=_,c=l;return h(),y(c,N({style:s.value},t,{src:w(p)(a.src)}),{placeholder:i(()=>[...r[0]||(r[0]=[e("div",{class:"image-slot"},null,-1)])]),error:i(()=>[e("div",I,[b(n,{name:"el-icon-Picture",size:30})])]),_:1},16,["style","src"])}}}),at=g(S,[["__scopeId","data-v-2e762fcb"]]);export{at as default}; +import{t as d,v as l}from"./element-plus-DGP1XOrU.js";import{e as u,c as _,p as o,_ as g}from"./index-J_eFER10.js";import{f,ak as h,G as y,aN as i,J as e,a as b,ab as N,A as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const I={class:"image-slot"},S=f({__name:"decoration-img",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...d},setup(m){const t=m,{getImageUrl:p}=u(),s=v(()=>({width:o(t.width),height:o(t.height),borderRadius:o(t.radius)}));return(a,r)=>{const n=_,c=l;return h(),y(c,N({style:s.value},t,{src:w(p)(a.src)}),{placeholder:i(()=>[...r[0]||(r[0]=[e("div",{class:"image-slot"},null,-1)])]),error:i(()=>[e("div",I,[b(n,{name:"el-icon-Picture",size:30})])]),_:1},16,["style","src"])}}}),at=g(S,[["__scopeId","data-v-2e762fcb"]]);export{at as default}; diff --git a/server/public/admin/assets/default_reply-Bh_u2uBi.js b/server/public/admin/assets/default_reply-Ck6UCxZe.js similarity index 95% rename from server/public/admin/assets/default_reply-Bh_u2uBi.js rename to server/public/admin/assets/default_reply-Ck6UCxZe.js index a6d32282c..2549377f4 100644 --- a/server/public/admin/assets/default_reply-Bh_u2uBi.js +++ b/server/public/admin/assets/default_reply-Ck6UCxZe.js @@ -1 +1 @@ -import{L as B,K as D,i as T,N as L,O,g as A,M as P}from"./element-plus-DGP1XOrU.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as j,k as v}from"./index-fRv3NTFQ.js";import{d as q,o as z,e as F}from"./wx_oa-BuVhGwqh.js";import{u as G}from"./usePaging-DofycyjW.js";import{_ as H}from"./edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js";import{f as I,ak as f,I as J,a as e,aN as n,J as y,O as u,aP as K,G as w,H as M,A as Q,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const tt={class:"flex justify-end mt-4"},Ht=I({__name:"default_reply",setup(et){const m=X(),p=Y(!1),b=Q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:l}=G({fetchFun:q,params:{reply_type:3}}),k=async()=>{var a;p.value=!0,await h(),(a=m.value)==null||a.open("add",3)},C=async a=>{var t,d;p.value=!0,await h(),(t=m.value)==null||t.open("edit",3),(d=m.value)==null||d.getDetail(a)},V=async a=>{await v.confirm("确定要删除?"),await z({id:a}),v.msgSuccess("删除成功"),l()},E=async a=>{try{await F({id:a}),l()}catch{l()}};return l(),(a,t)=>{const d=B,g=D,$=j,_=T,s=O,x=A,R=L,S=U,N=P;return f(),J("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,系统无法匹配情况下发送启用的默认文本回复;2.同时只能启用一个默认回复。",closable:!1,"show-icon":""})]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>k())},{icon:n(()=>[e($,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),K((f(),w(R,{size:"large",data:i(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(i(b)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e(x,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>E(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>C(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>V(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,i(r).loading]]),y("div",tt,[e(S,{modelValue:i(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:i(l)},null,8,["modelValue","onChange"])])]),_:1}),i(p)?(f(),w(H,{key:0,ref_key:"editRef",ref:m,onSuccess:i(l),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):M("",!0)])}}});export{Ht as default}; +import{L as B,K as D,i as T,N as L,O,g as A,M as P}from"./element-plus-DGP1XOrU.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as j,k as v}from"./index-J_eFER10.js";import{d as q,o as z,e as F}from"./wx_oa-Bi2y5vRS.js";import{u as G}from"./usePaging-DofycyjW.js";import{_ as H}from"./edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js";import{f as I,ak as f,I as J,a as e,aN as n,J as y,O as u,aP as K,G as w,H as M,A as Q,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const tt={class:"flex justify-end mt-4"},Ht=I({__name:"default_reply",setup(et){const m=X(),p=Y(!1),b=Q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:l}=G({fetchFun:q,params:{reply_type:3}}),k=async()=>{var a;p.value=!0,await h(),(a=m.value)==null||a.open("add",3)},C=async a=>{var t,d;p.value=!0,await h(),(t=m.value)==null||t.open("edit",3),(d=m.value)==null||d.getDetail(a)},V=async a=>{await v.confirm("确定要删除?"),await z({id:a}),v.msgSuccess("删除成功"),l()},E=async a=>{try{await F({id:a}),l()}catch{l()}};return l(),(a,t)=>{const d=B,g=D,$=j,_=T,s=O,x=A,R=L,S=U,N=P;return f(),J("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,系统无法匹配情况下发送启用的默认文本回复;2.同时只能启用一个默认回复。",closable:!1,"show-icon":""})]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>k())},{icon:n(()=>[e($,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),K((f(),w(R,{size:"large",data:i(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(i(b)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e(x,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>E(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>C(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>V(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,i(r).loading]]),y("div",tt,[e(S,{modelValue:i(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:i(l)},null,8,["modelValue","onChange"])])]),_:1}),i(p)?(f(),w(H,{key:0,ref_key:"editRef",ref:m,onSuccess:i(l),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):M("",!0)])}}});export{Ht as default}; diff --git a/server/public/admin/assets/department-OHG8LTQz.js b/server/public/admin/assets/department-DdhKHNS-.js similarity index 86% rename from server/public/admin/assets/department-OHG8LTQz.js rename to server/public/admin/assets/department-DdhKHNS-.js index e750211f8..c43cda94b 100644 --- a/server/public/admin/assets/department-OHG8LTQz.js +++ b/server/public/admin/assets/department-DdhKHNS-.js @@ -1 +1 @@ -import{r as e}from"./index-fRv3NTFQ.js";function p(t){return e.get({url:"/dept.dept/lists",params:t})}function r(t){return e.post({url:"/dept.dept/add",params:t})}function u(t){return e.post({url:"/dept.dept/edit",params:t})}function n(t){return e.post({url:"/dept.dept/delete",params:t})}function l(t){return e.get({url:"/dept.dept/detail",params:t})}function s(t){return e.get({url:"/dept.dept/all",params:t})}export{u as a,r as b,l as c,s as d,p as e,n as f}; +import{r as e}from"./index-J_eFER10.js";function p(t){return e.get({url:"/dept.dept/lists",params:t})}function r(t){return e.post({url:"/dept.dept/add",params:t})}function u(t){return e.post({url:"/dept.dept/edit",params:t})}function n(t){return e.post({url:"/dept.dept/delete",params:t})}function l(t){return e.get({url:"/dept.dept/detail",params:t})}function s(t){return e.get({url:"/dept.dept/all",params:t})}export{u as a,r as b,l as c,s as d,p as e,n as f}; diff --git a/server/public/admin/assets/dept-tongji-BGdl-ZuM.js b/server/public/admin/assets/dept-tongji-Bu-jXIks.js similarity index 97% rename from server/public/admin/assets/dept-tongji-BGdl-ZuM.js rename to server/public/admin/assets/dept-tongji-Bu-jXIks.js index 9c117e8e7..b76830329 100644 --- a/server/public/admin/assets/dept-tongji-BGdl-ZuM.js +++ b/server/public/admin/assets/dept-tongji-Bu-jXIks.js @@ -1 +1 @@ -import{D as S,B as U,Q as Y,R as G,G as I,F as O,S as P,i as j,K as Q,M as q,N as H,O as J,U as K,X as W,E as X}from"./element-plus-DGP1XOrU.js";import{d as A,e as Z}from"./doctor-BVLBwYIX.js";import{f as $,b as tt,ak as d,I as y,a as e,aN as a,F as et,ap as at,G as k,O as i,H as ot,J as c,aP as lt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{n as g,r as st}from"./@vue/reactivity-DiY1c2vO.js";import{_ as it}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const nt={class:"dept-statistics-page"},rt={key:0},dt={class:"status-overview"},mt={class:"status-tags"},pt={key:1,class:"empty-data"},ct=$({__name:"dept-tongji",setup(_t){const u=g(!1),V=g([]),v=g([]),r=g([]),s=st({dept_id:"",time_type:"today",start_date:"",end_date:""}),D=async()=>{try{const l=await A(),t=h=>{let m=[];return h.forEach(n=>{m.push({id:n.id,name:n.name}),n.children&&n.children.length>0&&(m=m.concat(t(n.children)))}),m};V.value=t(l)||[]}catch(l){console.error("获取部门列表失败:",l)}},b=async()=>{u.value=!0;try{const l={time_type:s.time_type};s.dept_id&&(l.dept_id=s.dept_id),s.time_type==="custom"&&r.value&&r.value.length===2&&(l.start_date=r.value[0],l.end_date=r.value[1]);const t=await Z(l);v.value=t.lists||[]}catch(l){console.error("获取统计数据错误:",l),X.error(l.msg||"获取统计数据失败")}finally{u.value=!1}},x=()=>{s.time_type!=="custom"&&(r.value=[])},T=()=>{s.dept_id="",s.time_type="today",r.value=[],b()},B=l=>l>=80?"success":l>=60?"primary":"warning";return tt(()=>{D(),b()}),(l,t)=>{const h=G,m=Y,n=U,f=O,z=I,L=P,w=j,N=S,C=Q,E=J,p=K,R=H,F=W,M=q;return d(),y("div",nt,[e(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...t[3]||(t[3]=[c("div",{class:"card-header"},[c("span",{class:"card-title"},"筛选条件")],-1)])]),default:a(()=>[e(N,{inline:!0,model:s,class:"filter-form"},{default:a(()=>[e(n,{label:"部门"},{default:a(()=>[e(m,{modelValue:s.dept_id,"onUpdate:modelValue":t[0]||(t[0]=o=>s.dept_id=o),placeholder:"全部部门",clearable:"",filterable:"",style:{width:"200px"}},{default:a(()=>[(d(!0),y(et,null,at(V.value,o=>(d(),k(h,{key:o.id,label:o.name,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(n,{label:"时间范围"},{default:a(()=>[e(z,{modelValue:s.time_type,"onUpdate:modelValue":t[1]||(t[1]=o=>s.time_type=o),onChange:x},{default:a(()=>[e(f,{label:"today"},{default:a(()=>[...t[4]||(t[4]=[i("今天",-1)])]),_:1}),e(f,{label:"week"},{default:a(()=>[...t[5]||(t[5]=[i("最近7天",-1)])]),_:1}),e(f,{label:"month"},{default:a(()=>[...t[6]||(t[6]=[i("最近30天",-1)])]),_:1}),e(f,{label:"custom"},{default:a(()=>[...t[7]||(t[7]=[i("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s.time_type==="custom"?(d(),k(n,{key:0},{default:a(()=>[e(L,{modelValue:r.value,"onUpdate:modelValue":t[2]||(t[2]=o=>r.value=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):ot("",!0),e(n,null,{default:a(()=>[e(w,{type:"primary",onClick:b,loading:u.value},{default:a(()=>[...t[8]||(t[8]=[i("查询",-1)])]),_:1},8,["loading"]),e(w,{onClick:T},{default:a(()=>[...t[9]||(t[9]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),lt((d(),k(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...t[10]||(t[10]=[c("div",{class:"card-header"},[c("span",{class:"card-title"},"部门统计数据")],-1)])]),default:a(()=>[v.value.length>0?(d(),y("div",rt,[e(R,{data:v.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:a(()=>[e(E,{prop:"dept_name",label:"部门名称",width:"120"}),e(E,{label:"状态明细","min-width":"700"},{default:a(({row:o})=>[c("div",dt,[c("div",mt,[e(p,{type:"info",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已挂号: "+_(o.registered_count),1)]),_:2},1024),e(p,{type:"success",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已完成: "+_(o.completed_count),1)]),_:2},1024),e(p,{type:"danger",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已取消: "+_(o.canceled_count),1)]),_:2},1024),e(p,{type:"warning",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已过号: "+_(o.expired_count),1)]),_:2},1024),e(p,{type:"primary",size:"small",class:"compact-tag"},{default:a(()=>[i(" 总数量: "+_(o.total_count),1)]),_:2},1024),e(p,{type:B(o.completion_rate),size:"small",class:"compact-tag"},{default:a(()=>[i(" 完成率: "+_(o.completion_rate)+"% ",1)]),_:2},1032,["type"])])])]),_:1}),e(E,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(d(),y("div",pt,[e(F,{description:"暂无统计数据"})]))]),_:1})),[[M,u.value]])])}}}),Zt=it(ct,[["__scopeId","data-v-0b7e0115"]]);export{Zt as default}; +import{D as S,B as U,Q as Y,R as G,G as I,F as O,S as P,i as j,K as Q,M as q,N as H,O as J,U as K,X as W,E as X}from"./element-plus-DGP1XOrU.js";import{d as A,e as Z}from"./doctor-BZKBQu9t.js";import{f as $,b as tt,ak as d,I as y,a as e,aN as a,F as et,ap as at,G as k,O as i,H as ot,J as c,aP as lt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{n as g,r as st}from"./@vue/reactivity-DiY1c2vO.js";import{_ as it}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const nt={class:"dept-statistics-page"},rt={key:0},dt={class:"status-overview"},mt={class:"status-tags"},pt={key:1,class:"empty-data"},ct=$({__name:"dept-tongji",setup(_t){const u=g(!1),V=g([]),v=g([]),r=g([]),s=st({dept_id:"",time_type:"today",start_date:"",end_date:""}),D=async()=>{try{const l=await A(),t=h=>{let m=[];return h.forEach(n=>{m.push({id:n.id,name:n.name}),n.children&&n.children.length>0&&(m=m.concat(t(n.children)))}),m};V.value=t(l)||[]}catch(l){console.error("获取部门列表失败:",l)}},b=async()=>{u.value=!0;try{const l={time_type:s.time_type};s.dept_id&&(l.dept_id=s.dept_id),s.time_type==="custom"&&r.value&&r.value.length===2&&(l.start_date=r.value[0],l.end_date=r.value[1]);const t=await Z(l);v.value=t.lists||[]}catch(l){console.error("获取统计数据错误:",l),X.error(l.msg||"获取统计数据失败")}finally{u.value=!1}},x=()=>{s.time_type!=="custom"&&(r.value=[])},T=()=>{s.dept_id="",s.time_type="today",r.value=[],b()},B=l=>l>=80?"success":l>=60?"primary":"warning";return tt(()=>{D(),b()}),(l,t)=>{const h=G,m=Y,n=U,f=O,z=I,L=P,w=j,N=S,C=Q,E=J,p=K,R=H,F=W,M=q;return d(),y("div",nt,[e(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...t[3]||(t[3]=[c("div",{class:"card-header"},[c("span",{class:"card-title"},"筛选条件")],-1)])]),default:a(()=>[e(N,{inline:!0,model:s,class:"filter-form"},{default:a(()=>[e(n,{label:"部门"},{default:a(()=>[e(m,{modelValue:s.dept_id,"onUpdate:modelValue":t[0]||(t[0]=o=>s.dept_id=o),placeholder:"全部部门",clearable:"",filterable:"",style:{width:"200px"}},{default:a(()=>[(d(!0),y(et,null,at(V.value,o=>(d(),k(h,{key:o.id,label:o.name,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(n,{label:"时间范围"},{default:a(()=>[e(z,{modelValue:s.time_type,"onUpdate:modelValue":t[1]||(t[1]=o=>s.time_type=o),onChange:x},{default:a(()=>[e(f,{label:"today"},{default:a(()=>[...t[4]||(t[4]=[i("今天",-1)])]),_:1}),e(f,{label:"week"},{default:a(()=>[...t[5]||(t[5]=[i("最近7天",-1)])]),_:1}),e(f,{label:"month"},{default:a(()=>[...t[6]||(t[6]=[i("最近30天",-1)])]),_:1}),e(f,{label:"custom"},{default:a(()=>[...t[7]||(t[7]=[i("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s.time_type==="custom"?(d(),k(n,{key:0},{default:a(()=>[e(L,{modelValue:r.value,"onUpdate:modelValue":t[2]||(t[2]=o=>r.value=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):ot("",!0),e(n,null,{default:a(()=>[e(w,{type:"primary",onClick:b,loading:u.value},{default:a(()=>[...t[8]||(t[8]=[i("查询",-1)])]),_:1},8,["loading"]),e(w,{onClick:T},{default:a(()=>[...t[9]||(t[9]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),lt((d(),k(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...t[10]||(t[10]=[c("div",{class:"card-header"},[c("span",{class:"card-title"},"部门统计数据")],-1)])]),default:a(()=>[v.value.length>0?(d(),y("div",rt,[e(R,{data:v.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:a(()=>[e(E,{prop:"dept_name",label:"部门名称",width:"120"}),e(E,{label:"状态明细","min-width":"700"},{default:a(({row:o})=>[c("div",dt,[c("div",mt,[e(p,{type:"info",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已挂号: "+_(o.registered_count),1)]),_:2},1024),e(p,{type:"success",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已完成: "+_(o.completed_count),1)]),_:2},1024),e(p,{type:"danger",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已取消: "+_(o.canceled_count),1)]),_:2},1024),e(p,{type:"warning",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已过号: "+_(o.expired_count),1)]),_:2},1024),e(p,{type:"primary",size:"small",class:"compact-tag"},{default:a(()=>[i(" 总数量: "+_(o.total_count),1)]),_:2},1024),e(p,{type:B(o.completion_rate),size:"small",class:"compact-tag"},{default:a(()=>[i(" 完成率: "+_(o.completion_rate)+"% ",1)]),_:2},1032,["type"])])])]),_:1}),e(E,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(d(),y("div",pt,[e(F,{description:"暂无统计数据"})]))]),_:1})),[[M,u.value]])])}}}),Zt=it(ct,[["__scopeId","data-v-0b7e0115"]]);export{Zt as default}; diff --git a/server/public/admin/assets/detail-DXs5F4gI.js b/server/public/admin/assets/detail-8xtYeAhn.js similarity index 94% rename from server/public/admin/assets/detail-DXs5F4gI.js rename to server/public/admin/assets/detail-8xtYeAhn.js index 41ba542af..29fdc25b0 100644 --- a/server/public/admin/assets/detail-DXs5F4gI.js +++ b/server/public/admin/assets/detail-8xtYeAhn.js @@ -1 +1 @@ -import{P as q,K as N,D as R,q as A,i as V,B as F}from"./element-plus-DGP1XOrU.js";import{_ as I}from"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import{c as M,v as O}from"./index-fRv3NTFQ.js";import{g as S,u as U,a as z}from"./consumer-CPi0_UIB.js";import{_ as G}from"./account-adjust.vue_vue_type_script_setup_true_lang-BKavIhtU.js";import{u as H}from"./vue-router-QlpZ4wdW.js";import{f as C,as as J,ak as u,I as K,a as t,aN as o,J as d,O as l,aP as c,G as y}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as g,q as Q}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const T={class:"bg-page flex py-5 mb-10 items-center"},L={class:"basis-40 flex flex-col justify-center items-center"},W={class:"basis-40 flex flex-col justify-center items-center"},X={class:"mt-2 flex items-center"},Y=C({name:"consumerDetail"}),Ue=C({...Y,setup(Z){const w=H(),r=g({avatar:"",channel:"",create_time:"",login_time:"",mobile:"",nickname:"",real_name:0,sex:0,sn:"",account:"",user_money:""}),p=g({show:!1,value:""}),j=Q(),k=async()=>{const i=await S({id:w.query.id});Object.keys(r).forEach(e=>{r[e]=i[e]})},v=async(i,e)=>{O(i)||(await U({id:w.query.id,field:e,value:i}),k())},D=i=>{p.show=!0,p.value=i},h=async i=>{await z({user_id:w.query.id,...i}),p.show=!1,k()};return k(),(i,e)=>{const B=q,E=N,P=A,f=V,m=F,b=M,x=I,$=R,_=J("perms");return u(),K("div",null,[t(E,{class:"!border-none",shadow:"never"},{default:o(()=>[t(B,{content:"用户详情",onBack:e[0]||(e[0]=s=>i.$router.back())})]),_:1}),t(E,{class:"mt-4 !border-none",header:"基本资料",shadow:"never"},{default:o(()=>[t($,{ref_key:"formRef",ref:j,class:"ls-form",model:a(r),"label-width":"120px"},{default:o(()=>[d("div",T,[d("div",L,[e[7]||(e[7]=d("div",{class:"mb-2 text-tx-regular"},"用户头像",-1)),t(P,{src:a(r).avatar,size:58},null,8,["src"])]),d("div",W,[e[9]||(e[9]=d("div",{class:"text-tx-regular"},"账户余额",-1)),d("div",X,[l(" ¥"+n(a(r).user_money)+" ",1),c((u(),y(f,{type:"primary",link:"",onClick:e[1]||(e[1]=s=>D(a(r).user_money))},{default:o(()=>[...e[8]||(e[8]=[l(" 调整 ",-1)])]),_:1})),[[_,["user.user/adjustMoney"]]])])])]),t(m,{label:"用户昵称:"},{default:o(()=>[l(n(a(r).nickname),1)]),_:1}),t(m,{label:"账号:"},{default:o(()=>[l(n(a(r).account)+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[2]||(e[2]=s=>v(s,"account")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"真实姓名:"},{default:o(()=>[l(n(a(r).real_name||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[3]||(e[3]=s=>v(s,"real_name")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"性别:"},{default:o(()=>[l(n(a(r).sex)+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"select",options:[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],onConfirm:e[4]||(e[4]=s=>v(s,"sex"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"联系电话:"},{default:o(()=>[l(n(a(r).mobile||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"number",onConfirm:e[5]||(e[5]=s=>v(s,"mobile"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"注册来源:"},{default:o(()=>[l(n(a(r).channel),1)]),_:1}),t(m,{label:"注册时间:"},{default:o(()=>[l(n(a(r).create_time),1)]),_:1}),t(m,{label:"最近登录时间:"},{default:o(()=>[l(n(a(r).login_time),1)]),_:1})]),_:1},8,["model"])]),_:1}),t(G,{show:a(p).show,"onUpdate:show":e[6]||(e[6]=s=>a(p).show=s),value:a(p).value,onConfirm:h},null,8,["show","value"])])}}});export{Ue as default}; +import{P as q,K as N,D as R,q as A,i as V,B as F}from"./element-plus-DGP1XOrU.js";import{_ as I}from"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import{c as M,v as O}from"./index-J_eFER10.js";import{g as S,u as U,a as z}from"./consumer-csfCIN0w.js";import{_ as G}from"./account-adjust.vue_vue_type_script_setup_true_lang-CWDqkmPn.js";import{u as H}from"./vue-router-QlpZ4wdW.js";import{f as C,as as J,ak as u,I as K,a as t,aN as o,J as d,O as l,aP as c,G as y}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as g,q as Q}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const T={class:"bg-page flex py-5 mb-10 items-center"},L={class:"basis-40 flex flex-col justify-center items-center"},W={class:"basis-40 flex flex-col justify-center items-center"},X={class:"mt-2 flex items-center"},Y=C({name:"consumerDetail"}),Ue=C({...Y,setup(Z){const w=H(),r=g({avatar:"",channel:"",create_time:"",login_time:"",mobile:"",nickname:"",real_name:0,sex:0,sn:"",account:"",user_money:""}),p=g({show:!1,value:""}),j=Q(),k=async()=>{const i=await S({id:w.query.id});Object.keys(r).forEach(e=>{r[e]=i[e]})},v=async(i,e)=>{O(i)||(await U({id:w.query.id,field:e,value:i}),k())},D=i=>{p.show=!0,p.value=i},h=async i=>{await z({user_id:w.query.id,...i}),p.show=!1,k()};return k(),(i,e)=>{const B=q,E=N,P=A,f=V,m=F,b=M,x=I,$=R,_=J("perms");return u(),K("div",null,[t(E,{class:"!border-none",shadow:"never"},{default:o(()=>[t(B,{content:"用户详情",onBack:e[0]||(e[0]=s=>i.$router.back())})]),_:1}),t(E,{class:"mt-4 !border-none",header:"基本资料",shadow:"never"},{default:o(()=>[t($,{ref_key:"formRef",ref:j,class:"ls-form",model:a(r),"label-width":"120px"},{default:o(()=>[d("div",T,[d("div",L,[e[7]||(e[7]=d("div",{class:"mb-2 text-tx-regular"},"用户头像",-1)),t(P,{src:a(r).avatar,size:58},null,8,["src"])]),d("div",W,[e[9]||(e[9]=d("div",{class:"text-tx-regular"},"账户余额",-1)),d("div",X,[l(" ¥"+n(a(r).user_money)+" ",1),c((u(),y(f,{type:"primary",link:"",onClick:e[1]||(e[1]=s=>D(a(r).user_money))},{default:o(()=>[...e[8]||(e[8]=[l(" 调整 ",-1)])]),_:1})),[[_,["user.user/adjustMoney"]]])])])]),t(m,{label:"用户昵称:"},{default:o(()=>[l(n(a(r).nickname),1)]),_:1}),t(m,{label:"账号:"},{default:o(()=>[l(n(a(r).account)+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[2]||(e[2]=s=>v(s,"account")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"真实姓名:"},{default:o(()=>[l(n(a(r).real_name||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[3]||(e[3]=s=>v(s,"real_name")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"性别:"},{default:o(()=>[l(n(a(r).sex)+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"select",options:[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],onConfirm:e[4]||(e[4]=s=>v(s,"sex"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"联系电话:"},{default:o(()=>[l(n(a(r).mobile||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"number",onConfirm:e[5]||(e[5]=s=>v(s,"mobile"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"注册来源:"},{default:o(()=>[l(n(a(r).channel),1)]),_:1}),t(m,{label:"注册时间:"},{default:o(()=>[l(n(a(r).create_time),1)]),_:1}),t(m,{label:"最近登录时间:"},{default:o(()=>[l(n(a(r).login_time),1)]),_:1})]),_:1},8,["model"])]),_:1}),t(G,{show:a(p).show,"onUpdate:show":e[6]||(e[6]=s=>a(p).show=s),value:a(p).value,onConfirm:h},null,8,["show","value"])])}}});export{Ue as default}; diff --git a/server/public/admin/assets/detail-BzY4w_V9.js b/server/public/admin/assets/detail-CsM6bOnd.js similarity index 97% rename from server/public/admin/assets/detail-BzY4w_V9.js rename to server/public/admin/assets/detail-CsM6bOnd.js index 68adcfcb1..513a5553b 100644 --- a/server/public/admin/assets/detail-BzY4w_V9.js +++ b/server/public/admin/assets/detail-CsM6bOnd.js @@ -1 +1 @@ -import{_ as B}from"./index-D5PquIeg.js";import{a6 as I,a7 as V,U as C,v as O}from"./element-plus-DGP1XOrU.js";import{aa as F}from"./tcm-CEIBuAeK.js";import{o as H}from"./index-fRv3NTFQ.js";import{f as L,ak as i,I as n,a as o,aN as a,O as l,F as f,ap as y,G as c,H as R,J as g,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as t,n as h}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const z={class:"detail-popup"},A={key:0},G={key:0,class:"flex gap-2"},J={key:1},Q={key:0,class:"flex flex-wrap gap-2"},S={key:1},U={style:{"white-space":"pre-wrap"}},j={style:{"white-space":"pre-wrap"}},q={style:{"white-space":"pre-wrap"}},He=L({__name:"detail",setup(K,{expose:x}){const b=h(),e=h({}),v=h([]),D=async()=>{try{const p=await H({type:"past_history"});v.value=(p==null?void 0:p.past_history)||[]}catch(p){console.error("获取字典数据失败:",p)}},w=T(()=>!e.value.past_history||!e.value.past_history.length?[]:e.value.past_history.map(p=>{const _=v.value.find(s=>s.value===p);return _?_.name:p}));return x({open:async p=>{b.value.open(),await D(),e.value=await F({id:p})}}),(p,_)=>{const s=V,u=C,k=O,E=I,N=B;return i(),n("div",z,[o(N,{ref_key:"popupRef",ref:b,title:"诊单详情",width:"800px","show-confirm":!1,"z-index":1500},{default:a(()=>[o(E,{column:2,border:""},{default:a(()=>[o(s,{label:"患者ID"},{default:a(()=>[l(r(t(e).patient_id),1)]),_:1}),o(s,{label:"患者姓名"},{default:a(()=>[l(r(t(e).patient_name),1)]),_:1}),o(s,{label:"性别"},{default:a(()=>[l(r(t(e).gender_desc),1)]),_:1}),o(s,{label:"年龄"},{default:a(()=>[l(r(t(e).age)+"岁 ",1)]),_:1}),o(s,{label:"诊断日期"},{default:a(()=>[l(r(t(e).diagnosis_date_text),1)]),_:1}),o(s,{label:"诊断类型"},{default:a(()=>[l(r(t(e).diagnosis_type),1)]),_:1}),o(s,{label:"证型",span:2},{default:a(()=>[l(r(t(e).syndrome_type),1)]),_:1}),o(s,{label:"既往史",span:2},{default:a(()=>[(i(!0),n(f,null,y(t(w),m=>(i(),c(u,{key:m,class:"mr-2",type:"info"},{default:a(()=>[l(r(m),1)]),_:2},1024))),128)),t(w).length?R("",!0):(i(),n("span",A,"无"))]),_:1}),o(s,{label:"外伤史"},{default:a(()=>[l(r(t(e).trauma_history?"有":"无"),1)]),_:1}),o(s,{label:"手术史"},{default:a(()=>[l(r(t(e).surgery_history?"有":"无"),1)]),_:1}),o(s,{label:"过敏史"},{default:a(()=>[l(r(t(e).allergy_history?"有":"无"),1)]),_:1}),o(s,{label:"家族病史"},{default:a(()=>[l(r(t(e).family_history?"有":"无"),1)]),_:1}),o(s,{label:"妊娠哺乳史",span:2},{default:a(()=>[l(r(t(e).pregnancy_history?"有":"无"),1)]),_:1}),o(s,{label:"舌苔照片",span:2},{default:a(()=>[t(e).tongue_images&&t(e).tongue_images.length?(i(),n("div",G,[(i(!0),n(f,null,y(t(e).tongue_images,(m,d)=>(i(),c(k,{key:d,src:m,"preview-src-list":t(e).tongue_images,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(i(),n("span",J,"暂无"))]),_:1}),o(s,{label:"检查报告",span:2},{default:a(()=>[t(e).report_files&&t(e).report_files.length?(i(),n("div",Q,[(i(!0),n(f,null,y(t(e).report_files,(m,d)=>(i(),c(k,{key:d,src:m,"preview-src-list":t(e).report_files,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(i(),n("span",S,"暂无"))]),_:1}),o(s,{label:"症状",span:2},{default:a(()=>[l(r(t(e).symptoms||"无"),1)]),_:1}),o(s,{label:"舌苔"},{default:a(()=>[l(r(t(e).tongue_coating||"无"),1)]),_:1}),o(s,{label:"脉象"},{default:a(()=>[l(r(t(e).pulse||"无"),1)]),_:1}),o(s,{label:"治则",span:2},{default:a(()=>[l(r(t(e).treatment_principle||"无"),1)]),_:1}),o(s,{label:"在用药物",span:2},{default:a(()=>[g("div",U,r(t(e).current_medications||"无"),1)]),_:1}),o(s,{label:"处方",span:2},{default:a(()=>[g("div",j,r(t(e).prescription||"无"),1)]),_:1}),o(s,{label:"医嘱",span:2},{default:a(()=>[g("div",q,r(t(e).doctor_advice||"无"),1)]),_:1}),o(s,{label:"备注",span:2},{default:a(()=>[l(r(t(e).remark||"无"),1)]),_:1}),o(s,{label:"状态"},{default:a(()=>[t(e).status==1?(i(),c(u,{key:0,type:"success"},{default:a(()=>[..._[0]||(_[0]=[l("启用",-1)])]),_:1})):(i(),c(u,{key:1,type:"danger"},{default:a(()=>[..._[1]||(_[1]=[l("禁用",-1)])]),_:1}))]),_:1}),o(s,{label:"创建时间"},{default:a(()=>[l(r(t(e).create_time),1)]),_:1})]),_:1})]),_:1},512)])}}});export{He as default}; +import{_ as B}from"./index-BVjWjU3h.js";import{a6 as I,a7 as V,U as C,v as O}from"./element-plus-DGP1XOrU.js";import{aa as F}from"./tcm-D-ZRccbe.js";import{o as H}from"./index-J_eFER10.js";import{f as L,ak as i,I as n,a as o,aN as a,O as l,F as f,ap as y,G as c,H as R,J as g,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as t,n as h}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const z={class:"detail-popup"},A={key:0},G={key:0,class:"flex gap-2"},J={key:1},Q={key:0,class:"flex flex-wrap gap-2"},S={key:1},U={style:{"white-space":"pre-wrap"}},j={style:{"white-space":"pre-wrap"}},q={style:{"white-space":"pre-wrap"}},He=L({__name:"detail",setup(K,{expose:x}){const b=h(),e=h({}),v=h([]),D=async()=>{try{const p=await H({type:"past_history"});v.value=(p==null?void 0:p.past_history)||[]}catch(p){console.error("获取字典数据失败:",p)}},w=T(()=>!e.value.past_history||!e.value.past_history.length?[]:e.value.past_history.map(p=>{const _=v.value.find(s=>s.value===p);return _?_.name:p}));return x({open:async p=>{b.value.open(),await D(),e.value=await F({id:p})}}),(p,_)=>{const s=V,u=C,k=O,E=I,N=B;return i(),n("div",z,[o(N,{ref_key:"popupRef",ref:b,title:"诊单详情",width:"800px","show-confirm":!1,"z-index":1500},{default:a(()=>[o(E,{column:2,border:""},{default:a(()=>[o(s,{label:"患者ID"},{default:a(()=>[l(r(t(e).patient_id),1)]),_:1}),o(s,{label:"患者姓名"},{default:a(()=>[l(r(t(e).patient_name),1)]),_:1}),o(s,{label:"性别"},{default:a(()=>[l(r(t(e).gender_desc),1)]),_:1}),o(s,{label:"年龄"},{default:a(()=>[l(r(t(e).age)+"岁 ",1)]),_:1}),o(s,{label:"诊断日期"},{default:a(()=>[l(r(t(e).diagnosis_date_text),1)]),_:1}),o(s,{label:"诊断类型"},{default:a(()=>[l(r(t(e).diagnosis_type),1)]),_:1}),o(s,{label:"证型",span:2},{default:a(()=>[l(r(t(e).syndrome_type),1)]),_:1}),o(s,{label:"既往史",span:2},{default:a(()=>[(i(!0),n(f,null,y(t(w),m=>(i(),c(u,{key:m,class:"mr-2",type:"info"},{default:a(()=>[l(r(m),1)]),_:2},1024))),128)),t(w).length?R("",!0):(i(),n("span",A,"无"))]),_:1}),o(s,{label:"外伤史"},{default:a(()=>[l(r(t(e).trauma_history?"有":"无"),1)]),_:1}),o(s,{label:"手术史"},{default:a(()=>[l(r(t(e).surgery_history?"有":"无"),1)]),_:1}),o(s,{label:"过敏史"},{default:a(()=>[l(r(t(e).allergy_history?"有":"无"),1)]),_:1}),o(s,{label:"家族病史"},{default:a(()=>[l(r(t(e).family_history?"有":"无"),1)]),_:1}),o(s,{label:"妊娠哺乳史",span:2},{default:a(()=>[l(r(t(e).pregnancy_history?"有":"无"),1)]),_:1}),o(s,{label:"舌苔照片",span:2},{default:a(()=>[t(e).tongue_images&&t(e).tongue_images.length?(i(),n("div",G,[(i(!0),n(f,null,y(t(e).tongue_images,(m,d)=>(i(),c(k,{key:d,src:m,"preview-src-list":t(e).tongue_images,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(i(),n("span",J,"暂无"))]),_:1}),o(s,{label:"检查报告",span:2},{default:a(()=>[t(e).report_files&&t(e).report_files.length?(i(),n("div",Q,[(i(!0),n(f,null,y(t(e).report_files,(m,d)=>(i(),c(k,{key:d,src:m,"preview-src-list":t(e).report_files,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(i(),n("span",S,"暂无"))]),_:1}),o(s,{label:"症状",span:2},{default:a(()=>[l(r(t(e).symptoms||"无"),1)]),_:1}),o(s,{label:"舌苔"},{default:a(()=>[l(r(t(e).tongue_coating||"无"),1)]),_:1}),o(s,{label:"脉象"},{default:a(()=>[l(r(t(e).pulse||"无"),1)]),_:1}),o(s,{label:"治则",span:2},{default:a(()=>[l(r(t(e).treatment_principle||"无"),1)]),_:1}),o(s,{label:"在用药物",span:2},{default:a(()=>[g("div",U,r(t(e).current_medications||"无"),1)]),_:1}),o(s,{label:"处方",span:2},{default:a(()=>[g("div",j,r(t(e).prescription||"无"),1)]),_:1}),o(s,{label:"医嘱",span:2},{default:a(()=>[g("div",q,r(t(e).doctor_advice||"无"),1)]),_:1}),o(s,{label:"备注",span:2},{default:a(()=>[l(r(t(e).remark||"无"),1)]),_:1}),o(s,{label:"状态"},{default:a(()=>[t(e).status==1?(i(),c(u,{key:0,type:"success"},{default:a(()=>[..._[0]||(_[0]=[l("启用",-1)])]),_:1})):(i(),c(u,{key:1,type:"danger"},{default:a(()=>[..._[1]||(_[1]=[l("禁用",-1)])]),_:1}))]),_:1}),o(s,{label:"创建时间"},{default:a(()=>[l(r(t(e).create_time),1)]),_:1})]),_:1})]),_:1},512)])}}});export{He as default}; diff --git a/server/public/admin/assets/dict-CCNMoFEY.js b/server/public/admin/assets/dict-19er6a3L.js similarity index 92% rename from server/public/admin/assets/dict-CCNMoFEY.js rename to server/public/admin/assets/dict-19er6a3L.js index 75d983b2e..92f5e18b9 100644 --- a/server/public/admin/assets/dict-CCNMoFEY.js +++ b/server/public/admin/assets/dict-19er6a3L.js @@ -1 +1 @@ -import{r as i}from"./index-fRv3NTFQ.js";function d(t){return i.get({url:"/setting.dict.dict_type/lists",params:t})}function n(t){return i.get({url:"/setting.dict.dict_type/all",params:t})}function c(t){return i.post({url:"/setting.dict.dict_type/add",params:t})}function r(t){return i.post({url:"/setting.dict.dict_type/edit",params:t})}function s(t){return i.post({url:"/setting.dict.dict_type/delete",params:t})}function a(t){return i.get({url:"/setting.dict.dict_data/lists",params:t},{ignoreCancelToken:!0})}function u(t){return i.post({url:"/setting.dict.dict_data/add",params:t})}function l(t){return i.post({url:"/setting.dict.dict_data/edit",params:t})}function o(t){return i.post({url:"/setting.dict.dict_data/delete",params:t})}export{l as a,u as b,a as c,n as d,o as e,d as f,r as g,c as h,s as i}; +import{r as i}from"./index-J_eFER10.js";function d(t){return i.get({url:"/setting.dict.dict_type/lists",params:t})}function n(t){return i.get({url:"/setting.dict.dict_type/all",params:t})}function c(t){return i.post({url:"/setting.dict.dict_type/add",params:t})}function r(t){return i.post({url:"/setting.dict.dict_type/edit",params:t})}function s(t){return i.post({url:"/setting.dict.dict_type/delete",params:t})}function a(t){return i.get({url:"/setting.dict.dict_data/lists",params:t},{ignoreCancelToken:!0})}function u(t){return i.post({url:"/setting.dict.dict_data/add",params:t})}function l(t){return i.post({url:"/setting.dict.dict_data/edit",params:t})}function o(t){return i.post({url:"/setting.dict.dict_data/delete",params:t})}export{l as a,u as b,a as c,n as d,o as e,d as f,r as g,c as h,s as i}; diff --git a/server/public/admin/assets/doctor-BVLBwYIX.js b/server/public/admin/assets/doctor-BZKBQu9t.js similarity index 95% rename from server/public/admin/assets/doctor-BVLBwYIX.js rename to server/public/admin/assets/doctor-BZKBQu9t.js index 03d417fff..5b92f7096 100644 --- a/server/public/admin/assets/doctor-BVLBwYIX.js +++ b/server/public/admin/assets/doctor-BZKBQu9t.js @@ -1 +1 @@ -import{r as e}from"./index-fRv3NTFQ.js";function o(t){return e.get({url:"/auth.admin/lists",params:{...t,role_id:1,exclude_disabled:1}})}function n(t){return e.get({url:"/doctor.roster/lists",params:t})}function s(t){return e.post({url:"/doctor.roster/save",params:t})}function i(t){return e.post({url:"/doctor.roster/delete",params:t})}function a(t){return e.post({url:"/doctor.roster/batchSave",params:t})}function u(t){return e.get({url:"/doctor.appointment/availableSlots",params:t})}function c(t){return e.post({url:"/doctor.appointment/create",params:t})}function p(t){return e.post({url:"/doctor.appointment/cancel",params:t})}function l(t){return e.get({url:"/doctor.appointment/lists",params:t})}function d(t){return e.post({url:"/doctor.appointment/edit",params:t})}function m(t){return e.post({url:"/doctor.appointment/batchEditChannel",params:t})}function f(t){return e.get({url:"/doctor.appointment/detail",params:t})}function g(t){return e.post({url:"/doctor.appointment/complete",params:t})}function h(t){return e.get({url:"/doctor.statistics/lists",params:t})}function S(){return e.get({url:"/dept.dept/all"})}function b(t){return e.get({url:"/doctor.statistics/deptLists",params:t})}export{l as a,m as b,d as c,S as d,b as e,o as f,u as g,s as h,i,a as j,h as k,g as l,p as m,f as n,c as o,n as r}; +import{r as e}from"./index-J_eFER10.js";function o(t){return e.get({url:"/auth.admin/lists",params:{...t,role_id:1,exclude_disabled:1}})}function n(t){return e.get({url:"/doctor.roster/lists",params:t})}function s(t){return e.post({url:"/doctor.roster/save",params:t})}function i(t){return e.post({url:"/doctor.roster/delete",params:t})}function a(t){return e.post({url:"/doctor.roster/batchSave",params:t})}function u(t){return e.get({url:"/doctor.appointment/availableSlots",params:t})}function c(t){return e.post({url:"/doctor.appointment/create",params:t})}function p(t){return e.post({url:"/doctor.appointment/cancel",params:t})}function l(t){return e.get({url:"/doctor.appointment/lists",params:t})}function d(t){return e.post({url:"/doctor.appointment/edit",params:t})}function m(t){return e.post({url:"/doctor.appointment/batchEditChannel",params:t})}function f(t){return e.get({url:"/doctor.appointment/detail",params:t})}function g(t){return e.post({url:"/doctor.appointment/complete",params:t})}function h(t){return e.get({url:"/doctor.statistics/lists",params:t})}function S(){return e.get({url:"/dept.dept/all"})}function b(t){return e.get({url:"/doctor.statistics/deptLists",params:t})}export{l as a,m as b,d as c,S as d,b as e,o as f,u as g,s as h,i,a as j,h as k,g as l,p as m,f as n,c as o,n as r}; diff --git a/server/public/admin/assets/edit-BtPgqFvb.js b/server/public/admin/assets/edit-2Xl3Ar7O.js similarity index 77% rename from server/public/admin/assets/edit-BtPgqFvb.js rename to server/public/admin/assets/edit-2Xl3Ar7O.js index ff410257e..71a4cef27 100644 --- a/server/public/admin/assets/edit-BtPgqFvb.js +++ b/server/public/admin/assets/edit-2Xl3Ar7O.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CFD_TYnI.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-CCNMoFEY.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Bp1OE_d6.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./role-hMw9X8iI.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BN7xhPW7.js b/server/public/admin/assets/edit-BI0tWG2X.js similarity index 77% rename from server/public/admin/assets/edit-BN7xhPW7.js rename to server/public/admin/assets/edit-BI0tWG2X.js index 364be3cbe..eb3565944 100644 --- a/server/public/admin/assets/edit-BN7xhPW7.js +++ b/server/public/admin/assets/edit-BI0tWG2X.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BvK-Tfoj.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./role-B18Xi51b.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Dog1IeKU.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-19er6a3L.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit-D5E4IGLO.js b/server/public/admin/assets/edit-BMFiZk9J.js similarity index 65% rename from server/public/admin/assets/edit-D5E4IGLO.js rename to server/public/admin/assets/edit-BMFiZk9J.js index 8e2f521c4..28404ea8f 100644 --- a/server/public/admin/assets/edit-D5E4IGLO.js +++ b/server/public/admin/assets/edit-BMFiZk9J.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DPPpbCfy.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-OHG8LTQz.js";import"./post-CPnP1Klt.js";import"./admin-BiglL3bM.js";import"./role-B18Xi51b.js";import"./useDictOptions-Cx2-jvcM.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Cmw9LYbk.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-DdhKHNS-.js";import"./post-BjyIxcyn.js";import"./admin-RUE9duOm.js";import"./role-hMw9X8iI.js";import"./useDictOptions-CU1TLMPn.js";export{o as default}; diff --git a/server/public/admin/assets/edit-D0eJRzXo.js b/server/public/admin/assets/edit-BXwhN0TR.js similarity index 97% rename from server/public/admin/assets/edit-D0eJRzXo.js rename to server/public/admin/assets/edit-BXwhN0TR.js index a6bc43db6..26e1fb837 100644 --- a/server/public/admin/assets/edit-D0eJRzXo.js +++ b/server/public/admin/assets/edit-BXwhN0TR.js @@ -1 +1 @@ -import{_ as ye}from"./index-D6hiZISU.js";import{P as ge,K as ke,D as Ue,m as we,l as Ee,B as qe,C as xe,N as Ce,O as De,H as Re,Q as Ae,R as $e,G as Ie,J as Te,Z as Ne,i as Be}from"./element-plus-DGP1XOrU.js";import{f as j,ak as p,I as v,F as q,ap as D,A as X,a as l,aN as t,J as u,G as w,O as f,H,n as Oe,w as Pe}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as C,n as E,r as h,q as ee,t as le}from"./@vue/reactivity-DiY1c2vO.js";import{c as Se,k as ae,_ as Fe}from"./index-fRv3NTFQ.js";import{l as te}from"./lodash-D3kF6u-c.js";import{m as Le}from"./menu-jRNdRy5r.js";import{d as Qe}from"./dict-CCNMoFEY.js";import{t as Ge,g as He}from"./code-DhkjCxGq.js";import{u as je}from"./useDictOptions-Cx2-jvcM.js";import{_ as ze}from"./relations-add.vue_vue_type_script_setup_true_lang-B8EGM77l.js";import{u as Je,a as Ke}from"./vue-router-QlpZ4wdW.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const We=j({__name:"index",props:{options:{default:()=>[]},value:{},config:{default:()=>({label:"name",value:"value"})}},setup(P){const c=P,S=X(()=>c.value!==null&&typeof c.value<"u"?Array.isArray(c.value)?c.value:String(c.value).split(","):[]),R=X(()=>c.options.filter(x=>S.value.includes(x[c.config.value])));return(x,F)=>(p(),v("div",null,[(p(!0),v(q,null,D(n(R),(o,g)=>(p(),v("span",{key:g},Y(g!=0?"、":"")+Y(o[P.config.label]),1))),128))]))}}),Ze={class:"code-edit"},Me={class:"w-80"},Xe={class:"w-80"},Ye={class:"w-80"},he={class:"w-80"},el={class:"header-checkbox"},ll={class:"header-checkbox"},al={class:"header-checkbox"},tl={class:"header-checkbox"},ol={class:"header-checkbox"},nl={class:"w-80"},ul={class:"w-80"},dl={class:"w-80"},sl={class:"w-80"},ml={class:"mt-4"},rl=j({name:"tableEdit"}),il=j({...rl,setup(P){const c=Je(),S=Ke(),R=E("column"),x=E(!1),F=[{name:"一对一",value:"has_one"},{name:"一对多",value:"has_many"}],o=h({id:"",table_name:"",table_comment:"",author:"",remark:"",template_type:0,generate_type:0,module_name:"",class_dir:"",class_comment:"",table_column:[],menu:{pid:0,name:"",type:0},tree:{tree_id:0,tree_pid:0,tree_name:0},delete:{name:"",type:0},relations:[]}),g=E(!1),A=E(!1),$=E(!1),I=E(!1),T=E(!1),oe=()=>{o.table_column.forEach(d=>{d.is_required=g.value?1:0})},ne=()=>{o.table_column.forEach(d=>{d.is_insert=A.value?1:0})},ue=()=>{o.table_column.forEach(d=>{d.is_update=$.value?1:0})},de=()=>{o.table_column.forEach(d=>{d.is_lists=I.value?1:0})},se=()=>{o.table_column.forEach(d=>{d.is_query=T.value?1:0})};let L=0;const z=ee(),Q=ee(),J=h({table_name:[{required:!0,message:"请输入表名称"}],table_comment:[{required:!0,message:"请输入表描述"}],module_name:[{required:!0,message:"请输入模块名"}],generate_type:[{required:!0,trigger:"change"}],template_type:[{required:!0,trigger:"change"}],"menu.pid":[{required:!0,message:"请选择父级菜单"}],"menu.name":[{required:!0,message:"请输入菜单名称"}],"delete.type":[{required:!0,trigger:"change"}],"delete.name":[{required:!0,message:"请选择删除字段"}]}),K=async(d,e,k)=>{var V,_;x.value=!0,await Oe(),e&&k!==void 0&&((V=Q.value)==null||V.setFormData(e),L=k),(_=Q.value)==null||_.open(d)},me=d=>{const e=te.cloneDeep(le(d));o.relations.push(e)},re=async d=>{const e=te.cloneDeep(le(d));console.log(L),o.relations.splice(L,1,e)},ie=d=>{o.relations.splice(d,1)},pe=async()=>{const d=await Ge({id:c.query.id});Object.keys(o).forEach(e=>{o[e]=d[e]}),Pe(()=>o.generate_type,e=>{e==1&&ae.confirm("生成到模块方式如遇同名文件会覆盖旧文件,确定要选择此方式吗?").catch(()=>{o.generate_type=0})})},{optionsData:W}=je({dict_type:{api:Qe},menu:{api:Le,transformData(d){const e={id:0,name:"顶级",children:[]};return e.children=d,[e]}}}),_e=async()=>{var d,e;try{await((d=z.value)==null?void 0:d.validate()),await He(o),S.back()}catch(k){for(const V in k)Object.keys(J).includes(V)&&ae.msgError((e=k[V][0])==null?void 0:e.message)}};return pe(),(d,e)=>{const k=ge,V=ke,_=xe,r=qe,N=Ee,i=De,b=Re,m=$e,U=Ae,Z=Ce,y=Te,B=Ie,fe=Ne,be=Se,O=Be,M=We,ve=we,ce=Ue,Ve=ye;return p(),v("div",Ze,[l(V,{class:"!border-none",shadow:"never"},{default:t(()=>[l(k,{content:"编辑数据表",onBack:e[0]||(e[0]=a=>d.$router.back())})]),_:1}),l(V,{class:"mt-4 !border-none",shadow:"never"},{default:t(()=>[l(ce,{ref_key:"formRef",ref:z,class:"ls-form",model:n(o),"label-width":"100px",rules:n(J)},{default:t(()=>[l(ve,{modelValue:n(R),"onUpdate:modelValue":e[25]||(e[25]=a=>C(R)?R.value=a:null)},{default:t(()=>[l(N,{label:"基础信息",name:"base"},{default:t(()=>[l(r,{label:"表名称",prop:"table_name"},{default:t(()=>[u("div",Me,[l(_,{modelValue:n(o).table_name,"onUpdate:modelValue":e[1]||(e[1]=a=>n(o).table_name=a),placeholder:"请输入表名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"表描述",prop:"table_comment"},{default:t(()=>[u("div",Xe,[l(_,{modelValue:n(o).table_comment,"onUpdate:modelValue":e[2]||(e[2]=a=>n(o).table_comment=a),placeholder:"请输入表描述",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"作者"},{default:t(()=>[u("div",Ye,[l(_,{modelValue:n(o).author,"onUpdate:modelValue":e[3]||(e[3]=a=>n(o).author=a),clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"备注"},{default:t(()=>[u("div",he,[l(_,{modelValue:n(o).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>n(o).remark=a),class:"w-full",type:"textarea",autosize:{minRows:4,maxRows:4},maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1}),l(N,{label:"字段管理",name:"column"},{default:t(()=>[l(Z,{data:n(o).table_column},{default:t(()=>[l(i,{label:"字段列名",prop:"column_name"}),l(i,{label:"字段描述",prop:"column_comment","min-width":"120"},{default:t(({row:a})=>[l(_,{modelValue:a.column_comment,"onUpdate:modelValue":s=>a.column_comment=s,clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"物理类型",prop:"column_type"}),l(i,{label:"必填",width:"80"},{header:t(()=>[u("div",el,[l(b,{modelValue:n(g),"onUpdate:modelValue":e[5]||(e[5]=a=>C(g)?g.value=a:null),onChange:oe},null,8,["modelValue"]),e[26]||(e[26]=u("span",null,"必填",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_required,"onUpdate:modelValue":s=>a.is_required=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"插入",width:"80"},{header:t(()=>[u("div",ll,[l(b,{modelValue:n(A),"onUpdate:modelValue":e[6]||(e[6]=a=>C(A)?A.value=a:null),onChange:ne},null,8,["modelValue"]),e[27]||(e[27]=u("span",null,"插入",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_insert,"onUpdate:modelValue":s=>a.is_insert=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"编辑",width:"80"},{header:t(()=>[u("div",al,[l(b,{modelValue:n($),"onUpdate:modelValue":e[7]||(e[7]=a=>C($)?$.value=a:null),onChange:ue},null,8,["modelValue"]),e[28]||(e[28]=u("span",null,"编辑",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_update,"onUpdate:modelValue":s=>a.is_update=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"列表",width:"80"},{header:t(()=>[u("div",tl,[l(b,{modelValue:n(I),"onUpdate:modelValue":e[8]||(e[8]=a=>C(I)?I.value=a:null),onChange:de},null,8,["modelValue"]),e[29]||(e[29]=u("span",null,"列表",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_lists,"onUpdate:modelValue":s=>a.is_lists=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询",width:"80"},{header:t(()=>[u("div",ol,[l(b,{modelValue:n(T),"onUpdate:modelValue":e[9]||(e[9]=a=>C(T)?T.value=a:null),onChange:se},null,8,["modelValue"]),e[30]||(e[30]=u("span",null,"查询",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_query,"onUpdate:modelValue":s=>a.is_query=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询方式"},{default:t(({row:a})=>[l(U,{modelValue:a.query_type,"onUpdate:modelValue":s=>a.query_type=s},{default:t(()=>[l(m,{label:"=",value:"="}),l(m,{label:"!=",value:"!="}),l(m,{label:">",value:">"}),l(m,{label:">=",value:">="}),l(m,{label:"<",value:"<"}),l(m,{label:"<=",value:"<="}),l(m,{label:"LIKE",value:"like"}),l(m,{label:"BETWEEN",value:"between"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"显示类型","min-width":"120"},{default:t(({row:a})=>[l(U,{modelValue:a.view_type,"onUpdate:modelValue":s=>a.view_type=s},{default:t(()=>[l(m,{label:"文本框",value:"input"}),l(m,{label:"文本域",value:"textarea"}),l(m,{label:"下拉框",value:"select"}),l(m,{label:"单选框",value:"radio"}),l(m,{label:"复选框",value:"checkbox"}),l(m,{label:"日期控件",value:"datetime"}),l(m,{label:"图片选择控件",value:"imageSelect"}),l(m,{label:"富文本控件",value:"editor"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"字典类型","min-width":"120"},{default:t(({row:a})=>[l(U,{modelValue:a.dict_type,"onUpdate:modelValue":s=>a.dict_type=s,clearable:"",disabled:!(a.view_type=="select"||a.view_type=="radio"||a.view_type=="checkbox"),placeholder:"字典类型"},{default:t(()=>[(p(!0),v(q,null,D(n(W).dict_type,(s,G)=>(p(),w(m,{key:G,label:s.name,value:s.type,disabled:!s.status},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"])]),_:1})]),_:1},8,["data"])]),_:1}),l(N,{label:"生成配置",name:"config"},{default:t(()=>[l(r,{label:"模板类型",prop:"template_type"},{default:t(()=>[l(B,{modelValue:n(o).template_type,"onUpdate:modelValue":e[10]||(e[10]=a=>n(o).template_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[31]||(e[31]=[f("单表(curd)",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[32]||(e[32]=[f("树表(curd)",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"删除类型",prop:"delete.type"},{default:t(()=>[l(B,{modelValue:n(o).delete.type,"onUpdate:modelValue":e[11]||(e[11]=a=>n(o).delete.type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[33]||(e[33]=[f("物理删除",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[34]||(e[34]=[f("软删除",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(o).delete.type==1?(p(),w(r,{key:0,label:"删除字段",prop:"delete.name"},{default:t(()=>[l(U,{class:"w-80",modelValue:n(o).delete.name,"onUpdate:modelValue":e[12]||(e[12]=a=>n(o).delete.name=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})):H("",!0),n(o).template_type==1?(p(),v(q,{key:1},[l(r,{label:"树表ID",prop:"treePrimary"},{default:t(()=>[u("div",null,[l(U,{class:"w-80",modelValue:n(o).tree.tree_id,"onUpdate:modelValue":e[13]||(e[13]=a=>n(o).tree.tree_id=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[35]||(e[35]=u("div",{class:"form-tips"},"指定树表的主要ID,一般为主键",-1))])]),_:1}),l(r,{label:"树表父ID",prop:"treeParent"},{default:t(()=>[u("div",null,[l(U,{class:"w-80",modelValue:n(o).tree.tree_pid,"onUpdate:modelValue":e[14]||(e[14]=a=>n(o).tree.tree_pid=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[36]||(e[36]=u("div",{class:"form-tips"},"指定树表的父ID,比如:parent_id",-1))])]),_:1}),l(r,{label:"树名称",prop:"treeName"},{default:t(()=>[l(U,{class:"w-80",modelValue:n(o).tree.tree_name,"onUpdate:modelValue":e[15]||(e[15]=a=>n(o).tree.tree_name=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})],64)):H("",!0),l(r,{label:"类描述"},{default:t(()=>[u("div",nl,[u("div",null,[l(_,{modelValue:n(o).class_comment,"onUpdate:modelValue":e[16]||(e[16]=a=>n(o).class_comment=a),placeholder:"请输入文件描述",clearable:""},null,8,["modelValue"])]),e[37]||(e[37]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,生成文件描述为test控制器(test逻辑/test模型) ")],-1))])]),_:1}),l(r,{label:"生成方式",prop:"generate_type"},{default:t(()=>[l(B,{modelValue:n(o).generate_type,"onUpdate:modelValue":e[17]||(e[17]=a=>n(o).generate_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[38]||(e[38]=[f("压缩包下载",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[39]||(e[39]=[f("生成到模块",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"模块名",prop:"module_name"},{default:t(()=>[u("div",ul,[l(_,{modelValue:n(o).module_name,"onUpdate:modelValue":e[18]||(e[18]=a=>n(o).module_name=a),placeholder:"请输入模块名",clearable:""},null,8,["modelValue"]),e[40]||(e[40]=u("div",{class:"form-tips"},"生成文件所在模块",-1))])]),_:1}),l(r,{label:"类目录"},{default:t(()=>[u("div",dl,[u("div",null,[l(_,{modelValue:n(o).class_dir,"onUpdate:modelValue":e[19]||(e[19]=a=>n(o).class_dir=a),placeholder:"请输入文件所在目录",clearable:""},null,8,["modelValue"])]),e[41]||(e[41]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,则在app/模块名/controller/test下生成控制器 ")],-1))])]),_:1}),l(r,{label:"父级菜单",prop:"menu.pid"},{default:t(()=>[l(fe,{class:"w-80",modelValue:n(o).menu.pid,"onUpdate:modelValue":e[20]||(e[20]=a=>n(o).menu.pid=a),data:n(W).menu,clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":"",placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),l(r,{label:"菜单名称",prop:"menu.name"},{default:t(()=>[u("div",sl,[l(_,{modelValue:n(o).menu.name,"onUpdate:modelValue":e[21]||(e[21]=a=>n(o).menu.name=a),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"菜单构建",prop:"menu.type",required:""},{default:t(()=>[u("div",null,[l(B,{modelValue:n(o).menu.type,"onUpdate:modelValue":e[22]||(e[22]=a=>n(o).menu.type=a)},{default:t(()=>[l(y,{value:1},{default:t(()=>[...e[42]||(e[42]=[f("自动构建",-1)])]),_:1}),l(y,{value:0},{default:t(()=>[...e[43]||(e[43]=[f("手动添加",-1)])]),_:1})]),_:1},8,["modelValue"]),e[44]||(e[44]=u("div",{class:"form-tips"}," 自动构建:自动执行生成菜单sql。手动添加:自行添加菜单。 ",-1))])]),_:1})]),_:1}),l(N,{label:"关联配置",name:"relations"},{default:t(()=>[l(O,{type:"primary",onClick:e[23]||(e[23]=a=>K("add"))},{icon:t(()=>[l(be,{name:"el-icon-Plus"})]),default:t(()=>[e[45]||(e[45]=f(" 新增关联 ",-1))]),_:1}),u("div",ml,[l(Z,{data:n(o).relations,size:"small"},{default:t(()=>[l(i,{prop:"type",label:"关联类型"},{default:t(({row:a})=>[l(M,{value:a.type,options:F},null,8,["value"])]),_:1}),l(i,{prop:"name",label:"关联名称"}),l(i,{prop:"model",label:"关联模型"}),l(i,{prop:"local_key",label:"关联键"},{default:t(({row:a})=>[l(M,{value:a.local_key,options:n(o).table_column,config:{label:"column_comment",value:"column_name"}},null,8,["value","options"])]),_:1}),l(i,{prop:"foreign_key",label:"外键"}),l(i,{label:"操作"},{default:t(({row:a,$index:s})=>[l(O,{link:"",type:"primary",onClick:G=>K("edit",a,s)},{default:t(()=>[...e[46]||(e[46]=[f(" 编辑 ",-1)])]),_:1},8,["onClick"]),l(O,{link:"",type:"danger",onClick:G=>ie(s)},{default:t(()=>[...e[47]||(e[47]=[f(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),n(x)?(p(),w(ze,{key:0,column:n(o).table_column,types:F,ref_key:"editRef",ref:Q,onAdd:me,onEdit:re,onClose:e[24]||(e[24]=a=>x.value=!1)},null,8,["column"])):H("",!0)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])]),_:1}),l(Ve,null,{default:t(()=>[l(O,{type:"primary",onClick:_e},{default:t(()=>[...e[48]||(e[48]=[f("保存",-1)])]),_:1})]),_:1})])}}}),aa=Fe(il,[["__scopeId","data-v-4163419d"]]);export{aa as default}; +import{_ as ye}from"./index-UGD9wxNK.js";import{P as ge,K as ke,D as Ue,m as we,l as Ee,B as qe,C as xe,N as Ce,O as De,H as Re,Q as Ae,R as $e,G as Ie,J as Te,Z as Ne,i as Be}from"./element-plus-DGP1XOrU.js";import{f as j,ak as p,I as v,F as q,ap as D,A as X,a as l,aN as t,J as u,G as w,O as f,H,n as Oe,w as Pe}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as C,n as E,r as h,q as ee,t as le}from"./@vue/reactivity-DiY1c2vO.js";import{c as Se,k as ae,_ as Fe}from"./index-J_eFER10.js";import{l as te}from"./lodash-D3kF6u-c.js";import{m as Le}from"./menu-Bn6AOgrY.js";import{d as Qe}from"./dict-19er6a3L.js";import{t as Ge,g as He}from"./code-MrNYrKx7.js";import{u as je}from"./useDictOptions-CU1TLMPn.js";import{_ as ze}from"./relations-add.vue_vue_type_script_setup_true_lang-BdFhe7ij.js";import{u as Je,a as Ke}from"./vue-router-QlpZ4wdW.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const We=j({__name:"index",props:{options:{default:()=>[]},value:{},config:{default:()=>({label:"name",value:"value"})}},setup(P){const c=P,S=X(()=>c.value!==null&&typeof c.value<"u"?Array.isArray(c.value)?c.value:String(c.value).split(","):[]),R=X(()=>c.options.filter(x=>S.value.includes(x[c.config.value])));return(x,F)=>(p(),v("div",null,[(p(!0),v(q,null,D(n(R),(o,g)=>(p(),v("span",{key:g},Y(g!=0?"、":"")+Y(o[P.config.label]),1))),128))]))}}),Ze={class:"code-edit"},Me={class:"w-80"},Xe={class:"w-80"},Ye={class:"w-80"},he={class:"w-80"},el={class:"header-checkbox"},ll={class:"header-checkbox"},al={class:"header-checkbox"},tl={class:"header-checkbox"},ol={class:"header-checkbox"},nl={class:"w-80"},ul={class:"w-80"},dl={class:"w-80"},sl={class:"w-80"},ml={class:"mt-4"},rl=j({name:"tableEdit"}),il=j({...rl,setup(P){const c=Je(),S=Ke(),R=E("column"),x=E(!1),F=[{name:"一对一",value:"has_one"},{name:"一对多",value:"has_many"}],o=h({id:"",table_name:"",table_comment:"",author:"",remark:"",template_type:0,generate_type:0,module_name:"",class_dir:"",class_comment:"",table_column:[],menu:{pid:0,name:"",type:0},tree:{tree_id:0,tree_pid:0,tree_name:0},delete:{name:"",type:0},relations:[]}),g=E(!1),A=E(!1),$=E(!1),I=E(!1),T=E(!1),oe=()=>{o.table_column.forEach(d=>{d.is_required=g.value?1:0})},ne=()=>{o.table_column.forEach(d=>{d.is_insert=A.value?1:0})},ue=()=>{o.table_column.forEach(d=>{d.is_update=$.value?1:0})},de=()=>{o.table_column.forEach(d=>{d.is_lists=I.value?1:0})},se=()=>{o.table_column.forEach(d=>{d.is_query=T.value?1:0})};let L=0;const z=ee(),Q=ee(),J=h({table_name:[{required:!0,message:"请输入表名称"}],table_comment:[{required:!0,message:"请输入表描述"}],module_name:[{required:!0,message:"请输入模块名"}],generate_type:[{required:!0,trigger:"change"}],template_type:[{required:!0,trigger:"change"}],"menu.pid":[{required:!0,message:"请选择父级菜单"}],"menu.name":[{required:!0,message:"请输入菜单名称"}],"delete.type":[{required:!0,trigger:"change"}],"delete.name":[{required:!0,message:"请选择删除字段"}]}),K=async(d,e,k)=>{var V,_;x.value=!0,await Oe(),e&&k!==void 0&&((V=Q.value)==null||V.setFormData(e),L=k),(_=Q.value)==null||_.open(d)},me=d=>{const e=te.cloneDeep(le(d));o.relations.push(e)},re=async d=>{const e=te.cloneDeep(le(d));console.log(L),o.relations.splice(L,1,e)},ie=d=>{o.relations.splice(d,1)},pe=async()=>{const d=await Ge({id:c.query.id});Object.keys(o).forEach(e=>{o[e]=d[e]}),Pe(()=>o.generate_type,e=>{e==1&&ae.confirm("生成到模块方式如遇同名文件会覆盖旧文件,确定要选择此方式吗?").catch(()=>{o.generate_type=0})})},{optionsData:W}=je({dict_type:{api:Qe},menu:{api:Le,transformData(d){const e={id:0,name:"顶级",children:[]};return e.children=d,[e]}}}),_e=async()=>{var d,e;try{await((d=z.value)==null?void 0:d.validate()),await He(o),S.back()}catch(k){for(const V in k)Object.keys(J).includes(V)&&ae.msgError((e=k[V][0])==null?void 0:e.message)}};return pe(),(d,e)=>{const k=ge,V=ke,_=xe,r=qe,N=Ee,i=De,b=Re,m=$e,U=Ae,Z=Ce,y=Te,B=Ie,fe=Ne,be=Se,O=Be,M=We,ve=we,ce=Ue,Ve=ye;return p(),v("div",Ze,[l(V,{class:"!border-none",shadow:"never"},{default:t(()=>[l(k,{content:"编辑数据表",onBack:e[0]||(e[0]=a=>d.$router.back())})]),_:1}),l(V,{class:"mt-4 !border-none",shadow:"never"},{default:t(()=>[l(ce,{ref_key:"formRef",ref:z,class:"ls-form",model:n(o),"label-width":"100px",rules:n(J)},{default:t(()=>[l(ve,{modelValue:n(R),"onUpdate:modelValue":e[25]||(e[25]=a=>C(R)?R.value=a:null)},{default:t(()=>[l(N,{label:"基础信息",name:"base"},{default:t(()=>[l(r,{label:"表名称",prop:"table_name"},{default:t(()=>[u("div",Me,[l(_,{modelValue:n(o).table_name,"onUpdate:modelValue":e[1]||(e[1]=a=>n(o).table_name=a),placeholder:"请输入表名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"表描述",prop:"table_comment"},{default:t(()=>[u("div",Xe,[l(_,{modelValue:n(o).table_comment,"onUpdate:modelValue":e[2]||(e[2]=a=>n(o).table_comment=a),placeholder:"请输入表描述",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"作者"},{default:t(()=>[u("div",Ye,[l(_,{modelValue:n(o).author,"onUpdate:modelValue":e[3]||(e[3]=a=>n(o).author=a),clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"备注"},{default:t(()=>[u("div",he,[l(_,{modelValue:n(o).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>n(o).remark=a),class:"w-full",type:"textarea",autosize:{minRows:4,maxRows:4},maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1}),l(N,{label:"字段管理",name:"column"},{default:t(()=>[l(Z,{data:n(o).table_column},{default:t(()=>[l(i,{label:"字段列名",prop:"column_name"}),l(i,{label:"字段描述",prop:"column_comment","min-width":"120"},{default:t(({row:a})=>[l(_,{modelValue:a.column_comment,"onUpdate:modelValue":s=>a.column_comment=s,clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"物理类型",prop:"column_type"}),l(i,{label:"必填",width:"80"},{header:t(()=>[u("div",el,[l(b,{modelValue:n(g),"onUpdate:modelValue":e[5]||(e[5]=a=>C(g)?g.value=a:null),onChange:oe},null,8,["modelValue"]),e[26]||(e[26]=u("span",null,"必填",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_required,"onUpdate:modelValue":s=>a.is_required=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"插入",width:"80"},{header:t(()=>[u("div",ll,[l(b,{modelValue:n(A),"onUpdate:modelValue":e[6]||(e[6]=a=>C(A)?A.value=a:null),onChange:ne},null,8,["modelValue"]),e[27]||(e[27]=u("span",null,"插入",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_insert,"onUpdate:modelValue":s=>a.is_insert=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"编辑",width:"80"},{header:t(()=>[u("div",al,[l(b,{modelValue:n($),"onUpdate:modelValue":e[7]||(e[7]=a=>C($)?$.value=a:null),onChange:ue},null,8,["modelValue"]),e[28]||(e[28]=u("span",null,"编辑",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_update,"onUpdate:modelValue":s=>a.is_update=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"列表",width:"80"},{header:t(()=>[u("div",tl,[l(b,{modelValue:n(I),"onUpdate:modelValue":e[8]||(e[8]=a=>C(I)?I.value=a:null),onChange:de},null,8,["modelValue"]),e[29]||(e[29]=u("span",null,"列表",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_lists,"onUpdate:modelValue":s=>a.is_lists=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询",width:"80"},{header:t(()=>[u("div",ol,[l(b,{modelValue:n(T),"onUpdate:modelValue":e[9]||(e[9]=a=>C(T)?T.value=a:null),onChange:se},null,8,["modelValue"]),e[30]||(e[30]=u("span",null,"查询",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_query,"onUpdate:modelValue":s=>a.is_query=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询方式"},{default:t(({row:a})=>[l(U,{modelValue:a.query_type,"onUpdate:modelValue":s=>a.query_type=s},{default:t(()=>[l(m,{label:"=",value:"="}),l(m,{label:"!=",value:"!="}),l(m,{label:">",value:">"}),l(m,{label:">=",value:">="}),l(m,{label:"<",value:"<"}),l(m,{label:"<=",value:"<="}),l(m,{label:"LIKE",value:"like"}),l(m,{label:"BETWEEN",value:"between"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"显示类型","min-width":"120"},{default:t(({row:a})=>[l(U,{modelValue:a.view_type,"onUpdate:modelValue":s=>a.view_type=s},{default:t(()=>[l(m,{label:"文本框",value:"input"}),l(m,{label:"文本域",value:"textarea"}),l(m,{label:"下拉框",value:"select"}),l(m,{label:"单选框",value:"radio"}),l(m,{label:"复选框",value:"checkbox"}),l(m,{label:"日期控件",value:"datetime"}),l(m,{label:"图片选择控件",value:"imageSelect"}),l(m,{label:"富文本控件",value:"editor"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"字典类型","min-width":"120"},{default:t(({row:a})=>[l(U,{modelValue:a.dict_type,"onUpdate:modelValue":s=>a.dict_type=s,clearable:"",disabled:!(a.view_type=="select"||a.view_type=="radio"||a.view_type=="checkbox"),placeholder:"字典类型"},{default:t(()=>[(p(!0),v(q,null,D(n(W).dict_type,(s,G)=>(p(),w(m,{key:G,label:s.name,value:s.type,disabled:!s.status},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"])]),_:1})]),_:1},8,["data"])]),_:1}),l(N,{label:"生成配置",name:"config"},{default:t(()=>[l(r,{label:"模板类型",prop:"template_type"},{default:t(()=>[l(B,{modelValue:n(o).template_type,"onUpdate:modelValue":e[10]||(e[10]=a=>n(o).template_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[31]||(e[31]=[f("单表(curd)",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[32]||(e[32]=[f("树表(curd)",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"删除类型",prop:"delete.type"},{default:t(()=>[l(B,{modelValue:n(o).delete.type,"onUpdate:modelValue":e[11]||(e[11]=a=>n(o).delete.type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[33]||(e[33]=[f("物理删除",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[34]||(e[34]=[f("软删除",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(o).delete.type==1?(p(),w(r,{key:0,label:"删除字段",prop:"delete.name"},{default:t(()=>[l(U,{class:"w-80",modelValue:n(o).delete.name,"onUpdate:modelValue":e[12]||(e[12]=a=>n(o).delete.name=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})):H("",!0),n(o).template_type==1?(p(),v(q,{key:1},[l(r,{label:"树表ID",prop:"treePrimary"},{default:t(()=>[u("div",null,[l(U,{class:"w-80",modelValue:n(o).tree.tree_id,"onUpdate:modelValue":e[13]||(e[13]=a=>n(o).tree.tree_id=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[35]||(e[35]=u("div",{class:"form-tips"},"指定树表的主要ID,一般为主键",-1))])]),_:1}),l(r,{label:"树表父ID",prop:"treeParent"},{default:t(()=>[u("div",null,[l(U,{class:"w-80",modelValue:n(o).tree.tree_pid,"onUpdate:modelValue":e[14]||(e[14]=a=>n(o).tree.tree_pid=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[36]||(e[36]=u("div",{class:"form-tips"},"指定树表的父ID,比如:parent_id",-1))])]),_:1}),l(r,{label:"树名称",prop:"treeName"},{default:t(()=>[l(U,{class:"w-80",modelValue:n(o).tree.tree_name,"onUpdate:modelValue":e[15]||(e[15]=a=>n(o).tree.tree_name=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})],64)):H("",!0),l(r,{label:"类描述"},{default:t(()=>[u("div",nl,[u("div",null,[l(_,{modelValue:n(o).class_comment,"onUpdate:modelValue":e[16]||(e[16]=a=>n(o).class_comment=a),placeholder:"请输入文件描述",clearable:""},null,8,["modelValue"])]),e[37]||(e[37]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,生成文件描述为test控制器(test逻辑/test模型) ")],-1))])]),_:1}),l(r,{label:"生成方式",prop:"generate_type"},{default:t(()=>[l(B,{modelValue:n(o).generate_type,"onUpdate:modelValue":e[17]||(e[17]=a=>n(o).generate_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[38]||(e[38]=[f("压缩包下载",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[39]||(e[39]=[f("生成到模块",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"模块名",prop:"module_name"},{default:t(()=>[u("div",ul,[l(_,{modelValue:n(o).module_name,"onUpdate:modelValue":e[18]||(e[18]=a=>n(o).module_name=a),placeholder:"请输入模块名",clearable:""},null,8,["modelValue"]),e[40]||(e[40]=u("div",{class:"form-tips"},"生成文件所在模块",-1))])]),_:1}),l(r,{label:"类目录"},{default:t(()=>[u("div",dl,[u("div",null,[l(_,{modelValue:n(o).class_dir,"onUpdate:modelValue":e[19]||(e[19]=a=>n(o).class_dir=a),placeholder:"请输入文件所在目录",clearable:""},null,8,["modelValue"])]),e[41]||(e[41]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,则在app/模块名/controller/test下生成控制器 ")],-1))])]),_:1}),l(r,{label:"父级菜单",prop:"menu.pid"},{default:t(()=>[l(fe,{class:"w-80",modelValue:n(o).menu.pid,"onUpdate:modelValue":e[20]||(e[20]=a=>n(o).menu.pid=a),data:n(W).menu,clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":"",placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),l(r,{label:"菜单名称",prop:"menu.name"},{default:t(()=>[u("div",sl,[l(_,{modelValue:n(o).menu.name,"onUpdate:modelValue":e[21]||(e[21]=a=>n(o).menu.name=a),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"菜单构建",prop:"menu.type",required:""},{default:t(()=>[u("div",null,[l(B,{modelValue:n(o).menu.type,"onUpdate:modelValue":e[22]||(e[22]=a=>n(o).menu.type=a)},{default:t(()=>[l(y,{value:1},{default:t(()=>[...e[42]||(e[42]=[f("自动构建",-1)])]),_:1}),l(y,{value:0},{default:t(()=>[...e[43]||(e[43]=[f("手动添加",-1)])]),_:1})]),_:1},8,["modelValue"]),e[44]||(e[44]=u("div",{class:"form-tips"}," 自动构建:自动执行生成菜单sql。手动添加:自行添加菜单。 ",-1))])]),_:1})]),_:1}),l(N,{label:"关联配置",name:"relations"},{default:t(()=>[l(O,{type:"primary",onClick:e[23]||(e[23]=a=>K("add"))},{icon:t(()=>[l(be,{name:"el-icon-Plus"})]),default:t(()=>[e[45]||(e[45]=f(" 新增关联 ",-1))]),_:1}),u("div",ml,[l(Z,{data:n(o).relations,size:"small"},{default:t(()=>[l(i,{prop:"type",label:"关联类型"},{default:t(({row:a})=>[l(M,{value:a.type,options:F},null,8,["value"])]),_:1}),l(i,{prop:"name",label:"关联名称"}),l(i,{prop:"model",label:"关联模型"}),l(i,{prop:"local_key",label:"关联键"},{default:t(({row:a})=>[l(M,{value:a.local_key,options:n(o).table_column,config:{label:"column_comment",value:"column_name"}},null,8,["value","options"])]),_:1}),l(i,{prop:"foreign_key",label:"外键"}),l(i,{label:"操作"},{default:t(({row:a,$index:s})=>[l(O,{link:"",type:"primary",onClick:G=>K("edit",a,s)},{default:t(()=>[...e[46]||(e[46]=[f(" 编辑 ",-1)])]),_:1},8,["onClick"]),l(O,{link:"",type:"danger",onClick:G=>ie(s)},{default:t(()=>[...e[47]||(e[47]=[f(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),n(x)?(p(),w(ze,{key:0,column:n(o).table_column,types:F,ref_key:"editRef",ref:Q,onAdd:me,onEdit:re,onClose:e[24]||(e[24]=a=>x.value=!1)},null,8,["column"])):H("",!0)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])]),_:1}),l(Ve,null,{default:t(()=>[l(O,{type:"primary",onClick:_e},{default:t(()=>[...e[48]||(e[48]=[f("保存",-1)])]),_:1})]),_:1})])}}}),aa=Fe(il,[["__scopeId","data-v-4163419d"]]);export{aa as default}; diff --git a/server/public/admin/assets/edit-C3Dfhz08.js b/server/public/admin/assets/edit-BXwpNDY-.js similarity index 77% rename from server/public/admin/assets/edit-C3Dfhz08.js rename to server/public/admin/assets/edit-BXwpNDY-.js index 8d8a1b3a3..4ff961ac2 100644 --- a/server/public/admin/assets/edit-C3Dfhz08.js +++ b/server/public/admin/assets/edit-BXwpNDY-.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BbtSbzTO.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./message-DOlfHejJ.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Csd8PIFD.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./message-BwLlJSkW.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit-hvqOlY5P.js b/server/public/admin/assets/edit-B_P_HVx3.js similarity index 95% rename from server/public/admin/assets/edit-hvqOlY5P.js rename to server/public/admin/assets/edit-B_P_HVx3.js index 4b3df7b8d..a12502f16 100644 --- a/server/public/admin/assets/edit-hvqOlY5P.js +++ b/server/public/admin/assets/edit-B_P_HVx3.js @@ -1 +1 @@ -import{D as W,I as X,B as Y,C as h,G as ee,J as le,h as oe,Z as ae,Q as te,R as re,g as ne,i as de,e as ie}from"./element-plus-DGP1XOrU.js";import{_ as se}from"./picker-C0hwSppU.js";import{b as pe,d as ue,e as me}from"./admin-BiglL3bM.js";import{d as fe}from"./department-OHG8LTQz.js";import{j as _e}from"./post-CPnP1Klt.js";import{k as be,o as ge,_ as ce}from"./index-fRv3NTFQ.js";import{u as Ve}from"./useDictOptions-Cx2-jvcM.js";import{f as ve,ak as g,I as y,a,aN as r,O as u,J as s,F as B,ap as I,G as N,A as we}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ye,q as xe,n as c,r as O}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ue={class:"edit-drawer"},Ee={class:"w-full"},je={class:"ml-2 text-gray-500"},qe={class:"ml-2 text-gray-500"},De={class:"ml-2 text-gray-500"},ke={class:"ml-2 text-gray-500"},Re={class:"flex justify-end"},Ce=ve({__name:"edit",emits:["success","close"],setup(Ae,{expose:S,emit:F}){function T(d){if(d.status!==1)return!0;const e=d.children;return Array.isArray(e)&&e.length>0}const x=F,U=xe(),m=c(!1),f=c("add"),v=c(!1),E=c([]),G=async()=>{const d=await ge({type:"department"});E.value=(d==null?void 0:d.department)||[]},J=we(()=>f.value=="edit"?"编辑医生":"新增医生"),l=O({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),{optionsData:j}=Ve({jobs:{api:_e},dept:{api:fe,params:{apply_data_scope:1}}}),w=(d,e,i)=>{l.password&&(e||i(new Error("请再次输入密码")),e!==l.password&&i(new Error("两次输入密码不一致!"))),i()},_=O({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(d,e,i)=>{e&&!/^1[3-9]\d{9}$/.test(e)?i(new Error("请输入正确的手机号")):i()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),Q=async()=>{var d;try{await((d=U.value)==null?void 0:d.validate()),v.value=!0,f.value=="edit"?await pe(l):await ue(l),be.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},z=(d="add")=>{f.value=d,m.value=!0,G(),d==="add"&&(Object.assign(l,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),_.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],_.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}])},L=async d=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await me({id:d.id});for(const i in l)e[i]!=null&&e[i]!=null&&(l[i]=e[i]);l.role_id.includes(1)||l.role_id.push(1)},q=()=>{m.value=!1,x("close")};return S({open:z,setFormData:L}),(d,e)=>{const i=X,p=h,n=Y,D=se,k=le,P=ee,Z=oe,$=ae,R=re,C=te,b=ne,H=W,A=de,K=ie;return g(),y("div",Ue,[a(K,{modelValue:o(m),"onUpdate:modelValue":e[23]||(e[23]=t=>ye(m)?m.value=t:null),title:o(J),direction:"rtl",size:"780px","before-close":q},{footer:r(()=>[s("div",Re,[a(A,{onClick:q},{default:r(()=>[...e[35]||(e[35]=[u("取消",-1)])]),_:1}),a(A,{type:"primary",onClick:Q,loading:o(v)},{default:r(()=>[...e[36]||(e[36]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[a(H,{ref_key:"formRef",ref:U,model:o(l),"label-width":"100px",rules:o(_)},{default:r(()=>[a(i,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("基本信息",-1)])]),_:1}),a(n,{label:"账号",prop:"account"},{default:r(()=>[a(p,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>o(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"头像"},{default:r(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>o(l).avatar=t),limit:1},null,8,["modelValue"])]),e[25]||(e[25]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),a(n,{label:"姓名",prop:"name"},{default:r(()=>[a(p,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>o(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:r(()=>[a(P,{modelValue:o(l).gender,"onUpdate:modelValue":e[3]||(e[3]=t=>o(l).gender=t)},{default:r(()=>[a(k,{label:1},{default:r(()=>[...e[26]||(e[26]=[u("男",-1)])]),_:1}),a(k,{label:2},{default:r(()=>[...e[27]||(e[27]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:r(()=>[a(Z,{modelValue:o(l).age,"onUpdate:modelValue":e[4]||(e[4]=t=>o(l).age=t),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:r(()=>[a(p,{modelValue:o(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>o(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("组织信息",-1)])]),_:1}),a(n,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",Ee,[a($,{class:"flex-1 w-full",modelValue:o(l).dept_id,"onUpdate:modelValue":e[6]||(e[6]=t=>o(l).dept_id=t),data:o(j).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:T},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[29]||(e[29]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),a(n,{label:"岗位",prop:"jobs_id"},{default:r(()=>[a(C,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=t=>o(l).jobs_id=t),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(g(!0),y(B,null,I(o(j).jobs,(t,M)=>(g(),N(R,{key:M,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[30]||(e[30]=[u("专业信息",-1)])]),_:1}),a(n,{label:"职称",prop:"title"},{default:r(()=>[a(p,{modelValue:o(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>o(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"执业证书编号",prop:"license_no"},{default:r(()=>[a(p,{modelValue:o(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>o(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"资质图片"},{default:r(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).qualification_images,"onUpdate:modelValue":e[10]||(e[10]=t=>o(l).qualification_images=t),limit:9},null,8,["modelValue"])]),e[31]||(e[31]=s("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),a(n,{label:"图文问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_image_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>o(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",je,V(o(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"视频问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_video_consult,"onUpdate:modelValue":e[12]||(e[12]=t=>o(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",qe,V(o(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"是否开启收费"},{default:r(()=>[a(b,{modelValue:o(l).enable_charge,"onUpdate:modelValue":e[13]||(e[13]=t=>o(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",De,V(o(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"所属科室",prop:"department"},{default:r(()=>[a(C,{modelValue:o(l).department,"onUpdate:modelValue":e[14]||(e[14]=t=>o(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(g(!0),y(B,null,I(o(E),t=>(g(),N(R,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"擅长领域",prop:"specialty"},{default:r(()=>[a(p,{modelValue:o(l).specialty,"onUpdate:modelValue":e[15]||(e[15]=t=>o(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[32]||(e[32]=[u("履历信息",-1)])]),_:1}),a(n,{label:"教育背景",prop:"education"},{default:r(()=>[a(p,{modelValue:o(l).education,"onUpdate:modelValue":e[16]||(e[16]=t=>o(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),a(n,{label:"工作经历",prop:"experience"},{default:r(()=>[a(p,{modelValue:o(l).experience,"onUpdate:modelValue":e[17]||(e[17]=t=>o(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),a(n,{label:"荣誉资质",prop:"honors"},{default:r(()=>[a(p,{modelValue:o(l).honors,"onUpdate:modelValue":e[18]||(e[18]=t=>o(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[33]||(e[33]=[u("账号设置",-1)])]),_:1}),a(n,{label:"密码",prop:"password"},{default:r(()=>[a(p,{modelValue:o(l).password,"onUpdate:modelValue":e[19]||(e[19]=t=>o(l).password=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),a(n,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[a(p,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[20]||(e[20]=t=>o(l).password_confirm=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),a(n,{label:"状态"},{default:r(()=>[a(b,{modelValue:o(l).disable,"onUpdate:modelValue":e[21]||(e[21]=t=>o(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",ke,V(o(l).disable===0?"启用":"禁用"),1)]),_:1}),a(n,{label:"多处登录"},{default:r(()=>[s("div",null,[a(b,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[22]||(e[22]=t=>o(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[34]||(e[34]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Ol=ce(Ce,[["__scopeId","data-v-c5cf7e96"]]);export{Ol as default}; +import{D as W,I as X,B as Y,C as h,G as ee,J as le,h as oe,Z as ae,Q as te,R as re,g as ne,i as de,e as ie}from"./element-plus-DGP1XOrU.js";import{_ as se}from"./picker-lbwHqE-a.js";import{b as pe,d as ue,e as me}from"./admin-RUE9duOm.js";import{d as fe}from"./department-DdhKHNS-.js";import{j as _e}from"./post-BjyIxcyn.js";import{k as be,o as ge,_ as ce}from"./index-J_eFER10.js";import{u as Ve}from"./useDictOptions-CU1TLMPn.js";import{f as ve,ak as g,I as y,a,aN as r,O as u,J as s,F as B,ap as I,G as N,A as we}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ye,q as xe,n as c,r as O}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ue={class:"edit-drawer"},Ee={class:"w-full"},je={class:"ml-2 text-gray-500"},qe={class:"ml-2 text-gray-500"},De={class:"ml-2 text-gray-500"},ke={class:"ml-2 text-gray-500"},Re={class:"flex justify-end"},Ce=ve({__name:"edit",emits:["success","close"],setup(Ae,{expose:S,emit:F}){function T(d){if(d.status!==1)return!0;const e=d.children;return Array.isArray(e)&&e.length>0}const x=F,U=xe(),m=c(!1),f=c("add"),v=c(!1),E=c([]),G=async()=>{const d=await ge({type:"department"});E.value=(d==null?void 0:d.department)||[]},J=we(()=>f.value=="edit"?"编辑医生":"新增医生"),l=O({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),{optionsData:j}=Ve({jobs:{api:_e},dept:{api:fe,params:{apply_data_scope:1}}}),w=(d,e,i)=>{l.password&&(e||i(new Error("请再次输入密码")),e!==l.password&&i(new Error("两次输入密码不一致!"))),i()},_=O({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(d,e,i)=>{e&&!/^1[3-9]\d{9}$/.test(e)?i(new Error("请输入正确的手机号")):i()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),Q=async()=>{var d;try{await((d=U.value)==null?void 0:d.validate()),v.value=!0,f.value=="edit"?await pe(l):await ue(l),be.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},z=(d="add")=>{f.value=d,m.value=!0,G(),d==="add"&&(Object.assign(l,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),_.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],_.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}])},L=async d=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await me({id:d.id});for(const i in l)e[i]!=null&&e[i]!=null&&(l[i]=e[i]);l.role_id.includes(1)||l.role_id.push(1)},q=()=>{m.value=!1,x("close")};return S({open:z,setFormData:L}),(d,e)=>{const i=X,p=h,n=Y,D=se,k=le,P=ee,Z=oe,$=ae,R=re,C=te,b=ne,H=W,A=de,K=ie;return g(),y("div",Ue,[a(K,{modelValue:o(m),"onUpdate:modelValue":e[23]||(e[23]=t=>ye(m)?m.value=t:null),title:o(J),direction:"rtl",size:"780px","before-close":q},{footer:r(()=>[s("div",Re,[a(A,{onClick:q},{default:r(()=>[...e[35]||(e[35]=[u("取消",-1)])]),_:1}),a(A,{type:"primary",onClick:Q,loading:o(v)},{default:r(()=>[...e[36]||(e[36]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[a(H,{ref_key:"formRef",ref:U,model:o(l),"label-width":"100px",rules:o(_)},{default:r(()=>[a(i,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("基本信息",-1)])]),_:1}),a(n,{label:"账号",prop:"account"},{default:r(()=>[a(p,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>o(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"头像"},{default:r(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>o(l).avatar=t),limit:1},null,8,["modelValue"])]),e[25]||(e[25]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),a(n,{label:"姓名",prop:"name"},{default:r(()=>[a(p,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>o(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:r(()=>[a(P,{modelValue:o(l).gender,"onUpdate:modelValue":e[3]||(e[3]=t=>o(l).gender=t)},{default:r(()=>[a(k,{label:1},{default:r(()=>[...e[26]||(e[26]=[u("男",-1)])]),_:1}),a(k,{label:2},{default:r(()=>[...e[27]||(e[27]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:r(()=>[a(Z,{modelValue:o(l).age,"onUpdate:modelValue":e[4]||(e[4]=t=>o(l).age=t),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:r(()=>[a(p,{modelValue:o(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>o(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("组织信息",-1)])]),_:1}),a(n,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",Ee,[a($,{class:"flex-1 w-full",modelValue:o(l).dept_id,"onUpdate:modelValue":e[6]||(e[6]=t=>o(l).dept_id=t),data:o(j).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:T},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[29]||(e[29]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),a(n,{label:"岗位",prop:"jobs_id"},{default:r(()=>[a(C,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=t=>o(l).jobs_id=t),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(g(!0),y(B,null,I(o(j).jobs,(t,M)=>(g(),N(R,{key:M,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[30]||(e[30]=[u("专业信息",-1)])]),_:1}),a(n,{label:"职称",prop:"title"},{default:r(()=>[a(p,{modelValue:o(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>o(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"执业证书编号",prop:"license_no"},{default:r(()=>[a(p,{modelValue:o(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>o(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"资质图片"},{default:r(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).qualification_images,"onUpdate:modelValue":e[10]||(e[10]=t=>o(l).qualification_images=t),limit:9},null,8,["modelValue"])]),e[31]||(e[31]=s("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),a(n,{label:"图文问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_image_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>o(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",je,V(o(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"视频问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_video_consult,"onUpdate:modelValue":e[12]||(e[12]=t=>o(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",qe,V(o(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"是否开启收费"},{default:r(()=>[a(b,{modelValue:o(l).enable_charge,"onUpdate:modelValue":e[13]||(e[13]=t=>o(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",De,V(o(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"所属科室",prop:"department"},{default:r(()=>[a(C,{modelValue:o(l).department,"onUpdate:modelValue":e[14]||(e[14]=t=>o(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(g(!0),y(B,null,I(o(E),t=>(g(),N(R,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"擅长领域",prop:"specialty"},{default:r(()=>[a(p,{modelValue:o(l).specialty,"onUpdate:modelValue":e[15]||(e[15]=t=>o(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[32]||(e[32]=[u("履历信息",-1)])]),_:1}),a(n,{label:"教育背景",prop:"education"},{default:r(()=>[a(p,{modelValue:o(l).education,"onUpdate:modelValue":e[16]||(e[16]=t=>o(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),a(n,{label:"工作经历",prop:"experience"},{default:r(()=>[a(p,{modelValue:o(l).experience,"onUpdate:modelValue":e[17]||(e[17]=t=>o(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),a(n,{label:"荣誉资质",prop:"honors"},{default:r(()=>[a(p,{modelValue:o(l).honors,"onUpdate:modelValue":e[18]||(e[18]=t=>o(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[33]||(e[33]=[u("账号设置",-1)])]),_:1}),a(n,{label:"密码",prop:"password"},{default:r(()=>[a(p,{modelValue:o(l).password,"onUpdate:modelValue":e[19]||(e[19]=t=>o(l).password=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),a(n,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[a(p,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[20]||(e[20]=t=>o(l).password_confirm=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),a(n,{label:"状态"},{default:r(()=>[a(b,{modelValue:o(l).disable,"onUpdate:modelValue":e[21]||(e[21]=t=>o(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",ke,V(o(l).disable===0?"启用":"禁用"),1)]),_:1}),a(n,{label:"多处登录"},{default:r(()=>[s("div",null,[a(b,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[22]||(e[22]=t=>o(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[34]||(e[34]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Ol=ce(Ce,[["__scopeId","data-v-c5cf7e96"]]);export{Ol as default}; diff --git a/server/public/admin/assets/edit-CX0gtA17.js b/server/public/admin/assets/edit-BbPz3ZH3.js similarity index 90% rename from server/public/admin/assets/edit-CX0gtA17.js rename to server/public/admin/assets/edit-BbPz3ZH3.js index a0858cf9c..ee02b0c75 100644 --- a/server/public/admin/assets/edit-CX0gtA17.js +++ b/server/public/admin/assets/edit-BbPz3ZH3.js @@ -1 +1 @@ -import{_ as O}from"./index-D6hiZISU.js";import{P as $,K as z,D as G,B as T,C as j,Q as A,R as J,h as L,G as P,J as S,i as H}from"./element-plus-DGP1XOrU.js";import{_ as K}from"./index.vue_vue_type_style_index_0_lang-DZ1VD0du.js";import{_ as M}from"./picker-C0hwSppU.js";import{g as Q,h as W,i as X,j as Y}from"./article-BsGgZfIu.js";import{u as Z}from"./useDictOptions-Cx2-jvcM.js";import{l as tt}from"./index-fRv3NTFQ.js";import{u as et,a as ot}from"./vue-router-QlpZ4wdW.js";import{f as v,ak as d,I as V,a as e,aN as r,J as i,F as lt,ap as at,G as rt,O as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as w,q as it}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const st={class:"article-edit"},mt={class:"xl:flex"},nt={class:"w-80"},pt={class:"w-80"},dt={class:"w-80"},ut={class:"w-80"},_t={class:"xl:ml-20"},ct=v({name:"articleListsEdit"}),ge=v({...ct,setup(ft){const p=et(),g=ot(),o=w({id:"",title:"",image:"",cid:"",desc:"",author:"",content:"",click_virtual:0,sort:0,is_show:1,abstract:""}),{removeTab:x}=tt(),_=it(),k=w({title:[{required:!0,message:"请输入文章标题",trigger:"blur"}],cid:[{required:!0,message:"请选择文章栏目",trigger:"blur"}]}),E=async()=>{const m=await Q({id:p.query.id});Object.keys(o).forEach(t=>{o[t]=m[t]})},{optionsData:R}=Z({article_cate:{api:Y}}),y=async()=>{var m;await((m=_.value)==null?void 0:m.validate()),p.query.id?await W(o):await X(o),x(),g.back()};return p.query.id&&E(),(m,t)=>{const U=$,c=z,n=j,s=T,h=J,q=A,B=M,f=L,b=S,C=P,D=K,N=G,F=H,I=O;return d(),V("div",st,[e(c,{class:"!border-none",shadow:"never"},{default:r(()=>[e(U,{content:m.$route.meta.title,onBack:t[0]||(t[0]=l=>m.$router.back())},null,8,["content"])]),_:1}),e(c,{class:"mt-4 !border-none",shadow:"never"},{default:r(()=>[e(N,{ref_key:"formRef",ref:_,class:"ls-form",model:a(o),"label-width":"85px",rules:a(k)},{default:r(()=>[i("div",mt,[i("div",null,[e(s,{label:"文章标题",prop:"title"},{default:r(()=>[i("div",nt,[e(n,{modelValue:a(o).title,"onUpdate:modelValue":t[1]||(t[1]=l=>a(o).title=l),placeholder:"请输入文章标题",type:"textarea",autosize:{minRows:3,maxRows:3},maxlength:"64","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章栏目",prop:"cid"},{default:r(()=>[e(q,{class:"w-80",modelValue:a(o).cid,"onUpdate:modelValue":t[2]||(t[2]=l=>a(o).cid=l),placeholder:"请选择文章栏目",clearable:""},{default:r(()=>[(d(!0),V(lt,null,at(a(R).article_cate,l=>(d(),rt(h,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"文章简介",prop:"desc"},{default:r(()=>[i("div",pt,[e(n,{modelValue:a(o).desc,"onUpdate:modelValue":t[3]||(t[3]=l=>a(o).desc=l),placeholder:"请输入文章简介",type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"摘要",prop:"abstract"},{default:r(()=>[i("div",dt,[e(n,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(o).abstract,"onUpdate:modelValue":t[4]||(t[4]=l=>a(o).abstract=l),maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章封面",prop:"image"},{default:r(()=>[i("div",null,[i("div",null,[e(B,{modelValue:a(o).image,"onUpdate:modelValue":t[5]||(t[5]=l=>a(o).image=l),limit:1},null,8,["modelValue"])]),t[11]||(t[11]=i("div",{class:"form-tips"},"建议尺寸:240*180px",-1))])]),_:1}),e(s,{label:"作者",prop:"author"},{default:r(()=>[i("div",ut,[e(n,{modelValue:a(o).author,"onUpdate:modelValue":t[6]||(t[6]=l=>a(o).author=l),placeholder:"请输入作者名称"},null,8,["modelValue"])])]),_:1}),e(s,{label:"排序",prop:"sort"},{default:r(()=>[i("div",null,[e(f,{modelValue:a(o).sort,"onUpdate:modelValue":t[7]||(t[7]=l=>a(o).sort=l),min:0,max:9999},null,8,["modelValue"]),t[12]||(t[12]=i("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),e(s,{label:"初始浏览量",prop:"click_virtual"},{default:r(()=>[i("div",null,[e(f,{modelValue:a(o).click_virtual,"onUpdate:modelValue":t[8]||(t[8]=l=>a(o).click_virtual=l),min:0},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章状态",required:"",prop:"is_show"},{default:r(()=>[e(C,{modelValue:a(o).is_show,"onUpdate:modelValue":t[9]||(t[9]=l=>a(o).is_show=l)},{default:r(()=>[e(b,{value:1},{default:r(()=>[...t[13]||(t[13]=[u("显示",-1)])]),_:1}),e(b,{value:0},{default:r(()=>[...t[14]||(t[14]=[u("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),i("div",_t,[e(s,{label:"文章内容",prop:"content"},{default:r(()=>[e(D,{modelValue:a(o).content,"onUpdate:modelValue":t[10]||(t[10]=l=>a(o).content=l),height:667,width:375},null,8,["modelValue"])]),_:1})])])]),_:1},8,["model","rules"])]),_:1}),e(I,null,{default:r(()=>[e(F,{type:"primary",onClick:y},{default:r(()=>[...t[15]||(t[15]=[u("保存",-1)])]),_:1})]),_:1})])}}});export{ge as default}; +import{_ as O}from"./index-UGD9wxNK.js";import{P as $,K as z,D as G,B as T,C as j,Q as A,R as J,h as L,G as P,J as S,i as H}from"./element-plus-DGP1XOrU.js";import{_ as K}from"./index.vue_vue_type_style_index_0_lang-54f2yh7y.js";import{_ as M}from"./picker-lbwHqE-a.js";import{g as Q,h as W,i as X,j as Y}from"./article-D7twg9M1.js";import{u as Z}from"./useDictOptions-CU1TLMPn.js";import{l as tt}from"./index-J_eFER10.js";import{u as et,a as ot}from"./vue-router-QlpZ4wdW.js";import{f as v,ak as d,I as V,a as e,aN as r,J as i,F as lt,ap as at,G as rt,O as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as w,q as it}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const st={class:"article-edit"},mt={class:"xl:flex"},nt={class:"w-80"},pt={class:"w-80"},dt={class:"w-80"},ut={class:"w-80"},_t={class:"xl:ml-20"},ct=v({name:"articleListsEdit"}),ge=v({...ct,setup(ft){const p=et(),g=ot(),o=w({id:"",title:"",image:"",cid:"",desc:"",author:"",content:"",click_virtual:0,sort:0,is_show:1,abstract:""}),{removeTab:x}=tt(),_=it(),k=w({title:[{required:!0,message:"请输入文章标题",trigger:"blur"}],cid:[{required:!0,message:"请选择文章栏目",trigger:"blur"}]}),E=async()=>{const m=await Q({id:p.query.id});Object.keys(o).forEach(t=>{o[t]=m[t]})},{optionsData:R}=Z({article_cate:{api:Y}}),y=async()=>{var m;await((m=_.value)==null?void 0:m.validate()),p.query.id?await W(o):await X(o),x(),g.back()};return p.query.id&&E(),(m,t)=>{const U=$,c=z,n=j,s=T,h=J,q=A,B=M,f=L,b=S,C=P,D=K,N=G,F=H,I=O;return d(),V("div",st,[e(c,{class:"!border-none",shadow:"never"},{default:r(()=>[e(U,{content:m.$route.meta.title,onBack:t[0]||(t[0]=l=>m.$router.back())},null,8,["content"])]),_:1}),e(c,{class:"mt-4 !border-none",shadow:"never"},{default:r(()=>[e(N,{ref_key:"formRef",ref:_,class:"ls-form",model:a(o),"label-width":"85px",rules:a(k)},{default:r(()=>[i("div",mt,[i("div",null,[e(s,{label:"文章标题",prop:"title"},{default:r(()=>[i("div",nt,[e(n,{modelValue:a(o).title,"onUpdate:modelValue":t[1]||(t[1]=l=>a(o).title=l),placeholder:"请输入文章标题",type:"textarea",autosize:{minRows:3,maxRows:3},maxlength:"64","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章栏目",prop:"cid"},{default:r(()=>[e(q,{class:"w-80",modelValue:a(o).cid,"onUpdate:modelValue":t[2]||(t[2]=l=>a(o).cid=l),placeholder:"请选择文章栏目",clearable:""},{default:r(()=>[(d(!0),V(lt,null,at(a(R).article_cate,l=>(d(),rt(h,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"文章简介",prop:"desc"},{default:r(()=>[i("div",pt,[e(n,{modelValue:a(o).desc,"onUpdate:modelValue":t[3]||(t[3]=l=>a(o).desc=l),placeholder:"请输入文章简介",type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"摘要",prop:"abstract"},{default:r(()=>[i("div",dt,[e(n,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(o).abstract,"onUpdate:modelValue":t[4]||(t[4]=l=>a(o).abstract=l),maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章封面",prop:"image"},{default:r(()=>[i("div",null,[i("div",null,[e(B,{modelValue:a(o).image,"onUpdate:modelValue":t[5]||(t[5]=l=>a(o).image=l),limit:1},null,8,["modelValue"])]),t[11]||(t[11]=i("div",{class:"form-tips"},"建议尺寸:240*180px",-1))])]),_:1}),e(s,{label:"作者",prop:"author"},{default:r(()=>[i("div",ut,[e(n,{modelValue:a(o).author,"onUpdate:modelValue":t[6]||(t[6]=l=>a(o).author=l),placeholder:"请输入作者名称"},null,8,["modelValue"])])]),_:1}),e(s,{label:"排序",prop:"sort"},{default:r(()=>[i("div",null,[e(f,{modelValue:a(o).sort,"onUpdate:modelValue":t[7]||(t[7]=l=>a(o).sort=l),min:0,max:9999},null,8,["modelValue"]),t[12]||(t[12]=i("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),e(s,{label:"初始浏览量",prop:"click_virtual"},{default:r(()=>[i("div",null,[e(f,{modelValue:a(o).click_virtual,"onUpdate:modelValue":t[8]||(t[8]=l=>a(o).click_virtual=l),min:0},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章状态",required:"",prop:"is_show"},{default:r(()=>[e(C,{modelValue:a(o).is_show,"onUpdate:modelValue":t[9]||(t[9]=l=>a(o).is_show=l)},{default:r(()=>[e(b,{value:1},{default:r(()=>[...t[13]||(t[13]=[u("显示",-1)])]),_:1}),e(b,{value:0},{default:r(()=>[...t[14]||(t[14]=[u("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),i("div",_t,[e(s,{label:"文章内容",prop:"content"},{default:r(()=>[e(D,{modelValue:a(o).content,"onUpdate:modelValue":t[10]||(t[10]=l=>a(o).content=l),height:667,width:375},null,8,["modelValue"])]),_:1})])])]),_:1},8,["model","rules"])]),_:1}),e(I,null,{default:r(()=>[e(F,{type:"primary",onClick:y},{default:r(()=>[...t[15]||(t[15]=[u("保存",-1)])]),_:1})]),_:1})])}}});export{ge as default}; diff --git a/server/public/admin/assets/edit-Cr_KB7Uj.js b/server/public/admin/assets/edit-Bwbysg4y.js similarity index 83% rename from server/public/admin/assets/edit-Cr_KB7Uj.js rename to server/public/admin/assets/edit-Bwbysg4y.js index deae070cf..1070427a6 100644 --- a/server/public/admin/assets/edit-Cr_KB7Uj.js +++ b/server/public/admin/assets/edit-Bwbysg4y.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-_2sKDGdl.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-C-Q6zJAz.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit-B86t9jbn.js b/server/public/admin/assets/edit-CF2O2Fit.js similarity index 74% rename from server/public/admin/assets/edit-B86t9jbn.js rename to server/public/admin/assets/edit-CF2O2Fit.js index fca95dc71..20a0d87fc 100644 --- a/server/public/admin/assets/edit-B86t9jbn.js +++ b/server/public/admin/assets/edit-CF2O2Fit.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BRlch2LV.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./department-OHG8LTQz.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./useDictOptions-Cx2-jvcM.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-B0HIfaxe.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./department-DdhKHNS-.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./useDictOptions-CU1TLMPn.js";export{o as default}; diff --git a/server/public/admin/assets/edit-DhPDggz8.js b/server/public/admin/assets/edit-Cp8PlYx-.js similarity index 97% rename from server/public/admin/assets/edit-DhPDggz8.js rename to server/public/admin/assets/edit-Cp8PlYx-.js index 4c7d3d454..aae69c5b3 100644 --- a/server/public/admin/assets/edit-DhPDggz8.js +++ b/server/public/admin/assets/edit-Cp8PlYx-.js @@ -1 +1 @@ -import{D as A,B as Q,S as T,Q as z,ag as J,R as L,Z,h as j,C as H}from"./element-plus-DGP1XOrU.js";import{a as K,b as W,c as X}from"./finance-BnbY_luA.js";import{_ as $}from"./index-D5PquIeg.js";import{f as ee,ak as d,I as u,a as n,aN as r,F as b,ap as g,G as k,J as V,A as te}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as w,n as oe,r as ae}from"./@vue/reactivity-DiY1c2vO.js";import{Q as le}from"./@vue/shared-mAAVTE9n.js";import{_ as ne}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"edit-popup"},se={class:"channel-opt-row"},de={class:"opt-name"},me=ee({__name:"edit",props:{mediaChannelGroups:{},deptOptions:{},defaultMediaChannelCode:{}},emits:["success","close"],setup(p,{expose:v,emit:C}){const y=p,_=C,f=w(),c=w(),m=oe("add"),E=te(()=>m.value==="edit"?"编辑账户消耗":"新增账户消耗"),x={value:"id",label:"name",children:"children"},e=ae({id:"",cost_date:"",media_channel_code:"",dept_id:"",amount:0,remark:""}),D={cost_date:[{required:!0,message:"请选择日期",trigger:["change"]}],media_channel_code:[{required:!0,message:"请选择自媒体渠道",trigger:["change"]}],dept_id:[{required:!0,message:"请选择绑定部门",trigger:["change"]}],amount:[{required:!0,message:"请输入账户消耗金额",trigger:["blur","change"]}]},R=()=>{e.id="",e.cost_date="",e.media_channel_code=y.defaultMediaChannelCode||"",e.dept_id="",e.amount=0,e.remark=""},F=async()=>{var o,t;await((o=f.value)==null?void 0:o.validate()),m.value==="edit"?await K(e):await W(e),(t=c.value)==null||t.close(),_("success")},N=(o="add")=>{var t;m.value=o,R(),(t=c.value)==null||t.open()},h=o=>{e.id=o.id??"",e.cost_date=o.cost_date??"",e.media_channel_code=o.media_channel_code??"",e.dept_id=o.dept_id?Number(o.dept_id):"",e.amount=Number(o.amount??0),e.remark=o.remark??""},q=async o=>{const t=await X({id:o.id});h(t)},B=()=>{_("close")};return v({open:N,setFormData:h,getDetail:q}),(o,t)=>{const I=T,s=Q,S=L,U=J,G=z,M=Z,O=j,Y=H,P=A;return d(),u("div",re,[n($,{ref_key:"popupRef",ref:c,title:l(E),async:!0,width:"560px",onConfirm:F,onClose:B},{default:r(()=>[n(P,{ref_key:"formRef",ref:f,model:l(e),"label-width":"100px",rules:D},{default:r(()=>[n(s,{label:"日期",prop:"cost_date"},{default:r(()=>[n(I,{modelValue:l(e).cost_date,"onUpdate:modelValue":t[0]||(t[0]=a=>l(e).cost_date=a),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(m)==="edit"},null,8,["modelValue","disabled"])]),_:1}),n(s,{label:"自媒体渠道",prop:"media_channel_code"},{default:r(()=>[n(G,{modelValue:l(e).media_channel_code,"onUpdate:modelValue":t[1]||(t[1]=a=>l(e).media_channel_code=a),placeholder:"请选择自媒体渠道",class:"account-cost-channel-select w-full",filterable:""},{default:r(()=>[(d(!0),u(b,null,g(p.mediaChannelGroups,a=>(d(),k(U,{key:a.group_name,label:a.group_name},{default:r(()=>[(d(!0),u(b,null,g(a.channels,i=>(d(),k(S,{key:i.channel_code,label:i.channel_name,value:i.channel_code},{default:r(()=>[V("div",se,[V("span",de,le(i.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(s,{label:"部门",prop:"dept_id"},{default:r(()=>[n(M,{modelValue:l(e).dept_id,"onUpdate:modelValue":t[2]||(t[2]=a=>l(e).dept_id=a),data:p.deptOptions,"node-key":"id",props:x,"default-expand-all":!0,"check-strictly":"",placeholder:"请选择绑定部门",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","data"])]),_:1}),n(s,{label:"账户消耗",prop:"amount"},{default:r(()=>[n(O,{modelValue:l(e).amount,"onUpdate:modelValue":t[3]||(t[3]=a=>l(e).amount=a),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1}),n(s,{label:"备注",prop:"remark"},{default:r(()=>[n(Y,{modelValue:l(e).remark,"onUpdate:modelValue":t[4]||(t[4]=a=>l(e).remark=a),type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"255","show-word-limit":"",placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}}),He=ne(me,[["__scopeId","data-v-4080ff8b"]]);export{He as default}; +import{D as A,B as Q,S as T,Q as z,ag as J,R as L,Z,h as j,C as H}from"./element-plus-DGP1XOrU.js";import{a as K,b as W,c as X}from"./finance-Dc98hQLW.js";import{_ as $}from"./index-BVjWjU3h.js";import{f as ee,ak as d,I as u,a as n,aN as r,F as b,ap as g,G as k,J as V,A as te}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as w,n as oe,r as ae}from"./@vue/reactivity-DiY1c2vO.js";import{Q as le}from"./@vue/shared-mAAVTE9n.js";import{_ as ne}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"edit-popup"},se={class:"channel-opt-row"},de={class:"opt-name"},me=ee({__name:"edit",props:{mediaChannelGroups:{},deptOptions:{},defaultMediaChannelCode:{}},emits:["success","close"],setup(p,{expose:v,emit:C}){const y=p,_=C,f=w(),c=w(),m=oe("add"),E=te(()=>m.value==="edit"?"编辑账户消耗":"新增账户消耗"),x={value:"id",label:"name",children:"children"},e=ae({id:"",cost_date:"",media_channel_code:"",dept_id:"",amount:0,remark:""}),D={cost_date:[{required:!0,message:"请选择日期",trigger:["change"]}],media_channel_code:[{required:!0,message:"请选择自媒体渠道",trigger:["change"]}],dept_id:[{required:!0,message:"请选择绑定部门",trigger:["change"]}],amount:[{required:!0,message:"请输入账户消耗金额",trigger:["blur","change"]}]},R=()=>{e.id="",e.cost_date="",e.media_channel_code=y.defaultMediaChannelCode||"",e.dept_id="",e.amount=0,e.remark=""},F=async()=>{var o,t;await((o=f.value)==null?void 0:o.validate()),m.value==="edit"?await K(e):await W(e),(t=c.value)==null||t.close(),_("success")},N=(o="add")=>{var t;m.value=o,R(),(t=c.value)==null||t.open()},h=o=>{e.id=o.id??"",e.cost_date=o.cost_date??"",e.media_channel_code=o.media_channel_code??"",e.dept_id=o.dept_id?Number(o.dept_id):"",e.amount=Number(o.amount??0),e.remark=o.remark??""},q=async o=>{const t=await X({id:o.id});h(t)},B=()=>{_("close")};return v({open:N,setFormData:h,getDetail:q}),(o,t)=>{const I=T,s=Q,S=L,U=J,G=z,M=Z,O=j,Y=H,P=A;return d(),u("div",re,[n($,{ref_key:"popupRef",ref:c,title:l(E),async:!0,width:"560px",onConfirm:F,onClose:B},{default:r(()=>[n(P,{ref_key:"formRef",ref:f,model:l(e),"label-width":"100px",rules:D},{default:r(()=>[n(s,{label:"日期",prop:"cost_date"},{default:r(()=>[n(I,{modelValue:l(e).cost_date,"onUpdate:modelValue":t[0]||(t[0]=a=>l(e).cost_date=a),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(m)==="edit"},null,8,["modelValue","disabled"])]),_:1}),n(s,{label:"自媒体渠道",prop:"media_channel_code"},{default:r(()=>[n(G,{modelValue:l(e).media_channel_code,"onUpdate:modelValue":t[1]||(t[1]=a=>l(e).media_channel_code=a),placeholder:"请选择自媒体渠道",class:"account-cost-channel-select w-full",filterable:""},{default:r(()=>[(d(!0),u(b,null,g(p.mediaChannelGroups,a=>(d(),k(U,{key:a.group_name,label:a.group_name},{default:r(()=>[(d(!0),u(b,null,g(a.channels,i=>(d(),k(S,{key:i.channel_code,label:i.channel_name,value:i.channel_code},{default:r(()=>[V("div",se,[V("span",de,le(i.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(s,{label:"部门",prop:"dept_id"},{default:r(()=>[n(M,{modelValue:l(e).dept_id,"onUpdate:modelValue":t[2]||(t[2]=a=>l(e).dept_id=a),data:p.deptOptions,"node-key":"id",props:x,"default-expand-all":!0,"check-strictly":"",placeholder:"请选择绑定部门",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","data"])]),_:1}),n(s,{label:"账户消耗",prop:"amount"},{default:r(()=>[n(O,{modelValue:l(e).amount,"onUpdate:modelValue":t[3]||(t[3]=a=>l(e).amount=a),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1}),n(s,{label:"备注",prop:"remark"},{default:r(()=>[n(Y,{modelValue:l(e).remark,"onUpdate:modelValue":t[4]||(t[4]=a=>l(e).remark=a),type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"255","show-word-limit":"",placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}}),He=ne(me,[["__scopeId","data-v-4080ff8b"]]);export{He as default}; diff --git a/server/public/admin/assets/edit-DI6xYbut.js b/server/public/admin/assets/edit-CpXNGceA.js similarity index 77% rename from server/public/admin/assets/edit-DI6xYbut.js rename to server/public/admin/assets/edit-CpXNGceA.js index e27a73fc4..ab63d72e4 100644 --- a/server/public/admin/assets/edit-DI6xYbut.js +++ b/server/public/admin/assets/edit-CpXNGceA.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-JR5eebf3.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-CCNMoFEY.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DM3yy7QA.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-19er6a3L.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BhCPKHfV.js b/server/public/admin/assets/edit-DL6Vxw1r.js similarity index 96% rename from server/public/admin/assets/edit-BhCPKHfV.js rename to server/public/admin/assets/edit-DL6Vxw1r.js index babd6238d..9fdd0b62c 100644 --- a/server/public/admin/assets/edit-BhCPKHfV.js +++ b/server/public/admin/assets/edit-DL6Vxw1r.js @@ -1 +1 @@ -import{m as pl,l as ml,D as _l,I as fl,L as cl,B as vl,C as gl,ab as yl,ac as bl,G as Vl,J as kl,h as hl,Q as wl,R as xl,g as Ul,S as El,af as Pl,am as Ol,F as Rl,X as Nl,i as Dl,U as Il,e as Cl,E as se}from"./element-plus-DGP1XOrU.js";import{_ as zl,ab as ze,ad as Bl,aa as Be,ae as Fl,ac as Sl}from"./tcm-CEIBuAeK.js";import{e as Ll,u as Tl,o as h,_ as $l}from"./index-fRv3NTFQ.js";import{h as I}from"./perm-CTlz8z1G.js";import Ml from"./DailyMatrix-UhX8pyGC.js";import ql from"./CaseRecordList-B8mV3RcM.js";import Al from"./CallRecordPanel-D0IuoeiU.js";import Yl from"./ImChatRecordPanel-Dfh8REJx.js";import Gl from"./AssignLogPanel-Dye0u9va.js";import Jl from"./AppointmentRecordPanel-D32UIqUN.js";import Hl from"./NoteTimeline-DVNRRysO.js";/* empty css */import Xl from"./PatientOrderList-hgIlFF0m.js";import Ql from"./index-B6hZ4N_9.js";import{g as jl}from"./patient-DzLGoG87.js";import{f as Kl,w as Fe,ak as d,I as f,a as o,aN as t,J as G,O as r,G as u,F as y,H as P,ap as U,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,a as Se,y as l}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CFEYln83.js";import"./blood-thresholds-CJ1fqMjh.js";import"./RecordingPlaybackBlock-CTkcYK3L.js";import"./RecordingVideoPlayer-VBMST9fm.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-BVLBwYIX.js";import"./PrescriptionOrderDetailDrawer-O5Yv7ynk.js";import"./prescription-order-utils-CpKeuzsa.js";import"./index-C5r1a79q.js";import"./medicine-CEgParOp.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./index-VwsZ7VG0.js";import"./html2canvas-QH1iLAAe.js";const Wl={class:"edit-drawer"},Zl={class:"tcm-dd-header"},ea={class:"tcm-dd-header__row"},la={class:"tcm-dd-header__title"},aa={key:0,class:"tcm-dd-header__sub"},ta={key:0,class:"tcm-dd-header__name"},oa={key:1,class:"tcm-dd-header__id"},ia={key:0,class:"tcm-dd-header__sep"},da=["disabled"],na=["disabled"],sa={key:0,class:"text-xs text-gray-400 mt-1"},ra={key:0,class:"text-xs text-gray-400 mt-1"},ua={key:0,class:"p-4"},pa={key:0,class:"bingli-tab-content"},ma={class:"tcm-dd-footer"},_a=Kl({__name:"edit",emits:["success"],setup(fa,{expose:Le,emit:Te}){const $e=Te;Ll();const Z=p(),Me=p(null),ee=p(),L=p(!1),O=p(!1),le=p(),R=p("add"),ae=p(!1),C=J(()=>I(["tcm.diagnosis/phonePlain"])),re=J(()=>I(["tcm.diagnosis/dailyRecord"])),te=p(!1),oe=p(!0),H=p(null),z=J(()=>O.value?!1:R.value==="add"?!0:oe.value),qe=J(()=>R.value!=="edit"?!1:z.value?!C.value:!0),T=p(!1),Ae=J(()=>R.value!=="edit"||!w.value?!1:z.value?!C.value:!0),Ye=J(()=>z.value?R.value==="add"||!w.value?!0:C.value:!1),$=p(!1),V=p("basic"),Ge=J(()=>O.value?"诊单详情":R.value==="add"?"新增诊单":"编辑诊单"),ie=p([]),ue=async()=>{if(a.value.id)try{ie.value=await jl({diagnosis_id:Number(a.value.id)})||[]}catch{ie.value=[]}},pe=p([]),Je=async()=>{if(a.value.id)try{pe.value=await zl({diagnosis_id:Number(a.value.id)})||[]}catch{pe.value=[]}};Fe(()=>V.value,async n=>{n==="doctorNote"&&a.value.id&&await ue(),n==="trackingNote"&&a.value.id&&await Je()}),Fe([L,V],()=>{L.value&&(V.value==="chat"&&!I(["tcm.diagnosis/chat"])&&(V.value="basic"),V.value==="visit"&&!I(["tcm.diagnosis/huifang"])&&(V.value="basic"),V.value==="assignLog"&&!I(["tcm.diagnosis/assign"])&&!I(["tcm.diagnosis/detail"])&&(V.value="basic"),V.value==="appointmentRecords"&&!I(["doctor.appointment/lists"])&&(V.value="basic"),V.value==="daily"&&!re.value&&(V.value="basic"))});const a=p({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,assistant_id:void 0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,create_source:"admin",show_card:1,external_userid:""}),He=[{value:"",label:"未设置"},{value:"admin",label:"后台建档"},{value:"mnp",label:"小程序完整建档"},{value:"mnp_daily",label:"小程序手机号快捷建档"}],N=p(""),w=p(""),de=p(!1),ne=p(!1),j=n=>!n||n.length<11?n:n.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Xe=()=>{N.value&&(T.value=!T.value)},Qe=()=>{w.value&&($.value=!$.value)},K=n=>n&&(n.length===15?n.replace(/(\d{6})\d{5}(\d{4})/,"$1*****$2"):n.length===18?n.replace(/(\d{6})\d{8}(\d{4})/,"$1********$2"):n),je=()=>{if(de.value=!0,!!N.value){if(C.value){a.value.phone=N.value;return}R.value==="add"&&(a.value.phone=N.value)}},Ke=async()=>{if(de.value=!1,C.value){if(a.value.phone&&a.value.phone.length===11&&(N.value=a.value.phone,/^1[3-9]\d{9}$/.test(a.value.phone)))try{const n=await ze({phone:a.value.phone,id:a.value.id||""});n.exists&&se.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}return}if(R.value==="add"&&a.value.phone&&a.value.phone.length===11){if(N.value=a.value.phone,/^1[3-9]\d{9}$/.test(a.value.phone))try{const n=await ze({phone:a.value.phone,id:a.value.id||""});n.exists&&se.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}a.value.phone=j(a.value.phone)}},We=()=>{if(ne.value=!0,!!w.value){if(C.value){a.value.id_card=w.value;return}R.value==="add"&&(a.value.id_card=w.value)}},Ze=async()=>{ne.value=!1;const n=async e=>{if(/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e)){const c=parseInt(e.substring(6,10)),_=parseInt(e.substring(10,12)),A=parseInt(e.substring(12,14)),v=new Date;let s=v.getFullYear()-c;(v.getMonth()+1<_||v.getMonth()+1===_&&v.getDate(){const _=w.value||e;if(!_){c();return}if(!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(_)){c(new Error("身份证号格式不正确"));return}c()},trigger:"blur"}],phone:[{required:!0,validator:(n,e,c)=>{const _=N.value||e;if(!_){c(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(_)){c(new Error("手机号格式不正确"));return}c()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],fasting_blood_sugar:[{required:!0,message:"请输入空腹血糖",trigger:"blur"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],local_hospital_name:[{required:!0,message:"请输入当地就诊医院名称",trigger:"blur"}],diabetes_discovery_year:[{max:50,message:"最多50个字符",trigger:"blur"}]},me=p([]),ll=p([]),al=p([]),_e=p([]),fe=p([]),ce=p([]),ve=p([]),ge=p([]),ye=p([]),be=p([]),Ve=p([]),ke=p([]),he=p([]),we=p([]),xe=p([]),Ue=p([]),Ee=p([]),Pe=p([]),Oe=async()=>{try{const[n,e,c,_,A,v,s,m,g,M,D,B,F,Y,X,Q,k,x]=await Promise.all([h({type:"diagnosis_type"}),h({type:"syndrome_type"}),h({type:"diabetes_type"}),h({type:"past_history"}),h({type:"appetite"}),h({type:"water_intake"}),h({type:"diet_condition"}),h({type:"weight_change"}),h({type:"body_feeling"}),h({type:"sleep_condition"}),h({type:"eye_condition"}),h({type:"head_feeling"}),h({type:"sweat_condition"}),h({type:"skin_condition"}),h({type:"urine_condition"}),h({type:"stool_condition"}),h({type:"kidney_condition"}),h({type:"fatty_liver_degree"})]);me.value=(n==null?void 0:n.diagnosis_type)||[],ll.value=(e==null?void 0:e.syndrome_type)||[],al.value=(c==null?void 0:c.diabetes_type)||[],_e.value=(_==null?void 0:_.past_history)||[],fe.value=(A==null?void 0:A.appetite)||[],ce.value=(v==null?void 0:v.water_intake)||[],ve.value=(s==null?void 0:s.diet_condition)||[],ge.value=(m==null?void 0:m.weight_change)||[],ye.value=(g==null?void 0:g.body_feeling)||[],be.value=(M==null?void 0:M.sleep_condition)||[],Ve.value=(D==null?void 0:D.eye_condition)||[],ke.value=(B==null?void 0:B.head_feeling)||[],he.value=(F==null?void 0:F.sweat_condition)||[],we.value=(Y==null?void 0:Y.skin_condition)||[],xe.value=(X==null?void 0:X.urine_condition)||[],Ue.value=(Q==null?void 0:Q.stool_condition)||[],Ee.value=(k==null?void 0:k.kidney_condition)||[],Pe.value=(x==null?void 0:x.fatty_liver_degree)||[]}catch(n){console.error("获取字典数据失败:",n)}};async function Re(n){const e=await Be({id:n});N.value=e.phone||"",w.value=e.id_card||"",te.value=!!e.patient_basic_locked,oe.value=e.can_edit_patient_basic!==!1,H.value=e.latest_prescription_order??null,e.phone=C.value?e.phone||"":j(e.phone||""),e.id_card=C.value?e.id_card||"":K(e.id_card||""),a.value=e,a.value.create_source=e.create_source??"",a.value.show_card=Number(e.show_card)===0?0:1;const c=e.diabetes_discovery_year;a.value.diabetes_discovery_year=c==null||c===""?"":String(c)}const Ne=()=>{te.value=!1,oe.value=!0,H.value=null},tl=async(n,e)=>{var c;if(O.value=!1,R.value=n,L.value=!0,V.value="basic",T.value=!1,$.value=!1,Ne(),await Oe(),n==="edit"&&e)await Re(e);else if(n==="add"){const _=Tl();a.value.assistant_id=((c=_.userInfo)==null?void 0:c.id)||"",a.value.diagnosis_type="follow_up"}},ol=async n=>{n&&(O.value=!0,R.value="edit",L.value=!0,V.value="basic",T.value=!1,$.value=!1,Ne(),await Oe(),await Re(n))},il=async()=>{var n;if(!O.value){await((n=le.value)==null?void 0:n.validate()),ae.value=!0;try{const e={...a.value,phone:N.value||a.value.phone,id_card:w.value||a.value.id_card};if(R.value==="add"){const c=await Bl(e);if(c&&c.id){R.value="edit",T.value=!1,$.value=!1,a.value.id=c.id;try{const _=await Be({id:c.id});a.value.patient_id=_.patient_id,N.value=_.phone||"",w.value=_.id_card||"",a.value.phone=C.value?_.phone||"":j(_.phone||""),a.value.id_card=C.value?_.id_card||"":K(_.id_card||"")}catch(_){console.error("获取详情失败:",_)}}}else await Fl(e);$e("success")}catch(e){console.error("提交失败:",e)}finally{ae.value=!1}}},dl=n=>{var e;(e=ee.value)==null||e.openById(n.id,{slipType:"user"})},nl=()=>{var e;if(O.value)return;const n={id:a.value.id,diagnosis_id:a.value.id,appointment_id:0,patient_name:a.value.patient_name,patient_phone:N.value||a.value.phone,patient_gender:a.value.gender,patient_age:a.value.age,case_record:JSON.parse(JSON.stringify(a.value))};(e=ee.value)==null||e.open(n)},De=()=>{var n;(n=le.value)==null||n.resetFields(),a.value={id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,assistant_id:void 0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,create_source:"admin",show_card:1,external_userid:""},N.value="",w.value="",de.value=!1,ne.value=!1,T.value=!1,$.value=!1,O.value=!1,L.value=!1};return Le({open:tl,openViewOnly:ol,refreshCaseList:()=>{var n,e;return(e=(n=Z.value)==null?void 0:n.refresh)==null?void 0:e.call(n)}}),(n,e)=>{const c=Il,_=fl,A=cl,v=gl,s=vl,m=bl,g=yl,M=kl,D=Vl,B=hl,F=xl,Y=wl,X=Ul,Q=El,k=Ol,x=Pl,E=Rl,sl=_l,S=ml,q=Nl,rl=pl,Ie=Dl,ul=Cl;return d(),f("div",Wl,[o(ul,{modelValue:l(L),"onUpdate:modelValue":e[46]||(e[46]=i=>Se(L)?L.value=i:null),size:"60%","before-close":De,"z-index":l(O)?4e3:1500,modal:!0,class:"diagnosis-drawer tcm-diagnosis-drawer"},{header:t(()=>[G("div",Zl,[G("div",ea,[G("h2",la,b(l(Ge)),1),l(O)?(d(),u(c,{key:0,type:"info",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[47]||(e[47]=[r(" 只读 ",-1)])]),_:1})):l(R)==="add"?(d(),u(c,{key:1,type:"success",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[48]||(e[48]=[r(" 新建 ",-1)])]),_:1})):(d(),u(c,{key:2,type:"warning",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[49]||(e[49]=[r(" 编辑 ",-1)])]),_:1}))]),l(a).patient_name||l(a).id?(d(),f("p",aa,[l(a).patient_name?(d(),f("span",ta,b(l(a).patient_name),1)):P("",!0),l(a).id?(d(),f("span",oa,[l(a).patient_name?(d(),f("span",ia,"·")):P("",!0),r(" 诊单 "+b(l(a).patient_id||l(a).id),1)])):P("",!0)])):P("",!0)])]),footer:t(()=>[G("div",ma,[o(Ie,{class:"tcm-dd-footer__btn",onClick:De},{default:t(()=>[r(b(l(O)?"关闭":"取消"),1)]),_:1}),!l(O)&&l(V)==="basic"?(d(),u(Ie,{key:0,class:"tcm-dd-footer__btn",type:"primary",onClick:il,loading:l(ae)},{default:t(()=>[...e[78]||(e[78]=[r(" 保存病历 ",-1)])]),_:1},8,["loading"])):P("",!0)])]),default:t(()=>[o(rl,{modelValue:l(V),"onUpdate:modelValue":e[44]||(e[44]=i=>Se(V)?V.value=i:null),class:"diagnosis-tabs tcm-diagnosis-tabs"},{default:t(()=>[o(S,{label:"病历",name:"basic"},{default:t(()=>[o(sl,{ref_key:"formRef",ref:le,model:l(a),rules:el,"label-width":"160px"},{default:t(()=>[G("fieldset",{disabled:l(O),class:"diagnosis-view-fieldset border-0 min-w-0 p-0 m-0"},[o(_,{"content-position":"left"},{default:t(()=>[...e[50]||(e[50]=[r("基本信息",-1)])]),_:1}),l(R)==="edit"&&l(te)&&!l(z)?(d(),u(A,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:t(()=>[l(H)?(d(),f(y,{key:0},[r(" 最近业务订单 #"+b(l(H).id)+" 状态为「"+b(l(H).fulfillment_status_text)+"」,患者基本信息不可修改 ",1)],64)):(d(),f(y,{key:1},[r(" 存在未完成的业务订单,患者基本信息不可修改 ")],64))]),_:1})):P("",!0),o(s,{label:"诊单ID"},{default:t(()=>[o(v,{modelValue:l(a).patient_id,"onUpdate:modelValue":e[0]||(e[0]=i=>l(a).patient_id=i),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),G("fieldset",{disabled:!l(z),class:"diagnosis-patient-basic-fieldset border-0 min-w-0 p-0 m-0"},[o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"姓名",prop:"patient_name"},{default:t(()=>[o(v,{modelValue:l(a).patient_name,"onUpdate:modelValue":e[1]||(e[1]=i=>l(a).patient_name=i),placeholder:"请输入姓名",disabled:!l(z)},null,8,["modelValue","disabled"])]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(Ae)?(d(),f(y,{key:0},[o(v,{"model-value":l($)?l(w)||"":K(l(w)||""),readonly:"",placeholder:"点击可查看完整身份证号",maxlength:"18",class:"cursor-pointer phone-mask-toggle",onClick:Qe},null,8,["model-value"]),l(w)&&!l($)?(d(),f("p",sa," 当前为脱敏显示,点击输入框可查看完整号码 ")):P("",!0)],64)):(d(),u(v,{key:1,modelValue:l(a).id_card,"onUpdate:modelValue":e[2]||(e[2]=i=>l(a).id_card=i),placeholder:"请输入身份证号",maxlength:"18",disabled:!l(Ye),onFocus:We,onBlur:Ze},null,8,["modelValue","disabled"]))]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"手机号",prop:"phone"},{default:t(()=>[l(qe)?(d(),f(y,{key:0},[o(v,{"model-value":l(T)?l(N)||"":j(l(N)||""),readonly:"",placeholder:"点击可查看完整手机号",maxlength:"11",class:"cursor-pointer phone-mask-toggle",onClick:Xe},null,8,["model-value"]),l(N)&&!l(T)?(d(),f("p",ra," 当前为脱敏显示,点击输入框可查看完整号码 ")):P("",!0)],64)):(d(),u(v,{key:1,modelValue:l(a).phone,"onUpdate:modelValue":e[3]||(e[3]=i=>l(a).phone=i),placeholder:"请输入手机号",maxlength:"11",disabled:!l(z),onFocus:je,onBlur:Ke},null,8,["modelValue","disabled"]))]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"性别",prop:"gender"},{default:t(()=>[o(D,{modelValue:l(a).gender,"onUpdate:modelValue":e[4]||(e[4]=i=>l(a).gender=i),disabled:!l(z)},{default:t(()=>[o(M,{label:1},{default:t(()=>[...e[51]||(e[51]=[r("男",-1)])]),_:1}),o(M,{label:0},{default:t(()=>[...e[52]||(e[52]=[r("女",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"年龄",prop:"age"},{default:t(()=>[o(B,{modelValue:l(a).age,"onUpdate:modelValue":e[5]||(e[5]=i=>l(a).age=i),min:0,max:150,placeholder:"请输入年龄",class:"w-full",disabled:!l(z),controls:l(z)},null,8,["modelValue","disabled","controls"])]),_:1})]),_:1})]),_:1})],8,na),o(_,{"content-position":"left"},{default:t(()=>[...e[53]||(e[53]=[r("生命体征",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:8},{default:t(()=>[o(s,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[o(Y,{modelValue:l(a).marital_status,"onUpdate:modelValue":e[6]||(e[6]=i=>l(a).marital_status=i),placeholder:"请选择婚姻状态",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[o(F,{label:"未婚",value:0}),o(F,{label:"已婚",value:1}),o(F,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"就诊人身高(cm)",prop:"height"},{default:t(()=>[o(B,{modelValue:l(a).height,"onUpdate:modelValue":e[7]||(e[7]=i=>l(a).height=i),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"体重(kg)",prop:"weight"},{default:t(()=>[o(B,{modelValue:l(a).weight,"onUpdate:modelValue":e[8]||(e[8]=i=>l(a).weight=i),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:8},{default:t(()=>[o(s,{label:"地区",prop:"region"},{default:t(()=>[o(v,{modelValue:l(a).region,"onUpdate:modelValue":e[9]||(e[9]=i=>l(a).region=i),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"就诊人血压(高压mmHg)",prop:"systolic_pressure"},{default:t(()=>[o(B,{modelValue:l(a).systolic_pressure,"onUpdate:modelValue":e[10]||(e[10]=i=>l(a).systolic_pressure=i),min:0,max:250,placeholder:"请输入高压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"就诊人血压(低压mmHg)",prop:"diastolic_pressure"},{default:t(()=>[o(B,{modelValue:l(a).diastolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=i=>l(a).diastolic_pressure=i),min:0,max:150,placeholder:"请输入低压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:8},{default:t(()=>[o(s,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[o(v,{modelValue:l(a).fasting_blood_sugar,"onUpdate:modelValue":e[12]||(e[12]=i=>l(a).fasting_blood_sugar=i),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[o(Y,{modelValue:l(a).diagnosis_type,"onUpdate:modelValue":e[13]||(e[13]=i=>l(a).diagnosis_type=i),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(d(!0),f(y,null,U(l(me),i=>(d(),u(F,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"状态",prop:"status"},{default:t(()=>[o(D,{modelValue:l(a).status,"onUpdate:modelValue":e[14]||(e[14]=i=>l(a).status=i)},{default:t(()=>[o(M,{label:1},{default:t(()=>[...e[54]||(e[54]=[r("启用",-1)])]),_:1}),o(M,{label:0},{default:t(()=>[...e[55]||(e[55]=[r("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"渠道来源",prop:"create_source"},{default:t(()=>[o(Y,{modelValue:l(a).create_source,"onUpdate:modelValue":e[15]||(e[15]=i=>l(a).create_source=i),placeholder:"请选择渠道来源",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(d(),f(y,null,U(He,i=>o(F,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"统计端就诊卡",prop:"show_card"},{default:t(()=>[o(X,{modelValue:l(a).show_card,"onUpdate:modelValue":e[16]||(e[16]=i=>l(a).show_card=i),"active-value":1,"inactive-value":0,"active-text":"显示","inactive-text":"隐藏","inline-prompt":""},null,8,["modelValue"]),e[56]||(e[56]=G("span",{class:"form-tips ml-3"}," 关闭后,该就诊卡将不会出现在小程序统计端 ",-1))]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"在用药物",prop:"current_medications"},{default:t(()=>[o(v,{modelValue:l(a).current_medications,"onUpdate:modelValue":e[17]||(e[17]=i=>l(a).current_medications=i),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[57]||(e[57]=[r("主诉",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"当地医院诊断日期",prop:"diagnosis_date"},{default:t(()=>[o(Q,{modelValue:l(a).diagnosis_date,"onUpdate:modelValue":e[18]||(e[18]=i=>l(a).diagnosis_date=i),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"发现糖尿病患病史",prop:"diabetes_discovery_year"},{default:t(()=>[o(v,{modelValue:l(a).diabetes_discovery_year,"onUpdate:modelValue":e[19]||(e[19]=i=>l(a).diabetes_discovery_year=i),clearable:"",maxlength:"50","show-word-limit":"",placeholder:"可填数字或文字,如:5、1年、半年",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(s,{label:"当地医院诊断结果",prop:"local_hospital_diagnosis",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).local_hospital_diagnosis,"onUpdate:modelValue":e[20]||(e[20]=i=>l(a).local_hospital_diagnosis=i)},{default:t(()=>[o(k,{label:"糖尿病"},{default:t(()=>[...e[58]||(e[58]=[r("糖尿病",-1)])]),_:1}),o(k,{label:"消渴病"},{default:t(()=>[...e[59]||(e[59]=[r("消渴病",-1)])]),_:1}),o(k,{label:"糖尿病前期"},{default:t(()=>[...e[60]||(e[60]=[r("糖尿病前期",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[o(v,{modelValue:l(a).local_hospital_name,"onUpdate:modelValue":e[21]||(e[21]=i=>l(a).local_hospital_name=i),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[61]||(e[61]=[r("现病史",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(s,{label:"口腔感觉",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).appetite,"onUpdate:modelValue":e[22]||(e[22]=i=>l(a).appetite=i)},{default:t(()=>[(d(!0),f(y,null,U(l(fe),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:20},{default:t(()=>[o(s,{label:"每日饮水量",class:"compact-form-item"},{default:t(()=>[o(D,{modelValue:l(a).water_intake,"onUpdate:modelValue":e[23]||(e[23]=i=>l(a).water_intake=i)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[62]||(e[62]=[r("无",-1)])]),_:1}),(d(!0),f(y,null,U(l(ce),i=>(d(),u(E,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"近一个月体重变化",class:"compact-form-item"},{default:t(()=>[o(D,{modelValue:l(a).weight_change,"onUpdate:modelValue":e[24]||(e[24]=i=>l(a).weight_change=i)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[63]||(e[63]=[r("无",-1)])]),_:1}),(d(!0),f(y,null,U(l(ge),i=>(d(),u(E,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"脂肪肝程度",class:"compact-form-item"},{default:t(()=>[o(D,{modelValue:l(a).fatty_liver_degree,"onUpdate:modelValue":e[25]||(e[25]=i=>l(a).fatty_liver_degree=i)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[64]||(e[64]=[r("无",-1)])]),_:1}),(d(!0),f(y,null,U(l(Pe),i=>(d(),u(E,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(s,{label:"饮食情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).diet_condition,"onUpdate:modelValue":e[26]||(e[26]=i=>l(a).diet_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(ve),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"肢体感觉",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).body_feeling,"onUpdate:modelValue":e[27]||(e[27]=i=>l(a).body_feeling=i)},{default:t(()=>[(d(!0),f(y,null,U(l(ye),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"睡眠情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).sleep_condition,"onUpdate:modelValue":e[28]||(e[28]=i=>l(a).sleep_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(be),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"眼睛情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).eye_condition,"onUpdate:modelValue":e[29]||(e[29]=i=>l(a).eye_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(Ve),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"头部感觉",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).head_feeling,"onUpdate:modelValue":e[30]||(e[30]=i=>l(a).head_feeling=i)},{default:t(()=>[(d(!0),f(y,null,U(l(ke),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"出汗情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).sweat_condition,"onUpdate:modelValue":e[31]||(e[31]=i=>l(a).sweat_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(he),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"皮肤情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).skin_condition,"onUpdate:modelValue":e[32]||(e[32]=i=>l(a).skin_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(we),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"小便情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).urine_condition,"onUpdate:modelValue":e[33]||(e[33]=i=>l(a).urine_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(xe),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"大便情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).stool_condition,"onUpdate:modelValue":e[34]||(e[34]=i=>l(a).stool_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(Ue),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"腰肾情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).kidney_condition,"onUpdate:modelValue":e[35]||(e[35]=i=>l(a).kidney_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(Ee),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"其他补充",prop:"symptoms"},{default:t(()=>[o(v,{modelValue:l(a).symptoms,"onUpdate:modelValue":e[36]||(e[36]=i=>l(a).symptoms=i),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[65]||(e[65]=[r("既往史",-1)])]),_:1}),o(s,{label:"",prop:"past_history",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).past_history,"onUpdate:modelValue":e[37]||(e[37]=i=>l(a).past_history=i)},{default:t(()=>[(d(!0),f(y,null,U(l(_e),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[66]||(e[66]=[r("其他病史",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:8},{default:t(()=>[o(s,{label:"外伤史"},{default:t(()=>[o(D,{modelValue:l(a).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=i=>l(a).trauma_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[67]||(e[67]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[68]||(e[68]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"手术史"},{default:t(()=>[o(D,{modelValue:l(a).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=i=>l(a).surgery_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[69]||(e[69]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[70]||(e[70]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"过敏史"},{default:t(()=>[o(D,{modelValue:l(a).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=i=>l(a).allergy_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[71]||(e[71]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[72]||(e[72]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"家族病史"},{default:t(()=>[o(D,{modelValue:l(a).family_history,"onUpdate:modelValue":e[41]||(e[41]=i=>l(a).family_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[73]||(e[73]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[74]||(e[74]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"妊娠哺乳史"},{default:t(()=>[o(D,{modelValue:l(a).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=i=>l(a).pregnancy_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[75]||(e[75]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[76]||(e[76]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[77]||(e[77]=[r("诊断信息",-1)])]),_:1}),o(s,{label:"病史补充",prop:"remark"},{default:t(()=>[o(v,{modelValue:l(a).remark,"onUpdate:modelValue":e[43]||(e[43]=i=>l(a).remark=i),type:"textarea",rows:2,placeholder:"请输入病史补充"},null,8,["modelValue"])]),_:1})],8,da)]),_:1},8,["model"])]),_:1}),o(S,{label:"医生备注",name:"doctorNote",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),f("div",ua,[o(Hl,{notes:l(ie),"diagnosis-id":Number(l(a).id),readonly:l(O),onRefresh:ue},null,8,["notes","diagnosis-id","readonly"])])):(d(),u(q,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"]),l(re)?(d(),u(S,{key:0,label:"日常记录",name:"daily",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Ml,{key:0,"diagnosis-id":Number(l(a).id),"patient-id":Number(l(a).patient_id),age:l(a).age,"patient-name":l(a).patient_name,"read-only":l(O)},null,8,["diagnosis-id","patient-id","age","patient-name","read-only"])):(d(),u(q,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/chufang"])?(d(),u(S,{key:1,label:"处方",name:"bingli",disabled:!l(a).id},{default:t(()=>[l(a).id?(d(),f("div",pa,[o(ql,{ref_key:"caseRecordListRef",ref:Z,"diagnosis-id":Number(l(a).id),"read-only":l(O),onView:dl,onOpenPrescription:nl},null,8,["diagnosis-id","read-only"])])):(d(),u(q,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/patientOrders"])?(d(),u(S,{key:2,label:"业务订单",name:"patientOrders",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Xl,{key:0,"diagnosis-id":Number(l(a).id),"patient-id":Number(l(a).patient_id)||0},null,8,["diagnosis-id","patient-id"])):(d(),u(q,{key:1,description:"请先保存诊单后查看业务订单"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/huifang"])?(d(),u(S,{key:3,label:"视频录制回放记录",name:"visit",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Al,{key:0,ref_key:"callRecordPanelRef",ref:Me,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(d(),u(q,{key:1,description:"请先保存诊单后再查看视频录制回放记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/chat"])?(d(),u(S,{key:4,label:"聊天记录",name:"chat",disabled:!l(a).id,lazy:""},{default:t(()=>[l(V)==="chat"&&l(a).id?(d(),u(Yl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):l(a).id?P("",!0):(d(),u(q,{key:1,description:"请先保存诊单后再查看聊天记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/assign"])||l(I)(["tcm.diagnosis/detail"])?(d(),u(S,{key:5,label:"指派医助记录",name:"assignLog",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Gl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(d(),u(q,{key:1,description:"请先保存诊单后再查看指派记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["doctor.appointment/lists"])?(d(),u(S,{key:6,label:"挂号记录",name:"appointmentRecords",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Jl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(d(),u(q,{key:1,description:"请先保存诊单后再查看挂号记录"}))]),_:1},8,["disabled"])):P("",!0)]),_:1},8,["modelValue"]),o(Ql,{ref_key:"prescriptionRef",ref:ee,onSuccess:e[45]||(e[45]=i=>{var W,Ce;return(Ce=(W=l(Z))==null?void 0:W.refresh)==null?void 0:Ce.call(W)})},null,512)]),_:1},8,["modelValue","z-index"])])}}}),At=$l(_a,[["__scopeId","data-v-60b2b4d4"]]);export{At as default}; +import{m as pl,l as ml,D as _l,I as fl,L as cl,B as vl,C as gl,ab as yl,ac as bl,G as Vl,J as kl,h as hl,Q as wl,R as xl,g as Ul,S as El,af as Pl,am as Ol,F as Rl,X as Nl,i as Dl,U as Il,e as Cl,E as se}from"./element-plus-DGP1XOrU.js";import{_ as zl,ab as ze,ad as Bl,aa as Be,ae as Fl,ac as Sl}from"./tcm-D-ZRccbe.js";import{e as Ll,u as Tl,o as h,_ as $l}from"./index-J_eFER10.js";import{h as I}from"./perm-8cp9D7Ag.js";import Ml from"./DailyMatrix-DtyPece3.js";import ql from"./CaseRecordList-UyYqRkBS.js";import Al from"./CallRecordPanel-C1Otf2Df.js";import Yl from"./ImChatRecordPanel-CsDITo98.js";import Gl from"./AssignLogPanel-CDRHljLe.js";import Jl from"./AppointmentRecordPanel-DzDHAY3k.js";import Hl from"./NoteTimeline-DqVO9iO4.js";/* empty css */import Xl from"./PatientOrderList-Bq3jWUKy.js";import Ql from"./index-ns6fHpFi.js";import{g as jl}from"./patient-L-xV50Pi.js";import{f as Kl,w as Fe,ak as d,I as f,a as o,aN as t,J as G,O as r,G as u,F as y,H as P,ap as U,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,a as Se,y as l}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CqxCRYim.js";import"./blood-thresholds-CJ1fqMjh.js";import"./RecordingPlaybackBlock-Llmd2S_t.js";import"./RecordingVideoPlayer-D28GF4NK.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-BZKBQu9t.js";import"./PrescriptionOrderDetailDrawer-C30zC4to.js";import"./prescription-order-utils-CpKeuzsa.js";import"./index-D6w2Tfd_.js";import"./medicine-DIQyk1R0.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./index-qwVd4UhY.js";import"./html2canvas-QH1iLAAe.js";const Wl={class:"edit-drawer"},Zl={class:"tcm-dd-header"},ea={class:"tcm-dd-header__row"},la={class:"tcm-dd-header__title"},aa={key:0,class:"tcm-dd-header__sub"},ta={key:0,class:"tcm-dd-header__name"},oa={key:1,class:"tcm-dd-header__id"},ia={key:0,class:"tcm-dd-header__sep"},da=["disabled"],na=["disabled"],sa={key:0,class:"text-xs text-gray-400 mt-1"},ra={key:0,class:"text-xs text-gray-400 mt-1"},ua={key:0,class:"p-4"},pa={key:0,class:"bingli-tab-content"},ma={class:"tcm-dd-footer"},_a=Kl({__name:"edit",emits:["success"],setup(fa,{expose:Le,emit:Te}){const $e=Te;Ll();const Z=p(),Me=p(null),ee=p(),L=p(!1),O=p(!1),le=p(),R=p("add"),ae=p(!1),C=J(()=>I(["tcm.diagnosis/phonePlain"])),re=J(()=>I(["tcm.diagnosis/dailyRecord"])),te=p(!1),oe=p(!0),H=p(null),z=J(()=>O.value?!1:R.value==="add"?!0:oe.value),qe=J(()=>R.value!=="edit"?!1:z.value?!C.value:!0),T=p(!1),Ae=J(()=>R.value!=="edit"||!w.value?!1:z.value?!C.value:!0),Ye=J(()=>z.value?R.value==="add"||!w.value?!0:C.value:!1),$=p(!1),V=p("basic"),Ge=J(()=>O.value?"诊单详情":R.value==="add"?"新增诊单":"编辑诊单"),ie=p([]),ue=async()=>{if(a.value.id)try{ie.value=await jl({diagnosis_id:Number(a.value.id)})||[]}catch{ie.value=[]}},pe=p([]),Je=async()=>{if(a.value.id)try{pe.value=await zl({diagnosis_id:Number(a.value.id)})||[]}catch{pe.value=[]}};Fe(()=>V.value,async n=>{n==="doctorNote"&&a.value.id&&await ue(),n==="trackingNote"&&a.value.id&&await Je()}),Fe([L,V],()=>{L.value&&(V.value==="chat"&&!I(["tcm.diagnosis/chat"])&&(V.value="basic"),V.value==="visit"&&!I(["tcm.diagnosis/huifang"])&&(V.value="basic"),V.value==="assignLog"&&!I(["tcm.diagnosis/assign"])&&!I(["tcm.diagnosis/detail"])&&(V.value="basic"),V.value==="appointmentRecords"&&!I(["doctor.appointment/lists"])&&(V.value="basic"),V.value==="daily"&&!re.value&&(V.value="basic"))});const a=p({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,assistant_id:void 0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,create_source:"admin",show_card:1,external_userid:""}),He=[{value:"",label:"未设置"},{value:"admin",label:"后台建档"},{value:"mnp",label:"小程序完整建档"},{value:"mnp_daily",label:"小程序手机号快捷建档"}],N=p(""),w=p(""),de=p(!1),ne=p(!1),j=n=>!n||n.length<11?n:n.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Xe=()=>{N.value&&(T.value=!T.value)},Qe=()=>{w.value&&($.value=!$.value)},K=n=>n&&(n.length===15?n.replace(/(\d{6})\d{5}(\d{4})/,"$1*****$2"):n.length===18?n.replace(/(\d{6})\d{8}(\d{4})/,"$1********$2"):n),je=()=>{if(de.value=!0,!!N.value){if(C.value){a.value.phone=N.value;return}R.value==="add"&&(a.value.phone=N.value)}},Ke=async()=>{if(de.value=!1,C.value){if(a.value.phone&&a.value.phone.length===11&&(N.value=a.value.phone,/^1[3-9]\d{9}$/.test(a.value.phone)))try{const n=await ze({phone:a.value.phone,id:a.value.id||""});n.exists&&se.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}return}if(R.value==="add"&&a.value.phone&&a.value.phone.length===11){if(N.value=a.value.phone,/^1[3-9]\d{9}$/.test(a.value.phone))try{const n=await ze({phone:a.value.phone,id:a.value.id||""});n.exists&&se.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}a.value.phone=j(a.value.phone)}},We=()=>{if(ne.value=!0,!!w.value){if(C.value){a.value.id_card=w.value;return}R.value==="add"&&(a.value.id_card=w.value)}},Ze=async()=>{ne.value=!1;const n=async e=>{if(/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e)){const c=parseInt(e.substring(6,10)),_=parseInt(e.substring(10,12)),A=parseInt(e.substring(12,14)),v=new Date;let s=v.getFullYear()-c;(v.getMonth()+1<_||v.getMonth()+1===_&&v.getDate(){const _=w.value||e;if(!_){c();return}if(!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(_)){c(new Error("身份证号格式不正确"));return}c()},trigger:"blur"}],phone:[{required:!0,validator:(n,e,c)=>{const _=N.value||e;if(!_){c(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(_)){c(new Error("手机号格式不正确"));return}c()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],fasting_blood_sugar:[{required:!0,message:"请输入空腹血糖",trigger:"blur"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],local_hospital_name:[{required:!0,message:"请输入当地就诊医院名称",trigger:"blur"}],diabetes_discovery_year:[{max:50,message:"最多50个字符",trigger:"blur"}]},me=p([]),ll=p([]),al=p([]),_e=p([]),fe=p([]),ce=p([]),ve=p([]),ge=p([]),ye=p([]),be=p([]),Ve=p([]),ke=p([]),he=p([]),we=p([]),xe=p([]),Ue=p([]),Ee=p([]),Pe=p([]),Oe=async()=>{try{const[n,e,c,_,A,v,s,m,g,M,D,B,F,Y,X,Q,k,x]=await Promise.all([h({type:"diagnosis_type"}),h({type:"syndrome_type"}),h({type:"diabetes_type"}),h({type:"past_history"}),h({type:"appetite"}),h({type:"water_intake"}),h({type:"diet_condition"}),h({type:"weight_change"}),h({type:"body_feeling"}),h({type:"sleep_condition"}),h({type:"eye_condition"}),h({type:"head_feeling"}),h({type:"sweat_condition"}),h({type:"skin_condition"}),h({type:"urine_condition"}),h({type:"stool_condition"}),h({type:"kidney_condition"}),h({type:"fatty_liver_degree"})]);me.value=(n==null?void 0:n.diagnosis_type)||[],ll.value=(e==null?void 0:e.syndrome_type)||[],al.value=(c==null?void 0:c.diabetes_type)||[],_e.value=(_==null?void 0:_.past_history)||[],fe.value=(A==null?void 0:A.appetite)||[],ce.value=(v==null?void 0:v.water_intake)||[],ve.value=(s==null?void 0:s.diet_condition)||[],ge.value=(m==null?void 0:m.weight_change)||[],ye.value=(g==null?void 0:g.body_feeling)||[],be.value=(M==null?void 0:M.sleep_condition)||[],Ve.value=(D==null?void 0:D.eye_condition)||[],ke.value=(B==null?void 0:B.head_feeling)||[],he.value=(F==null?void 0:F.sweat_condition)||[],we.value=(Y==null?void 0:Y.skin_condition)||[],xe.value=(X==null?void 0:X.urine_condition)||[],Ue.value=(Q==null?void 0:Q.stool_condition)||[],Ee.value=(k==null?void 0:k.kidney_condition)||[],Pe.value=(x==null?void 0:x.fatty_liver_degree)||[]}catch(n){console.error("获取字典数据失败:",n)}};async function Re(n){const e=await Be({id:n});N.value=e.phone||"",w.value=e.id_card||"",te.value=!!e.patient_basic_locked,oe.value=e.can_edit_patient_basic!==!1,H.value=e.latest_prescription_order??null,e.phone=C.value?e.phone||"":j(e.phone||""),e.id_card=C.value?e.id_card||"":K(e.id_card||""),a.value=e,a.value.create_source=e.create_source??"",a.value.show_card=Number(e.show_card)===0?0:1;const c=e.diabetes_discovery_year;a.value.diabetes_discovery_year=c==null||c===""?"":String(c)}const Ne=()=>{te.value=!1,oe.value=!0,H.value=null},tl=async(n,e)=>{var c;if(O.value=!1,R.value=n,L.value=!0,V.value="basic",T.value=!1,$.value=!1,Ne(),await Oe(),n==="edit"&&e)await Re(e);else if(n==="add"){const _=Tl();a.value.assistant_id=((c=_.userInfo)==null?void 0:c.id)||"",a.value.diagnosis_type="follow_up"}},ol=async n=>{n&&(O.value=!0,R.value="edit",L.value=!0,V.value="basic",T.value=!1,$.value=!1,Ne(),await Oe(),await Re(n))},il=async()=>{var n;if(!O.value){await((n=le.value)==null?void 0:n.validate()),ae.value=!0;try{const e={...a.value,phone:N.value||a.value.phone,id_card:w.value||a.value.id_card};if(R.value==="add"){const c=await Bl(e);if(c&&c.id){R.value="edit",T.value=!1,$.value=!1,a.value.id=c.id;try{const _=await Be({id:c.id});a.value.patient_id=_.patient_id,N.value=_.phone||"",w.value=_.id_card||"",a.value.phone=C.value?_.phone||"":j(_.phone||""),a.value.id_card=C.value?_.id_card||"":K(_.id_card||"")}catch(_){console.error("获取详情失败:",_)}}}else await Fl(e);$e("success")}catch(e){console.error("提交失败:",e)}finally{ae.value=!1}}},dl=n=>{var e;(e=ee.value)==null||e.openById(n.id,{slipType:"user"})},nl=()=>{var e;if(O.value)return;const n={id:a.value.id,diagnosis_id:a.value.id,appointment_id:0,patient_name:a.value.patient_name,patient_phone:N.value||a.value.phone,patient_gender:a.value.gender,patient_age:a.value.age,case_record:JSON.parse(JSON.stringify(a.value))};(e=ee.value)==null||e.open(n)},De=()=>{var n;(n=le.value)==null||n.resetFields(),a.value={id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,assistant_id:void 0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,create_source:"admin",show_card:1,external_userid:""},N.value="",w.value="",de.value=!1,ne.value=!1,T.value=!1,$.value=!1,O.value=!1,L.value=!1};return Le({open:tl,openViewOnly:ol,refreshCaseList:()=>{var n,e;return(e=(n=Z.value)==null?void 0:n.refresh)==null?void 0:e.call(n)}}),(n,e)=>{const c=Il,_=fl,A=cl,v=gl,s=vl,m=bl,g=yl,M=kl,D=Vl,B=hl,F=xl,Y=wl,X=Ul,Q=El,k=Ol,x=Pl,E=Rl,sl=_l,S=ml,q=Nl,rl=pl,Ie=Dl,ul=Cl;return d(),f("div",Wl,[o(ul,{modelValue:l(L),"onUpdate:modelValue":e[46]||(e[46]=i=>Se(L)?L.value=i:null),size:"60%","before-close":De,"z-index":l(O)?4e3:1500,modal:!0,class:"diagnosis-drawer tcm-diagnosis-drawer"},{header:t(()=>[G("div",Zl,[G("div",ea,[G("h2",la,b(l(Ge)),1),l(O)?(d(),u(c,{key:0,type:"info",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[47]||(e[47]=[r(" 只读 ",-1)])]),_:1})):l(R)==="add"?(d(),u(c,{key:1,type:"success",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[48]||(e[48]=[r(" 新建 ",-1)])]),_:1})):(d(),u(c,{key:2,type:"warning",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:t(()=>[...e[49]||(e[49]=[r(" 编辑 ",-1)])]),_:1}))]),l(a).patient_name||l(a).id?(d(),f("p",aa,[l(a).patient_name?(d(),f("span",ta,b(l(a).patient_name),1)):P("",!0),l(a).id?(d(),f("span",oa,[l(a).patient_name?(d(),f("span",ia,"·")):P("",!0),r(" 诊单 "+b(l(a).patient_id||l(a).id),1)])):P("",!0)])):P("",!0)])]),footer:t(()=>[G("div",ma,[o(Ie,{class:"tcm-dd-footer__btn",onClick:De},{default:t(()=>[r(b(l(O)?"关闭":"取消"),1)]),_:1}),!l(O)&&l(V)==="basic"?(d(),u(Ie,{key:0,class:"tcm-dd-footer__btn",type:"primary",onClick:il,loading:l(ae)},{default:t(()=>[...e[78]||(e[78]=[r(" 保存病历 ",-1)])]),_:1},8,["loading"])):P("",!0)])]),default:t(()=>[o(rl,{modelValue:l(V),"onUpdate:modelValue":e[44]||(e[44]=i=>Se(V)?V.value=i:null),class:"diagnosis-tabs tcm-diagnosis-tabs"},{default:t(()=>[o(S,{label:"病历",name:"basic"},{default:t(()=>[o(sl,{ref_key:"formRef",ref:le,model:l(a),rules:el,"label-width":"160px"},{default:t(()=>[G("fieldset",{disabled:l(O),class:"diagnosis-view-fieldset border-0 min-w-0 p-0 m-0"},[o(_,{"content-position":"left"},{default:t(()=>[...e[50]||(e[50]=[r("基本信息",-1)])]),_:1}),l(R)==="edit"&&l(te)&&!l(z)?(d(),u(A,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:t(()=>[l(H)?(d(),f(y,{key:0},[r(" 最近业务订单 #"+b(l(H).id)+" 状态为「"+b(l(H).fulfillment_status_text)+"」,患者基本信息不可修改 ",1)],64)):(d(),f(y,{key:1},[r(" 存在未完成的业务订单,患者基本信息不可修改 ")],64))]),_:1})):P("",!0),o(s,{label:"诊单ID"},{default:t(()=>[o(v,{modelValue:l(a).patient_id,"onUpdate:modelValue":e[0]||(e[0]=i=>l(a).patient_id=i),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),G("fieldset",{disabled:!l(z),class:"diagnosis-patient-basic-fieldset border-0 min-w-0 p-0 m-0"},[o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"姓名",prop:"patient_name"},{default:t(()=>[o(v,{modelValue:l(a).patient_name,"onUpdate:modelValue":e[1]||(e[1]=i=>l(a).patient_name=i),placeholder:"请输入姓名",disabled:!l(z)},null,8,["modelValue","disabled"])]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(Ae)?(d(),f(y,{key:0},[o(v,{"model-value":l($)?l(w)||"":K(l(w)||""),readonly:"",placeholder:"点击可查看完整身份证号",maxlength:"18",class:"cursor-pointer phone-mask-toggle",onClick:Qe},null,8,["model-value"]),l(w)&&!l($)?(d(),f("p",sa," 当前为脱敏显示,点击输入框可查看完整号码 ")):P("",!0)],64)):(d(),u(v,{key:1,modelValue:l(a).id_card,"onUpdate:modelValue":e[2]||(e[2]=i=>l(a).id_card=i),placeholder:"请输入身份证号",maxlength:"18",disabled:!l(Ye),onFocus:We,onBlur:Ze},null,8,["modelValue","disabled"]))]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"手机号",prop:"phone"},{default:t(()=>[l(qe)?(d(),f(y,{key:0},[o(v,{"model-value":l(T)?l(N)||"":j(l(N)||""),readonly:"",placeholder:"点击可查看完整手机号",maxlength:"11",class:"cursor-pointer phone-mask-toggle",onClick:Xe},null,8,["model-value"]),l(N)&&!l(T)?(d(),f("p",ra," 当前为脱敏显示,点击输入框可查看完整号码 ")):P("",!0)],64)):(d(),u(v,{key:1,modelValue:l(a).phone,"onUpdate:modelValue":e[3]||(e[3]=i=>l(a).phone=i),placeholder:"请输入手机号",maxlength:"11",disabled:!l(z),onFocus:je,onBlur:Ke},null,8,["modelValue","disabled"]))]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"性别",prop:"gender"},{default:t(()=>[o(D,{modelValue:l(a).gender,"onUpdate:modelValue":e[4]||(e[4]=i=>l(a).gender=i),disabled:!l(z)},{default:t(()=>[o(M,{label:1},{default:t(()=>[...e[51]||(e[51]=[r("男",-1)])]),_:1}),o(M,{label:0},{default:t(()=>[...e[52]||(e[52]=[r("女",-1)])]),_:1})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"年龄",prop:"age"},{default:t(()=>[o(B,{modelValue:l(a).age,"onUpdate:modelValue":e[5]||(e[5]=i=>l(a).age=i),min:0,max:150,placeholder:"请输入年龄",class:"w-full",disabled:!l(z),controls:l(z)},null,8,["modelValue","disabled","controls"])]),_:1})]),_:1})]),_:1})],8,na),o(_,{"content-position":"left"},{default:t(()=>[...e[53]||(e[53]=[r("生命体征",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:8},{default:t(()=>[o(s,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[o(Y,{modelValue:l(a).marital_status,"onUpdate:modelValue":e[6]||(e[6]=i=>l(a).marital_status=i),placeholder:"请选择婚姻状态",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[o(F,{label:"未婚",value:0}),o(F,{label:"已婚",value:1}),o(F,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"就诊人身高(cm)",prop:"height"},{default:t(()=>[o(B,{modelValue:l(a).height,"onUpdate:modelValue":e[7]||(e[7]=i=>l(a).height=i),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"体重(kg)",prop:"weight"},{default:t(()=>[o(B,{modelValue:l(a).weight,"onUpdate:modelValue":e[8]||(e[8]=i=>l(a).weight=i),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:8},{default:t(()=>[o(s,{label:"地区",prop:"region"},{default:t(()=>[o(v,{modelValue:l(a).region,"onUpdate:modelValue":e[9]||(e[9]=i=>l(a).region=i),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"就诊人血压(高压mmHg)",prop:"systolic_pressure"},{default:t(()=>[o(B,{modelValue:l(a).systolic_pressure,"onUpdate:modelValue":e[10]||(e[10]=i=>l(a).systolic_pressure=i),min:0,max:250,placeholder:"请输入高压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"就诊人血压(低压mmHg)",prop:"diastolic_pressure"},{default:t(()=>[o(B,{modelValue:l(a).diastolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=i=>l(a).diastolic_pressure=i),min:0,max:150,placeholder:"请输入低压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:8},{default:t(()=>[o(s,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[o(v,{modelValue:l(a).fasting_blood_sugar,"onUpdate:modelValue":e[12]||(e[12]=i=>l(a).fasting_blood_sugar=i),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[o(Y,{modelValue:l(a).diagnosis_type,"onUpdate:modelValue":e[13]||(e[13]=i=>l(a).diagnosis_type=i),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(d(!0),f(y,null,U(l(me),i=>(d(),u(F,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"状态",prop:"status"},{default:t(()=>[o(D,{modelValue:l(a).status,"onUpdate:modelValue":e[14]||(e[14]=i=>l(a).status=i)},{default:t(()=>[o(M,{label:1},{default:t(()=>[...e[54]||(e[54]=[r("启用",-1)])]),_:1}),o(M,{label:0},{default:t(()=>[...e[55]||(e[55]=[r("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"渠道来源",prop:"create_source"},{default:t(()=>[o(Y,{modelValue:l(a).create_source,"onUpdate:modelValue":e[15]||(e[15]=i=>l(a).create_source=i),placeholder:"请选择渠道来源",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(d(),f(y,null,U(He,i=>o(F,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"统计端就诊卡",prop:"show_card"},{default:t(()=>[o(X,{modelValue:l(a).show_card,"onUpdate:modelValue":e[16]||(e[16]=i=>l(a).show_card=i),"active-value":1,"inactive-value":0,"active-text":"显示","inactive-text":"隐藏","inline-prompt":""},null,8,["modelValue"]),e[56]||(e[56]=G("span",{class:"form-tips ml-3"}," 关闭后,该就诊卡将不会出现在小程序统计端 ",-1))]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"在用药物",prop:"current_medications"},{default:t(()=>[o(v,{modelValue:l(a).current_medications,"onUpdate:modelValue":e[17]||(e[17]=i=>l(a).current_medications=i),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[57]||(e[57]=[r("主诉",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"当地医院诊断日期",prop:"diagnosis_date"},{default:t(()=>[o(Q,{modelValue:l(a).diagnosis_date,"onUpdate:modelValue":e[18]||(e[18]=i=>l(a).diagnosis_date=i),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"发现糖尿病患病史",prop:"diabetes_discovery_year"},{default:t(()=>[o(v,{modelValue:l(a).diabetes_discovery_year,"onUpdate:modelValue":e[19]||(e[19]=i=>l(a).diabetes_discovery_year=i),clearable:"",maxlength:"50","show-word-limit":"",placeholder:"可填数字或文字,如:5、1年、半年",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(s,{label:"当地医院诊断结果",prop:"local_hospital_diagnosis",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).local_hospital_diagnosis,"onUpdate:modelValue":e[20]||(e[20]=i=>l(a).local_hospital_diagnosis=i)},{default:t(()=>[o(k,{label:"糖尿病"},{default:t(()=>[...e[58]||(e[58]=[r("糖尿病",-1)])]),_:1}),o(k,{label:"消渴病"},{default:t(()=>[...e[59]||(e[59]=[r("消渴病",-1)])]),_:1}),o(k,{label:"糖尿病前期"},{default:t(()=>[...e[60]||(e[60]=[r("糖尿病前期",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[o(v,{modelValue:l(a).local_hospital_name,"onUpdate:modelValue":e[21]||(e[21]=i=>l(a).local_hospital_name=i),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[61]||(e[61]=[r("现病史",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(s,{label:"口腔感觉",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).appetite,"onUpdate:modelValue":e[22]||(e[22]=i=>l(a).appetite=i)},{default:t(()=>[(d(!0),f(y,null,U(l(fe),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:20},{default:t(()=>[o(s,{label:"每日饮水量",class:"compact-form-item"},{default:t(()=>[o(D,{modelValue:l(a).water_intake,"onUpdate:modelValue":e[23]||(e[23]=i=>l(a).water_intake=i)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[62]||(e[62]=[r("无",-1)])]),_:1}),(d(!0),f(y,null,U(l(ce),i=>(d(),u(E,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"近一个月体重变化",class:"compact-form-item"},{default:t(()=>[o(D,{modelValue:l(a).weight_change,"onUpdate:modelValue":e[24]||(e[24]=i=>l(a).weight_change=i)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[63]||(e[63]=[r("无",-1)])]),_:1}),(d(!0),f(y,null,U(l(ge),i=>(d(),u(E,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"脂肪肝程度",class:"compact-form-item"},{default:t(()=>[o(D,{modelValue:l(a).fatty_liver_degree,"onUpdate:modelValue":e[25]||(e[25]=i=>l(a).fatty_liver_degree=i)},{default:t(()=>[o(E,{label:""},{default:t(()=>[...e[64]||(e[64]=[r("无",-1)])]),_:1}),(d(!0),f(y,null,U(l(Pe),i=>(d(),u(E,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(s,{label:"饮食情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).diet_condition,"onUpdate:modelValue":e[26]||(e[26]=i=>l(a).diet_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(ve),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"肢体感觉",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).body_feeling,"onUpdate:modelValue":e[27]||(e[27]=i=>l(a).body_feeling=i)},{default:t(()=>[(d(!0),f(y,null,U(l(ye),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"睡眠情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).sleep_condition,"onUpdate:modelValue":e[28]||(e[28]=i=>l(a).sleep_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(be),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"眼睛情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).eye_condition,"onUpdate:modelValue":e[29]||(e[29]=i=>l(a).eye_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(Ve),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"头部感觉",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).head_feeling,"onUpdate:modelValue":e[30]||(e[30]=i=>l(a).head_feeling=i)},{default:t(()=>[(d(!0),f(y,null,U(l(ke),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"出汗情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).sweat_condition,"onUpdate:modelValue":e[31]||(e[31]=i=>l(a).sweat_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(he),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"皮肤情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).skin_condition,"onUpdate:modelValue":e[32]||(e[32]=i=>l(a).skin_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(we),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"小便情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).urine_condition,"onUpdate:modelValue":e[33]||(e[33]=i=>l(a).urine_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(xe),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"大便情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).stool_condition,"onUpdate:modelValue":e[34]||(e[34]=i=>l(a).stool_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(Ue),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"腰肾情况",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).kidney_condition,"onUpdate:modelValue":e[35]||(e[35]=i=>l(a).kidney_condition=i)},{default:t(()=>[(d(!0),f(y,null,U(l(Ee),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"其他补充",prop:"symptoms"},{default:t(()=>[o(v,{modelValue:l(a).symptoms,"onUpdate:modelValue":e[36]||(e[36]=i=>l(a).symptoms=i),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[65]||(e[65]=[r("既往史",-1)])]),_:1}),o(s,{label:"",prop:"past_history",class:"checkbox-form-item"},{default:t(()=>[o(x,{modelValue:l(a).past_history,"onUpdate:modelValue":e[37]||(e[37]=i=>l(a).past_history=i)},{default:t(()=>[(d(!0),f(y,null,U(l(_e),i=>(d(),u(k,{key:i.value,label:i.value},{default:t(()=>[r(b(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[66]||(e[66]=[r("其他病史",-1)])]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:8},{default:t(()=>[o(s,{label:"外伤史"},{default:t(()=>[o(D,{modelValue:l(a).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=i=>l(a).trauma_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[67]||(e[67]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[68]||(e[68]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"手术史"},{default:t(()=>[o(D,{modelValue:l(a).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=i=>l(a).surgery_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[69]||(e[69]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[70]||(e[70]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:t(()=>[o(s,{label:"过敏史"},{default:t(()=>[o(D,{modelValue:l(a).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=i=>l(a).allergy_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[71]||(e[71]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[72]||(e[72]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(g,{gutter:20},{default:t(()=>[o(m,{span:12},{default:t(()=>[o(s,{label:"家族病史"},{default:t(()=>[o(D,{modelValue:l(a).family_history,"onUpdate:modelValue":e[41]||(e[41]=i=>l(a).family_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[73]||(e[73]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[74]||(e[74]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:t(()=>[o(s,{label:"妊娠哺乳史"},{default:t(()=>[o(D,{modelValue:l(a).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=i=>l(a).pregnancy_history=i)},{default:t(()=>[o(E,{label:1},{default:t(()=>[...e[75]||(e[75]=[r("有",-1)])]),_:1}),o(E,{label:0},{default:t(()=>[...e[76]||(e[76]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:t(()=>[...e[77]||(e[77]=[r("诊断信息",-1)])]),_:1}),o(s,{label:"病史补充",prop:"remark"},{default:t(()=>[o(v,{modelValue:l(a).remark,"onUpdate:modelValue":e[43]||(e[43]=i=>l(a).remark=i),type:"textarea",rows:2,placeholder:"请输入病史补充"},null,8,["modelValue"])]),_:1})],8,da)]),_:1},8,["model"])]),_:1}),o(S,{label:"医生备注",name:"doctorNote",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),f("div",ua,[o(Hl,{notes:l(ie),"diagnosis-id":Number(l(a).id),readonly:l(O),onRefresh:ue},null,8,["notes","diagnosis-id","readonly"])])):(d(),u(q,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"]),l(re)?(d(),u(S,{key:0,label:"日常记录",name:"daily",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Ml,{key:0,"diagnosis-id":Number(l(a).id),"patient-id":Number(l(a).patient_id),age:l(a).age,"patient-name":l(a).patient_name,"read-only":l(O)},null,8,["diagnosis-id","patient-id","age","patient-name","read-only"])):(d(),u(q,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/chufang"])?(d(),u(S,{key:1,label:"处方",name:"bingli",disabled:!l(a).id},{default:t(()=>[l(a).id?(d(),f("div",pa,[o(ql,{ref_key:"caseRecordListRef",ref:Z,"diagnosis-id":Number(l(a).id),"read-only":l(O),onView:dl,onOpenPrescription:nl},null,8,["diagnosis-id","read-only"])])):(d(),u(q,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/patientOrders"])?(d(),u(S,{key:2,label:"业务订单",name:"patientOrders",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Xl,{key:0,"diagnosis-id":Number(l(a).id),"patient-id":Number(l(a).patient_id)||0},null,8,["diagnosis-id","patient-id"])):(d(),u(q,{key:1,description:"请先保存诊单后查看业务订单"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/huifang"])?(d(),u(S,{key:3,label:"视频录制回放记录",name:"visit",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Al,{key:0,ref_key:"callRecordPanelRef",ref:Me,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(d(),u(q,{key:1,description:"请先保存诊单后再查看视频录制回放记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/chat"])?(d(),u(S,{key:4,label:"聊天记录",name:"chat",disabled:!l(a).id,lazy:""},{default:t(()=>[l(V)==="chat"&&l(a).id?(d(),u(Yl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):l(a).id?P("",!0):(d(),u(q,{key:1,description:"请先保存诊单后再查看聊天记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["tcm.diagnosis/assign"])||l(I)(["tcm.diagnosis/detail"])?(d(),u(S,{key:5,label:"指派医助记录",name:"assignLog",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Gl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(d(),u(q,{key:1,description:"请先保存诊单后再查看指派记录"}))]),_:1},8,["disabled"])):P("",!0),l(I)(["doctor.appointment/lists"])?(d(),u(S,{key:6,label:"挂号记录",name:"appointmentRecords",disabled:!l(a).id,lazy:""},{default:t(()=>[l(a).id?(d(),u(Jl,{key:0,"diagnosis-id":Number(l(a).id)},null,8,["diagnosis-id"])):(d(),u(q,{key:1,description:"请先保存诊单后再查看挂号记录"}))]),_:1},8,["disabled"])):P("",!0)]),_:1},8,["modelValue"]),o(Ql,{ref_key:"prescriptionRef",ref:ee,onSuccess:e[45]||(e[45]=i=>{var W,Ce;return(Ce=(W=l(Z))==null?void 0:W.refresh)==null?void 0:Ce.call(W)})},null,512)]),_:1},8,["modelValue","z-index"])])}}}),At=$l(_a,[["__scopeId","data-v-60b2b4d4"]]);export{At as default}; diff --git a/server/public/admin/assets/edit-EVe-rvDl.js b/server/public/admin/assets/edit-DQ82mXcF.js similarity index 97% rename from server/public/admin/assets/edit-EVe-rvDl.js rename to server/public/admin/assets/edit-DQ82mXcF.js index d839ebb7e..dadcfdd98 100644 --- a/server/public/admin/assets/edit-EVe-rvDl.js +++ b/server/public/admin/assets/edit-DQ82mXcF.js @@ -1 +1 @@ -import{_ as N}from"./index-D6hiZISU.js";import{P as D,K as I,D as F,B as J,C as O,G as $,J as G,g as H,N as K,O as M,i as P}from"./element-plus-DGP1XOrU.js";import{l as S,H as j,I as z,J as A,K as L}from"./index-fRv3NTFQ.js";import{u as Q,a as W}from"./vue-router-QlpZ4wdW.js";import{f as v,b as X,ak as Y,I as Z,a as o,aN as l,J as i,O as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as w,q as ee,n as oe}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const te={class:"article-edit"},ae={class:"w-80"},le={class:"w-80"},re={class:"w-80"},se={class:"w-80"},ne={class:"w-80"},me=v({name:"scheduledTaskEdit"}),Le=v({...me,setup(ie){const p=Q(),V=W(),t=w({id:"",name:"",command:"",expression:"",params:"",remark:"",status:1,type:1}),{removeTab:x}=S(),d=ee(),y=w({name:[{required:!0,message:"请输入名称"}],command:[{required:!0,message:"请输入thankphp命令,如vresion"}],expression:[{required:!0,message:"请输入crontab规则,例:5 9 * * *"}]}),E=async()=>{const s=await j({id:p.query.id});Object.keys(t).forEach(e=>{t[e]=s[e]})},u=oe([]),c=async()=>{var e;await((e=d.value)==null?void 0:e.validateField(["expression"]));const s=await z({expression:t.expression});u.value=s},k=async()=>{var s;await((s=d.value)==null?void 0:s.validate()),p.query.id?await A(t):await L(t),x(),V.back()};return X(async()=>{p.query.id&&(await E(),await c())}),(s,e)=>{const g=D,_=I,m=O,n=J,h=G,R=$,q=H,f=M,B=K,U=F,C=P,T=N;return Y(),Z("div",te,[o(_,{class:"!border-none",shadow:"never"},{default:l(()=>[o(g,{content:s.$route.meta.title,onBack:e[0]||(e[0]=r=>s.$router.back())},null,8,["content"])]),_:1}),o(_,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[o(U,{ref_key:"formRef",ref:d,class:"ls-form",model:a(t),"label-width":"85px",rules:a(y)},{default:l(()=>[o(n,{label:"名称",prop:"name"},{default:l(()=>[i("div",ae,[o(m,{modelValue:a(t).name,"onUpdate:modelValue":e[1]||(e[1]=r=>a(t).name=r),placeholder:"请输入名称",maxlength:"30",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"类型",prop:"type"},{default:l(()=>[o(R,{modelValue:a(t).type,"onUpdate:modelValue":e[2]||(e[2]=r=>a(t).type=r)},{default:l(()=>[o(h,{value:1},{default:l(()=>[...e[8]||(e[8]=[b("定时任务",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(n,{label:"命令",prop:"command"},{default:l(()=>[i("div",le,[o(m,{modelValue:a(t).command,"onUpdate:modelValue":e[3]||(e[3]=r=>a(t).command=r),placeholder:"请输入thinkphp命令,如vresion",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"参数",prop:"params"},{default:l(()=>[i("div",re,[o(m,{modelValue:a(t).params,"onUpdate:modelValue":e[4]||(e[4]=r=>a(t).params=r),placeholder:"请输入参数,例:--id 8 --name 测试",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"状态"},{default:l(()=>[o(q,{modelValue:a(t).status,"onUpdate:modelValue":e[5]||(e[5]=r=>a(t).status=r),"active-value":1,"inactive-value":2},null,8,["modelValue"])]),_:1}),o(n,{label:"规则",prop:"expression"},{default:l(()=>[i("div",se,[o(m,{onBlur:c,modelValue:a(t).expression,"onUpdate:modelValue":e[6]||(e[6]=r=>a(t).expression=r),placeholder:"请输入crontab规则,例:5 9 * * *"},null,8,["modelValue"])])]),_:1}),o(n,null,{default:l(()=>[o(B,{data:a(u),style:{"max-width":"320px"}},{default:l(()=>[o(f,{prop:"time",label:"序号","min-width":"80"}),o(f,{prop:"date",label:"执行时间","min-width":"240"})]),_:1},8,["data"])]),_:1}),o(n,{label:"备注",prop:"remark"},{default:l(()=>[i("div",ne,[o(m,{modelValue:a(t).remark,"onUpdate:modelValue":e[7]||(e[7]=r=>a(t).remark=r),type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),o(T,null,{default:l(()=>[o(C,{type:"primary",onClick:k},{default:l(()=>[...e[9]||(e[9]=[b("保存",-1)])]),_:1})]),_:1})])}}});export{Le as default}; +import{_ as N}from"./index-UGD9wxNK.js";import{P as D,K as I,D as F,B as J,C as O,G as $,J as G,g as H,N as K,O as M,i as P}from"./element-plus-DGP1XOrU.js";import{l as S,H as j,I as z,J as A,K as L}from"./index-J_eFER10.js";import{u as Q,a as W}from"./vue-router-QlpZ4wdW.js";import{f as v,b as X,ak as Y,I as Z,a as o,aN as l,J as i,O as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as w,q as ee,n as oe}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const te={class:"article-edit"},ae={class:"w-80"},le={class:"w-80"},re={class:"w-80"},se={class:"w-80"},ne={class:"w-80"},me=v({name:"scheduledTaskEdit"}),Le=v({...me,setup(ie){const p=Q(),V=W(),t=w({id:"",name:"",command:"",expression:"",params:"",remark:"",status:1,type:1}),{removeTab:x}=S(),d=ee(),y=w({name:[{required:!0,message:"请输入名称"}],command:[{required:!0,message:"请输入thankphp命令,如vresion"}],expression:[{required:!0,message:"请输入crontab规则,例:5 9 * * *"}]}),E=async()=>{const s=await j({id:p.query.id});Object.keys(t).forEach(e=>{t[e]=s[e]})},u=oe([]),c=async()=>{var e;await((e=d.value)==null?void 0:e.validateField(["expression"]));const s=await z({expression:t.expression});u.value=s},k=async()=>{var s;await((s=d.value)==null?void 0:s.validate()),p.query.id?await A(t):await L(t),x(),V.back()};return X(async()=>{p.query.id&&(await E(),await c())}),(s,e)=>{const g=D,_=I,m=O,n=J,h=G,R=$,q=H,f=M,B=K,U=F,C=P,T=N;return Y(),Z("div",te,[o(_,{class:"!border-none",shadow:"never"},{default:l(()=>[o(g,{content:s.$route.meta.title,onBack:e[0]||(e[0]=r=>s.$router.back())},null,8,["content"])]),_:1}),o(_,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[o(U,{ref_key:"formRef",ref:d,class:"ls-form",model:a(t),"label-width":"85px",rules:a(y)},{default:l(()=>[o(n,{label:"名称",prop:"name"},{default:l(()=>[i("div",ae,[o(m,{modelValue:a(t).name,"onUpdate:modelValue":e[1]||(e[1]=r=>a(t).name=r),placeholder:"请输入名称",maxlength:"30",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"类型",prop:"type"},{default:l(()=>[o(R,{modelValue:a(t).type,"onUpdate:modelValue":e[2]||(e[2]=r=>a(t).type=r)},{default:l(()=>[o(h,{value:1},{default:l(()=>[...e[8]||(e[8]=[b("定时任务",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(n,{label:"命令",prop:"command"},{default:l(()=>[i("div",le,[o(m,{modelValue:a(t).command,"onUpdate:modelValue":e[3]||(e[3]=r=>a(t).command=r),placeholder:"请输入thinkphp命令,如vresion",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"参数",prop:"params"},{default:l(()=>[i("div",re,[o(m,{modelValue:a(t).params,"onUpdate:modelValue":e[4]||(e[4]=r=>a(t).params=r),placeholder:"请输入参数,例:--id 8 --name 测试",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"状态"},{default:l(()=>[o(q,{modelValue:a(t).status,"onUpdate:modelValue":e[5]||(e[5]=r=>a(t).status=r),"active-value":1,"inactive-value":2},null,8,["modelValue"])]),_:1}),o(n,{label:"规则",prop:"expression"},{default:l(()=>[i("div",se,[o(m,{onBlur:c,modelValue:a(t).expression,"onUpdate:modelValue":e[6]||(e[6]=r=>a(t).expression=r),placeholder:"请输入crontab规则,例:5 9 * * *"},null,8,["modelValue"])])]),_:1}),o(n,null,{default:l(()=>[o(B,{data:a(u),style:{"max-width":"320px"}},{default:l(()=>[o(f,{prop:"time",label:"序号","min-width":"80"}),o(f,{prop:"date",label:"执行时间","min-width":"240"})]),_:1},8,["data"])]),_:1}),o(n,{label:"备注",prop:"remark"},{default:l(()=>[i("div",ne,[o(m,{modelValue:a(t).remark,"onUpdate:modelValue":e[7]||(e[7]=r=>a(t).remark=r),type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),o(T,null,{default:l(()=>[o(C,{type:"primary",onClick:k},{default:l(()=>[...e[9]||(e[9]=[b("保存",-1)])]),_:1})]),_:1})])}}});export{Le as default}; diff --git a/server/public/admin/assets/edit-DUrq1LLZ.js b/server/public/admin/assets/edit-Do5cfT8q.js similarity index 95% rename from server/public/admin/assets/edit-DUrq1LLZ.js rename to server/public/admin/assets/edit-Do5cfT8q.js index 01f2a403c..8585480b2 100644 --- a/server/public/admin/assets/edit-DUrq1LLZ.js +++ b/server/public/admin/assets/edit-Do5cfT8q.js @@ -1 +1 @@ -import{D as W,I as X,B as Y,C as h,G as ee,J as le,h as oe,Z as te,Q as ae,R as re,g as de,i as ie,e as ne}from"./element-plus-DGP1XOrU.js";import{_ as se}from"./picker-C0hwSppU.js";import{b as pe,d as ue,e as me}from"./admin-BiglL3bM.js";import{d as fe}from"./department-OHG8LTQz.js";import{j as _e}from"./post-CPnP1Klt.js";import{k as ge,o as be,_ as ce}from"./index-fRv3NTFQ.js";import{u as Ve}from"./useDictOptions-Cx2-jvcM.js";import{f as ve,ak as _,I as v,a as t,aN as r,O as u,G as w,J as s,H as we,F as N,ap as A,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as xe,q as Ee,n as b,r as B}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ue={class:"edit-drawer"},je={class:"text-primary font-medium"},ke={class:"w-full"},De={class:"ml-2 text-gray-500"},qe={class:"flex justify-end"},Ce=ve({__name:"edit",emits:["success","close"],setup(Re,{expose:O,emit:S}){function F(i){if(i.status!==1)return!0;const e=i.children;return Array.isArray(e)&&e.length>0}const y=S,x=Ee(),f=b(!1),m=b("add"),c=b(!1),E=b([]),T=async()=>{const i=await be({type:"department"});E.value=(i==null?void 0:i.department)||[]},G=ye(()=>m.value=="edit"?"编辑医助":"新增医助"),o=B({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[2],dept_id:[],jobs_id:[],avatar:"",title:"",department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1,diagnosis_count:null}),{optionsData:U}=Ve({jobs:{api:_e},dept:{api:fe,params:{apply_data_scope:1}}}),V=(i,e,n)=>{o.password&&(e||n(new Error("请再次输入密码")),e!==o.password&&n(new Error("两次输入密码不一致!"))),n()},g=B({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(i,e,n)=>{e&&!/^1[3-9]\d{9}$/.test(e)?n(new Error("请输入正确的手机号")):n()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}]}),J=async()=>{var i;try{await((i=x.value)==null?void 0:i.validate()),c.value=!0,m.value=="edit"?await pe(o):await ue(o),ge.msgSuccess(m.value=="edit"?"编辑成功":"新增成功"),f.value=!1,y("success")}catch(e){console.error("提交失败:",e)}finally{c.value=!1}},Q=(i="add")=>{m.value=i,f.value=!0,T(),i==="add"&&(Object.assign(o,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[2],dept_id:[],jobs_id:[],avatar:"",title:"",department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1,diagnosis_count:null}),g.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],g.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}])},z=async i=>{g.password=[],g.password_confirm=[{validator:V,trigger:"blur"}];const e=await me({id:i.id});for(const n in o)e[n]!=null&&e[n]!=null&&(o[n]=e[n]);o.role_id.includes(2)||o.role_id.push(2)},j=()=>{f.value=!1,y("close")};return O({open:Q,setFormData:z}),(i,e)=>{const n=X,d=Y,p=h,H=se,k=le,L=ee,P=oe,Z=te,D=re,q=ae,C=de,$=W,R=ie,K=ne;return _(),v("div",Ue,[t(K,{modelValue:l(f),"onUpdate:modelValue":e[18]||(e[18]=a=>xe(f)?f.value=a:null),title:l(G),direction:"rtl",size:"780px","before-close":j},{footer:r(()=>[s("div",qe,[t(R,{onClick:j},{default:r(()=>[...e[30]||(e[30]=[u("取消",-1)])]),_:1}),t(R,{type:"primary",onClick:J,loading:l(c)},{default:r(()=>[...e[31]||(e[31]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[t($,{ref_key:"formRef",ref:x,model:l(o),"label-width":"100px",rules:l(g)},{default:r(()=>[t(n,{"content-position":"left"},{default:r(()=>[...e[19]||(e[19]=[u("基本信息",-1)])]),_:1}),l(m)==="edit"&&l(o).diagnosis_count!=null?(_(),w(d,{key:0,label:"创建诊单数"},{default:r(()=>[s("span",je,I(l(o).diagnosis_count),1),e[20]||(e[20]=s("span",{class:"text-tx-secondary text-sm ml-2"},"条",-1))]),_:1})):we("",!0),t(d,{label:"账号",prop:"account"},{default:r(()=>[t(p,{modelValue:l(o).account,"onUpdate:modelValue":e[0]||(e[0]=a=>l(o).account=a),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"头像"},{default:r(()=>[s("div",null,[s("div",null,[t(H,{modelValue:l(o).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>l(o).avatar=a),limit:1},null,8,["modelValue"])]),e[21]||(e[21]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(d,{label:"姓名",prop:"name"},{default:r(()=>[t(p,{modelValue:l(o).name,"onUpdate:modelValue":e[2]||(e[2]=a=>l(o).name=a),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"性别",prop:"gender"},{default:r(()=>[t(L,{modelValue:l(o).gender,"onUpdate:modelValue":e[3]||(e[3]=a=>l(o).gender=a)},{default:r(()=>[t(k,{label:1},{default:r(()=>[...e[22]||(e[22]=[u("男",-1)])]),_:1}),t(k,{label:2},{default:r(()=>[...e[23]||(e[23]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"年龄",prop:"age"},{default:r(()=>[t(P,{modelValue:l(o).age,"onUpdate:modelValue":e[4]||(e[4]=a=>l(o).age=a),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),t(d,{label:"手机号",prop:"phone"},{default:r(()=>[t(p,{modelValue:l(o).phone,"onUpdate:modelValue":e[5]||(e[5]=a=>l(o).phone=a),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("组织信息",-1)])]),_:1}),t(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",ke,[t(Z,{class:"flex-1 w-full",modelValue:l(o).dept_id,"onUpdate:modelValue":e[6]||(e[6]=a=>l(o).dept_id=a),data:l(U).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:F},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[25]||(e[25]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),t(d,{label:"岗位",prop:"jobs_id"},{default:r(()=>[t(q,{class:"flex-1",modelValue:l(o).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=a=>l(o).jobs_id=a),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(_(!0),v(N,null,A(l(U).jobs,(a,M)=>(_(),w(D,{key:M,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[26]||(e[26]=[u("专业信息",-1)])]),_:1}),t(d,{label:"职称",prop:"title"},{default:r(()=>[t(p,{modelValue:l(o).title,"onUpdate:modelValue":e[8]||(e[8]=a=>l(o).title=a),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"所属科室",prop:"department"},{default:r(()=>[t(q,{modelValue:l(o).department,"onUpdate:modelValue":e[9]||(e[9]=a=>l(o).department=a),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(_(!0),v(N,null,A(l(E),a=>(_(),w(D,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"擅长领域",prop:"specialty"},{default:r(()=>[t(p,{modelValue:l(o).specialty,"onUpdate:modelValue":e[10]||(e[10]=a=>l(o).specialty=a),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[27]||(e[27]=[u("履历信息",-1)])]),_:1}),t(d,{label:"教育背景",prop:"education"},{default:r(()=>[t(p,{modelValue:l(o).education,"onUpdate:modelValue":e[11]||(e[11]=a=>l(o).education=a),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),t(d,{label:"工作经历",prop:"experience"},{default:r(()=>[t(p,{modelValue:l(o).experience,"onUpdate:modelValue":e[12]||(e[12]=a=>l(o).experience=a),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),t(d,{label:"荣誉资质",prop:"honors"},{default:r(()=>[t(p,{modelValue:l(o).honors,"onUpdate:modelValue":e[13]||(e[13]=a=>l(o).honors=a),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("账号设置",-1)])]),_:1}),t(d,{label:"密码",prop:"password"},{default:r(()=>[t(p,{modelValue:l(o).password,"onUpdate:modelValue":e[14]||(e[14]=a=>l(o).password=a),"show-password":"",clearable:"",placeholder:l(m)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),t(d,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[t(p,{modelValue:l(o).password_confirm,"onUpdate:modelValue":e[15]||(e[15]=a=>l(o).password_confirm=a),"show-password":"",clearable:"",placeholder:l(m)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),t(d,{label:"状态"},{default:r(()=>[t(C,{modelValue:l(o).disable,"onUpdate:modelValue":e[16]||(e[16]=a=>l(o).disable=a),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",De,I(l(o).disable===0?"启用":"禁用"),1)]),_:1}),t(d,{label:"多处登录"},{default:r(()=>[s("div",null,[t(C,{modelValue:l(o).multipoint_login,"onUpdate:modelValue":e[17]||(e[17]=a=>l(o).multipoint_login=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[29]||(e[29]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Il=ce(Ce,[["__scopeId","data-v-f616077a"]]);export{Il as default}; +import{D as W,I as X,B as Y,C as h,G as ee,J as le,h as oe,Z as te,Q as ae,R as re,g as de,i as ie,e as ne}from"./element-plus-DGP1XOrU.js";import{_ as se}from"./picker-lbwHqE-a.js";import{b as pe,d as ue,e as me}from"./admin-RUE9duOm.js";import{d as fe}from"./department-DdhKHNS-.js";import{j as _e}from"./post-BjyIxcyn.js";import{k as ge,o as be,_ as ce}from"./index-J_eFER10.js";import{u as Ve}from"./useDictOptions-CU1TLMPn.js";import{f as ve,ak as _,I as v,a as t,aN as r,O as u,G as w,J as s,H as we,F as N,ap as A,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as xe,q as Ee,n as b,r as B}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ue={class:"edit-drawer"},je={class:"text-primary font-medium"},ke={class:"w-full"},De={class:"ml-2 text-gray-500"},qe={class:"flex justify-end"},Ce=ve({__name:"edit",emits:["success","close"],setup(Re,{expose:O,emit:S}){function F(i){if(i.status!==1)return!0;const e=i.children;return Array.isArray(e)&&e.length>0}const y=S,x=Ee(),f=b(!1),m=b("add"),c=b(!1),E=b([]),T=async()=>{const i=await be({type:"department"});E.value=(i==null?void 0:i.department)||[]},G=ye(()=>m.value=="edit"?"编辑医助":"新增医助"),o=B({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[2],dept_id:[],jobs_id:[],avatar:"",title:"",department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1,diagnosis_count:null}),{optionsData:U}=Ve({jobs:{api:_e},dept:{api:fe,params:{apply_data_scope:1}}}),V=(i,e,n)=>{o.password&&(e||n(new Error("请再次输入密码")),e!==o.password&&n(new Error("两次输入密码不一致!"))),n()},g=B({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(i,e,n)=>{e&&!/^1[3-9]\d{9}$/.test(e)?n(new Error("请输入正确的手机号")):n()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}]}),J=async()=>{var i;try{await((i=x.value)==null?void 0:i.validate()),c.value=!0,m.value=="edit"?await pe(o):await ue(o),ge.msgSuccess(m.value=="edit"?"编辑成功":"新增成功"),f.value=!1,y("success")}catch(e){console.error("提交失败:",e)}finally{c.value=!1}},Q=(i="add")=>{m.value=i,f.value=!0,T(),i==="add"&&(Object.assign(o,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[2],dept_id:[],jobs_id:[],avatar:"",title:"",department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1,diagnosis_count:null}),g.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],g.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}])},z=async i=>{g.password=[],g.password_confirm=[{validator:V,trigger:"blur"}];const e=await me({id:i.id});for(const n in o)e[n]!=null&&e[n]!=null&&(o[n]=e[n]);o.role_id.includes(2)||o.role_id.push(2)},j=()=>{f.value=!1,y("close")};return O({open:Q,setFormData:z}),(i,e)=>{const n=X,d=Y,p=h,H=se,k=le,L=ee,P=oe,Z=te,D=re,q=ae,C=de,$=W,R=ie,K=ne;return _(),v("div",Ue,[t(K,{modelValue:l(f),"onUpdate:modelValue":e[18]||(e[18]=a=>xe(f)?f.value=a:null),title:l(G),direction:"rtl",size:"780px","before-close":j},{footer:r(()=>[s("div",qe,[t(R,{onClick:j},{default:r(()=>[...e[30]||(e[30]=[u("取消",-1)])]),_:1}),t(R,{type:"primary",onClick:J,loading:l(c)},{default:r(()=>[...e[31]||(e[31]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[t($,{ref_key:"formRef",ref:x,model:l(o),"label-width":"100px",rules:l(g)},{default:r(()=>[t(n,{"content-position":"left"},{default:r(()=>[...e[19]||(e[19]=[u("基本信息",-1)])]),_:1}),l(m)==="edit"&&l(o).diagnosis_count!=null?(_(),w(d,{key:0,label:"创建诊单数"},{default:r(()=>[s("span",je,I(l(o).diagnosis_count),1),e[20]||(e[20]=s("span",{class:"text-tx-secondary text-sm ml-2"},"条",-1))]),_:1})):we("",!0),t(d,{label:"账号",prop:"account"},{default:r(()=>[t(p,{modelValue:l(o).account,"onUpdate:modelValue":e[0]||(e[0]=a=>l(o).account=a),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"头像"},{default:r(()=>[s("div",null,[s("div",null,[t(H,{modelValue:l(o).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>l(o).avatar=a),limit:1},null,8,["modelValue"])]),e[21]||(e[21]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(d,{label:"姓名",prop:"name"},{default:r(()=>[t(p,{modelValue:l(o).name,"onUpdate:modelValue":e[2]||(e[2]=a=>l(o).name=a),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"性别",prop:"gender"},{default:r(()=>[t(L,{modelValue:l(o).gender,"onUpdate:modelValue":e[3]||(e[3]=a=>l(o).gender=a)},{default:r(()=>[t(k,{label:1},{default:r(()=>[...e[22]||(e[22]=[u("男",-1)])]),_:1}),t(k,{label:2},{default:r(()=>[...e[23]||(e[23]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"年龄",prop:"age"},{default:r(()=>[t(P,{modelValue:l(o).age,"onUpdate:modelValue":e[4]||(e[4]=a=>l(o).age=a),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),t(d,{label:"手机号",prop:"phone"},{default:r(()=>[t(p,{modelValue:l(o).phone,"onUpdate:modelValue":e[5]||(e[5]=a=>l(o).phone=a),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("组织信息",-1)])]),_:1}),t(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",ke,[t(Z,{class:"flex-1 w-full",modelValue:l(o).dept_id,"onUpdate:modelValue":e[6]||(e[6]=a=>l(o).dept_id=a),data:l(U).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:F},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[25]||(e[25]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),t(d,{label:"岗位",prop:"jobs_id"},{default:r(()=>[t(q,{class:"flex-1",modelValue:l(o).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=a=>l(o).jobs_id=a),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(_(!0),v(N,null,A(l(U).jobs,(a,M)=>(_(),w(D,{key:M,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[26]||(e[26]=[u("专业信息",-1)])]),_:1}),t(d,{label:"职称",prop:"title"},{default:r(()=>[t(p,{modelValue:l(o).title,"onUpdate:modelValue":e[8]||(e[8]=a=>l(o).title=a),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"所属科室",prop:"department"},{default:r(()=>[t(q,{modelValue:l(o).department,"onUpdate:modelValue":e[9]||(e[9]=a=>l(o).department=a),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(_(!0),v(N,null,A(l(E),a=>(_(),w(D,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"擅长领域",prop:"specialty"},{default:r(()=>[t(p,{modelValue:l(o).specialty,"onUpdate:modelValue":e[10]||(e[10]=a=>l(o).specialty=a),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[27]||(e[27]=[u("履历信息",-1)])]),_:1}),t(d,{label:"教育背景",prop:"education"},{default:r(()=>[t(p,{modelValue:l(o).education,"onUpdate:modelValue":e[11]||(e[11]=a=>l(o).education=a),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),t(d,{label:"工作经历",prop:"experience"},{default:r(()=>[t(p,{modelValue:l(o).experience,"onUpdate:modelValue":e[12]||(e[12]=a=>l(o).experience=a),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),t(d,{label:"荣誉资质",prop:"honors"},{default:r(()=>[t(p,{modelValue:l(o).honors,"onUpdate:modelValue":e[13]||(e[13]=a=>l(o).honors=a),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("账号设置",-1)])]),_:1}),t(d,{label:"密码",prop:"password"},{default:r(()=>[t(p,{modelValue:l(o).password,"onUpdate:modelValue":e[14]||(e[14]=a=>l(o).password=a),"show-password":"",clearable:"",placeholder:l(m)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),t(d,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[t(p,{modelValue:l(o).password_confirm,"onUpdate:modelValue":e[15]||(e[15]=a=>l(o).password_confirm=a),"show-password":"",clearable:"",placeholder:l(m)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),t(d,{label:"状态"},{default:r(()=>[t(C,{modelValue:l(o).disable,"onUpdate:modelValue":e[16]||(e[16]=a=>l(o).disable=a),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",De,I(l(o).disable===0?"启用":"禁用"),1)]),_:1}),t(d,{label:"多处登录"},{default:r(()=>[s("div",null,[t(C,{modelValue:l(o).multipoint_login,"onUpdate:modelValue":e[17]||(e[17]=a=>l(o).multipoint_login=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[29]||(e[29]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Il=ce(Ce,[["__scopeId","data-v-f616077a"]]);export{Il as default}; diff --git a/server/public/admin/assets/edit-BlUxS5DU.js b/server/public/admin/assets/edit-EtrEBhIY.js similarity index 77% rename from server/public/admin/assets/edit-BlUxS5DU.js rename to server/public/admin/assets/edit-EtrEBhIY.js index db6f148ca..98d0038d4 100644 --- a/server/public/admin/assets/edit-BlUxS5DU.js +++ b/server/public/admin/assets/edit-EtrEBhIY.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./wx_oa-BuVhGwqh.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./wx_oa-Bi2y5vRS.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit-DB0EuTxq.js b/server/public/admin/assets/edit-VO7XkV1v.js similarity index 84% rename from server/public/admin/assets/edit-DB0EuTxq.js rename to server/public/admin/assets/edit-VO7XkV1v.js index d782ff556..8b92d7fda 100644 --- a/server/public/admin/assets/edit-DB0EuTxq.js +++ b/server/public/admin/assets/edit-VO7XkV1v.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BL1KmfvV.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./article-BsGgZfIu.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CVNsiWtw.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./article-D7twg9M1.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit-B8eFIqdD.js b/server/public/admin/assets/edit-ZQ7tSM9h.js similarity index 95% rename from server/public/admin/assets/edit-B8eFIqdD.js rename to server/public/admin/assets/edit-ZQ7tSM9h.js index eae42a2b3..9b919486e 100644 --- a/server/public/admin/assets/edit-B8eFIqdD.js +++ b/server/public/admin/assets/edit-ZQ7tSM9h.js @@ -1 +1 @@ -import{P as F,K as G,M as P,B as S,G as T,J as U,C as J,D as L,i as M}from"./element-plus-DGP1XOrU.js";import{_ as O}from"./index-D6hiZISU.js";import{l as $}from"./lodash-D3kF6u-c.js";import{n as j,s as z}from"./message-DOlfHejJ.js";import{l as H,k as K}from"./index-fRv3NTFQ.js";import{u as Q,a as A}from"./vue-router-QlpZ4wdW.js";import{f as w,ak as p,I as c,a as t,aN as o,aP as W,G as X,J as l,O as m,F as Y,ap as Z}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as h,r as ee,q as te}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const oe={class:"w-80"},se={class:"flex-1"},ae={class:"w-full max-w-[320px]"},ne={class:"form-tips"},re=w({name:"noticeEdit"}),Qe=w({...re,setup(ie){const f=Q(),y=A(),_=h(!1),s=ee({id:"",scene_name:"",type:"",scene_desc:"",sms_notice:{status:0,template_id:"",content:"",tips:[]},oa_notice:{},mnp_notice:{},system_notice:{}}),k={"sms_notice.template_id":[{required:!0,message:"请输入模板ID",trigger:"blur"}],"sms_notice.content":[{required:!0,message:"请输入短信内容",trigger:"blur"}]},{removeTab:E}=H(),v=te(),V=async()=>{_.value=!0;const r=await j({id:f.query.id});Object.keys(r).forEach(e=>{s[e]=r[e]}),_.value=!1},x=async()=>{var e;await((e=v.value)==null?void 0:e.validate());const r={id:s.id,template:$.pick(s,["sms_notice","oa_notice","mnp_notice","system_notice"])};await z(r),K.msgSuccess("操作成功"),E(),y.back()};return f.query.id&&V(),(r,e)=>{const D=F,u=G,i=S,b=U,R=T,g=J,B=L,q=M,C=O,I=P;return p(),c("div",null,[t(u,{class:"!border-none",shadow:"never"},{default:o(()=>[t(D,{content:"编辑通知设置",onBack:e[0]||(e[0]=n=>r.$router.back())})]),_:1}),W((p(),X(B,{ref_key:"formRef",ref:v,model:a(s),"label-width":"120px",rules:k},{default:o(()=>[t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[e[4]||(e[4]=l("div",{class:"font-medium mb-7"},"通知名称",-1)),t(i,{label:"通知名称"},{default:o(()=>[m(d(a(s).scene_name),1)]),_:1}),t(i,{label:"通知类型"},{default:o(()=>[m(d(a(s).type),1)]),_:1}),t(i,{label:"通知业务"},{default:o(()=>[m(d(a(s).scene_desc),1)]),_:1})]),_:1}),t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[e[7]||(e[7]=l("div",{class:"font-medium mb-7"},"短信通知",-1)),t(i,{label:"开启状态",prop:"sms_notice.status",required:""},{default:o(()=>[t(R,{modelValue:a(s).sms_notice.status,"onUpdate:modelValue":e[1]||(e[1]=n=>a(s).sms_notice.status=n)},{default:o(()=>[t(b,{value:"0"},{default:o(()=>[...e[5]||(e[5]=[m("关闭",-1)])]),_:1}),t(b,{value:"1"},{default:o(()=>[...e[6]||(e[6]=[m("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(i,{label:"模板ID",prop:"sms_notice.template_id"},{default:o(()=>[l("div",oe,[t(g,{modelValue:a(s).sms_notice.template_id,"onUpdate:modelValue":e[2]||(e[2]=n=>a(s).sms_notice.template_id=n),placeholder:"请输入模板ID"},null,8,["modelValue"])])]),_:1}),t(i,{label:"短信内容",prop:"sms_notice.content"},{default:o(()=>[l("div",se,[l("div",ae,[t(g,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(s).sms_notice.content,"onUpdate:modelValue":e[3]||(e[3]=n=>a(s).sms_notice.content=n)},null,8,["modelValue"])]),l("div",ne,[(p(!0),c(Y,null,Z(a(s).sms_notice.tips,(n,N)=>(p(),c("div",{key:N},d(n),1))),128))])])]),_:1})]),_:1})]),_:1},8,["model"])),[[I,a(_)]]),t(C,null,{default:o(()=>[t(q,{type:"primary",onClick:x},{default:o(()=>[...e[8]||(e[8]=[m("保存",-1)])]),_:1})]),_:1})])}}});export{Qe as default}; +import{P as F,K as G,M as P,B as S,G as T,J as U,C as J,D as L,i as M}from"./element-plus-DGP1XOrU.js";import{_ as O}from"./index-UGD9wxNK.js";import{l as $}from"./lodash-D3kF6u-c.js";import{n as j,s as z}from"./message-BwLlJSkW.js";import{l as H,k as K}from"./index-J_eFER10.js";import{u as Q,a as A}from"./vue-router-QlpZ4wdW.js";import{f as w,ak as p,I as c,a as t,aN as o,aP as W,G as X,J as l,O as m,F as Y,ap as Z}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as h,r as ee,q as te}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const oe={class:"w-80"},se={class:"flex-1"},ae={class:"w-full max-w-[320px]"},ne={class:"form-tips"},re=w({name:"noticeEdit"}),Qe=w({...re,setup(ie){const f=Q(),y=A(),_=h(!1),s=ee({id:"",scene_name:"",type:"",scene_desc:"",sms_notice:{status:0,template_id:"",content:"",tips:[]},oa_notice:{},mnp_notice:{},system_notice:{}}),k={"sms_notice.template_id":[{required:!0,message:"请输入模板ID",trigger:"blur"}],"sms_notice.content":[{required:!0,message:"请输入短信内容",trigger:"blur"}]},{removeTab:E}=H(),v=te(),V=async()=>{_.value=!0;const r=await j({id:f.query.id});Object.keys(r).forEach(e=>{s[e]=r[e]}),_.value=!1},x=async()=>{var e;await((e=v.value)==null?void 0:e.validate());const r={id:s.id,template:$.pick(s,["sms_notice","oa_notice","mnp_notice","system_notice"])};await z(r),K.msgSuccess("操作成功"),E(),y.back()};return f.query.id&&V(),(r,e)=>{const D=F,u=G,i=S,b=U,R=T,g=J,B=L,q=M,C=O,I=P;return p(),c("div",null,[t(u,{class:"!border-none",shadow:"never"},{default:o(()=>[t(D,{content:"编辑通知设置",onBack:e[0]||(e[0]=n=>r.$router.back())})]),_:1}),W((p(),X(B,{ref_key:"formRef",ref:v,model:a(s),"label-width":"120px",rules:k},{default:o(()=>[t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[e[4]||(e[4]=l("div",{class:"font-medium mb-7"},"通知名称",-1)),t(i,{label:"通知名称"},{default:o(()=>[m(d(a(s).scene_name),1)]),_:1}),t(i,{label:"通知类型"},{default:o(()=>[m(d(a(s).type),1)]),_:1}),t(i,{label:"通知业务"},{default:o(()=>[m(d(a(s).scene_desc),1)]),_:1})]),_:1}),t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[e[7]||(e[7]=l("div",{class:"font-medium mb-7"},"短信通知",-1)),t(i,{label:"开启状态",prop:"sms_notice.status",required:""},{default:o(()=>[t(R,{modelValue:a(s).sms_notice.status,"onUpdate:modelValue":e[1]||(e[1]=n=>a(s).sms_notice.status=n)},{default:o(()=>[t(b,{value:"0"},{default:o(()=>[...e[5]||(e[5]=[m("关闭",-1)])]),_:1}),t(b,{value:"1"},{default:o(()=>[...e[6]||(e[6]=[m("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(i,{label:"模板ID",prop:"sms_notice.template_id"},{default:o(()=>[l("div",oe,[t(g,{modelValue:a(s).sms_notice.template_id,"onUpdate:modelValue":e[2]||(e[2]=n=>a(s).sms_notice.template_id=n),placeholder:"请输入模板ID"},null,8,["modelValue"])])]),_:1}),t(i,{label:"短信内容",prop:"sms_notice.content"},{default:o(()=>[l("div",se,[l("div",ae,[t(g,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(s).sms_notice.content,"onUpdate:modelValue":e[3]||(e[3]=n=>a(s).sms_notice.content=n)},null,8,["modelValue"])]),l("div",ne,[(p(!0),c(Y,null,Z(a(s).sms_notice.tips,(n,N)=>(p(),c("div",{key:N},d(n),1))),128))])])]),_:1})]),_:1})]),_:1},8,["model"])),[[I,a(_)]]),t(C,null,{default:o(()=>[t(q,{type:"primary",onClick:x},{default:o(()=>[...e[8]||(e[8]=[m("保存",-1)])]),_:1})]),_:1})])}}});export{Qe as default}; diff --git a/server/public/admin/assets/edit-DvbnA_Iw.js b/server/public/admin/assets/edit-ZZMCozF8.js similarity index 77% rename from server/public/admin/assets/edit-DvbnA_Iw.js rename to server/public/admin/assets/edit-ZZMCozF8.js index 988a590e2..bb9bc1118 100644 --- a/server/public/admin/assets/edit-DvbnA_Iw.js +++ b/server/public/admin/assets/edit-ZZMCozF8.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-ob5lYdp3.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./post-CPnP1Klt.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DNryuqHs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./post-BjyIxcyn.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit-DKzh1wFK.js b/server/public/admin/assets/edit-razgmSeC.js similarity index 96% rename from server/public/admin/assets/edit-DKzh1wFK.js rename to server/public/admin/assets/edit-razgmSeC.js index 192d762d2..62f249eeb 100644 --- a/server/public/admin/assets/edit-DKzh1wFK.js +++ b/server/public/admin/assets/edit-razgmSeC.js @@ -1 +1 @@ -import{e as J,D as K,B as T,J as z,C as O,G as Q,h as $,i as j,M as W,a as X}from"./element-plus-DGP1XOrU.js";import{_ as Y}from"./picker-C0hwSppU.js";import{g as Z,s as h}from"./pay-C3f37fth.js";import{u as ee}from"./useLockFn-X4Qce5KO.js";import{u as le}from"./getExposeType-MUpmx9zy.js";import{f as oe,ak as y,G as te,aN as a,aP as ie,I as V,a as o,O as d,J as r,F as k,H as x,A as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as re,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ne}from"./@vue/shared-mAAVTE9n.js";import{_ as pe}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const me={class:"h-full flex flex-col","element-loading-text":"加载中...","element-loading-background":"var(--el-bg-color)"},se={class:"flex-1"},de={class:"flex-1"},ue={class:"flex-1"},fe=oe({__name:"edit",emits:["refresh"],setup(_e,{expose:b,emit:w}){const f=u(!1),v=le(),I=u(),U=u("profile"),C=u(!1),c=u(!0),_=ae(()=>{switch(t.value.pay_way){case 1:return"余额支付";case 2:return"微信支付";case 3:return"支付宝支付";default:return""}}),t=u({id:"",pay_way:0,name:"",icon:"",sort:0,remark:"",domain:"",config:{interface_version:"",merchant_type:"",mch_id:"",pay_sign_key:"",apiclient_cert:"",apiclient_key:"",mode:"",app_id:"",private_key:"",ali_public_key:""}}),E={name:[{required:!0,message:"请输入显示名称"}],"config.mch_id":[{required:!0,message:"请输入微信支付商户号"}],"config.pay_sign_key":[{required:!0,message:"请输入微信支付商户API密钥"}],"config.apiclient_cert":[{required:!0,message:"请输入微信支付证书"}],"config.apiclient_key":[{required:!0,message:"请输入微信支付证书密钥"}],"config.app_id":[{required:!0,message:"请输入支付宝应用ID"}],"config.private_key":[{required:!0,message:"请输入支付宝应用私钥"}],"config.ali_public_key":[{required:!0,message:"请输入支付宝公钥"}]},D=w,P=(p,e,s)=>{c.value=!0,U.value=s||"profile",C.value=e||!1,q(p),I.value=p,f.value=!0},q=async p=>{const e=await Z({id:p});e.config||(e.config=t.value.config),c.value=!1,t.value=e},B=p=>{X.confirm("修改还未保存,确认退出编辑吗?").then(()=>{p()}).catch(()=>{})},F=()=>{var p;(p=v.value)==null||p.resetFields()},N=async()=>{var p;await((p=v.value)==null?void 0:p.validate()),await h(t.value),f.value=!1,D("refresh")},{isLock:R,lockFn:A}=ee(N);return b({openHandle:P}),(p,e)=>{const s=z,n=T,m=O,S=Y,g=Q,G=$,H=j,L=J,M=W;return y(),te(L,{modelValue:l(f),"onUpdate:modelValue":e[14]||(e[14]=i=>re(f)?f.value=i:null),"destroy-on-close":"",title:`${l(_)}配置`,direction:"rtl",size:"50%",onClose:F,"before-close":B},{default:a(()=>[ie((y(),V("div",me,[o(l(K),{ref_key:"formRef",ref:v,model:l(t),"label-width":"9rem",rules:E},{default:a(()=>[o(n,{label:"支付方式"},{default:a(()=>[o(s,{value:l(_),"model-value":l(_)},{default:a(()=>[d(ne(l(_)),1)]),_:1},8,["value","model-value"])]),_:1}),o(n,{label:"显示名称",prop:"name"},{default:a(()=>[o(m,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=i=>l(t).name=i),placeholder:"请输入显示名称",style:{"max-width":"250px"}},null,8,["modelValue"])]),_:1}),o(n,{label:"图标",prop:"image"},{default:a(()=>[r("div",null,[o(S,{limit:1,disabled:!1,modelValue:l(t).icon,"onUpdate:modelValue":e[1]||(e[1]=i=>l(t).icon=i)},null,8,["modelValue"]),e[15]||(e[15]=r("div",{class:"form-tips"},"建议尺寸:200*200px",-1))])]),_:1}),l(t).pay_way==2?(y(),V(k,{key:0},[o(n,{prop:"config.interface_version",label:"微信支付接口版本"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.interface_version,"onUpdate:modelValue":e[2]||(e[2]=i=>l(t).config.interface_version=i)},{default:a(()=>[o(s,{value:"v3"},{default:a(()=>[...e[16]||(e[16]=[d("V3",-1)])]),_:1})]),_:1},8,["modelValue"]),e[17]||(e[17]=r("div",{class:"form-tips"},"暂时只支持V3版本",-1))])]),_:1}),o(n,{label:"商户类型",prop:"config.merchant_type"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[3]||(e[3]=i=>l(t).config.merchant_type=i)},{default:a(()=>[o(s,{value:"ordinary_merchant"},{default:a(()=>[...e[18]||(e[18]=[d("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[19]||(e[19]=r("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(n,{label:"微信支付商户号",prop:"config.mch_id"},{default:a(()=>[r("div",null,[o(m,{modelValue:l(t).config.mch_id,"onUpdate:modelValue":e[4]||(e[4]=i=>l(t).config.mch_id=i),placeholder:"请输入微信支付商户号",style:{"max-width":"250px"}},null,8,["modelValue"]),e[20]||(e[20]=r("div",{class:"form-tips"},"微信支付商户号(MCHID)",-1))])]),_:1}),o(n,{label:"商户API密钥",prop:"config.pay_sign_key"},{default:a(()=>[r("div",null,[o(m,{modelValue:l(t).config.pay_sign_key,"onUpdate:modelValue":e[5]||(e[5]=i=>l(t).config.pay_sign_key=i),placeholder:"请输入微信支付商户API密钥",style:{"max-width":"250px"}},null,8,["modelValue"]),e[21]||(e[21]=r("div",{class:"form-tips"},"微信支付商户API密钥(paySignKey)",-1))])]),_:1}),o(n,{label:"微信支付证书",prop:"config.apiclient_cert"},{default:a(()=>[r("div",null,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_cert,"onUpdate:modelValue":e[6]||(e[6]=i=>l(t).config.apiclient_cert=i),placeholder:"请输入微信支付证书",style:{"max-width":"400px"}},null,8,["modelValue"]),e[22]||(e[22]=r("div",{class:"form-tips"}," 微信支付证书(apiclient_cert.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(n,{label:"微信支付证书密钥",prop:"config.apiclient_key"},{default:a(()=>[r("div",null,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_key,"onUpdate:modelValue":e[7]||(e[7]=i=>l(t).config.apiclient_key=i),placeholder:"请输入微信支付证书密钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[23]||(e[23]=r("div",{class:"form-tips"}," 微信支付证书密钥(apiclient_key.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(n,{label:"支付授权目录"},{default:a(()=>[...e[24]||(e[24]=[r("div",null,[r("div",null,[r("span",{class:"mr-[20px]"},"https://前台手机域名地址/")])],-1)])]),_:1})],64)):x("",!0),l(t).pay_way==3?(y(),V(k,{key:1},[o(n,{label:"模式",prop:"config.mode"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.mode,"onUpdate:modelValue":e[8]||(e[8]=i=>l(t).config.mode=i)},{default:a(()=>[o(s,{value:"normal_mode"},{default:a(()=>[...e[25]||(e[25]=[d("普通模式",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=r("div",{class:"form-tips"},"暂时仅支持支付宝普通模式",-1))])]),_:1}),o(n,{label:"商户类型",prop:"config.merchant_type"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[9]||(e[9]=i=>l(t).config.merchant_type=i)},{default:a(()=>[o(s,{value:"ordinary_merchant"},{default:a(()=>[...e[27]||(e[27]=[d("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[28]||(e[28]=r("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(n,{label:"应用ID",prop:"config.app_id"},{default:a(()=>[r("div",se,[o(m,{modelValue:l(t).config.app_id,"onUpdate:modelValue":e[10]||(e[10]=i=>l(t).config.app_id=i),placeholder:"请输入支付宝应用ID",style:{"max-width":"250px"}},null,8,["modelValue"]),e[29]||(e[29]=r("div",{class:"form-tips"},"支付宝应用APP_ID",-1))])]),_:1}),o(n,{label:"应用私钥",prop:"config.private_key"},{default:a(()=>[r("div",de,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.private_key,"onUpdate:modelValue":e[11]||(e[11]=i=>l(t).config.private_key=i),placeholder:"请输入支付宝应用私钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[30]||(e[30]=r("div",{class:"form-tips"},"支付宝应用私钥(private_key)",-1))])]),_:1}),o(n,{label:"支付宝公钥",prop:"config.ali_public_key"},{default:a(()=>[r("div",ue,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.ali_public_key,"onUpdate:modelValue":e[12]||(e[12]=i=>l(t).config.ali_public_key=i),placeholder:"请输入支付宝公钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[31]||(e[31]=r("div",{class:"form-tips"},"支付宝公钥(alipayCertPublicKey)",-1))])]),_:1})],64)):x("",!0),o(n,{label:"排序",prop:"sort"},{default:a(()=>[r("div",null,[o(G,{modelValue:l(t).sort,"onUpdate:modelValue":e[13]||(e[13]=i=>l(t).sort=i),min:0,max:9999},null,8,["modelValue"]),e[32]||(e[32]=r("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,null,{default:a(()=>[o(H,{type:"primary",loading:l(R),onClick:l(A)},{default:a(()=>[...e[33]||(e[33]=[d("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1},8,["model"])])),[[M,l(c)]])]),_:1},8,["modelValue","title"])}}}),yl=pe(fe,[["__scopeId","data-v-65ce6610"]]);export{yl as default}; +import{e as J,D as K,B as T,J as z,C as O,G as Q,h as $,i as j,M as W,a as X}from"./element-plus-DGP1XOrU.js";import{_ as Y}from"./picker-lbwHqE-a.js";import{g as Z,s as h}from"./pay-CM_epwkI.js";import{u as ee}from"./useLockFn-X4Qce5KO.js";import{u as le}from"./getExposeType-MUpmx9zy.js";import{f as oe,ak as y,G as te,aN as a,aP as ie,I as V,a as o,O as d,J as r,F as k,H as x,A as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as re,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ne}from"./@vue/shared-mAAVTE9n.js";import{_ as pe}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const me={class:"h-full flex flex-col","element-loading-text":"加载中...","element-loading-background":"var(--el-bg-color)"},se={class:"flex-1"},de={class:"flex-1"},ue={class:"flex-1"},fe=oe({__name:"edit",emits:["refresh"],setup(_e,{expose:b,emit:w}){const f=u(!1),v=le(),I=u(),U=u("profile"),C=u(!1),c=u(!0),_=ae(()=>{switch(t.value.pay_way){case 1:return"余额支付";case 2:return"微信支付";case 3:return"支付宝支付";default:return""}}),t=u({id:"",pay_way:0,name:"",icon:"",sort:0,remark:"",domain:"",config:{interface_version:"",merchant_type:"",mch_id:"",pay_sign_key:"",apiclient_cert:"",apiclient_key:"",mode:"",app_id:"",private_key:"",ali_public_key:""}}),E={name:[{required:!0,message:"请输入显示名称"}],"config.mch_id":[{required:!0,message:"请输入微信支付商户号"}],"config.pay_sign_key":[{required:!0,message:"请输入微信支付商户API密钥"}],"config.apiclient_cert":[{required:!0,message:"请输入微信支付证书"}],"config.apiclient_key":[{required:!0,message:"请输入微信支付证书密钥"}],"config.app_id":[{required:!0,message:"请输入支付宝应用ID"}],"config.private_key":[{required:!0,message:"请输入支付宝应用私钥"}],"config.ali_public_key":[{required:!0,message:"请输入支付宝公钥"}]},D=w,P=(p,e,s)=>{c.value=!0,U.value=s||"profile",C.value=e||!1,q(p),I.value=p,f.value=!0},q=async p=>{const e=await Z({id:p});e.config||(e.config=t.value.config),c.value=!1,t.value=e},B=p=>{X.confirm("修改还未保存,确认退出编辑吗?").then(()=>{p()}).catch(()=>{})},F=()=>{var p;(p=v.value)==null||p.resetFields()},N=async()=>{var p;await((p=v.value)==null?void 0:p.validate()),await h(t.value),f.value=!1,D("refresh")},{isLock:R,lockFn:A}=ee(N);return b({openHandle:P}),(p,e)=>{const s=z,n=T,m=O,S=Y,g=Q,G=$,H=j,L=J,M=W;return y(),te(L,{modelValue:l(f),"onUpdate:modelValue":e[14]||(e[14]=i=>re(f)?f.value=i:null),"destroy-on-close":"",title:`${l(_)}配置`,direction:"rtl",size:"50%",onClose:F,"before-close":B},{default:a(()=>[ie((y(),V("div",me,[o(l(K),{ref_key:"formRef",ref:v,model:l(t),"label-width":"9rem",rules:E},{default:a(()=>[o(n,{label:"支付方式"},{default:a(()=>[o(s,{value:l(_),"model-value":l(_)},{default:a(()=>[d(ne(l(_)),1)]),_:1},8,["value","model-value"])]),_:1}),o(n,{label:"显示名称",prop:"name"},{default:a(()=>[o(m,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=i=>l(t).name=i),placeholder:"请输入显示名称",style:{"max-width":"250px"}},null,8,["modelValue"])]),_:1}),o(n,{label:"图标",prop:"image"},{default:a(()=>[r("div",null,[o(S,{limit:1,disabled:!1,modelValue:l(t).icon,"onUpdate:modelValue":e[1]||(e[1]=i=>l(t).icon=i)},null,8,["modelValue"]),e[15]||(e[15]=r("div",{class:"form-tips"},"建议尺寸:200*200px",-1))])]),_:1}),l(t).pay_way==2?(y(),V(k,{key:0},[o(n,{prop:"config.interface_version",label:"微信支付接口版本"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.interface_version,"onUpdate:modelValue":e[2]||(e[2]=i=>l(t).config.interface_version=i)},{default:a(()=>[o(s,{value:"v3"},{default:a(()=>[...e[16]||(e[16]=[d("V3",-1)])]),_:1})]),_:1},8,["modelValue"]),e[17]||(e[17]=r("div",{class:"form-tips"},"暂时只支持V3版本",-1))])]),_:1}),o(n,{label:"商户类型",prop:"config.merchant_type"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[3]||(e[3]=i=>l(t).config.merchant_type=i)},{default:a(()=>[o(s,{value:"ordinary_merchant"},{default:a(()=>[...e[18]||(e[18]=[d("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[19]||(e[19]=r("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(n,{label:"微信支付商户号",prop:"config.mch_id"},{default:a(()=>[r("div",null,[o(m,{modelValue:l(t).config.mch_id,"onUpdate:modelValue":e[4]||(e[4]=i=>l(t).config.mch_id=i),placeholder:"请输入微信支付商户号",style:{"max-width":"250px"}},null,8,["modelValue"]),e[20]||(e[20]=r("div",{class:"form-tips"},"微信支付商户号(MCHID)",-1))])]),_:1}),o(n,{label:"商户API密钥",prop:"config.pay_sign_key"},{default:a(()=>[r("div",null,[o(m,{modelValue:l(t).config.pay_sign_key,"onUpdate:modelValue":e[5]||(e[5]=i=>l(t).config.pay_sign_key=i),placeholder:"请输入微信支付商户API密钥",style:{"max-width":"250px"}},null,8,["modelValue"]),e[21]||(e[21]=r("div",{class:"form-tips"},"微信支付商户API密钥(paySignKey)",-1))])]),_:1}),o(n,{label:"微信支付证书",prop:"config.apiclient_cert"},{default:a(()=>[r("div",null,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_cert,"onUpdate:modelValue":e[6]||(e[6]=i=>l(t).config.apiclient_cert=i),placeholder:"请输入微信支付证书",style:{"max-width":"400px"}},null,8,["modelValue"]),e[22]||(e[22]=r("div",{class:"form-tips"}," 微信支付证书(apiclient_cert.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(n,{label:"微信支付证书密钥",prop:"config.apiclient_key"},{default:a(()=>[r("div",null,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_key,"onUpdate:modelValue":e[7]||(e[7]=i=>l(t).config.apiclient_key=i),placeholder:"请输入微信支付证书密钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[23]||(e[23]=r("div",{class:"form-tips"}," 微信支付证书密钥(apiclient_key.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(n,{label:"支付授权目录"},{default:a(()=>[...e[24]||(e[24]=[r("div",null,[r("div",null,[r("span",{class:"mr-[20px]"},"https://前台手机域名地址/")])],-1)])]),_:1})],64)):x("",!0),l(t).pay_way==3?(y(),V(k,{key:1},[o(n,{label:"模式",prop:"config.mode"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.mode,"onUpdate:modelValue":e[8]||(e[8]=i=>l(t).config.mode=i)},{default:a(()=>[o(s,{value:"normal_mode"},{default:a(()=>[...e[25]||(e[25]=[d("普通模式",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=r("div",{class:"form-tips"},"暂时仅支持支付宝普通模式",-1))])]),_:1}),o(n,{label:"商户类型",prop:"config.merchant_type"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[9]||(e[9]=i=>l(t).config.merchant_type=i)},{default:a(()=>[o(s,{value:"ordinary_merchant"},{default:a(()=>[...e[27]||(e[27]=[d("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[28]||(e[28]=r("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(n,{label:"应用ID",prop:"config.app_id"},{default:a(()=>[r("div",se,[o(m,{modelValue:l(t).config.app_id,"onUpdate:modelValue":e[10]||(e[10]=i=>l(t).config.app_id=i),placeholder:"请输入支付宝应用ID",style:{"max-width":"250px"}},null,8,["modelValue"]),e[29]||(e[29]=r("div",{class:"form-tips"},"支付宝应用APP_ID",-1))])]),_:1}),o(n,{label:"应用私钥",prop:"config.private_key"},{default:a(()=>[r("div",de,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.private_key,"onUpdate:modelValue":e[11]||(e[11]=i=>l(t).config.private_key=i),placeholder:"请输入支付宝应用私钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[30]||(e[30]=r("div",{class:"form-tips"},"支付宝应用私钥(private_key)",-1))])]),_:1}),o(n,{label:"支付宝公钥",prop:"config.ali_public_key"},{default:a(()=>[r("div",ue,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.ali_public_key,"onUpdate:modelValue":e[12]||(e[12]=i=>l(t).config.ali_public_key=i),placeholder:"请输入支付宝公钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[31]||(e[31]=r("div",{class:"form-tips"},"支付宝公钥(alipayCertPublicKey)",-1))])]),_:1})],64)):x("",!0),o(n,{label:"排序",prop:"sort"},{default:a(()=>[r("div",null,[o(G,{modelValue:l(t).sort,"onUpdate:modelValue":e[13]||(e[13]=i=>l(t).sort=i),min:0,max:9999},null,8,["modelValue"]),e[32]||(e[32]=r("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,null,{default:a(()=>[o(H,{type:"primary",loading:l(R),onClick:l(A)},{default:a(()=>[...e[33]||(e[33]=[d("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1},8,["model"])])),[[M,l(c)]])]),_:1},8,["modelValue","title"])}}}),yl=pe(fe,[["__scopeId","data-v-65ce6610"]]);export{yl as default}; diff --git a/server/public/admin/assets/edit-Cezi5UCT.js b/server/public/admin/assets/edit-yL8EpC5L.js similarity index 82% rename from server/public/admin/assets/edit-Cezi5UCT.js rename to server/public/admin/assets/edit-yL8EpC5L.js index 902a4f99a..1d2cf95fb 100644 --- a/server/public/admin/assets/edit-Cezi5UCT.js +++ b/server/public/admin/assets/edit-yL8EpC5L.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-D6zueV1n.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./menu-jRNdRy5r.js";import"./index-D5PquIeg.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Bfkmk0Oj.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./menu-Bn6AOgrY.js";import"./index-BVjWjU3h.js";export{o as default}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRlch2LV.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-B0HIfaxe.js similarity index 96% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRlch2LV.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-B0HIfaxe.js index f688cad23..4616239e9 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRlch2LV.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-B0HIfaxe.js @@ -1 +1 @@ -import{D as B,B as N,Z as I,C as q,h as A,g as F}from"./element-plus-DGP1XOrU.js";import{d as S,a as M,b as T,c as G}from"./department-OHG8LTQz.js";import{_ as H}from"./index-D5PquIeg.js";import{u as J}from"./useDictOptions-Cx2-jvcM.js";import{f as O,ak as _,I as Z,a as o,aN as r,G as $,H as j,J as V,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as b,r as K,n as L}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"edit-popup"},ae=O({__name:"edit",emits:["success","close"],setup(Q,{expose:g,emit:v}){const p=v,c=b(),m=b(),u=L("add"),w=z(()=>u.value=="edit"?"编辑部门":"新增部门"),l=K({id:"",pid:"",name:"",leader:"",mobile:"",sort:0,status:1}),x={pid:[{required:!0,message:"请选择上级部门",trigger:["change"]}],name:[{required:!0,message:"请输入部门名称",trigger:["blur"]}],mobile:[{validator:(a,e,d)=>{if(e){const n=/^[1][3,4,5,6,7,8,9][0-9]{9}$/;if(console.log(n.test(e)),n.test(e))d();else return d(new Error("请输入正确的手机号"))}else return d()},trigger:["blur"]}]},{optionsData:k}=J({dept:{api:S}}),y=async()=>{var a,e;await((a=c.value)==null?void 0:a.validate()),u.value=="edit"?await M(l):await T(l),(e=m.value)==null||e.close(),p("success")},E=(a="add")=>{var e;u.value=a,(e=m.value)==null||e.open()},f=a=>{for(const e in l)a[e]!=null&&a[e]!=null&&(l[e]=a[e])},h=async a=>{const e=await G({id:a.id});f(e)},C=()=>{p("close")};return g({open:E,setFormData:f,getDetail:h}),(a,e)=>{const d=I,n=N,i=q,D=A,R=F,U=B;return _(),Z("div",P,[o(H,{ref_key:"popupRef",ref:m,title:t(w),async:!0,width:"550px",onConfirm:y,onClose:C},{default:r(()=>[o(U,{ref_key:"formRef",ref:c,model:t(l),"label-width":"84px",rules:x},{default:r(()=>[t(l).pid!==0?(_(),$(n,{key:0,label:"上级部门",prop:"pid"},{default:r(()=>[o(d,{class:"flex-1",modelValue:t(l).pid,"onUpdate:modelValue":e[0]||(e[0]=s=>t(l).pid=s),data:t(k).dept,clearable:"","node-key":"id",props:{value:"id",label:"name"},"check-strictly":"","default-expand-all":!0,placeholder:"请选择上级部门"},null,8,["modelValue","data"])]),_:1})):j("",!0),o(n,{label:"部门名称",prop:"name"},{default:r(()=>[o(i,{modelValue:t(l).name,"onUpdate:modelValue":e[1]||(e[1]=s=>t(l).name=s),placeholder:"请输入部门名称",maxlength:100},null,8,["modelValue"])]),_:1}),o(n,{label:"负责人",prop:"leader"},{default:r(()=>[o(i,{modelValue:t(l).leader,"onUpdate:modelValue":e[2]||(e[2]=s=>t(l).leader=s),placeholder:"请输入负责人姓名",maxlength:30},null,8,["modelValue"])]),_:1}),o(n,{label:"联系电话",prop:"mobile"},{default:r(()=>[o(i,{modelValue:t(l).mobile,"onUpdate:modelValue":e[3]||(e[3]=s=>t(l).mobile=s),placeholder:"请输入联系电话"},null,8,["modelValue"])]),_:1}),o(n,{label:"排序",prop:"sort"},{default:r(()=>[V("div",null,[o(D,{modelValue:t(l).sort,"onUpdate:modelValue":e[4]||(e[4]=s=>t(l).sort=s),min:0,max:9999},null,8,["modelValue"]),e[6]||(e[6]=V("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,{label:"部门状态"},{default:r(()=>[o(R,{modelValue:t(l).status,"onUpdate:modelValue":e[5]||(e[5]=s=>t(l).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{ae as _}; +import{D as B,B as N,Z as I,C as q,h as A,g as F}from"./element-plus-DGP1XOrU.js";import{d as S,a as M,b as T,c as G}from"./department-DdhKHNS-.js";import{_ as H}from"./index-BVjWjU3h.js";import{u as J}from"./useDictOptions-CU1TLMPn.js";import{f as O,ak as _,I as Z,a as o,aN as r,G as $,H as j,J as V,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as b,r as K,n as L}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"edit-popup"},ae=O({__name:"edit",emits:["success","close"],setup(Q,{expose:g,emit:v}){const p=v,c=b(),m=b(),u=L("add"),w=z(()=>u.value=="edit"?"编辑部门":"新增部门"),l=K({id:"",pid:"",name:"",leader:"",mobile:"",sort:0,status:1}),x={pid:[{required:!0,message:"请选择上级部门",trigger:["change"]}],name:[{required:!0,message:"请输入部门名称",trigger:["blur"]}],mobile:[{validator:(a,e,d)=>{if(e){const n=/^[1][3,4,5,6,7,8,9][0-9]{9}$/;if(console.log(n.test(e)),n.test(e))d();else return d(new Error("请输入正确的手机号"))}else return d()},trigger:["blur"]}]},{optionsData:k}=J({dept:{api:S}}),y=async()=>{var a,e;await((a=c.value)==null?void 0:a.validate()),u.value=="edit"?await M(l):await T(l),(e=m.value)==null||e.close(),p("success")},E=(a="add")=>{var e;u.value=a,(e=m.value)==null||e.open()},f=a=>{for(const e in l)a[e]!=null&&a[e]!=null&&(l[e]=a[e])},h=async a=>{const e=await G({id:a.id});f(e)},C=()=>{p("close")};return g({open:E,setFormData:f,getDetail:h}),(a,e)=>{const d=I,n=N,i=q,D=A,R=F,U=B;return _(),Z("div",P,[o(H,{ref_key:"popupRef",ref:m,title:t(w),async:!0,width:"550px",onConfirm:y,onClose:C},{default:r(()=>[o(U,{ref_key:"formRef",ref:c,model:t(l),"label-width":"84px",rules:x},{default:r(()=>[t(l).pid!==0?(_(),$(n,{key:0,label:"上级部门",prop:"pid"},{default:r(()=>[o(d,{class:"flex-1",modelValue:t(l).pid,"onUpdate:modelValue":e[0]||(e[0]=s=>t(l).pid=s),data:t(k).dept,clearable:"","node-key":"id",props:{value:"id",label:"name"},"check-strictly":"","default-expand-all":!0,placeholder:"请选择上级部门"},null,8,["modelValue","data"])]),_:1})):j("",!0),o(n,{label:"部门名称",prop:"name"},{default:r(()=>[o(i,{modelValue:t(l).name,"onUpdate:modelValue":e[1]||(e[1]=s=>t(l).name=s),placeholder:"请输入部门名称",maxlength:100},null,8,["modelValue"])]),_:1}),o(n,{label:"负责人",prop:"leader"},{default:r(()=>[o(i,{modelValue:t(l).leader,"onUpdate:modelValue":e[2]||(e[2]=s=>t(l).leader=s),placeholder:"请输入负责人姓名",maxlength:30},null,8,["modelValue"])]),_:1}),o(n,{label:"联系电话",prop:"mobile"},{default:r(()=>[o(i,{modelValue:t(l).mobile,"onUpdate:modelValue":e[3]||(e[3]=s=>t(l).mobile=s),placeholder:"请输入联系电话"},null,8,["modelValue"])]),_:1}),o(n,{label:"排序",prop:"sort"},{default:r(()=>[V("div",null,[o(D,{modelValue:t(l).sort,"onUpdate:modelValue":e[4]||(e[4]=s=>t(l).sort=s),min:0,max:9999},null,8,["modelValue"]),e[6]||(e[6]=V("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,{label:"部门状态"},{default:r(()=>[o(R,{modelValue:t(l).status,"onUpdate:modelValue":e[5]||(e[5]=s=>t(l).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{ae as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D6zueV1n.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bfkmk0Oj.js similarity index 96% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D6zueV1n.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bfkmk0Oj.js index f281d12fc..7a7ab77c3 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D6zueV1n.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bfkmk0Oj.js @@ -1 +1 @@ -import{D as S,B as z,G as H,J as K,Z as P,C as Z,al as $,h as j}from"./element-plus-DGP1XOrU.js";import{_ as Q}from"./picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js";import{a as W,b as X,c as Y,d as h}from"./menu-jRNdRy5r.js";import{_ as ee}from"./index-D5PquIeg.js";import{x as le,M as r,y as oe,z as te}from"./index-fRv3NTFQ.js";import{f as ae,ak as i,I as se,a as t,aN as a,O as m,G as f,H as v,J as d,A as de}from"./@vue/runtime-core-C6bnekPw.js";import{n as U,r as ue,y as l,q as w}from"./@vue/reactivity-DiY1c2vO.js";const re={class:"edit-popup"},ne={class:"flex-1"},pe={class:"flex-1"},ie={class:"flex-1"},me={class:"flex-1"},fe={class:"flex-1"},Te=ae({__name:"edit",emits:["success","close"],setup(ve,{expose:x,emit:N}){const c=N,g=w(),y=w(),b=U("add"),C=de(()=>b.value=="edit"?"编辑菜单":"新增菜单"),T=U(le()),O=(u,e)=>{const n=u?T.value.filter(V=>V.toLowerCase().includes(u.toLowerCase())):T.value;e(n.map(V=>({value:V})))},o=ue({id:"",pid:0,type:r.CATALOGUE,icon:"",name:"",sort:0,paths:"",perms:"",component:"",selected:"",params:"",is_cache:1,is_show:1,is_disable:0}),A={pid:[{required:!0,message:"请选择父级菜单",trigger:["blur","change"]}],name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],paths:[{required:!0,message:"请输入路由地址",trigger:"blur"}],component:[{required:!0,message:"请输入组件地址",trigger:"blur"}]},k=U([]),B=async()=>{const u=await W({page_type:0}),e={id:0,name:"顶级",children:[]};e.children=oe(te(u.lists).filter(n=>n.type!=r.BUTTON)),k.value.push(e)},q=async()=>{var u,e;await((u=g.value)==null?void 0:u.validate()),b.value=="edit"?await X(o):await Y(o),(e=y.value)==null||e.close(),c("success")},M=(u="add")=>{var e;b.value=u,(e=y.value)==null||e.open()},E=u=>{for(const e in o)u[e]!=null&&u[e]!=null&&(o[e]=u[e])},R=async u=>{const e=await h({id:u.id});E(e)},G=()=>{c("close")};return B(),x({open:M,setFormData:E,getDetail:R}),(u,e)=>{const n=K,V=H,p=z,L=P,_=Z,D=Q,I=$,F=j,J=S;return i(),se("div",re,[t(ee,{ref_key:"popupRef",ref:y,title:l(C),async:!0,width:"550px",onConfirm:q,onClose:G},{default:a(()=>[t(J,{ref_key:"formRef",ref:g,model:l(o),"label-width":"80px",rules:A},{default:a(()=>[t(p,{label:"菜单类型",prop:"type",required:""},{default:a(()=>[t(V,{modelValue:l(o).type,"onUpdate:modelValue":e[0]||(e[0]=s=>l(o).type=s)},{default:a(()=>[t(n,{value:l(r).CATALOGUE},{default:a(()=>[...e[13]||(e[13]=[m("目录",-1)])]),_:1},8,["value"]),t(n,{value:l(r).MENU},{default:a(()=>[...e[14]||(e[14]=[m("菜单",-1)])]),_:1},8,["value"]),t(n,{value:l(r).BUTTON},{default:a(()=>[...e[15]||(e[15]=[m("按钮",-1)])]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"父级菜单",prop:"pid"},{default:a(()=>[t(L,{class:"flex-1",modelValue:l(o).pid,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).pid=s),data:l(k),clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":!0,placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),t(p,{label:"菜单名称",prop:"name"},{default:a(()=>[t(_,{modelValue:l(o).name,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).name=s),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])]),_:1}),l(o).type!=l(r).BUTTON?(i(),f(p,{key:0,label:"菜单图标",prop:"icon"},{default:a(()=>[t(D,{class:"flex-1",modelValue:l(o).icon,"onUpdate:modelValue":e[3]||(e[3]=s=>l(o).icon=s)},null,8,["modelValue"])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:1,label:"路由路径",prop:"paths"},{default:a(()=>[d("div",ne,[t(_,{modelValue:l(o).paths,"onUpdate:modelValue":e[4]||(e[4]=s=>l(o).paths=s),placeholder:"请输入路由路径",clearable:""},null,8,["modelValue"]),e[16]||(e[16]=d("div",{class:"form-tips"}," 访问的路由地址,如:`user`,如外网地址需内链访问则以`http(s)://`开头 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:2,label:"组件路径",prop:"component"},{default:a(()=>[d("div",pe,[t(I,{class:"w-full",modelValue:l(o).component,"onUpdate:modelValue":e[5]||(e[5]=s=>l(o).component=s),"fetch-suggestions":O,clearable:"",placeholder:"请输入组件路径"},null,8,["modelValue"]),e[17]||(e[17]=d("div",{class:"form-tips"}," 访问的组件路径,如:`user/setting`,默认在`views`目录下 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:3,label:"选中菜单",prop:"selected"},{default:a(()=>[d("div",ie,[t(_,{modelValue:l(o).selected,"onUpdate:modelValue":e[6]||(e[6]=s=>l(o).selected=s),placeholder:"请输入路由路径",clearable:""},null,8,["modelValue"]),e[18]||(e[18]=d("div",{class:"form-tips"}," 访问详情页面,编辑页面时,菜单高亮显示,如`/consumer/lists` ",-1))])]),_:1})):v("",!0),l(o).type!=l(r).CATALOGUE?(i(),f(p,{key:4,label:"权限字符",prop:"perms"},{default:a(()=>[d("div",me,[t(_,{modelValue:l(o).perms,"onUpdate:modelValue":e[7]||(e[7]=s=>l(o).perms=s),placeholder:"请输入权限字符",clearable:""},null,8,["modelValue"]),e[19]||(e[19]=d("div",{class:"form-tips"}," 将作为server端API验权使用,如`auth.admin/user`,请谨慎修改 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:5,label:"路由参数",prop:"params"},{default:a(()=>[d("div",null,[d("div",fe,[t(_,{modelValue:l(o).params,"onUpdate:modelValue":e[8]||(e[8]=s=>l(o).params=s),placeholder:"请输入路由参数",clearable:""},null,8,["modelValue"])]),e[20]||(e[20]=d("div",{class:"form-tips"},' 访问路由的默认传递参数,如:`{"id": 1, "name": "admin"}`或`id=1&name=admin` ',-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:6,label:"是否缓存",prop:"is_cache",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_cache,"onUpdate:modelValue":e[9]||(e[9]=s=>l(o).is_cache=s)},{default:a(()=>[t(n,{value:1},{default:a(()=>[...e[21]||(e[21]=[m("缓存",-1)])]),_:1}),t(n,{value:0},{default:a(()=>[...e[22]||(e[22]=[m("不缓存",-1)])]),_:1})]),_:1},8,["modelValue"]),e[23]||(e[23]=d("div",{class:"form-tips"},"选择缓存则会被`keep-alive`缓存",-1))])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:7,label:"是否显示",prop:"is_show",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_show,"onUpdate:modelValue":e[10]||(e[10]=s=>l(o).is_show=s)},{default:a(()=>[t(n,{value:1},{default:a(()=>[...e[24]||(e[24]=[m("显示",-1)])]),_:1}),t(n,{value:0},{default:a(()=>[...e[25]||(e[25]=[m("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=d("div",{class:"form-tips"}," 选择隐藏则路由将不会出现在侧边栏,但仍然可以访问 ",-1))])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:8,label:"菜单状态",prop:"is_disable",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_disable,"onUpdate:modelValue":e[11]||(e[11]=s=>l(o).is_disable=s)},{default:a(()=>[t(n,{value:0},{default:a(()=>[...e[27]||(e[27]=[m("正常",-1)])]),_:1}),t(n,{value:1},{default:a(()=>[...e[28]||(e[28]=[m("停用",-1)])]),_:1})]),_:1},8,["modelValue"]),e[29]||(e[29]=d("div",{class:"form-tips"},"选择停用则路由将不会出现在侧边栏,也不能被访问",-1))])]),_:1})):v("",!0),t(p,{label:"菜单排序",prop:"sort"},{default:a(()=>[d("div",null,[t(F,{modelValue:l(o).sort,"onUpdate:modelValue":e[12]||(e[12]=s=>l(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[30]||(e[30]=d("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Te as _}; +import{D as S,B as z,G as H,J as K,Z as P,C as Z,al as $,h as j}from"./element-plus-DGP1XOrU.js";import{_ as Q}from"./picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js";import{a as W,b as X,c as Y,d as h}from"./menu-Bn6AOgrY.js";import{_ as ee}from"./index-BVjWjU3h.js";import{x as le,M as r,y as oe,z as te}from"./index-J_eFER10.js";import{f as ae,ak as i,I as se,a as t,aN as a,O as m,G as f,H as v,J as d,A as de}from"./@vue/runtime-core-C6bnekPw.js";import{n as U,r as ue,y as l,q as w}from"./@vue/reactivity-DiY1c2vO.js";const re={class:"edit-popup"},ne={class:"flex-1"},pe={class:"flex-1"},ie={class:"flex-1"},me={class:"flex-1"},fe={class:"flex-1"},Te=ae({__name:"edit",emits:["success","close"],setup(ve,{expose:x,emit:N}){const c=N,g=w(),y=w(),b=U("add"),C=de(()=>b.value=="edit"?"编辑菜单":"新增菜单"),T=U(le()),O=(u,e)=>{const n=u?T.value.filter(V=>V.toLowerCase().includes(u.toLowerCase())):T.value;e(n.map(V=>({value:V})))},o=ue({id:"",pid:0,type:r.CATALOGUE,icon:"",name:"",sort:0,paths:"",perms:"",component:"",selected:"",params:"",is_cache:1,is_show:1,is_disable:0}),A={pid:[{required:!0,message:"请选择父级菜单",trigger:["blur","change"]}],name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],paths:[{required:!0,message:"请输入路由地址",trigger:"blur"}],component:[{required:!0,message:"请输入组件地址",trigger:"blur"}]},k=U([]),B=async()=>{const u=await W({page_type:0}),e={id:0,name:"顶级",children:[]};e.children=oe(te(u.lists).filter(n=>n.type!=r.BUTTON)),k.value.push(e)},q=async()=>{var u,e;await((u=g.value)==null?void 0:u.validate()),b.value=="edit"?await X(o):await Y(o),(e=y.value)==null||e.close(),c("success")},M=(u="add")=>{var e;b.value=u,(e=y.value)==null||e.open()},E=u=>{for(const e in o)u[e]!=null&&u[e]!=null&&(o[e]=u[e])},R=async u=>{const e=await h({id:u.id});E(e)},G=()=>{c("close")};return B(),x({open:M,setFormData:E,getDetail:R}),(u,e)=>{const n=K,V=H,p=z,L=P,_=Z,D=Q,I=$,F=j,J=S;return i(),se("div",re,[t(ee,{ref_key:"popupRef",ref:y,title:l(C),async:!0,width:"550px",onConfirm:q,onClose:G},{default:a(()=>[t(J,{ref_key:"formRef",ref:g,model:l(o),"label-width":"80px",rules:A},{default:a(()=>[t(p,{label:"菜单类型",prop:"type",required:""},{default:a(()=>[t(V,{modelValue:l(o).type,"onUpdate:modelValue":e[0]||(e[0]=s=>l(o).type=s)},{default:a(()=>[t(n,{value:l(r).CATALOGUE},{default:a(()=>[...e[13]||(e[13]=[m("目录",-1)])]),_:1},8,["value"]),t(n,{value:l(r).MENU},{default:a(()=>[...e[14]||(e[14]=[m("菜单",-1)])]),_:1},8,["value"]),t(n,{value:l(r).BUTTON},{default:a(()=>[...e[15]||(e[15]=[m("按钮",-1)])]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"父级菜单",prop:"pid"},{default:a(()=>[t(L,{class:"flex-1",modelValue:l(o).pid,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).pid=s),data:l(k),clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":!0,placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),t(p,{label:"菜单名称",prop:"name"},{default:a(()=>[t(_,{modelValue:l(o).name,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).name=s),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])]),_:1}),l(o).type!=l(r).BUTTON?(i(),f(p,{key:0,label:"菜单图标",prop:"icon"},{default:a(()=>[t(D,{class:"flex-1",modelValue:l(o).icon,"onUpdate:modelValue":e[3]||(e[3]=s=>l(o).icon=s)},null,8,["modelValue"])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:1,label:"路由路径",prop:"paths"},{default:a(()=>[d("div",ne,[t(_,{modelValue:l(o).paths,"onUpdate:modelValue":e[4]||(e[4]=s=>l(o).paths=s),placeholder:"请输入路由路径",clearable:""},null,8,["modelValue"]),e[16]||(e[16]=d("div",{class:"form-tips"}," 访问的路由地址,如:`user`,如外网地址需内链访问则以`http(s)://`开头 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:2,label:"组件路径",prop:"component"},{default:a(()=>[d("div",pe,[t(I,{class:"w-full",modelValue:l(o).component,"onUpdate:modelValue":e[5]||(e[5]=s=>l(o).component=s),"fetch-suggestions":O,clearable:"",placeholder:"请输入组件路径"},null,8,["modelValue"]),e[17]||(e[17]=d("div",{class:"form-tips"}," 访问的组件路径,如:`user/setting`,默认在`views`目录下 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:3,label:"选中菜单",prop:"selected"},{default:a(()=>[d("div",ie,[t(_,{modelValue:l(o).selected,"onUpdate:modelValue":e[6]||(e[6]=s=>l(o).selected=s),placeholder:"请输入路由路径",clearable:""},null,8,["modelValue"]),e[18]||(e[18]=d("div",{class:"form-tips"}," 访问详情页面,编辑页面时,菜单高亮显示,如`/consumer/lists` ",-1))])]),_:1})):v("",!0),l(o).type!=l(r).CATALOGUE?(i(),f(p,{key:4,label:"权限字符",prop:"perms"},{default:a(()=>[d("div",me,[t(_,{modelValue:l(o).perms,"onUpdate:modelValue":e[7]||(e[7]=s=>l(o).perms=s),placeholder:"请输入权限字符",clearable:""},null,8,["modelValue"]),e[19]||(e[19]=d("div",{class:"form-tips"}," 将作为server端API验权使用,如`auth.admin/user`,请谨慎修改 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:5,label:"路由参数",prop:"params"},{default:a(()=>[d("div",null,[d("div",fe,[t(_,{modelValue:l(o).params,"onUpdate:modelValue":e[8]||(e[8]=s=>l(o).params=s),placeholder:"请输入路由参数",clearable:""},null,8,["modelValue"])]),e[20]||(e[20]=d("div",{class:"form-tips"},' 访问路由的默认传递参数,如:`{"id": 1, "name": "admin"}`或`id=1&name=admin` ',-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:6,label:"是否缓存",prop:"is_cache",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_cache,"onUpdate:modelValue":e[9]||(e[9]=s=>l(o).is_cache=s)},{default:a(()=>[t(n,{value:1},{default:a(()=>[...e[21]||(e[21]=[m("缓存",-1)])]),_:1}),t(n,{value:0},{default:a(()=>[...e[22]||(e[22]=[m("不缓存",-1)])]),_:1})]),_:1},8,["modelValue"]),e[23]||(e[23]=d("div",{class:"form-tips"},"选择缓存则会被`keep-alive`缓存",-1))])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:7,label:"是否显示",prop:"is_show",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_show,"onUpdate:modelValue":e[10]||(e[10]=s=>l(o).is_show=s)},{default:a(()=>[t(n,{value:1},{default:a(()=>[...e[24]||(e[24]=[m("显示",-1)])]),_:1}),t(n,{value:0},{default:a(()=>[...e[25]||(e[25]=[m("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=d("div",{class:"form-tips"}," 选择隐藏则路由将不会出现在侧边栏,但仍然可以访问 ",-1))])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:8,label:"菜单状态",prop:"is_disable",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_disable,"onUpdate:modelValue":e[11]||(e[11]=s=>l(o).is_disable=s)},{default:a(()=>[t(n,{value:0},{default:a(()=>[...e[27]||(e[27]=[m("正常",-1)])]),_:1}),t(n,{value:1},{default:a(()=>[...e[28]||(e[28]=[m("停用",-1)])]),_:1})]),_:1},8,["modelValue"]),e[29]||(e[29]=d("div",{class:"form-tips"},"选择停用则路由将不会出现在侧边栏,也不能被访问",-1))])]),_:1})):v("",!0),t(p,{label:"菜单排序",prop:"sort"},{default:a(()=>[d("div",null,[t(F,{modelValue:l(o).sort,"onUpdate:modelValue":e[12]||(e[12]=s=>l(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[30]||(e[30]=d("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Te as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BvK-Tfoj.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bp1OE_d6.js similarity index 94% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BvK-Tfoj.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bp1OE_d6.js index 1179a11db..2cc5f6cf8 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BvK-Tfoj.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bp1OE_d6.js @@ -1 +1 @@ -import{D as h,B as k,C,h as g,Q as D,R as F}from"./element-plus-DGP1XOrU.js";import{a as I,b as U}from"./role-B18Xi51b.js";import{_ as B}from"./index-D5PquIeg.js";import{f as N,ak as q,I as A,a as o,aN as n,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as _,r as z,n as O}from"./@vue/reactivity-DiY1c2vO.js";const Q={class:"edit-popup"},P=N({__name:"edit",emits:["success","close"],setup(T,{expose:f,emit:b}){const d=b,i=_(),r=_(),u=O("add"),v=S(()=>u.value=="edit"?"编辑角色":"新增角色"),l=z({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),V={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=async()=>{var t,e;await((t=i.value)==null?void 0:t.validate()),u.value=="edit"?await I(l):await U(l),(e=r.value)==null||e.close(),d("success")},x=()=>{d("close")};return f({open:(t="add")=>{var e;u.value=t,(e=r.value)==null||e.open()},setFormData:async t=>{for(const e in l)t[e]!=null&&t[e]!=null&&(l[e]=t[e])}}),(t,e)=>{const c=C,m=k,y=g,p=F,E=D,R=h;return q(),A("div",Q,[o(B,{ref_key:"popupRef",ref:r,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:x},{default:n(()=>[o(R,{class:"ls-form",ref_key:"formRef",ref:i,rules:V,model:a(l),"label-width":"60px"},{default:n(()=>[o(m,{label:"名称",prop:"name"},{default:n(()=>[o(c,{class:"ls-input",modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=s=>a(l).name=s),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),o(m,{label:"备注",prop:"desc"},{default:n(()=>[o(c,{modelValue:a(l).desc,"onUpdate:modelValue":e[1]||(e[1]=s=>a(l).desc=s),type:"textarea",autosize:{minRows:4,maxRows:6},placeholder:"请输入备注",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),o(m,{label:"排序",prop:"sort"},{default:n(()=>[o(y,{modelValue:a(l).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>a(l).sort=s),min:0,max:9999},null,8,["modelValue"])]),_:1}),o(m,{label:"数据范围",prop:"data_scope"},{default:n(()=>[o(E,{modelValue:a(l).data_scope,"onUpdate:modelValue":e[3]||(e[3]=s=>a(l).data_scope=s),placeholder:"请选择数据范围",class:"ls-input"},{default:n(()=>[o(p,{value:1,label:"全部数据(免隔离)"}),o(p,{value:2,label:"本部门及下级部门"}),o(p,{value:3,label:"仅本部门"}),o(p,{value:4,label:"仅本人"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{P as _}; +import{D as h,B as k,C,h as g,Q as D,R as F}from"./element-plus-DGP1XOrU.js";import{a as I,b as U}from"./role-hMw9X8iI.js";import{_ as B}from"./index-BVjWjU3h.js";import{f as N,ak as q,I as A,a as o,aN as n,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as _,r as z,n as O}from"./@vue/reactivity-DiY1c2vO.js";const Q={class:"edit-popup"},P=N({__name:"edit",emits:["success","close"],setup(T,{expose:f,emit:b}){const d=b,i=_(),r=_(),u=O("add"),v=S(()=>u.value=="edit"?"编辑角色":"新增角色"),l=z({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),V={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=async()=>{var t,e;await((t=i.value)==null?void 0:t.validate()),u.value=="edit"?await I(l):await U(l),(e=r.value)==null||e.close(),d("success")},x=()=>{d("close")};return f({open:(t="add")=>{var e;u.value=t,(e=r.value)==null||e.open()},setFormData:async t=>{for(const e in l)t[e]!=null&&t[e]!=null&&(l[e]=t[e])}}),(t,e)=>{const c=C,m=k,y=g,p=F,E=D,R=h;return q(),A("div",Q,[o(B,{ref_key:"popupRef",ref:r,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:x},{default:n(()=>[o(R,{class:"ls-form",ref_key:"formRef",ref:i,rules:V,model:a(l),"label-width":"60px"},{default:n(()=>[o(m,{label:"名称",prop:"name"},{default:n(()=>[o(c,{class:"ls-input",modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=s=>a(l).name=s),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),o(m,{label:"备注",prop:"desc"},{default:n(()=>[o(c,{modelValue:a(l).desc,"onUpdate:modelValue":e[1]||(e[1]=s=>a(l).desc=s),type:"textarea",autosize:{minRows:4,maxRows:6},placeholder:"请输入备注",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),o(m,{label:"排序",prop:"sort"},{default:n(()=>[o(y,{modelValue:a(l).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>a(l).sort=s),min:0,max:9999},null,8,["modelValue"])]),_:1}),o(m,{label:"数据范围",prop:"data_scope"},{default:n(()=>[o(E,{modelValue:a(l).data_scope,"onUpdate:modelValue":e[3]||(e[3]=s=>a(l).data_scope=s),placeholder:"请选择数据范围",class:"ls-input"},{default:n(()=>[o(p,{value:1,label:"全部数据(免隔离)"}),o(p,{value:2,label:"本部门及下级部门"}),o(p,{value:3,label:"仅本部门"}),o(p,{value:4,label:"仅本人"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{P as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-_2sKDGdl.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C-Q6zJAz.js similarity index 96% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-_2sKDGdl.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C-Q6zJAz.js index 7be59c4f1..a26c30dd9 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-_2sKDGdl.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C-Q6zJAz.js @@ -1 +1 @@ -import{D,B as I,J as U,C as Y,G}from"./element-plus-DGP1XOrU.js";import{r as g}from"./index-fRv3NTFQ.js";import{_ as T}from"./index-D5PquIeg.js";import{f as h,ak as _,I as S,a as o,aN as r,J as u,O as f,G as F,H as b,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as E,r as H}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";function le(){return g.get({url:"/setting.storage/lists"})}function L(d){return g.post({url:"/setting.storage/setup",params:d})}function Q(d){return g.get({url:"/setting.storage/detail",params:d})}const j={class:"edit-popup"},z={class:"form-tips"},M={key:0},P={class:"flex-1"},W={class:"flex-1"},ae=h({__name:"edit",emits:["success"],setup(d,{expose:v,emit:C}){const R=C,p=E(),m=E(),t=H({engine:"",bucket:"",access_key:"",secret_key:"",domain:"",region:"",status:0}),q=[{name:"本地存储",type:"local",tips:"本地存储方式不需要配置其他参数"},{name:"七牛云存储",type:"qiniu",tips:"切换七牛云存储后,素材库需要重新上传至七牛云"},{name:"阿里云OSS",type:"aliyun",tips:"切换阿里云OSS后,素材库需要重新上传至阿里云OSS"},{name:"腾讯云OSS",type:"qcloud",tips:"切换腾讯云OSS后,素材库需要重新上传至腾讯云OSS"}],x={bucket:[{required:!0,message:"请输入存储空间名称",trigger:"blur"}],access_key:[{required:!0,message:"请输入ACCESS_KEY",trigger:"blur"}],secret_key:[{required:!0,message:"请输入SECRET_KEY",trigger:"blur"}],domain:[{required:!0,message:"请输入空间域名",trigger:"blur"}],region:[{required:!0,message:"请输入REGION",trigger:"blur"}]},k=J(()=>q.find(s=>s.type==t.engine)),O=async()=>{var s,e;await((s=p.value)==null?void 0:s.validate()),await L(t),(e=m.value)==null||e.close(),R("success")},K=async()=>{const s=await Q({engine:t.engine});for(const e in s)t[e]=s[e]},w=s=>{var e;t.engine=s,(e=m.value)==null||e.open(),K()},N=()=>{var s;(s=p.value)==null||s.resetFields()};return v({open:w}),(s,e)=>{const c=U,n=I,i=Y,A=G,B=D;return _(),S("div",j,[o(T,{ref_key:"popupRef",ref:m,title:"设置存储",async:!0,width:"550px",onConfirm:O,onClose:N},{default:r(()=>[o(B,{ref_key:"formRef",ref:p,model:l(t),"label-width":"120px",rules:x},{default:r(()=>[o(n,{label:"存储方式",prop:"engine"},{default:r(()=>{var a;return[u("div",null,[o(c,{checked:""},{default:r(()=>{var y;return[f(V((y=l(k))==null?void 0:y.name),1)]}),_:1}),u("div",z,V((a=l(k))==null?void 0:a.tips),1)])]}),_:1}),l(t).engine!=="local"?(_(),S("div",M,[o(n,{label:" 存储空间名称",prop:"bucket"},{default:r(()=>[u("div",P,[o(i,{modelValue:l(t).bucket,"onUpdate:modelValue":e[0]||(e[0]=a=>l(t).bucket=a),placeholder:"请输入存储空间名称(Bucket)",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"ACCESS_KEY",prop:"access_key"},{default:r(()=>[o(i,{modelValue:l(t).access_key,"onUpdate:modelValue":e[1]||(e[1]=a=>l(t).access_key=a),placeholder:"请输入ACCESS_KEY(AK)",clearable:""},null,8,["modelValue"])]),_:1}),o(n,{label:"SECRET_KEY",prop:"secret_key"},{default:r(()=>[o(i,{modelValue:l(t).secret_key,"onUpdate:modelValue":e[2]||(e[2]=a=>l(t).secret_key=a),placeholder:"请输入SECRET_KEY(SK)",clearable:""},null,8,["modelValue"])]),_:1}),o(n,{label:"空间域名",prop:"domain"},{default:r(()=>[u("div",W,[u("div",null,[o(i,{modelValue:l(t).domain,"onUpdate:modelValue":e[3]||(e[3]=a=>l(t).domain=a),placeholder:"请输入空间域名(Domain)",clearable:""},null,8,["modelValue"])]),e[6]||(e[6]=u("div",{class:"form-tips"}," 请补全http://或https://,例如https://static.cloud.com ",-1))])]),_:1}),l(t).engine=="qcloud"?(_(),F(n,{key:0,label:"REGION",prop:"region"},{default:r(()=>[o(i,{modelValue:l(t).region,"onUpdate:modelValue":e[4]||(e[4]=a=>l(t).region=a),placeholder:"请输入region",clearable:""},null,8,["modelValue"])]),_:1})):b("",!0)])):b("",!0),o(n,{label:"状态",prop:"status"},{default:r(()=>[o(A,{modelValue:l(t).status,"onUpdate:modelValue":e[5]||(e[5]=a=>l(t).status=a)},{default:r(()=>[o(c,{value:0},{default:r(()=>[...e[7]||(e[7]=[f("关闭",-1)])]),_:1}),o(c,{value:1},{default:r(()=>[...e[8]||(e[8]=[f("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{ae as _,le as s}; +import{D,B as I,J as U,C as Y,G}from"./element-plus-DGP1XOrU.js";import{r as g}from"./index-J_eFER10.js";import{_ as T}from"./index-BVjWjU3h.js";import{f as h,ak as _,I as S,a as o,aN as r,J as u,O as f,G as F,H as b,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as E,r as H}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";function le(){return g.get({url:"/setting.storage/lists"})}function L(d){return g.post({url:"/setting.storage/setup",params:d})}function Q(d){return g.get({url:"/setting.storage/detail",params:d})}const j={class:"edit-popup"},z={class:"form-tips"},M={key:0},P={class:"flex-1"},W={class:"flex-1"},ae=h({__name:"edit",emits:["success"],setup(d,{expose:v,emit:C}){const R=C,p=E(),m=E(),t=H({engine:"",bucket:"",access_key:"",secret_key:"",domain:"",region:"",status:0}),q=[{name:"本地存储",type:"local",tips:"本地存储方式不需要配置其他参数"},{name:"七牛云存储",type:"qiniu",tips:"切换七牛云存储后,素材库需要重新上传至七牛云"},{name:"阿里云OSS",type:"aliyun",tips:"切换阿里云OSS后,素材库需要重新上传至阿里云OSS"},{name:"腾讯云OSS",type:"qcloud",tips:"切换腾讯云OSS后,素材库需要重新上传至腾讯云OSS"}],x={bucket:[{required:!0,message:"请输入存储空间名称",trigger:"blur"}],access_key:[{required:!0,message:"请输入ACCESS_KEY",trigger:"blur"}],secret_key:[{required:!0,message:"请输入SECRET_KEY",trigger:"blur"}],domain:[{required:!0,message:"请输入空间域名",trigger:"blur"}],region:[{required:!0,message:"请输入REGION",trigger:"blur"}]},k=J(()=>q.find(s=>s.type==t.engine)),O=async()=>{var s,e;await((s=p.value)==null?void 0:s.validate()),await L(t),(e=m.value)==null||e.close(),R("success")},K=async()=>{const s=await Q({engine:t.engine});for(const e in s)t[e]=s[e]},w=s=>{var e;t.engine=s,(e=m.value)==null||e.open(),K()},N=()=>{var s;(s=p.value)==null||s.resetFields()};return v({open:w}),(s,e)=>{const c=U,n=I,i=Y,A=G,B=D;return _(),S("div",j,[o(T,{ref_key:"popupRef",ref:m,title:"设置存储",async:!0,width:"550px",onConfirm:O,onClose:N},{default:r(()=>[o(B,{ref_key:"formRef",ref:p,model:l(t),"label-width":"120px",rules:x},{default:r(()=>[o(n,{label:"存储方式",prop:"engine"},{default:r(()=>{var a;return[u("div",null,[o(c,{checked:""},{default:r(()=>{var y;return[f(V((y=l(k))==null?void 0:y.name),1)]}),_:1}),u("div",z,V((a=l(k))==null?void 0:a.tips),1)])]}),_:1}),l(t).engine!=="local"?(_(),S("div",M,[o(n,{label:" 存储空间名称",prop:"bucket"},{default:r(()=>[u("div",P,[o(i,{modelValue:l(t).bucket,"onUpdate:modelValue":e[0]||(e[0]=a=>l(t).bucket=a),placeholder:"请输入存储空间名称(Bucket)",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"ACCESS_KEY",prop:"access_key"},{default:r(()=>[o(i,{modelValue:l(t).access_key,"onUpdate:modelValue":e[1]||(e[1]=a=>l(t).access_key=a),placeholder:"请输入ACCESS_KEY(AK)",clearable:""},null,8,["modelValue"])]),_:1}),o(n,{label:"SECRET_KEY",prop:"secret_key"},{default:r(()=>[o(i,{modelValue:l(t).secret_key,"onUpdate:modelValue":e[2]||(e[2]=a=>l(t).secret_key=a),placeholder:"请输入SECRET_KEY(SK)",clearable:""},null,8,["modelValue"])]),_:1}),o(n,{label:"空间域名",prop:"domain"},{default:r(()=>[u("div",W,[u("div",null,[o(i,{modelValue:l(t).domain,"onUpdate:modelValue":e[3]||(e[3]=a=>l(t).domain=a),placeholder:"请输入空间域名(Domain)",clearable:""},null,8,["modelValue"])]),e[6]||(e[6]=u("div",{class:"form-tips"}," 请补全http://或https://,例如https://static.cloud.com ",-1))])]),_:1}),l(t).engine=="qcloud"?(_(),F(n,{key:0,label:"REGION",prop:"region"},{default:r(()=>[o(i,{modelValue:l(t).region,"onUpdate:modelValue":e[4]||(e[4]=a=>l(t).region=a),placeholder:"请输入region",clearable:""},null,8,["modelValue"])]),_:1})):b("",!0)])):b("",!0),o(n,{label:"状态",prop:"status"},{default:r(()=>[o(A,{modelValue:l(t).status,"onUpdate:modelValue":e[5]||(e[5]=a=>l(t).status=a)},{default:r(()=>[o(c,{value:0},{default:r(()=>[...e[7]||(e[7]=[f("关闭",-1)])]),_:1}),o(c,{value:1},{default:r(()=>[...e[8]||(e[8]=[f("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{ae as _,le as s}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPPpbCfy.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cmw9LYbk.js similarity index 92% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPPpbCfy.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cmw9LYbk.js index a91c4deaf..a8f922e39 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPPpbCfy.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cmw9LYbk.js @@ -1 +1 @@ -import{D as G,B as H,C as J,Z as L,Q,R as Z,g as z}from"./element-plus-DGP1XOrU.js";import{_ as K}from"./picker-C0hwSppU.js";import{d as M}from"./department-OHG8LTQz.js";import{j as P}from"./post-CPnP1Klt.js";import{b as W,d as X,e as Y}from"./admin-BiglL3bM.js";import{r as $}from"./role-B18Xi51b.js";import{_ as h}from"./index-D5PquIeg.js";import{u as ee}from"./useDictOptions-Cx2-jvcM.js";import{f as le,ak as i,I as V,a as t,aN as d,J as u,F as j,ap as k,G as p,H as U,A as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,q as C,r as R,n as ae}from"./@vue/reactivity-DiY1c2vO.js";const te={class:"edit-popup"},Ve=le({__name:"edit",emits:["success","close"],setup(re,{expose:q,emit:D}){const v=D,w=C(),m=C(),f=ae("add"),A=oe(()=>f.value=="edit"?"编辑管理员":"新增管理员"),l=R({id:"",account:"",name:"",dept_id:[],jobs_id:[],role_id:[],avatar:"",password:"",password_confirm:"",disable:0,multipoint_login:1,root:0}),g=(n,e,r)=>{l.password&&(e||r(new Error("请再次输入密码")),e!==l.password&&r(new Error("两次输入密码不一致!"))),r()},_=R({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}],role_id:[{required:!0,validator:(n,e,r)=>{l.root||l.role_id.length?r():r(new Error("请选择角色"))}}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:g,trigger:"blur"}]}),{optionsData:c}=ee({role:{api:$},jobs:{api:P},dept:{api:M}}),B=async()=>{var n,e;await((n=w.value)==null?void 0:n.validate()),f.value=="edit"?await W(l):await X(l),(e=m.value)==null||e.close(),v("success")},F=(n="add")=>{var e;f.value=n,(e=m.value)==null||e.open()},I=async n=>{_.password=[],_.password_confirm=[{validator:g,trigger:"blur"}];const e=await Y({id:n.id});for(const r in l)e[r]!=null&&e[r]!=null&&(l[r]=e[r])},N=()=>{v("close")};return q({open:F,setFormData:I}),(n,e)=>{const r=J,s=H,S=K,O=L,y=Z,E=Q,x=z,T=G;return i(),V("div",te,[t(h,{ref_key:"popupRef",ref:m,title:o(A),async:!0,width:"550px",onConfirm:B,onClose:N},{default:d(()=>[t(T,{ref_key:"formRef",ref:w,model:o(l),"label-width":"84px",rules:o(_)},{default:d(()=>[t(s,{label:"账号",prop:"account"},{default:d(()=>[t(r,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=a=>o(l).account=a),disabled:o(l).root==1,placeholder:"请输入账号",clearable:""},null,8,["modelValue","disabled"])]),_:1}),t(s,{label:"头像"},{default:d(()=>[u("div",null,[u("div",null,[t(S,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>o(l).avatar=a),limit:1},null,8,["modelValue"])]),e[10]||(e[10]=u("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(s,{label:"名称",prop:"name"},{default:d(()=>[t(r,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=a=>o(l).name=a),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),t(s,{label:"归属部门",prop:"dept_id"},{default:d(()=>[t(O,{class:"flex-1",modelValue:o(l).dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>o(l).dept_id=a),data:o(c).dept,clearable:"",multiple:"","node-key":"id",props:{value:"id",label:"name",disabled(a){return a.status!==1}},"check-strictly":"","default-expand-all":!0,placeholder:"请选择上级部门"},null,8,["modelValue","data","props"])]),_:1}),t(s,{label:"岗位",prop:"jobs_id"},{default:d(()=>[t(E,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[4]||(e[4]=a=>o(l).jobs_id=a),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:d(()=>[(i(!0),V(j,null,k(o(c).jobs,(a,b)=>(i(),p(y,{key:b,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(l).root!=1?(i(),p(s,{key:0,label:"角色",prop:"role_id"},{default:d(()=>[t(E,{modelValue:o(l).role_id,"onUpdate:modelValue":e[5]||(e[5]=a=>o(l).role_id=a),disabled:o(l).root==1,class:"flex-1",multiple:"",placeholder:"请选择角色",clearable:""},{default:d(()=>[(i(!0),V(j,null,k(o(c).role,(a,b)=>(i(),p(y,{key:b,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1})):U("",!0),t(s,{label:"密码",prop:"password"},{default:d(()=>[t(r,{modelValue:o(l).password,"onUpdate:modelValue":e[6]||(e[6]=a=>o(l).password=a),"show-password":"",clearable:"",placeholder:"请输入密码"},null,8,["modelValue"])]),_:1}),t(s,{label:"确认密码",prop:"password_confirm"},{default:d(()=>[t(r,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[7]||(e[7]=a=>o(l).password_confirm=a),"show-password":"",clearable:"",placeholder:"请输入确认密码"},null,8,["modelValue"])]),_:1}),o(l).root!=1?(i(),p(s,{key:1,label:"管理员状态"},{default:d(()=>[t(x,{modelValue:o(l).disable,"onUpdate:modelValue":e[8]||(e[8]=a=>o(l).disable=a),"active-value":0,"inactive-value":1},null,8,["modelValue"])]),_:1})):U("",!0),t(s,{label:"多处登录"},{default:d(()=>[u("div",null,[t(x,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[9]||(e[9]=a=>o(l).multipoint_login=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[11]||(e[11]=u("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["title"])])}}});export{Ve as _}; +import{D as G,B as H,C as J,Z as L,Q,R as Z,g as z}from"./element-plus-DGP1XOrU.js";import{_ as K}from"./picker-lbwHqE-a.js";import{d as M}from"./department-DdhKHNS-.js";import{j as P}from"./post-BjyIxcyn.js";import{b as W,d as X,e as Y}from"./admin-RUE9duOm.js";import{r as $}from"./role-hMw9X8iI.js";import{_ as h}from"./index-BVjWjU3h.js";import{u as ee}from"./useDictOptions-CU1TLMPn.js";import{f as le,ak as i,I as V,a as t,aN as d,J as u,F as j,ap as k,G as p,H as U,A as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,q as C,r as R,n as ae}from"./@vue/reactivity-DiY1c2vO.js";const te={class:"edit-popup"},Ve=le({__name:"edit",emits:["success","close"],setup(re,{expose:q,emit:D}){const v=D,w=C(),m=C(),f=ae("add"),A=oe(()=>f.value=="edit"?"编辑管理员":"新增管理员"),l=R({id:"",account:"",name:"",dept_id:[],jobs_id:[],role_id:[],avatar:"",password:"",password_confirm:"",disable:0,multipoint_login:1,root:0}),g=(n,e,r)=>{l.password&&(e||r(new Error("请再次输入密码")),e!==l.password&&r(new Error("两次输入密码不一致!"))),r()},_=R({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}],role_id:[{required:!0,validator:(n,e,r)=>{l.root||l.role_id.length?r():r(new Error("请选择角色"))}}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:g,trigger:"blur"}]}),{optionsData:c}=ee({role:{api:$},jobs:{api:P},dept:{api:M}}),B=async()=>{var n,e;await((n=w.value)==null?void 0:n.validate()),f.value=="edit"?await W(l):await X(l),(e=m.value)==null||e.close(),v("success")},F=(n="add")=>{var e;f.value=n,(e=m.value)==null||e.open()},I=async n=>{_.password=[],_.password_confirm=[{validator:g,trigger:"blur"}];const e=await Y({id:n.id});for(const r in l)e[r]!=null&&e[r]!=null&&(l[r]=e[r])},N=()=>{v("close")};return q({open:F,setFormData:I}),(n,e)=>{const r=J,s=H,S=K,O=L,y=Z,E=Q,x=z,T=G;return i(),V("div",te,[t(h,{ref_key:"popupRef",ref:m,title:o(A),async:!0,width:"550px",onConfirm:B,onClose:N},{default:d(()=>[t(T,{ref_key:"formRef",ref:w,model:o(l),"label-width":"84px",rules:o(_)},{default:d(()=>[t(s,{label:"账号",prop:"account"},{default:d(()=>[t(r,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=a=>o(l).account=a),disabled:o(l).root==1,placeholder:"请输入账号",clearable:""},null,8,["modelValue","disabled"])]),_:1}),t(s,{label:"头像"},{default:d(()=>[u("div",null,[u("div",null,[t(S,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>o(l).avatar=a),limit:1},null,8,["modelValue"])]),e[10]||(e[10]=u("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(s,{label:"名称",prop:"name"},{default:d(()=>[t(r,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=a=>o(l).name=a),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),t(s,{label:"归属部门",prop:"dept_id"},{default:d(()=>[t(O,{class:"flex-1",modelValue:o(l).dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>o(l).dept_id=a),data:o(c).dept,clearable:"",multiple:"","node-key":"id",props:{value:"id",label:"name",disabled(a){return a.status!==1}},"check-strictly":"","default-expand-all":!0,placeholder:"请选择上级部门"},null,8,["modelValue","data","props"])]),_:1}),t(s,{label:"岗位",prop:"jobs_id"},{default:d(()=>[t(E,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[4]||(e[4]=a=>o(l).jobs_id=a),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:d(()=>[(i(!0),V(j,null,k(o(c).jobs,(a,b)=>(i(),p(y,{key:b,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(l).root!=1?(i(),p(s,{key:0,label:"角色",prop:"role_id"},{default:d(()=>[t(E,{modelValue:o(l).role_id,"onUpdate:modelValue":e[5]||(e[5]=a=>o(l).role_id=a),disabled:o(l).root==1,class:"flex-1",multiple:"",placeholder:"请选择角色",clearable:""},{default:d(()=>[(i(!0),V(j,null,k(o(c).role,(a,b)=>(i(),p(y,{key:b,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1})):U("",!0),t(s,{label:"密码",prop:"password"},{default:d(()=>[t(r,{modelValue:o(l).password,"onUpdate:modelValue":e[6]||(e[6]=a=>o(l).password=a),"show-password":"",clearable:"",placeholder:"请输入密码"},null,8,["modelValue"])]),_:1}),t(s,{label:"确认密码",prop:"password_confirm"},{default:d(()=>[t(r,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[7]||(e[7]=a=>o(l).password_confirm=a),"show-password":"",clearable:"",placeholder:"请输入确认密码"},null,8,["modelValue"])]),_:1}),o(l).root!=1?(i(),p(s,{key:1,label:"管理员状态"},{default:d(()=>[t(x,{modelValue:o(l).disable,"onUpdate:modelValue":e[8]||(e[8]=a=>o(l).disable=a),"active-value":0,"inactive-value":1},null,8,["modelValue"])]),_:1})):U("",!0),t(s,{label:"多处登录"},{default:d(()=>[u("div",null,[t(x,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[9]||(e[9]=a=>o(l).multipoint_login=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[11]||(e[11]=u("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["title"])])}}});export{Ve as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BbtSbzTO.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Csd8PIFD.js similarity index 95% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BbtSbzTO.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Csd8PIFD.js index 63c0b2493..11622a3d2 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BbtSbzTO.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Csd8PIFD.js @@ -1 +1 @@ -import{D as I,B as S,C as w,G as x,J as T}from"./element-plus-DGP1XOrU.js";import{b as q,c as A}from"./message-DOlfHejJ.js";import{_ as K}from"./index-D5PquIeg.js";import{f as U,ak as n,I as Y,a,aN as o,J as B,G as i,H as _,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as y,r as N}from"./@vue/reactivity-DiY1c2vO.js";import{Q as F}from"./@vue/shared-mAAVTE9n.js";const G={class:"edit-popup"},M=U({__name:"edit",emits:["success"],setup(J,{expose:g,emit:E}){const V=E,d=y(),m=y(),t=N({name:"",type:"",sign:"",app_key:"",app_id:"",secret_key:"",secret_id:"",status:0}),k={sign:[{required:!0,message:"请输入短信签名",trigger:"blur"}],app_id:[{required:!0,message:"请输入APP_ID",trigger:"blur"}],app_key:[{required:!0,message:"请输入APP_KEY",trigger:"blur"}],secret_key:[{required:!0,message:"请输入SECRET_KEY",trigger:"blur"}],secret_id:[{required:!0,message:"请输入SECRET_ID",trigger:"blur"}]},b=async()=>{var s,e;await((s=d.value)==null?void 0:s.validate()),await q(t),(e=m.value)==null||e.close(),V("success")},C=async()=>{const s=await A({type:t.type});for(const e in s)t[e]=s[e]},R=s=>{var e;t.type=s,(e=m.value)==null||e.open(),C()},P=()=>{var s;(s=d.value)==null||s.resetFields()};return g({open:R}),(s,e)=>{const p=S,u=w,f=T,D=x,v=I;return n(),Y("div",G,[a(K,{ref_key:"popupRef",ref:m,title:"设置短信",async:!0,width:"550px",onConfirm:b,onClose:P},{default:o(()=>[a(v,{ref_key:"formRef",ref:d,model:l(t),"label-width":"120px",rules:k},{default:o(()=>[a(p,{label:"短信渠道"},{default:o(()=>[B("div",null,F(l(t).name),1)]),_:1}),a(p,{label:"短信签名",prop:"sign"},{default:o(()=>[a(u,{modelValue:l(t).sign,"onUpdate:modelValue":e[0]||(e[0]=r=>l(t).sign=r),placeholder:"请输入短信签名"},null,8,["modelValue"])]),_:1}),l(t).type=="ali"?(n(),i(p,{key:0,label:"APP_KEY",prop:"app_key"},{default:o(()=>[a(u,{modelValue:l(t).app_key,"onUpdate:modelValue":e[1]||(e[1]=r=>l(t).app_key=r),placeholder:"请输入APP_KEY"},null,8,["modelValue"])]),_:1})):_("",!0),l(t).type=="tencent"?(n(),i(p,{key:1,label:"APP_ID",prop:"app_id"},{default:o(()=>[a(u,{modelValue:l(t).app_id,"onUpdate:modelValue":e[2]||(e[2]=r=>l(t).app_id=r),placeholder:"请输入APP_ID"},null,8,["modelValue"])]),_:1})):_("",!0),l(t).type=="tencent"?(n(),i(p,{key:2,label:"SECRET_ID",prop:"secret_id"},{default:o(()=>[a(u,{modelValue:l(t).secret_id,"onUpdate:modelValue":e[3]||(e[3]=r=>l(t).secret_id=r),placeholder:"请输入SECRET_ID"},null,8,["modelValue"])]),_:1})):_("",!0),a(p,{label:"SECRET_KEY",prop:"secret_key"},{default:o(()=>[a(u,{modelValue:l(t).secret_key,"onUpdate:modelValue":e[4]||(e[4]=r=>l(t).secret_key=r),placeholder:"请输入SECRET_KEY"},null,8,["modelValue"])]),_:1}),a(p,{label:"状态",prop:"status"},{default:o(()=>[a(D,{modelValue:l(t).status,"onUpdate:modelValue":e[5]||(e[5]=r=>l(t).status=r)},{default:o(()=>[a(f,{value:0},{default:o(()=>[...e[6]||(e[6]=[c("关闭",-1)])]),_:1}),a(f,{value:1},{default:o(()=>[...e[7]||(e[7]=[c("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{M as _}; +import{D as I,B as S,C as w,G as x,J as T}from"./element-plus-DGP1XOrU.js";import{b as q,c as A}from"./message-BwLlJSkW.js";import{_ as K}from"./index-BVjWjU3h.js";import{f as U,ak as n,I as Y,a,aN as o,J as B,G as i,H as _,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as y,r as N}from"./@vue/reactivity-DiY1c2vO.js";import{Q as F}from"./@vue/shared-mAAVTE9n.js";const G={class:"edit-popup"},M=U({__name:"edit",emits:["success"],setup(J,{expose:g,emit:E}){const V=E,d=y(),m=y(),t=N({name:"",type:"",sign:"",app_key:"",app_id:"",secret_key:"",secret_id:"",status:0}),k={sign:[{required:!0,message:"请输入短信签名",trigger:"blur"}],app_id:[{required:!0,message:"请输入APP_ID",trigger:"blur"}],app_key:[{required:!0,message:"请输入APP_KEY",trigger:"blur"}],secret_key:[{required:!0,message:"请输入SECRET_KEY",trigger:"blur"}],secret_id:[{required:!0,message:"请输入SECRET_ID",trigger:"blur"}]},b=async()=>{var s,e;await((s=d.value)==null?void 0:s.validate()),await q(t),(e=m.value)==null||e.close(),V("success")},C=async()=>{const s=await A({type:t.type});for(const e in s)t[e]=s[e]},R=s=>{var e;t.type=s,(e=m.value)==null||e.open(),C()},P=()=>{var s;(s=d.value)==null||s.resetFields()};return g({open:R}),(s,e)=>{const p=S,u=w,f=T,D=x,v=I;return n(),Y("div",G,[a(K,{ref_key:"popupRef",ref:m,title:"设置短信",async:!0,width:"550px",onConfirm:b,onClose:P},{default:o(()=>[a(v,{ref_key:"formRef",ref:d,model:l(t),"label-width":"120px",rules:k},{default:o(()=>[a(p,{label:"短信渠道"},{default:o(()=>[B("div",null,F(l(t).name),1)]),_:1}),a(p,{label:"短信签名",prop:"sign"},{default:o(()=>[a(u,{modelValue:l(t).sign,"onUpdate:modelValue":e[0]||(e[0]=r=>l(t).sign=r),placeholder:"请输入短信签名"},null,8,["modelValue"])]),_:1}),l(t).type=="ali"?(n(),i(p,{key:0,label:"APP_KEY",prop:"app_key"},{default:o(()=>[a(u,{modelValue:l(t).app_key,"onUpdate:modelValue":e[1]||(e[1]=r=>l(t).app_key=r),placeholder:"请输入APP_KEY"},null,8,["modelValue"])]),_:1})):_("",!0),l(t).type=="tencent"?(n(),i(p,{key:1,label:"APP_ID",prop:"app_id"},{default:o(()=>[a(u,{modelValue:l(t).app_id,"onUpdate:modelValue":e[2]||(e[2]=r=>l(t).app_id=r),placeholder:"请输入APP_ID"},null,8,["modelValue"])]),_:1})):_("",!0),l(t).type=="tencent"?(n(),i(p,{key:2,label:"SECRET_ID",prop:"secret_id"},{default:o(()=>[a(u,{modelValue:l(t).secret_id,"onUpdate:modelValue":e[3]||(e[3]=r=>l(t).secret_id=r),placeholder:"请输入SECRET_ID"},null,8,["modelValue"])]),_:1})):_("",!0),a(p,{label:"SECRET_KEY",prop:"secret_key"},{default:o(()=>[a(u,{modelValue:l(t).secret_key,"onUpdate:modelValue":e[4]||(e[4]=r=>l(t).secret_key=r),placeholder:"请输入SECRET_KEY"},null,8,["modelValue"])]),_:1}),a(p,{label:"状态",prop:"status"},{default:o(()=>[a(D,{modelValue:l(t).status,"onUpdate:modelValue":e[5]||(e[5]=r=>l(t).status=r)},{default:o(()=>[a(f,{value:0},{default:o(()=>[...e[6]||(e[6]=[c("关闭",-1)])]),_:1}),a(f,{value:1},{default:o(()=>[...e[7]||(e[7]=[c("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{M as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CFD_TYnI.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DM3yy7QA.js similarity index 95% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CFD_TYnI.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DM3yy7QA.js index 030a9a688..c6acc23ae 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CFD_TYnI.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DM3yy7QA.js @@ -1 +1 @@ -import{D as C,B as D,C as N,h as U,G as q,J as B}from"./element-plus-DGP1XOrU.js";import{a as F,b as I}from"./dict-CCNMoFEY.js";import{_ as A}from"./index-D5PquIeg.js";import{f as G,ak as J,I as T,a as o,aN as t,J as _,O as c,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as v,r as O,n as S}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"edit-popup"},Y=G({__name:"edit",emits:["success","close"],setup(H,{expose:V,emit:b}){const p=b,i=v(),m=v(),d=S("add"),w=z(()=>d.value=="edit"?"编辑字典数据":"新增字典数据"),l=O({id:"",type_value:"",name:"",value:"",sort:0,status:1,remark:"",type_id:0}),x={name:[{required:!0,message:"请输入数据名称",trigger:["blur"]}],value:[{required:!0,message:"请输入数据值",trigger:["blur"]}]},k=async()=>{var s,e;await((s=i.value)==null?void 0:s.validate()),d.value=="edit"?await F(l):await I(l),(e=m.value)==null||e.close(),p("success")},y=()=>{p("close")};return V({open:(s="add")=>{var e;d.value=s,(e=m.value)==null||e.open()},setFormData:s=>{for(const e in l)s[e]!=null&&s[e]!=null&&(l[e]=s[e])}}),(s,e)=>{const n=N,u=D,g=U,f=B,R=q,E=C;return J(),T("div",j,[o(A,{ref_key:"popupRef",ref:m,title:a(w),async:!0,width:"550px",onConfirm:k,onClose:y},{default:t(()=>[o(E,{class:"ls-form",ref_key:"formRef",ref:i,rules:x,model:a(l),"label-width":"84px"},{default:t(()=>[o(u,{label:"字典类型"},{default:t(()=>[o(n,{"model-value":a(l).type_value,placeholder:"请输入字典类型",disabled:""},null,8,["model-value"])]),_:1}),o(u,{label:"数据名称",prop:"name"},{default:t(()=>[o(n,{modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>a(l).name=r),placeholder:"请输入数据名称",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"数据值",prop:"value"},{default:t(()=>[o(n,{modelValue:a(l).value,"onUpdate:modelValue":e[1]||(e[1]=r=>a(l).value=r),placeholder:"请输入数据值",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"排序",prop:"sort"},{default:t(()=>[_("div",null,[o(g,{modelValue:a(l).sort,"onUpdate:modelValue":e[2]||(e[2]=r=>a(l).sort=r),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=_("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1}),o(u,{label:"状态",required:"",prop:"status"},{default:t(()=>[o(R,{modelValue:a(l).status,"onUpdate:modelValue":e[3]||(e[3]=r=>a(l).status=r)},{default:t(()=>[o(f,{value:1},{default:t(()=>[...e[6]||(e[6]=[c("正常",-1)])]),_:1}),o(f,{value:0},{default:t(()=>[...e[7]||(e[7]=[c("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(u,{label:"备注",prop:"remark"},{default:t(()=>[o(n,{modelValue:a(l).remark,"onUpdate:modelValue":e[4]||(e[4]=r=>a(l).remark=r),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Y as _}; +import{D as C,B as D,C as N,h as U,G as q,J as B}from"./element-plus-DGP1XOrU.js";import{a as F,b as I}from"./dict-19er6a3L.js";import{_ as A}from"./index-BVjWjU3h.js";import{f as G,ak as J,I as T,a as o,aN as t,J as _,O as c,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as v,r as O,n as S}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"edit-popup"},Y=G({__name:"edit",emits:["success","close"],setup(H,{expose:V,emit:b}){const p=b,i=v(),m=v(),d=S("add"),w=z(()=>d.value=="edit"?"编辑字典数据":"新增字典数据"),l=O({id:"",type_value:"",name:"",value:"",sort:0,status:1,remark:"",type_id:0}),x={name:[{required:!0,message:"请输入数据名称",trigger:["blur"]}],value:[{required:!0,message:"请输入数据值",trigger:["blur"]}]},k=async()=>{var s,e;await((s=i.value)==null?void 0:s.validate()),d.value=="edit"?await F(l):await I(l),(e=m.value)==null||e.close(),p("success")},y=()=>{p("close")};return V({open:(s="add")=>{var e;d.value=s,(e=m.value)==null||e.open()},setFormData:s=>{for(const e in l)s[e]!=null&&s[e]!=null&&(l[e]=s[e])}}),(s,e)=>{const n=N,u=D,g=U,f=B,R=q,E=C;return J(),T("div",j,[o(A,{ref_key:"popupRef",ref:m,title:a(w),async:!0,width:"550px",onConfirm:k,onClose:y},{default:t(()=>[o(E,{class:"ls-form",ref_key:"formRef",ref:i,rules:x,model:a(l),"label-width":"84px"},{default:t(()=>[o(u,{label:"字典类型"},{default:t(()=>[o(n,{"model-value":a(l).type_value,placeholder:"请输入字典类型",disabled:""},null,8,["model-value"])]),_:1}),o(u,{label:"数据名称",prop:"name"},{default:t(()=>[o(n,{modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>a(l).name=r),placeholder:"请输入数据名称",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"数据值",prop:"value"},{default:t(()=>[o(n,{modelValue:a(l).value,"onUpdate:modelValue":e[1]||(e[1]=r=>a(l).value=r),placeholder:"请输入数据值",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"排序",prop:"sort"},{default:t(()=>[_("div",null,[o(g,{modelValue:a(l).sort,"onUpdate:modelValue":e[2]||(e[2]=r=>a(l).sort=r),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=_("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1}),o(u,{label:"状态",required:"",prop:"status"},{default:t(()=>[o(R,{modelValue:a(l).status,"onUpdate:modelValue":e[3]||(e[3]=r=>a(l).status=r)},{default:t(()=>[o(f,{value:1},{default:t(()=>[...e[6]||(e[6]=[c("正常",-1)])]),_:1}),o(f,{value:0},{default:t(()=>[...e[7]||(e[7]=[c("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(u,{label:"备注",prop:"remark"},{default:t(()=>[o(n,{modelValue:a(l).remark,"onUpdate:modelValue":e[4]||(e[4]=r=>a(l).remark=r),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Y as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-ob5lYdp3.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DNryuqHs.js similarity index 95% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-ob5lYdp3.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DNryuqHs.js index 4113c022c..472bd491c 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-ob5lYdp3.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DNryuqHs.js @@ -1 +1 @@ -import{D as h,B as D,C as U,h as q,g as B}from"./element-plus-DGP1XOrU.js";import{a as I,b as N,c as j}from"./post-CPnP1Klt.js";import{_ as F}from"./index-D5PquIeg.js";import{f as A,ak as S,I as z,a as l,aN as n,J as f,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as _,r as T,n as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},W=A({__name:"edit",emits:["success","close"],setup(K,{expose:b,emit:V}){const i=V,p=_(),m=_(),u=G("add"),v=J(()=>u.value=="edit"?"编辑岗位":"新增岗位"),o=T({id:"",name:"",code:"",sort:0,remark:"",status:1}),w={code:[{required:!0,message:"请输入岗位编码",trigger:["blur"]}],name:[{required:!0,message:"请输入岗位名称",trigger:["blur"]}]},g=async()=>{var a,e;await((a=p.value)==null?void 0:a.validate()),u.value=="edit"?await I(o):await N(o),(e=m.value)==null||e.close(),i("success")},x=(a="add")=>{var e;u.value=a,(e=m.value)==null||e.open()},c=a=>{for(const e in o)a[e]!=null&&a[e]!=null&&(o[e]=a[e])},k=async a=>{const e=await j({id:a.id});c(e)},y=()=>{i("close")};return b({open:x,setFormData:c,getDetail:k}),(a,e)=>{const d=U,r=D,R=q,E=B,C=h;return S(),z("div",H,[l(F,{ref_key:"popupRef",ref:m,title:t(v),async:!0,width:"550px",onConfirm:g,onClose:y},{default:n(()=>[l(C,{ref_key:"formRef",ref:p,model:t(o),"label-width":"84px",rules:w},{default:n(()=>[l(r,{label:"岗位名称",prop:"name"},{default:n(()=>[l(d,{modelValue:t(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>t(o).name=s),placeholder:"请输入岗位名称",clearable:"",maxlength:100},null,8,["modelValue"])]),_:1}),l(r,{label:"岗位编码",prop:"code"},{default:n(()=>[l(d,{modelValue:t(o).code,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).code=s),placeholder:"请输入岗位编码",clearable:""},null,8,["modelValue"])]),_:1}),l(r,{label:"排序",prop:"sort"},{default:n(()=>[f("div",null,[l(R,{modelValue:t(o).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>t(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=f("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:n(()=>[l(d,{modelValue:t(o).remark,"onUpdate:modelValue":e[3]||(e[3]=s=>t(o).remark=s),placeholder:"请输入备注",type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(r,{label:"岗位状态",required:"",prop:"status"},{default:n(()=>[l(E,{modelValue:t(o).status,"onUpdate:modelValue":e[4]||(e[4]=s=>t(o).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{W as _}; +import{D as h,B as D,C as U,h as q,g as B}from"./element-plus-DGP1XOrU.js";import{a as I,b as N,c as j}from"./post-BjyIxcyn.js";import{_ as F}from"./index-BVjWjU3h.js";import{f as A,ak as S,I as z,a as l,aN as n,J as f,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as _,r as T,n as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},W=A({__name:"edit",emits:["success","close"],setup(K,{expose:b,emit:V}){const i=V,p=_(),m=_(),u=G("add"),v=J(()=>u.value=="edit"?"编辑岗位":"新增岗位"),o=T({id:"",name:"",code:"",sort:0,remark:"",status:1}),w={code:[{required:!0,message:"请输入岗位编码",trigger:["blur"]}],name:[{required:!0,message:"请输入岗位名称",trigger:["blur"]}]},g=async()=>{var a,e;await((a=p.value)==null?void 0:a.validate()),u.value=="edit"?await I(o):await N(o),(e=m.value)==null||e.close(),i("success")},x=(a="add")=>{var e;u.value=a,(e=m.value)==null||e.open()},c=a=>{for(const e in o)a[e]!=null&&a[e]!=null&&(o[e]=a[e])},k=async a=>{const e=await j({id:a.id});c(e)},y=()=>{i("close")};return b({open:x,setFormData:c,getDetail:k}),(a,e)=>{const d=U,r=D,R=q,E=B,C=h;return S(),z("div",H,[l(F,{ref_key:"popupRef",ref:m,title:t(v),async:!0,width:"550px",onConfirm:g,onClose:y},{default:n(()=>[l(C,{ref_key:"formRef",ref:p,model:t(o),"label-width":"84px",rules:w},{default:n(()=>[l(r,{label:"岗位名称",prop:"name"},{default:n(()=>[l(d,{modelValue:t(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>t(o).name=s),placeholder:"请输入岗位名称",clearable:"",maxlength:100},null,8,["modelValue"])]),_:1}),l(r,{label:"岗位编码",prop:"code"},{default:n(()=>[l(d,{modelValue:t(o).code,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).code=s),placeholder:"请输入岗位编码",clearable:""},null,8,["modelValue"])]),_:1}),l(r,{label:"排序",prop:"sort"},{default:n(()=>[f("div",null,[l(R,{modelValue:t(o).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>t(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=f("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:n(()=>[l(d,{modelValue:t(o).remark,"onUpdate:modelValue":e[3]||(e[3]=s=>t(o).remark=s),placeholder:"请输入备注",type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(r,{label:"岗位状态",required:"",prop:"status"},{default:n(()=>[l(E,{modelValue:t(o).status,"onUpdate:modelValue":e[4]||(e[4]=s=>t(o).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{W as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-JR5eebf3.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Dog1IeKU.js similarity index 94% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-JR5eebf3.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Dog1IeKU.js index 0d9084cf7..2b589f009 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-JR5eebf3.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Dog1IeKU.js @@ -1 +1 @@ -import{D as R,B as E,C,G as q,J as D}from"./element-plus-DGP1XOrU.js";import{g as F,h as T}from"./dict-CCNMoFEY.js";import{_ as U}from"./index-D5PquIeg.js";import{f as B,ak as I,I as N,a as t,aN as s,O as _,A}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as c,r as G,n as h}from"./@vue/reactivity-DiY1c2vO.js";const z={class:"edit-popup"},P=B({__name:"edit",emits:["success","close"],setup(J,{expose:y,emit:V}){const d=V,i=c(),m=c(),u=h("add"),v=A(()=>u.value=="edit"?"编辑字典类型":"新增字典类型"),o=G({id:"",name:"",type:"",status:1,remark:""}),b={name:[{required:!0,message:"请输入字典名称",trigger:["blur"]}],type:[{required:!0,message:"请输入字典类型",trigger:["blur"]}]},w=async()=>{var l,e;await((l=i.value)==null?void 0:l.validate()),u.value=="edit"?await F(o):await T(o),(e=m.value)==null||e.close(),d("success")},g=()=>{d("close")};return y({open:(l="add")=>{var e;u.value=l,(e=m.value)==null||e.open()},setFormData:l=>{for(const e in o)l[e]!=null&&l[e]!=null&&(o[e]=l[e])}}),(l,e)=>{const p=C,n=E,f=D,k=q,x=R;return I(),N("div",z,[t(U,{ref_key:"popupRef",ref:m,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:g},{default:s(()=>[t(x,{class:"ls-form",ref_key:"formRef",ref:i,rules:b,model:a(o),"label-width":"84px"},{default:s(()=>[t(n,{label:"字典名称",prop:"name"},{default:s(()=>[t(p,{modelValue:a(o).name,"onUpdate:modelValue":e[0]||(e[0]=r=>a(o).name=r),placeholder:"请输入字典名称",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{label:"字典类型",prop:"type"},{default:s(()=>[t(p,{modelValue:a(o).type,"onUpdate:modelValue":e[1]||(e[1]=r=>a(o).type=r),placeholder:"请输入字典类型",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{label:"字典状态",required:"",prop:"status"},{default:s(()=>[t(k,{modelValue:a(o).status,"onUpdate:modelValue":e[2]||(e[2]=r=>a(o).status=r)},{default:s(()=>[t(f,{value:1},{default:s(()=>[...e[4]||(e[4]=[_("正常",-1)])]),_:1}),t(f,{value:0},{default:s(()=>[...e[5]||(e[5]=[_("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(n,{label:"备注",prop:"remark"},{default:s(()=>[t(p,{modelValue:a(o).remark,"onUpdate:modelValue":e[3]||(e[3]=r=>a(o).remark=r),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{P as _}; +import{D as R,B as E,C,G as q,J as D}from"./element-plus-DGP1XOrU.js";import{g as F,h as T}from"./dict-19er6a3L.js";import{_ as U}from"./index-BVjWjU3h.js";import{f as B,ak as I,I as N,a as t,aN as s,O as _,A}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as c,r as G,n as h}from"./@vue/reactivity-DiY1c2vO.js";const z={class:"edit-popup"},P=B({__name:"edit",emits:["success","close"],setup(J,{expose:y,emit:V}){const d=V,i=c(),m=c(),u=h("add"),v=A(()=>u.value=="edit"?"编辑字典类型":"新增字典类型"),o=G({id:"",name:"",type:"",status:1,remark:""}),b={name:[{required:!0,message:"请输入字典名称",trigger:["blur"]}],type:[{required:!0,message:"请输入字典类型",trigger:["blur"]}]},w=async()=>{var l,e;await((l=i.value)==null?void 0:l.validate()),u.value=="edit"?await F(o):await T(o),(e=m.value)==null||e.close(),d("success")},g=()=>{d("close")};return y({open:(l="add")=>{var e;u.value=l,(e=m.value)==null||e.open()},setFormData:l=>{for(const e in o)l[e]!=null&&l[e]!=null&&(o[e]=l[e])}}),(l,e)=>{const p=C,n=E,f=D,k=q,x=R;return I(),N("div",z,[t(U,{ref_key:"popupRef",ref:m,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:g},{default:s(()=>[t(x,{class:"ls-form",ref_key:"formRef",ref:i,rules:b,model:a(o),"label-width":"84px"},{default:s(()=>[t(n,{label:"字典名称",prop:"name"},{default:s(()=>[t(p,{modelValue:a(o).name,"onUpdate:modelValue":e[0]||(e[0]=r=>a(o).name=r),placeholder:"请输入字典名称",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{label:"字典类型",prop:"type"},{default:s(()=>[t(p,{modelValue:a(o).type,"onUpdate:modelValue":e[1]||(e[1]=r=>a(o).type=r),placeholder:"请输入字典类型",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{label:"字典状态",required:"",prop:"status"},{default:s(()=>[t(k,{modelValue:a(o).status,"onUpdate:modelValue":e[2]||(e[2]=r=>a(o).status=r)},{default:s(()=>[t(f,{value:1},{default:s(()=>[...e[4]||(e[4]=[_("正常",-1)])]),_:1}),t(f,{value:0},{default:s(()=>[...e[5]||(e[5]=[_("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(n,{label:"备注",prop:"remark"},{default:s(()=>[t(p,{modelValue:a(o).remark,"onUpdate:modelValue":e[3]||(e[3]=r=>a(o).remark=r),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{P as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js similarity index 98% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js index 24da1635a..817dc6b04 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js @@ -1 +1 @@ -import{D as F,B as G,C as A,G as J,J as O,h as S,g as T}from"./element-plus-DGP1XOrU.js";import{f as z,h as H,i as j}from"./wx_oa-BuVhGwqh.js";import{_ as K}from"./index-D5PquIeg.js";import{f as L,ak as p,I as M,a as o,aN as a,J as n,G as c,H as v,O as i,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as x,r as Q,n as W}from"./@vue/reactivity-DiY1c2vO.js";const X={class:"edit-popup"},Y={class:"flex-1"},Z={class:"flex-1"},$={class:"flex-1"},h={class:"flex-1"},ee={class:"flex-1"},te={class:"flex-1"},le={class:"flex-1"},ue=L({__name:"edit",emits:["success","close"],setup(oe,{expose:b,emit:k}){const V=k,g=x(),f=x(),_=W("add"),R=P(()=>_.value=="edit"?"编辑":"新增"),t=Q({id:"",name:"",reply_type:0,content_type:1,keyword:"",content:"",matching_type:1,status:1,sort:0,reply_num:1}),E={name:[{required:!0,message:"请输入规则名称",trigger:["blur"]}],keyword:[{required:!0,message:"请输入关键词",trigger:["blur"]}],matching_type:[{required:!0,message:"请选择匹配方式",trigger:["blur"]}],content_type:[{required:!0,message:"请选择回复类型",trigger:["blur"]}],content:[{required:!0,message:"请输入回复内容",trigger:["blur"]}]},U=async()=>{var r,e;await((r=g.value)==null?void 0:r.validate()),_.value=="edit"?await z(t):await H(t),(e=f.value)==null||e.close(),V("success")},q=(r="add",e=0)=>{var u;_.value=r,t.reply_type=e,(u=f.value)==null||u.open()},w=r=>{for(const e in t)r[e]!=null&&r[e]!=null&&(t[e]=r[e])},C=async r=>{const e=await j({id:r.id});w(e)},N=()=>{V("close")};return b({open:q,setFormData:w,getDetail:C}),(r,e)=>{const u=A,d=G,m=O,y=J,B=S,D=T,I=F;return p(),M("div",X,[o(K,{ref_key:"popupRef",ref:f,title:l(R),async:!0,width:"500px",onConfirm:U,onClose:N},{default:a(()=>[o(I,{ref_key:"formRef",ref:g,model:l(t),"label-width":"84px",rules:E,class:"pr-10"},{default:a(()=>[o(d,{label:"规则名称",prop:"name"},{default:a(()=>[n("div",Y,[o(u,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=s=>l(t).name=s),placeholder:"请输入规则名称"},null,8,["modelValue"]),e[8]||(e[8]=n("div",{class:"form-tips"},"方便通过名称管理关注回复内容",-1))])]),_:1}),l(t).reply_type==2?(p(),c(d,{key:0,label:"关键词",prop:"keyword"},{default:a(()=>[n("div",Z,[o(u,{modelValue:l(t).keyword,"onUpdate:modelValue":e[1]||(e[1]=s=>l(t).keyword=s),placeholder:"请输入关键词"},null,8,["modelValue"]),e[9]||(e[9]=n("div",{class:"form-tips"},"方便通过名称管理关注回复内容",-1))])]),_:1})):v("",!0),l(t).reply_type==2?(p(),c(d,{key:1,label:"匹配方式",prop:"matching_type"},{default:a(()=>[n("div",$,[o(y,{modelValue:l(t).matching_type,"onUpdate:modelValue":e[2]||(e[2]=s=>l(t).matching_type=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[10]||(e[10]=[i("全匹配",-1)])]),_:1}),o(m,{value:2},{default:a(()=>[...e[11]||(e[11]=[i("模糊匹配",-1)])]),_:1})]),_:1},8,["modelValue"]),e[12]||(e[12]=n("div",{class:"form-tips"},"模糊匹配时,关键词部分匹配用户输入的内容即可",-1))])]),_:1})):v("",!0),o(d,{label:"回复类型",prop:"content_type",min:0},{default:a(()=>[n("div",h,[o(y,{modelValue:l(t).content_type,"onUpdate:modelValue":e[3]||(e[3]=s=>l(t).content_type=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[13]||(e[13]=[i("文本",-1)])]),_:1})]),_:1},8,["modelValue"]),e[14]||(e[14]=n("div",{class:"form-tips"},"暂时只支持文本类型",-1))])]),_:1}),o(d,{label:"回复内容",prop:"content"},{default:a(()=>[n("div",ee,[o(u,{modelValue:l(t).content,"onUpdate:modelValue":e[4]||(e[4]=s=>l(t).content=s),autosize:{minRows:4,maxRows:4},type:"textarea",maxlength:"200","show-word-limit":"",placeholder:"请输入回复内容"},null,8,["modelValue"])])]),_:1}),o(d,{label:"排序"},{default:a(()=>[n("div",te,[o(B,{modelValue:l(t).sort,"onUpdate:modelValue":e[5]||(e[5]=s=>l(t).sort=s),min:0,max:9999},null,8,["modelValue"])])]),_:1}),l(t).reply_type==2?(p(),c(d,{key:2,label:"回复数量",prop:"reply_num",required:""},{default:a(()=>[n("div",le,[o(y,{modelValue:l(t).reply_num,"onUpdate:modelValue":e[6]||(e[6]=s=>l(t).reply_num=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[15]||(e[15]=[i("回复匹配首词条",-1)])]),_:1})]),_:1},8,["modelValue"]),e[16]||(e[16]=n("div",{class:"form-tips"}," 设置关键词匹配多条时回复的数量,暂时支持回复一条内容 ",-1))])]),_:1})):v("",!0),o(d,{label:"启用状态"},{default:a(()=>[o(D,{modelValue:l(t).status,"onUpdate:modelValue":e[7]||(e[7]=s=>l(t).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{ue as _}; +import{D as F,B as G,C as A,G as J,J as O,h as S,g as T}from"./element-plus-DGP1XOrU.js";import{f as z,h as H,i as j}from"./wx_oa-Bi2y5vRS.js";import{_ as K}from"./index-BVjWjU3h.js";import{f as L,ak as p,I as M,a as o,aN as a,J as n,G as c,H as v,O as i,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as x,r as Q,n as W}from"./@vue/reactivity-DiY1c2vO.js";const X={class:"edit-popup"},Y={class:"flex-1"},Z={class:"flex-1"},$={class:"flex-1"},h={class:"flex-1"},ee={class:"flex-1"},te={class:"flex-1"},le={class:"flex-1"},ue=L({__name:"edit",emits:["success","close"],setup(oe,{expose:b,emit:k}){const V=k,g=x(),f=x(),_=W("add"),R=P(()=>_.value=="edit"?"编辑":"新增"),t=Q({id:"",name:"",reply_type:0,content_type:1,keyword:"",content:"",matching_type:1,status:1,sort:0,reply_num:1}),E={name:[{required:!0,message:"请输入规则名称",trigger:["blur"]}],keyword:[{required:!0,message:"请输入关键词",trigger:["blur"]}],matching_type:[{required:!0,message:"请选择匹配方式",trigger:["blur"]}],content_type:[{required:!0,message:"请选择回复类型",trigger:["blur"]}],content:[{required:!0,message:"请输入回复内容",trigger:["blur"]}]},U=async()=>{var r,e;await((r=g.value)==null?void 0:r.validate()),_.value=="edit"?await z(t):await H(t),(e=f.value)==null||e.close(),V("success")},q=(r="add",e=0)=>{var u;_.value=r,t.reply_type=e,(u=f.value)==null||u.open()},w=r=>{for(const e in t)r[e]!=null&&r[e]!=null&&(t[e]=r[e])},C=async r=>{const e=await j({id:r.id});w(e)},N=()=>{V("close")};return b({open:q,setFormData:w,getDetail:C}),(r,e)=>{const u=A,d=G,m=O,y=J,B=S,D=T,I=F;return p(),M("div",X,[o(K,{ref_key:"popupRef",ref:f,title:l(R),async:!0,width:"500px",onConfirm:U,onClose:N},{default:a(()=>[o(I,{ref_key:"formRef",ref:g,model:l(t),"label-width":"84px",rules:E,class:"pr-10"},{default:a(()=>[o(d,{label:"规则名称",prop:"name"},{default:a(()=>[n("div",Y,[o(u,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=s=>l(t).name=s),placeholder:"请输入规则名称"},null,8,["modelValue"]),e[8]||(e[8]=n("div",{class:"form-tips"},"方便通过名称管理关注回复内容",-1))])]),_:1}),l(t).reply_type==2?(p(),c(d,{key:0,label:"关键词",prop:"keyword"},{default:a(()=>[n("div",Z,[o(u,{modelValue:l(t).keyword,"onUpdate:modelValue":e[1]||(e[1]=s=>l(t).keyword=s),placeholder:"请输入关键词"},null,8,["modelValue"]),e[9]||(e[9]=n("div",{class:"form-tips"},"方便通过名称管理关注回复内容",-1))])]),_:1})):v("",!0),l(t).reply_type==2?(p(),c(d,{key:1,label:"匹配方式",prop:"matching_type"},{default:a(()=>[n("div",$,[o(y,{modelValue:l(t).matching_type,"onUpdate:modelValue":e[2]||(e[2]=s=>l(t).matching_type=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[10]||(e[10]=[i("全匹配",-1)])]),_:1}),o(m,{value:2},{default:a(()=>[...e[11]||(e[11]=[i("模糊匹配",-1)])]),_:1})]),_:1},8,["modelValue"]),e[12]||(e[12]=n("div",{class:"form-tips"},"模糊匹配时,关键词部分匹配用户输入的内容即可",-1))])]),_:1})):v("",!0),o(d,{label:"回复类型",prop:"content_type",min:0},{default:a(()=>[n("div",h,[o(y,{modelValue:l(t).content_type,"onUpdate:modelValue":e[3]||(e[3]=s=>l(t).content_type=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[13]||(e[13]=[i("文本",-1)])]),_:1})]),_:1},8,["modelValue"]),e[14]||(e[14]=n("div",{class:"form-tips"},"暂时只支持文本类型",-1))])]),_:1}),o(d,{label:"回复内容",prop:"content"},{default:a(()=>[n("div",ee,[o(u,{modelValue:l(t).content,"onUpdate:modelValue":e[4]||(e[4]=s=>l(t).content=s),autosize:{minRows:4,maxRows:4},type:"textarea",maxlength:"200","show-word-limit":"",placeholder:"请输入回复内容"},null,8,["modelValue"])])]),_:1}),o(d,{label:"排序"},{default:a(()=>[n("div",te,[o(B,{modelValue:l(t).sort,"onUpdate:modelValue":e[5]||(e[5]=s=>l(t).sort=s),min:0,max:9999},null,8,["modelValue"])])]),_:1}),l(t).reply_type==2?(p(),c(d,{key:2,label:"回复数量",prop:"reply_num",required:""},{default:a(()=>[n("div",le,[o(y,{modelValue:l(t).reply_num,"onUpdate:modelValue":e[6]||(e[6]=s=>l(t).reply_num=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[15]||(e[15]=[i("回复匹配首词条",-1)])]),_:1})]),_:1},8,["modelValue"]),e[16]||(e[16]=n("div",{class:"form-tips"}," 设置关键词匹配多条时回复的数量,暂时支持回复一条内容 ",-1))])]),_:1})):v("",!0),o(d,{label:"启用状态"},{default:a(()=>[o(D,{modelValue:l(t).status,"onUpdate:modelValue":e[7]||(e[7]=s=>l(t).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{ue as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BL1KmfvV.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CVNsiWtw.js similarity index 93% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BL1KmfvV.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CVNsiWtw.js index 8fd0c93fe..8c1a0bf7f 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BL1KmfvV.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CVNsiWtw.js @@ -1 +1 @@ -import{D,B,C as I,h as N,g as F}from"./element-plus-DGP1XOrU.js";import{d as U,e as q,f as A}from"./article-BsGgZfIu.js";import{_ as S}from"./index-D5PquIeg.js";import{f,ak as J,I as T,a,aN as n,J as c,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as _,r as z,n as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},K=f({name:"articleColumnEdit"}),X=f({...K,emits:["success","close"],setup(L,{expose:v,emit:w}){const u=w,d=_(),r=_(),i=G("add"),V=j(()=>i.value=="edit"?"编辑栏目":"新增栏目"),o=z({id:"",name:"",sort:0,is_show:1}),C={name:[{required:!0,message:"请输入栏目名称",trigger:["blur"]}]},b=async()=>{var t,e;await((t=d.value)==null?void 0:t.validate()),i.value=="edit"?await U(o):await q(o),(e=r.value)==null||e.close(),u("success")},h=(t="add")=>{var e;i.value=t,(e=r.value)==null||e.open()},p=t=>{for(const e in o)t[e]!=null&&t[e]!=null&&(o[e]=t[e])},E=async t=>{const e=await A({id:t.id});p(e)},x=()=>{u("close")};return v({open:h,setFormData:p,getDetail:E}),(t,e)=>{const y=I,m=B,g=N,k=F,R=D;return J(),T("div",H,[a(S,{ref_key:"popupRef",ref:r,title:l(V),async:!0,width:"550px",onConfirm:b,onClose:x},{default:n(()=>[a(R,{ref_key:"formRef",ref:d,model:l(o),"label-width":"84px",rules:C},{default:n(()=>[a(m,{label:"栏目名称",prop:"name"},{default:n(()=>[a(y,{modelValue:l(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>l(o).name=s),placeholder:"请输入栏目名称",clearable:""},null,8,["modelValue"])]),_:1}),a(m,{label:"排序",prop:"sort"},{default:n(()=>[c("div",null,[a(g,{modelValue:l(o).sort,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[3]||(e[3]=c("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),a(m,{label:"状态",prop:"is_show"},{default:n(()=>[a(k,{modelValue:l(o).is_show,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).is_show=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{X as _}; +import{D,B,C as I,h as N,g as F}from"./element-plus-DGP1XOrU.js";import{d as U,e as q,f as A}from"./article-D7twg9M1.js";import{_ as S}from"./index-BVjWjU3h.js";import{f,ak as J,I as T,a,aN as n,J as c,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as _,r as z,n as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},K=f({name:"articleColumnEdit"}),X=f({...K,emits:["success","close"],setup(L,{expose:v,emit:w}){const u=w,d=_(),r=_(),i=G("add"),V=j(()=>i.value=="edit"?"编辑栏目":"新增栏目"),o=z({id:"",name:"",sort:0,is_show:1}),C={name:[{required:!0,message:"请输入栏目名称",trigger:["blur"]}]},b=async()=>{var t,e;await((t=d.value)==null?void 0:t.validate()),i.value=="edit"?await U(o):await q(o),(e=r.value)==null||e.close(),u("success")},h=(t="add")=>{var e;i.value=t,(e=r.value)==null||e.open()},p=t=>{for(const e in o)t[e]!=null&&t[e]!=null&&(o[e]=t[e])},E=async t=>{const e=await A({id:t.id});p(e)},x=()=>{u("close")};return v({open:h,setFormData:p,getDetail:E}),(t,e)=>{const y=I,m=B,g=N,k=F,R=D;return J(),T("div",H,[a(S,{ref_key:"popupRef",ref:r,title:l(V),async:!0,width:"550px",onConfirm:b,onClose:x},{default:n(()=>[a(R,{ref_key:"formRef",ref:d,model:l(o),"label-width":"84px",rules:C},{default:n(()=>[a(m,{label:"栏目名称",prop:"name"},{default:n(()=>[a(y,{modelValue:l(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>l(o).name=s),placeholder:"请输入栏目名称",clearable:""},null,8,["modelValue"])]),_:1}),a(m,{label:"排序",prop:"sort"},{default:n(()=>[c("div",null,[a(g,{modelValue:l(o).sort,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[3]||(e[3]=c("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),a(m,{label:"状态",prop:"is_show"},{default:n(()=>[a(k,{modelValue:l(o).is_show,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).is_show=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{X as _}; diff --git a/server/public/admin/assets/environment-ByMIQ2-e.js b/server/public/admin/assets/environment-DWZ8fjr8.js similarity index 97% rename from server/public/admin/assets/environment-ByMIQ2-e.js rename to server/public/admin/assets/environment-DWZ8fjr8.js index 3a4f1c5a4..78e902a18 100644 --- a/server/public/admin/assets/environment-ByMIQ2-e.js +++ b/server/public/admin/assets/environment-DWZ8fjr8.js @@ -1 +1 @@ -import{c as v,F as b}from"./index-fRv3NTFQ.js";import{N as k,O as h,K as y}from"./element-plus-DGP1XOrU.js";import{f as u,b as x,ak as l,I as w,a as t,aN as o,J as s,G as i}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,r as B}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./@vue/shared-mAAVTE9n.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const C={class:"system-environment"},E={class:"mt-4"},N={class:"mt-4"},g={class:"mt-4"},I=u({name:"environment"}),_t=u({...I,setup(S){const r=B({server:[],env:[],auth:[]}),f=()=>{b().then(n=>{r.server=n.server,r.env=n.env,r.auth=n.auth})};return x(()=>{f()}),(n,a)=>{const e=h,p=k,d=y,m=v;return l(),w("div",C,[t(d,{class:"!border-none",shadow:"never"},{default:o(()=>[a[0]||(a[0]=s("div",null,"服务器信息",-1)),s("div",E,[t(p,{data:_(r).server},{default:o(()=>[t(e,{prop:"param",label:"参数"}),t(e,{prop:"value",label:"值"})]),_:1},8,["data"])])]),_:1}),t(d,{shadow:"never",class:"!border-none mt-4"},{default:o(()=>[a[1]||(a[1]=s("div",null,"PHP环境要求",-1)),s("div",N,[t(p,{data:_(r).env},{default:o(()=>[t(e,{prop:"option",label:"选项"}),t(e,{prop:"require",label:"要求"}),t(e,{label:"状态"},{default:o(c=>[c.row.status?(l(),i(m,{key:0,name:"el-icon-Select",class:"text-success"})):(l(),i(m,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),t(e,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1}),t(d,{shadow:"never",class:"!border-none mt-4"},{default:o(()=>[a[2]||(a[2]=s("div",null,"目录权限",-1)),s("div",g,[t(p,{data:_(r).auth},{default:o(()=>[t(e,{prop:"dir",label:"选项"}),t(e,{prop:"require",label:"要求"}),t(e,{label:"状态"},{default:o(c=>[c.row.status?(l(),i(m,{key:0,name:"el-icon-Select",class:"text-success"})):(l(),i(m,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),t(e,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1})])}}});export{_t as default}; +import{c as v,F as b}from"./index-J_eFER10.js";import{N as k,O as h,K as y}from"./element-plus-DGP1XOrU.js";import{f as u,b as x,ak as l,I as w,a as t,aN as o,J as s,G as i}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,r as B}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./@vue/shared-mAAVTE9n.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const C={class:"system-environment"},E={class:"mt-4"},N={class:"mt-4"},g={class:"mt-4"},I=u({name:"environment"}),_t=u({...I,setup(S){const r=B({server:[],env:[],auth:[]}),f=()=>{b().then(n=>{r.server=n.server,r.env=n.env,r.auth=n.auth})};return x(()=>{f()}),(n,a)=>{const e=h,p=k,d=y,m=v;return l(),w("div",C,[t(d,{class:"!border-none",shadow:"never"},{default:o(()=>[a[0]||(a[0]=s("div",null,"服务器信息",-1)),s("div",E,[t(p,{data:_(r).server},{default:o(()=>[t(e,{prop:"param",label:"参数"}),t(e,{prop:"value",label:"值"})]),_:1},8,["data"])])]),_:1}),t(d,{shadow:"never",class:"!border-none mt-4"},{default:o(()=>[a[1]||(a[1]=s("div",null,"PHP环境要求",-1)),s("div",N,[t(p,{data:_(r).env},{default:o(()=>[t(e,{prop:"option",label:"选项"}),t(e,{prop:"require",label:"要求"}),t(e,{label:"状态"},{default:o(c=>[c.row.status?(l(),i(m,{key:0,name:"el-icon-Select",class:"text-success"})):(l(),i(m,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),t(e,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1}),t(d,{shadow:"never",class:"!border-none mt-4"},{default:o(()=>[a[2]||(a[2]=s("div",null,"目录权限",-1)),s("div",g,[t(p,{data:_(r).auth},{default:o(()=>[t(e,{prop:"dir",label:"选项"}),t(e,{prop:"require",label:"要求"}),t(e,{label:"状态"},{default:o(c=>[c.row.status?(l(),i(m,{key:0,name:"el-icon-Select",class:"text-success"})):(l(),i(m,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),t(e,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1})])}}});export{_t as default}; diff --git a/server/public/admin/assets/error-BU0Zs3ny.js b/server/public/admin/assets/error-D1FuDlMf.js similarity index 96% rename from server/public/admin/assets/error-BU0Zs3ny.js rename to server/public/admin/assets/error-D1FuDlMf.js index 5cc8bf976..0ba69a2d4 100644 --- a/server/public/admin/assets/error-BU0Zs3ny.js +++ b/server/public/admin/assets/error-D1FuDlMf.js @@ -1 +1 @@ -import{i as c}from"./element-plus-DGP1XOrU.js";import{a as d}from"./vue-router-QlpZ4wdW.js";import{f as u,d as f,ak as a,I as v,J as e,aq as _,G as B,aN as x,O as y,H as g}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as h,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as I}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const w={class:"error"},C={class:"error-code"},N={class:"text-lg text-tx-secondary mt-7 mb-7"},S=u({__name:"error",props:{code:String,title:String,showBtn:{type:Boolean,default:!0}},setup(t){const n=t;let o=null;const r=k(5),m=d();return n.showBtn&&(o=setInterval(()=>{r.value===0?(clearInterval(o),m.go(-1)):r.value--},1e3)),f(()=>{o&&clearInterval(o)}),(p,s)=>{const l=c;return a(),v("div",w,[e("div",null,[_(p.$slots,"content",{},()=>[e("div",C,i(t.code),1)],!0),e("div",N,i(t.title),1),t.showBtn?(a(),B(l,{key:0,type:"primary",onClick:s[0]||(s[0]=b=>h(m).go(-1))},{default:x(()=>[y(i(r.value)+" 秒后返回上一页 ",1)]),_:1})):g("",!0)])])}}}),dt=I(S,[["__scopeId","data-v-58b95848"]]);export{dt as default}; +import{i as c}from"./element-plus-DGP1XOrU.js";import{a as d}from"./vue-router-QlpZ4wdW.js";import{f as u,d as f,ak as a,I as v,J as e,aq as _,G as B,aN as x,O as y,H as g}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as h,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as I}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const w={class:"error"},C={class:"error-code"},N={class:"text-lg text-tx-secondary mt-7 mb-7"},S=u({__name:"error",props:{code:String,title:String,showBtn:{type:Boolean,default:!0}},setup(t){const n=t;let o=null;const r=k(5),m=d();return n.showBtn&&(o=setInterval(()=>{r.value===0?(clearInterval(o),m.go(-1)):r.value--},1e3)),f(()=>{o&&clearInterval(o)}),(p,s)=>{const l=c;return a(),v("div",w,[e("div",null,[_(p.$slots,"content",{},()=>[e("div",C,i(t.code),1)],!0),e("div",N,i(t.title),1),t.showBtn?(a(),B(l,{key:0,type:"primary",onClick:s[0]||(s[0]=b=>h(m).go(-1))},{default:x(()=>[y(i(r.value)+" 秒后返回上一页 ",1)]),_:1})):g("",!0)])])}}}),dt=I(S,[["__scopeId","data-v-58b95848"]]);export{dt as default}; diff --git a/server/public/admin/assets/fans-C45r_J_N.js b/server/public/admin/assets/fans-xWTU7WTj.js similarity index 89% rename from server/public/admin/assets/fans-C45r_J_N.js rename to server/public/admin/assets/fans-xWTU7WTj.js index a9f8e037d..637c28f85 100644 --- a/server/public/admin/assets/fans-C45r_J_N.js +++ b/server/public/admin/assets/fans-xWTU7WTj.js @@ -1 +1 @@ -import{r as n}from"./index-fRv3NTFQ.js";function e(t){return n.get({url:"/fan/lists",params:t})}function i(t){return n.post({url:"/fan/add",params:t})}function s(t){return n.post({url:"/fan/edit",params:t})}function a(t){return n.post({url:"/fan/delete",params:t})}function f(t){return n.get({url:"/fan/visitRecordLists",params:t})}function o(t){return n.post({url:"/fan/addVisitRecord",params:t})}function u(t){return n.post({url:"/fan/editVisitRecord",params:t})}function d(t){return n.post({url:"/fan/deleteVisitRecord",params:t})}export{i as a,s as b,o as c,u as d,d as e,e as f,f as g,a as h}; +import{r as n}from"./index-J_eFER10.js";function e(t){return n.get({url:"/fan/lists",params:t})}function i(t){return n.post({url:"/fan/add",params:t})}function s(t){return n.post({url:"/fan/edit",params:t})}function a(t){return n.post({url:"/fan/delete",params:t})}function f(t){return n.get({url:"/fan/visitRecordLists",params:t})}function o(t){return n.post({url:"/fan/addVisitRecord",params:t})}function u(t){return n.post({url:"/fan/editVisitRecord",params:t})}function d(t){return n.post({url:"/fan/deleteVisitRecord",params:t})}export{i as a,s as b,o as c,u as d,d as e,e as f,f as g,a as h}; diff --git a/server/public/admin/assets/file-FhuQj5ML.js b/server/public/admin/assets/file-D7g_w1vo.js similarity index 95% rename from server/public/admin/assets/file-FhuQj5ML.js rename to server/public/admin/assets/file-D7g_w1vo.js index d731af57e..4493cf1a6 100644 --- a/server/public/admin/assets/file-FhuQj5ML.js +++ b/server/public/admin/assets/file-D7g_w1vo.js @@ -1 +1 @@ -import{e as f,s as a,g as c,R as p,r as t}from"./index-fRv3NTFQ.js";async function i(e,n="image",o=0){const l=f(),r=new FormData;r.append("file",e),r.append("cid",String(o));const u=`${a.baseUrl}${a.urlPrefix}/upload/${n}`,s=await(await fetch(u,{method:"POST",headers:{token:c()||"",version:l.config.version||""},body:r})).json();if(s.code!==p.SUCCESS)throw new Error(s.msg||"上传失败");return s.data}async function m(e,n="screenshot.jpg"){const o=e instanceof File?e:new File([e],n,{type:e.type||"image/jpeg"});return i(o,"image",0)}async function C(e,n="recording.webm"){const o=e instanceof File?e:new File([e],n,{type:e.type||"video/webm"});return i(o,"video",0)}function b(e){return t.post({url:"/file/addCate",params:e})}function w(e){return t.post({url:"/file/editCate",params:e})}function y(e){return t.post({url:"/file/delCate",params:e})}function j(e){return t.get({url:"/file/listCate",params:e})}function S(e){return t.get({url:"/file/lists",params:e},{ignoreCancelToken:!0,isOpenRetry:!1})}function h(e){return t.post({url:"/file/delete",params:e})}function v(e){return t.post({url:"/file/move",params:e})}function F(e){return t.post({url:"/file/rename",params:e})}function O(e){return t.post({url:"/upload/ossCredentials",params:e})}function k(e){return t.post({url:"/upload/ossConfirm",params:e})}export{i as a,y as b,w as c,b as d,F as e,j as f,v as g,h,S as i,O as j,k,C as l,m as u}; +import{e as f,s as a,g as c,R as p,r as t}from"./index-J_eFER10.js";async function i(e,n="image",o=0){const l=f(),r=new FormData;r.append("file",e),r.append("cid",String(o));const u=`${a.baseUrl}${a.urlPrefix}/upload/${n}`,s=await(await fetch(u,{method:"POST",headers:{token:c()||"",version:l.config.version||""},body:r})).json();if(s.code!==p.SUCCESS)throw new Error(s.msg||"上传失败");return s.data}async function m(e,n="screenshot.jpg"){const o=e instanceof File?e:new File([e],n,{type:e.type||"image/jpeg"});return i(o,"image",0)}async function C(e,n="recording.webm"){const o=e instanceof File?e:new File([e],n,{type:e.type||"video/webm"});return i(o,"video",0)}function b(e){return t.post({url:"/file/addCate",params:e})}function w(e){return t.post({url:"/file/editCate",params:e})}function y(e){return t.post({url:"/file/delCate",params:e})}function j(e){return t.get({url:"/file/listCate",params:e})}function S(e){return t.get({url:"/file/lists",params:e},{ignoreCancelToken:!0,isOpenRetry:!1})}function h(e){return t.post({url:"/file/delete",params:e})}function v(e){return t.post({url:"/file/move",params:e})}function F(e){return t.post({url:"/file/rename",params:e})}function O(e){return t.post({url:"/upload/ossCredentials",params:e})}function k(e){return t.post({url:"/upload/ossConfirm",params:e})}export{i as a,y as b,w as c,b as d,F as e,j as f,v as g,h,S as i,O as j,k,C as l,m as u}; diff --git a/server/public/admin/assets/file-BDJxuISl.js b/server/public/admin/assets/file-iKPEqCPr.js similarity index 90% rename from server/public/admin/assets/file-BDJxuISl.js rename to server/public/admin/assets/file-iKPEqCPr.js index 6e48cfd6c..8939535c4 100644 --- a/server/public/admin/assets/file-BDJxuISl.js +++ b/server/public/admin/assets/file-iKPEqCPr.js @@ -1 +1 @@ -import{K as n,i as u,C as v}from"./element-plus-DGP1XOrU.js";import{_ as f}from"./picker-C0hwSppU.js";import{f as x,ak as V,I as _,a as i,aN as r,J as l,O as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,r as U}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const k={class:"flex flex-wrap"},B={class:"flex m-4"},C={class:"flex m-4"},E={class:"flex flex-1 m-4"},N={class:"flex-1"},b={class:"flex flex-wrap"},y={class:"flex m-4"},I={class:"flex m-4"},c={class:"flex m-4"},g={class:"flex m-4 items-center"},z={class:"flex m-4 items-center"},Ko=x({__name:"file",setup(J){const e=U({value1:"",value2:[],value3:"",value4:"",value5:"",value6:""});return(K,o)=>{const s=f,a=n,p=u,d=v;return V(),_("div",null,[i(a,{header:"基础使用",shadow:"never",class:"!border-none"},{default:r(()=>[l("div",k,[l("div",B,[o[6]||(o[6]=l("div",{class:"mr-4"},"选择图片:",-1)),i(s,{modelValue:t(e).value1,"onUpdate:modelValue":o[0]||(o[0]=m=>t(e).value1=m)},null,8,["modelValue"])]),l("div",C,[o[7]||(o[7]=l("div",{class:"mr-4"},"选择视频:",-1)),i(s,{type:"video",modelValue:t(e).value3,"onUpdate:modelValue":o[1]||(o[1]=m=>t(e).value3=m)},null,8,["modelValue"])]),l("div",E,[o[8]||(o[8]=l("div",{class:"mr-4"},"多张图片:",-1)),l("div",N,[i(s,{limit:4,modelValue:t(e).value2,"onUpdate:modelValue":o[2]||(o[2]=m=>t(e).value2=m)},null,8,["modelValue"])])])])]),_:1}),i(a,{header:"进阶用法",shadow:"never",class:"!border-none mt-4"},{default:r(()=>[l("div",b,[l("div",y,[o[9]||(o[9]=l("div",{class:"mr-4"},"自定义选择器大小:",-1)),i(s,{size:"60px",modelValue:t(e).value4,"onUpdate:modelValue":o[3]||(o[3]=m=>t(e).value4=m)},null,8,["modelValue"])]),l("div",I,[o[11]||(o[11]=l("div",{class:"mr-4"},"使用插槽:",-1)),i(s,{modelValue:t(e).value5,"onUpdate:modelValue":o[4]||(o[4]=m=>t(e).value5=m)},{upload:r(()=>[i(p,null,{default:r(()=>[...o[10]||(o[10]=[w("选择文件",-1)])]),_:1})]),_:1},8,["modelValue"])]),l("div",c,[o[12]||(o[12]=l("div",{class:"mr-4"},"选出地址不带域名:",-1)),i(s,{"exclude-domain":!0,modelValue:t(e).value6,"onUpdate:modelValue":o[5]||(o[5]=m=>t(e).value6=m)},null,8,["modelValue"])])]),l("div",null,[l("div",g,[o[13]||(o[13]=l("div",{class:"w-20 flex-none"},"带域名:",-1)),i(d,{class:"w-[500px]","model-value":t(e).value5},null,8,["model-value"])]),l("div",z,[o[14]||(o[14]=l("div",{class:"w-20 flex-none"},"不带域名:",-1)),i(d,{class:"w-[500px]","model-value":t(e).value6},null,8,["model-value"])])])]),_:1})])}}});export{Ko as default}; +import{K as n,i as u,C as v}from"./element-plus-DGP1XOrU.js";import{_ as f}from"./picker-lbwHqE-a.js";import{f as x,ak as V,I as _,a as i,aN as r,J as l,O as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,r as U}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const k={class:"flex flex-wrap"},B={class:"flex m-4"},C={class:"flex m-4"},E={class:"flex flex-1 m-4"},N={class:"flex-1"},b={class:"flex flex-wrap"},y={class:"flex m-4"},I={class:"flex m-4"},c={class:"flex m-4"},g={class:"flex m-4 items-center"},z={class:"flex m-4 items-center"},Ko=x({__name:"file",setup(J){const e=U({value1:"",value2:[],value3:"",value4:"",value5:"",value6:""});return(K,o)=>{const s=f,a=n,p=u,d=v;return V(),_("div",null,[i(a,{header:"基础使用",shadow:"never",class:"!border-none"},{default:r(()=>[l("div",k,[l("div",B,[o[6]||(o[6]=l("div",{class:"mr-4"},"选择图片:",-1)),i(s,{modelValue:t(e).value1,"onUpdate:modelValue":o[0]||(o[0]=m=>t(e).value1=m)},null,8,["modelValue"])]),l("div",C,[o[7]||(o[7]=l("div",{class:"mr-4"},"选择视频:",-1)),i(s,{type:"video",modelValue:t(e).value3,"onUpdate:modelValue":o[1]||(o[1]=m=>t(e).value3=m)},null,8,["modelValue"])]),l("div",E,[o[8]||(o[8]=l("div",{class:"mr-4"},"多张图片:",-1)),l("div",N,[i(s,{limit:4,modelValue:t(e).value2,"onUpdate:modelValue":o[2]||(o[2]=m=>t(e).value2=m)},null,8,["modelValue"])])])])]),_:1}),i(a,{header:"进阶用法",shadow:"never",class:"!border-none mt-4"},{default:r(()=>[l("div",b,[l("div",y,[o[9]||(o[9]=l("div",{class:"mr-4"},"自定义选择器大小:",-1)),i(s,{size:"60px",modelValue:t(e).value4,"onUpdate:modelValue":o[3]||(o[3]=m=>t(e).value4=m)},null,8,["modelValue"])]),l("div",I,[o[11]||(o[11]=l("div",{class:"mr-4"},"使用插槽:",-1)),i(s,{modelValue:t(e).value5,"onUpdate:modelValue":o[4]||(o[4]=m=>t(e).value5=m)},{upload:r(()=>[i(p,null,{default:r(()=>[...o[10]||(o[10]=[w("选择文件",-1)])]),_:1})]),_:1},8,["modelValue"])]),l("div",c,[o[12]||(o[12]=l("div",{class:"mr-4"},"选出地址不带域名:",-1)),i(s,{"exclude-domain":!0,modelValue:t(e).value6,"onUpdate:modelValue":o[5]||(o[5]=m=>t(e).value6=m)},null,8,["modelValue"])])]),l("div",null,[l("div",g,[o[13]||(o[13]=l("div",{class:"w-20 flex-none"},"带域名:",-1)),i(d,{class:"w-[500px]","model-value":t(e).value5},null,8,["model-value"])]),l("div",z,[o[14]||(o[14]=l("div",{class:"w-20 flex-none"},"不带域名:",-1)),i(d,{class:"w-[500px]","model-value":t(e).value6},null,8,["model-value"])])])]),_:1})])}}});export{Ko as default}; diff --git a/server/public/admin/assets/filing-AgGjXE6m.js b/server/public/admin/assets/filing-XM5KxFed.js similarity index 94% rename from server/public/admin/assets/filing-AgGjXE6m.js rename to server/public/admin/assets/filing-XM5KxFed.js index f8524fd82..7518e6116 100644 --- a/server/public/admin/assets/filing-AgGjXE6m.js +++ b/server/public/admin/assets/filing-XM5KxFed.js @@ -1 +1 @@ -import{_ as F}from"./index-D6hiZISU.js";import{D as x,B as N,C as U,i as I,K as P}from"./element-plus-DGP1XOrU.js";import{c as $,k as A}from"./index-fRv3NTFQ.js";import{_ as G}from"./index-Dc1nFBAH.js";import{g as J,s as K}from"./website-CUzsflNy.js";import{f as w,as as L,ak as i,I as u,a as o,aN as e,J as l,F as O,ap as S,G as f,O as v,aP as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as g,n as j}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const q={class:"website-filing"},z={class:"py-4 bg-fill-lighter"},H={class:"w-80"},M={class:"w-80"},Q=w({name:"webFilling"}),Jo=w({...Q,setup(R){const r=j([{key:"",value:""}]),p=async()=>{const n=await J();n.length&&(r.value=n)},h=()=>{r.value.push({key:"",value:""})},b=n=>{if(r.value.length<=1)return A.msgError("至少保留一个");r.value.splice(n,1)},y=async()=>{await K({config:r.value}),p()};return p(),(n,t)=>{const m=U,_=N,k=G,C=$,c=I,V=x,E=P,B=F,D=L("perms");return i(),u("div",q,[o(E,{shadow:"never",class:"!border-none"},{default:e(()=>[t[2]||(t[2]=l("div",{class:"mb-5"},"站点底部版权备案信息设置",-1)),o(V,{ref:"form",class:"ls-form","label-width":"100px"},{default:e(()=>[(i(!0),u(O,null,S(g(r),(a,d)=>(i(),f(k,{class:"mb-4",key:d,"show-close":g(r).length>1,onClose:s=>b(d)},{default:e(()=>[l("div",z,[o(_,{label:"显示名称",prop:"icp_link"},{default:e(()=>[l("div",H,[l("div",null,[o(m,{modelValue:a.key,"onUpdate:modelValue":s=>a.key=s,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024),o(_,{label:"跳转链接",prop:"icp_link"},{default:e(()=>[l("div",M,[l("div",null,[o(m,{modelValue:a.value,"onUpdate:modelValue":s=>a.value=s,placeholder:"请输入链接,例如:http://www.beian.gov.cn"},null,8,["modelValue","onUpdate:modelValue"])]),t[0]||(t[0]=l("div",{class:"form-tips"},"跳转链接不设置,则不跳转",-1))])]),_:2},1024)])]),_:2},1032,["show-close","onClose"]))),128)),l("div",null,[o(c,{type:"primary",onClick:h},{default:e(()=>[o(C,{name:"el-icon-Plus"}),t[1]||(t[1]=v(" 添加 ",-1))]),_:1})])]),_:1},512)]),_:1}),T((i(),f(B,null,{default:e(()=>[o(c,{type:"primary",onClick:y},{default:e(()=>[...t[3]||(t[3]=[v("保存",-1)])]),_:1})]),_:1})),[[D,["setting.web.web_setting/setCopyright"]]])])}}});export{Jo as default}; +import{_ as F}from"./index-UGD9wxNK.js";import{D as x,B as N,C as U,i as I,K as P}from"./element-plus-DGP1XOrU.js";import{c as $,k as A}from"./index-J_eFER10.js";import{_ as G}from"./index-sgqCyAwB.js";import{g as J,s as K}from"./website-CeVKwoPS.js";import{f as w,as as L,ak as i,I as u,a as o,aN as e,J as l,F as O,ap as S,G as f,O as v,aP as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as g,n as j}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const q={class:"website-filing"},z={class:"py-4 bg-fill-lighter"},H={class:"w-80"},M={class:"w-80"},Q=w({name:"webFilling"}),Jo=w({...Q,setup(R){const r=j([{key:"",value:""}]),p=async()=>{const n=await J();n.length&&(r.value=n)},h=()=>{r.value.push({key:"",value:""})},b=n=>{if(r.value.length<=1)return A.msgError("至少保留一个");r.value.splice(n,1)},y=async()=>{await K({config:r.value}),p()};return p(),(n,t)=>{const m=U,_=N,k=G,C=$,c=I,V=x,E=P,B=F,D=L("perms");return i(),u("div",q,[o(E,{shadow:"never",class:"!border-none"},{default:e(()=>[t[2]||(t[2]=l("div",{class:"mb-5"},"站点底部版权备案信息设置",-1)),o(V,{ref:"form",class:"ls-form","label-width":"100px"},{default:e(()=>[(i(!0),u(O,null,S(g(r),(a,d)=>(i(),f(k,{class:"mb-4",key:d,"show-close":g(r).length>1,onClose:s=>b(d)},{default:e(()=>[l("div",z,[o(_,{label:"显示名称",prop:"icp_link"},{default:e(()=>[l("div",H,[l("div",null,[o(m,{modelValue:a.key,"onUpdate:modelValue":s=>a.key=s,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024),o(_,{label:"跳转链接",prop:"icp_link"},{default:e(()=>[l("div",M,[l("div",null,[o(m,{modelValue:a.value,"onUpdate:modelValue":s=>a.value=s,placeholder:"请输入链接,例如:http://www.beian.gov.cn"},null,8,["modelValue","onUpdate:modelValue"])]),t[0]||(t[0]=l("div",{class:"form-tips"},"跳转链接不设置,则不跳转",-1))])]),_:2},1024)])]),_:2},1032,["show-close","onClose"]))),128)),l("div",null,[o(c,{type:"primary",onClick:h},{default:e(()=>[o(C,{name:"el-icon-Plus"}),t[1]||(t[1]=v(" 添加 ",-1))]),_:1})])]),_:1},512)]),_:1}),T((i(),f(B,null,{default:e(()=>[o(c,{type:"primary",onClick:y},{default:e(()=>[...t[3]||(t[3]=[v("保存",-1)])]),_:1})]),_:1})),[[D,["setting.web.web_setting/setCopyright"]]])])}}});export{Jo as default}; diff --git a/server/public/admin/assets/finance-BnbY_luA.js b/server/public/admin/assets/finance-Dc98hQLW.js similarity index 95% rename from server/public/admin/assets/finance-BnbY_luA.js rename to server/public/admin/assets/finance-Dc98hQLW.js index 4313e8251..22c20e5b3 100644 --- a/server/public/admin/assets/finance-BnbY_luA.js +++ b/server/public/admin/assets/finance-Dc98hQLW.js @@ -1 +1 @@ -import{r as t}from"./index-fRv3NTFQ.js";function r(n){return t.get({url:"/finance.account_log/lists",params:n})}function c(n){return t.get({url:"/recharge.recharge/lists",params:n},{ignoreCancelToken:!0})}function a(n){return t.get({url:"/finance.account_log/getUmChangeType",params:n})}function u(n){return t.post({url:"/recharge.recharge/refund",params:n})}function o(n){return t.post({url:"/recharge.recharge/refundAgain",params:n})}function s(n){return t.get({url:"/finance.refund/record",params:n})}function f(n){return t.get({url:"/finance.refund/log",params:n})}function i(n){return t.get({url:"/finance.refund/stat",params:n})}function g(n){return t.get({url:"/finance.account_cost/lists",params:n})}function l(n){return t.post({url:"/finance.account_cost/add",params:n})}function d(n){return t.post({url:"/finance.account_cost/edit",params:n})}function p(n){return t.get({url:"/finance.account_cost/detail",params:n})}function h(n){return t.post({url:"/finance.account_cost/delete",params:n})}function _(n){return t.get({url:"/finance.dept_performance_target/monthMatrix",params:n})}function m(n){return t.post({url:"/finance.dept_performance_target/batchSave",params:n})}export{d as a,l as b,p as c,_ as d,g as e,h as f,r as g,a as h,m as i,c as j,u as k,s as l,o as m,i as n,f as r}; +import{r as t}from"./index-J_eFER10.js";function r(n){return t.get({url:"/finance.account_log/lists",params:n})}function c(n){return t.get({url:"/recharge.recharge/lists",params:n},{ignoreCancelToken:!0})}function a(n){return t.get({url:"/finance.account_log/getUmChangeType",params:n})}function u(n){return t.post({url:"/recharge.recharge/refund",params:n})}function o(n){return t.post({url:"/recharge.recharge/refundAgain",params:n})}function s(n){return t.get({url:"/finance.refund/record",params:n})}function f(n){return t.get({url:"/finance.refund/log",params:n})}function i(n){return t.get({url:"/finance.refund/stat",params:n})}function g(n){return t.get({url:"/finance.account_cost/lists",params:n})}function l(n){return t.post({url:"/finance.account_cost/add",params:n})}function d(n){return t.post({url:"/finance.account_cost/edit",params:n})}function p(n){return t.get({url:"/finance.account_cost/detail",params:n})}function h(n){return t.post({url:"/finance.account_cost/delete",params:n})}function _(n){return t.get({url:"/finance.dept_performance_target/monthMatrix",params:n})}function m(n){return t.post({url:"/finance.dept_performance_target/batchSave",params:n})}export{d as a,l as b,p as c,_ as d,g as e,h as f,r as g,a as h,m as i,c as j,u as k,s as l,o as m,i as n,f as r}; diff --git a/server/public/admin/assets/first_visit-BYIyH6Y1.js b/server/public/admin/assets/first_visit-lwfDQsu4.js similarity index 98% rename from server/public/admin/assets/first_visit-BYIyH6Y1.js rename to server/public/admin/assets/first_visit-lwfDQsu4.js index a691ff412..0e8d5ce05 100644 --- a/server/public/admin/assets/first_visit-BYIyH6Y1.js +++ b/server/public/admin/assets/first_visit-lwfDQsu4.js @@ -1 +1 @@ -import{r as i}from"./index-fRv3NTFQ.js";function n(t){return i.get({url:"/firstvisit.myPatient/lists",params:t})}function s(t){return i.get({url:"/firstvisit.myPatient/orders",params:t})}function a(t){return i.get({url:"/firstvisit.myPatient/orderDetail",params:t})}function u(t){return i.post({url:"/firstvisit.myPatient/orderEdit",params:t})}function m(t){return i.post({url:"/firstvisit.myPatient/orderAuditPrescription",params:t})}function c(t){return i.post({url:"/firstvisit.myPatient/orderRevokeRxAudit",params:t})}function f(t){return i.post({url:"/firstvisit.myPatient/orderAuditPayment",params:t})}function P(t){return i.post({url:"/firstvisit.myPatient/orderRevokePayAudit",params:t})}function l(t){return i.post({url:"/firstvisit.myPatient/orderDdcode",params:t})}function d(t){return i.post({url:"/firstvisit.myPatient/orderShip",params:t})}function v(t){return i.post({url:"/firstvisit.myPatient/orderAddPayOrder",params:t})}function p(t){return i.post({url:"/firstvisit.myPatient/orderComplete",params:t})}function y(t){return i.post({url:"/firstvisit.myPatient/orderRefund",params:t})}function w(t){return i.post({url:"/firstvisit.myPatient/orderWithdraw",params:t})}function g(t){return i.post({url:"/firstvisit.myPatient/orderUploadToPharmacy",params:t})}function O(t){return i.get({url:"/firstvisit.myPatient/progress",params:t})}function C(t){return i.post({url:"/firstvisit.myPatient/createAppointment",params:t})}function A(t){return i.post({url:"/firstvisit.myPatient/cancelAppointment",params:t})}function h(){return i.get({url:"/firstvisit.myPatient/assistants"})}function k(t){return i.post({url:"/firstvisit.myPatient/assign",params:t})}function T(t){return i.post({url:"/firstvisit.myPatient/fillIdCard",params:t})}function D(t){return i.get({url:"/firstvisit.conversion/overview",params:t,timeout:12e4},{ignoreCancelToken:!0})}function S(t){return i.get({url:"/firstvisit.conversion/fansDetail",params:t,timeout:12e4},{ignoreCancelToken:!0})}function b(t){return i.get({url:"/firstvisit.registrationStats/overview",params:t,timeout:12e4},{ignoreCancelToken:!0})}function R(t){return i.get({url:"/firstvisit.doctorDashboard/overview",params:t,timeout:12e4},{ignoreCancelToken:!0})}function M(){return i.get({url:"/firstvisit.wecomPromotion/overview"})}function W(t){return i.post({url:"/firstvisit.wecomPromotion/savePool",params:t,timeout:12e4})}function U(){return i.get({url:"/firstvisit.wecomPromotion/tagOptions"})}function x(t){return i.post({url:"/firstvisit.wecomPromotion/createTag",params:t,timeout:3e4},{ignoreCancelToken:!0})}function F(t,r){const e=new FormData;return e.append("file",t),e.append("type",r),i.post({url:"/firstvisit.wecomPromotion/uploadWelcomeMedia",data:e,headers:{"Content-Type":"multipart/form-data"},timeout:12e4},{ignoreCancelToken:!0})}function L(t){return i.post({url:"/firstvisit.wecomPromotion/saveWidget",params:t})}function V(t){return i.post({url:"/firstvisit.wecomPromotion/batchSetOperators",params:t})}function B(t){return i.post({url:"/firstvisit.wecomPromotion/batchUpdatePools",params:t,timeout:12e4},{ignoreCancelToken:!0})}function E(t){return i.post({url:"/firstvisit.wecomPromotion/deletePool",params:t,timeout:12e4})}function I(t){return i.post({url:"/firstvisit.wecomPromotion/saveMember",params:t,timeout:12e4})}function q(t){return i.post({url:"/firstvisit.wecomPromotion/toggleMember",params:t,timeout:12e4})}function j(){return i.post({url:"/firstvisit.wecomPromotion/checkApiPermission"})}function z(t){return i.get({url:"/firstvisit.wecomPromotion/customerStatistics",params:t,timeout:12e4},{ignoreCancelToken:!0})}function G(t={}){return i.post({url:"/firstvisit.wecomPromotion/syncCustomers",params:t,timeout:12e4})}export{F as A,L as B,z as C,M as D,B as E,V as F,W as G,E as H,I,q as J,j as K,G as L,C as M,S as a,R as b,m as c,f as d,c as e,D as f,P as g,l as h,d as i,u as j,v as k,p as l,a as m,y as n,w as o,g as p,s as q,O as r,n as s,k as t,T as u,A as v,h as w,b as x,U as y,x as z}; +import{r as i}from"./index-J_eFER10.js";function n(t){return i.get({url:"/firstvisit.myPatient/lists",params:t})}function s(t){return i.get({url:"/firstvisit.myPatient/orders",params:t})}function a(t){return i.get({url:"/firstvisit.myPatient/orderDetail",params:t})}function u(t){return i.post({url:"/firstvisit.myPatient/orderEdit",params:t})}function m(t){return i.post({url:"/firstvisit.myPatient/orderAuditPrescription",params:t})}function c(t){return i.post({url:"/firstvisit.myPatient/orderRevokeRxAudit",params:t})}function f(t){return i.post({url:"/firstvisit.myPatient/orderAuditPayment",params:t})}function P(t){return i.post({url:"/firstvisit.myPatient/orderRevokePayAudit",params:t})}function l(t){return i.post({url:"/firstvisit.myPatient/orderDdcode",params:t})}function d(t){return i.post({url:"/firstvisit.myPatient/orderShip",params:t})}function v(t){return i.post({url:"/firstvisit.myPatient/orderAddPayOrder",params:t})}function p(t){return i.post({url:"/firstvisit.myPatient/orderComplete",params:t})}function y(t){return i.post({url:"/firstvisit.myPatient/orderRefund",params:t})}function w(t){return i.post({url:"/firstvisit.myPatient/orderWithdraw",params:t})}function g(t){return i.post({url:"/firstvisit.myPatient/orderUploadToPharmacy",params:t})}function O(t){return i.get({url:"/firstvisit.myPatient/progress",params:t})}function C(t){return i.post({url:"/firstvisit.myPatient/createAppointment",params:t})}function A(t){return i.post({url:"/firstvisit.myPatient/cancelAppointment",params:t})}function h(){return i.get({url:"/firstvisit.myPatient/assistants"})}function k(t){return i.post({url:"/firstvisit.myPatient/assign",params:t})}function T(t){return i.post({url:"/firstvisit.myPatient/fillIdCard",params:t})}function D(t){return i.get({url:"/firstvisit.conversion/overview",params:t,timeout:12e4},{ignoreCancelToken:!0})}function S(t){return i.get({url:"/firstvisit.conversion/fansDetail",params:t,timeout:12e4},{ignoreCancelToken:!0})}function b(t){return i.get({url:"/firstvisit.registrationStats/overview",params:t,timeout:12e4},{ignoreCancelToken:!0})}function R(t){return i.get({url:"/firstvisit.doctorDashboard/overview",params:t,timeout:12e4},{ignoreCancelToken:!0})}function M(){return i.get({url:"/firstvisit.wecomPromotion/overview"})}function W(t){return i.post({url:"/firstvisit.wecomPromotion/savePool",params:t,timeout:12e4})}function U(){return i.get({url:"/firstvisit.wecomPromotion/tagOptions"})}function x(t){return i.post({url:"/firstvisit.wecomPromotion/createTag",params:t,timeout:3e4},{ignoreCancelToken:!0})}function F(t,r){const e=new FormData;return e.append("file",t),e.append("type",r),i.post({url:"/firstvisit.wecomPromotion/uploadWelcomeMedia",data:e,headers:{"Content-Type":"multipart/form-data"},timeout:12e4},{ignoreCancelToken:!0})}function L(t){return i.post({url:"/firstvisit.wecomPromotion/saveWidget",params:t})}function V(t){return i.post({url:"/firstvisit.wecomPromotion/batchSetOperators",params:t})}function B(t){return i.post({url:"/firstvisit.wecomPromotion/batchUpdatePools",params:t,timeout:12e4},{ignoreCancelToken:!0})}function E(t){return i.post({url:"/firstvisit.wecomPromotion/deletePool",params:t,timeout:12e4})}function I(t){return i.post({url:"/firstvisit.wecomPromotion/saveMember",params:t,timeout:12e4})}function q(t){return i.post({url:"/firstvisit.wecomPromotion/toggleMember",params:t,timeout:12e4})}function j(){return i.post({url:"/firstvisit.wecomPromotion/checkApiPermission"})}function z(t){return i.get({url:"/firstvisit.wecomPromotion/customerStatistics",params:t,timeout:12e4},{ignoreCancelToken:!0})}function G(t={}){return i.post({url:"/firstvisit.wecomPromotion/syncCustomers",params:t,timeout:12e4})}export{F as A,L as B,z as C,M as D,B as E,V as F,W as G,E as H,I,q as J,j as K,G as L,C as M,S as a,R as b,m as c,f as d,c as e,D as f,P as g,l as h,d as i,u as j,v as k,p as l,a as m,y as n,w as o,g as p,s as q,O as r,n as s,k as t,T as u,A as v,h as w,b as x,U as y,x as z}; diff --git a/server/public/admin/assets/follow_reply-BiptAGAB.js b/server/public/admin/assets/follow_reply-BICtf8oP.js similarity index 93% rename from server/public/admin/assets/follow_reply-BiptAGAB.js rename to server/public/admin/assets/follow_reply-BICtf8oP.js index ac2d34972..f049fa20a 100644 --- a/server/public/admin/assets/follow_reply-BiptAGAB.js +++ b/server/public/admin/assets/follow_reply-BICtf8oP.js @@ -1 +1 @@ -import{L as S,K as B,i as D,N as T,O as L,g as O,M as A}from"./element-plus-DGP1XOrU.js";import{_ as P}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as U,k as j}from"./index-fRv3NTFQ.js";import{d as q,o as z,e as F}from"./wx_oa-BuVhGwqh.js";import{u as G}from"./usePaging-DofycyjW.js";import{_ as H}from"./edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js";import{f as I,ak as f,I as J,a as e,aN as n,J as y,O as u,aP as K,G as g,H as M,A as Q,n as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const tt={class:"flex justify-end mt-4"},Ht=I({__name:"follow_reply",setup(et){const m=X(),p=Y(!1),h=Q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:i}=G({fetchFun:q,params:{reply_type:1}}),b=async()=>{var a;p.value=!0,await w(),(a=m.value)==null||a.open("add",1)},k=async a=>{var t,d;p.value=!0,await w(),(t=m.value)==null||t.open("edit",1),(d=m.value)==null||d.getDetail(a)},C=async a=>{await j.confirm("确定要删除?"),await z({id:a}),i()},V=async a=>{try{await F({id:a}),i()}catch{i()}};return i(),(a,t)=>{const d=S,v=B,E=U,_=D,s=L,$=O,x=T,R=P,N=A;return f(),J("div",null,[e(v,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝关注公众号时,会自动发送启用的关注回复;2.同时只能启用一个关注回复。",closable:!1,"show-icon":""})]),_:1}),e(v,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>b())},{icon:n(()=>[e(E,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),K((f(),g(x,{size:"large",data:l(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(l(h)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e($,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>V(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>k(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>C(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,l(r).loading]]),y("div",tt,[e(R,{modelValue:l(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:l(i)},null,8,["modelValue","onChange"])])]),_:1}),l(p)?(f(),g(H,{key:0,ref_key:"editRef",ref:m,onSuccess:l(i),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):M("",!0)])}}});export{Ht as default}; +import{L as S,K as B,i as D,N as T,O as L,g as O,M as A}from"./element-plus-DGP1XOrU.js";import{_ as P}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as U,k as j}from"./index-J_eFER10.js";import{d as q,o as z,e as F}from"./wx_oa-Bi2y5vRS.js";import{u as G}from"./usePaging-DofycyjW.js";import{_ as H}from"./edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js";import{f as I,ak as f,I as J,a as e,aN as n,J as y,O as u,aP as K,G as g,H as M,A as Q,n as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const tt={class:"flex justify-end mt-4"},Ht=I({__name:"follow_reply",setup(et){const m=X(),p=Y(!1),h=Q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:i}=G({fetchFun:q,params:{reply_type:1}}),b=async()=>{var a;p.value=!0,await w(),(a=m.value)==null||a.open("add",1)},k=async a=>{var t,d;p.value=!0,await w(),(t=m.value)==null||t.open("edit",1),(d=m.value)==null||d.getDetail(a)},C=async a=>{await j.confirm("确定要删除?"),await z({id:a}),i()},V=async a=>{try{await F({id:a}),i()}catch{i()}};return i(),(a,t)=>{const d=S,v=B,E=U,_=D,s=L,$=O,x=T,R=P,N=A;return f(),J("div",null,[e(v,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝关注公众号时,会自动发送启用的关注回复;2.同时只能启用一个关注回复。",closable:!1,"show-icon":""})]),_:1}),e(v,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>b())},{icon:n(()=>[e(E,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),K((f(),g(x,{size:"large",data:l(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(l(h)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e($,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>V(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>k(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>C(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,l(r).loading]]),y("div",tt,[e(R,{modelValue:l(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:l(i)},null,8,["modelValue","onChange"])])]),_:1}),l(p)?(f(),g(H,{key:0,ref_key:"editRef",ref:m,onSuccess:l(i),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):M("",!0)])}}});export{Ht as default}; diff --git a/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-COsLLTkC.js b/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js similarity index 89% rename from server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-COsLLTkC.js rename to server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js index 2423694b3..fa9ae5328 100644 --- a/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-COsLLTkC.js +++ b/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js @@ -1 +1 @@ -import{e as a}from"./index-fRv3NTFQ.js";import{f as n,ak as t,I as o,J as c,F as p,ap as _,A as i}from"./@vue/runtime-core-C6bnekPw.js";import{y as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";const l={class:"layout-footer"},u={class:"text-center p-2 text-xs text-tx-secondary max-w-[900px] mx-auto"},x=["href"],S=n({__name:"footer",setup(d){const r=a(),s=i(()=>r.config.copyright_config||[]);return(h,y)=>(t(),o("footer",l,[c("div",u,[(t(!0),o(p,null,_(f(s),e=>(t(),o("a",{class:"mx-1 hover:underline",href:e.value,target:"_blank",key:e.key},m(e.key),9,x))),128))])]))}});export{S as _}; +import{e as a}from"./index-J_eFER10.js";import{f as n,ak as t,I as o,J as c,F as p,ap as _,A as i}from"./@vue/runtime-core-C6bnekPw.js";import{y as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";const l={class:"layout-footer"},u={class:"text-center p-2 text-xs text-tx-secondary max-w-[900px] mx-auto"},x=["href"],S=n({__name:"footer",setup(d){const r=a(),s=i(()=>r.config.copyright_config||[]);return(h,y)=>(t(),o("footer",l,[c("div",u,[(t(!0),o(p,null,_(f(s),e=>(t(),o("a",{class:"mx-1 hover:underline",href:e.value,target:"_blank",key:e.key},m(e.key),9,x))),128))])]))}});export{S as _}; diff --git a/server/public/admin/assets/guahao-D0JIJ2D5.js b/server/public/admin/assets/guahao-BPV84ZcO.js similarity index 98% rename from server/public/admin/assets/guahao-D0JIJ2D5.js rename to server/public/admin/assets/guahao-BPV84ZcO.js index 93650316c..6654fbcb8 100644 --- a/server/public/admin/assets/guahao-D0JIJ2D5.js +++ b/server/public/admin/assets/guahao-BPV84ZcO.js @@ -1 +1 @@ -import{D as Se,B as ke,C as Ce,Q as xe,R as Ee,i as Ue,K as Ne,N as De,O as Be,U as qe,M as Fe,S as Te,aa as Re,G as Ae,F as He,W as Ie}from"./element-plus-DGP1XOrU.js";import{_ as Pe}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{s as Me,w as z}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as Le}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{k as v,o as Oe}from"./index-fRv3NTFQ.js";import{a as $e,b as Ke,c as Ge}from"./doctor-BVLBwYIX.js";import{n as Qe}from"./tcm-CEIBuAeK.js";import{u as Ye}from"./usePaging-DofycyjW.js";import{f as J,b as We,ac as je,as as ze,ak as d,I as S,a as l,aN as o,F as N,ap as D,G as g,O as c,J as b,aP as M,H as T,A as R}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as L,r as O,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Je={class:"guahao-list"},Xe={class:"flex flex-wrap items-center gap-3 mb-4"},Ze={key:0,class:"text-sm text-gray-500"},et={class:"text-sm"},tt={class:"font-medium"},lt={class:"text-gray-500"},at={class:"text-xs text-gray-400"},nt={class:"text-gray-500"},ot={class:"text-sm"},it={key:0,class:"text-xs text-gray-400 truncate"},st={class:"flex justify-end mt-4"},rt={class:"text-sm text-gray-600 mb-4"},ut=J({name:"consumerPrescriptionGuahao"}),el=J({...ut,setup(dt){const m=O({start_date:"",end_date:"",patient_name:"",doctor_name:"",assistant_id:void 0,status:"",channel_source:""}),X={start_date:"",end_date:"",patient_name:"",doctor_name:"",assistant_id:void 0,status:"",channel_source:""},{pager:E,getLists:U,resetPage:B}=Ye({fetchFun:$e,params:m}),q=k([]),$=k(null),h=k([]);function Z(i){h.value=i}const ee=new Set(["自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function F(i){return ee.has(String(i??"").trim())}const y=k([]),te=R(()=>{const i=n.channel_source;if(i===""||i==null)return"";const e=y.value.find(s=>String(s.value)===String(i));return e?String(e.name??"").trim():""}),K=R(()=>F(te.value)),le=R(()=>{const i=p.channel_source;if(i===""||i==null)return"";const e=y.value.find(s=>String(s.value)===String(i));return e?String(e.name??"").trim():""}),G=R(()=>F(le.value));function ae(i){const e=y.value.find(u=>String(u.value)===String(i)),s=e?String(e.name??"").trim():"";F(s)||(p.channel_source_detail="")}const C=k(!1),A=k(!1),p=O({channel_source:"",channel_source_detail:""});function ne(){if(h.value.length===0){v.msgWarning("请先勾选挂号记录");return}p.channel_source="",p.channel_source_detail="",C.value=!0}function oe(){p.channel_source="",p.channel_source_detail=""}async function ie(){var i,e;if(h.value.length===0){v.msgWarning("请先勾选挂号记录");return}if(!p.channel_source){v.msgError("请选择渠道来源");return}if(G.value&&!p.channel_source_detail.trim()){v.msgError("请填写自媒体补充说明");return}A.value=!0;try{const s=h.value.map(u=>Number(u.id));await Ke({ids:s,channel_source:p.channel_source,channel_source_detail:p.channel_source_detail.trim()}),v.msgSuccess("批量修改成功"),C.value=!1,(e=(i=$.value)==null?void 0:i.clearSelection)==null||e.call(i),h.value=[],U()}finally{A.value=!1}}function se(i){const e=y.value.find(u=>String(u.value)===String(i)),s=e?String(e.name??"").trim():"";F(s)||(n.channel_source_detail="")}const x=k(!1),H=k(!1),n=O({id:0,appointment_date:"",appointment_time:"",period:"morning",appointment_type:"video",status:1,remark:"",assistant_id:void 0,channel_source:"",channel_source_detail:""});function re(i){const e=String(i||"");return e.length>=11?e.slice(0,3)+"****"+e.slice(-4):e||"—"}function Q(i){const e=String(i||"");return e.length>=5?e.slice(0,5):e||"—"}function ue(){Object.assign(m,X),B()}function de(i){const e=String(i.period??i.type??"morning");return e==="afternoon"||e==="all"?e:"morning"}async function me(){try{const i=await Qe();q.value=(i==null?void 0:i.lists)??i??[]}catch{q.value=[]}}async function pe(){try{const i=await Oe({type:"channels"}),e=((i==null?void 0:i.channels)||[]).filter(s=>s.status!==0);e.sort((s,u)=>{const r=Number((u==null?void 0:u.sort)??0)-Number((s==null?void 0:s.sort)??0);return r!==0?r:Number((u==null?void 0:u.id)??0)-Number((s==null?void 0:s.id)??0)}),y.value=e}catch{y.value=[]}}function ce(i){n.id=Number(i.id),n.appointment_date=String(i.appointment_date||""),n.appointment_time=Q(String(i.appointment_time||"")),n.period=de(i),n.appointment_type=String(i.appointment_type||"video"),n.status=Number(i.status),n.remark=String(i.remark||"");const e=i.appointment_assistant_id;n.assistant_id=e!=null&&e!==""?Number(e):void 0,n.channel_source=String(i.channel_source??i.channels??""),n.channel_source_detail=String(i.channel_source_detail??""),x.value=!0}function _e(){n.id=0,n.appointment_date="",n.appointment_time="",n.period="morning",n.appointment_type="video",n.status=1,n.remark="",n.assistant_id=void 0,n.channel_source="",n.channel_source_detail=""}async function fe(){if(!n.appointment_date){v.msgError("请选择预约日期");return}if(!n.appointment_time){v.msgError("请选择预约时间");return}if(!n.channel_source){v.msgError("请选择渠道来源");return}if(K.value&&!n.channel_source_detail.trim()){v.msgError("请填写自媒体补充说明");return}H.value=!0;try{const i={id:n.id,appointment_date:n.appointment_date,appointment_time:n.appointment_time,period:n.period,appointment_type:n.appointment_type,status:n.status,remark:n.remark,assistant_id:n.assistant_id??"",channel_source:n.channel_source,channel_source_detail:n.channel_source_detail.trim()};await Ge(i),v.msgSuccess("保存成功"),x.value=!1,U()}finally{H.value=!1}}return We(()=>{me(),pe()}),je(()=>{U()}),U(),(i,e)=>{const s=ke,u=Ce,r=Ee,V=xe,w=Ue,I=Se,Y=Ne,_=Be,ve=qe,ge=De,be=Pe,he=Te,ye=Re,P=He,Ve=Ae,W=Ie,j=ze("perms"),we=Fe;return d(),S("div",Je,[l(Y,{class:"!border-none",shadow:"never"},{default:o(()=>[l(I,{class:"mb-[-16px]",model:a(m),inline:!0,onSubmit:e[7]||(e[7]=Me(()=>{},["prevent"]))},{default:o(()=>[l(s,{label:"预约日期"},{default:o(()=>[l(Le,{startTime:a(m).start_date,"onUpdate:startTime":e[0]||(e[0]=t=>a(m).start_date=t),endTime:a(m).end_date,"onUpdate:endTime":e[1]||(e[1]=t=>a(m).end_date=t)},null,8,["startTime","endTime"])]),_:1}),l(s,{label:"患者姓名"},{default:o(()=>[l(u,{modelValue:a(m).patient_name,"onUpdate:modelValue":e[2]||(e[2]=t=>a(m).patient_name=t),placeholder:"模糊搜索",clearable:"",class:"!w-[160px]",onKeyup:z(a(B),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(s,{label:"医生"},{default:o(()=>[l(u,{modelValue:a(m).doctor_name,"onUpdate:modelValue":e[3]||(e[3]=t=>a(m).doctor_name=t),placeholder:"模糊搜索",clearable:"",class:"!w-[140px]",onKeyup:z(a(B),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(s,{label:"医助"},{default:o(()=>[l(V,{modelValue:a(m).assistant_id,"onUpdate:modelValue":e[4]||(e[4]=t=>a(m).assistant_id=t),placeholder:"全部",clearable:"",filterable:"",class:"!w-[180px]"},{default:o(()=>[(d(!0),S(N,null,D(a(q),t=>(d(),g(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"状态"},{default:o(()=>[l(V,{modelValue:a(m).status,"onUpdate:modelValue":e[5]||(e[5]=t=>a(m).status=t),placeholder:"全部",clearable:"",class:"!w-[130px]"},{default:o(()=>[l(r,{label:"已预约",value:1}),l(r,{label:"已取消",value:2}),l(r,{label:"已完成",value:3}),l(r,{label:"已过号",value:4})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"渠道"},{default:o(()=>[l(V,{modelValue:a(m).channel_source,"onUpdate:modelValue":e[6]||(e[6]=t=>a(m).channel_source=t),placeholder:"全部",clearable:"",filterable:"",class:"!w-[200px]"},{default:o(()=>[(d(!0),S(N,null,D(a(y),t=>(d(),g(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(s,null,{default:o(()=>[l(w,{type:"primary",onClick:a(B)},{default:o(()=>[...e[24]||(e[24]=[c("查询",-1)])]),_:1},8,["onClick"]),l(w,{onClick:ue},{default:o(()=>[...e[25]||(e[25]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),l(Y,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[b("div",Xe,[M((d(),g(w,{type:"primary",disabled:a(h).length===0,onClick:ne},{default:o(()=>[...e[26]||(e[26]=[c(" 批量修改渠道 ",-1)])]),_:1},8,["disabled"])),[[j,["doctor.appointment/edit"]]]),a(h).length>0?(d(),S("span",Ze," 已选 "+f(a(h).length)+" 条 ",1)):T("",!0)]),M((d(),g(ge,{ref_key:"tableRef",ref:$,"row-key":"id",data:a(E).lists,size:"large",stripe:"",onSelectionChange:Z},{default:o(()=>[l(_,{type:"selection",width:"48",align:"center","reserve-selection":""}),l(_,{label:"ID",prop:"id",width:"72",align:"center"}),l(_,{label:"诊单/患者","min-width":"140"},{default:o(({row:t})=>[b("div",et,[b("div",tt,f(t.patient_name||"—"),1),b("div",lt,f(re(t.patient_phone)),1),b("div",at,"诊单 #"+f(t.diagnosis_id??t.patient_id),1)])]),_:1}),l(_,{label:"医生",prop:"doctor_name",width:"100","show-overflow-tooltip":""}),l(_,{label:"医助",prop:"assistant_name",width:"100","show-overflow-tooltip":""}),l(_,{label:"预约时间","min-width":"128"},{default:o(({row:t})=>[b("div",null,f(t.appointment_date),1),b("div",nt,f(Q(t.appointment_time))+" · "+f(t.period_desc),1)]),_:1}),l(_,{label:"类型",prop:"appointment_type_desc",width:"100"}),l(_,{label:"渠道","min-width":"130","show-overflow-tooltip":""},{default:o(({row:t})=>[b("div",ot,f(t.channel_source_desc||"—"),1),t.channel_source_detail?(d(),S("div",it,f(t.channel_source_detail),1)):T("",!0)]),_:1}),l(_,{label:"状态",width:"96",align:"center"},{default:o(({row:t})=>[l(ve,{type:t.status===1?"success":t.status===2?"info":t.status===3?"primary":"danger",size:"small",effect:"light"},{default:o(()=>[c(f(t.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(_,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),l(_,{label:"操作",width:"100",fixed:"right",align:"center"},{default:o(({row:t})=>[M((d(),g(w,{type:"primary",link:"",onClick:mt=>ce(t)},{default:o(()=>[...e[27]||(e[27]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[j,["doctor.appointment/edit"]]])]),_:1})]),_:1},8,["data"])),[[we,a(E).loading]]),b("div",st,[l(be,{modelValue:a(E),"onUpdate:modelValue":e[8]||(e[8]=t=>L(E)?E.value=t:null),onChange:a(U)},null,8,["modelValue","onChange"])])]),_:1}),l(W,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>L(x)?x.value=t:null),title:"编辑挂号",width:"560px","destroy-on-close":"",onClosed:_e},{footer:o(()=>[l(w,{onClick:e[18]||(e[18]=t=>x.value=!1)},{default:o(()=>[...e[31]||(e[31]=[c("取消",-1)])]),_:1}),l(w,{type:"primary",loading:a(H),onClick:fe},{default:o(()=>[...e[32]||(e[32]=[c("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(I,{model:a(n),"label-width":"96px"},{default:o(()=>[l(s,{label:"预约日期",required:""},{default:o(()=>[l(he,{modelValue:a(n).appointment_date,"onUpdate:modelValue":e[9]||(e[9]=t=>a(n).appointment_date=t),type:"date","value-format":"YYYY-MM-DD",placeholder:"选择日期",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(s,{label:"预约时间",required:""},{default:o(()=>[l(ye,{modelValue:a(n).appointment_time,"onUpdate:modelValue":e[10]||(e[10]=t=>a(n).appointment_time=t),format:"HH:mm","value-format":"HH:mm",placeholder:"时间",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(s,{label:"时段",required:""},{default:o(()=>[l(Ve,{modelValue:a(n).period,"onUpdate:modelValue":e[11]||(e[11]=t=>a(n).period=t)},{default:o(()=>[l(P,{label:"morning"},{default:o(()=>[...e[28]||(e[28]=[c("上午",-1)])]),_:1}),l(P,{label:"afternoon"},{default:o(()=>[...e[29]||(e[29]=[c("下午",-1)])]),_:1}),l(P,{label:"all"},{default:o(()=>[...e[30]||(e[30]=[c("全天",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"问诊类型",required:""},{default:o(()=>[l(V,{modelValue:a(n).appointment_type,"onUpdate:modelValue":e[12]||(e[12]=t=>a(n).appointment_type=t),class:"!w-full"},{default:o(()=>[l(r,{label:"视频问诊",value:"video"}),l(r,{label:"图文问诊",value:"text"}),l(r,{label:"电话问诊",value:"phone"})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"渠道来源",required:""},{default:o(()=>[l(V,{modelValue:a(n).channel_source,"onUpdate:modelValue":e[13]||(e[13]=t=>a(n).channel_source=t),placeholder:"请选择渠道来源",filterable:"",class:"!w-full",onChange:se},{default:o(()=>[(d(!0),S(N,null,D(a(y),t=>(d(),g(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(K)?(d(),g(s,{key:0,label:"自媒体补充",required:""},{default:o(()=>[l(u,{modelValue:a(n).channel_source_detail,"onUpdate:modelValue":e[14]||(e[14]=t=>a(n).channel_source_detail=t),maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",clearable:"",class:"!w-full"},null,8,["modelValue"])]),_:1})):T("",!0),l(s,{label:"状态",required:""},{default:o(()=>[l(V,{modelValue:a(n).status,"onUpdate:modelValue":e[15]||(e[15]=t=>a(n).status=t),class:"!w-full"},{default:o(()=>[l(r,{label:"已预约",value:1}),l(r,{label:"已取消",value:2}),l(r,{label:"已完成",value:3}),l(r,{label:"已过号",value:4})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"挂号医助"},{default:o(()=>[l(V,{modelValue:a(n).assistant_id,"onUpdate:modelValue":e[16]||(e[16]=t=>a(n).assistant_id=t),placeholder:"不修改可留空",clearable:"",filterable:"",class:"!w-full"},{default:o(()=>[(d(!0),S(N,null,D(a(q),t=>(d(),g(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"备注"},{default:o(()=>[l(u,{modelValue:a(n).remark,"onUpdate:modelValue":e[17]||(e[17]=t=>a(n).remark=t),type:"textarea",rows:3,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(W,{modelValue:a(C),"onUpdate:modelValue":e[23]||(e[23]=t=>L(C)?C.value=t:null),title:"批量修改渠道",width:"520px","destroy-on-close":"",onClosed:oe},{footer:o(()=>[l(w,{onClick:e[22]||(e[22]=t=>C.value=!1)},{default:o(()=>[...e[33]||(e[33]=[c("取消",-1)])]),_:1}),l(w,{type:"primary",loading:a(A),onClick:ie},{default:o(()=>[...e[34]||(e[34]=[c("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[b("p",rt,"将对已选 "+f(a(h).length)+" 条挂号写入同一渠道来源(仅改渠道,不改其它字段)。",1),l(I,{model:a(p),"label-width":"96px"},{default:o(()=>[l(s,{label:"渠道来源",required:""},{default:o(()=>[l(V,{modelValue:a(p).channel_source,"onUpdate:modelValue":e[20]||(e[20]=t=>a(p).channel_source=t),placeholder:"请选择渠道来源",filterable:"",class:"!w-full",onChange:ae},{default:o(()=>[(d(!0),S(N,null,D(a(y),t=>(d(),g(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(G)?(d(),g(s,{key:0,label:"自媒体补充",required:""},{default:o(()=>[l(u,{modelValue:a(p).channel_source_detail,"onUpdate:modelValue":e[21]||(e[21]=t=>a(p).channel_source_detail=t),maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",clearable:"",class:"!w-full"},null,8,["modelValue"])]),_:1})):T("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});export{el as default}; +import{D as Se,B as ke,C as Ce,Q as xe,R as Ee,i as Ue,K as Ne,N as De,O as Be,U as qe,M as Fe,S as Te,aa as Re,G as Ae,F as He,W as Ie}from"./element-plus-DGP1XOrU.js";import{_ as Pe}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{s as Me,w as z}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as Le}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{k as v,o as Oe}from"./index-J_eFER10.js";import{a as $e,b as Ke,c as Ge}from"./doctor-BZKBQu9t.js";import{n as Qe}from"./tcm-D-ZRccbe.js";import{u as Ye}from"./usePaging-DofycyjW.js";import{f as J,b as We,ac as je,as as ze,ak as d,I as S,a as l,aN as o,F as N,ap as D,G as g,O as c,J as b,aP as M,H as T,A as R}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as L,r as O,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Je={class:"guahao-list"},Xe={class:"flex flex-wrap items-center gap-3 mb-4"},Ze={key:0,class:"text-sm text-gray-500"},et={class:"text-sm"},tt={class:"font-medium"},lt={class:"text-gray-500"},at={class:"text-xs text-gray-400"},nt={class:"text-gray-500"},ot={class:"text-sm"},it={key:0,class:"text-xs text-gray-400 truncate"},st={class:"flex justify-end mt-4"},rt={class:"text-sm text-gray-600 mb-4"},ut=J({name:"consumerPrescriptionGuahao"}),el=J({...ut,setup(dt){const m=O({start_date:"",end_date:"",patient_name:"",doctor_name:"",assistant_id:void 0,status:"",channel_source:""}),X={start_date:"",end_date:"",patient_name:"",doctor_name:"",assistant_id:void 0,status:"",channel_source:""},{pager:E,getLists:U,resetPage:B}=Ye({fetchFun:$e,params:m}),q=k([]),$=k(null),h=k([]);function Z(i){h.value=i}const ee=new Set(["自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function F(i){return ee.has(String(i??"").trim())}const y=k([]),te=R(()=>{const i=n.channel_source;if(i===""||i==null)return"";const e=y.value.find(s=>String(s.value)===String(i));return e?String(e.name??"").trim():""}),K=R(()=>F(te.value)),le=R(()=>{const i=p.channel_source;if(i===""||i==null)return"";const e=y.value.find(s=>String(s.value)===String(i));return e?String(e.name??"").trim():""}),G=R(()=>F(le.value));function ae(i){const e=y.value.find(u=>String(u.value)===String(i)),s=e?String(e.name??"").trim():"";F(s)||(p.channel_source_detail="")}const C=k(!1),A=k(!1),p=O({channel_source:"",channel_source_detail:""});function ne(){if(h.value.length===0){v.msgWarning("请先勾选挂号记录");return}p.channel_source="",p.channel_source_detail="",C.value=!0}function oe(){p.channel_source="",p.channel_source_detail=""}async function ie(){var i,e;if(h.value.length===0){v.msgWarning("请先勾选挂号记录");return}if(!p.channel_source){v.msgError("请选择渠道来源");return}if(G.value&&!p.channel_source_detail.trim()){v.msgError("请填写自媒体补充说明");return}A.value=!0;try{const s=h.value.map(u=>Number(u.id));await Ke({ids:s,channel_source:p.channel_source,channel_source_detail:p.channel_source_detail.trim()}),v.msgSuccess("批量修改成功"),C.value=!1,(e=(i=$.value)==null?void 0:i.clearSelection)==null||e.call(i),h.value=[],U()}finally{A.value=!1}}function se(i){const e=y.value.find(u=>String(u.value)===String(i)),s=e?String(e.name??"").trim():"";F(s)||(n.channel_source_detail="")}const x=k(!1),H=k(!1),n=O({id:0,appointment_date:"",appointment_time:"",period:"morning",appointment_type:"video",status:1,remark:"",assistant_id:void 0,channel_source:"",channel_source_detail:""});function re(i){const e=String(i||"");return e.length>=11?e.slice(0,3)+"****"+e.slice(-4):e||"—"}function Q(i){const e=String(i||"");return e.length>=5?e.slice(0,5):e||"—"}function ue(){Object.assign(m,X),B()}function de(i){const e=String(i.period??i.type??"morning");return e==="afternoon"||e==="all"?e:"morning"}async function me(){try{const i=await Qe();q.value=(i==null?void 0:i.lists)??i??[]}catch{q.value=[]}}async function pe(){try{const i=await Oe({type:"channels"}),e=((i==null?void 0:i.channels)||[]).filter(s=>s.status!==0);e.sort((s,u)=>{const r=Number((u==null?void 0:u.sort)??0)-Number((s==null?void 0:s.sort)??0);return r!==0?r:Number((u==null?void 0:u.id)??0)-Number((s==null?void 0:s.id)??0)}),y.value=e}catch{y.value=[]}}function ce(i){n.id=Number(i.id),n.appointment_date=String(i.appointment_date||""),n.appointment_time=Q(String(i.appointment_time||"")),n.period=de(i),n.appointment_type=String(i.appointment_type||"video"),n.status=Number(i.status),n.remark=String(i.remark||"");const e=i.appointment_assistant_id;n.assistant_id=e!=null&&e!==""?Number(e):void 0,n.channel_source=String(i.channel_source??i.channels??""),n.channel_source_detail=String(i.channel_source_detail??""),x.value=!0}function _e(){n.id=0,n.appointment_date="",n.appointment_time="",n.period="morning",n.appointment_type="video",n.status=1,n.remark="",n.assistant_id=void 0,n.channel_source="",n.channel_source_detail=""}async function fe(){if(!n.appointment_date){v.msgError("请选择预约日期");return}if(!n.appointment_time){v.msgError("请选择预约时间");return}if(!n.channel_source){v.msgError("请选择渠道来源");return}if(K.value&&!n.channel_source_detail.trim()){v.msgError("请填写自媒体补充说明");return}H.value=!0;try{const i={id:n.id,appointment_date:n.appointment_date,appointment_time:n.appointment_time,period:n.period,appointment_type:n.appointment_type,status:n.status,remark:n.remark,assistant_id:n.assistant_id??"",channel_source:n.channel_source,channel_source_detail:n.channel_source_detail.trim()};await Ge(i),v.msgSuccess("保存成功"),x.value=!1,U()}finally{H.value=!1}}return We(()=>{me(),pe()}),je(()=>{U()}),U(),(i,e)=>{const s=ke,u=Ce,r=Ee,V=xe,w=Ue,I=Se,Y=Ne,_=Be,ve=qe,ge=De,be=Pe,he=Te,ye=Re,P=He,Ve=Ae,W=Ie,j=ze("perms"),we=Fe;return d(),S("div",Je,[l(Y,{class:"!border-none",shadow:"never"},{default:o(()=>[l(I,{class:"mb-[-16px]",model:a(m),inline:!0,onSubmit:e[7]||(e[7]=Me(()=>{},["prevent"]))},{default:o(()=>[l(s,{label:"预约日期"},{default:o(()=>[l(Le,{startTime:a(m).start_date,"onUpdate:startTime":e[0]||(e[0]=t=>a(m).start_date=t),endTime:a(m).end_date,"onUpdate:endTime":e[1]||(e[1]=t=>a(m).end_date=t)},null,8,["startTime","endTime"])]),_:1}),l(s,{label:"患者姓名"},{default:o(()=>[l(u,{modelValue:a(m).patient_name,"onUpdate:modelValue":e[2]||(e[2]=t=>a(m).patient_name=t),placeholder:"模糊搜索",clearable:"",class:"!w-[160px]",onKeyup:z(a(B),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(s,{label:"医生"},{default:o(()=>[l(u,{modelValue:a(m).doctor_name,"onUpdate:modelValue":e[3]||(e[3]=t=>a(m).doctor_name=t),placeholder:"模糊搜索",clearable:"",class:"!w-[140px]",onKeyup:z(a(B),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(s,{label:"医助"},{default:o(()=>[l(V,{modelValue:a(m).assistant_id,"onUpdate:modelValue":e[4]||(e[4]=t=>a(m).assistant_id=t),placeholder:"全部",clearable:"",filterable:"",class:"!w-[180px]"},{default:o(()=>[(d(!0),S(N,null,D(a(q),t=>(d(),g(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"状态"},{default:o(()=>[l(V,{modelValue:a(m).status,"onUpdate:modelValue":e[5]||(e[5]=t=>a(m).status=t),placeholder:"全部",clearable:"",class:"!w-[130px]"},{default:o(()=>[l(r,{label:"已预约",value:1}),l(r,{label:"已取消",value:2}),l(r,{label:"已完成",value:3}),l(r,{label:"已过号",value:4})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"渠道"},{default:o(()=>[l(V,{modelValue:a(m).channel_source,"onUpdate:modelValue":e[6]||(e[6]=t=>a(m).channel_source=t),placeholder:"全部",clearable:"",filterable:"",class:"!w-[200px]"},{default:o(()=>[(d(!0),S(N,null,D(a(y),t=>(d(),g(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(s,null,{default:o(()=>[l(w,{type:"primary",onClick:a(B)},{default:o(()=>[...e[24]||(e[24]=[c("查询",-1)])]),_:1},8,["onClick"]),l(w,{onClick:ue},{default:o(()=>[...e[25]||(e[25]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),l(Y,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[b("div",Xe,[M((d(),g(w,{type:"primary",disabled:a(h).length===0,onClick:ne},{default:o(()=>[...e[26]||(e[26]=[c(" 批量修改渠道 ",-1)])]),_:1},8,["disabled"])),[[j,["doctor.appointment/edit"]]]),a(h).length>0?(d(),S("span",Ze," 已选 "+f(a(h).length)+" 条 ",1)):T("",!0)]),M((d(),g(ge,{ref_key:"tableRef",ref:$,"row-key":"id",data:a(E).lists,size:"large",stripe:"",onSelectionChange:Z},{default:o(()=>[l(_,{type:"selection",width:"48",align:"center","reserve-selection":""}),l(_,{label:"ID",prop:"id",width:"72",align:"center"}),l(_,{label:"诊单/患者","min-width":"140"},{default:o(({row:t})=>[b("div",et,[b("div",tt,f(t.patient_name||"—"),1),b("div",lt,f(re(t.patient_phone)),1),b("div",at,"诊单 #"+f(t.diagnosis_id??t.patient_id),1)])]),_:1}),l(_,{label:"医生",prop:"doctor_name",width:"100","show-overflow-tooltip":""}),l(_,{label:"医助",prop:"assistant_name",width:"100","show-overflow-tooltip":""}),l(_,{label:"预约时间","min-width":"128"},{default:o(({row:t})=>[b("div",null,f(t.appointment_date),1),b("div",nt,f(Q(t.appointment_time))+" · "+f(t.period_desc),1)]),_:1}),l(_,{label:"类型",prop:"appointment_type_desc",width:"100"}),l(_,{label:"渠道","min-width":"130","show-overflow-tooltip":""},{default:o(({row:t})=>[b("div",ot,f(t.channel_source_desc||"—"),1),t.channel_source_detail?(d(),S("div",it,f(t.channel_source_detail),1)):T("",!0)]),_:1}),l(_,{label:"状态",width:"96",align:"center"},{default:o(({row:t})=>[l(ve,{type:t.status===1?"success":t.status===2?"info":t.status===3?"primary":"danger",size:"small",effect:"light"},{default:o(()=>[c(f(t.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(_,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),l(_,{label:"操作",width:"100",fixed:"right",align:"center"},{default:o(({row:t})=>[M((d(),g(w,{type:"primary",link:"",onClick:mt=>ce(t)},{default:o(()=>[...e[27]||(e[27]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[j,["doctor.appointment/edit"]]])]),_:1})]),_:1},8,["data"])),[[we,a(E).loading]]),b("div",st,[l(be,{modelValue:a(E),"onUpdate:modelValue":e[8]||(e[8]=t=>L(E)?E.value=t:null),onChange:a(U)},null,8,["modelValue","onChange"])])]),_:1}),l(W,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>L(x)?x.value=t:null),title:"编辑挂号",width:"560px","destroy-on-close":"",onClosed:_e},{footer:o(()=>[l(w,{onClick:e[18]||(e[18]=t=>x.value=!1)},{default:o(()=>[...e[31]||(e[31]=[c("取消",-1)])]),_:1}),l(w,{type:"primary",loading:a(H),onClick:fe},{default:o(()=>[...e[32]||(e[32]=[c("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(I,{model:a(n),"label-width":"96px"},{default:o(()=>[l(s,{label:"预约日期",required:""},{default:o(()=>[l(he,{modelValue:a(n).appointment_date,"onUpdate:modelValue":e[9]||(e[9]=t=>a(n).appointment_date=t),type:"date","value-format":"YYYY-MM-DD",placeholder:"选择日期",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(s,{label:"预约时间",required:""},{default:o(()=>[l(ye,{modelValue:a(n).appointment_time,"onUpdate:modelValue":e[10]||(e[10]=t=>a(n).appointment_time=t),format:"HH:mm","value-format":"HH:mm",placeholder:"时间",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(s,{label:"时段",required:""},{default:o(()=>[l(Ve,{modelValue:a(n).period,"onUpdate:modelValue":e[11]||(e[11]=t=>a(n).period=t)},{default:o(()=>[l(P,{label:"morning"},{default:o(()=>[...e[28]||(e[28]=[c("上午",-1)])]),_:1}),l(P,{label:"afternoon"},{default:o(()=>[...e[29]||(e[29]=[c("下午",-1)])]),_:1}),l(P,{label:"all"},{default:o(()=>[...e[30]||(e[30]=[c("全天",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"问诊类型",required:""},{default:o(()=>[l(V,{modelValue:a(n).appointment_type,"onUpdate:modelValue":e[12]||(e[12]=t=>a(n).appointment_type=t),class:"!w-full"},{default:o(()=>[l(r,{label:"视频问诊",value:"video"}),l(r,{label:"图文问诊",value:"text"}),l(r,{label:"电话问诊",value:"phone"})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"渠道来源",required:""},{default:o(()=>[l(V,{modelValue:a(n).channel_source,"onUpdate:modelValue":e[13]||(e[13]=t=>a(n).channel_source=t),placeholder:"请选择渠道来源",filterable:"",class:"!w-full",onChange:se},{default:o(()=>[(d(!0),S(N,null,D(a(y),t=>(d(),g(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(K)?(d(),g(s,{key:0,label:"自媒体补充",required:""},{default:o(()=>[l(u,{modelValue:a(n).channel_source_detail,"onUpdate:modelValue":e[14]||(e[14]=t=>a(n).channel_source_detail=t),maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",clearable:"",class:"!w-full"},null,8,["modelValue"])]),_:1})):T("",!0),l(s,{label:"状态",required:""},{default:o(()=>[l(V,{modelValue:a(n).status,"onUpdate:modelValue":e[15]||(e[15]=t=>a(n).status=t),class:"!w-full"},{default:o(()=>[l(r,{label:"已预约",value:1}),l(r,{label:"已取消",value:2}),l(r,{label:"已完成",value:3}),l(r,{label:"已过号",value:4})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"挂号医助"},{default:o(()=>[l(V,{modelValue:a(n).assistant_id,"onUpdate:modelValue":e[16]||(e[16]=t=>a(n).assistant_id=t),placeholder:"不修改可留空",clearable:"",filterable:"",class:"!w-full"},{default:o(()=>[(d(!0),S(N,null,D(a(q),t=>(d(),g(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"备注"},{default:o(()=>[l(u,{modelValue:a(n).remark,"onUpdate:modelValue":e[17]||(e[17]=t=>a(n).remark=t),type:"textarea",rows:3,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(W,{modelValue:a(C),"onUpdate:modelValue":e[23]||(e[23]=t=>L(C)?C.value=t:null),title:"批量修改渠道",width:"520px","destroy-on-close":"",onClosed:oe},{footer:o(()=>[l(w,{onClick:e[22]||(e[22]=t=>C.value=!1)},{default:o(()=>[...e[33]||(e[33]=[c("取消",-1)])]),_:1}),l(w,{type:"primary",loading:a(A),onClick:ie},{default:o(()=>[...e[34]||(e[34]=[c("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[b("p",rt,"将对已选 "+f(a(h).length)+" 条挂号写入同一渠道来源(仅改渠道,不改其它字段)。",1),l(I,{model:a(p),"label-width":"96px"},{default:o(()=>[l(s,{label:"渠道来源",required:""},{default:o(()=>[l(V,{modelValue:a(p).channel_source,"onUpdate:modelValue":e[20]||(e[20]=t=>a(p).channel_source=t),placeholder:"请选择渠道来源",filterable:"",class:"!w-full",onChange:ae},{default:o(()=>[(d(!0),S(N,null,D(a(y),t=>(d(),g(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(G)?(d(),g(s,{key:0,label:"自媒体补充",required:""},{default:o(()=>[l(u,{modelValue:a(p).channel_source_detail,"onUpdate:modelValue":e[21]||(e[21]=t=>a(p).channel_source_detail=t),maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",clearable:"",class:"!w-full"},null,8,["modelValue"])]),_:1})):T("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});export{el as default}; diff --git a/server/public/admin/assets/h5-DoZ33CNA.js b/server/public/admin/assets/h5-AaliMZBI.js similarity index 99% rename from server/public/admin/assets/h5-DoZ33CNA.js rename to server/public/admin/assets/h5-AaliMZBI.js index 94a32f53f..7a5981532 100644 --- a/server/public/admin/assets/h5-DoZ33CNA.js +++ b/server/public/admin/assets/h5-AaliMZBI.js @@ -1 +1 @@ -import{C as De,R as Fe,Q as Ue,i as $e,M as Ye,X as Se,d as Le,D as Me,B as He,h as Ne,G as Te,J as qe,g as Ae,e as Be,U as Ie,F as Pe,S as Ge}from"./element-plus-DGP1XOrU.js";import{w as Je}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Ke,a as Oe,b as Qe,c as Xe,d as je,e as We,g as Ze,h as et}from"./fans-C45r_J_N.js";import{k as ae,_ as tt}from"./index-fRv3NTFQ.js";import{d as lt}from"./dayjs-DG77mNTn.js";import{A as at}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as ne,ak as r,I as u,J as i,a as l,aN as s,O as n,aP as se,H as g,F as oe,ap as ie,A as st}from"./@vue/runtime-core-C6bnekPw.js";import{a as H,y as a,n as d}from"./@vue/reactivity-DiY1c2vO.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ot={class:"fans-h5"},it={class:"h5-header"},nt={class:"h5-search"},dt={class:"h5-filter-row"},rt={class:"h5-list"},ut={key:0,class:"h5-empty"},mt={class:"h5-card-header"},pt={class:"h5-card-name"},vt={class:"name"},_t={key:0,class:"age"},ct={class:"h5-card-body"},ft={class:"info-line"},gt={class:"value"},yt={class:"info-line"},Vt={class:"value"},kt={key:0,class:"info-line"},bt={class:"value remark"},ht={class:"h5-card-footer"},xt={class:"footer-left"},Ct={class:"visit-info"},Rt={class:"visit-count"},wt={key:0,class:"creator-info"},Et={class:"actions"},zt={key:0},Dt={key:1},Ft={key:2,class:"h5-no-more"},Ut={class:"h5-form-row"},$t={class:"h5-visit-header"},Yt={class:"h5-visit-list"},St={key:0,class:"h5-empty"},Lt={class:"visit-card-header"},Mt={class:"visit-card-tags"},Ht={class:"visit-time"},Nt={class:"visit-card-actions"},Tt={class:"visit-card-content"},qt={key:0,class:"visit-card-result"},At={class:"visit-card-meta"},Bt={key:0,class:"next-visit"},It={key:1,class:"operator"},Pt=ne({name:"fansH5"}),Gt=ne({...Pt,setup(Jt){const y=d(""),C=d({name:"",phone:"",gender:"",status:""}),k=d([]),E=d(!1),z=d(!1),N=d(1),de=15,J=d(0),K=st(()=>k.value.length{o?z.value=!0:E.value=!0;try{const e={page_no:N.value,page_size:de,...C.value};y.value&&(/^\d+$/.test(y.value)?e.phone=y.value:e.name=y.value);const f=await Ke(e);o?k.value=[...k.value,...f.lists||[]]:k.value=f.lists||[],J.value=f.count||0}catch(e){console.error(e)}finally{E.value=!1,z.value=!1}},V=()=>{N.value=1,T()},re=()=>{y.value="",C.value={name:"",phone:"",gender:"",status:""},V()},ue=()=>{z.value||(N.value++,T(!0))},b=d(!1),D=d("add"),q=d(),A=d(!1),m=d({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),me={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},pe=()=>{D.value="add",b.value=!0},ve=o=>{D.value="edit",m.value={id:o.id,name:o.name,phone:o.phone,id_card:o.id_card,age:o.age,gender:o.gender,status:o.status,remark:o.remark},b.value=!0},_e=()=>{var o;m.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(o=q.value)==null||o.resetFields()},ce=async()=>{var o;await((o=q.value)==null?void 0:o.validate()),A.value=!0;try{D.value==="add"?await Oe(m.value):await Qe(m.value),b.value=!1,V()}catch{}finally{A.value=!1}},fe=async o=>{await ae.confirm(`确定删除粉丝「${o.name}」吗?`);try{await et({id:o.id}),V()}catch{}},F=d(!1),U=d(null),h=d([]),$=d(!1),O=d(0),R=d(1),ge={1:"",2:"success",3:"info",4:"warning",5:"danger"},ye=o=>{U.value=o,F.value=!0,R.value=1,h.value=[],Y()},Y=async()=>{$.value=!0;try{const o=await Ze({fan_id:U.value.id,page_no:R.value,page_size:15});R.value===1?h.value=o.lists||[]:h.value=[...h.value,...o.lists||[]],O.value=o.count||0}catch(o){console.error(o)}finally{$.value=!1}},Ve=()=>{R.value++,Y()},x=d(!1),S=d("add"),B=d(),I=d(!1),p=d({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ke={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},be=()=>{S.value="add",p.value={id:0,fan_id:U.value.id,visit_type:1,visit_time:lt().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},x.value=!0},he=o=>{S.value="edit",p.value={id:o.id,fan_id:o.fan_id,visit_type:o.visit_type,visit_time:o.visit_time_text||"",content:o.content||"",result:o.result||"",next_visit_time:o.next_visit_time_text||""},x.value=!0},xe=()=>{var o;p.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(o=B.value)==null||o.resetFields()},Ce=async()=>{var o;await((o=B.value)==null?void 0:o.validate()),I.value=!0;try{S.value==="add"?await Xe(p.value):await je(p.value),x.value=!1,R.value=1,Y()}catch{}finally{I.value=!1}},Re=async o=>{await ae.confirm("确定删除该回访记录吗?");try{await We({id:o}),R.value=1,Y()}catch{}};return T(),(o,e)=>{var le;const f=De,L=Fe,Q=Ue,_=$e,X=Se,P=Ie,we=Le,c=He,Ee=Ne,j=qe,W=Te,ze=Ae,Z=Me,G=Be,w=Pe,ee=Ge,te=Ye;return r(),u("div",ot,[i("div",it,[i("div",nt,[l(f,{modelValue:a(y),"onUpdate:modelValue":e[0]||(e[0]=t=>H(y)?y.value=t:null),placeholder:"搜索姓名 / 手机号",clearable:"","prefix-icon":"Search",onKeyup:Je(V,["enter"]),onClear:V},null,8,["modelValue"])]),i("div",dt,[l(Q,{modelValue:a(C).gender,"onUpdate:modelValue":e[1]||(e[1]=t=>a(C).gender=t),placeholder:"性别",clearable:"",size:"small",onChange:V},{default:s(()=>[l(L,{label:"男",value:1}),l(L,{label:"女",value:2})]),_:1},8,["modelValue"]),l(Q,{modelValue:a(C).status,"onUpdate:modelValue":e[2]||(e[2]=t=>a(C).status=t),placeholder:"状态",clearable:"",size:"small",onChange:V},{default:s(()=>[l(L,{label:"启用",value:1}),l(L,{label:"禁用",value:0})]),_:1},8,["modelValue"]),l(_,{type:"primary",size:"small",onClick:V},{default:s(()=>[...e[20]||(e[20]=[n("查询",-1)])]),_:1}),l(_,{size:"small",onClick:re},{default:s(()=>[...e[21]||(e[21]=[n("重置",-1)])]),_:1})])]),se((r(),u("div",rt,[a(k).length===0&&!a(E)?(r(),u("div",ut,[l(X,{description:"暂无粉丝数据"})])):g("",!0),(r(!0),u(oe,null,ie(a(k),t=>(r(),u("div",{key:t.id,class:"h5-card"},[i("div",mt,[i("div",pt,[i("span",vt,v(t.name),1),l(P,{size:"small",type:t.gender===1?"":t.gender===2?"danger":"info",effect:"plain"},{default:s(()=>[n(v(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(r(),u("span",_t,v(t.age)+"岁",1)):g("",!0)]),l(P,{size:"small",type:t.status==1?"success":"danger"},{default:s(()=>[n(v(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),i("div",ct,[i("div",ft,[e[22]||(e[22]=i("span",{class:"label"},"手机",-1)),i("span",gt,v(t.phone||"-"),1)]),i("div",yt,[e[23]||(e[23]=i("span",{class:"label"},"身份证",-1)),i("span",Vt,v(t.id_card||"-"),1)]),t.remark?(r(),u("div",kt,[e[24]||(e[24]=i("span",{class:"label"},"备注",-1)),i("span",bt,v(t.remark),1)])):g("",!0)]),i("div",ht,[i("div",xt,[i("div",Ct,[e[25]||(e[25]=n(" 回访 ",-1)),i("span",Rt,v(t.visit_count||0),1),e[26]||(e[26]=n(" 次 ",-1))]),t.creator_name?(r(),u("div",wt," 登记人:"+v(t.creator_name),1)):g("",!0)]),i("div",Et,[l(_,{type:"primary",text:"",size:"small",onClick:M=>ve(t)},{default:s(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"success",text:"",size:"small",onClick:M=>ye(t)},{default:s(()=>[...e[28]||(e[28]=[n("回访",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>fe(t)},{default:s(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(K)?(r(),u("div",{key:1,class:"h5-load-more",onClick:ue},[a(z)?(r(),u("span",Dt,"加载中...")):(r(),u("span",zt,"加载更多"))])):g("",!0),!a(K)&&a(k).length>0?(r(),u("div",Ft,"没有更多了")):g("",!0)])),[[te,a(E)]]),i("div",{class:"h5-fab",onClick:pe},[l(we,{size:24},{default:s(()=>[l(a(at))]),_:1})]),l(G,{modelValue:a(b),"onUpdate:modelValue":e[11]||(e[11]=t=>H(b)?b.value=t:null),title:a(D)==="add"?"新增粉丝":"编辑粉丝",direction:"btt",size:"85%","close-on-click-modal":!1,onClosed:_e},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[10]||(e[10]=t=>b.value=!1)},{default:s(()=>[...e[32]||(e[32]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(A),onClick:ce},{default:s(()=>[...e[33]||(e[33]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"fanFormRef",ref:q,model:a(m),rules:me,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"姓名",prop:"name"},{default:s(()=>[l(f,{modelValue:a(m).name,"onUpdate:modelValue":e[3]||(e[3]=t=>a(m).name=t),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(c,{label:"手机号",prop:"phone"},{default:s(()=>[l(f,{modelValue:a(m).phone,"onUpdate:modelValue":e[4]||(e[4]=t=>a(m).phone=t),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(c,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(f,{modelValue:a(m).id_card,"onUpdate:modelValue":e[5]||(e[5]=t=>a(m).id_card=t),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),i("div",Ut,[l(c,{label:"年龄",prop:"age",class:"flex-1"},{default:s(()=>[l(Ee,{modelValue:a(m).age,"onUpdate:modelValue":e[6]||(e[6]=t=>a(m).age=t),min:0,max:150,"controls-position":"right",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"性别",prop:"gender",class:"flex-1"},{default:s(()=>[l(W,{modelValue:a(m).gender,"onUpdate:modelValue":e[7]||(e[7]=t=>a(m).gender=t)},{default:s(()=>[l(j,{label:1},{default:s(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l(j,{label:2},{default:s(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),l(c,{label:"状态"},{default:s(()=>[l(ze,{modelValue:a(m).status,"onUpdate:modelValue":e[8]||(e[8]=t=>a(m).status=t),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用"},null,8,["modelValue"])]),_:1}),l(c,{label:"备注"},{default:s(()=>[l(f,{modelValue:a(m).remark,"onUpdate:modelValue":e[9]||(e[9]=t=>a(m).remark=t),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(F),"onUpdate:modelValue":e[12]||(e[12]=t=>H(F)?F.value=t:null),title:`回访记录 - ${((le=a(U))==null?void 0:le.name)||""}`,direction:"rtl",size:"100%","close-on-click-modal":!1},{default:s(()=>[i("div",$t,[l(_,{type:"primary",size:"small",onClick:be},{default:s(()=>[...e[34]||(e[34]=[n("+ 新增回访",-1)])]),_:1})]),se((r(),u("div",Yt,[a(h).length===0&&!a($)?(r(),u("div",St,[l(X,{description:"暂无回访记录","image-size":80})])):g("",!0),(r(!0),u(oe,null,ie(a(h),t=>(r(),u("div",{key:t.id,class:"h5-visit-card"},[i("div",Lt,[i("div",Mt,[l(P,{size:"small",type:ge[t.visit_type]},{default:s(()=>[n(v(t.visit_type_desc),1)]),_:2},1032,["type"]),i("span",Ht,v(t.visit_time_text),1)]),i("div",Nt,[l(_,{type:"primary",text:"",size:"small",onClick:M=>he(t)},{default:s(()=>[...e[35]||(e[35]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>Re(t.id)},{default:s(()=>[...e[36]||(e[36]=[n("删除",-1)])]),_:1},8,["onClick"])])]),i("div",Tt,v(t.content),1),t.result?(r(),u("div",qt,[e[37]||(e[37]=i("span",{class:"label"},"结果:",-1)),n(v(t.result),1)])):g("",!0),i("div",At,[t.next_visit_time_text?(r(),u("span",Bt,"下次回访:"+v(t.next_visit_time_text),1)):g("",!0),t.operator_name?(r(),u("span",It,v(t.operator_name),1)):g("",!0)])]))),128)),a(O)>a(h).length?(r(),u("div",{key:1,class:"h5-load-more",onClick:Ve}," 加载更多 ")):g("",!0)])),[[te,a($)]])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>H(x)?x.value=t:null),title:a(S)==="add"?"新增回访记录":"编辑回访记录",direction:"btt",size:"80%","close-on-click-modal":!1,onClosed:xe},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[18]||(e[18]=t=>x.value=!1)},{default:s(()=>[...e[43]||(e[43]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(I),onClick:Ce},{default:s(()=>[...e[44]||(e[44]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"visitFormRef",ref:B,model:a(p),rules:ke,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"回访类型",prop:"visit_type"},{default:s(()=>[l(W,{modelValue:a(p).visit_type,"onUpdate:modelValue":e[13]||(e[13]=t=>a(p).visit_type=t),class:"h5-radio-group"},{default:s(()=>[l(w,{label:1},{default:s(()=>[...e[38]||(e[38]=[n("电话",-1)])]),_:1}),l(w,{label:2},{default:s(()=>[...e[39]||(e[39]=[n("微信",-1)])]),_:1}),l(w,{label:3},{default:s(()=>[...e[40]||(e[40]=[n("短信",-1)])]),_:1}),l(w,{label:4},{default:s(()=>[...e[41]||(e[41]=[n("上门",-1)])]),_:1}),l(w,{label:5},{default:s(()=>[...e[42]||(e[42]=[n("其他",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"回访时间",prop:"visit_time"},{default:s(()=>[l(ee,{modelValue:a(p).visit_time,"onUpdate:modelValue":e[14]||(e[14]=t=>a(p).visit_time=t),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访内容",prop:"content"},{default:s(()=>[l(f,{modelValue:a(p).content,"onUpdate:modelValue":e[15]||(e[15]=t=>a(p).content=t),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访结果"},{default:s(()=>[l(f,{modelValue:a(p).result,"onUpdate:modelValue":e[16]||(e[16]=t=>a(p).result=t),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(c,{label:"下次回访时间"},{default:s(()=>[l(ee,{modelValue:a(p).next_visit_time,"onUpdate:modelValue":e[17]||(e[17]=t=>a(p).next_visit_time=t),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ul=tt(Gt,[["__scopeId","data-v-33a81814"]]);export{Ul as default}; +import{C as De,R as Fe,Q as Ue,i as $e,M as Ye,X as Se,d as Le,D as Me,B as He,h as Ne,G as Te,J as qe,g as Ae,e as Be,U as Ie,F as Pe,S as Ge}from"./element-plus-DGP1XOrU.js";import{w as Je}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Ke,a as Oe,b as Qe,c as Xe,d as je,e as We,g as Ze,h as et}from"./fans-xWTU7WTj.js";import{k as ae,_ as tt}from"./index-J_eFER10.js";import{d as lt}from"./dayjs-DG77mNTn.js";import{A as at}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as ne,ak as r,I as u,J as i,a as l,aN as s,O as n,aP as se,H as g,F as oe,ap as ie,A as st}from"./@vue/runtime-core-C6bnekPw.js";import{a as H,y as a,n as d}from"./@vue/reactivity-DiY1c2vO.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ot={class:"fans-h5"},it={class:"h5-header"},nt={class:"h5-search"},dt={class:"h5-filter-row"},rt={class:"h5-list"},ut={key:0,class:"h5-empty"},mt={class:"h5-card-header"},pt={class:"h5-card-name"},vt={class:"name"},_t={key:0,class:"age"},ct={class:"h5-card-body"},ft={class:"info-line"},gt={class:"value"},yt={class:"info-line"},Vt={class:"value"},kt={key:0,class:"info-line"},bt={class:"value remark"},ht={class:"h5-card-footer"},xt={class:"footer-left"},Ct={class:"visit-info"},Rt={class:"visit-count"},wt={key:0,class:"creator-info"},Et={class:"actions"},zt={key:0},Dt={key:1},Ft={key:2,class:"h5-no-more"},Ut={class:"h5-form-row"},$t={class:"h5-visit-header"},Yt={class:"h5-visit-list"},St={key:0,class:"h5-empty"},Lt={class:"visit-card-header"},Mt={class:"visit-card-tags"},Ht={class:"visit-time"},Nt={class:"visit-card-actions"},Tt={class:"visit-card-content"},qt={key:0,class:"visit-card-result"},At={class:"visit-card-meta"},Bt={key:0,class:"next-visit"},It={key:1,class:"operator"},Pt=ne({name:"fansH5"}),Gt=ne({...Pt,setup(Jt){const y=d(""),C=d({name:"",phone:"",gender:"",status:""}),k=d([]),E=d(!1),z=d(!1),N=d(1),de=15,J=d(0),K=st(()=>k.value.length{o?z.value=!0:E.value=!0;try{const e={page_no:N.value,page_size:de,...C.value};y.value&&(/^\d+$/.test(y.value)?e.phone=y.value:e.name=y.value);const f=await Ke(e);o?k.value=[...k.value,...f.lists||[]]:k.value=f.lists||[],J.value=f.count||0}catch(e){console.error(e)}finally{E.value=!1,z.value=!1}},V=()=>{N.value=1,T()},re=()=>{y.value="",C.value={name:"",phone:"",gender:"",status:""},V()},ue=()=>{z.value||(N.value++,T(!0))},b=d(!1),D=d("add"),q=d(),A=d(!1),m=d({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),me={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},pe=()=>{D.value="add",b.value=!0},ve=o=>{D.value="edit",m.value={id:o.id,name:o.name,phone:o.phone,id_card:o.id_card,age:o.age,gender:o.gender,status:o.status,remark:o.remark},b.value=!0},_e=()=>{var o;m.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(o=q.value)==null||o.resetFields()},ce=async()=>{var o;await((o=q.value)==null?void 0:o.validate()),A.value=!0;try{D.value==="add"?await Oe(m.value):await Qe(m.value),b.value=!1,V()}catch{}finally{A.value=!1}},fe=async o=>{await ae.confirm(`确定删除粉丝「${o.name}」吗?`);try{await et({id:o.id}),V()}catch{}},F=d(!1),U=d(null),h=d([]),$=d(!1),O=d(0),R=d(1),ge={1:"",2:"success",3:"info",4:"warning",5:"danger"},ye=o=>{U.value=o,F.value=!0,R.value=1,h.value=[],Y()},Y=async()=>{$.value=!0;try{const o=await Ze({fan_id:U.value.id,page_no:R.value,page_size:15});R.value===1?h.value=o.lists||[]:h.value=[...h.value,...o.lists||[]],O.value=o.count||0}catch(o){console.error(o)}finally{$.value=!1}},Ve=()=>{R.value++,Y()},x=d(!1),S=d("add"),B=d(),I=d(!1),p=d({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ke={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},be=()=>{S.value="add",p.value={id:0,fan_id:U.value.id,visit_type:1,visit_time:lt().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},x.value=!0},he=o=>{S.value="edit",p.value={id:o.id,fan_id:o.fan_id,visit_type:o.visit_type,visit_time:o.visit_time_text||"",content:o.content||"",result:o.result||"",next_visit_time:o.next_visit_time_text||""},x.value=!0},xe=()=>{var o;p.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(o=B.value)==null||o.resetFields()},Ce=async()=>{var o;await((o=B.value)==null?void 0:o.validate()),I.value=!0;try{S.value==="add"?await Xe(p.value):await je(p.value),x.value=!1,R.value=1,Y()}catch{}finally{I.value=!1}},Re=async o=>{await ae.confirm("确定删除该回访记录吗?");try{await We({id:o}),R.value=1,Y()}catch{}};return T(),(o,e)=>{var le;const f=De,L=Fe,Q=Ue,_=$e,X=Se,P=Ie,we=Le,c=He,Ee=Ne,j=qe,W=Te,ze=Ae,Z=Me,G=Be,w=Pe,ee=Ge,te=Ye;return r(),u("div",ot,[i("div",it,[i("div",nt,[l(f,{modelValue:a(y),"onUpdate:modelValue":e[0]||(e[0]=t=>H(y)?y.value=t:null),placeholder:"搜索姓名 / 手机号",clearable:"","prefix-icon":"Search",onKeyup:Je(V,["enter"]),onClear:V},null,8,["modelValue"])]),i("div",dt,[l(Q,{modelValue:a(C).gender,"onUpdate:modelValue":e[1]||(e[1]=t=>a(C).gender=t),placeholder:"性别",clearable:"",size:"small",onChange:V},{default:s(()=>[l(L,{label:"男",value:1}),l(L,{label:"女",value:2})]),_:1},8,["modelValue"]),l(Q,{modelValue:a(C).status,"onUpdate:modelValue":e[2]||(e[2]=t=>a(C).status=t),placeholder:"状态",clearable:"",size:"small",onChange:V},{default:s(()=>[l(L,{label:"启用",value:1}),l(L,{label:"禁用",value:0})]),_:1},8,["modelValue"]),l(_,{type:"primary",size:"small",onClick:V},{default:s(()=>[...e[20]||(e[20]=[n("查询",-1)])]),_:1}),l(_,{size:"small",onClick:re},{default:s(()=>[...e[21]||(e[21]=[n("重置",-1)])]),_:1})])]),se((r(),u("div",rt,[a(k).length===0&&!a(E)?(r(),u("div",ut,[l(X,{description:"暂无粉丝数据"})])):g("",!0),(r(!0),u(oe,null,ie(a(k),t=>(r(),u("div",{key:t.id,class:"h5-card"},[i("div",mt,[i("div",pt,[i("span",vt,v(t.name),1),l(P,{size:"small",type:t.gender===1?"":t.gender===2?"danger":"info",effect:"plain"},{default:s(()=>[n(v(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(r(),u("span",_t,v(t.age)+"岁",1)):g("",!0)]),l(P,{size:"small",type:t.status==1?"success":"danger"},{default:s(()=>[n(v(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),i("div",ct,[i("div",ft,[e[22]||(e[22]=i("span",{class:"label"},"手机",-1)),i("span",gt,v(t.phone||"-"),1)]),i("div",yt,[e[23]||(e[23]=i("span",{class:"label"},"身份证",-1)),i("span",Vt,v(t.id_card||"-"),1)]),t.remark?(r(),u("div",kt,[e[24]||(e[24]=i("span",{class:"label"},"备注",-1)),i("span",bt,v(t.remark),1)])):g("",!0)]),i("div",ht,[i("div",xt,[i("div",Ct,[e[25]||(e[25]=n(" 回访 ",-1)),i("span",Rt,v(t.visit_count||0),1),e[26]||(e[26]=n(" 次 ",-1))]),t.creator_name?(r(),u("div",wt," 登记人:"+v(t.creator_name),1)):g("",!0)]),i("div",Et,[l(_,{type:"primary",text:"",size:"small",onClick:M=>ve(t)},{default:s(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"success",text:"",size:"small",onClick:M=>ye(t)},{default:s(()=>[...e[28]||(e[28]=[n("回访",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>fe(t)},{default:s(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(K)?(r(),u("div",{key:1,class:"h5-load-more",onClick:ue},[a(z)?(r(),u("span",Dt,"加载中...")):(r(),u("span",zt,"加载更多"))])):g("",!0),!a(K)&&a(k).length>0?(r(),u("div",Ft,"没有更多了")):g("",!0)])),[[te,a(E)]]),i("div",{class:"h5-fab",onClick:pe},[l(we,{size:24},{default:s(()=>[l(a(at))]),_:1})]),l(G,{modelValue:a(b),"onUpdate:modelValue":e[11]||(e[11]=t=>H(b)?b.value=t:null),title:a(D)==="add"?"新增粉丝":"编辑粉丝",direction:"btt",size:"85%","close-on-click-modal":!1,onClosed:_e},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[10]||(e[10]=t=>b.value=!1)},{default:s(()=>[...e[32]||(e[32]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(A),onClick:ce},{default:s(()=>[...e[33]||(e[33]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"fanFormRef",ref:q,model:a(m),rules:me,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"姓名",prop:"name"},{default:s(()=>[l(f,{modelValue:a(m).name,"onUpdate:modelValue":e[3]||(e[3]=t=>a(m).name=t),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(c,{label:"手机号",prop:"phone"},{default:s(()=>[l(f,{modelValue:a(m).phone,"onUpdate:modelValue":e[4]||(e[4]=t=>a(m).phone=t),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(c,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(f,{modelValue:a(m).id_card,"onUpdate:modelValue":e[5]||(e[5]=t=>a(m).id_card=t),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),i("div",Ut,[l(c,{label:"年龄",prop:"age",class:"flex-1"},{default:s(()=>[l(Ee,{modelValue:a(m).age,"onUpdate:modelValue":e[6]||(e[6]=t=>a(m).age=t),min:0,max:150,"controls-position":"right",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"性别",prop:"gender",class:"flex-1"},{default:s(()=>[l(W,{modelValue:a(m).gender,"onUpdate:modelValue":e[7]||(e[7]=t=>a(m).gender=t)},{default:s(()=>[l(j,{label:1},{default:s(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l(j,{label:2},{default:s(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),l(c,{label:"状态"},{default:s(()=>[l(ze,{modelValue:a(m).status,"onUpdate:modelValue":e[8]||(e[8]=t=>a(m).status=t),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用"},null,8,["modelValue"])]),_:1}),l(c,{label:"备注"},{default:s(()=>[l(f,{modelValue:a(m).remark,"onUpdate:modelValue":e[9]||(e[9]=t=>a(m).remark=t),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(F),"onUpdate:modelValue":e[12]||(e[12]=t=>H(F)?F.value=t:null),title:`回访记录 - ${((le=a(U))==null?void 0:le.name)||""}`,direction:"rtl",size:"100%","close-on-click-modal":!1},{default:s(()=>[i("div",$t,[l(_,{type:"primary",size:"small",onClick:be},{default:s(()=>[...e[34]||(e[34]=[n("+ 新增回访",-1)])]),_:1})]),se((r(),u("div",Yt,[a(h).length===0&&!a($)?(r(),u("div",St,[l(X,{description:"暂无回访记录","image-size":80})])):g("",!0),(r(!0),u(oe,null,ie(a(h),t=>(r(),u("div",{key:t.id,class:"h5-visit-card"},[i("div",Lt,[i("div",Mt,[l(P,{size:"small",type:ge[t.visit_type]},{default:s(()=>[n(v(t.visit_type_desc),1)]),_:2},1032,["type"]),i("span",Ht,v(t.visit_time_text),1)]),i("div",Nt,[l(_,{type:"primary",text:"",size:"small",onClick:M=>he(t)},{default:s(()=>[...e[35]||(e[35]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>Re(t.id)},{default:s(()=>[...e[36]||(e[36]=[n("删除",-1)])]),_:1},8,["onClick"])])]),i("div",Tt,v(t.content),1),t.result?(r(),u("div",qt,[e[37]||(e[37]=i("span",{class:"label"},"结果:",-1)),n(v(t.result),1)])):g("",!0),i("div",At,[t.next_visit_time_text?(r(),u("span",Bt,"下次回访:"+v(t.next_visit_time_text),1)):g("",!0),t.operator_name?(r(),u("span",It,v(t.operator_name),1)):g("",!0)])]))),128)),a(O)>a(h).length?(r(),u("div",{key:1,class:"h5-load-more",onClick:Ve}," 加载更多 ")):g("",!0)])),[[te,a($)]])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>H(x)?x.value=t:null),title:a(S)==="add"?"新增回访记录":"编辑回访记录",direction:"btt",size:"80%","close-on-click-modal":!1,onClosed:xe},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[18]||(e[18]=t=>x.value=!1)},{default:s(()=>[...e[43]||(e[43]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(I),onClick:Ce},{default:s(()=>[...e[44]||(e[44]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"visitFormRef",ref:B,model:a(p),rules:ke,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"回访类型",prop:"visit_type"},{default:s(()=>[l(W,{modelValue:a(p).visit_type,"onUpdate:modelValue":e[13]||(e[13]=t=>a(p).visit_type=t),class:"h5-radio-group"},{default:s(()=>[l(w,{label:1},{default:s(()=>[...e[38]||(e[38]=[n("电话",-1)])]),_:1}),l(w,{label:2},{default:s(()=>[...e[39]||(e[39]=[n("微信",-1)])]),_:1}),l(w,{label:3},{default:s(()=>[...e[40]||(e[40]=[n("短信",-1)])]),_:1}),l(w,{label:4},{default:s(()=>[...e[41]||(e[41]=[n("上门",-1)])]),_:1}),l(w,{label:5},{default:s(()=>[...e[42]||(e[42]=[n("其他",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"回访时间",prop:"visit_time"},{default:s(()=>[l(ee,{modelValue:a(p).visit_time,"onUpdate:modelValue":e[14]||(e[14]=t=>a(p).visit_time=t),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访内容",prop:"content"},{default:s(()=>[l(f,{modelValue:a(p).content,"onUpdate:modelValue":e[15]||(e[15]=t=>a(p).content=t),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访结果"},{default:s(()=>[l(f,{modelValue:a(p).result,"onUpdate:modelValue":e[16]||(e[16]=t=>a(p).result=t),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(c,{label:"下次回访时间"},{default:s(()=>[l(ee,{modelValue:a(p).next_visit_time,"onUpdate:modelValue":e[17]||(e[17]=t=>a(p).next_visit_time=t),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ul=tt(Gt,[["__scopeId","data-v-33a81814"]]);export{Ul as default}; diff --git a/server/public/admin/assets/h5-D2fV4g_7.js b/server/public/admin/assets/h5-DeQqnrDf.js similarity index 96% rename from server/public/admin/assets/h5-D2fV4g_7.js rename to server/public/admin/assets/h5-DeQqnrDf.js index 4d32414a8..176afb59f 100644 --- a/server/public/admin/assets/h5-D2fV4g_7.js +++ b/server/public/admin/assets/h5-DeQqnrDf.js @@ -1 +1 @@ -import{_ as H}from"./index-D6hiZISU.js";import{L as G,K as I,D as R,B as U,G as q,J as F,C as J,i as S}from"./element-plus-DGP1XOrU.js";import{r as V}from"./index-fRv3NTFQ.js";import{f as C,as as w,ak as p,I as A,a as o,aN as e,J as m,O as l,G as u,H as K,aP as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as L}from"./@vue/reactivity-DiY1c2vO.js";import{Q as O}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function P(_){return V.post({url:"/channel.web_page_setting/setConfig",params:_})}function Q(){return V.get({url:"/channel.web_page_setting/getConfig"})}const T={class:"w-80"},j={class:"flex-1 min-w-0 break-words"},z=C({name:"h5Config"}),It=C({...z,setup(_){const r=L({status:0,page_status:0,page_url:"",url:""}),d=async()=>{const f=await Q();for(const t in r)r[t]=f[t]},y=async()=>{await P(r),d()};return d(),(f,t)=>{const E=G,g=I,n=F,c=q,i=U,k=J,v=S,x=R,B=H,D=w("copy"),N=w("perms");return p(),A("div",null,[o(g,{class:"!border-none",shadow:"never"},{default:e(()=>[o(E,{type:"warning",title:"温馨提示:H5设置",closable:!1,"show-icon":""})]),_:1}),o(g,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[o(x,{ref:"formRef",model:a(r),"label-width":"120px"},{default:e(()=>[o(i,{label:"渠道状态",required:"",prop:"status"},{default:e(()=>[m("div",null,[o(c,{modelValue:a(r).status,"onUpdate:modelValue":t[0]||(t[0]=s=>a(r).status=s)},{default:e(()=>[o(n,{value:1},{default:e(()=>[...t[3]||(t[3]=[l("开启",-1)])]),_:1}),o(n,{value:0},{default:e(()=>[...t[4]||(t[4]=[l("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[5]||(t[5]=m("div",{class:"form-tips"},"状态为关闭时,将不对外提供服务,请谨慎操作",-1))])]),_:1}),o(i,{label:"关闭后访问页面",prop:"page_status"},{default:e(()=>[o(c,{modelValue:a(r).page_status,"onUpdate:modelValue":t[1]||(t[1]=s=>a(r).page_status=s)},{default:e(()=>[o(n,{value:0},{default:e(()=>[...t[6]||(t[6]=[l("空页面",-1)])]),_:1}),o(n,{value:1},{default:e(()=>[...t[7]||(t[7]=[l("自定义链接",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(r).page_status==1?(p(),u(i,{key:0,label:"",prop:"page_url"},{default:e(()=>[m("div",T,[o(k,{modelValue:a(r).page_url,"onUpdate:modelValue":t[2]||(t[2]=s=>a(r).page_url=s),placeholder:"请输入完整的url"},null,8,["modelValue"])])]),_:1})):K("",!0),o(i,{label:"访问链接"},{default:e(()=>[m("div",j,[l(O(a(r).url)+" ",1),b((p(),u(v,null,{default:e(()=>[...t[8]||(t[8]=[l("复制",-1)])]),_:1})),[[D,a(r).url]])])]),_:1})]),_:1},8,["model"])]),_:1}),b((p(),u(B,null,{default:e(()=>[o(v,{type:"primary",onClick:y},{default:e(()=>[...t[9]||(t[9]=[l("保存",-1)])]),_:1})]),_:1})),[[N,["channel.web_page_setting/setConfig"]]])])}}});export{It as default}; +import{_ as H}from"./index-UGD9wxNK.js";import{L as G,K as I,D as R,B as U,G as q,J as F,C as J,i as S}from"./element-plus-DGP1XOrU.js";import{r as V}from"./index-J_eFER10.js";import{f as C,as as w,ak as p,I as A,a as o,aN as e,J as m,O as l,G as u,H as K,aP as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as L}from"./@vue/reactivity-DiY1c2vO.js";import{Q as O}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function P(_){return V.post({url:"/channel.web_page_setting/setConfig",params:_})}function Q(){return V.get({url:"/channel.web_page_setting/getConfig"})}const T={class:"w-80"},j={class:"flex-1 min-w-0 break-words"},z=C({name:"h5Config"}),It=C({...z,setup(_){const r=L({status:0,page_status:0,page_url:"",url:""}),d=async()=>{const f=await Q();for(const t in r)r[t]=f[t]},y=async()=>{await P(r),d()};return d(),(f,t)=>{const E=G,g=I,n=F,c=q,i=U,k=J,v=S,x=R,B=H,D=w("copy"),N=w("perms");return p(),A("div",null,[o(g,{class:"!border-none",shadow:"never"},{default:e(()=>[o(E,{type:"warning",title:"温馨提示:H5设置",closable:!1,"show-icon":""})]),_:1}),o(g,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[o(x,{ref:"formRef",model:a(r),"label-width":"120px"},{default:e(()=>[o(i,{label:"渠道状态",required:"",prop:"status"},{default:e(()=>[m("div",null,[o(c,{modelValue:a(r).status,"onUpdate:modelValue":t[0]||(t[0]=s=>a(r).status=s)},{default:e(()=>[o(n,{value:1},{default:e(()=>[...t[3]||(t[3]=[l("开启",-1)])]),_:1}),o(n,{value:0},{default:e(()=>[...t[4]||(t[4]=[l("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[5]||(t[5]=m("div",{class:"form-tips"},"状态为关闭时,将不对外提供服务,请谨慎操作",-1))])]),_:1}),o(i,{label:"关闭后访问页面",prop:"page_status"},{default:e(()=>[o(c,{modelValue:a(r).page_status,"onUpdate:modelValue":t[1]||(t[1]=s=>a(r).page_status=s)},{default:e(()=>[o(n,{value:0},{default:e(()=>[...t[6]||(t[6]=[l("空页面",-1)])]),_:1}),o(n,{value:1},{default:e(()=>[...t[7]||(t[7]=[l("自定义链接",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(r).page_status==1?(p(),u(i,{key:0,label:"",prop:"page_url"},{default:e(()=>[m("div",T,[o(k,{modelValue:a(r).page_url,"onUpdate:modelValue":t[2]||(t[2]=s=>a(r).page_url=s),placeholder:"请输入完整的url"},null,8,["modelValue"])])]),_:1})):K("",!0),o(i,{label:"访问链接"},{default:e(()=>[m("div",j,[l(O(a(r).url)+" ",1),b((p(),u(v,null,{default:e(()=>[...t[8]||(t[8]=[l("复制",-1)])]),_:1})),[[D,a(r).url]])])]),_:1})]),_:1},8,["model"])]),_:1}),b((p(),u(B,null,{default:e(()=>[o(v,{type:"primary",onClick:y},{default:e(()=>[...t[9]||(t[9]=[l("保存",-1)])]),_:1})]),_:1})),[[N,["channel.web_page_setting/setConfig"]]])])}}});export{It as default}; diff --git a/server/public/admin/assets/icon-CPBsEowB.js b/server/public/admin/assets/icon-Cq9aWCMz.js similarity index 96% rename from server/public/admin/assets/icon-CPBsEowB.js rename to server/public/admin/assets/icon-Cq9aWCMz.js index fd46387a0..f27f5cf00 100644 --- a/server/public/admin/assets/icon-CPBsEowB.js +++ b/server/public/admin/assets/icon-Cq9aWCMz.js @@ -1 +1 @@ -import{K as z,i as x}from"./element-plus-DGP1XOrU.js";import{_ as w}from"./picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js";import{c as s,B as y,D as b}from"./index-fRv3NTFQ.js";import{f as k,as as g,ak as a,I as r,a as e,aN as t,J as i,F as _,ap as u,aP as f,G as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,r as B}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const N={class:"flex items-center"},V={class:"flex items-center"},E={class:"flex items-center"},C={class:"flex items-center"},D={class:"flex flex-wrap"},F={class:"flex items-center"},I={class:"flex flex-wrap"},xe=k({__name:"icon",setup(P){const m=B({value:""});return(S,c)=>{const n=z,h=w,p=x,d=g("copy");return a(),r("div",null,[e(n,{header:"element-plus图标",shadow:"never",class:"!border-none"},{default:t(()=>[i("div",N,[e(s,{class:"m-4",size:24,name:"el-icon-Search"}),e(s,{class:"m-4",size:24,name:"el-icon-Plus"}),e(s,{class:"m-4",size:24,name:"el-icon-FullScreen"}),e(s,{class:"m-4",size:24,name:"el-icon-Setting"}),e(s,{class:"m-4",size:24,name:"el-icon-Warning"})])]),_:1}),e(n,{header:"本地图标",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",V,[e(s,{class:"m-4",size:24,name:"local-icon-baoxian"}),e(s,{class:"m-4",size:24,name:"local-icon-youhui"}),e(s,{class:"m-4",size:24,name:"local-icon-daiyunying"}),e(s,{class:"m-4",size:24,name:"local-icon-diancanshezhi"}),e(s,{class:"m-4",size:24,name:"local-icon-dianzifapiao"})])]),_:1}),e(n,{header:"图标选择器",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",E,[e(h,{modelValue:l(m).value,"onUpdate:modelValue":c[0]||(c[0]=o=>l(m).value=o)},null,8,["modelValue"])])]),_:1}),e(n,{header:"element-plus图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",C,[i("div",D,[(a(!0),r(_,null,u(l(y)(),o=>(a(),r("div",{key:o,class:"m-1"},[f((a(),v(p,null,{default:t(()=>[e(s,{name:o,size:20},null,8,["name"])]),_:2},1024)),[[d,o]])]))),128))])])]),_:1}),e(n,{header:"本地图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",F,[i("div",I,[(a(!0),r(_,null,u(l(b)(),o=>(a(),r("div",{key:o,class:"m-1"},[f((a(),v(p,null,{default:t(()=>[e(s,{name:o,size:20},null,8,["name"])]),_:2},1024)),[[d,o]])]))),128))])])]),_:1})])}}});export{xe as default}; +import{K as z,i as x}from"./element-plus-DGP1XOrU.js";import{_ as w}from"./picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js";import{c as s,B as y,D as b}from"./index-J_eFER10.js";import{f as k,as as g,ak as a,I as r,a as e,aN as t,J as i,F as _,ap as u,aP as f,G as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,r as B}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const N={class:"flex items-center"},V={class:"flex items-center"},E={class:"flex items-center"},C={class:"flex items-center"},D={class:"flex flex-wrap"},F={class:"flex items-center"},I={class:"flex flex-wrap"},xe=k({__name:"icon",setup(P){const m=B({value:""});return(S,c)=>{const n=z,h=w,p=x,d=g("copy");return a(),r("div",null,[e(n,{header:"element-plus图标",shadow:"never",class:"!border-none"},{default:t(()=>[i("div",N,[e(s,{class:"m-4",size:24,name:"el-icon-Search"}),e(s,{class:"m-4",size:24,name:"el-icon-Plus"}),e(s,{class:"m-4",size:24,name:"el-icon-FullScreen"}),e(s,{class:"m-4",size:24,name:"el-icon-Setting"}),e(s,{class:"m-4",size:24,name:"el-icon-Warning"})])]),_:1}),e(n,{header:"本地图标",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",V,[e(s,{class:"m-4",size:24,name:"local-icon-baoxian"}),e(s,{class:"m-4",size:24,name:"local-icon-youhui"}),e(s,{class:"m-4",size:24,name:"local-icon-daiyunying"}),e(s,{class:"m-4",size:24,name:"local-icon-diancanshezhi"}),e(s,{class:"m-4",size:24,name:"local-icon-dianzifapiao"})])]),_:1}),e(n,{header:"图标选择器",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",E,[e(h,{modelValue:l(m).value,"onUpdate:modelValue":c[0]||(c[0]=o=>l(m).value=o)},null,8,["modelValue"])])]),_:1}),e(n,{header:"element-plus图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",C,[i("div",D,[(a(!0),r(_,null,u(l(y)(),o=>(a(),r("div",{key:o,class:"m-1"},[f((a(),v(p,null,{default:t(()=>[e(s,{name:o,size:20},null,8,["name"])]),_:2},1024)),[[d,o]])]))),128))])])]),_:1}),e(n,{header:"本地图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",F,[i("div",I,[(a(!0),r(_,null,u(l(b)(),o=>(a(),r("div",{key:o,class:"m-1"},[f((a(),v(p,null,{default:t(()=>[e(s,{name:o,size:20},null,8,["name"])]),_:2},1024)),[[d,o]])]))),128))])])]),_:1})])}}});export{xe as default}; diff --git a/server/public/admin/assets/index-CmItFXin.js b/server/public/admin/assets/index-1N_0IK2C.js similarity index 95% rename from server/public/admin/assets/index-CmItFXin.js rename to server/public/admin/assets/index-1N_0IK2C.js index 67fda9b98..ec4d9a6a9 100644 --- a/server/public/admin/assets/index-CmItFXin.js +++ b/server/public/admin/assets/index-1N_0IK2C.js @@ -1 +1 @@ -import{D as ce,B as ge,C as ye,S as ve,i as be,K as ke,m as we,l as Ve,N as Ee,O as xe,v as Ce,T as Re,U as he,M as Ue,V as Se,G as De,J as ze,Q as Ae,R as Oe,W as Te,E as w,a as j}from"./element-plus-DGP1XOrU.js";import{w as Be}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Ie,b as q,c as Le,d as Ne,e as Pe}from"./asset-BIi7JiAC.js";import{_ as Fe}from"./picker-C0hwSppU.js";import{U as Y}from"./index-Dxrq29dg.js";import{f as Me,b as je,ak as r,I as k,a as t,aN as l,O as s,J as x,H as V,aP as qe,G as f,F as Ye,ap as $e,A as Ge}from"./@vue/runtime-core-C6bnekPw.js";import{Q as C}from"./@vue/shared-mAAVTE9n.js";import{n as m,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./file-FhuQj5ML.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./cos-js-sdk-v5-DSMN0LUT.js";const Ke={class:"asset-resource-container"},Qe={class:"mb-4 flex items-center gap-2"},Je={key:0,class:"text-sm text-gray-500"},He={key:1},We={class:"mt-4 flex justify-end"},Xe={key:0,class:"w-full"},Ze=["title"],el=Me({__name:"index",setup(et){const R=m(!1),O=m([]),T=m(0),c=m([]),n=A({title:"",dateRange:[]}),u=A({type:"1",page_no:1,page_size:15}),v=m(!1),h=m(!1),U=m(),g=m(!1),S=m(0),B=m([]),i=A({type:1,title:"",file_url:"",cover_url:"",user_ids:[]}),$=(a,e,p)=>{if(Array.isArray(e)){if(!e.length)return p(new Error("请上传资源文件"))}else if(!e)return p(new Error("请输入或上传文件获取链接"));p()},G=Ge(()=>g.value?{title:[{required:!0,message:"请输入标题",trigger:"blur"}]}:{title:[{required:!0,message:"请输入标题",trigger:"blur"}],file_url:[{required:!0,validator:$,trigger:"change"}]}),K=()=>{const a={...u};return n.title&&(a.title=n.title),n.dateRange&&n.dateRange.length===2&&(a.start_time=n.dateRange[0],a.end_time=n.dateRange[1]),a},_=async()=>{R.value=!0;try{const a=await Ie(K());O.value=a.lists,T.value=a.count,c.value=[]}catch(a){console.error(a)}finally{R.value=!1}},I=async()=>{try{const a=await Pe({page_no:1,page_size:9999});B.value=a.lists}catch(a){console.error(a)}},L=()=>{u.page_no=1,_()},Q=()=>{n.title="",n.dateRange=[],u.page_no=1,_()},J=()=>{u.page_no=1,_()},H=()=>{g.value=!1,S.value=0,Object.assign(i,{type:parseInt(u.type),title:"",file_url:"",cover_url:"",user_ids:[]}),I(),v.value=!0},W=a=>{var e;g.value=!0,S.value=a.id,Object.assign(i,{type:a.type,title:a.title,file_url:a.file_url,cover_url:a.cover_url||"",user_ids:((e=a.users)==null?void 0:e.map(p=>p.id))||[]}),I(),v.value=!0},N=a=>{var e,p;i.file_url=((e=a==null?void 0:a.data)==null?void 0:e.uri)||((p=a==null?void 0:a.data)==null?void 0:p.url)||"",w.success("上传成功")},X=async a=>{try{await j.confirm("确定要删除该资源吗?用户将无法再看到。","提示",{type:"warning"}),await q({id:a.id}),w.success("删除成功"),_()}catch{}},Z=a=>{c.value=a.map(e=>Number(e.id)).filter(e=>e>0)},ee=async()=>{if(c.value.length)try{await j.confirm(`确定要删除选中的 ${c.value.length} 个资源吗?用户将无法再看到。`,"提示",{type:"warning"}),await q({id:c.value}),w.success("删除成功"),_()}catch{}},te=async()=>{U.value&&await U.value.validate(async a=>{if(a){h.value=!0;try{g.value?(await Le({id:S.value,title:i.title,user_ids:i.user_ids}),w.success("编辑成功")):(await Ne(i),w.success("上传分发成功")),v.value=!1,_()}catch(e){console.error(e)}finally{h.value=!1}}})};return je(()=>{_()}),(a,e)=>{const p=ye,y=ge,le=ve,d=be,P=ce,F=ke,D=Ve,ae=we,b=xe,oe=Ce,ie=Re,re=he,se=Ee,ne=Se,z=ze,ue=De,pe=Oe,de=Ae,me=Te,_e=Ue;return r(),k("div",Ke,[t(F,{class:"!border-none",shadow:"never"},{default:l(()=>[t(P,{class:"ls-form",model:n,inline:""},{default:l(()=>[t(y,{class:"w-[280px]",label:"标题"},{default:l(()=>[t(p,{placeholder:"请输入标题关键词",modelValue:n.title,"onUpdate:modelValue":e[0]||(e[0]=o=>n.title=o),clearable:"",onKeyup:Be(L,["enter"])},null,8,["modelValue"])]),_:1}),t(y,{label:"上传时间"},{default:l(()=>[t(le,{modelValue:n.dateRange,"onUpdate:modelValue":e[1]||(e[1]=o=>n.dateRange=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",style:{width:"280px"}},null,8,["modelValue"])]),_:1}),t(y,null,{default:l(()=>[t(d,{type:"primary",onClick:L},{default:l(()=>[...e[11]||(e[11]=[s("查询",-1)])]),_:1}),t(d,{onClick:Q},{default:l(()=>[...e[12]||(e[12]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(F,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x("div",Qe,[t(d,{type:"primary",onClick:H},{default:l(()=>[...e[13]||(e[13]=[s("上传资源",-1)])]),_:1}),t(d,{type:"danger",disabled:c.value.length===0,onClick:ee},{default:l(()=>[...e[14]||(e[14]=[s(" 批量删除 ",-1)])]),_:1},8,["disabled"]),c.value.length>0?(r(),k("span",Je,"已选 "+C(c.value.length)+" 条",1)):V("",!0)]),t(ae,{modelValue:u.type,"onUpdate:modelValue":e[2]||(e[2]=o=>u.type=o),onTabChange:J},{default:l(()=>[t(D,{label:"图片",name:"1"}),t(D,{label:"视频",name:"2"}),t(D,{label:"语音",name:"3"})]),_:1},8,["modelValue"]),qe((r(),f(se,{data:O.value,onSelectionChange:Z},{default:l(()=>[t(b,{type:"selection",width:"55"}),t(b,{prop:"title",label:"标题","min-width":"80"}),t(b,{label:"预览",width:"100"},{default:l(({row:o})=>[o.type==1?(r(),f(oe,{key:0,src:o.file_url,style:{width:"50px",height:"50px"},"preview-src-list":[o.file_url],"preview-teleported":""},null,8,["src","preview-src-list"])):(r(),f(ie,{key:1,href:o.file_url,target:"_blank",type:"primary"},{default:l(()=>[...e[15]||(e[15]=[s("点击预览",-1)])]),_:1},8,["href"]))]),_:1}),t(b,{label:"关联账号","min-width":"150","show-overflow-tooltip":""},{default:l(({row:o})=>{var E,M;return[(E=o.users)!=null&&E.length?(r(),k("span",He,C((M=o.users)==null?void 0:M.map(fe=>fe.phone).join(", ")),1)):(r(),f(re,{key:0,type:"info",size:"small"},{default:l(()=>[...e[16]||(e[16]=[s("公开资源",-1)])]),_:1}))]}),_:1}),t(b,{prop:"create_time",label:"上传时间",width:"180"}),t(b,{label:"操作",width:"150",fixed:"right"},{default:l(({row:o})=>[t(d,{type:"primary",link:"",onClick:E=>W(o)},{default:l(()=>[...e[17]||(e[17]=[s("编辑",-1)])]),_:1},8,["onClick"]),t(d,{type:"danger",link:"",onClick:E=>X(o)},{default:l(()=>[...e[18]||(e[18]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[_e,R.value]]),x("div",We,[t(ne,{"current-page":u.page_no,"onUpdate:currentPage":e[3]||(e[3]=o=>u.page_no=o),"page-size":u.page_size,"onUpdate:pageSize":e[4]||(e[4]=o=>u.page_size=o),total:T.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:_,onCurrentChange:_},null,8,["current-page","page-size","total"])])]),_:1}),t(me,{modelValue:v.value,"onUpdate:modelValue":e[10]||(e[10]=o=>v.value=o),title:g.value?"编辑资源":"新增分发资源",width:"600px","destroy-on-close":""},{footer:l(()=>[t(d,{onClick:e[9]||(e[9]=o=>v.value=!1)},{default:l(()=>[...e[26]||(e[26]=[s("取消",-1)])]),_:1}),t(d,{type:"primary",onClick:te,loading:h.value},{default:l(()=>[s(C(g.value?"保存修改":"确定发布"),1)]),_:1},8,["loading"])]),default:l(()=>[t(P,{ref_key:"formRef",ref:U,model:i,rules:G.value,"label-width":"100px"},{default:l(()=>[g.value?V("",!0):(r(),f(y,{key:0,label:"资源类型",prop:"type"},{default:l(()=>[t(ue,{modelValue:i.type,"onUpdate:modelValue":e[5]||(e[5]=o=>i.type=o)},{default:l(()=>[t(z,{label:1},{default:l(()=>[...e[19]||(e[19]=[s("图片",-1)])]),_:1}),t(z,{label:2},{default:l(()=>[...e[20]||(e[20]=[s("视频",-1)])]),_:1}),t(z,{label:3},{default:l(()=>[...e[21]||(e[21]=[s("语音",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),t(y,{label:"标题",prop:"title"},{default:l(()=>[t(p,{modelValue:i.title,"onUpdate:modelValue":e[6]||(e[6]=o=>i.title=o),placeholder:"请输入资源标题"},null,8,["modelValue"])]),_:1}),g.value?V("",!0):(r(),f(y,{key:1,label:"资源文件",prop:"file_url"},{default:l(()=>[i.type===1?(r(),k("div",Xe,[t(Fe,{modelValue:i.file_url,"onUpdate:modelValue":e[7]||(e[7]=o=>i.file_url=o),limit:9,type:"image"},null,8,["modelValue"]),e[22]||(e[22]=x("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},"支持批量上传多张图片,一次最多 9 张,每张图片将生成一条独立资源(多张时标题自动追加序号)",-1))])):i.type===2?(r(),f(Y,{key:1,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:N},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[23]||(e[23]=[s("上传视频 (OSS直传)",-1)])]),_:1})]),_:1})):i.type===3?(r(),f(Y,{key:2,type:"voice",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:N},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[24]||(e[24]=[s("上传语音 (OSS直传)",-1)])]),_:1})]),_:1})):V("",!0),i.file_url&&i.type!==1?(r(),k("div",{key:3,class:"ml-4 text-primary truncate max-w-xs",title:i.file_url}," 已上传: "+C(i.file_url),9,Ze)):V("",!0)]),_:1})),t(y,{label:"关联账号",prop:"user_ids"},{default:l(()=>[t(de,{modelValue:i.user_ids,"onUpdate:modelValue":e[8]||(e[8]=o=>i.user_ids=o),multiple:"",filterable:"",placeholder:"不选择则为公开资源",clearable:"",style:{width:"100%"}},{default:l(()=>[(r(!0),k(Ye,null,$e(B.value,o=>(r(),f(pe,{key:o.id,label:o.phone,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[25]||(e[25]=x("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},"不选择账号则资源为公开资源,所有人可见",-1))]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});export{el as default}; +import{D as ce,B as ge,C as ye,S as ve,i as be,K as ke,m as we,l as Ve,N as Ee,O as xe,v as Ce,T as Re,U as he,M as Ue,V as Se,G as De,J as ze,Q as Ae,R as Oe,W as Te,E as w,a as j}from"./element-plus-DGP1XOrU.js";import{w as Be}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Ie,b as q,c as Le,d as Ne,e as Pe}from"./asset-D3abx9VD.js";import{_ as Fe}from"./picker-lbwHqE-a.js";import{U as Y}from"./index-BIgtwj7l.js";import{f as Me,b as je,ak as r,I as k,a as t,aN as l,O as s,J as x,H as V,aP as qe,G as f,F as Ye,ap as $e,A as Ge}from"./@vue/runtime-core-C6bnekPw.js";import{Q as C}from"./@vue/shared-mAAVTE9n.js";import{n as m,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./file-D7g_w1vo.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./cos-js-sdk-v5-DSMN0LUT.js";const Ke={class:"asset-resource-container"},Qe={class:"mb-4 flex items-center gap-2"},Je={key:0,class:"text-sm text-gray-500"},He={key:1},We={class:"mt-4 flex justify-end"},Xe={key:0,class:"w-full"},Ze=["title"],el=Me({__name:"index",setup(et){const R=m(!1),O=m([]),T=m(0),c=m([]),n=A({title:"",dateRange:[]}),u=A({type:"1",page_no:1,page_size:15}),v=m(!1),h=m(!1),U=m(),g=m(!1),S=m(0),B=m([]),i=A({type:1,title:"",file_url:"",cover_url:"",user_ids:[]}),$=(a,e,p)=>{if(Array.isArray(e)){if(!e.length)return p(new Error("请上传资源文件"))}else if(!e)return p(new Error("请输入或上传文件获取链接"));p()},G=Ge(()=>g.value?{title:[{required:!0,message:"请输入标题",trigger:"blur"}]}:{title:[{required:!0,message:"请输入标题",trigger:"blur"}],file_url:[{required:!0,validator:$,trigger:"change"}]}),K=()=>{const a={...u};return n.title&&(a.title=n.title),n.dateRange&&n.dateRange.length===2&&(a.start_time=n.dateRange[0],a.end_time=n.dateRange[1]),a},_=async()=>{R.value=!0;try{const a=await Ie(K());O.value=a.lists,T.value=a.count,c.value=[]}catch(a){console.error(a)}finally{R.value=!1}},I=async()=>{try{const a=await Pe({page_no:1,page_size:9999});B.value=a.lists}catch(a){console.error(a)}},L=()=>{u.page_no=1,_()},Q=()=>{n.title="",n.dateRange=[],u.page_no=1,_()},J=()=>{u.page_no=1,_()},H=()=>{g.value=!1,S.value=0,Object.assign(i,{type:parseInt(u.type),title:"",file_url:"",cover_url:"",user_ids:[]}),I(),v.value=!0},W=a=>{var e;g.value=!0,S.value=a.id,Object.assign(i,{type:a.type,title:a.title,file_url:a.file_url,cover_url:a.cover_url||"",user_ids:((e=a.users)==null?void 0:e.map(p=>p.id))||[]}),I(),v.value=!0},N=a=>{var e,p;i.file_url=((e=a==null?void 0:a.data)==null?void 0:e.uri)||((p=a==null?void 0:a.data)==null?void 0:p.url)||"",w.success("上传成功")},X=async a=>{try{await j.confirm("确定要删除该资源吗?用户将无法再看到。","提示",{type:"warning"}),await q({id:a.id}),w.success("删除成功"),_()}catch{}},Z=a=>{c.value=a.map(e=>Number(e.id)).filter(e=>e>0)},ee=async()=>{if(c.value.length)try{await j.confirm(`确定要删除选中的 ${c.value.length} 个资源吗?用户将无法再看到。`,"提示",{type:"warning"}),await q({id:c.value}),w.success("删除成功"),_()}catch{}},te=async()=>{U.value&&await U.value.validate(async a=>{if(a){h.value=!0;try{g.value?(await Le({id:S.value,title:i.title,user_ids:i.user_ids}),w.success("编辑成功")):(await Ne(i),w.success("上传分发成功")),v.value=!1,_()}catch(e){console.error(e)}finally{h.value=!1}}})};return je(()=>{_()}),(a,e)=>{const p=ye,y=ge,le=ve,d=be,P=ce,F=ke,D=Ve,ae=we,b=xe,oe=Ce,ie=Re,re=he,se=Ee,ne=Se,z=ze,ue=De,pe=Oe,de=Ae,me=Te,_e=Ue;return r(),k("div",Ke,[t(F,{class:"!border-none",shadow:"never"},{default:l(()=>[t(P,{class:"ls-form",model:n,inline:""},{default:l(()=>[t(y,{class:"w-[280px]",label:"标题"},{default:l(()=>[t(p,{placeholder:"请输入标题关键词",modelValue:n.title,"onUpdate:modelValue":e[0]||(e[0]=o=>n.title=o),clearable:"",onKeyup:Be(L,["enter"])},null,8,["modelValue"])]),_:1}),t(y,{label:"上传时间"},{default:l(()=>[t(le,{modelValue:n.dateRange,"onUpdate:modelValue":e[1]||(e[1]=o=>n.dateRange=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",style:{width:"280px"}},null,8,["modelValue"])]),_:1}),t(y,null,{default:l(()=>[t(d,{type:"primary",onClick:L},{default:l(()=>[...e[11]||(e[11]=[s("查询",-1)])]),_:1}),t(d,{onClick:Q},{default:l(()=>[...e[12]||(e[12]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(F,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x("div",Qe,[t(d,{type:"primary",onClick:H},{default:l(()=>[...e[13]||(e[13]=[s("上传资源",-1)])]),_:1}),t(d,{type:"danger",disabled:c.value.length===0,onClick:ee},{default:l(()=>[...e[14]||(e[14]=[s(" 批量删除 ",-1)])]),_:1},8,["disabled"]),c.value.length>0?(r(),k("span",Je,"已选 "+C(c.value.length)+" 条",1)):V("",!0)]),t(ae,{modelValue:u.type,"onUpdate:modelValue":e[2]||(e[2]=o=>u.type=o),onTabChange:J},{default:l(()=>[t(D,{label:"图片",name:"1"}),t(D,{label:"视频",name:"2"}),t(D,{label:"语音",name:"3"})]),_:1},8,["modelValue"]),qe((r(),f(se,{data:O.value,onSelectionChange:Z},{default:l(()=>[t(b,{type:"selection",width:"55"}),t(b,{prop:"title",label:"标题","min-width":"80"}),t(b,{label:"预览",width:"100"},{default:l(({row:o})=>[o.type==1?(r(),f(oe,{key:0,src:o.file_url,style:{width:"50px",height:"50px"},"preview-src-list":[o.file_url],"preview-teleported":""},null,8,["src","preview-src-list"])):(r(),f(ie,{key:1,href:o.file_url,target:"_blank",type:"primary"},{default:l(()=>[...e[15]||(e[15]=[s("点击预览",-1)])]),_:1},8,["href"]))]),_:1}),t(b,{label:"关联账号","min-width":"150","show-overflow-tooltip":""},{default:l(({row:o})=>{var E,M;return[(E=o.users)!=null&&E.length?(r(),k("span",He,C((M=o.users)==null?void 0:M.map(fe=>fe.phone).join(", ")),1)):(r(),f(re,{key:0,type:"info",size:"small"},{default:l(()=>[...e[16]||(e[16]=[s("公开资源",-1)])]),_:1}))]}),_:1}),t(b,{prop:"create_time",label:"上传时间",width:"180"}),t(b,{label:"操作",width:"150",fixed:"right"},{default:l(({row:o})=>[t(d,{type:"primary",link:"",onClick:E=>W(o)},{default:l(()=>[...e[17]||(e[17]=[s("编辑",-1)])]),_:1},8,["onClick"]),t(d,{type:"danger",link:"",onClick:E=>X(o)},{default:l(()=>[...e[18]||(e[18]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[_e,R.value]]),x("div",We,[t(ne,{"current-page":u.page_no,"onUpdate:currentPage":e[3]||(e[3]=o=>u.page_no=o),"page-size":u.page_size,"onUpdate:pageSize":e[4]||(e[4]=o=>u.page_size=o),total:T.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:_,onCurrentChange:_},null,8,["current-page","page-size","total"])])]),_:1}),t(me,{modelValue:v.value,"onUpdate:modelValue":e[10]||(e[10]=o=>v.value=o),title:g.value?"编辑资源":"新增分发资源",width:"600px","destroy-on-close":""},{footer:l(()=>[t(d,{onClick:e[9]||(e[9]=o=>v.value=!1)},{default:l(()=>[...e[26]||(e[26]=[s("取消",-1)])]),_:1}),t(d,{type:"primary",onClick:te,loading:h.value},{default:l(()=>[s(C(g.value?"保存修改":"确定发布"),1)]),_:1},8,["loading"])]),default:l(()=>[t(P,{ref_key:"formRef",ref:U,model:i,rules:G.value,"label-width":"100px"},{default:l(()=>[g.value?V("",!0):(r(),f(y,{key:0,label:"资源类型",prop:"type"},{default:l(()=>[t(ue,{modelValue:i.type,"onUpdate:modelValue":e[5]||(e[5]=o=>i.type=o)},{default:l(()=>[t(z,{label:1},{default:l(()=>[...e[19]||(e[19]=[s("图片",-1)])]),_:1}),t(z,{label:2},{default:l(()=>[...e[20]||(e[20]=[s("视频",-1)])]),_:1}),t(z,{label:3},{default:l(()=>[...e[21]||(e[21]=[s("语音",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),t(y,{label:"标题",prop:"title"},{default:l(()=>[t(p,{modelValue:i.title,"onUpdate:modelValue":e[6]||(e[6]=o=>i.title=o),placeholder:"请输入资源标题"},null,8,["modelValue"])]),_:1}),g.value?V("",!0):(r(),f(y,{key:1,label:"资源文件",prop:"file_url"},{default:l(()=>[i.type===1?(r(),k("div",Xe,[t(Fe,{modelValue:i.file_url,"onUpdate:modelValue":e[7]||(e[7]=o=>i.file_url=o),limit:9,type:"image"},null,8,["modelValue"]),e[22]||(e[22]=x("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},"支持批量上传多张图片,一次最多 9 张,每张图片将生成一条独立资源(多张时标题自动追加序号)",-1))])):i.type===2?(r(),f(Y,{key:1,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:N},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[23]||(e[23]=[s("上传视频 (OSS直传)",-1)])]),_:1})]),_:1})):i.type===3?(r(),f(Y,{key:2,type:"voice",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:N},{default:l(()=>[t(d,{type:"primary"},{default:l(()=>[...e[24]||(e[24]=[s("上传语音 (OSS直传)",-1)])]),_:1})]),_:1})):V("",!0),i.file_url&&i.type!==1?(r(),k("div",{key:3,class:"ml-4 text-primary truncate max-w-xs",title:i.file_url}," 已上传: "+C(i.file_url),9,Ze)):V("",!0)]),_:1})),t(y,{label:"关联账号",prop:"user_ids"},{default:l(()=>[t(de,{modelValue:i.user_ids,"onUpdate:modelValue":e[8]||(e[8]=o=>i.user_ids=o),multiple:"",filterable:"",placeholder:"不选择则为公开资源",clearable:"",style:{width:"100%"}},{default:l(()=>[(r(!0),k(Ye,null,$e(B.value,o=>(r(),f(pe,{key:o.id,label:o.phone,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[25]||(e[25]=x("div",{style:{"font-size":"12px",color:"#909399","margin-top":"4px"}},"不选择账号则资源为公开资源,所有人可见",-1))]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}});export{el as default}; diff --git a/server/public/admin/assets/index-BTlyUNCl.js b/server/public/admin/assets/index-6fpUcIGz.js similarity index 86% rename from server/public/admin/assets/index-BTlyUNCl.js rename to server/public/admin/assets/index-6fpUcIGz.js index 410ddb80d..9d8718db3 100644 --- a/server/public/admin/assets/index-BTlyUNCl.js +++ b/server/public/admin/assets/index-6fpUcIGz.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-B6i9iaxJ.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/file-FhuQj5ML.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/patient-DzLGoG87.js","assets/tcm-CEIBuAeK.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/im-business-message-parse-QKjFLn3X.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BdeDEJMM.css","assets/edit-BhCPKHfV.js","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{_ as Ie}from"./jspdf-BsthCvR5.js";import{d as Ke,C as Xe,M as Ze,U as et,r as tt,X as at,i as nt,W as st}from"./element-plus-DGP1XOrU.js";import{w as ot,s as it,T as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{r as qe,n as rt,a as ut,b as dt}from"./patient-DzLGoG87.js";import ct from"./NoteTimeline-DVNRRysO.js";import mt from"./PatientInfoCard-Bub1uklL.js";import pt from"./PatientCaseCard-B9RReKmk.js";import vt from"./DailyMatrix-UhX8pyGC.js";import{l as ft}from"./doctor-BVLBwYIX.js";import{Y as gt}from"./tcm-CEIBuAeK.js";import{k as g,_ as _t}from"./index-fRv3NTFQ.js";import{f as ht}from"./diag-display-DCz_VAqj.js";import{O as yt,l as kt,J as St,ap as wt}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Ct,w as Et,b as Dt,n as bt,d as It,as as qt,ak as u,I as h,J as o,a as d,aN as m,aP as U,F as xe,ap as xt,O as b,G as C,H as I,at as Ne,P as Re,A as Y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as S,o as H}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as re,n as l}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./perm-CTlz8z1G.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CFEYln83.js";const Nt={class:"reception-page"},Rt={class:"reception-header"},$t={class:"header-left"},Pt={class:"header-meta"},Tt={class:"header-right"},Vt={class:"live-pill"},Lt={class:"filter-shell"},Mt={class:"filter-tabs"},zt={class:"main-area"},At={class:"queue-col"},Ot={class:"queue-panel"},Ut={class:"queue-head"},Bt={class:"queue-title"},Ft={class:"queue-meta"},Wt=["onClick"],jt={class:"row-name"},Gt={class:"name-line"},Qt={class:"name-meta"},Yt={class:"time-line"},Ht=["disabled","onClick"],Jt=["onClick"],Kt={key:0},Xt={key:1,class:"no-more"},Zt={class:"sidebar"},ea={key:0,class:"placeholder-card"},ta={class:"card note-card"},aa={class:"card metric-card"},na={key:0,class:"float-bar"},ue=5e3,de=15,sa=Ct({__name:"index",setup(oa){const $e=Re(()=>Ie(()=>import("./index-B6i9iaxJ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]))),Pe=Re(()=>Ie(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([65,1,2,3,4,5,6,7,8,9,10,11,12,13,14,43,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,66,67,68,69,70,71,72,73,74,75,76,15,77,78,79,80,53,54,55,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,61,98,99,100,101,102,103,104,42,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121]))),_=l(1),y=l([]),B=l(0),J=l(0),K=l(0),X=l(1),F=l(!0),W=l(!1),j=l(!1),Z=l(!1),c=l(null),v=l(null),ee=l(!1),w=l(""),T=l(!1),V=l(ue/1e3),L=l(null);let q=null,x=null,te=!1,M=!1,E=null,G=0,N=0;const ae=l(null),Q=l(null),ce=l(),me=l(),R=l(!1),z=l(""),ne=l(!1),$=Y(()=>{var t;return((t=v.value)==null?void 0:t.appointment)||{}}),k=Y(()=>{var t;return((t=v.value)==null?void 0:t.diagnosis)||{}}),Te=Y(()=>{var t;return((t=v.value)==null?void 0:t.doctor_notes)||[]}),Ve=Y(()=>{const t=new Date,e=["周日","周一","周二","周三","周四","周五","周六"][t.getDay()],n=i=>String(i).padStart(2,"0");return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${e}`}),Le=()=>{const t=new Date,e=n=>String(n).padStart(2,"0");return`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())}`},Me=t=>[ht(t.gender),t.age!=null?t.age+"岁":""].filter(n=>n&&n!=="—").join(" "),ze=t=>t?t.replace(/^(\d{2}:\d{2})(:\d{2})?$/,"$1"):"—",se=async(t,e,n)=>{const i=Le(),s=await dt({status:e??_.value,start_date:i,end_date:i,patient_name:(n??w.value)||void 0,page_no:t,page_size:de}),D=(s==null?void 0:s.lists)||(s==null?void 0:s.data)||[],p=Number((s==null?void 0:s.count)??(s==null?void 0:s.total)??0);return{list:D,count:p}},Ae=async(t,e,n)=>{const i=t===1?4:1;try{const{count:s}=await se(1,i,e||void 0);if(n!==G||_.value!==t||w.value!==e)return;i===1?J.value=s:K.value=s}catch{}},A=async t=>{const e=(t==null?void 0:t.silent)===!0;if(e&&te)return;const n=++G,i=_.value,s=w.value,D=(t==null?void 0:t.autoSelect)??!e;te=!0,e||(j.value=!0);try{X.value=1;const{list:p,count:f}=await se(1,i,s||void 0);if(n!==G||_.value!==i||w.value!==s)return;y.value=p,B.value=f||p.length,i===1?J.value=f:K.value=f,F.value=p.length>=de&&y.value.length<(f||0),Ae(i,s,n),c.value&&!p.some(ie=>ie.id===c.value)&&(c.value=null,v.value=null),!c.value&&D&&p.length>0&&await pe(p[0])}catch(p){e||console.error("加载队列失败:",p)}finally{n===G&&(j.value=!1,te=!1)}},Oe=async()=>{if(W.value||!F.value)return;const t=_.value,e=w.value;W.value=!0;try{const n=X.value+1,{list:i,count:s}=await se(n,t,e||void 0);if(_.value!==t||w.value!==e)return;const D=new Set(y.value.map(f=>f.id)),p=i.filter(f=>!D.has(f.id));y.value=[...y.value,...p],X.value=n,B.value=s||B.value,F.value=i.length>=de&&y.value.length<(s||0)}catch(n){console.error("加载更多失败:",n)}finally{W.value=!1}},Ue=async()=>{if(!c.value||M)return;const t=c.value,e=++N;M=!0;try{const n=await qe({id:t});if(e!==N||c.value!==t)return;v.value=n||v.value}catch{}finally{e===N&&(M=!1)}},pe=async t=>{if(c.value===t.id)return;const e=t.id,n=++N;c.value=t.id,v.value=null,Z.value=!0,M=!0,O();try{const i=await qe({id:e});if(n!==N||c.value!==e)return;v.value=i||null}catch(i){console.error("加载详情失败:",i),g.msgError("加载患者详情失败")}finally{n===N&&(Z.value=!1,M=!1)}},ve=async t=>{_.value!==t&&(_.value=t,c.value=null,v.value=null,await A(),O())},fe=async()=>{c.value=null,v.value=null,await A(),O()},Be=async t=>{var i;const e=Number(t.source_patient_id||0),n=Number(t.diagnosis_id||0);if(!e){g.msgWarning("患者信息不完整");return}if(!n){g.msgWarning("预约信息不完整,无法发起聊天");return}try{const s=await gt({patient_id:e,diagnosis_id:n});(i=ce.value)==null||i.open({patientId:e,patientName:t.patient_name,diagnosisId:n,signatureData:s})}catch(s){console.error("获取通话签名失败:",s),g.msgError((s==null?void 0:s.message)||"获取通话签名失败")}},Fe=async t=>{if(!L.value){L.value=t.id;try{await rt({id:t.id}),g.msgSuccess(`已通知医助 ${t.assistant_name||""}`),await P()}catch(e){g.msgError((e==null?void 0:e.message)||"通知失败")}finally{L.value=null}}},We=()=>{var t,e;(t=k.value)!=null&&t.patient_id&&((e=me.value)==null||e.open("edit",k.value.patient_id))},je=async()=>{await P()},P=async()=>{const t=c.value;await A({silent:!0,autoSelect:!1}),t&&c.value===t&&await Ue(),O()},Ge=async()=>{var t;if((t=$.value)!=null&&t.id){try{await g.confirm("确认将该患者标记为「已完成接诊」?此操作不可撤销。")}catch{return}ee.value=!0;try{await ft({id:$.value.id}),g.msgSuccess("已完成接诊"),c.value=null,v.value=null,await A({autoSelect:!0}),O()}catch(e){g.msgError((e==null?void 0:e.message)||"操作失败")}finally{ee.value=!1}}},Qe=async()=>{var n;const t=(n=k.value)==null?void 0:n.id;if(!t){g.msgWarning("当前患者无诊单,无法添加备注");return}const e=z.value.trim();if(!e){g.msgWarning("请输入备注内容");return}ne.value=!0;try{await ut({diagnosis_id:t,content:e}),g.msgSuccess("备注保存成功"),z.value="",R.value=!1,await P()}catch(i){g.msgError((i==null?void 0:i.message)||"保存失败")}finally{ne.value=!1}},Ye=()=>{V.value=ue/1e3},He=()=>{x&&clearInterval(x),Ye(),x=setInterval(()=>{T.value||(V.value>1?V.value-=1:V.value=1)},1e3)},ge=()=>{q&&clearTimeout(q),!T.value&&(He(),q=setTimeout(async()=>{await P()},ue))},O=()=>{ge()},Je=()=>{oe(),ge()},oe=()=>{q&&(clearTimeout(q),q=null),x&&(clearInterval(x),x=null)},_e=()=>{T.value=document.hidden,document.hidden?oe():P()},he=t=>{var n;const e=String(((n=t==null?void 0:t.reason)==null?void 0:n.message)||(t==null?void 0:t.reason)||"");/Receiving end does not exist|Could not establish connection/i.test(e)&&t.preventDefault()},ye=()=>{!Q.value||!ae.value||(E==null||E.disconnect(),E=new IntersectionObserver(t=>{for(const e of t)e.isIntersecting&&Oe()},{root:ae.value,rootMargin:"80px",threshold:0}),E.observe(Q.value))};return Et(Q,()=>ye()),Dt(()=>{A(),Je(),document.addEventListener("visibilitychange",_e),window.addEventListener("unhandledrejection",he),bt(()=>ye())}),It(()=>{oe(),E==null||E.disconnect(),document.removeEventListener("visibilitychange",_e),window.removeEventListener("unhandledrejection",he)}),(t,e)=>{var Se,we,Ce,Ee,De;const n=Ke,i=Xe,s=et,D=tt,p=at,f=nt,ie=st,ke=Ze,le=qt("perms");return u(),h("div",Nt,[o("div",Rt,[o("div",$t,[e[8]||(e[8]=o("h1",{class:"header-title"},"接诊台",-1)),o("div",Pt,S(a(Ve)),1)]),o("div",Tt,[o("div",Vt,[o("span",{class:H(["live-dot",{paused:a(T)}])},null,2),o("span",null,S(a(T)?"已暂停":`${a(V)}s 后刷新`),1)])])]),o("div",Lt,[d(i,{modelValue:a(w),"onUpdate:modelValue":e[0]||(e[0]=r=>re(w)?w.value=r:null),placeholder:"请输入患者姓名",clearable:"",size:"default",class:"search-input",onKeyup:ot(fe,["enter"]),onClear:fe},{prefix:m(()=>[d(n,null,{default:m(()=>[d(a(yt))]),_:1})]),_:1},8,["modelValue"]),o("div",Mt,[o("span",{class:H(["filter-tab",{active:a(_)===1}]),onClick:e[1]||(e[1]=r=>ve(1))},"待接诊 "+S(a(J))+" 人",3),e[9]||(e[9]=o("span",{class:"filter-sep"},"·",-1)),o("span",{class:H(["filter-tab",{active:a(_)===4}]),onClick:e[2]||(e[2]=r=>ve(4))},"已过号 "+S(a(K))+" 人",3)])]),o("div",zt,[o("aside",At,[o("div",Ot,[o("div",Ut,[o("span",Bt,S(a(_)===1?"待接诊":"已过号"),1),o("span",Ft,S(a(B))+" 人",1)]),U((u(),h("div",{ref_key:"queueScrollRef",ref:ae,class:"queue-list"},[(u(!0),h(xe,null,xt(a(y),r=>(u(),h("div",{key:r.id,class:H(["queue-row",{active:a(c)===r.id,passed:r.status===4}]),onClick:be=>pe(r)},[o("div",jt,[o("div",Gt,[b(S(r.patient_name||"未命名")+" ",1),o("span",Qt,S(Me(r)),1),r.status===4?(u(),C(s,{key:0,size:"small",type:"warning",class:"ml-1"},{default:m(()=>[...e[10]||(e[10]=[b("已过号",-1)])]),_:1})):I("",!0)]),o("div",Yt,S(ze(r.appointment_time))+" · 医助 "+S(r.assistant_name||"—"),1)]),o("div",{class:"row-actions",onClick:e[3]||(e[3]=it(()=>{},["stop"]))},[d(D,{content:"通知医助(企业微信)",placement:"top"},{default:m(()=>[o("button",{class:"row-icon-btn notify",disabled:a(L)===r.id,onClick:be=>Fe(r)},[a(L)===r.id?(u(),C(n,{key:0,class:"is-loading"},{default:m(()=>[d(a(kt))]),_:1})):(u(),C(n,{key:1},{default:m(()=>[d(a(St))]),_:1}))],8,Ht)]),_:2},1024),d(D,{content:"发起通话",placement:"top"},{default:m(()=>[o("button",{class:"row-icon-btn call",onClick:be=>Be(r)},[d(n,null,{default:m(()=>[d(a(wt))]),_:1})],8,Jt)]),_:2},1024)])],10,Wt))),128)),a(y).length>0?(u(),h("div",{key:0,ref_key:"sentinelRef",ref:Q,class:"scroll-sentinel"},[a(W)?(u(),h("span",Kt,"加载中…")):a(F)?I("",!0):(u(),h("span",Xt,"— 已全部加载 —"))],512)):I("",!0),!a(j)&&a(y).length===0?(u(),C(p,{key:1,description:"暂无待接诊患者","image-size":64})):I("",!0)])),[[ke,a(j)&&a(y).length===0]])])]),U((u(),h("section",Zt,[a(c)?a(v)?(u(),h(xe,{key:1},[d(mt,{apt:a($),diag:a(k)},null,8,["apt","diag"]),d(pt,{apt:a($),diag:a(k)},null,8,["apt","diag"]),o("div",ta,[e[11]||(e[11]=o("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),d(ct,{notes:a(Te),"diagnosis-id":(Se=a(k))==null?void 0:Se.id,onRefresh:P},null,8,["notes","diagnosis-id"])]),o("div",aa,[e[12]||(e[12]=o("div",{class:"card-title"},"日常记录",-1)),d(vt,{"diagnosis-id":Number(((we=a(k))==null?void 0:we.id)??0),"patient-id":Number(((Ce=a(k))==null?void 0:Ce.patient_id)??0),age:((Ee=a(k))==null?void 0:Ee.age)??null,"patient-name":((De=a(k))==null?void 0:De.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])],64)):I("",!0):(u(),h("div",ea,[d(p,{description:"请从左侧选择一位待接诊患者"})]))])),[[ke,a(Z)&&!a(v)]])]),d(lt,{name:"fade"},{default:m(()=>[a(c)&&a(v)?(u(),h("div",na,[U((u(),C(f,{class:"float-action note",size:"large",onClick:e[4]||(e[4]=r=>R.value=!0)},{default:m(()=>[...e[13]||(e[13]=[b(" 备注 ",-1)])]),_:1})),[[le,["doctor.appointment/addDoctorNote"]]]),U((u(),C(f,{class:"float-action edit",size:"large",onClick:We},{default:m(()=>[...e[14]||(e[14]=[b(" 编辑病历 ",-1)])]),_:1})),[[le,["tcm.diagnosis/edit"]]]),a($).status===1||a($).status===4?U((u(),C(f,{key:0,class:"float-action finish",size:"large",loading:a(ee),onClick:Ge},{default:m(()=>[...e[15]||(e[15]=[b(" 完成接诊 ",-1)])]),_:1},8,["loading"])),[[le,["doctor.appointment/complete"]]]):I("",!0)])):I("",!0)]),_:1}),d(ie,{modelValue:a(R),"onUpdate:modelValue":e[7]||(e[7]=r=>re(R)?R.value=r:null),title:"添加备注",width:"480px","append-to-body":""},{footer:m(()=>[d(f,{onClick:e[6]||(e[6]=r=>R.value=!1)},{default:m(()=>[...e[16]||(e[16]=[b("取消",-1)])]),_:1}),d(f,{type:"primary",loading:a(ne),onClick:Qe},{default:m(()=>[...e[17]||(e[17]=[b("保存",-1)])]),_:1},8,["loading"])]),default:m(()=>[d(i,{modelValue:a(z),"onUpdate:modelValue":e[5]||(e[5]=r=>re(z)?z.value=r:null),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"]),(u(),C(Ne(a($e)),{ref_key:"chatDialogRef",ref:ce},null,512)),(u(),C(Ne(a(Pe)),{ref_key:"diagnosisEditRef",ref:me,onSuccess:je},null,544))])}}}),yn=_t(sa,[["__scopeId","data-v-d392cd60"]]);export{yn as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Cf-SlqzS.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/file-D7g_w1vo.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/patient-L-xV50Pi.js","assets/tcm-D-ZRccbe.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/im-business-message-parse-QKjFLn3X.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BdeDEJMM.css","assets/edit-DL6Vxw1r.js","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{_ as Ie}from"./jspdf-BsthCvR5.js";import{d as Ke,C as Xe,M as Ze,U as et,r as tt,X as at,i as nt,W as st}from"./element-plus-DGP1XOrU.js";import{w as ot,s as it,T as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{r as qe,n as rt,a as ut,b as dt}from"./patient-L-xV50Pi.js";import ct from"./NoteTimeline-DqVO9iO4.js";import mt from"./PatientInfoCard-CRgOOFEE.js";import pt from"./PatientCaseCard-BUE1F6Xk.js";import vt from"./DailyMatrix-DtyPece3.js";import{l as ft}from"./doctor-BZKBQu9t.js";import{Y as gt}from"./tcm-D-ZRccbe.js";import{k as g,_ as _t}from"./index-J_eFER10.js";import{f as ht}from"./diag-display-DCz_VAqj.js";import{O as yt,l as kt,J as St,ap as wt}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Ct,w as Et,b as Dt,n as bt,d as It,as as qt,ak as u,I as h,J as o,a as d,aN as m,aP as U,F as xe,ap as xt,O as b,G as C,H as I,at as Ne,P as Re,A as Y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as S,o as H}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as re,n as l}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./perm-8cp9D7Ag.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CqxCRYim.js";const Nt={class:"reception-page"},Rt={class:"reception-header"},$t={class:"header-left"},Pt={class:"header-meta"},Tt={class:"header-right"},Vt={class:"live-pill"},Lt={class:"filter-shell"},Mt={class:"filter-tabs"},zt={class:"main-area"},At={class:"queue-col"},Ot={class:"queue-panel"},Ut={class:"queue-head"},Bt={class:"queue-title"},Ft={class:"queue-meta"},Wt=["onClick"],jt={class:"row-name"},Gt={class:"name-line"},Qt={class:"name-meta"},Yt={class:"time-line"},Ht=["disabled","onClick"],Jt=["onClick"],Kt={key:0},Xt={key:1,class:"no-more"},Zt={class:"sidebar"},ea={key:0,class:"placeholder-card"},ta={class:"card note-card"},aa={class:"card metric-card"},na={key:0,class:"float-bar"},ue=5e3,de=15,sa=Ct({__name:"index",setup(oa){const $e=Re(()=>Ie(()=>import("./index-Cf-SlqzS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]))),Pe=Re(()=>Ie(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([65,1,2,3,4,5,6,7,8,9,10,11,12,13,14,43,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,66,67,68,69,70,71,72,73,74,75,76,15,77,78,79,80,53,54,55,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,61,98,99,100,101,102,103,104,42,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121]))),_=l(1),y=l([]),B=l(0),J=l(0),K=l(0),X=l(1),F=l(!0),W=l(!1),j=l(!1),Z=l(!1),c=l(null),v=l(null),ee=l(!1),w=l(""),T=l(!1),V=l(ue/1e3),L=l(null);let q=null,x=null,te=!1,M=!1,E=null,G=0,N=0;const ae=l(null),Q=l(null),ce=l(),me=l(),R=l(!1),z=l(""),ne=l(!1),$=Y(()=>{var t;return((t=v.value)==null?void 0:t.appointment)||{}}),k=Y(()=>{var t;return((t=v.value)==null?void 0:t.diagnosis)||{}}),Te=Y(()=>{var t;return((t=v.value)==null?void 0:t.doctor_notes)||[]}),Ve=Y(()=>{const t=new Date,e=["周日","周一","周二","周三","周四","周五","周六"][t.getDay()],n=i=>String(i).padStart(2,"0");return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${e}`}),Le=()=>{const t=new Date,e=n=>String(n).padStart(2,"0");return`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())}`},Me=t=>[ht(t.gender),t.age!=null?t.age+"岁":""].filter(n=>n&&n!=="—").join(" "),ze=t=>t?t.replace(/^(\d{2}:\d{2})(:\d{2})?$/,"$1"):"—",se=async(t,e,n)=>{const i=Le(),s=await dt({status:e??_.value,start_date:i,end_date:i,patient_name:(n??w.value)||void 0,page_no:t,page_size:de}),D=(s==null?void 0:s.lists)||(s==null?void 0:s.data)||[],p=Number((s==null?void 0:s.count)??(s==null?void 0:s.total)??0);return{list:D,count:p}},Ae=async(t,e,n)=>{const i=t===1?4:1;try{const{count:s}=await se(1,i,e||void 0);if(n!==G||_.value!==t||w.value!==e)return;i===1?J.value=s:K.value=s}catch{}},A=async t=>{const e=(t==null?void 0:t.silent)===!0;if(e&&te)return;const n=++G,i=_.value,s=w.value,D=(t==null?void 0:t.autoSelect)??!e;te=!0,e||(j.value=!0);try{X.value=1;const{list:p,count:f}=await se(1,i,s||void 0);if(n!==G||_.value!==i||w.value!==s)return;y.value=p,B.value=f||p.length,i===1?J.value=f:K.value=f,F.value=p.length>=de&&y.value.length<(f||0),Ae(i,s,n),c.value&&!p.some(ie=>ie.id===c.value)&&(c.value=null,v.value=null),!c.value&&D&&p.length>0&&await pe(p[0])}catch(p){e||console.error("加载队列失败:",p)}finally{n===G&&(j.value=!1,te=!1)}},Oe=async()=>{if(W.value||!F.value)return;const t=_.value,e=w.value;W.value=!0;try{const n=X.value+1,{list:i,count:s}=await se(n,t,e||void 0);if(_.value!==t||w.value!==e)return;const D=new Set(y.value.map(f=>f.id)),p=i.filter(f=>!D.has(f.id));y.value=[...y.value,...p],X.value=n,B.value=s||B.value,F.value=i.length>=de&&y.value.length<(s||0)}catch(n){console.error("加载更多失败:",n)}finally{W.value=!1}},Ue=async()=>{if(!c.value||M)return;const t=c.value,e=++N;M=!0;try{const n=await qe({id:t});if(e!==N||c.value!==t)return;v.value=n||v.value}catch{}finally{e===N&&(M=!1)}},pe=async t=>{if(c.value===t.id)return;const e=t.id,n=++N;c.value=t.id,v.value=null,Z.value=!0,M=!0,O();try{const i=await qe({id:e});if(n!==N||c.value!==e)return;v.value=i||null}catch(i){console.error("加载详情失败:",i),g.msgError("加载患者详情失败")}finally{n===N&&(Z.value=!1,M=!1)}},ve=async t=>{_.value!==t&&(_.value=t,c.value=null,v.value=null,await A(),O())},fe=async()=>{c.value=null,v.value=null,await A(),O()},Be=async t=>{var i;const e=Number(t.source_patient_id||0),n=Number(t.diagnosis_id||0);if(!e){g.msgWarning("患者信息不完整");return}if(!n){g.msgWarning("预约信息不完整,无法发起聊天");return}try{const s=await gt({patient_id:e,diagnosis_id:n});(i=ce.value)==null||i.open({patientId:e,patientName:t.patient_name,diagnosisId:n,signatureData:s})}catch(s){console.error("获取通话签名失败:",s),g.msgError((s==null?void 0:s.message)||"获取通话签名失败")}},Fe=async t=>{if(!L.value){L.value=t.id;try{await rt({id:t.id}),g.msgSuccess(`已通知医助 ${t.assistant_name||""}`),await P()}catch(e){g.msgError((e==null?void 0:e.message)||"通知失败")}finally{L.value=null}}},We=()=>{var t,e;(t=k.value)!=null&&t.patient_id&&((e=me.value)==null||e.open("edit",k.value.patient_id))},je=async()=>{await P()},P=async()=>{const t=c.value;await A({silent:!0,autoSelect:!1}),t&&c.value===t&&await Ue(),O()},Ge=async()=>{var t;if((t=$.value)!=null&&t.id){try{await g.confirm("确认将该患者标记为「已完成接诊」?此操作不可撤销。")}catch{return}ee.value=!0;try{await ft({id:$.value.id}),g.msgSuccess("已完成接诊"),c.value=null,v.value=null,await A({autoSelect:!0}),O()}catch(e){g.msgError((e==null?void 0:e.message)||"操作失败")}finally{ee.value=!1}}},Qe=async()=>{var n;const t=(n=k.value)==null?void 0:n.id;if(!t){g.msgWarning("当前患者无诊单,无法添加备注");return}const e=z.value.trim();if(!e){g.msgWarning("请输入备注内容");return}ne.value=!0;try{await ut({diagnosis_id:t,content:e}),g.msgSuccess("备注保存成功"),z.value="",R.value=!1,await P()}catch(i){g.msgError((i==null?void 0:i.message)||"保存失败")}finally{ne.value=!1}},Ye=()=>{V.value=ue/1e3},He=()=>{x&&clearInterval(x),Ye(),x=setInterval(()=>{T.value||(V.value>1?V.value-=1:V.value=1)},1e3)},ge=()=>{q&&clearTimeout(q),!T.value&&(He(),q=setTimeout(async()=>{await P()},ue))},O=()=>{ge()},Je=()=>{oe(),ge()},oe=()=>{q&&(clearTimeout(q),q=null),x&&(clearInterval(x),x=null)},_e=()=>{T.value=document.hidden,document.hidden?oe():P()},he=t=>{var n;const e=String(((n=t==null?void 0:t.reason)==null?void 0:n.message)||(t==null?void 0:t.reason)||"");/Receiving end does not exist|Could not establish connection/i.test(e)&&t.preventDefault()},ye=()=>{!Q.value||!ae.value||(E==null||E.disconnect(),E=new IntersectionObserver(t=>{for(const e of t)e.isIntersecting&&Oe()},{root:ae.value,rootMargin:"80px",threshold:0}),E.observe(Q.value))};return Et(Q,()=>ye()),Dt(()=>{A(),Je(),document.addEventListener("visibilitychange",_e),window.addEventListener("unhandledrejection",he),bt(()=>ye())}),It(()=>{oe(),E==null||E.disconnect(),document.removeEventListener("visibilitychange",_e),window.removeEventListener("unhandledrejection",he)}),(t,e)=>{var Se,we,Ce,Ee,De;const n=Ke,i=Xe,s=et,D=tt,p=at,f=nt,ie=st,ke=Ze,le=qt("perms");return u(),h("div",Nt,[o("div",Rt,[o("div",$t,[e[8]||(e[8]=o("h1",{class:"header-title"},"接诊台",-1)),o("div",Pt,S(a(Ve)),1)]),o("div",Tt,[o("div",Vt,[o("span",{class:H(["live-dot",{paused:a(T)}])},null,2),o("span",null,S(a(T)?"已暂停":`${a(V)}s 后刷新`),1)])])]),o("div",Lt,[d(i,{modelValue:a(w),"onUpdate:modelValue":e[0]||(e[0]=r=>re(w)?w.value=r:null),placeholder:"请输入患者姓名",clearable:"",size:"default",class:"search-input",onKeyup:ot(fe,["enter"]),onClear:fe},{prefix:m(()=>[d(n,null,{default:m(()=>[d(a(yt))]),_:1})]),_:1},8,["modelValue"]),o("div",Mt,[o("span",{class:H(["filter-tab",{active:a(_)===1}]),onClick:e[1]||(e[1]=r=>ve(1))},"待接诊 "+S(a(J))+" 人",3),e[9]||(e[9]=o("span",{class:"filter-sep"},"·",-1)),o("span",{class:H(["filter-tab",{active:a(_)===4}]),onClick:e[2]||(e[2]=r=>ve(4))},"已过号 "+S(a(K))+" 人",3)])]),o("div",zt,[o("aside",At,[o("div",Ot,[o("div",Ut,[o("span",Bt,S(a(_)===1?"待接诊":"已过号"),1),o("span",Ft,S(a(B))+" 人",1)]),U((u(),h("div",{ref_key:"queueScrollRef",ref:ae,class:"queue-list"},[(u(!0),h(xe,null,xt(a(y),r=>(u(),h("div",{key:r.id,class:H(["queue-row",{active:a(c)===r.id,passed:r.status===4}]),onClick:be=>pe(r)},[o("div",jt,[o("div",Gt,[b(S(r.patient_name||"未命名")+" ",1),o("span",Qt,S(Me(r)),1),r.status===4?(u(),C(s,{key:0,size:"small",type:"warning",class:"ml-1"},{default:m(()=>[...e[10]||(e[10]=[b("已过号",-1)])]),_:1})):I("",!0)]),o("div",Yt,S(ze(r.appointment_time))+" · 医助 "+S(r.assistant_name||"—"),1)]),o("div",{class:"row-actions",onClick:e[3]||(e[3]=it(()=>{},["stop"]))},[d(D,{content:"通知医助(企业微信)",placement:"top"},{default:m(()=>[o("button",{class:"row-icon-btn notify",disabled:a(L)===r.id,onClick:be=>Fe(r)},[a(L)===r.id?(u(),C(n,{key:0,class:"is-loading"},{default:m(()=>[d(a(kt))]),_:1})):(u(),C(n,{key:1},{default:m(()=>[d(a(St))]),_:1}))],8,Ht)]),_:2},1024),d(D,{content:"发起通话",placement:"top"},{default:m(()=>[o("button",{class:"row-icon-btn call",onClick:be=>Be(r)},[d(n,null,{default:m(()=>[d(a(wt))]),_:1})],8,Jt)]),_:2},1024)])],10,Wt))),128)),a(y).length>0?(u(),h("div",{key:0,ref_key:"sentinelRef",ref:Q,class:"scroll-sentinel"},[a(W)?(u(),h("span",Kt,"加载中…")):a(F)?I("",!0):(u(),h("span",Xt,"— 已全部加载 —"))],512)):I("",!0),!a(j)&&a(y).length===0?(u(),C(p,{key:1,description:"暂无待接诊患者","image-size":64})):I("",!0)])),[[ke,a(j)&&a(y).length===0]])])]),U((u(),h("section",Zt,[a(c)?a(v)?(u(),h(xe,{key:1},[d(mt,{apt:a($),diag:a(k)},null,8,["apt","diag"]),d(pt,{apt:a($),diag:a(k)},null,8,["apt","diag"]),o("div",ta,[e[11]||(e[11]=o("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),d(ct,{notes:a(Te),"diagnosis-id":(Se=a(k))==null?void 0:Se.id,onRefresh:P},null,8,["notes","diagnosis-id"])]),o("div",aa,[e[12]||(e[12]=o("div",{class:"card-title"},"日常记录",-1)),d(vt,{"diagnosis-id":Number(((we=a(k))==null?void 0:we.id)??0),"patient-id":Number(((Ce=a(k))==null?void 0:Ce.patient_id)??0),age:((Ee=a(k))==null?void 0:Ee.age)??null,"patient-name":((De=a(k))==null?void 0:De.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])],64)):I("",!0):(u(),h("div",ea,[d(p,{description:"请从左侧选择一位待接诊患者"})]))])),[[ke,a(Z)&&!a(v)]])]),d(lt,{name:"fade"},{default:m(()=>[a(c)&&a(v)?(u(),h("div",na,[U((u(),C(f,{class:"float-action note",size:"large",onClick:e[4]||(e[4]=r=>R.value=!0)},{default:m(()=>[...e[13]||(e[13]=[b(" 备注 ",-1)])]),_:1})),[[le,["doctor.appointment/addDoctorNote"]]]),U((u(),C(f,{class:"float-action edit",size:"large",onClick:We},{default:m(()=>[...e[14]||(e[14]=[b(" 编辑病历 ",-1)])]),_:1})),[[le,["tcm.diagnosis/edit"]]]),a($).status===1||a($).status===4?U((u(),C(f,{key:0,class:"float-action finish",size:"large",loading:a(ee),onClick:Ge},{default:m(()=>[...e[15]||(e[15]=[b(" 完成接诊 ",-1)])]),_:1},8,["loading"])),[[le,["doctor.appointment/complete"]]]):I("",!0)])):I("",!0)]),_:1}),d(ie,{modelValue:a(R),"onUpdate:modelValue":e[7]||(e[7]=r=>re(R)?R.value=r:null),title:"添加备注",width:"480px","append-to-body":""},{footer:m(()=>[d(f,{onClick:e[6]||(e[6]=r=>R.value=!1)},{default:m(()=>[...e[16]||(e[16]=[b("取消",-1)])]),_:1}),d(f,{type:"primary",loading:a(ne),onClick:Qe},{default:m(()=>[...e[17]||(e[17]=[b("保存",-1)])]),_:1},8,["loading"])]),default:m(()=>[d(i,{modelValue:a(z),"onUpdate:modelValue":e[5]||(e[5]=r=>re(z)?z.value=r:null),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"]),(u(),C(Ne(a($e)),{ref_key:"chatDialogRef",ref:ce},null,512)),(u(),C(Ne(a(Pe)),{ref_key:"diagnosisEditRef",ref:me,onSuccess:je},null,544))])}}}),yn=_t(sa,[["__scopeId","data-v-d392cd60"]]);export{yn as default}; diff --git a/server/public/admin/assets/index-BTh_xBKj.js b/server/public/admin/assets/index-B48jKD3-.js similarity index 74% rename from server/public/admin/assets/index-BTh_xBKj.js rename to server/public/admin/assets/index-B48jKD3-.js index 623eb3f94..039475abf 100644 --- a/server/public/admin/assets/index-BTh_xBKj.js +++ b/server/public/admin/assets/index-B48jKD3-.js @@ -1 +1 @@ -import i from"./attr-DaHTqGGt.js";import{_}from"./content.vue_vue_type_script_setup_true_lang-DdNcvOry.js";import{_ as s}from"./attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js";import a from"./content-Dbr1CmpF.js";import{_ as r}from"./attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js";import{_ as l}from"./content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js";import{_ as c}from"./attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js";import m from"./content-8Zehp_Rk.js";import{_ as d}from"./attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js";import{_ as p}from"./content.vue_vue_type_script_setup_true_lang-CN32u1VP.js";import{_ as f}from"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import b from"./content-BKtyOCcY.js";import{_ as g}from"./attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js";import u from"./content-BTqw4mI0.js";import{_ as y}from"./content.vue_vue_type_script_setup_true_lang-B83-RT4p.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import v from"./content-DNPcBCfo.js";import{_ as x}from"./attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js";import{_ as j}from"./content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js";import{_ as O}from"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import S from"./content-lVo8M4Zt.js";const z=()=>({title:"首页轮播图",name:"banner",content:{enabled:1,style:1,bg_style:0,data:[{is_show:"1",image:"",bg:"",name:"",link:{}}]},styles:{}}),M={attr:i,content:_,options:z},P=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"})),T=()=>({title:"客服设置",name:"customer-service",content:{title:"添加客服二维码",time:"",mobile:"",qrcode:"",remark:""},styles:{}}),w={attr:s,content:a,options:T},h=Object.freeze(Object.defineProperty({__proto__:null,default:w},Symbol.toStringTag,{value:"Module"})),k=()=>({title:"首页中部轮播图",name:"middle-banner",content:{enabled:1,data:[{is_show:"1",image:"",name:"",link:{}}]},styles:{}}),q={attr:r,content:l,options:k},E=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"})),N=()=>({title:"我的服务",name:"my-service",content:{style:1,title:"我的服务",data:[{image:"",name:"导航名称",link:{}}]},styles:{}}),W={attr:c,content:m,options:N},A=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"})),B=()=>({title:"导航菜单",name:"nav",content:{enabled:1,style:1,per_line:5,show_line:2,data:[{image:"",name:"导航名称",link:{}}]},styles:{}}),C={attr:d,content:p,options:B},D=Object.freeze(Object.defineProperty({__proto__:null,default:C},Symbol.toStringTag,{value:"Module"})),F=()=>({title:"资讯",name:"news",disabled:1,content:{},styles:{}}),G={attr:f,content:b,options:F},H=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),I=()=>({title:"页面设置",name:"page-meta",content:{title_type:1,title:"",title_img:"",bg_type:1,bg_color:"",bg_image:"",text_color:""},styles:{}}),J={attr:g,content:u,options:I},K=Object.freeze(Object.defineProperty({__proto__:null,default:J},Symbol.toStringTag,{value:"Module"})),L=()=>({title:"首页轮播图",name:"pc-banner",content:{enabled:1,data:[{image:"",name:"",link:{}}]},styles:{}}),Q={content:y,options:L},R=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"})),U=()=>({title:"搜索",name:"search",disabled:1,content:{},styles:{}}),V={attr:$,content:v,options:U},X=Object.freeze(Object.defineProperty({__proto__:null,default:V},Symbol.toStringTag,{value:"Module"})),Y=()=>({title:"个人中心广告图",name:"user-banner",content:{enabled:1,data:[{is_show:"1",image:"",name:"",link:{}}]},styles:{}}),Z={attr:x,content:j,options:Y},tt=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"})),et=()=>({title:"用户信息",name:"user-info",disabled:1,content:{},styles:{}}),ot={attr:O,content:S,options:et},nt=Object.freeze(Object.defineProperty({__proto__:null,default:ot},Symbol.toStringTag,{value:"Module"})),o=Object.assign({"./banner/index.ts":P,"./customer-service/index.ts":h,"./middle-banner/index.ts":E,"./my-service/index.ts":A,"./nav/index.ts":D,"./news/index.ts":H,"./page-meta/index.ts":K,"./pc-banner/index.ts":R,"./search/index.ts":X,"./user-banner/index.ts":tt,"./user-info/index.ts":nt}),it={};Object.keys(o).forEach(t=>{var e;const n=t.replace(/^\.\/([\w-]+).*/gi,"$1");it[n]=(e=o[t])==null?void 0:e.default});export{it as e}; +import i from"./attr-U0WNIueQ.js";import{_}from"./content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js";import{_ as s}from"./attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js";import a from"./content-CuE78Set.js";import{_ as r}from"./attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js";import{_ as l}from"./content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js";import{_ as c}from"./attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js";import m from"./content-CC1w-xAd.js";import{_ as d}from"./attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js";import{_ as p}from"./content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js";import{_ as f}from"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import b from"./content-CjkrN-kA.js";import{_ as g}from"./attr.vue_vue_type_script_setup_true_lang-InluY_es.js";import u from"./content-CQZwJIUc.js";import{_ as y}from"./content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import v from"./content-BzNveTg-.js";import{_ as x}from"./attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js";import{_ as j}from"./content.vue_vue_type_script_setup_true_lang-DsMOey0g.js";import{_ as O}from"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import S from"./content-DrZ0HxYf.js";const z=()=>({title:"首页轮播图",name:"banner",content:{enabled:1,style:1,bg_style:0,data:[{is_show:"1",image:"",bg:"",name:"",link:{}}]},styles:{}}),M={attr:i,content:_,options:z},P=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"})),T=()=>({title:"客服设置",name:"customer-service",content:{title:"添加客服二维码",time:"",mobile:"",qrcode:"",remark:""},styles:{}}),w={attr:s,content:a,options:T},h=Object.freeze(Object.defineProperty({__proto__:null,default:w},Symbol.toStringTag,{value:"Module"})),k=()=>({title:"首页中部轮播图",name:"middle-banner",content:{enabled:1,data:[{is_show:"1",image:"",name:"",link:{}}]},styles:{}}),q={attr:r,content:l,options:k},E=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"})),N=()=>({title:"我的服务",name:"my-service",content:{style:1,title:"我的服务",data:[{image:"",name:"导航名称",link:{}}]},styles:{}}),W={attr:c,content:m,options:N},A=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"})),B=()=>({title:"导航菜单",name:"nav",content:{enabled:1,style:1,per_line:5,show_line:2,data:[{image:"",name:"导航名称",link:{}}]},styles:{}}),C={attr:d,content:p,options:B},D=Object.freeze(Object.defineProperty({__proto__:null,default:C},Symbol.toStringTag,{value:"Module"})),F=()=>({title:"资讯",name:"news",disabled:1,content:{},styles:{}}),G={attr:f,content:b,options:F},H=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),I=()=>({title:"页面设置",name:"page-meta",content:{title_type:1,title:"",title_img:"",bg_type:1,bg_color:"",bg_image:"",text_color:""},styles:{}}),J={attr:g,content:u,options:I},K=Object.freeze(Object.defineProperty({__proto__:null,default:J},Symbol.toStringTag,{value:"Module"})),L=()=>({title:"首页轮播图",name:"pc-banner",content:{enabled:1,data:[{image:"",name:"",link:{}}]},styles:{}}),Q={content:y,options:L},R=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"})),U=()=>({title:"搜索",name:"search",disabled:1,content:{},styles:{}}),V={attr:$,content:v,options:U},X=Object.freeze(Object.defineProperty({__proto__:null,default:V},Symbol.toStringTag,{value:"Module"})),Y=()=>({title:"个人中心广告图",name:"user-banner",content:{enabled:1,data:[{is_show:"1",image:"",name:"",link:{}}]},styles:{}}),Z={attr:x,content:j,options:Y},tt=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"})),et=()=>({title:"用户信息",name:"user-info",disabled:1,content:{},styles:{}}),ot={attr:O,content:S,options:et},nt=Object.freeze(Object.defineProperty({__proto__:null,default:ot},Symbol.toStringTag,{value:"Module"})),o=Object.assign({"./banner/index.ts":P,"./customer-service/index.ts":h,"./middle-banner/index.ts":E,"./my-service/index.ts":A,"./nav/index.ts":D,"./news/index.ts":H,"./page-meta/index.ts":K,"./pc-banner/index.ts":R,"./search/index.ts":X,"./user-banner/index.ts":tt,"./user-info/index.ts":nt}),it={};Object.keys(o).forEach(t=>{var e;const n=t.replace(/^\.\/([\w-]+).*/gi,"$1");it[n]=(e=o[t])==null?void 0:e.default});export{it as e}; diff --git a/server/public/admin/assets/index-YlXDfCLx.js b/server/public/admin/assets/index-BDHpYY_Z.js similarity index 98% rename from server/public/admin/assets/index-YlXDfCLx.js rename to server/public/admin/assets/index-BDHpYY_Z.js index 9c17f69c8..2ebed1b16 100644 --- a/server/public/admin/assets/index-YlXDfCLx.js +++ b/server/public/admin/assets/index-BDHpYY_Z.js @@ -1 +1 @@ -import{D as el,B as tl,C as ll,Q as al,R as ol,i as nl,K as sl,m as rl,l as il,N as dl,O as ul,U as ml,M as pl,a6 as fl,a7 as yl,I as _l,V as cl,W as vl,S as gl,L as bl,G as kl,J as xl,g as Vl,h as wl,d as Tl}from"./element-plus-DGP1XOrU.js";import{_ as Cl}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as Sl}from"./index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js";import{_ as Dl}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as mt,s as pt}from"./@vue/runtime-dom-DDAG46FW.js";import{u as $l}from"./usePaging-DofycyjW.js";import{h as El}from"./perm-CTlz8z1G.js";import{o as Ul,a as Pl,b as hl,c as Ol,d as Ml,e as Al,s as ft,f as Ll,g as Yl,h as ql,i as Nl,j as Rl,k as zl,l as Fl,m as yt,n as Il,w as Wl,p as Bl,q as Hl,r as jl,t as Ql}from"./order-L3Ma3_1N.js";import{X as Gl,n as Kl}from"./tcm-CEIBuAeK.js";import{l as Jl}from"./@element-plus/icons-vue-CbYn5zW9.js";import{k as v,_ as Xl}from"./index-fRv3NTFQ.js";import{f as _t,b as Zl,as as ea,ak as d,I as V,a as t,aN as o,F as Y,ap as se,G as _,O as s,aP as D,J as g,H as b,A as re}from"./@vue/runtime-core-C6bnekPw.js";import{n as m,y as n,a as $,r as Qe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ta={class:"order-list"},la={class:"flex items-center justify-between mb-4"},aa={class:"flex items-center gap-4 text-sm"},oa={class:"text-red-500 font-semibold text-lg"},na={class:"text-gray-400"},sa={class:"mb-3 flex items-center gap-3"},ra={key:0,class:"text-sm text-gray-500"},ia={key:0},da={key:1,class:"text-amber-600"},ua={class:"text-xs text-gray-400"},ma={key:0,class:"text-xs text-gray-400"},pa={class:"text-red-500 font-semibold"},fa={class:"flex justify-end mt-4"},ya={class:"text-red-500 font-semibold"},_a={key:2,class:"text-xs text-gray-500 mb-2"},ca={key:4,class:"flex justify-end mt-3"},va={key:0,class:"text-xs text-gray-500 mb-3"},ga={class:"text-sm text-gray-600 mb-3"},ba={class:"text-red-500 font-semibold"},ka={class:"text-red-500 font-semibold"},xa={class:"text-sm text-gray-600 mb-3"},Va={class:"font-mono"},wa={class:"text-red-500 font-semibold"},Ta={class:"space-y-2 mb-3 max-h-[320px] overflow-y-auto pr-1"},Ca={class:"text-sm text-gray-500 w-14 shrink-0"},Sa={class:"flex flex-col items-center justify-center py-4"},Da={key:0,class:"text-center"},$a={key:1,class:"text-center"},Ea=["src"],Ua={class:"mt-4 text-sm text-gray-600"},Pa={key:2,class:"text-center text-gray-500"},ha=_t({name:"orderList"}),Oa=_t({...ha,setup(Ma){const T=Qe({order_no:"",patient_keyword:"",assistant_id:void 0,order_type:"",status:"",patient_association:"",create_time_start:"",create_time_end:""}),ie=m([]),Ge=m(null),Ke=m([]),z=re(()=>Ke.value.map(a=>a.id).filter(a=>a>0)),F=m(!1),we=m(!1),Z=Qe({assistant_id:void 0}),de=m(""),ue=m({amount:"0.00",count:0}),{pager:I,getLists:E,resetPage:Je,resetParams:ct}=$l({fetchFun:Ul,params:T}),vt=a=>{Ke.value=a||[]},gt=()=>{if(!z.value.length){v.msgWarning("请先勾选要指派的支付单");return}Z.assistant_id=void 0,F.value=!0},bt=async()=>{var a;if(Z.assistant_id==null){v.msgWarning("请选择医助");return}we.value=!0;try{await hl({order_ids:[...z.value],assistant_id:Z.assistant_id}),v.msgSuccess("指派成功"),F.value=!1,(a=Ge.value)==null||a.clearSelection(),E(),W()}catch(e){e!=null&&e.msg&&v.msgError(e.msg)}finally{we.value=!1}},Te=()=>{Je()},kt=a=>{T.patient_association=a||"",Je()},W=async()=>{try{const a=await Ol();ue.value=(a==null?void 0:a.data)||a||{amount:"0.00",count:0}}catch{ue.value={amount:"0.00",count:0}}},xt=()=>{de.value="",ct()},me=m(!1),k=m(null),Ce=m(0),Se=m(!1),De=m([]),$e=m(0),B=m(1),pe=m(10),fe=m(!1),ye=m(!1),Ee=m([]),L=m(null),ee=m(""),Ue=async()=>{if(Ce.value){Se.value=!0;try{const a=await Ml({order_id:Ce.value,page_no:B.value,page_size:pe.value});De.value=(a==null?void 0:a.lists)||[],$e.value=(a==null?void 0:a.count)??0}catch{De.value=[],$e.value=0}finally{Se.value=!1}}},Vt=()=>{B.value=1,Ue()},wt=()=>{L.value=null,Xe()},Xe=async()=>{ye.value=!0;try{const a={};L.value&&L.value.length===2&&(a.start_time=L.value[0],a.end_time=L.value[1]);const e=await Al(Object.keys(a).length?a:void 0);Ee.value=(e==null?void 0:e.list)||[],e!=null&&e.start_time&&(e!=null&&e.end_time)?ee.value=`${e.start_time} ~ ${e.end_time}`:ee.value=""}catch{Ee.value=[],ee.value=""}finally{ye.value=!1}},q=m(!1),_e=m(!1),y=m({order_id:0,order_no:"",amount:0,fubeiPendingAudit:!1,payment_method:"alipay",payType:"supplement",supplement_order_no:""}),N=m(!1),Pe=m(),he=m(!1),Oe=m(!1),Me=m([]),p=Qe({createType:"normal",requirePaymentSlipAudit:!1,patient_id:"",order_type:"",amount:0,remark:""}),Tt={patient_id:[{required:!0,message:"请选择患者",trigger:"change"}],order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},H=m(!1),Ze=m(),Ae=m(!1),Le=m(!1),te=m([]),C=m(null),Ye=re(()=>El(["order.order/editTime"])),qe=re(()=>{var a;return[2,4].includes(((a=C.value)==null?void 0:a.status)??0)}),Ct={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],payment_time:[{validator:(a,e,u)=>{if(qe.value&&!e){u(new Error("请选择支付时间"));return}u()},trigger:"change"}],create_time:[{required:!0,message:"请选择创建时间",trigger:"change"}]},St=async a=>{if(!a){Me.value=[];return}try{Oe.value=!0;const e=await ft({keyword:a,page_no:1,page_size:10});Me.value=(e==null?void 0:e.lists)||[]}catch(e){console.error("搜索患者失败:",e)}finally{Oe.value=!1}},et=()=>{var a;p.createType="normal",p.requirePaymentSlipAudit=!1,p.patient_id="",p.order_type="",p.amount=0,p.remark="",(a=Pe.value)==null||a.clearValidate()},Dt=()=>{et(),N.value=!0},j=m(!1),ce=m(!1),Ne=m(!1),ve=m(""),Q=m([new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)]),$t=[{text:"最近7天",value:()=>{const a=new Date,e=new Date;return e.setTime(e.getTime()-7*864e5),[e,a]}},{text:"最近30天",value:()=>{const a=new Date,e=new Date;return e.setTime(e.getTime()-30*864e5),[e,a]}},{text:"今天",value:()=>{const a=new Date;return[a,a]}}],Et=()=>{Q.value=[new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)],j.value=!0},Ut=async()=>{var e;const a=Q.value;if(!a||a.length!==2){v.msgError("请先选择时间范围");return}try{Ne.value=!0;const u=await Ll({begin_time:a[0],end_time:a[1],payee_userid:ve.value||void 0}),r=(u==null?void 0:u.data)||u;let i=`配置:${r.config_ok?"✓":"✗"} | token:${r.access_token} | errcode:${r.api_errcode} | errmsg:${r.api_errmsg||"-"} | 账单数:${r.bill_count}`;(e=r.try_payee_userids)!=null&&e.length&&(i+=`。可尝试收款人: ${r.try_payee_userids.join(", ")}`),r.api_errcode!==0&&r.api_errcode!==-999&&(i+="。提示:需使用「对外收款」应用的Secret(管理后台-应用管理-对外收款-API)"),v.msgSuccess(i),console.log("企业微信同步调试:",r)}catch(u){v.msgError((u==null?void 0:u.message)||"排查失败")}finally{Ne.value=!1}},Pt=async()=>{var e;const a=Q.value;if(!a||a.length!==2){v.msgError("请选择时间范围");return}try{ce.value=!0;const u=await Yl({begin_time:a[0],end_time:a[1]}),r=(u==null?void 0:u.data)||u;j.value=!1,E();const i=`同步完成:新增 ${r.created||0} 笔,更新 ${r.updated||0} 笔,跳过 ${r.skipped||0} 笔`+((e=r.errors)!=null&&e.length?`;错误:${r.errors.join(";")}`:"");v.msgSuccess(i),W()}catch(u){v.msgError((u==null?void 0:u.message)||"同步失败")}finally{ce.value=!1}},ht=async()=>{var a,e;try{if(await((a=Pe.value)==null?void 0:a.validate()),he.value=!0,p.createType==="wechat_work"){const u={patient_id:p.patient_id,order_type:p.order_type,amount:p.amount,remark:p.remark,create_type:"wechat_work"},r=await ql(u),i=(r==null?void 0:r.order_no)??((e=r==null?void 0:r.data)==null?void 0:e.order_no);N.value=!1,E(),v.msgSuccess(i?`订单创建成功,请在企业微信收款时使用订单号:${i}`:"订单创建成功")}else{const u={patient_id:p.patient_id,order_type:p.order_type,amount:p.amount,remark:p.remark,create_type:p.createType};p.createType==="fubei"?(u.payment_channel="fubei",u.require_payment_slip_audit=p.requirePaymentSlipAudit?1:0):p.createType==="express_cod"?(u.payment_channel="express_cod",u.require_payment_slip_audit=p.requirePaymentSlipAudit?1:0):(u.payment_channel="normal",u.require_payment_slip_audit=0),await Nl(u);const r=(p.createType==="fubei"||p.createType==="express_cod")&&p.requirePaymentSlipAudit?"订单已创建,支付状态为「待审核」":"订单创建成功";v.msgSuccess(r),N.value=!1,E()}}catch(u){console.error("创建订单失败:",u)}finally{he.value=!1}},tt=a=>({1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"})[a]||"未知",lt=a=>({1:"success",2:"info",3:"warning"})[a]||"info",at=a=>({1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"})[a]||"未知",ot=a=>({1:"warning",2:"success",3:"info",4:"danger",5:"warning"})[a]||"info",nt=a=>a?{alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",manual:"手动确认"}[a]||"未知":"-",st=a=>{const e={normal:"普通订单",wechat_work:"企业微信对外收款",fubei:"付呗",express_cod:"快递代收"},u=a==null?void 0:a.create_type;return u==="wechat_work"||u==="fubei"||u==="express_cod"?e[u]:u==="normal"&&(a!=null&&a.payment_method)?nt(a.payment_method):u&&e[u]?e[u]:nt(a==null?void 0:a.payment_method)},rt=a=>{var R;if(a==null||a===""||a==="-")return"";const e=String(a).trim(),u=(R=e.match(/^\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}/))==null?void 0:R[0];if(u)return u.replace("T"," ");const r=/^\d{10,13}$/.test(e)?Number(e):0,i=new Date(r?r<1e12?r*1e3:r:e);if(Number.isNaN(i.getTime()))return"";const w=c=>String(c).padStart(2,"0");return`${i.getFullYear()}-${w(i.getMonth()+1)}-${w(i.getDate())} ${w(i.getHours())}:${w(i.getMinutes())}:${w(i.getSeconds())}`},Ot=a=>{C.value={id:a.id,patient_id:a.patient_id||null,order_type:a.order_type,status:Number(a.status),payment_time:[2,4].includes(Number(a.status))?rt(a.payment_time):"",create_time:rt(a.create_time)},te.value=a.patient?[a.patient]:[],H.value=!0},Mt=async a=>{if(!a){te.value=[];return}try{Le.value=!0;const e=await ft({keyword:a,page_no:1,page_size:10});te.value=(e==null?void 0:e.lists)||[]}catch{te.value=[]}finally{Le.value=!1}},At=async()=>{var a;if(C.value)try{await((a=Ze.value)==null?void 0:a.validate()),Ae.value=!0;const e={id:C.value.id,patient_id:C.value.patient_id??0,order_type:C.value.order_type};Ye.value&&(e.create_time=C.value.create_time,qe.value&&(e.payment_time=C.value.payment_time)),await Rl(e),v.msgSuccess("保存成功"),H.value=!1,E(),W()}catch(e){e!=null&&e.message&&v.msgError(e.message)}finally{Ae.value=!1}},G=m(!1),h=m(null),K=m(2),J=m([]),le=m([]),Re=m(!1),it=()=>{if(!h.value)return;const a=Number(h.value.amount),e=Math.max(2,Math.min(20,Math.floor(Number(K.value)||2)));K.value=e;const u=Math.round(a*100),r=Math.floor(u/e),i=u%e,w=[];for(let X=0;XO{h.value=a,K.value=2,it(),G.value=!0},dt=re(()=>J.value.reduce((a,e)=>a+Number(e||0),0)),ge=re(()=>{if(!h.value)return!1;const a=Number(h.value.amount);return Math.abs(dt.value-a)<1e-4}),Yt=async()=>{if(!(!h.value||!ge.value)){Re.value=!0;try{await zl({id:h.value.id,amounts:J.value.map(a=>Number(a)),order_types:le.value.map(a=>Number(a))}),v.msgSuccess("拆分成功"),G.value=!1,E(),W()}catch(a){a!=null&&a.msg&&v.msgError(a.msg)}finally{Re.value=!1}}},qt=async a=>{try{const e=await Fl({id:a.id});k.value=e,Ce.value=a.id,B.value=1,me.value=!0,Ue()}catch(e){console.error("获取详情失败:",e)}},Nt=a=>{const e=a.status===5&&(a.payment_method==="fubei"||a.create_type==="express_cod");y.value={order_id:a.id,order_no:a.order_no,amount:a.amount,fubeiPendingAudit:e,payment_method:e?"manual":"alipay",payType:"supplement",supplement_order_no:""},q.value=!0},Rt=async()=>{try{if(y.value.fubeiPendingAudit){_e.value=!0,await yt({id:y.value.order_id,payment_method:y.value.payment_method}),v.msgSuccess("已更新为已支付"),q.value=!1,E(),W();return}if(y.value.payType==="supplement"&&!y.value.supplement_order_no){v.msgWarning("请输入支付订单号");return}_e.value=!0;let a={};if(y.value.payType==="normal"?a={id:y.value.order_id,order_no:y.value.order_no,amount:y.value.amount,payment_method:y.value.payment_method}:a={order_no:y.value.supplement_order_no,payment_method:y.value.payment_method,is_supplement:1},y.value.payment_method==="wechat_work")await yt(a),v.msgSuccess("补单成功");else{let e;y.value.payment_method==="alipay"?e=await Il(a):y.value.payment_method==="wechat"&&(e=await Wl(a)),e&&e.pay_url&&(y.value.payment_method==="alipay"?window.location.href=e.pay_url:y.value.payment_method==="wechat"&&v.msgSuccess("请扫描二维码进行支付"))}q.value=!1,setTimeout(()=>{E()},2e3)}catch(a){console.error("支付失败:",a),v.msgError("支付失败,请重试")}finally{_e.value=!1}},zt=async a=>{try{await v.confirm("确定要取消该订单吗?"),await Bl({id:a.id}),v.msgSuccess("取消成功"),E()}catch{}},Ft=async a=>{try{await v.confirm("确定要退款该订单吗?"),await Hl({id:a.id}),v.msgSuccess("退款成功"),E()}catch{}},It=async a=>{try{await v.confirm("确定要删除该订单吗?此操作不可恢复"),await jl({id:a.id}),v.msgSuccess("删除成功"),E()}catch{}},Wt=async a=>{const e=a.is_exempt===1?0:1,u=e===1?"设为豁免":"取消豁免";try{await v.confirm(`确定要${u}该支付单吗?豁免后关联此单的业务订单将跳过定金门槛校验。`),await Ql({id:a.id,is_exempt:e}),v.msgSuccess(`${u}成功`),E()}catch{}},ae=m(!1),be=m(!1),ke=m(""),xe=m(""),ut=async a=>{if(!a.order_no){v.msgWarning("订单号不存在");return}xe.value=a.order_no,ae.value=!0,be.value=!0,ke.value="";try{const e=await Gl({order_no:a.order_no});e!=null&&e.qrcode_url?ke.value=e.qrcode_url:v.msgError("二维码生成失败")}catch(e){v.msgError((e==null?void 0:e.msg)||"生成二维码失败")}finally{be.value=!1}},Bt=()=>{xe.value&&ut({order_no:xe.value})},Ht=async()=>{try{const a=await Kl();ie.value=Array.isArray(a)?a:[]}catch{ie.value=[]}};return Zl(()=>{Ht(),E(),W()}),(a,e)=>{const u=ll,r=tl,i=ol,w=al,R=Dl,c=nl,X=Sl,O=el,ze=sl,Fe=il,jt=rl,S=ul,oe=ml,Ie=dl,Qt=Cl,P=yl,Gt=fl,Kt=_l,Jt=cl,M=vl,Ve=gl,ne=bl,A=xl,We=kl,Xt=Vl,Be=wl,Zt=Tl,U=ea("perms"),He=pl;return d(),V("div",ta,[t(ze,{class:"!border-none",shadow:"never"},{default:o(()=>[t(O,{class:"ls-form",model:n(T),inline:""},{default:o(()=>[t(r,{class:"w-[280px]",label:"订单号"},{default:o(()=>[t(u,{modelValue:n(T).order_no,"onUpdate:modelValue":e[0]||(e[0]=l=>n(T).order_no=l),placeholder:"请输入订单号",clearable:"",onKeyup:mt(Te,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"患者信息"},{default:o(()=>[t(u,{modelValue:n(T).patient_keyword,"onUpdate:modelValue":e[1]||(e[1]=l=>n(T).patient_keyword=l),placeholder:"患者姓名/手机号",clearable:"",onKeyup:mt(Te,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"医助"},{default:o(()=>[t(w,{modelValue:n(T).assistant_id,"onUpdate:modelValue":e[2]||(e[2]=l=>n(T).assistant_id=l),placeholder:"全部医助",clearable:"",filterable:"",class:"w-full"},{default:o(()=>[(d(!0),V(Y,null,se(n(ie),l=>(d(),_(i,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"订单类型"},{default:o(()=>[t(w,{modelValue:n(T).order_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(T).order_type=l),class:"w-full",placeholder:"全部"},{default:o(()=>[t(i,{label:"全部",value:""}),t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"订单状态"},{default:o(()=>[t(w,{modelValue:n(T).status,"onUpdate:modelValue":e[4]||(e[4]=l=>n(T).status=l),class:"w-full",placeholder:"全部"},{default:o(()=>[t(i,{label:"全部",value:""}),t(i,{label:"待支付",value:1}),t(i,{label:"已支付",value:2}),t(i,{label:"已取消",value:3}),t(i,{label:"已退款",value:4}),t(i,{label:"待审核",value:5})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"创建时间"},{default:o(()=>[t(R,{startTime:n(T).create_time_start,"onUpdate:startTime":e[5]||(e[5]=l=>n(T).create_time_start=l),endTime:n(T).create_time_end,"onUpdate:endTime":e[6]||(e[6]=l=>n(T).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),t(r,null,{default:o(()=>[t(c,{type:"primary",onClick:Te},{default:o(()=>[...e[49]||(e[49]=[s("查询",-1)])]),_:1}),t(c,{onClick:xt},{default:o(()=>[...e[50]||(e[50]=[s("重置",-1)])]),_:1}),D((d(),_(c,{onClick:e[7]||(e[7]=l=>fe.value=!0)},{default:o(()=>[...e[51]||(e[51]=[s(" 操作统计 ",-1)])]),_:1})),[[U,["order.order/lists"]]]),D(t(X,{class:"ml-2.5","fetch-fun":n(Pl),params:n(T),"page-size":n(I).size},null,8,["fetch-fun","params","page-size"]),[[U,["order.order/export"]]]),D((d(),_(c,{type:"success",class:"ml-2.5",onClick:Dt},{default:o(()=>[...e[52]||(e[52]=[s(" + 创建支付单 ",-1)])]),_:1})),[[U,["order.order/create"]]]),D((d(),_(c,{type:"warning",class:"ml-2.5",loading:n(ce),onClick:Et},{default:o(()=>[...e[53]||(e[53]=[s(" 同步企业微信收款 ",-1)])]),_:1},8,["loading"])),[[U,["order.order/alltongbu"]]])]),_:1})]),_:1},8,["model"])]),_:1}),t(ze,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[g("div",la,[t(jt,{modelValue:n(de),"onUpdate:modelValue":e[8]||(e[8]=l=>$(de)?de.value=l:null),onTabChange:kt},{default:o(()=>[t(Fe,{label:"全部",name:""}),t(Fe,{label:"待关联",name:"pending"}),t(Fe,{label:"已关联",name:"associated"})]),_:1},8,["modelValue"]),g("div",aa,[e[54]||(e[54]=g("span",{class:"text-gray-500"},"今日收益:",-1)),g("span",oa,"¥"+f(n(ue).amount),1),g("span",na,"("+f(n(ue).count)+" 笔)",1)])])]),_:1}),t(ze,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[D((d(),V("div",sa,[t(c,{type:"primary",disabled:!z.value.length,onClick:gt},{default:o(()=>[...e[55]||(e[55]=[s(" 将创建人指给医助 ",-1)])]),_:1},8,["disabled"]),z.value.length?(d(),V("span",ra,"已选 "+f(z.value.length)+" 条",1)):b("",!0)])),[[U,["order.order/zhipai"]]]),D((d(),_(Ie,{ref_key:"orderTableRef",ref:Ge,data:n(I).lists,"row-key":"id",size:"large",onSelectionChange:vt},{default:o(()=>[t(S,{type:"selection",width:"48"}),t(S,{label:"订单号",prop:"order_no","min-width":"150"}),t(S,{label:"患者信息","min-width":"150"},{default:o(({row:l})=>{var x;return[l.patient?(d(),V("div",ia,f(l.patient.patient_name),1)):(d(),V("div",da,"待关联")),g("div",ua,f(((x=l.patient)==null?void 0:x.phone)||"-"),1)]}),_:1}),t(S,{label:"创建人","min-width":"120"},{default:o(({row:l})=>{var x;return[g("div",null,f(((x=l.creator)==null?void 0:x.name)||"-"),1),l.payee_userid?(d(),V("div",ma,"收款: "+f(l.payee_userid),1)):b("",!0)]}),_:1}),t(S,{label:"订单类型",width:"100"},{default:o(({row:l})=>[t(oe,{type:lt(l.order_type)},{default:o(()=>[s(f(tt(l.order_type)),1)]),_:2},1032,["type"])]),_:1}),t(S,{label:"金额",width:"100"},{default:o(({row:l})=>[g("span",pa,"¥"+f(l.amount),1)]),_:1}),t(S,{label:"支付方式",width:"120"},{default:o(({row:l})=>[s(f(st(l)),1)]),_:1}),t(S,{label:"订单状态",width:"120"},{default:o(({row:l})=>[t(oe,{type:ot(l.status)},{default:o(()=>[s(f(at(l.status)),1)]),_:2},1032,["type"]),l.is_exempt===1?(d(),_(oe,{key:0,type:"warning",size:"small",class:"ml-1"},{default:o(()=>[...e[56]||(e[56]=[s("豁免",-1)])]),_:1})):b("",!0)]),_:1}),t(S,{label:"支付时间","min-width":"160"},{default:o(({row:l})=>[s(f(l.payment_time||"-"),1)]),_:1}),t(S,{label:"创建时间","min-width":"160"},{default:o(({row:l})=>[s(f(l.create_time),1)]),_:1}),t(S,{label:"操作",width:"340",fixed:"right"},{default:o(({row:l})=>[D((d(),_(c,{type:"primary",link:"",onClick:x=>qt(l)},{default:o(()=>[...e[57]||(e[57]=[s(" 详情 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/detail"]]]),D((d(),_(c,{type:"primary",link:"",onClick:x=>Ot(l)},{default:o(()=>[...e[58]||(e[58]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/edit"]]]),l.status===1||l.status===2||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?D((d(),_(c,{key:0,type:"primary",link:"",onClick:x=>Lt(l)},{default:o(()=>[...e[59]||(e[59]=[s(" 拆分 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/split"]]]):b("",!0),D((d(),_(c,{type:"primary",link:"",onClick:x=>ut(l)},{default:o(()=>[...e[60]||(e[60]=[s(" 小程序码 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/wxQrcode"]]]),l.status===1||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?D((d(),_(c,{key:1,type:"success",link:"",onClick:x=>Nt(l)},{default:o(()=>[...e[61]||(e[61]=[s(" 支付 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/pay"]]]):b("",!0),l.status===2?D((d(),_(c,{key:2,type:"warning",link:"",onClick:x=>Ft(l)},{default:o(()=>[...e[62]||(e[62]=[s(" 退款 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/refund"]]]):b("",!0),l.status===1||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?D((d(),_(c,{key:3,type:"danger",link:"",onClick:x=>zt(l)},{default:o(()=>[...e[63]||(e[63]=[s(" 取消 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/cancel"]]]):b("",!0),D((d(),_(c,{type:"danger",link:"",onClick:x=>It(l)},{default:o(()=>[...e[64]||(e[64]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/delete"]]]),D((d(),_(c,{type:l.is_exempt===1?"warning":"default",link:"",onClick:x=>Wt(l)},{default:o(()=>[s(f(l.is_exempt===1?"取消豁免":"设为豁免"),1)]),_:2},1032,["type","onClick"])),[[U,["order.order/setExempt"]]])]),_:1})]),_:1},8,["data"])),[[He,n(I).loading]]),g("div",fa,[t(Qt,{modelValue:n(I),"onUpdate:modelValue":e[9]||(e[9]=l=>$(I)?I.value=l:null),onChange:n(E)},null,8,["modelValue","onChange"])])]),_:1}),t(M,{modelValue:n(me),"onUpdate:modelValue":e[12]||(e[12]=l=>$(me)?me.value=l:null),title:"订单详情",width:"820px"},{default:o(()=>[n(k)?(d(),_(Gt,{key:0,column:2,border:""},{default:o(()=>[t(P,{label:"订单号"},{default:o(()=>[s(f(n(k).order_no),1)]),_:1}),t(P,{label:"订单状态"},{default:o(()=>[t(oe,{type:ot(n(k).status)},{default:o(()=>[s(f(at(n(k).status)),1)]),_:1},8,["type"])]),_:1}),t(P,{label:"患者姓名"},{default:o(()=>{var l;return[s(f(((l=n(k).patient)==null?void 0:l.patient_name)||"待关联"),1)]}),_:1}),t(P,{label:"患者电话"},{default:o(()=>{var l;return[s(f(((l=n(k).patient)==null?void 0:l.phone)||"-"),1)]}),_:1}),t(P,{label:"创建人"},{default:o(()=>{var l;return[s(f(((l=n(k).creator)==null?void 0:l.name)||"-"),1)]}),_:1}),n(k).payee_userid?(d(),_(P,{key:0,label:"收款人userid"},{default:o(()=>[s(f(n(k).payee_userid),1)]),_:1})):b("",!0),n(k).payer_external_userid?(d(),_(P,{key:1,label:"付款人external_userid"},{default:o(()=>[s(f(n(k).payer_external_userid),1)]),_:1})):b("",!0),t(P,{label:"订单类型"},{default:o(()=>[t(oe,{type:lt(n(k).order_type)},{default:o(()=>[s(f(tt(n(k).order_type)),1)]),_:1},8,["type"])]),_:1}),t(P,{label:"订单金额"},{default:o(()=>[g("span",ya,"¥"+f(n(k).amount),1)]),_:1}),t(P,{label:"支付方式"},{default:o(()=>[s(f(st(n(k))),1)]),_:1}),t(P,{label:"支付时间"},{default:o(()=>[s(f(n(k).payment_time||"-"),1)]),_:1}),t(P,{label:"创建时间"},{default:o(()=>[s(f(n(k).create_time),1)]),_:1}),t(P,{label:"备注",span:2},{default:o(()=>[s(f(n(k).remark||"无"),1)]),_:1})]),_:1})):b("",!0),n(k)?(d(),_(Kt,{key:1,"content-position":"left"},{default:o(()=>[...e[65]||(e[65]=[s("操作记录",-1)])]),_:1})):b("",!0),n(k)?(d(),V("p",_a,"谁在什么时间对本单做了哪些操作(数据来自服务器记录)。")):b("",!0),n(k)?D((d(),_(Ie,{key:3,data:n(De),size:"small","max-height":"320"},{default:o(()=>[t(S,{label:"操作",prop:"action_label","min-width":"120","show-overflow-tooltip":""}),t(S,{label:"操作人",prop:"admin_name","min-width":"100"}),t(S,{label:"操作时间",prop:"create_time_text","min-width":"160"}),t(S,{label:"说明",prop:"summary","min-width":"140","show-overflow-tooltip":""})]),_:1},8,["data"])),[[He,n(Se)]]):b("",!0),n(k)?(d(),V("div",ca,[t(Jt,{"current-page":n(B),"onUpdate:currentPage":e[10]||(e[10]=l=>$(B)?B.value=l:null),"page-size":n(pe),"onUpdate:pageSize":e[11]||(e[11]=l=>$(pe)?pe.value=l:null),total:n($e),"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",small:"",onSizeChange:Vt,onCurrentChange:Ue},null,8,["current-page","page-size","total"])])):b("",!0)]),_:1},8,["modelValue"]),t(M,{modelValue:n(fe),"onUpdate:modelValue":e[15]||(e[15]=l=>$(fe)?fe.value=l:null),title:"支付单操作统计",width:"520px",onOpened:wt},{default:o(()=>[n(ee)?(d(),V("p",va,"统计范围:"+f(n(ee)),1)):b("",!0),t(O,{class:"mb-3",inline:!0,onSubmit:e[14]||(e[14]=pt(()=>{},["prevent"]))},{default:o(()=>[t(r,{label:"时间范围"},{default:o(()=>[t(Ve,{modelValue:n(L),"onUpdate:modelValue":e[13]||(e[13]=l=>$(L)?L.value=l:null),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始","end-placeholder":"结束",class:"!w-[260px]"},null,8,["modelValue"])]),_:1}),t(r,null,{default:o(()=>[t(c,{type:"primary",loading:n(ye),onClick:Xe},{default:o(()=>[...e[66]||(e[66]=[s("查询",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),D((d(),_(Ie,{data:n(Ee),size:"small","max-height":"400"},{default:o(()=>[t(S,{label:"操作人",prop:"admin_name","min-width":"120","show-overflow-tooltip":""}),t(S,{label:"操作次数",prop:"cnt",width:"100",align:"right"})]),_:1},8,["data"])),[[He,n(ye)]])]),_:1},8,["modelValue"]),t(M,{modelValue:n(F),"onUpdate:modelValue":e[18]||(e[18]=l=>$(F)?F.value=l:null),title:"变更创建人(医助)",width:"440px","destroy-on-close":""},{footer:o(()=>[t(c,{onClick:e[17]||(e[17]=l=>F.value=!1)},{default:o(()=>[...e[67]||(e[67]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(we),onClick:bt},{default:o(()=>[...e[68]||(e[68]=[s("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[g("p",ga," 将 "+f(z.value.length)+" 条支付单的「创建人」改为所选医助,并写入各单操作日志。 ",1),t(w,{modelValue:n(Z).assistant_id,"onUpdate:modelValue":e[16]||(e[16]=l=>n(Z).assistant_id=l),filterable:"",placeholder:"选择医助",class:"w-full"},{default:o(()=>[(d(!0),V(Y,null,se(n(ie),l=>(d(),_(i,{key:l.id,label:l.dept_names?`${l.name}(${l.dept_names})`:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),t(M,{modelValue:n(q),"onUpdate:modelValue":e[23]||(e[23]=l=>$(q)?q.value=l:null),title:"订单支付",width:"500px"},{footer:o(()=>[t(c,{onClick:e[22]||(e[22]=l=>q.value=!1)},{default:o(()=>[...e[74]||(e[74]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:Rt,loading:n(_e)},{default:o(()=>[...e[75]||(e[75]=[s("确认支付",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(O,{model:n(y),"label-width":"100px"},{default:o(()=>[n(y).fubeiPendingAudit?(d(),_(ne,{key:0,type:"warning",closable:!1,class:"mb-3",title:"该单为待审核(付呗/快递代收),请选择实际到账方式后确认「已支付」"})):b("",!0),n(y).fubeiPendingAudit?b("",!0):(d(),_(r,{key:1,label:"支付类型",required:""},{default:o(()=>[t(We,{modelValue:n(y).payType,"onUpdate:modelValue":e[19]||(e[19]=l=>n(y).payType=l)},{default:o(()=>[t(A,{label:"supplement"},{default:o(()=>[...e[69]||(e[69]=[s("补单支付",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),n(y).payType==="normal"?(d(),V(Y,{key:2},[t(r,{label:"订单号"},{default:o(()=>[g("span",null,f(n(y).order_no),1)]),_:1}),t(r,{label:"订单金额"},{default:o(()=>[g("span",ba,"¥"+f(n(y).amount),1)]),_:1})],64)):b("",!0),!n(y).fubeiPendingAudit&&n(y).payType==="supplement"?(d(),_(r,{key:3,label:"支付订单号",required:""},{default:o(()=>[t(u,{modelValue:n(y).supplement_order_no,"onUpdate:modelValue":e[20]||(e[20]=l=>n(y).supplement_order_no=l),placeholder:"请输入支付订单号"},null,8,["modelValue"])]),_:1})):b("",!0),n(y).fubeiPendingAudit?(d(),V(Y,{key:4},[t(r,{label:"订单号"},{default:o(()=>[g("span",null,f(n(y).order_no),1)]),_:1}),t(r,{label:"金额"},{default:o(()=>[g("span",ka,"¥"+f(n(y).amount),1)]),_:1})],64)):b("",!0),t(r,{label:"支付方式",required:""},{default:o(()=>[t(We,{modelValue:n(y).payment_method,"onUpdate:modelValue":e[21]||(e[21]=l=>n(y).payment_method=l)},{default:o(()=>[n(y).fubeiPendingAudit?(d(),_(A,{key:0,label:"manual"},{default:o(()=>[...e[70]||(e[70]=[s("手动确认到账",-1)])]),_:1})):b("",!0),t(A,{label:"alipay"},{default:o(()=>[...e[71]||(e[71]=[s("支付宝",-1)])]),_:1}),t(A,{label:"wechat"},{default:o(()=>[...e[72]||(e[72]=[s("微信",-1)])]),_:1}),t(A,{label:"wechat_work"},{default:o(()=>[...e[73]||(e[73]=[s("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(M,{modelValue:n(N),"onUpdate:modelValue":e[31]||(e[31]=l=>$(N)?N.value=l:null),title:"创建订单",width:"600px",onClose:et},{footer:o(()=>[t(c,{onClick:e[30]||(e[30]=l=>N.value=!1)},{default:o(()=>[...e[87]||(e[87]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:ht,loading:n(he)},{default:o(()=>[s(f(n(p).createType==="wechat_work"?"创建并获取收款订单号":"创建订单"),1)]),_:1},8,["loading"])]),default:o(()=>[t(O,{ref_key:"createFormRef",ref:Pe,model:n(p),rules:Tt,"label-width":"100px"},{default:o(()=>[t(r,{label:"创建方式"},{default:o(()=>[t(We,{modelValue:n(p).createType,"onUpdate:modelValue":e[24]||(e[24]=l=>n(p).createType=l)},{default:o(()=>[t(A,{label:"normal"},{default:o(()=>[...e[76]||(e[76]=[s("普通订单",-1)])]),_:1}),t(A,{label:"wechat_work"},{default:o(()=>[...e[77]||(e[77]=[s("企业微信对外收款",-1)])]),_:1}),t(A,{label:"fubei"},{default:o(()=>[...e[78]||(e[78]=[s("付呗",-1)])]),_:1}),t(A,{label:"express_cod"},{default:o(()=>[...e[79]||(e[79]=[s("快递代收",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(p).createType==="wechat_work"?(d(),_(ne,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:o(()=>[...e[80]||(e[80]=[s("企业微信对外收款",-1)])]),default:o(()=>[e[81]||(e[81]=s(" 创建后将生成订单号,请在企业微信发起收款时将该订单号填写为「商户订单号」,收款成功后系统将自动更新订单状态。 ",-1))]),_:1})):b("",!0),n(p).createType==="fubei"?(d(),_(ne,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:o(()=>[...e[82]||(e[82]=[s("付呗",-1)])]),default:o(()=>[e[83]||(e[83]=s(" 通过付呗收款的支付单,创建后请按实际对账/审核流程在列表中处理。 ",-1))]),_:1})):b("",!0),n(p).createType==="express_cod"?(d(),_(ne,{key:2,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:o(()=>[...e[84]||(e[84]=[s("快递代收",-1)])]),default:o(()=>[e[85]||(e[85]=s(" 通过快递代收的支付单,流转与付呗一致;审核通过/确认到账后将更新为已支付。 ",-1))]),_:1})):b("",!0),n(p).createType==="fubei"||n(p).createType==="express_cod"?(d(),_(r,{key:3,label:"支付单审核"},{default:o(()=>[t(Xt,{modelValue:n(p).requirePaymentSlipAudit,"onUpdate:modelValue":e[25]||(e[25]=l=>n(p).requirePaymentSlipAudit=l),"active-text":"申请审核","inactive-text":"不申请"},null,8,["modelValue"]),e[86]||(e[86]=g("div",{class:"text-xs text-gray-500 mt-1"}," 开启后,新订单的支付状态为「待审核」;未开启则为「待支付」。 ",-1))]),_:1})):b("",!0),t(r,{label:"患者",prop:"patient_id"},{default:o(()=>[t(w,{modelValue:n(p).patient_id,"onUpdate:modelValue":e[26]||(e[26]=l=>n(p).patient_id=l),placeholder:"请选择患者",filterable:"",remote:"","remote-method":St,loading:n(Oe)},{default:o(()=>[(d(!0),V(Y,null,se(n(Me),l=>(d(),_(i,{key:l.id,label:`${l.patient_name} (${l.phone})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(r,{label:"订单类型",prop:"order_type"},{default:o(()=>[t(w,{modelValue:n(p).order_type,"onUpdate:modelValue":e[27]||(e[27]=l=>n(p).order_type=l),placeholder:"请选择"},{default:o(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"订单金额",prop:"amount"},{default:o(()=>[t(Be,{modelValue:n(p).amount,"onUpdate:modelValue":e[28]||(e[28]=l=>n(p).amount=l),min:0,step:.01,precision:2,placeholder:"请输入金额"},null,8,["modelValue"])]),_:1}),t(r,{label:"备注",prop:"remark"},{default:o(()=>[t(u,{modelValue:n(p).remark,"onUpdate:modelValue":e[29]||(e[29]=l=>n(p).remark=l),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(M,{modelValue:n(j),"onUpdate:modelValue":e[35]||(e[35]=l=>$(j)?j.value=l:null),title:"同步企业微信对外收款",width:"420px"},{footer:o(()=>[t(c,{onClick:e[34]||(e[34]=l=>j.value=!1)},{default:o(()=>[...e[88]||(e[88]=[s("取消",-1)])]),_:1}),t(c,{type:"info",loading:n(Ne),onClick:Ut},{default:o(()=>[...e[89]||(e[89]=[s(" 排查同步为0 ",-1)])]),_:1},8,["loading"]),t(c,{type:"primary",loading:n(ce),onClick:Pt},{default:o(()=>[...e[90]||(e[90]=[s(" 开始同步 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[e[91]||(e[91]=g("p",{class:"text-gray-600 mb-4"},"拉取员工在企业微信内直接发起的对外收款记录,自动创建订单(未经过后台创建的收款)",-1)),t(O,{"label-width":"90px"},{default:o(()=>[t(r,{label:"时间范围"},{default:o(()=>[t(Ve,{modelValue:n(Q),"onUpdate:modelValue":e[32]||(e[32]=l=>$(Q)?Q.value=l:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",shortcuts:$t},null,8,["modelValue"])]),_:1}),t(r,{label:"收款人userid"},{default:o(()=>[t(u,{modelValue:n(ve),"onUpdate:modelValue":e[33]||(e[33]=l=>$(ve)?ve.value=l:null),placeholder:"可选,如 GaoXingLiang,排查时若返回 try_payee_userids 可逐个尝试",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(M,{modelValue:n(H),"onUpdate:modelValue":e[41]||(e[41]=l=>$(H)?H.value=l:null),title:"编辑订单",width:"480px"},{footer:o(()=>[t(c,{onClick:e[40]||(e[40]=l=>H.value=!1)},{default:o(()=>[...e[92]||(e[92]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(Ae),onClick:At},{default:o(()=>[...e[93]||(e[93]=[s("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(C)?(d(),_(O,{key:0,ref_key:"editOrderFormRef",ref:Ze,model:n(C),rules:Ct,"label-width":"100px"},{default:o(()=>[t(r,{label:"关联患者",prop:"patient_id"},{default:o(()=>[t(w,{modelValue:n(C).patient_id,"onUpdate:modelValue":e[36]||(e[36]=l=>n(C).patient_id=l),filterable:"",remote:"",placeholder:"搜索患者姓名/手机号,可留空表示待关联","remote-method":Mt,loading:n(Le),clearable:"",class:"w-full"},{default:o(()=>[(d(!0),V(Y,null,se(n(te),l=>(d(),_(i,{key:l.id,label:`${l.patient_name||"-"} (${l.phone||"-"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(r,{label:"订单类型",prop:"order_type"},{default:o(()=>[t(w,{modelValue:n(C).order_type,"onUpdate:modelValue":e[37]||(e[37]=l=>n(C).order_type=l),placeholder:"请选择",class:"w-full"},{default:o(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),Ye.value&&qe.value?(d(),_(r,{key:0,label:"支付时间",prop:"payment_time"},{default:o(()=>[t(Ve,{modelValue:n(C).payment_time,"onUpdate:modelValue":e[38]||(e[38]=l=>n(C).payment_time=l),type:"datetime",placeholder:"请选择支付时间",format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss",clearable:!1,class:"w-full"},null,8,["modelValue"])]),_:1})):b("",!0),Ye.value?(d(),_(r,{key:1,label:"创建时间",prop:"create_time"},{default:o(()=>[t(Ve,{modelValue:n(C).create_time,"onUpdate:modelValue":e[39]||(e[39]=l=>n(C).create_time=l),type:"datetime",placeholder:"请选择创建时间",format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss",clearable:!1,class:"w-full"},null,8,["modelValue"])]),_:1})):b("",!0)]),_:1},8,["model"])):b("",!0)]),_:1},8,["modelValue"]),t(M,{modelValue:n(G),"onUpdate:modelValue":e[45]||(e[45]=l=>$(G)?G.value=l:null),title:"拆分订单",width:"620px","destroy-on-close":"",onClosed:e[46]||(e[46]=l=>h.value=null)},{footer:o(()=>[t(c,{onClick:e[44]||(e[44]=l=>G.value=!1)},{default:o(()=>[...e[102]||(e[102]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(Re),disabled:!ge.value,onClick:Yt},{default:o(()=>[...e[103]||(e[103]=[s(" 确定拆分 ",-1)])]),_:1},8,["loading","disabled"])]),default:o(()=>[n(h)?(d(),V(Y,{key:0},[g("p",xa,[e[94]||(e[94]=s(" 原订单号 ",-1)),g("span",Va,f(n(h).order_no),1),e[95]||(e[95]=s(",金额 ",-1)),g("span",wa,"¥"+f(n(h).amount),1),e[96]||(e[96]=s("。每笔子单可分别选择",-1)),e[97]||(e[97]=g("strong",null,"订单类型",-1)),e[98]||(e[98]=s(";子单继承患者、创建人及企微收款信息;",-1)),e[99]||(e[99]=g("strong",null,"已支付",-1)),e[100]||(e[100]=s("子单继承支付方式、支付时间与交易号;原单将软删除;若已关联业务订单,关联会同步到全部子单。 ",-1))]),t(O,{"label-width":"88px",onSubmit:e[43]||(e[43]=pt(()=>{},["prevent"]))},{default:o(()=>[t(r,{label:"拆分管数"},{default:o(()=>[t(Be,{modelValue:n(K),"onUpdate:modelValue":e[42]||(e[42]=l=>$(K)?K.value=l:null),min:2,max:20,step:1,"step-strictly":"",onChange:it},null,8,["modelValue"]),e[101]||(e[101]=g("span",{class:"text-xs text-gray-400 ml-2"},"2~20 笔",-1))]),_:1})]),_:1}),g("div",Ta,[(d(!0),V(Y,null,se(n(J),(l,x)=>(d(),V("div",{key:x,class:"flex items-center gap-2 flex-wrap"},[g("span",Ca,"第 "+f(x+1)+" 笔",1),t(w,{modelValue:n(le)[x],"onUpdate:modelValue":je=>n(le)[x]=je,placeholder:"订单类型",class:"w-[136px] shrink-0"},{default:o(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue","onUpdate:modelValue"]),t(Be,{modelValue:n(J)[x],"onUpdate:modelValue":je=>n(J)[x]=je,min:.01,step:.01,precision:2,class:"flex-1 min-w-[140px]","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),t(ne,{type:ge.value?"success":"warning",closable:!1,"show-icon":""},{title:o(()=>[s(" 子单合计 ¥"+f(dt.value.toFixed(2))+", "+f(ge.value?"与原价一致,可提交":"须与原价完全一致方可拆分"),1)]),_:1},8,["type"])],64)):b("",!0)]),_:1},8,["modelValue"]),t(M,{modelValue:n(ae),"onUpdate:modelValue":e[48]||(e[48]=l=>$(ae)?ae.value=l:null),title:"支付小程序码",width:"400px","close-on-click-modal":!1},{footer:o(()=>[t(c,{onClick:e[47]||(e[47]=l=>ae.value=!1)},{default:o(()=>[...e[106]||(e[106]=[s("关闭",-1)])]),_:1}),n(be)?b("",!0):(d(),_(c,{key:0,type:"primary",onClick:Bt},{default:o(()=>[...e[107]||(e[107]=[s(" 重新生成 ",-1)])]),_:1}))]),default:o(()=>[g("div",Sa,[n(be)?(d(),V("div",Da,[t(Zt,{class:"is-loading",size:40},{default:o(()=>[t(n(Jl))]),_:1}),e[104]||(e[104]=g("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(ke)?(d(),V("div",$a,[g("img",{src:n(ke),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,Ea),g("div",Ua,[g("div",null,"订单号:"+f(n(xe)),1),e[105]||(e[105]=g("div",{class:"mt-2"},"请使用微信扫描二维码完成支付",-1))])])):(d(),V("div",Pa," 生成失败,请重试 "))])]),_:1},8,["modelValue"])])}}}),Do=Xl(Oa,[["__scopeId","data-v-afbba537"]]);export{Do as default}; +import{D as el,B as tl,C as ll,Q as al,R as ol,i as nl,K as sl,m as rl,l as il,N as dl,O as ul,U as ml,M as pl,a6 as fl,a7 as yl,I as _l,V as cl,W as vl,S as gl,L as bl,G as kl,J as xl,g as Vl,h as wl,d as Tl}from"./element-plus-DGP1XOrU.js";import{_ as Cl}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as Sl}from"./index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js";import{_ as Dl}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as mt,s as pt}from"./@vue/runtime-dom-DDAG46FW.js";import{u as $l}from"./usePaging-DofycyjW.js";import{h as El}from"./perm-8cp9D7Ag.js";import{o as Ul,a as Pl,b as hl,c as Ol,d as Ml,e as Al,s as ft,f as Ll,g as Yl,h as ql,i as Nl,j as Rl,k as zl,l as Fl,m as yt,n as Il,w as Wl,p as Bl,q as Hl,r as jl,t as Ql}from"./order-B5S0jULN.js";import{X as Gl,n as Kl}from"./tcm-D-ZRccbe.js";import{l as Jl}from"./@element-plus/icons-vue-CbYn5zW9.js";import{k as v,_ as Xl}from"./index-J_eFER10.js";import{f as _t,b as Zl,as as ea,ak as d,I as V,a as t,aN as o,F as Y,ap as se,G as _,O as s,aP as D,J as g,H as b,A as re}from"./@vue/runtime-core-C6bnekPw.js";import{n as m,y as n,a as $,r as Qe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ta={class:"order-list"},la={class:"flex items-center justify-between mb-4"},aa={class:"flex items-center gap-4 text-sm"},oa={class:"text-red-500 font-semibold text-lg"},na={class:"text-gray-400"},sa={class:"mb-3 flex items-center gap-3"},ra={key:0,class:"text-sm text-gray-500"},ia={key:0},da={key:1,class:"text-amber-600"},ua={class:"text-xs text-gray-400"},ma={key:0,class:"text-xs text-gray-400"},pa={class:"text-red-500 font-semibold"},fa={class:"flex justify-end mt-4"},ya={class:"text-red-500 font-semibold"},_a={key:2,class:"text-xs text-gray-500 mb-2"},ca={key:4,class:"flex justify-end mt-3"},va={key:0,class:"text-xs text-gray-500 mb-3"},ga={class:"text-sm text-gray-600 mb-3"},ba={class:"text-red-500 font-semibold"},ka={class:"text-red-500 font-semibold"},xa={class:"text-sm text-gray-600 mb-3"},Va={class:"font-mono"},wa={class:"text-red-500 font-semibold"},Ta={class:"space-y-2 mb-3 max-h-[320px] overflow-y-auto pr-1"},Ca={class:"text-sm text-gray-500 w-14 shrink-0"},Sa={class:"flex flex-col items-center justify-center py-4"},Da={key:0,class:"text-center"},$a={key:1,class:"text-center"},Ea=["src"],Ua={class:"mt-4 text-sm text-gray-600"},Pa={key:2,class:"text-center text-gray-500"},ha=_t({name:"orderList"}),Oa=_t({...ha,setup(Ma){const T=Qe({order_no:"",patient_keyword:"",assistant_id:void 0,order_type:"",status:"",patient_association:"",create_time_start:"",create_time_end:""}),ie=m([]),Ge=m(null),Ke=m([]),z=re(()=>Ke.value.map(a=>a.id).filter(a=>a>0)),F=m(!1),we=m(!1),Z=Qe({assistant_id:void 0}),de=m(""),ue=m({amount:"0.00",count:0}),{pager:I,getLists:E,resetPage:Je,resetParams:ct}=$l({fetchFun:Ul,params:T}),vt=a=>{Ke.value=a||[]},gt=()=>{if(!z.value.length){v.msgWarning("请先勾选要指派的支付单");return}Z.assistant_id=void 0,F.value=!0},bt=async()=>{var a;if(Z.assistant_id==null){v.msgWarning("请选择医助");return}we.value=!0;try{await hl({order_ids:[...z.value],assistant_id:Z.assistant_id}),v.msgSuccess("指派成功"),F.value=!1,(a=Ge.value)==null||a.clearSelection(),E(),W()}catch(e){e!=null&&e.msg&&v.msgError(e.msg)}finally{we.value=!1}},Te=()=>{Je()},kt=a=>{T.patient_association=a||"",Je()},W=async()=>{try{const a=await Ol();ue.value=(a==null?void 0:a.data)||a||{amount:"0.00",count:0}}catch{ue.value={amount:"0.00",count:0}}},xt=()=>{de.value="",ct()},me=m(!1),k=m(null),Ce=m(0),Se=m(!1),De=m([]),$e=m(0),B=m(1),pe=m(10),fe=m(!1),ye=m(!1),Ee=m([]),L=m(null),ee=m(""),Ue=async()=>{if(Ce.value){Se.value=!0;try{const a=await Ml({order_id:Ce.value,page_no:B.value,page_size:pe.value});De.value=(a==null?void 0:a.lists)||[],$e.value=(a==null?void 0:a.count)??0}catch{De.value=[],$e.value=0}finally{Se.value=!1}}},Vt=()=>{B.value=1,Ue()},wt=()=>{L.value=null,Xe()},Xe=async()=>{ye.value=!0;try{const a={};L.value&&L.value.length===2&&(a.start_time=L.value[0],a.end_time=L.value[1]);const e=await Al(Object.keys(a).length?a:void 0);Ee.value=(e==null?void 0:e.list)||[],e!=null&&e.start_time&&(e!=null&&e.end_time)?ee.value=`${e.start_time} ~ ${e.end_time}`:ee.value=""}catch{Ee.value=[],ee.value=""}finally{ye.value=!1}},q=m(!1),_e=m(!1),y=m({order_id:0,order_no:"",amount:0,fubeiPendingAudit:!1,payment_method:"alipay",payType:"supplement",supplement_order_no:""}),N=m(!1),Pe=m(),he=m(!1),Oe=m(!1),Me=m([]),p=Qe({createType:"normal",requirePaymentSlipAudit:!1,patient_id:"",order_type:"",amount:0,remark:""}),Tt={patient_id:[{required:!0,message:"请选择患者",trigger:"change"}],order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},H=m(!1),Ze=m(),Ae=m(!1),Le=m(!1),te=m([]),C=m(null),Ye=re(()=>El(["order.order/editTime"])),qe=re(()=>{var a;return[2,4].includes(((a=C.value)==null?void 0:a.status)??0)}),Ct={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],payment_time:[{validator:(a,e,u)=>{if(qe.value&&!e){u(new Error("请选择支付时间"));return}u()},trigger:"change"}],create_time:[{required:!0,message:"请选择创建时间",trigger:"change"}]},St=async a=>{if(!a){Me.value=[];return}try{Oe.value=!0;const e=await ft({keyword:a,page_no:1,page_size:10});Me.value=(e==null?void 0:e.lists)||[]}catch(e){console.error("搜索患者失败:",e)}finally{Oe.value=!1}},et=()=>{var a;p.createType="normal",p.requirePaymentSlipAudit=!1,p.patient_id="",p.order_type="",p.amount=0,p.remark="",(a=Pe.value)==null||a.clearValidate()},Dt=()=>{et(),N.value=!0},j=m(!1),ce=m(!1),Ne=m(!1),ve=m(""),Q=m([new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)]),$t=[{text:"最近7天",value:()=>{const a=new Date,e=new Date;return e.setTime(e.getTime()-7*864e5),[e,a]}},{text:"最近30天",value:()=>{const a=new Date,e=new Date;return e.setTime(e.getTime()-30*864e5),[e,a]}},{text:"今天",value:()=>{const a=new Date;return[a,a]}}],Et=()=>{Q.value=[new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)],j.value=!0},Ut=async()=>{var e;const a=Q.value;if(!a||a.length!==2){v.msgError("请先选择时间范围");return}try{Ne.value=!0;const u=await Ll({begin_time:a[0],end_time:a[1],payee_userid:ve.value||void 0}),r=(u==null?void 0:u.data)||u;let i=`配置:${r.config_ok?"✓":"✗"} | token:${r.access_token} | errcode:${r.api_errcode} | errmsg:${r.api_errmsg||"-"} | 账单数:${r.bill_count}`;(e=r.try_payee_userids)!=null&&e.length&&(i+=`。可尝试收款人: ${r.try_payee_userids.join(", ")}`),r.api_errcode!==0&&r.api_errcode!==-999&&(i+="。提示:需使用「对外收款」应用的Secret(管理后台-应用管理-对外收款-API)"),v.msgSuccess(i),console.log("企业微信同步调试:",r)}catch(u){v.msgError((u==null?void 0:u.message)||"排查失败")}finally{Ne.value=!1}},Pt=async()=>{var e;const a=Q.value;if(!a||a.length!==2){v.msgError("请选择时间范围");return}try{ce.value=!0;const u=await Yl({begin_time:a[0],end_time:a[1]}),r=(u==null?void 0:u.data)||u;j.value=!1,E();const i=`同步完成:新增 ${r.created||0} 笔,更新 ${r.updated||0} 笔,跳过 ${r.skipped||0} 笔`+((e=r.errors)!=null&&e.length?`;错误:${r.errors.join(";")}`:"");v.msgSuccess(i),W()}catch(u){v.msgError((u==null?void 0:u.message)||"同步失败")}finally{ce.value=!1}},ht=async()=>{var a,e;try{if(await((a=Pe.value)==null?void 0:a.validate()),he.value=!0,p.createType==="wechat_work"){const u={patient_id:p.patient_id,order_type:p.order_type,amount:p.amount,remark:p.remark,create_type:"wechat_work"},r=await ql(u),i=(r==null?void 0:r.order_no)??((e=r==null?void 0:r.data)==null?void 0:e.order_no);N.value=!1,E(),v.msgSuccess(i?`订单创建成功,请在企业微信收款时使用订单号:${i}`:"订单创建成功")}else{const u={patient_id:p.patient_id,order_type:p.order_type,amount:p.amount,remark:p.remark,create_type:p.createType};p.createType==="fubei"?(u.payment_channel="fubei",u.require_payment_slip_audit=p.requirePaymentSlipAudit?1:0):p.createType==="express_cod"?(u.payment_channel="express_cod",u.require_payment_slip_audit=p.requirePaymentSlipAudit?1:0):(u.payment_channel="normal",u.require_payment_slip_audit=0),await Nl(u);const r=(p.createType==="fubei"||p.createType==="express_cod")&&p.requirePaymentSlipAudit?"订单已创建,支付状态为「待审核」":"订单创建成功";v.msgSuccess(r),N.value=!1,E()}}catch(u){console.error("创建订单失败:",u)}finally{he.value=!1}},tt=a=>({1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"})[a]||"未知",lt=a=>({1:"success",2:"info",3:"warning"})[a]||"info",at=a=>({1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"})[a]||"未知",ot=a=>({1:"warning",2:"success",3:"info",4:"danger",5:"warning"})[a]||"info",nt=a=>a?{alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",manual:"手动确认"}[a]||"未知":"-",st=a=>{const e={normal:"普通订单",wechat_work:"企业微信对外收款",fubei:"付呗",express_cod:"快递代收"},u=a==null?void 0:a.create_type;return u==="wechat_work"||u==="fubei"||u==="express_cod"?e[u]:u==="normal"&&(a!=null&&a.payment_method)?nt(a.payment_method):u&&e[u]?e[u]:nt(a==null?void 0:a.payment_method)},rt=a=>{var R;if(a==null||a===""||a==="-")return"";const e=String(a).trim(),u=(R=e.match(/^\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}/))==null?void 0:R[0];if(u)return u.replace("T"," ");const r=/^\d{10,13}$/.test(e)?Number(e):0,i=new Date(r?r<1e12?r*1e3:r:e);if(Number.isNaN(i.getTime()))return"";const w=c=>String(c).padStart(2,"0");return`${i.getFullYear()}-${w(i.getMonth()+1)}-${w(i.getDate())} ${w(i.getHours())}:${w(i.getMinutes())}:${w(i.getSeconds())}`},Ot=a=>{C.value={id:a.id,patient_id:a.patient_id||null,order_type:a.order_type,status:Number(a.status),payment_time:[2,4].includes(Number(a.status))?rt(a.payment_time):"",create_time:rt(a.create_time)},te.value=a.patient?[a.patient]:[],H.value=!0},Mt=async a=>{if(!a){te.value=[];return}try{Le.value=!0;const e=await ft({keyword:a,page_no:1,page_size:10});te.value=(e==null?void 0:e.lists)||[]}catch{te.value=[]}finally{Le.value=!1}},At=async()=>{var a;if(C.value)try{await((a=Ze.value)==null?void 0:a.validate()),Ae.value=!0;const e={id:C.value.id,patient_id:C.value.patient_id??0,order_type:C.value.order_type};Ye.value&&(e.create_time=C.value.create_time,qe.value&&(e.payment_time=C.value.payment_time)),await Rl(e),v.msgSuccess("保存成功"),H.value=!1,E(),W()}catch(e){e!=null&&e.message&&v.msgError(e.message)}finally{Ae.value=!1}},G=m(!1),h=m(null),K=m(2),J=m([]),le=m([]),Re=m(!1),it=()=>{if(!h.value)return;const a=Number(h.value.amount),e=Math.max(2,Math.min(20,Math.floor(Number(K.value)||2)));K.value=e;const u=Math.round(a*100),r=Math.floor(u/e),i=u%e,w=[];for(let X=0;XO{h.value=a,K.value=2,it(),G.value=!0},dt=re(()=>J.value.reduce((a,e)=>a+Number(e||0),0)),ge=re(()=>{if(!h.value)return!1;const a=Number(h.value.amount);return Math.abs(dt.value-a)<1e-4}),Yt=async()=>{if(!(!h.value||!ge.value)){Re.value=!0;try{await zl({id:h.value.id,amounts:J.value.map(a=>Number(a)),order_types:le.value.map(a=>Number(a))}),v.msgSuccess("拆分成功"),G.value=!1,E(),W()}catch(a){a!=null&&a.msg&&v.msgError(a.msg)}finally{Re.value=!1}}},qt=async a=>{try{const e=await Fl({id:a.id});k.value=e,Ce.value=a.id,B.value=1,me.value=!0,Ue()}catch(e){console.error("获取详情失败:",e)}},Nt=a=>{const e=a.status===5&&(a.payment_method==="fubei"||a.create_type==="express_cod");y.value={order_id:a.id,order_no:a.order_no,amount:a.amount,fubeiPendingAudit:e,payment_method:e?"manual":"alipay",payType:"supplement",supplement_order_no:""},q.value=!0},Rt=async()=>{try{if(y.value.fubeiPendingAudit){_e.value=!0,await yt({id:y.value.order_id,payment_method:y.value.payment_method}),v.msgSuccess("已更新为已支付"),q.value=!1,E(),W();return}if(y.value.payType==="supplement"&&!y.value.supplement_order_no){v.msgWarning("请输入支付订单号");return}_e.value=!0;let a={};if(y.value.payType==="normal"?a={id:y.value.order_id,order_no:y.value.order_no,amount:y.value.amount,payment_method:y.value.payment_method}:a={order_no:y.value.supplement_order_no,payment_method:y.value.payment_method,is_supplement:1},y.value.payment_method==="wechat_work")await yt(a),v.msgSuccess("补单成功");else{let e;y.value.payment_method==="alipay"?e=await Il(a):y.value.payment_method==="wechat"&&(e=await Wl(a)),e&&e.pay_url&&(y.value.payment_method==="alipay"?window.location.href=e.pay_url:y.value.payment_method==="wechat"&&v.msgSuccess("请扫描二维码进行支付"))}q.value=!1,setTimeout(()=>{E()},2e3)}catch(a){console.error("支付失败:",a),v.msgError("支付失败,请重试")}finally{_e.value=!1}},zt=async a=>{try{await v.confirm("确定要取消该订单吗?"),await Bl({id:a.id}),v.msgSuccess("取消成功"),E()}catch{}},Ft=async a=>{try{await v.confirm("确定要退款该订单吗?"),await Hl({id:a.id}),v.msgSuccess("退款成功"),E()}catch{}},It=async a=>{try{await v.confirm("确定要删除该订单吗?此操作不可恢复"),await jl({id:a.id}),v.msgSuccess("删除成功"),E()}catch{}},Wt=async a=>{const e=a.is_exempt===1?0:1,u=e===1?"设为豁免":"取消豁免";try{await v.confirm(`确定要${u}该支付单吗?豁免后关联此单的业务订单将跳过定金门槛校验。`),await Ql({id:a.id,is_exempt:e}),v.msgSuccess(`${u}成功`),E()}catch{}},ae=m(!1),be=m(!1),ke=m(""),xe=m(""),ut=async a=>{if(!a.order_no){v.msgWarning("订单号不存在");return}xe.value=a.order_no,ae.value=!0,be.value=!0,ke.value="";try{const e=await Gl({order_no:a.order_no});e!=null&&e.qrcode_url?ke.value=e.qrcode_url:v.msgError("二维码生成失败")}catch(e){v.msgError((e==null?void 0:e.msg)||"生成二维码失败")}finally{be.value=!1}},Bt=()=>{xe.value&&ut({order_no:xe.value})},Ht=async()=>{try{const a=await Kl();ie.value=Array.isArray(a)?a:[]}catch{ie.value=[]}};return Zl(()=>{Ht(),E(),W()}),(a,e)=>{const u=ll,r=tl,i=ol,w=al,R=Dl,c=nl,X=Sl,O=el,ze=sl,Fe=il,jt=rl,S=ul,oe=ml,Ie=dl,Qt=Cl,P=yl,Gt=fl,Kt=_l,Jt=cl,M=vl,Ve=gl,ne=bl,A=xl,We=kl,Xt=Vl,Be=wl,Zt=Tl,U=ea("perms"),He=pl;return d(),V("div",ta,[t(ze,{class:"!border-none",shadow:"never"},{default:o(()=>[t(O,{class:"ls-form",model:n(T),inline:""},{default:o(()=>[t(r,{class:"w-[280px]",label:"订单号"},{default:o(()=>[t(u,{modelValue:n(T).order_no,"onUpdate:modelValue":e[0]||(e[0]=l=>n(T).order_no=l),placeholder:"请输入订单号",clearable:"",onKeyup:mt(Te,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"患者信息"},{default:o(()=>[t(u,{modelValue:n(T).patient_keyword,"onUpdate:modelValue":e[1]||(e[1]=l=>n(T).patient_keyword=l),placeholder:"患者姓名/手机号",clearable:"",onKeyup:mt(Te,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"医助"},{default:o(()=>[t(w,{modelValue:n(T).assistant_id,"onUpdate:modelValue":e[2]||(e[2]=l=>n(T).assistant_id=l),placeholder:"全部医助",clearable:"",filterable:"",class:"w-full"},{default:o(()=>[(d(!0),V(Y,null,se(n(ie),l=>(d(),_(i,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"订单类型"},{default:o(()=>[t(w,{modelValue:n(T).order_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(T).order_type=l),class:"w-full",placeholder:"全部"},{default:o(()=>[t(i,{label:"全部",value:""}),t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"订单状态"},{default:o(()=>[t(w,{modelValue:n(T).status,"onUpdate:modelValue":e[4]||(e[4]=l=>n(T).status=l),class:"w-full",placeholder:"全部"},{default:o(()=>[t(i,{label:"全部",value:""}),t(i,{label:"待支付",value:1}),t(i,{label:"已支付",value:2}),t(i,{label:"已取消",value:3}),t(i,{label:"已退款",value:4}),t(i,{label:"待审核",value:5})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"创建时间"},{default:o(()=>[t(R,{startTime:n(T).create_time_start,"onUpdate:startTime":e[5]||(e[5]=l=>n(T).create_time_start=l),endTime:n(T).create_time_end,"onUpdate:endTime":e[6]||(e[6]=l=>n(T).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),t(r,null,{default:o(()=>[t(c,{type:"primary",onClick:Te},{default:o(()=>[...e[49]||(e[49]=[s("查询",-1)])]),_:1}),t(c,{onClick:xt},{default:o(()=>[...e[50]||(e[50]=[s("重置",-1)])]),_:1}),D((d(),_(c,{onClick:e[7]||(e[7]=l=>fe.value=!0)},{default:o(()=>[...e[51]||(e[51]=[s(" 操作统计 ",-1)])]),_:1})),[[U,["order.order/lists"]]]),D(t(X,{class:"ml-2.5","fetch-fun":n(Pl),params:n(T),"page-size":n(I).size},null,8,["fetch-fun","params","page-size"]),[[U,["order.order/export"]]]),D((d(),_(c,{type:"success",class:"ml-2.5",onClick:Dt},{default:o(()=>[...e[52]||(e[52]=[s(" + 创建支付单 ",-1)])]),_:1})),[[U,["order.order/create"]]]),D((d(),_(c,{type:"warning",class:"ml-2.5",loading:n(ce),onClick:Et},{default:o(()=>[...e[53]||(e[53]=[s(" 同步企业微信收款 ",-1)])]),_:1},8,["loading"])),[[U,["order.order/alltongbu"]]])]),_:1})]),_:1},8,["model"])]),_:1}),t(ze,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[g("div",la,[t(jt,{modelValue:n(de),"onUpdate:modelValue":e[8]||(e[8]=l=>$(de)?de.value=l:null),onTabChange:kt},{default:o(()=>[t(Fe,{label:"全部",name:""}),t(Fe,{label:"待关联",name:"pending"}),t(Fe,{label:"已关联",name:"associated"})]),_:1},8,["modelValue"]),g("div",aa,[e[54]||(e[54]=g("span",{class:"text-gray-500"},"今日收益:",-1)),g("span",oa,"¥"+f(n(ue).amount),1),g("span",na,"("+f(n(ue).count)+" 笔)",1)])])]),_:1}),t(ze,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[D((d(),V("div",sa,[t(c,{type:"primary",disabled:!z.value.length,onClick:gt},{default:o(()=>[...e[55]||(e[55]=[s(" 将创建人指给医助 ",-1)])]),_:1},8,["disabled"]),z.value.length?(d(),V("span",ra,"已选 "+f(z.value.length)+" 条",1)):b("",!0)])),[[U,["order.order/zhipai"]]]),D((d(),_(Ie,{ref_key:"orderTableRef",ref:Ge,data:n(I).lists,"row-key":"id",size:"large",onSelectionChange:vt},{default:o(()=>[t(S,{type:"selection",width:"48"}),t(S,{label:"订单号",prop:"order_no","min-width":"150"}),t(S,{label:"患者信息","min-width":"150"},{default:o(({row:l})=>{var x;return[l.patient?(d(),V("div",ia,f(l.patient.patient_name),1)):(d(),V("div",da,"待关联")),g("div",ua,f(((x=l.patient)==null?void 0:x.phone)||"-"),1)]}),_:1}),t(S,{label:"创建人","min-width":"120"},{default:o(({row:l})=>{var x;return[g("div",null,f(((x=l.creator)==null?void 0:x.name)||"-"),1),l.payee_userid?(d(),V("div",ma,"收款: "+f(l.payee_userid),1)):b("",!0)]}),_:1}),t(S,{label:"订单类型",width:"100"},{default:o(({row:l})=>[t(oe,{type:lt(l.order_type)},{default:o(()=>[s(f(tt(l.order_type)),1)]),_:2},1032,["type"])]),_:1}),t(S,{label:"金额",width:"100"},{default:o(({row:l})=>[g("span",pa,"¥"+f(l.amount),1)]),_:1}),t(S,{label:"支付方式",width:"120"},{default:o(({row:l})=>[s(f(st(l)),1)]),_:1}),t(S,{label:"订单状态",width:"120"},{default:o(({row:l})=>[t(oe,{type:ot(l.status)},{default:o(()=>[s(f(at(l.status)),1)]),_:2},1032,["type"]),l.is_exempt===1?(d(),_(oe,{key:0,type:"warning",size:"small",class:"ml-1"},{default:o(()=>[...e[56]||(e[56]=[s("豁免",-1)])]),_:1})):b("",!0)]),_:1}),t(S,{label:"支付时间","min-width":"160"},{default:o(({row:l})=>[s(f(l.payment_time||"-"),1)]),_:1}),t(S,{label:"创建时间","min-width":"160"},{default:o(({row:l})=>[s(f(l.create_time),1)]),_:1}),t(S,{label:"操作",width:"340",fixed:"right"},{default:o(({row:l})=>[D((d(),_(c,{type:"primary",link:"",onClick:x=>qt(l)},{default:o(()=>[...e[57]||(e[57]=[s(" 详情 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/detail"]]]),D((d(),_(c,{type:"primary",link:"",onClick:x=>Ot(l)},{default:o(()=>[...e[58]||(e[58]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/edit"]]]),l.status===1||l.status===2||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?D((d(),_(c,{key:0,type:"primary",link:"",onClick:x=>Lt(l)},{default:o(()=>[...e[59]||(e[59]=[s(" 拆分 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/split"]]]):b("",!0),D((d(),_(c,{type:"primary",link:"",onClick:x=>ut(l)},{default:o(()=>[...e[60]||(e[60]=[s(" 小程序码 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/wxQrcode"]]]),l.status===1||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?D((d(),_(c,{key:1,type:"success",link:"",onClick:x=>Nt(l)},{default:o(()=>[...e[61]||(e[61]=[s(" 支付 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/pay"]]]):b("",!0),l.status===2?D((d(),_(c,{key:2,type:"warning",link:"",onClick:x=>Ft(l)},{default:o(()=>[...e[62]||(e[62]=[s(" 退款 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/refund"]]]):b("",!0),l.status===1||l.status===5&&(l.payment_method==="fubei"||l.create_type==="express_cod")?D((d(),_(c,{key:3,type:"danger",link:"",onClick:x=>zt(l)},{default:o(()=>[...e[63]||(e[63]=[s(" 取消 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/cancel"]]]):b("",!0),D((d(),_(c,{type:"danger",link:"",onClick:x=>It(l)},{default:o(()=>[...e[64]||(e[64]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[U,["order.order/delete"]]]),D((d(),_(c,{type:l.is_exempt===1?"warning":"default",link:"",onClick:x=>Wt(l)},{default:o(()=>[s(f(l.is_exempt===1?"取消豁免":"设为豁免"),1)]),_:2},1032,["type","onClick"])),[[U,["order.order/setExempt"]]])]),_:1})]),_:1},8,["data"])),[[He,n(I).loading]]),g("div",fa,[t(Qt,{modelValue:n(I),"onUpdate:modelValue":e[9]||(e[9]=l=>$(I)?I.value=l:null),onChange:n(E)},null,8,["modelValue","onChange"])])]),_:1}),t(M,{modelValue:n(me),"onUpdate:modelValue":e[12]||(e[12]=l=>$(me)?me.value=l:null),title:"订单详情",width:"820px"},{default:o(()=>[n(k)?(d(),_(Gt,{key:0,column:2,border:""},{default:o(()=>[t(P,{label:"订单号"},{default:o(()=>[s(f(n(k).order_no),1)]),_:1}),t(P,{label:"订单状态"},{default:o(()=>[t(oe,{type:ot(n(k).status)},{default:o(()=>[s(f(at(n(k).status)),1)]),_:1},8,["type"])]),_:1}),t(P,{label:"患者姓名"},{default:o(()=>{var l;return[s(f(((l=n(k).patient)==null?void 0:l.patient_name)||"待关联"),1)]}),_:1}),t(P,{label:"患者电话"},{default:o(()=>{var l;return[s(f(((l=n(k).patient)==null?void 0:l.phone)||"-"),1)]}),_:1}),t(P,{label:"创建人"},{default:o(()=>{var l;return[s(f(((l=n(k).creator)==null?void 0:l.name)||"-"),1)]}),_:1}),n(k).payee_userid?(d(),_(P,{key:0,label:"收款人userid"},{default:o(()=>[s(f(n(k).payee_userid),1)]),_:1})):b("",!0),n(k).payer_external_userid?(d(),_(P,{key:1,label:"付款人external_userid"},{default:o(()=>[s(f(n(k).payer_external_userid),1)]),_:1})):b("",!0),t(P,{label:"订单类型"},{default:o(()=>[t(oe,{type:lt(n(k).order_type)},{default:o(()=>[s(f(tt(n(k).order_type)),1)]),_:1},8,["type"])]),_:1}),t(P,{label:"订单金额"},{default:o(()=>[g("span",ya,"¥"+f(n(k).amount),1)]),_:1}),t(P,{label:"支付方式"},{default:o(()=>[s(f(st(n(k))),1)]),_:1}),t(P,{label:"支付时间"},{default:o(()=>[s(f(n(k).payment_time||"-"),1)]),_:1}),t(P,{label:"创建时间"},{default:o(()=>[s(f(n(k).create_time),1)]),_:1}),t(P,{label:"备注",span:2},{default:o(()=>[s(f(n(k).remark||"无"),1)]),_:1})]),_:1})):b("",!0),n(k)?(d(),_(Kt,{key:1,"content-position":"left"},{default:o(()=>[...e[65]||(e[65]=[s("操作记录",-1)])]),_:1})):b("",!0),n(k)?(d(),V("p",_a,"谁在什么时间对本单做了哪些操作(数据来自服务器记录)。")):b("",!0),n(k)?D((d(),_(Ie,{key:3,data:n(De),size:"small","max-height":"320"},{default:o(()=>[t(S,{label:"操作",prop:"action_label","min-width":"120","show-overflow-tooltip":""}),t(S,{label:"操作人",prop:"admin_name","min-width":"100"}),t(S,{label:"操作时间",prop:"create_time_text","min-width":"160"}),t(S,{label:"说明",prop:"summary","min-width":"140","show-overflow-tooltip":""})]),_:1},8,["data"])),[[He,n(Se)]]):b("",!0),n(k)?(d(),V("div",ca,[t(Jt,{"current-page":n(B),"onUpdate:currentPage":e[10]||(e[10]=l=>$(B)?B.value=l:null),"page-size":n(pe),"onUpdate:pageSize":e[11]||(e[11]=l=>$(pe)?pe.value=l:null),total:n($e),"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",small:"",onSizeChange:Vt,onCurrentChange:Ue},null,8,["current-page","page-size","total"])])):b("",!0)]),_:1},8,["modelValue"]),t(M,{modelValue:n(fe),"onUpdate:modelValue":e[15]||(e[15]=l=>$(fe)?fe.value=l:null),title:"支付单操作统计",width:"520px",onOpened:wt},{default:o(()=>[n(ee)?(d(),V("p",va,"统计范围:"+f(n(ee)),1)):b("",!0),t(O,{class:"mb-3",inline:!0,onSubmit:e[14]||(e[14]=pt(()=>{},["prevent"]))},{default:o(()=>[t(r,{label:"时间范围"},{default:o(()=>[t(Ve,{modelValue:n(L),"onUpdate:modelValue":e[13]||(e[13]=l=>$(L)?L.value=l:null),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始","end-placeholder":"结束",class:"!w-[260px]"},null,8,["modelValue"])]),_:1}),t(r,null,{default:o(()=>[t(c,{type:"primary",loading:n(ye),onClick:Xe},{default:o(()=>[...e[66]||(e[66]=[s("查询",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),D((d(),_(Ie,{data:n(Ee),size:"small","max-height":"400"},{default:o(()=>[t(S,{label:"操作人",prop:"admin_name","min-width":"120","show-overflow-tooltip":""}),t(S,{label:"操作次数",prop:"cnt",width:"100",align:"right"})]),_:1},8,["data"])),[[He,n(ye)]])]),_:1},8,["modelValue"]),t(M,{modelValue:n(F),"onUpdate:modelValue":e[18]||(e[18]=l=>$(F)?F.value=l:null),title:"变更创建人(医助)",width:"440px","destroy-on-close":""},{footer:o(()=>[t(c,{onClick:e[17]||(e[17]=l=>F.value=!1)},{default:o(()=>[...e[67]||(e[67]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(we),onClick:bt},{default:o(()=>[...e[68]||(e[68]=[s("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[g("p",ga," 将 "+f(z.value.length)+" 条支付单的「创建人」改为所选医助,并写入各单操作日志。 ",1),t(w,{modelValue:n(Z).assistant_id,"onUpdate:modelValue":e[16]||(e[16]=l=>n(Z).assistant_id=l),filterable:"",placeholder:"选择医助",class:"w-full"},{default:o(()=>[(d(!0),V(Y,null,se(n(ie),l=>(d(),_(i,{key:l.id,label:l.dept_names?`${l.name}(${l.dept_names})`:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),t(M,{modelValue:n(q),"onUpdate:modelValue":e[23]||(e[23]=l=>$(q)?q.value=l:null),title:"订单支付",width:"500px"},{footer:o(()=>[t(c,{onClick:e[22]||(e[22]=l=>q.value=!1)},{default:o(()=>[...e[74]||(e[74]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:Rt,loading:n(_e)},{default:o(()=>[...e[75]||(e[75]=[s("确认支付",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(O,{model:n(y),"label-width":"100px"},{default:o(()=>[n(y).fubeiPendingAudit?(d(),_(ne,{key:0,type:"warning",closable:!1,class:"mb-3",title:"该单为待审核(付呗/快递代收),请选择实际到账方式后确认「已支付」"})):b("",!0),n(y).fubeiPendingAudit?b("",!0):(d(),_(r,{key:1,label:"支付类型",required:""},{default:o(()=>[t(We,{modelValue:n(y).payType,"onUpdate:modelValue":e[19]||(e[19]=l=>n(y).payType=l)},{default:o(()=>[t(A,{label:"supplement"},{default:o(()=>[...e[69]||(e[69]=[s("补单支付",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),n(y).payType==="normal"?(d(),V(Y,{key:2},[t(r,{label:"订单号"},{default:o(()=>[g("span",null,f(n(y).order_no),1)]),_:1}),t(r,{label:"订单金额"},{default:o(()=>[g("span",ba,"¥"+f(n(y).amount),1)]),_:1})],64)):b("",!0),!n(y).fubeiPendingAudit&&n(y).payType==="supplement"?(d(),_(r,{key:3,label:"支付订单号",required:""},{default:o(()=>[t(u,{modelValue:n(y).supplement_order_no,"onUpdate:modelValue":e[20]||(e[20]=l=>n(y).supplement_order_no=l),placeholder:"请输入支付订单号"},null,8,["modelValue"])]),_:1})):b("",!0),n(y).fubeiPendingAudit?(d(),V(Y,{key:4},[t(r,{label:"订单号"},{default:o(()=>[g("span",null,f(n(y).order_no),1)]),_:1}),t(r,{label:"金额"},{default:o(()=>[g("span",ka,"¥"+f(n(y).amount),1)]),_:1})],64)):b("",!0),t(r,{label:"支付方式",required:""},{default:o(()=>[t(We,{modelValue:n(y).payment_method,"onUpdate:modelValue":e[21]||(e[21]=l=>n(y).payment_method=l)},{default:o(()=>[n(y).fubeiPendingAudit?(d(),_(A,{key:0,label:"manual"},{default:o(()=>[...e[70]||(e[70]=[s("手动确认到账",-1)])]),_:1})):b("",!0),t(A,{label:"alipay"},{default:o(()=>[...e[71]||(e[71]=[s("支付宝",-1)])]),_:1}),t(A,{label:"wechat"},{default:o(()=>[...e[72]||(e[72]=[s("微信",-1)])]),_:1}),t(A,{label:"wechat_work"},{default:o(()=>[...e[73]||(e[73]=[s("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(M,{modelValue:n(N),"onUpdate:modelValue":e[31]||(e[31]=l=>$(N)?N.value=l:null),title:"创建订单",width:"600px",onClose:et},{footer:o(()=>[t(c,{onClick:e[30]||(e[30]=l=>N.value=!1)},{default:o(()=>[...e[87]||(e[87]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",onClick:ht,loading:n(he)},{default:o(()=>[s(f(n(p).createType==="wechat_work"?"创建并获取收款订单号":"创建订单"),1)]),_:1},8,["loading"])]),default:o(()=>[t(O,{ref_key:"createFormRef",ref:Pe,model:n(p),rules:Tt,"label-width":"100px"},{default:o(()=>[t(r,{label:"创建方式"},{default:o(()=>[t(We,{modelValue:n(p).createType,"onUpdate:modelValue":e[24]||(e[24]=l=>n(p).createType=l)},{default:o(()=>[t(A,{label:"normal"},{default:o(()=>[...e[76]||(e[76]=[s("普通订单",-1)])]),_:1}),t(A,{label:"wechat_work"},{default:o(()=>[...e[77]||(e[77]=[s("企业微信对外收款",-1)])]),_:1}),t(A,{label:"fubei"},{default:o(()=>[...e[78]||(e[78]=[s("付呗",-1)])]),_:1}),t(A,{label:"express_cod"},{default:o(()=>[...e[79]||(e[79]=[s("快递代收",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(p).createType==="wechat_work"?(d(),_(ne,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:o(()=>[...e[80]||(e[80]=[s("企业微信对外收款",-1)])]),default:o(()=>[e[81]||(e[81]=s(" 创建后将生成订单号,请在企业微信发起收款时将该订单号填写为「商户订单号」,收款成功后系统将自动更新订单状态。 ",-1))]),_:1})):b("",!0),n(p).createType==="fubei"?(d(),_(ne,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:o(()=>[...e[82]||(e[82]=[s("付呗",-1)])]),default:o(()=>[e[83]||(e[83]=s(" 通过付呗收款的支付单,创建后请按实际对账/审核流程在列表中处理。 ",-1))]),_:1})):b("",!0),n(p).createType==="express_cod"?(d(),_(ne,{key:2,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:o(()=>[...e[84]||(e[84]=[s("快递代收",-1)])]),default:o(()=>[e[85]||(e[85]=s(" 通过快递代收的支付单,流转与付呗一致;审核通过/确认到账后将更新为已支付。 ",-1))]),_:1})):b("",!0),n(p).createType==="fubei"||n(p).createType==="express_cod"?(d(),_(r,{key:3,label:"支付单审核"},{default:o(()=>[t(Xt,{modelValue:n(p).requirePaymentSlipAudit,"onUpdate:modelValue":e[25]||(e[25]=l=>n(p).requirePaymentSlipAudit=l),"active-text":"申请审核","inactive-text":"不申请"},null,8,["modelValue"]),e[86]||(e[86]=g("div",{class:"text-xs text-gray-500 mt-1"}," 开启后,新订单的支付状态为「待审核」;未开启则为「待支付」。 ",-1))]),_:1})):b("",!0),t(r,{label:"患者",prop:"patient_id"},{default:o(()=>[t(w,{modelValue:n(p).patient_id,"onUpdate:modelValue":e[26]||(e[26]=l=>n(p).patient_id=l),placeholder:"请选择患者",filterable:"",remote:"","remote-method":St,loading:n(Oe)},{default:o(()=>[(d(!0),V(Y,null,se(n(Me),l=>(d(),_(i,{key:l.id,label:`${l.patient_name} (${l.phone})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(r,{label:"订单类型",prop:"order_type"},{default:o(()=>[t(w,{modelValue:n(p).order_type,"onUpdate:modelValue":e[27]||(e[27]=l=>n(p).order_type=l),placeholder:"请选择"},{default:o(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"订单金额",prop:"amount"},{default:o(()=>[t(Be,{modelValue:n(p).amount,"onUpdate:modelValue":e[28]||(e[28]=l=>n(p).amount=l),min:0,step:.01,precision:2,placeholder:"请输入金额"},null,8,["modelValue"])]),_:1}),t(r,{label:"备注",prop:"remark"},{default:o(()=>[t(u,{modelValue:n(p).remark,"onUpdate:modelValue":e[29]||(e[29]=l=>n(p).remark=l),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(M,{modelValue:n(j),"onUpdate:modelValue":e[35]||(e[35]=l=>$(j)?j.value=l:null),title:"同步企业微信对外收款",width:"420px"},{footer:o(()=>[t(c,{onClick:e[34]||(e[34]=l=>j.value=!1)},{default:o(()=>[...e[88]||(e[88]=[s("取消",-1)])]),_:1}),t(c,{type:"info",loading:n(Ne),onClick:Ut},{default:o(()=>[...e[89]||(e[89]=[s(" 排查同步为0 ",-1)])]),_:1},8,["loading"]),t(c,{type:"primary",loading:n(ce),onClick:Pt},{default:o(()=>[...e[90]||(e[90]=[s(" 开始同步 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[e[91]||(e[91]=g("p",{class:"text-gray-600 mb-4"},"拉取员工在企业微信内直接发起的对外收款记录,自动创建订单(未经过后台创建的收款)",-1)),t(O,{"label-width":"90px"},{default:o(()=>[t(r,{label:"时间范围"},{default:o(()=>[t(Ve,{modelValue:n(Q),"onUpdate:modelValue":e[32]||(e[32]=l=>$(Q)?Q.value=l:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",shortcuts:$t},null,8,["modelValue"])]),_:1}),t(r,{label:"收款人userid"},{default:o(()=>[t(u,{modelValue:n(ve),"onUpdate:modelValue":e[33]||(e[33]=l=>$(ve)?ve.value=l:null),placeholder:"可选,如 GaoXingLiang,排查时若返回 try_payee_userids 可逐个尝试",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(M,{modelValue:n(H),"onUpdate:modelValue":e[41]||(e[41]=l=>$(H)?H.value=l:null),title:"编辑订单",width:"480px"},{footer:o(()=>[t(c,{onClick:e[40]||(e[40]=l=>H.value=!1)},{default:o(()=>[...e[92]||(e[92]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(Ae),onClick:At},{default:o(()=>[...e[93]||(e[93]=[s("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(C)?(d(),_(O,{key:0,ref_key:"editOrderFormRef",ref:Ze,model:n(C),rules:Ct,"label-width":"100px"},{default:o(()=>[t(r,{label:"关联患者",prop:"patient_id"},{default:o(()=>[t(w,{modelValue:n(C).patient_id,"onUpdate:modelValue":e[36]||(e[36]=l=>n(C).patient_id=l),filterable:"",remote:"",placeholder:"搜索患者姓名/手机号,可留空表示待关联","remote-method":Mt,loading:n(Le),clearable:"",class:"w-full"},{default:o(()=>[(d(!0),V(Y,null,se(n(te),l=>(d(),_(i,{key:l.id,label:`${l.patient_name||"-"} (${l.phone||"-"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(r,{label:"订单类型",prop:"order_type"},{default:o(()=>[t(w,{modelValue:n(C).order_type,"onUpdate:modelValue":e[37]||(e[37]=l=>n(C).order_type=l),placeholder:"请选择",class:"w-full"},{default:o(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),Ye.value&&qe.value?(d(),_(r,{key:0,label:"支付时间",prop:"payment_time"},{default:o(()=>[t(Ve,{modelValue:n(C).payment_time,"onUpdate:modelValue":e[38]||(e[38]=l=>n(C).payment_time=l),type:"datetime",placeholder:"请选择支付时间",format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss",clearable:!1,class:"w-full"},null,8,["modelValue"])]),_:1})):b("",!0),Ye.value?(d(),_(r,{key:1,label:"创建时间",prop:"create_time"},{default:o(()=>[t(Ve,{modelValue:n(C).create_time,"onUpdate:modelValue":e[39]||(e[39]=l=>n(C).create_time=l),type:"datetime",placeholder:"请选择创建时间",format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss",clearable:!1,class:"w-full"},null,8,["modelValue"])]),_:1})):b("",!0)]),_:1},8,["model"])):b("",!0)]),_:1},8,["modelValue"]),t(M,{modelValue:n(G),"onUpdate:modelValue":e[45]||(e[45]=l=>$(G)?G.value=l:null),title:"拆分订单",width:"620px","destroy-on-close":"",onClosed:e[46]||(e[46]=l=>h.value=null)},{footer:o(()=>[t(c,{onClick:e[44]||(e[44]=l=>G.value=!1)},{default:o(()=>[...e[102]||(e[102]=[s("取消",-1)])]),_:1}),t(c,{type:"primary",loading:n(Re),disabled:!ge.value,onClick:Yt},{default:o(()=>[...e[103]||(e[103]=[s(" 确定拆分 ",-1)])]),_:1},8,["loading","disabled"])]),default:o(()=>[n(h)?(d(),V(Y,{key:0},[g("p",xa,[e[94]||(e[94]=s(" 原订单号 ",-1)),g("span",Va,f(n(h).order_no),1),e[95]||(e[95]=s(",金额 ",-1)),g("span",wa,"¥"+f(n(h).amount),1),e[96]||(e[96]=s("。每笔子单可分别选择",-1)),e[97]||(e[97]=g("strong",null,"订单类型",-1)),e[98]||(e[98]=s(";子单继承患者、创建人及企微收款信息;",-1)),e[99]||(e[99]=g("strong",null,"已支付",-1)),e[100]||(e[100]=s("子单继承支付方式、支付时间与交易号;原单将软删除;若已关联业务订单,关联会同步到全部子单。 ",-1))]),t(O,{"label-width":"88px",onSubmit:e[43]||(e[43]=pt(()=>{},["prevent"]))},{default:o(()=>[t(r,{label:"拆分管数"},{default:o(()=>[t(Be,{modelValue:n(K),"onUpdate:modelValue":e[42]||(e[42]=l=>$(K)?K.value=l:null),min:2,max:20,step:1,"step-strictly":"",onChange:it},null,8,["modelValue"]),e[101]||(e[101]=g("span",{class:"text-xs text-gray-400 ml-2"},"2~20 笔",-1))]),_:1})]),_:1}),g("div",Ta,[(d(!0),V(Y,null,se(n(J),(l,x)=>(d(),V("div",{key:x,class:"flex items-center gap-2 flex-wrap"},[g("span",Ca,"第 "+f(x+1)+" 笔",1),t(w,{modelValue:n(le)[x],"onUpdate:modelValue":je=>n(le)[x]=je,placeholder:"订单类型",class:"w-[136px] shrink-0"},{default:o(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue","onUpdate:modelValue"]),t(Be,{modelValue:n(J)[x],"onUpdate:modelValue":je=>n(J)[x]=je,min:.01,step:.01,precision:2,class:"flex-1 min-w-[140px]","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),t(ne,{type:ge.value?"success":"warning",closable:!1,"show-icon":""},{title:o(()=>[s(" 子单合计 ¥"+f(dt.value.toFixed(2))+", "+f(ge.value?"与原价一致,可提交":"须与原价完全一致方可拆分"),1)]),_:1},8,["type"])],64)):b("",!0)]),_:1},8,["modelValue"]),t(M,{modelValue:n(ae),"onUpdate:modelValue":e[48]||(e[48]=l=>$(ae)?ae.value=l:null),title:"支付小程序码",width:"400px","close-on-click-modal":!1},{footer:o(()=>[t(c,{onClick:e[47]||(e[47]=l=>ae.value=!1)},{default:o(()=>[...e[106]||(e[106]=[s("关闭",-1)])]),_:1}),n(be)?b("",!0):(d(),_(c,{key:0,type:"primary",onClick:Bt},{default:o(()=>[...e[107]||(e[107]=[s(" 重新生成 ",-1)])]),_:1}))]),default:o(()=>[g("div",Sa,[n(be)?(d(),V("div",Da,[t(Zt,{class:"is-loading",size:40},{default:o(()=>[t(n(Jl))]),_:1}),e[104]||(e[104]=g("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(ke)?(d(),V("div",$a,[g("img",{src:n(ke),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,Ea),g("div",Ua,[g("div",null,"订单号:"+f(n(xe)),1),e[105]||(e[105]=g("div",{class:"mt-2"},"请使用微信扫描二维码完成支付",-1))])])):(d(),V("div",Pa," 生成失败,请重试 "))])]),_:1},8,["modelValue"])])}}}),Do=Xl(Oa,[["__scopeId","data-v-afbba537"]]);export{Do as default}; diff --git a/server/public/admin/assets/index-hyZhgnYU.js b/server/public/admin/assets/index-BIVqDwVE.js similarity index 95% rename from server/public/admin/assets/index-hyZhgnYU.js rename to server/public/admin/assets/index-BIVqDwVE.js index 0641187f1..24e5a5c8c 100644 --- a/server/public/admin/assets/index-hyZhgnYU.js +++ b/server/public/admin/assets/index-BIVqDwVE.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-BzY4w_V9.js","assets/appointment-aTSV_XED.js","assets/first_visit-BYIyH6Y1.js","assets/appointment-JDceTxKO.css","assets/AssistantWatchCallDialog-BLaY2Gyh.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); -import{_ as fe}from"./jspdf-BsthCvR5.js";import{S as Ea,C as Sa,i as Ra,d as $a,Q as Ia,R as Na,K as Ta,N as La,O as wa,U as Pa,r as za,p as Wa,n as Ya,o as Fa,M as Ma,X as Ua,a8 as Oa,a9 as qa,e as Ba,W as Qa,D as Ha,B as Ga,H as Ka,h as Xa,a6 as ja,a7 as Ja,I as Za,v as es}from"./element-plus-DGP1XOrU.js";import{_ as ts}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as Et,q as ns,s as tt}from"./@vue/runtime-dom-DDAG46FW.js";import{aw as M,n as as,X as ss,ax as Te,ay as is,az as ls,W as St,aA as Rt,aB as os,aC as ds,aD as rs,aE as us}from"./tcm-CEIBuAeK.js";import{i as ps}from"./order-L3Ma3_1N.js";import{m as $t}from"./doctor-BVLBwYIX.js";import{u as ms}from"./usePaging-DofycyjW.js";import{u as _s,o as nt,k as f,_ as cs}from"./index-fRv3NTFQ.js";import{g as It}from"./weapp-B8uox-3Q.js";import{h as U}from"./perm-CTlz8z1G.js";import{e as Nt,Z as gs,av as fs,P as Tt,b as vs,at as ys,G as hs,H as ks,l as bs}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as Cs,a as xs}from"./vue-router-QlpZ4wdW.js";import{d as Le}from"./dayjs-DG77mNTn.js";import{_ as Lt}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{f as wt,w as Ds,b as Vs,d as As,as as Es,ak as o,I as p,a as l,aN as i,J as r,F as E,ap as $,O as m,H as b,aP as R,G as v,P as ve,A as ee}from"./@vue/runtime-core-C6bnekPw.js";import{o as O,Q as _}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as G,r as at,n as g}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ss={class:"tcm-diagnosis"},Rs={class:"filter-main"},$s={class:"date-chips"},Is=["onClick"],Ns={key:0},Ts={key:0},Ls={key:0},ws={class:"pending-assign-wrap"},Ps={key:0},zs={class:"search-row"},Ws={class:"filter-chips"},Ys=["onClick"],Fs=["onClick"],Ms={class:"filter-more"},Us={class:"list-header"},Os={class:"list-actions"},qs={key:0,class:"list-selected"},Bs={class:"table-wrap px-4"},Qs={class:"patient-cell"},Hs={class:"patient-info"},Gs={class:"patient-name"},Ks={class:"patient-cell"},Xs={class:"patient-info"},js={class:"patient-name"},Js={class:"apt-badge"},Zs={class:"apt-doctor"},ei={class:"apt-time"},ti={key:0,class:"apt-actions"},ni={class:"apt-badge"},ai={class:"apt-doctor"},si={class:"apt-time"},ii={key:2,class:"apt-latest-channel"},li={key:1,class:"apt-none"},oi={key:0,class:"status-confirmed"},di={key:1,class:"status-unconfirmed"},ri={key:0,class:"followup-cell"},ui={class:"followup-time"},pi={class:"followup-doctor"},mi={key:1,class:"followup-none"},_i={class:"assistant-cell"},ci={key:0,class:"status-prescribed"},gi={key:1,class:"status-unprescribed"},fi={key:1,class:"unserved-days unserved-muted"},vi={class:"video-watch-col"},yi={class:"video-watch-trigger"},hi={key:1,class:"video-watch-muted"},ki={key:1,class:"video-watch-muted"},bi={class:"pagination-wrap"},Ci={class:"min-h-[100px]"},xi={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},Di={class:"font-medium text-gray-800"},Vi={class:"flex flex-wrap items-center gap-2"},Ai={class:"text-sm font-medium text-gray-800"},Ei={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},Si={class:"flex flex-col items-center justify-center py-4"},Ri={key:0,class:"text-center"},$i={key:1,class:"text-center"},Ii=["src"],Ni={class:"mt-4 text-sm text-gray-600"},Ti={class:"mt-2"},Li={key:2,class:"text-center text-gray-500"},wi={class:"text-gray-500"},Pi={class:"text-gray-500"},zi={class:"font-medium"},Wi={class:"font-medium"},Yi={key:0,class:"mb-4"},Fi={key:0},Mi={key:0,class:"mt-2"},Ui={key:1,class:"mt-2"},Oi={class:"mb-4"},qi={class:"flex gap-2"},Bi={key:0,class:"text-center text-gray-400 py-10"},Qi={key:1,class:"record-list"},Hi={class:"record-header"},Gi={class:"flex items-center gap-2"},Ki={class:"font-medium text-sm"},Xi={class:"flex items-center gap-2"},ji={class:"text-xs text-gray-400"},Ji={class:"record-content"},Zi={key:0,class:"mt-1"},el={key:2,class:"text-center mt-4"},tl=wt({name:"tcmDiagnosis"}),nl=wt({...tl,setup(al){const Pt=ve(()=>fe(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),zt=ve(()=>fe(()=>import("./detail-BzY4w_V9.js"),__vite__mapDeps([104,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),Wt=ve(()=>fe(()=>import("./index-B6hZ4N_9.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,96,97,15,98,99,100,101]))),Yt=ve(()=>fe(()=>import("./appointment-aTSV_XED.js"),__vite__mapDeps([105,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,106,107]))),Ft=ve(()=>fe(()=>import("./AssistantWatchCallDialog-BLaY2Gyh.js"),__vite__mapDeps([108,1,2,3,4,5,6,7,8,9,10,11,12,13,14,109,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,110]))),Mt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Le(e).format("YYYY-MM-DD HH:mm:ss")},st=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),s=at({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",start_time:"",end_time:"",latest_appointment_start_date:"",latest_appointment_end_date:"",latest_appointment_channel_source:"",latest_assign_start_date:"",latest_assign_end_date:"",sort_unserved_days:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:"",pending_assign_keyword:""}),it=g("all"),ue=g(!1),Ut=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Ot=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],qt=t=>{s.has_appointment=t,s.pending_booking="",s.completed_appointment="",t==="0"&&me(),V.page=1,x(),S()},Bt=t=>{s.diagnosis_confirmed=t,s.pending_booking="",s.completed_appointment="",V.page=1,x(),S()};function Qt(t){if(!(t.pending_assign==="1"||t.pending_assign===1))return!1;const u=String(t.pending_assign_keyword??"").trim(),c=String(t.keyword??"").trim();return u!==""||c!==""}function lt(t){if(!Qt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),u=String(t.keyword??"").trim(),c=e!==""?e:u;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:c}}function Ht(){const t=String(s.pending_assign_order_month??"").trim();return t!==""?t:s.pending_assign==="1"?"":Le().format("YYYY-MM")}function Gt(){return{keyword:s.keyword,diagnosis_type:s.diagnosis_type,syndrome_type:s.syndrome_type,assistant_id:s.assistant_id,diagnosis_confirmed:s.diagnosis_confirmed,has_appointment:s.has_appointment,latest_appointment_start_date:s.latest_appointment_start_date,latest_appointment_end_date:s.latest_appointment_end_date,latest_appointment_channel_source:s.latest_appointment_channel_source,latest_assign_start_date:s.latest_assign_start_date,latest_assign_end_date:s.latest_assign_end_date}}function q(t={}){return{page_no:1,page_size:1,...Gt(),appointment_date:"",pending_booking:"",completed_appointment:"",pending_assign:"",pending_assign_order_month:"",pending_assign_keyword:"",sort_unserved_days:"",...t}}function Kt(){return lt(q({pending_assign:1,has_appointment:"",pending_assign_order_month:Ht(),pending_assign_keyword:s.pending_assign_keyword}))}const Xt=t=>M(lt(t));function jt(){if(s.pending_assign!=="1")return;const t=(s.pending_assign_keyword??"").trim(),e=(s.keyword??"").trim();t===""&&e===""||(s.appointment_date="",s.pending_booking="",s.completed_appointment="",s.diagnosis_confirmed="",s.has_appointment="",s.diagnosis_type="",s.syndrome_type="",s.assistant_id="",s.start_time="",s.end_time="",s.latest_appointment_start_date="",s.latest_appointment_end_date="",s.latest_appointment_channel_source="",s.latest_assign_start_date="",s.latest_assign_end_date="",s.sort_unserved_days="",s.pending_assign_order_month="",it.value="all",t!==""&&(s.keyword=""))}const B=()=>{jt(),V.page=1,x(),S()},Jt=ee(()=>[{label:"昨天挂号",value:Me.value},{label:"前天挂号",value:Ue.value},{label:"当天挂号",value:he.value},{label:"明天挂号",value:Ye.value},{label:"后天挂号",value:Fe.value},{label:"全部",value:""}]),we=g({}),Pe=g(void 0),ze=g(void 0),We=g(void 0),Zt=async t=>{s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="",s.completed_appointment="",s.has_appointment="",me(),s.appointment_date=t,V.page=1,await x(),S()},en=async()=>{s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="1",s.completed_appointment="",s.appointment_date="",s.has_appointment="0",me(),V.page=1,await x(),S()},tn=async()=>{s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="",s.completed_appointment="1",s.has_appointment="",s.appointment_date="",me(),V.page=1,await x(),S()},nn=async()=>{s.pending_assign="1",s.pending_booking="",s.completed_appointment="",s.has_appointment="",s.appointment_date="",me(),s.pending_assign_order_month||(s.pending_assign_order_month=Le().format("YYYY-MM")),V.page=1,await x(),S()},an=async t=>{s.pending_assign_order_month=t||"",s.pending_assign==="1"&&(V.page=1,await x(),S())},S=async()=>{try{const[t,e,u,c,d,y,D,z,re]=await Promise.all([M(q({appointment_date:Me.value,has_appointment:""})),M(q({appointment_date:Ue.value,has_appointment:""})),M(q({appointment_date:he.value,has_appointment:""})),M(q({appointment_date:Ye.value,has_appointment:""})),M(q({appointment_date:Fe.value,has_appointment:""})),M(q()),M(q({has_appointment:0})),M(q({completed_appointment:1,has_appointment:""})),M(Kt())]);we.value={[Me.value]:(t==null?void 0:t.count)??0,[Ue.value]:(e==null?void 0:e.count)??0,[he.value]:(u==null?void 0:u.count)??0,[Ye.value]:(c==null?void 0:c.count)??0,[Fe.value]:(d==null?void 0:d.count)??0,"":(y==null?void 0:y.count)??0},Pe.value=(D==null?void 0:D.count)??0,ze.value=(z==null?void 0:z.count)??0,We.value=(re==null?void 0:re.count)??0}catch(t){console.error("获取日期数量失败",t)}};function sn(){const t=()=>S();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const ln=2e4;let ye=null;function on(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),S())}const w=t=>String(t).padStart(2,"0"),he=ee(()=>{const t=new Date;return`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),Ye=ee(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),Fe=ee(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),Me=ee(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),Ue=ee(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),ot=g([]),dt=g([]),pe=g([]),rt=g([]),dn=async()=>{try{const[t,e,u,c]=await Promise.all([nt({type:"diagnosis_type"}),nt({type:"syndrome_type"}),nt({type:"channels"}),as()]);ot.value=(t==null?void 0:t.diagnosis_type)||[],dt.value=(e==null?void 0:e.syndrome_type)||[],rt.value=((u==null?void 0:u.channels)||[]).filter(d=>d.status!==0).sort((d,y)=>{const D=Number((y==null?void 0:y.sort)??0)-Number((d==null?void 0:d.sort)??0);return D!==0?D:Number((y==null?void 0:y.id)??0)-Number((d==null?void 0:d.id)??0)}).map(d=>({name:String((d==null?void 0:d.name)??(d==null?void 0:d.value)??""),value:(d==null?void 0:d.value)!=null&&d.value!==""?String(d.value):""})),pe.value=c||[]}catch(t){console.error("获取字典数据失败:",t)}},me=()=>{s.latest_appointment_start_date="",s.latest_appointment_end_date="",s.latest_appointment_channel_source=""},ut=()=>!!(s.latest_appointment_start_date||s.latest_appointment_end_date||s.latest_appointment_channel_source),pt=()=>{ut()&&(s.appointment_date="",s.pending_booking="",s.completed_appointment="",s.has_appointment==="0"&&(s.has_appointment="")),B()},rn=()=>{B()},un=({prop:t,order:e})=>{t==="unserved_days"?s.sort_unserved_days=e==="ascending"?"asc":e==="descending"?"desc":"":s.sort_unserved_days="",V.page=1,x()},mt=t=>{const e=String((t==null?void 0:t.latest_appointment_channel_source_desc)||"").trim(),u=String((t==null?void 0:t.latest_appointment_channel_source)||"").trim(),c=String((t==null?void 0:t.latest_appointment_channel_source_detail)||"").trim(),d=e||u;return d?c?`${d}(${c})`:d:""},pn=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(pe.value.length===0)return"...";const u=pe.value.find(c=>(typeof c.id=="string"?parseInt(c.id):c.id)===e);return u?u.name:"-"},{pager:V,getLists:x}=ms({fetchFun:Xt,params:s}),mn=()=>x({silent:!0}),_n=()=>{it.value="all",s.keyword="",s.diagnosis_type="",s.syndrome_type="",s.assistant_id="",s.latest_appointment_start_date="",s.latest_appointment_end_date="",s.latest_appointment_channel_source="",s.latest_assign_start_date="",s.latest_assign_end_date="",s.sort_unserved_days="",s.diagnosis_confirmed="",s.appointment_date="",s.has_appointment="",s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="",s.completed_appointment="",V.page=1,x(),S()},_t=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(u=>u.is_confirmed==1)},cn=t=>{if(t==null)return"unserved-muted";const e=Number(t);return Number.isFinite(e)?e>=7?"unserved-red":e>=3?"unserved-orange":"unserved-green":"unserved-muted"},gn=({row:t})=>_t(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",se=g(),fn=g(),ct=g(),gt=g(),ke=g(null),be=_s();Ds([se,ke],()=>{const t=ke.value,e=se.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),ke.value=null)},{flush:"post"});const Ce=g(!1),ft=g(0),vn=t=>{var u;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((u=be.userInfo)==null?void 0:u.id)},yn=t=>{ft.value=Number(t.id)||0,Ce.value=!0},hn=t=>vn(t)&&U(["tcm.diagnosis/watchCall"]),xe=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},kn=t=>{const e=t.video_call_hint,u="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${u}。开始时间:${Mt(e.start_time)}`:u},bn=t=>{const e=xe(t);return e==="live"||e==="pending_room"},Cn=t=>xe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":kn(t),xn=t=>{if(xe(t)!=="live"){f.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}yn(t)},Dn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Vn=t=>{const e=xe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const u=t.video_call_hint;return(u==null?void 0:u.label)||"—"},ie=g(!1),De=g(),Oe=g(!1),h=at({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),An={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},En=t=>{var e;h.patient_id=t.patient_id||t.id,h.patient_name=t.patient_name,h.phone=t.phone||"",h.order_type="",h.amount=0,h.remark="",h.has_appointment=!!t.has_appointment,h.appointment_time_text=t.appointment_time_text||"",(e=De.value)==null||e.clearValidate(),ie.value=!0},Sn=()=>{var t;h.patient_id="",h.patient_name="",h.phone="",h.order_type="",h.amount=0,h.remark="",h.has_appointment=!1,h.appointment_time_text="",(t=De.value)==null||t.clearValidate()},Rn=async()=>{var t;try{await((t=De.value)==null?void 0:t.validate()),Oe.value=!0;const e=await ps({patient_id:h.patient_id,order_type:h.order_type,amount:h.amount,remark:h.remark});ie.value=!1,x();const u=e==null?void 0:e.order_no;if(u){Q.value=!0,K.value=!0,X.value="",j.value={patient_name:h.patient_name,has_appointment:h.has_appointment,appointment_time_text:h.appointment_time_text};try{const c=await ss({order_no:u});c!=null&&c.qrcode_url?X.value=c.qrcode_url:f.msgError("二维码生成失败")}catch(c){f.msgError((c==null?void 0:c.msg)||"生成二维码失败")}finally{K.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Oe.value=!1}},Q=g(!1),K=g(!1),X=g(""),j=g(null),$n=ee(()=>{const t=j.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),qe=g("小程序二维码"),Be=g("confirm"),I=g([]),le=g([]),te=g(!1),Qe=g(!1),_e=g("batch"),ce=g(null),A=g({assistant_id:null,is_inherit:!1});function In(){le.value=[],A.value.assistant_id=null,A.value.is_inherit=!1}const Nn=t=>{I.value=t.map(e=>e.id)},Ve=t=>Number((t==null?void 0:t.assistant_id)??(t==null?void 0:t.assistant)??0)>0,Tn=ee(()=>{if(!I.value.length)return!1;const t=new Set(I.value);return V.lists.some(e=>t.has(e.id)&&Ve(e))}),Ln=t=>{_e.value="single",ce.value=t,le.value=[],A.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,A.value.is_inherit=!1,te.value=!0},wn=()=>{if(I.value.length===0){f.msgWarning("请先选择要指派的诊单");return}_e.value="batch",ce.value=null,A.value.assistant_id=null,A.value.is_inherit=!1,le.value=[...I.value],te.value=!0},Pn=async()=>{if(!A.value.assistant_id){f.msgWarning("请选择医助");return}Qe.value=!0;try{if(_e.value==="single")await Te({id:ce.value.id,assistant_id:A.value.assistant_id,is_inherit:A.value.is_inherit?1:0});else{const t=le.value;if(!t.length){f.msgWarning("没有可指派的诊单,请关闭后重新勾选");return}for(const e of t)await Te({id:e,assistant_id:A.value.assistant_id,is_inherit:A.value.is_inherit?1:0});I.value=[],le.value=[]}te.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{Qe.value=!1}},zn=async t=>{if(!(t!=null&&t.id)||!Ve(t)){f.msgWarning("该诊单未指派医助");return}await f.confirm("确定取消该诊单的医助指派吗?"),await Te({id:t.id,assistant_id:0}),x()},Wn=async()=>{if(!I.value.length){f.msgWarning("请先选择诊单");return}const t=new Set(I.value),e=V.lists.filter(u=>t.has(u.id)&&Ve(u));if(!e.length){f.msgWarning("所选诊单中没有已指派医助的记录");return}await f.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(u=>Te({id:u.id,assistant_id:0}))),I.value=[],x()},Yn=()=>{se.value.open("add")},Fn=t=>{se.value.open("edit",t)};function Mn(t){return s.pending_assign==="1"?"开方":Number(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方"}const Un=t=>{var e;if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}(e=ct.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},On=()=>{var t,e;x(),(e=(t=se.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},qn=async t=>{await f.confirm("确定要删除该诊单吗?"),await rs({id:t}),x()},Bn=(t,e)=>{switch(t){case"assign":Ln(e);break;case"cancelAssign":zn(e);break;case"videoQr":if(!He(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}bt(e);break;case"confirmQr":Ct(e);break;case"cancelApt":jn(e);break;case"guahaoLogs":ta(e);break;case"order":En(e);break;case"delete":qn(e.id);break}},Qn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},Hn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},ge=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Gn=t=>{const e=Number(t==null?void 0:t.status);return{"apt-item-done":e===3,"apt-item-missed":e===4,"apt-item-active":e===1}},Kn=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},vt=t=>ge(t).find(e=>Number(e==null?void 0:e.status)===1)??null,yt=t=>{const e=vt(t);return e?{...t,has_appointment:1,appointment_id:e.id,appointment_status:e.status,appointment_doctor_id:e.doctor_id,appointment_doctor_name:e.doctor_name,appointment_time_text:e.time_text}:null},He=t=>!!vt(t),ht=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Ge=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Xn=t=>ht(t)?ge(t).length<=1:!1,jn=async t=>{var d;if(!ht(t)){const y=Number(t.appointment_status);t.has_appointment&&y===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}const e=ge(t),u=e.length===1?e[0]:null,c=u!=null&&u.id&&Ge(u)?u.id:t.appointment_id;try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await $t({id:c}),f.msgSuccess("取消挂号成功"),x(),S(),ne.value&&((d=H.value)==null?void 0:d.id)===t.id&&await Ee(t.id)}catch(y){y!=="cancel"&&f.msgError((y==null?void 0:y.msg)||"取消挂号失败")}},Jn=async(t,e)=>{var d;if(!Ge(e)){Number(e==null?void 0:e.status)===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该挂号无法取消");return}const u=e.doctor_name||"—",c=e.time_text||"—";try{await f.confirm(`确定取消「${u}」${c} 的挂号吗?(患者:${t.patient_name||"—"})`),await $t({id:e.id}),f.msgSuccess("取消挂号成功"),x(),S(),ne.value&&((d=H.value)==null?void 0:d.id)===t.id&&await Ee(t.id)}catch(y){y!=="cancel"&&f.msgError((y==null?void 0:y.msg)||"取消挂号失败")}},ne=g(!1),Ae=g(!1),oe=g([]),H=g(null);function Zn(){oe.value=[],H.value=null}function ea(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),u=Number(t==null?void 0:t.admin_id);return e||(u>0?`管理员 #${u}`:"—")}async function Ee(t){Ae.value=!0;try{const e=await is({id:t});oe.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{oe.value=[]}finally{Ae.value=!1}}async function ta(t){if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}H.value=t,ne.value=!0,await Ee(Number(t.id))}async function na(){var t;await x({silent:!0}),S(),ne.value&&((t=H.value)!=null&&t.id)&&await Ee(Number(H.value.id))}const aa=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=gt.value)==null||e.open(t)},de=g(!1),Ke=g(!1),kt=g(),P=at({id:0,patient_name:"",id_card:""}),sa={id_card:[{required:!0,validator:(t,e,u)=>{if(!e){u(new Error("请输入身份证号"));return}const c=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),d=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);c||d?u():u(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},ia=t=>{P.id=t.id,P.patient_name=t.patient_name||"-",P.id_card=t.id_card||"",de.value=!0},la=async()=>{var t;await((t=kt.value)==null?void 0:t.validate()),Ke.value=!0;try{await ls({id:P.id,id_card:P.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),de.value=!1,x()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ke.value=!1}},bt=async t=>{var u;const e=yt(t);if(!e){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!e.patient_id){f.msgWarning("患者信息不完整");return}Be.value="video",j.value=e,Q.value=!0,K.value=!0,X.value="",qe.value="视频二维码";try{const c=await It();if(!(c!=null&&c.app_id)){f.msgError("小程序未配置,请先配置小程序信息"),Q.value=!1;return}const d=await St({doctor_id:e.appointment_doctor_id,diagnosis_id:e.appointment_doctor_id,patient_id:e.patient_id,share_user_id:((u=be.userInfo)==null?void 0:u.id)||"",mini_program_path:"pages/login/login"});d!=null&&d.qrcode_url?X.value=d.qrcode_url:f.msgError("二维码生成失败")}catch(c){f.msgError((c==null?void 0:c.msg)||"生成二维码失败,请重试")}finally{K.value=!1}},Ct=async t=>{const e=yt(t);if(!e){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!e.patient_id){f.msgWarning("患者信息不完整");return}Be.value="confirm",j.value=e,Q.value=!0,K.value=!0,X.value="",qe.value="诊单二维码";try{const u=await It();if(!(u!=null&&u.app_id)){f.msgError("小程序未配置,请先配置小程序信息"),Q.value=!1;return}const c=be.userInfo,d=await St({diagnosis_id:e.id,doctor_id:e.appointment_doctor_id,patient_id:e.patient_id,share_user_id:(c==null?void 0:c.id)||""});d!=null&&d.qrcode_url?X.value=d.qrcode_url:f.msgError("二维码生成失败")}catch(u){console.error("生成小程序二维码失败:",u),f.msgError((u==null?void 0:u.msg)||"生成二维码失败,请重试")}finally{K.value=!1}},oa=()=>{j.value&&(Be.value==="video"?bt(j.value):Ct(j.value))},Se=g(!1),T=g(null),J=g([]),Re=g(0),Xe=g(!1),L=g(null),ae=g(""),je=g(!1),Je=g(1),da=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Le(e).format("YYYY-MM-DD HH:mm")},ra=async t=>{T.value=t,Se.value=!0,J.value=[],Re.value=0,L.value=null,ae.value="",Je.value=1,Xe.value=!0;try{const[e,u]=await Promise.all([Rt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),us({patient_id:t.patient_id||t.id}).catch(()=>null)]);J.value=(e==null?void 0:e.lists)||[],Re.value=(e==null?void 0:e.count)||0,L.value=u}catch(e){console.error("加载企业微信记录失败:",e)}finally{Xe.value=!1}},ua=async()=>{if(T.value){Je.value++;try{const t=await Rt({diagnosis_id:T.value.id,patient_id:T.value.patient_id,page_no:Je.value,page_size:20});J.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},pa=async()=>{var t;if(!ae.value.trim()){f.msgWarning("请输入内容");return}je.value=!0;try{await os({diagnosis_id:T.value.id,patient_id:T.value.patient_id,content:ae.value.trim(),msg_type:"note",staff_name:((t=be.userInfo)==null?void 0:t.name)||"",external_name:T.value.patient_name||""}),ae.value="",ra(T.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{je.value=!1}},ma=async t=>{await f.confirm("确定删除该记录吗?");try{await ds({id:t}),J.value=J.value.filter(e=>e.id!==t),Re.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=Cs(),ca=xs(),xt=t=>{if(!U(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||ca.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return Vs(()=>{s.appointment_date=he.value,dn(),x(),sn(),ye=setInterval(on,ln);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ke.value=e)}}),As(()=>{ye!=null&&(clearInterval(ye),ye=null)}),(t,e)=>{var At;const u=Ea,c=Sa,d=Ra,y=$a,D=Na,z=Ia,re=Ta,N=wa,W=Pa,Dt=za,Z=Fa,ga=Ya,fa=Wa,va=La,ya=ts,ha=Ua,ka=qa,ba=Oa,Vt=Ba,$e=Qa,Y=Ga,Ca=Ka,Ze=Ha,xa=Xa,Ie=Ja,Da=ja,Va=Za,Aa=es,F=Es("perms"),et=Ma;return o(),p("div",Ss,[l(re,{class:"filter-card !border-none",shadow:"never"},{default:i(()=>[r("div",Rs,[r("div",$s,[(o(!0),p(E,null,$(Jt.value,n=>(o(),p("span",{key:n.value,class:O(["chip",{active:a(s).pending_assign!=="1"&&a(s).pending_booking!=="1"&&a(s).completed_appointment!=="1"&&!ut()&&a(s).appointment_date===n.value}]),onClick:k=>Zt(n.value)},[m(_(n.label)+" ",1),a(we)[n.value]!==void 0?(o(),p("em",Ns,_(a(we)[n.value]),1)):b("",!0)],10,Is))),128)),r("span",{class:O(["chip","chip-pending-booking",{active:a(s).pending_booking==="1"}]),onClick:en},[e[34]||(e[34]=m(" 待预约 ",-1)),a(Pe)!==void 0?(o(),p("em",Ts,_(a(Pe)),1)):b("",!0)],2),r("span",{class:O(["chip","chip-completed-visit",{active:a(s).completed_appointment==="1"}]),onClick:tn},[e[35]||(e[35]=m(" 已完成 ",-1)),a(ze)!==void 0?(o(),p("em",Ls,_(a(ze)),1)):b("",!0)],2),R((o(),p("span",ws,[r("span",{class:O(["chip","chip-pending",{active:a(s).pending_assign==="1"}]),onClick:nn},[e[36]||(e[36]=m(" 待分配医助 ",-1)),a(We)!==void 0?(o(),p("em",Ps,_(a(We)),1)):b("",!0)],2),a(s).pending_assign==="1"?(o(),v(u,{key:0,modelValue:a(s).pending_assign_order_month,"onUpdate:modelValue":e[0]||(e[0]=n=>a(s).pending_assign_order_month=n),type:"month",placeholder:"订单月份","value-format":"YYYY-MM",clearable:"",class:"pending-assign-month",onChange:an},null,8,["modelValue"])):b("",!0),a(s).pending_assign==="1"?(o(),v(c,{key:1,modelValue:a(s).pending_assign_keyword,"onUpdate:modelValue":e[1]||(e[1]=n=>a(s).pending_assign_keyword=n),placeholder:"搜身份证/诊单ID/患者号/备注…",clearable:"",class:"pending-assign-search",onKeyup:Et(B,["enter"]),onClear:B},null,8,["modelValue"])):b("",!0)])),[[F,["tcm.diagnosis/assign"]]])]),r("div",zs,[l(c,{modelValue:a(s).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(s).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:Et(B,["enter"])},null,8,["modelValue"]),l(d,{type:"primary",onClick:B},{default:i(()=>[...e[37]||(e[37]=[m("查询",-1)])]),_:1})])]),r("div",Ws,[e[38]||(e[38]=r("span",{class:"chip-label"},"挂号:",-1)),(o(),p(E,null,$(Ut,n=>r("span",{key:n.value,class:O(["chip","chip-sm",{active:a(s).has_appointment===n.value}]),onClick:k=>qt(n.value)},_(n.label),11,Ys)),64)),e[39]||(e[39]=r("span",{class:"chip-divider"},null,-1)),e[40]||(e[40]=r("span",{class:"chip-label"},"确认:",-1)),(o(),p(E,null,$(Ot,n=>r("span",{key:n.value,class:O(["chip","chip-sm",{active:a(s).diagnosis_confirmed===n.value}]),onClick:k=>Bt(n.value)},_(n.label),11,Fs)),64)),l(d,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>ue.value=!a(ue))},{default:i(()=>[m(_(a(ue)?"收起":"更多筛选")+" ",1),l(y,{class:O({"rotate-180":a(ue)})},{default:i(()=>[l(a(Nt))]),_:1},8,["class"])]),_:1})]),R(r("div",Ms,[l(z,{modelValue:a(s).diagnosis_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(s).diagnosis_type=n),placeholder:"诊断类型",clearable:"",size:"small",onChange:B},{default:i(()=>[(o(!0),p(E,null,$(a(ot),n=>(o(),v(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(z,{modelValue:a(s).syndrome_type,"onUpdate:modelValue":e[5]||(e[5]=n=>a(s).syndrome_type=n),placeholder:"证型",clearable:"",size:"small",onChange:B},{default:i(()=>[(o(!0),p(E,null,$(a(dt),n=>(o(),v(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(z,{modelValue:a(s).assistant_id,"onUpdate:modelValue":e[6]||(e[6]=n=>a(s).assistant_id=n),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:B},{default:i(()=>[(o(!0),p(E,null,$(a(pe),n=>(o(),v(D,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(Lt,{class:"latest-appointment-range",startTime:a(s).latest_appointment_start_date,"onUpdate:startTime":e[7]||(e[7]=n=>a(s).latest_appointment_start_date=n),endTime:a(s).latest_appointment_end_date,"onUpdate:endTime":e[8]||(e[8]=n=>a(s).latest_appointment_end_date=n),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"最近挂号开始","end-placeholder":"最近挂号结束",onChange:pt},null,8,["startTime","endTime"]),l(Lt,{class:"latest-assign-range",startTime:a(s).latest_assign_start_date,"onUpdate:startTime":e[9]||(e[9]=n=>a(s).latest_assign_start_date=n),endTime:a(s).latest_assign_end_date,"onUpdate:endTime":e[10]||(e[10]=n=>a(s).latest_assign_end_date=n),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"最近指派开始","end-placeholder":"最近指派结束",onChange:rn},null,8,["startTime","endTime"]),l(z,{modelValue:a(s).latest_appointment_channel_source,"onUpdate:modelValue":e[11]||(e[11]=n=>a(s).latest_appointment_channel_source=n),placeholder:"最近挂号渠道",clearable:"",filterable:"",size:"small",class:"latest-appointment-channel",onChange:pt},{default:i(()=>[(o(!0),p(E,null,$(a(rt),n=>(o(),v(D,{key:String(n.value),label:n.name,value:String(n.value)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(d,{size:"small",onClick:_n},{default:i(()=>[...e[41]||(e[41]=[m("重置",-1)])]),_:1})],512),[[ns,a(ue)]])]),_:1}),l(re,{class:"!border-none mt-3 list-card",shadow:"never"},{default:i(()=>[r("div",Us,[r("div",Os,[R((o(),v(d,{type:"primary",onClick:Yn},{default:i(()=>[...e[42]||(e[42]=[m("新增诊单",-1)])]),_:1})),[[F,["tcm.diagnosis/add"]]]),R((o(),v(d,{type:"success",onClick:wn,disabled:a(I).length===0},{default:i(()=>[...e[43]||(e[43]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]]),R((o(),v(d,{type:"warning",plain:"",onClick:Wn,disabled:!Tn.value},{default:i(()=>[...e[44]||(e[44]=[m(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]])]),a(I).length>0?(o(),p("div",qs,"已选 "+_(a(I).length)+" 条",1)):b("",!0)]),r("div",Bs,[R((o(),v(va,{data:a(V).lists,"row-key":"id",size:"default",onSelectionChange:Nn,onRowDblclick:xt,onSortChange:un,"row-class-name":gn,class:"diagnosis-table",stripe:""},{default:i(()=>[l(N,{type:"selection",width:"48",align:"center"}),l(N,{label:"ID","min-width":"70"},{default:i(({row:n})=>[r("div",Qs,[r("div",Hs,[r("div",Gs,[m(_(n.id)+" ",1),n.assign_read_at===null&&n.assistant_id>0?(o(),v(W,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:i(()=>[...e[45]||(e[45]=[m("NEW",-1)])]),_:1})):b("",!0)])])])]),_:1}),l(N,{label:"患者","min-width":"60"},{default:i(({row:n})=>[r("div",Ks,[r("div",Xs,[r("div",js,_(n.patient_name),1)])])]),_:1}),l(N,{label:" 性别 / 年龄",width:"100",align:"left"},{default:i(({row:n})=>[r("div",null,_(n.gender_desc||"-")+" · "+_(n.age??"-")+"岁",1)]),_:1}),l(N,{label:"挂号","min-width":"175"},{default:i(({row:n})=>[r("div",{class:O(["appointment-cell",Kn(n)])},[n.has_appointment?(o(),p(E,{key:0},[ge(n).length?(o(!0),p(E,{key:0},$(ge(n),k=>(o(),p("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:O(["apt-item",Gn(k)])},[r("div",Js,_(Hn(k.status)),1),r("div",Zs,_(k.doctor_name||"-"),1),r("div",ei,_(k.time_text||"-"),1),Ge(k)?(o(),p("div",ti,[R((o(),v(d,{type:"danger",link:"",size:"small",onClick:tt(C=>Jn(n,k),["stop"])},{default:i(()=>[...e[46]||(e[46]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]])])):b("",!0)],2))),128)):(o(),p(E,{key:1},[r("div",ni,_(Qn(n)),1),r("div",ai,_(n.appointment_doctor_name||"-"),1),r("div",si,_(n.appointment_time_text||"-"),1)],64)),mt(n)?(o(),p("div",ii," 最近渠道:"+_(mt(n)),1)):b("",!0)],64)):(o(),p("span",li,"未挂号"))],2)]),_:1}),l(N,{label:"确认",width:"88",align:"center"},{default:i(({row:n})=>[_t(n)?(o(),p("span",oi,"已确认")):(o(),p("span",di,"未确认"))]),_:1}),l(N,{label:"复诊","min-width":"120"},{default:i(({row:n})=>[n.has_prescription?(o(),p("div",ri,[r("div",ui,_(n.followup_time_text||"—"),1),r("div",pi,_(n.followup_doctor_name||"—"),1),n.followup_rx_voided?(o(),v(W,{key:0,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:i(()=>[...e[47]||(e[47]=[m(" 处方已作废 ",-1)])]),_:1})):b("",!0)])):(o(),p("span",mi,"无"))]),_:1}),l(N,{label:"助理",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[r("span",_i,_(pn(n.assistant_id||n.assistant)),1)]),_:1}),l(N,{label:"开方",width:"72",align:"center"},{default:i(({row:n})=>[n.has_prescription?(o(),p("span",ci,"已开方")):(o(),p("span",gi,"未开方"))]),_:1}),l(N,{label:"未服务天数",prop:"unserved_days",width:"110",align:"center",sortable:"custom","sort-orders":["descending","ascending"]},{default:i(({row:n})=>[n.last_blood_record_at?(o(),v(Dt,{key:0,content:`最近一次健康打卡:${n.last_blood_record_at}`,placement:"top"},{default:i(()=>[r("span",{class:O(["unserved-days",cn(n.unserved_days)])},_(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),p("span",fi,"—"))]),_:1}),l(N,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:i(({row:n})=>[r("div",vi,[hn(n)?(o(),p(E,{key:0},[bn(n)?(o(),v(Dt,{key:0,content:Cn(n),placement:"top"},{default:i(()=>[r("span",yi,[l(d,{type:"primary",link:"",size:"small",onClick:k=>xn(n)},{default:i(()=>[...e[48]||(e[48]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),p("span",hi,_(Dn(n)),1))],64)):(o(),p("span",ki,_(Vn(n)),1))])]),_:1}),l(N,{label:"操作",width:"340",fixed:"right",align:"left"},{default:i(({row:n})=>[r("div",{class:"action-cell",onClick:e[12]||(e[12]=tt(()=>{},["stop"])),onDblclick:e[13]||(e[13]=tt(()=>{},["stop"]))},[R((o(),v(d,{type:"primary",link:"",size:"small",onClick:k=>xt(n)},{default:i(()=>[...e[49]||(e[49]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/readonlyDetail"]]]),R((o(),v(d,{type:"primary",link:"",size:"small",onClick:k=>Fn(n.id)},{default:i(()=>[...e[50]||(e[50]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),R((o(),v(d,{type:"primary",link:"",size:"small",onClick:k=>Un(n)},{default:i(()=>[m(_(Mn(n)),1)]),_:2},1032,["onClick"])),[[F,["tcm.diagnosis/kaifang"]]]),R((o(),v(d,{type:"success",link:"",size:"small",onClick:k=>aa(n)},{default:i(()=>[...e[51]||(e[51]=[m("预约",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]]),R((o(),v(d,{type:"warning",link:"",size:"small",onClick:k=>ia(n)},{default:i(()=>[...e[52]||(e[52]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),l(fa,{trigger:"click",onCommand:k=>Bn(k,n),placement:"bottom-end"},{dropdown:i(()=>[l(ga,null,{default:i(()=>[a(U)(["tcm.diagnosis/assign"])?(o(),v(Z,{key:0,command:"assign"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(gs))]),_:1}),e[54]||(e[54]=m("指派",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/assign"])&&Ve(n)?(o(),v(Z,{key:1,command:"cancelAssign"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(fs))]),_:1}),e[55]||(e[55]=m("取消指派 ",-1))]),_:1})):b("",!0),He(n)&&a(U)(["tcm.diagnosis/videoQr"])?(o(),v(Z,{key:2,command:"videoQr"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Tt))]),_:1}),e[56]||(e[56]=m("视频二维码",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/guahao"])&&He(n)?(o(),v(Z,{key:3,command:"confirmQr"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Tt))]),_:1}),e[57]||(e[57]=m("二维码",-1))]),_:1})):b("",!0),Xn(n)&&a(U)(["tcm.diagnosis/guahao"])?(o(),v(Z,{key:4,command:"cancelApt"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(vs))]),_:1}),e[58]||(e[58]=m("取消挂号 ",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/guahaoLogList"])?(o(),v(Z,{key:5,command:"guahaoLogs"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(ys))]),_:1}),e[59]||(e[59]=m("挂号日志",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/order"])?(o(),v(Z,{key:6,command:"order"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(hs))]),_:1}),e[60]||(e[60]=m("创建订单",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/delete"])?(o(),v(Z,{key:7,command:"delete",divided:""},{default:i(()=>[l(y,null,{default:i(()=>[l(a(ks))]),_:1}),e[61]||(e[61]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):b("",!0)]),_:2},1024)]),default:i(()=>[l(d,{type:"info",link:"",size:"small"},{default:i(()=>[e[53]||(e[53]=m("更多",-1)),l(y,{class:"el-icon--right"},{default:i(()=>[l(a(Nt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[et,a(V).loading]]),r("div",bi,[l(ya,{modelValue:a(V),"onUpdate:modelValue":e[14]||(e[14]=n=>G(V)?V.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),l(a(Pt),{ref_key:"editRef",ref:se,onSuccess:mn},null,512),l(a(zt),{ref_key:"detailRef",ref:fn},null,512),l(a(Wt),{ref_key:"prescriptionRef",ref:ct,onSuccess:On},null,512),l(a(Yt),{ref_key:"appointmentRef",ref:gt,onSuccess:na},null,512),l(a(Ft),{modelValue:a(Ce),"onUpdate:modelValue":e[15]||(e[15]=n=>G(Ce)?Ce.value=n:null),"diagnosis-id":a(ft),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),l(Vt,{modelValue:a(ne),"onUpdate:modelValue":e[16]||(e[16]=n=>G(ne)?ne.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Zn},{default:i(()=>[R((o(),p("div",Ci,[a(H)?(o(),p("div",xi,[r("span",Di,_(a(H).patient_name),1),e[62]||(e[62]=r("span",{class:"mx-2 text-gray-300"},"|",-1)),r("span",null,"诊单 #"+_(a(H).id),1)])):b("",!0),!a(Ae)&&a(oe).length===0?(o(),v(ha,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(oe).length>0?(o(),v(ba,{key:2},{default:i(()=>[(o(!0),p(E,null,$(a(oe),(n,k)=>(o(),v(ka,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:i(()=>[r("div",Vi,[l(W,{size:"small",type:"info"},{default:i(()=>[m(_(n.action_desc),1)]),_:2},1024),r("span",Ai,_(ea(n)),1)]),r("div",Ei,_(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):b("",!0)])),[[et,a(Ae)]])]),_:1},8,["modelValue"]),l($e,{modelValue:a(Q),"onUpdate:modelValue":e[18]||(e[18]=n=>G(Q)?Q.value=n:null),title:a(qe),width:"400px","close-on-click-modal":!1},{footer:i(()=>[l(d,{onClick:e[17]||(e[17]=n=>Q.value=!1)},{default:i(()=>[...e[65]||(e[65]=[m("关闭",-1)])]),_:1}),a(K)?b("",!0):(o(),v(d,{key:0,type:"primary",onClick:oa},{default:i(()=>[...e[66]||(e[66]=[m(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[r("div",Si,[a(K)?(o(),p("div",Ri,[l(y,{class:"is-loading",size:40},{default:i(()=>[l(a(bs))]),_:1}),e[63]||(e[63]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(X)?(o(),p("div",$i,[r("img",{src:a(X),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,Ii),r("div",Ni,[r("div",null,"患者:"+_((n=a(j))==null?void 0:n.patient_name),1),r("div",Ti,"挂号时间:"+_($n.value),1),e[64]||(e[64]=r("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),p("div",Li," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l($e,{modelValue:a(te),"onUpdate:modelValue":e[22]||(e[22]=n=>G(te)?te.value=n:null),title:a(_e)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:In},{footer:i(()=>[l(d,{onClick:e[21]||(e[21]=n=>te.value=!1)},{default:i(()=>[...e[69]||(e[69]=[m("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:Pn,loading:a(Qe)},{default:i(()=>[...e[70]||(e[70]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{model:a(A),"label-width":"100px"},{default:i(()=>[l(Y,{label:"选择医助",required:""},{default:i(()=>[l(z,{modelValue:a(A).assistant_id,"onUpdate:modelValue":e[19]||(e[19]=n=>a(A).assistant_id=n),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:""},{default:i(()=>[(o(!0),p(E,null,$(a(pe),n=>(o(),v(D,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(Y,{label:"继承"},{default:i(()=>[l(Ca,{modelValue:a(A).is_inherit,"onUpdate:modelValue":e[20]||(e[20]=n=>a(A).is_inherit=n)},{default:i(()=>[...e[67]||(e[67]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[68]||(e[68]=r("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),a(_e)==="batch"?(o(),v(Y,{key:0,label:"已选择"},{default:i(()=>[r("div",wi,_(a(le).length)+" 条诊单记录",1)]),_:1})):(o(),v(Y,{key:1,label:"诊单信息"},{default:i(()=>{var n,k;return[r("div",Pi,[r("div",null,"患者:"+_((n=a(ce))==null?void 0:n.patient_name),1),r("div",null,"诊断日期:"+_((k=a(ce))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l($e,{modelValue:a(ie),"onUpdate:modelValue":e[27]||(e[27]=n=>G(ie)?ie.value=n:null),title:"创建订单",width:"600px",onClose:Sn},{footer:i(()=>[l(d,{onClick:e[26]||(e[26]=n=>ie.value=!1)},{default:i(()=>[...e[71]||(e[71]=[m("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:Rn,loading:a(Oe)},{default:i(()=>[...e[72]||(e[72]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{ref_key:"orderFormRef",ref:De,model:a(h),rules:An,"label-width":"100px"},{default:i(()=>[l(Y,{label:"患者"},{default:i(()=>[r("span",zi,_(a(h).patient_name)+" ("+_(st(a(h).phone))+")",1)]),_:1}),l(Y,{label:"订单类型",prop:"order_type"},{default:i(()=>[l(z,{modelValue:a(h).order_type,"onUpdate:modelValue":e[23]||(e[23]=n=>a(h).order_type=n),placeholder:"请选择",class:"w-full"},{default:i(()=>[l(D,{label:"挂号费",value:1}),l(D,{label:"问诊费",value:2}),l(D,{label:"药品费用",value:3}),l(D,{label:"首付费用",value:4}),l(D,{label:"尾款费用",value:5}),l(D,{label:"其他费用",value:6}),l(D,{label:"全部费用",value:7}),l(D,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(Y,{label:"订单金额",prop:"amount"},{default:i(()=>[l(xa,{modelValue:a(h).amount,"onUpdate:modelValue":e[24]||(e[24]=n=>a(h).amount=n),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),l(Y,{label:"备注",prop:"remark"},{default:i(()=>[l(c,{modelValue:a(h).remark,"onUpdate:modelValue":e[25]||(e[25]=n=>a(h).remark=n),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l($e,{modelValue:a(de),"onUpdate:modelValue":e[30]||(e[30]=n=>G(de)?de.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[31]||(e[31]=n=>a(P).id_card="")},{footer:i(()=>[l(d,{onClick:e[29]||(e[29]=n=>de.value=!1)},{default:i(()=>[...e[73]||(e[73]=[m("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:la,loading:a(Ke)},{default:i(()=>[...e[74]||(e[74]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{ref_key:"fillIdCardFormRef",ref:kt,model:a(P),rules:sa,"label-width":"80px"},{default:i(()=>[l(Y,{label:"患者"},{default:i(()=>[r("span",Wi,_(a(P).patient_name),1)]),_:1}),l(Y,{label:"身份证号",prop:"id_card"},{default:i(()=>[l(c,{modelValue:a(P).id_card,"onUpdate:modelValue":e[28]||(e[28]=n=>a(P).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Vt,{modelValue:a(Se),"onUpdate:modelValue":e[33]||(e[33]=n=>G(Se)?Se.value=n:null),title:`企业微信记录 - ${((At=a(T))==null?void 0:At.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:i(()=>{var n,k;return[a(L)?(o(),p("div",Yi,[l(Da,{column:2,border:"",size:"small"},{default:i(()=>[l(Ie,{label:"患者姓名"},{default:i(()=>{var C;return[m(_((C=a(T))==null?void 0:C.patient_name),1)]}),_:1}),l(Ie,{label:"手机号"},{default:i(()=>[m(_(st(a(L).phone)||"-"),1)]),_:1}),l(Ie,{label:"企微联系人ID"},{default:i(()=>[a(L).external_userid?(o(),p("span",Fi,_(a(L).external_userid),1)):(o(),v(W,{key:1,type:"info",size:"small"},{default:i(()=>[...e[75]||(e[75]=[m("未关联",-1)])]),_:1}))]),_:1}),l(Ie,{label:"会话存档"},{default:i(()=>[a(L).msgaudit_enabled?(o(),v(W,{key:0,type:"success",size:"small"},{default:i(()=>[...e[76]||(e[76]=[m("已开通",-1)])]),_:1})):(o(),v(W,{key:1,type:"info",size:"small"},{default:i(()=>[...e[77]||(e[77]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(L).permit_users)!=null&&n.length?(o(),p("div",Mi,[e[78]||(e[78]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),p(E,null,$(a(L).permit_users,C=>(o(),v(W,{key:C,size:"small",class:"mr-1"},{default:i(()=>[m(_(C),1)]),_:2},1024))),128))])):b("",!0),(k=a(L).msgaudit_agree)!=null&&k.length?(o(),p("div",Ui,[e[79]||(e[79]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),p(E,null,$(a(L).msgaudit_agree,(C,Ne)=>(o(),v(W,{key:Ne,type:C.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:i(()=>[m(_(C.userid)+": "+_(C.agree_status==="Agree"?"已同意":C.agree_status),1)]),_:2},1032,["type"]))),128))])):b("",!0)])):b("",!0),l(Va),r("div",Oi,[r("div",qi,[l(c,{modelValue:a(ae),"onUpdate:modelValue":e[32]||(e[32]=C=>G(ae)?ae.value=C:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(d,{type:"primary",onClick:pa,loading:a(je),class:"self-end"},{default:i(()=>[...e[80]||(e[80]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),R((o(),p("div",null,[a(J).length===0?(o(),p("div",Bi," 暂无聊天记录 ")):(o(),p("div",Qi,[(o(!0),p(E,null,$(a(J),C=>{var Ne;return o(),p("div",{key:C.id,class:"record-item"},[r("div",Hi,[r("div",Gi,[l(W,{type:C.direction===0?"primary":"success",size:"small"},{default:i(()=>[m(_(C.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",Ki,_(C.direction===0?C.staff_name:C.external_name||((Ne=a(T))==null?void 0:Ne.patient_name)),1),C.msg_type==="note"?(o(),v(W,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[81]||(e[81]=[m("备注",-1)])]),_:1})):b("",!0)]),r("div",Xi,[r("span",ji,_(da(C.chat_time)),1),l(d,{type:"danger",link:"",size:"small",onClick:il=>ma(C.id)},{default:i(()=>[...e[82]||(e[82]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",Ji,_(C.content),1),C.media_url?(o(),p("div",Zi,[l(Aa,{src:C.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[C.media_url]},null,8,["src","preview-src-list"])])):b("",!0)])}),128))])),a(Re)>a(J).length?(o(),p("div",el,[l(d,{link:"",type:"primary",onClick:ua},{default:i(()=>[...e[83]||(e[83]=[m("加载更多",-1)])]),_:1})])):b("",!0)])),[[et,a(Xe)]])]}),_:1},8,["modelValue","title"])])}}}),jl=cs(nl,[["__scopeId","data-v-3678b100"]]);export{jl as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-CsM6bOnd.js","assets/appointment-CWzTZ9VV.js","assets/first_visit-lwfDQsu4.js","assets/appointment-JDceTxKO.css","assets/AssistantWatchCallDialog-BoEGWQ09.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); +import{_ as fe}from"./jspdf-BsthCvR5.js";import{S as Ea,C as Sa,i as Ra,d as $a,Q as Ia,R as Na,K as Ta,N as La,O as wa,U as Pa,r as za,p as Wa,n as Ya,o as Fa,M as Ma,X as Ua,a8 as Oa,a9 as qa,e as Ba,W as Qa,D as Ha,B as Ga,H as Ka,h as Xa,a6 as ja,a7 as Ja,I as Za,v as es}from"./element-plus-DGP1XOrU.js";import{_ as ts}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as Et,q as ns,s as tt}from"./@vue/runtime-dom-DDAG46FW.js";import{aw as M,n as as,X as ss,ax as Te,ay as is,az as ls,W as St,aA as Rt,aB as os,aC as ds,aD as rs,aE as us}from"./tcm-D-ZRccbe.js";import{i as ps}from"./order-B5S0jULN.js";import{m as $t}from"./doctor-BZKBQu9t.js";import{u as ms}from"./usePaging-DofycyjW.js";import{u as _s,o as nt,k as f,_ as cs}from"./index-J_eFER10.js";import{g as It}from"./weapp-CBd1nTel.js";import{h as U}from"./perm-8cp9D7Ag.js";import{e as Nt,Z as gs,av as fs,P as Tt,b as vs,at as ys,G as hs,H as ks,l as bs}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as Cs,a as xs}from"./vue-router-QlpZ4wdW.js";import{d as Le}from"./dayjs-DG77mNTn.js";import{_ as Lt}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{f as wt,w as Ds,b as Vs,d as As,as as Es,ak as o,I as p,a as l,aN as i,J as r,F as E,ap as $,O as m,H as b,aP as R,G as v,P as ve,A as ee}from"./@vue/runtime-core-C6bnekPw.js";import{o as O,Q as _}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as G,r as at,n as g}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ss={class:"tcm-diagnosis"},Rs={class:"filter-main"},$s={class:"date-chips"},Is=["onClick"],Ns={key:0},Ts={key:0},Ls={key:0},ws={class:"pending-assign-wrap"},Ps={key:0},zs={class:"search-row"},Ws={class:"filter-chips"},Ys=["onClick"],Fs=["onClick"],Ms={class:"filter-more"},Us={class:"list-header"},Os={class:"list-actions"},qs={key:0,class:"list-selected"},Bs={class:"table-wrap px-4"},Qs={class:"patient-cell"},Hs={class:"patient-info"},Gs={class:"patient-name"},Ks={class:"patient-cell"},Xs={class:"patient-info"},js={class:"patient-name"},Js={class:"apt-badge"},Zs={class:"apt-doctor"},ei={class:"apt-time"},ti={key:0,class:"apt-actions"},ni={class:"apt-badge"},ai={class:"apt-doctor"},si={class:"apt-time"},ii={key:2,class:"apt-latest-channel"},li={key:1,class:"apt-none"},oi={key:0,class:"status-confirmed"},di={key:1,class:"status-unconfirmed"},ri={key:0,class:"followup-cell"},ui={class:"followup-time"},pi={class:"followup-doctor"},mi={key:1,class:"followup-none"},_i={class:"assistant-cell"},ci={key:0,class:"status-prescribed"},gi={key:1,class:"status-unprescribed"},fi={key:1,class:"unserved-days unserved-muted"},vi={class:"video-watch-col"},yi={class:"video-watch-trigger"},hi={key:1,class:"video-watch-muted"},ki={key:1,class:"video-watch-muted"},bi={class:"pagination-wrap"},Ci={class:"min-h-[100px]"},xi={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},Di={class:"font-medium text-gray-800"},Vi={class:"flex flex-wrap items-center gap-2"},Ai={class:"text-sm font-medium text-gray-800"},Ei={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},Si={class:"flex flex-col items-center justify-center py-4"},Ri={key:0,class:"text-center"},$i={key:1,class:"text-center"},Ii=["src"],Ni={class:"mt-4 text-sm text-gray-600"},Ti={class:"mt-2"},Li={key:2,class:"text-center text-gray-500"},wi={class:"text-gray-500"},Pi={class:"text-gray-500"},zi={class:"font-medium"},Wi={class:"font-medium"},Yi={key:0,class:"mb-4"},Fi={key:0},Mi={key:0,class:"mt-2"},Ui={key:1,class:"mt-2"},Oi={class:"mb-4"},qi={class:"flex gap-2"},Bi={key:0,class:"text-center text-gray-400 py-10"},Qi={key:1,class:"record-list"},Hi={class:"record-header"},Gi={class:"flex items-center gap-2"},Ki={class:"font-medium text-sm"},Xi={class:"flex items-center gap-2"},ji={class:"text-xs text-gray-400"},Ji={class:"record-content"},Zi={key:0,class:"mt-1"},el={key:2,class:"text-center mt-4"},tl=wt({name:"tcmDiagnosis"}),nl=wt({...tl,setup(al){const Pt=ve(()=>fe(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),zt=ve(()=>fe(()=>import("./detail-CsM6bOnd.js"),__vite__mapDeps([104,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),Wt=ve(()=>fe(()=>import("./index-ns6fHpFi.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,96,97,15,98,99,100,101]))),Yt=ve(()=>fe(()=>import("./appointment-CWzTZ9VV.js"),__vite__mapDeps([105,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,106,107]))),Ft=ve(()=>fe(()=>import("./AssistantWatchCallDialog-BoEGWQ09.js"),__vite__mapDeps([108,1,2,3,4,5,6,7,8,9,10,11,12,13,14,109,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,110]))),Mt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Le(e).format("YYYY-MM-DD HH:mm:ss")},st=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),s=at({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",start_time:"",end_time:"",latest_appointment_start_date:"",latest_appointment_end_date:"",latest_appointment_channel_source:"",latest_assign_start_date:"",latest_assign_end_date:"",sort_unserved_days:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:"",pending_assign_keyword:""}),it=g("all"),ue=g(!1),Ut=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Ot=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],qt=t=>{s.has_appointment=t,s.pending_booking="",s.completed_appointment="",t==="0"&&me(),V.page=1,x(),S()},Bt=t=>{s.diagnosis_confirmed=t,s.pending_booking="",s.completed_appointment="",V.page=1,x(),S()};function Qt(t){if(!(t.pending_assign==="1"||t.pending_assign===1))return!1;const u=String(t.pending_assign_keyword??"").trim(),c=String(t.keyword??"").trim();return u!==""||c!==""}function lt(t){if(!Qt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),u=String(t.keyword??"").trim(),c=e!==""?e:u;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:c}}function Ht(){const t=String(s.pending_assign_order_month??"").trim();return t!==""?t:s.pending_assign==="1"?"":Le().format("YYYY-MM")}function Gt(){return{keyword:s.keyword,diagnosis_type:s.diagnosis_type,syndrome_type:s.syndrome_type,assistant_id:s.assistant_id,diagnosis_confirmed:s.diagnosis_confirmed,has_appointment:s.has_appointment,latest_appointment_start_date:s.latest_appointment_start_date,latest_appointment_end_date:s.latest_appointment_end_date,latest_appointment_channel_source:s.latest_appointment_channel_source,latest_assign_start_date:s.latest_assign_start_date,latest_assign_end_date:s.latest_assign_end_date}}function q(t={}){return{page_no:1,page_size:1,...Gt(),appointment_date:"",pending_booking:"",completed_appointment:"",pending_assign:"",pending_assign_order_month:"",pending_assign_keyword:"",sort_unserved_days:"",...t}}function Kt(){return lt(q({pending_assign:1,has_appointment:"",pending_assign_order_month:Ht(),pending_assign_keyword:s.pending_assign_keyword}))}const Xt=t=>M(lt(t));function jt(){if(s.pending_assign!=="1")return;const t=(s.pending_assign_keyword??"").trim(),e=(s.keyword??"").trim();t===""&&e===""||(s.appointment_date="",s.pending_booking="",s.completed_appointment="",s.diagnosis_confirmed="",s.has_appointment="",s.diagnosis_type="",s.syndrome_type="",s.assistant_id="",s.start_time="",s.end_time="",s.latest_appointment_start_date="",s.latest_appointment_end_date="",s.latest_appointment_channel_source="",s.latest_assign_start_date="",s.latest_assign_end_date="",s.sort_unserved_days="",s.pending_assign_order_month="",it.value="all",t!==""&&(s.keyword=""))}const B=()=>{jt(),V.page=1,x(),S()},Jt=ee(()=>[{label:"昨天挂号",value:Me.value},{label:"前天挂号",value:Ue.value},{label:"当天挂号",value:he.value},{label:"明天挂号",value:Ye.value},{label:"后天挂号",value:Fe.value},{label:"全部",value:""}]),we=g({}),Pe=g(void 0),ze=g(void 0),We=g(void 0),Zt=async t=>{s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="",s.completed_appointment="",s.has_appointment="",me(),s.appointment_date=t,V.page=1,await x(),S()},en=async()=>{s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="1",s.completed_appointment="",s.appointment_date="",s.has_appointment="0",me(),V.page=1,await x(),S()},tn=async()=>{s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="",s.completed_appointment="1",s.has_appointment="",s.appointment_date="",me(),V.page=1,await x(),S()},nn=async()=>{s.pending_assign="1",s.pending_booking="",s.completed_appointment="",s.has_appointment="",s.appointment_date="",me(),s.pending_assign_order_month||(s.pending_assign_order_month=Le().format("YYYY-MM")),V.page=1,await x(),S()},an=async t=>{s.pending_assign_order_month=t||"",s.pending_assign==="1"&&(V.page=1,await x(),S())},S=async()=>{try{const[t,e,u,c,d,y,D,z,re]=await Promise.all([M(q({appointment_date:Me.value,has_appointment:""})),M(q({appointment_date:Ue.value,has_appointment:""})),M(q({appointment_date:he.value,has_appointment:""})),M(q({appointment_date:Ye.value,has_appointment:""})),M(q({appointment_date:Fe.value,has_appointment:""})),M(q()),M(q({has_appointment:0})),M(q({completed_appointment:1,has_appointment:""})),M(Kt())]);we.value={[Me.value]:(t==null?void 0:t.count)??0,[Ue.value]:(e==null?void 0:e.count)??0,[he.value]:(u==null?void 0:u.count)??0,[Ye.value]:(c==null?void 0:c.count)??0,[Fe.value]:(d==null?void 0:d.count)??0,"":(y==null?void 0:y.count)??0},Pe.value=(D==null?void 0:D.count)??0,ze.value=(z==null?void 0:z.count)??0,We.value=(re==null?void 0:re.count)??0}catch(t){console.error("获取日期数量失败",t)}};function sn(){const t=()=>S();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const ln=2e4;let ye=null;function on(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),S())}const w=t=>String(t).padStart(2,"0"),he=ee(()=>{const t=new Date;return`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),Ye=ee(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),Fe=ee(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),Me=ee(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),Ue=ee(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),ot=g([]),dt=g([]),pe=g([]),rt=g([]),dn=async()=>{try{const[t,e,u,c]=await Promise.all([nt({type:"diagnosis_type"}),nt({type:"syndrome_type"}),nt({type:"channels"}),as()]);ot.value=(t==null?void 0:t.diagnosis_type)||[],dt.value=(e==null?void 0:e.syndrome_type)||[],rt.value=((u==null?void 0:u.channels)||[]).filter(d=>d.status!==0).sort((d,y)=>{const D=Number((y==null?void 0:y.sort)??0)-Number((d==null?void 0:d.sort)??0);return D!==0?D:Number((y==null?void 0:y.id)??0)-Number((d==null?void 0:d.id)??0)}).map(d=>({name:String((d==null?void 0:d.name)??(d==null?void 0:d.value)??""),value:(d==null?void 0:d.value)!=null&&d.value!==""?String(d.value):""})),pe.value=c||[]}catch(t){console.error("获取字典数据失败:",t)}},me=()=>{s.latest_appointment_start_date="",s.latest_appointment_end_date="",s.latest_appointment_channel_source=""},ut=()=>!!(s.latest_appointment_start_date||s.latest_appointment_end_date||s.latest_appointment_channel_source),pt=()=>{ut()&&(s.appointment_date="",s.pending_booking="",s.completed_appointment="",s.has_appointment==="0"&&(s.has_appointment="")),B()},rn=()=>{B()},un=({prop:t,order:e})=>{t==="unserved_days"?s.sort_unserved_days=e==="ascending"?"asc":e==="descending"?"desc":"":s.sort_unserved_days="",V.page=1,x()},mt=t=>{const e=String((t==null?void 0:t.latest_appointment_channel_source_desc)||"").trim(),u=String((t==null?void 0:t.latest_appointment_channel_source)||"").trim(),c=String((t==null?void 0:t.latest_appointment_channel_source_detail)||"").trim(),d=e||u;return d?c?`${d}(${c})`:d:""},pn=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(pe.value.length===0)return"...";const u=pe.value.find(c=>(typeof c.id=="string"?parseInt(c.id):c.id)===e);return u?u.name:"-"},{pager:V,getLists:x}=ms({fetchFun:Xt,params:s}),mn=()=>x({silent:!0}),_n=()=>{it.value="all",s.keyword="",s.diagnosis_type="",s.syndrome_type="",s.assistant_id="",s.latest_appointment_start_date="",s.latest_appointment_end_date="",s.latest_appointment_channel_source="",s.latest_assign_start_date="",s.latest_assign_end_date="",s.sort_unserved_days="",s.diagnosis_confirmed="",s.appointment_date="",s.has_appointment="",s.pending_assign="",s.pending_assign_order_month="",s.pending_assign_keyword="",s.pending_booking="",s.completed_appointment="",V.page=1,x(),S()},_t=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(u=>u.is_confirmed==1)},cn=t=>{if(t==null)return"unserved-muted";const e=Number(t);return Number.isFinite(e)?e>=7?"unserved-red":e>=3?"unserved-orange":"unserved-green":"unserved-muted"},gn=({row:t})=>_t(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",se=g(),fn=g(),ct=g(),gt=g(),ke=g(null),be=_s();Ds([se,ke],()=>{const t=ke.value,e=se.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),ke.value=null)},{flush:"post"});const Ce=g(!1),ft=g(0),vn=t=>{var u;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((u=be.userInfo)==null?void 0:u.id)},yn=t=>{ft.value=Number(t.id)||0,Ce.value=!0},hn=t=>vn(t)&&U(["tcm.diagnosis/watchCall"]),xe=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},kn=t=>{const e=t.video_call_hint,u="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${u}。开始时间:${Mt(e.start_time)}`:u},bn=t=>{const e=xe(t);return e==="live"||e==="pending_room"},Cn=t=>xe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":kn(t),xn=t=>{if(xe(t)!=="live"){f.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}yn(t)},Dn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Vn=t=>{const e=xe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const u=t.video_call_hint;return(u==null?void 0:u.label)||"—"},ie=g(!1),De=g(),Oe=g(!1),h=at({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),An={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},En=t=>{var e;h.patient_id=t.patient_id||t.id,h.patient_name=t.patient_name,h.phone=t.phone||"",h.order_type="",h.amount=0,h.remark="",h.has_appointment=!!t.has_appointment,h.appointment_time_text=t.appointment_time_text||"",(e=De.value)==null||e.clearValidate(),ie.value=!0},Sn=()=>{var t;h.patient_id="",h.patient_name="",h.phone="",h.order_type="",h.amount=0,h.remark="",h.has_appointment=!1,h.appointment_time_text="",(t=De.value)==null||t.clearValidate()},Rn=async()=>{var t;try{await((t=De.value)==null?void 0:t.validate()),Oe.value=!0;const e=await ps({patient_id:h.patient_id,order_type:h.order_type,amount:h.amount,remark:h.remark});ie.value=!1,x();const u=e==null?void 0:e.order_no;if(u){Q.value=!0,K.value=!0,X.value="",j.value={patient_name:h.patient_name,has_appointment:h.has_appointment,appointment_time_text:h.appointment_time_text};try{const c=await ss({order_no:u});c!=null&&c.qrcode_url?X.value=c.qrcode_url:f.msgError("二维码生成失败")}catch(c){f.msgError((c==null?void 0:c.msg)||"生成二维码失败")}finally{K.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Oe.value=!1}},Q=g(!1),K=g(!1),X=g(""),j=g(null),$n=ee(()=>{const t=j.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),qe=g("小程序二维码"),Be=g("confirm"),I=g([]),le=g([]),te=g(!1),Qe=g(!1),_e=g("batch"),ce=g(null),A=g({assistant_id:null,is_inherit:!1});function In(){le.value=[],A.value.assistant_id=null,A.value.is_inherit=!1}const Nn=t=>{I.value=t.map(e=>e.id)},Ve=t=>Number((t==null?void 0:t.assistant_id)??(t==null?void 0:t.assistant)??0)>0,Tn=ee(()=>{if(!I.value.length)return!1;const t=new Set(I.value);return V.lists.some(e=>t.has(e.id)&&Ve(e))}),Ln=t=>{_e.value="single",ce.value=t,le.value=[],A.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,A.value.is_inherit=!1,te.value=!0},wn=()=>{if(I.value.length===0){f.msgWarning("请先选择要指派的诊单");return}_e.value="batch",ce.value=null,A.value.assistant_id=null,A.value.is_inherit=!1,le.value=[...I.value],te.value=!0},Pn=async()=>{if(!A.value.assistant_id){f.msgWarning("请选择医助");return}Qe.value=!0;try{if(_e.value==="single")await Te({id:ce.value.id,assistant_id:A.value.assistant_id,is_inherit:A.value.is_inherit?1:0});else{const t=le.value;if(!t.length){f.msgWarning("没有可指派的诊单,请关闭后重新勾选");return}for(const e of t)await Te({id:e,assistant_id:A.value.assistant_id,is_inherit:A.value.is_inherit?1:0});I.value=[],le.value=[]}te.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{Qe.value=!1}},zn=async t=>{if(!(t!=null&&t.id)||!Ve(t)){f.msgWarning("该诊单未指派医助");return}await f.confirm("确定取消该诊单的医助指派吗?"),await Te({id:t.id,assistant_id:0}),x()},Wn=async()=>{if(!I.value.length){f.msgWarning("请先选择诊单");return}const t=new Set(I.value),e=V.lists.filter(u=>t.has(u.id)&&Ve(u));if(!e.length){f.msgWarning("所选诊单中没有已指派医助的记录");return}await f.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(u=>Te({id:u.id,assistant_id:0}))),I.value=[],x()},Yn=()=>{se.value.open("add")},Fn=t=>{se.value.open("edit",t)};function Mn(t){return s.pending_assign==="1"?"开方":Number(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方"}const Un=t=>{var e;if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}(e=ct.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},On=()=>{var t,e;x(),(e=(t=se.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},qn=async t=>{await f.confirm("确定要删除该诊单吗?"),await rs({id:t}),x()},Bn=(t,e)=>{switch(t){case"assign":Ln(e);break;case"cancelAssign":zn(e);break;case"videoQr":if(!He(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}bt(e);break;case"confirmQr":Ct(e);break;case"cancelApt":jn(e);break;case"guahaoLogs":ta(e);break;case"order":En(e);break;case"delete":qn(e.id);break}},Qn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},Hn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},ge=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Gn=t=>{const e=Number(t==null?void 0:t.status);return{"apt-item-done":e===3,"apt-item-missed":e===4,"apt-item-active":e===1}},Kn=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},vt=t=>ge(t).find(e=>Number(e==null?void 0:e.status)===1)??null,yt=t=>{const e=vt(t);return e?{...t,has_appointment:1,appointment_id:e.id,appointment_status:e.status,appointment_doctor_id:e.doctor_id,appointment_doctor_name:e.doctor_name,appointment_time_text:e.time_text}:null},He=t=>!!vt(t),ht=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Ge=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Xn=t=>ht(t)?ge(t).length<=1:!1,jn=async t=>{var d;if(!ht(t)){const y=Number(t.appointment_status);t.has_appointment&&y===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}const e=ge(t),u=e.length===1?e[0]:null,c=u!=null&&u.id&&Ge(u)?u.id:t.appointment_id;try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await $t({id:c}),f.msgSuccess("取消挂号成功"),x(),S(),ne.value&&((d=H.value)==null?void 0:d.id)===t.id&&await Ee(t.id)}catch(y){y!=="cancel"&&f.msgError((y==null?void 0:y.msg)||"取消挂号失败")}},Jn=async(t,e)=>{var d;if(!Ge(e)){Number(e==null?void 0:e.status)===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该挂号无法取消");return}const u=e.doctor_name||"—",c=e.time_text||"—";try{await f.confirm(`确定取消「${u}」${c} 的挂号吗?(患者:${t.patient_name||"—"})`),await $t({id:e.id}),f.msgSuccess("取消挂号成功"),x(),S(),ne.value&&((d=H.value)==null?void 0:d.id)===t.id&&await Ee(t.id)}catch(y){y!=="cancel"&&f.msgError((y==null?void 0:y.msg)||"取消挂号失败")}},ne=g(!1),Ae=g(!1),oe=g([]),H=g(null);function Zn(){oe.value=[],H.value=null}function ea(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),u=Number(t==null?void 0:t.admin_id);return e||(u>0?`管理员 #${u}`:"—")}async function Ee(t){Ae.value=!0;try{const e=await is({id:t});oe.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{oe.value=[]}finally{Ae.value=!1}}async function ta(t){if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}H.value=t,ne.value=!0,await Ee(Number(t.id))}async function na(){var t;await x({silent:!0}),S(),ne.value&&((t=H.value)!=null&&t.id)&&await Ee(Number(H.value.id))}const aa=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=gt.value)==null||e.open(t)},de=g(!1),Ke=g(!1),kt=g(),P=at({id:0,patient_name:"",id_card:""}),sa={id_card:[{required:!0,validator:(t,e,u)=>{if(!e){u(new Error("请输入身份证号"));return}const c=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),d=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);c||d?u():u(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},ia=t=>{P.id=t.id,P.patient_name=t.patient_name||"-",P.id_card=t.id_card||"",de.value=!0},la=async()=>{var t;await((t=kt.value)==null?void 0:t.validate()),Ke.value=!0;try{await ls({id:P.id,id_card:P.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),de.value=!1,x()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ke.value=!1}},bt=async t=>{var u;const e=yt(t);if(!e){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!e.patient_id){f.msgWarning("患者信息不完整");return}Be.value="video",j.value=e,Q.value=!0,K.value=!0,X.value="",qe.value="视频二维码";try{const c=await It();if(!(c!=null&&c.app_id)){f.msgError("小程序未配置,请先配置小程序信息"),Q.value=!1;return}const d=await St({doctor_id:e.appointment_doctor_id,diagnosis_id:e.appointment_doctor_id,patient_id:e.patient_id,share_user_id:((u=be.userInfo)==null?void 0:u.id)||"",mini_program_path:"pages/login/login"});d!=null&&d.qrcode_url?X.value=d.qrcode_url:f.msgError("二维码生成失败")}catch(c){f.msgError((c==null?void 0:c.msg)||"生成二维码失败,请重试")}finally{K.value=!1}},Ct=async t=>{const e=yt(t);if(!e){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!e.patient_id){f.msgWarning("患者信息不完整");return}Be.value="confirm",j.value=e,Q.value=!0,K.value=!0,X.value="",qe.value="诊单二维码";try{const u=await It();if(!(u!=null&&u.app_id)){f.msgError("小程序未配置,请先配置小程序信息"),Q.value=!1;return}const c=be.userInfo,d=await St({diagnosis_id:e.id,doctor_id:e.appointment_doctor_id,patient_id:e.patient_id,share_user_id:(c==null?void 0:c.id)||""});d!=null&&d.qrcode_url?X.value=d.qrcode_url:f.msgError("二维码生成失败")}catch(u){console.error("生成小程序二维码失败:",u),f.msgError((u==null?void 0:u.msg)||"生成二维码失败,请重试")}finally{K.value=!1}},oa=()=>{j.value&&(Be.value==="video"?bt(j.value):Ct(j.value))},Se=g(!1),T=g(null),J=g([]),Re=g(0),Xe=g(!1),L=g(null),ae=g(""),je=g(!1),Je=g(1),da=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Le(e).format("YYYY-MM-DD HH:mm")},ra=async t=>{T.value=t,Se.value=!0,J.value=[],Re.value=0,L.value=null,ae.value="",Je.value=1,Xe.value=!0;try{const[e,u]=await Promise.all([Rt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),us({patient_id:t.patient_id||t.id}).catch(()=>null)]);J.value=(e==null?void 0:e.lists)||[],Re.value=(e==null?void 0:e.count)||0,L.value=u}catch(e){console.error("加载企业微信记录失败:",e)}finally{Xe.value=!1}},ua=async()=>{if(T.value){Je.value++;try{const t=await Rt({diagnosis_id:T.value.id,patient_id:T.value.patient_id,page_no:Je.value,page_size:20});J.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},pa=async()=>{var t;if(!ae.value.trim()){f.msgWarning("请输入内容");return}je.value=!0;try{await os({diagnosis_id:T.value.id,patient_id:T.value.patient_id,content:ae.value.trim(),msg_type:"note",staff_name:((t=be.userInfo)==null?void 0:t.name)||"",external_name:T.value.patient_name||""}),ae.value="",ra(T.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{je.value=!1}},ma=async t=>{await f.confirm("确定删除该记录吗?");try{await ds({id:t}),J.value=J.value.filter(e=>e.id!==t),Re.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=Cs(),ca=xs(),xt=t=>{if(!U(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||ca.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return Vs(()=>{s.appointment_date=he.value,dn(),x(),sn(),ye=setInterval(on,ln);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ke.value=e)}}),As(()=>{ye!=null&&(clearInterval(ye),ye=null)}),(t,e)=>{var At;const u=Ea,c=Sa,d=Ra,y=$a,D=Na,z=Ia,re=Ta,N=wa,W=Pa,Dt=za,Z=Fa,ga=Ya,fa=Wa,va=La,ya=ts,ha=Ua,ka=qa,ba=Oa,Vt=Ba,$e=Qa,Y=Ga,Ca=Ka,Ze=Ha,xa=Xa,Ie=Ja,Da=ja,Va=Za,Aa=es,F=Es("perms"),et=Ma;return o(),p("div",Ss,[l(re,{class:"filter-card !border-none",shadow:"never"},{default:i(()=>[r("div",Rs,[r("div",$s,[(o(!0),p(E,null,$(Jt.value,n=>(o(),p("span",{key:n.value,class:O(["chip",{active:a(s).pending_assign!=="1"&&a(s).pending_booking!=="1"&&a(s).completed_appointment!=="1"&&!ut()&&a(s).appointment_date===n.value}]),onClick:k=>Zt(n.value)},[m(_(n.label)+" ",1),a(we)[n.value]!==void 0?(o(),p("em",Ns,_(a(we)[n.value]),1)):b("",!0)],10,Is))),128)),r("span",{class:O(["chip","chip-pending-booking",{active:a(s).pending_booking==="1"}]),onClick:en},[e[34]||(e[34]=m(" 待预约 ",-1)),a(Pe)!==void 0?(o(),p("em",Ts,_(a(Pe)),1)):b("",!0)],2),r("span",{class:O(["chip","chip-completed-visit",{active:a(s).completed_appointment==="1"}]),onClick:tn},[e[35]||(e[35]=m(" 已完成 ",-1)),a(ze)!==void 0?(o(),p("em",Ls,_(a(ze)),1)):b("",!0)],2),R((o(),p("span",ws,[r("span",{class:O(["chip","chip-pending",{active:a(s).pending_assign==="1"}]),onClick:nn},[e[36]||(e[36]=m(" 待分配医助 ",-1)),a(We)!==void 0?(o(),p("em",Ps,_(a(We)),1)):b("",!0)],2),a(s).pending_assign==="1"?(o(),v(u,{key:0,modelValue:a(s).pending_assign_order_month,"onUpdate:modelValue":e[0]||(e[0]=n=>a(s).pending_assign_order_month=n),type:"month",placeholder:"订单月份","value-format":"YYYY-MM",clearable:"",class:"pending-assign-month",onChange:an},null,8,["modelValue"])):b("",!0),a(s).pending_assign==="1"?(o(),v(c,{key:1,modelValue:a(s).pending_assign_keyword,"onUpdate:modelValue":e[1]||(e[1]=n=>a(s).pending_assign_keyword=n),placeholder:"搜身份证/诊单ID/患者号/备注…",clearable:"",class:"pending-assign-search",onKeyup:Et(B,["enter"]),onClear:B},null,8,["modelValue"])):b("",!0)])),[[F,["tcm.diagnosis/assign"]]])]),r("div",zs,[l(c,{modelValue:a(s).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(s).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:Et(B,["enter"])},null,8,["modelValue"]),l(d,{type:"primary",onClick:B},{default:i(()=>[...e[37]||(e[37]=[m("查询",-1)])]),_:1})])]),r("div",Ws,[e[38]||(e[38]=r("span",{class:"chip-label"},"挂号:",-1)),(o(),p(E,null,$(Ut,n=>r("span",{key:n.value,class:O(["chip","chip-sm",{active:a(s).has_appointment===n.value}]),onClick:k=>qt(n.value)},_(n.label),11,Ys)),64)),e[39]||(e[39]=r("span",{class:"chip-divider"},null,-1)),e[40]||(e[40]=r("span",{class:"chip-label"},"确认:",-1)),(o(),p(E,null,$(Ot,n=>r("span",{key:n.value,class:O(["chip","chip-sm",{active:a(s).diagnosis_confirmed===n.value}]),onClick:k=>Bt(n.value)},_(n.label),11,Fs)),64)),l(d,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>ue.value=!a(ue))},{default:i(()=>[m(_(a(ue)?"收起":"更多筛选")+" ",1),l(y,{class:O({"rotate-180":a(ue)})},{default:i(()=>[l(a(Nt))]),_:1},8,["class"])]),_:1})]),R(r("div",Ms,[l(z,{modelValue:a(s).diagnosis_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(s).diagnosis_type=n),placeholder:"诊断类型",clearable:"",size:"small",onChange:B},{default:i(()=>[(o(!0),p(E,null,$(a(ot),n=>(o(),v(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(z,{modelValue:a(s).syndrome_type,"onUpdate:modelValue":e[5]||(e[5]=n=>a(s).syndrome_type=n),placeholder:"证型",clearable:"",size:"small",onChange:B},{default:i(()=>[(o(!0),p(E,null,$(a(dt),n=>(o(),v(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(z,{modelValue:a(s).assistant_id,"onUpdate:modelValue":e[6]||(e[6]=n=>a(s).assistant_id=n),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:B},{default:i(()=>[(o(!0),p(E,null,$(a(pe),n=>(o(),v(D,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(Lt,{class:"latest-appointment-range",startTime:a(s).latest_appointment_start_date,"onUpdate:startTime":e[7]||(e[7]=n=>a(s).latest_appointment_start_date=n),endTime:a(s).latest_appointment_end_date,"onUpdate:endTime":e[8]||(e[8]=n=>a(s).latest_appointment_end_date=n),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"最近挂号开始","end-placeholder":"最近挂号结束",onChange:pt},null,8,["startTime","endTime"]),l(Lt,{class:"latest-assign-range",startTime:a(s).latest_assign_start_date,"onUpdate:startTime":e[9]||(e[9]=n=>a(s).latest_assign_start_date=n),endTime:a(s).latest_assign_end_date,"onUpdate:endTime":e[10]||(e[10]=n=>a(s).latest_assign_end_date=n),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"最近指派开始","end-placeholder":"最近指派结束",onChange:rn},null,8,["startTime","endTime"]),l(z,{modelValue:a(s).latest_appointment_channel_source,"onUpdate:modelValue":e[11]||(e[11]=n=>a(s).latest_appointment_channel_source=n),placeholder:"最近挂号渠道",clearable:"",filterable:"",size:"small",class:"latest-appointment-channel",onChange:pt},{default:i(()=>[(o(!0),p(E,null,$(a(rt),n=>(o(),v(D,{key:String(n.value),label:n.name,value:String(n.value)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(d,{size:"small",onClick:_n},{default:i(()=>[...e[41]||(e[41]=[m("重置",-1)])]),_:1})],512),[[ns,a(ue)]])]),_:1}),l(re,{class:"!border-none mt-3 list-card",shadow:"never"},{default:i(()=>[r("div",Us,[r("div",Os,[R((o(),v(d,{type:"primary",onClick:Yn},{default:i(()=>[...e[42]||(e[42]=[m("新增诊单",-1)])]),_:1})),[[F,["tcm.diagnosis/add"]]]),R((o(),v(d,{type:"success",onClick:wn,disabled:a(I).length===0},{default:i(()=>[...e[43]||(e[43]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]]),R((o(),v(d,{type:"warning",plain:"",onClick:Wn,disabled:!Tn.value},{default:i(()=>[...e[44]||(e[44]=[m(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]])]),a(I).length>0?(o(),p("div",qs,"已选 "+_(a(I).length)+" 条",1)):b("",!0)]),r("div",Bs,[R((o(),v(va,{data:a(V).lists,"row-key":"id",size:"default",onSelectionChange:Nn,onRowDblclick:xt,onSortChange:un,"row-class-name":gn,class:"diagnosis-table",stripe:""},{default:i(()=>[l(N,{type:"selection",width:"48",align:"center"}),l(N,{label:"ID","min-width":"70"},{default:i(({row:n})=>[r("div",Qs,[r("div",Hs,[r("div",Gs,[m(_(n.id)+" ",1),n.assign_read_at===null&&n.assistant_id>0?(o(),v(W,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:i(()=>[...e[45]||(e[45]=[m("NEW",-1)])]),_:1})):b("",!0)])])])]),_:1}),l(N,{label:"患者","min-width":"60"},{default:i(({row:n})=>[r("div",Ks,[r("div",Xs,[r("div",js,_(n.patient_name),1)])])]),_:1}),l(N,{label:" 性别 / 年龄",width:"100",align:"left"},{default:i(({row:n})=>[r("div",null,_(n.gender_desc||"-")+" · "+_(n.age??"-")+"岁",1)]),_:1}),l(N,{label:"挂号","min-width":"175"},{default:i(({row:n})=>[r("div",{class:O(["appointment-cell",Kn(n)])},[n.has_appointment?(o(),p(E,{key:0},[ge(n).length?(o(!0),p(E,{key:0},$(ge(n),k=>(o(),p("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:O(["apt-item",Gn(k)])},[r("div",Js,_(Hn(k.status)),1),r("div",Zs,_(k.doctor_name||"-"),1),r("div",ei,_(k.time_text||"-"),1),Ge(k)?(o(),p("div",ti,[R((o(),v(d,{type:"danger",link:"",size:"small",onClick:tt(C=>Jn(n,k),["stop"])},{default:i(()=>[...e[46]||(e[46]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]])])):b("",!0)],2))),128)):(o(),p(E,{key:1},[r("div",ni,_(Qn(n)),1),r("div",ai,_(n.appointment_doctor_name||"-"),1),r("div",si,_(n.appointment_time_text||"-"),1)],64)),mt(n)?(o(),p("div",ii," 最近渠道:"+_(mt(n)),1)):b("",!0)],64)):(o(),p("span",li,"未挂号"))],2)]),_:1}),l(N,{label:"确认",width:"88",align:"center"},{default:i(({row:n})=>[_t(n)?(o(),p("span",oi,"已确认")):(o(),p("span",di,"未确认"))]),_:1}),l(N,{label:"复诊","min-width":"120"},{default:i(({row:n})=>[n.has_prescription?(o(),p("div",ri,[r("div",ui,_(n.followup_time_text||"—"),1),r("div",pi,_(n.followup_doctor_name||"—"),1),n.followup_rx_voided?(o(),v(W,{key:0,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:i(()=>[...e[47]||(e[47]=[m(" 处方已作废 ",-1)])]),_:1})):b("",!0)])):(o(),p("span",mi,"无"))]),_:1}),l(N,{label:"助理",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[r("span",_i,_(pn(n.assistant_id||n.assistant)),1)]),_:1}),l(N,{label:"开方",width:"72",align:"center"},{default:i(({row:n})=>[n.has_prescription?(o(),p("span",ci,"已开方")):(o(),p("span",gi,"未开方"))]),_:1}),l(N,{label:"未服务天数",prop:"unserved_days",width:"110",align:"center",sortable:"custom","sort-orders":["descending","ascending"]},{default:i(({row:n})=>[n.last_blood_record_at?(o(),v(Dt,{key:0,content:`最近一次健康打卡:${n.last_blood_record_at}`,placement:"top"},{default:i(()=>[r("span",{class:O(["unserved-days",cn(n.unserved_days)])},_(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),p("span",fi,"—"))]),_:1}),l(N,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:i(({row:n})=>[r("div",vi,[hn(n)?(o(),p(E,{key:0},[bn(n)?(o(),v(Dt,{key:0,content:Cn(n),placement:"top"},{default:i(()=>[r("span",yi,[l(d,{type:"primary",link:"",size:"small",onClick:k=>xn(n)},{default:i(()=>[...e[48]||(e[48]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),p("span",hi,_(Dn(n)),1))],64)):(o(),p("span",ki,_(Vn(n)),1))])]),_:1}),l(N,{label:"操作",width:"340",fixed:"right",align:"left"},{default:i(({row:n})=>[r("div",{class:"action-cell",onClick:e[12]||(e[12]=tt(()=>{},["stop"])),onDblclick:e[13]||(e[13]=tt(()=>{},["stop"]))},[R((o(),v(d,{type:"primary",link:"",size:"small",onClick:k=>xt(n)},{default:i(()=>[...e[49]||(e[49]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/readonlyDetail"]]]),R((o(),v(d,{type:"primary",link:"",size:"small",onClick:k=>Fn(n.id)},{default:i(()=>[...e[50]||(e[50]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),R((o(),v(d,{type:"primary",link:"",size:"small",onClick:k=>Un(n)},{default:i(()=>[m(_(Mn(n)),1)]),_:2},1032,["onClick"])),[[F,["tcm.diagnosis/kaifang"]]]),R((o(),v(d,{type:"success",link:"",size:"small",onClick:k=>aa(n)},{default:i(()=>[...e[51]||(e[51]=[m("预约",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]]),R((o(),v(d,{type:"warning",link:"",size:"small",onClick:k=>ia(n)},{default:i(()=>[...e[52]||(e[52]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),l(fa,{trigger:"click",onCommand:k=>Bn(k,n),placement:"bottom-end"},{dropdown:i(()=>[l(ga,null,{default:i(()=>[a(U)(["tcm.diagnosis/assign"])?(o(),v(Z,{key:0,command:"assign"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(gs))]),_:1}),e[54]||(e[54]=m("指派",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/assign"])&&Ve(n)?(o(),v(Z,{key:1,command:"cancelAssign"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(fs))]),_:1}),e[55]||(e[55]=m("取消指派 ",-1))]),_:1})):b("",!0),He(n)&&a(U)(["tcm.diagnosis/videoQr"])?(o(),v(Z,{key:2,command:"videoQr"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Tt))]),_:1}),e[56]||(e[56]=m("视频二维码",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/guahao"])&&He(n)?(o(),v(Z,{key:3,command:"confirmQr"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(Tt))]),_:1}),e[57]||(e[57]=m("二维码",-1))]),_:1})):b("",!0),Xn(n)&&a(U)(["tcm.diagnosis/guahao"])?(o(),v(Z,{key:4,command:"cancelApt"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(vs))]),_:1}),e[58]||(e[58]=m("取消挂号 ",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/guahaoLogList"])?(o(),v(Z,{key:5,command:"guahaoLogs"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(ys))]),_:1}),e[59]||(e[59]=m("挂号日志",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/order"])?(o(),v(Z,{key:6,command:"order"},{default:i(()=>[l(y,null,{default:i(()=>[l(a(hs))]),_:1}),e[60]||(e[60]=m("创建订单",-1))]),_:1})):b("",!0),a(U)(["tcm.diagnosis/delete"])?(o(),v(Z,{key:7,command:"delete",divided:""},{default:i(()=>[l(y,null,{default:i(()=>[l(a(ks))]),_:1}),e[61]||(e[61]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):b("",!0)]),_:2},1024)]),default:i(()=>[l(d,{type:"info",link:"",size:"small"},{default:i(()=>[e[53]||(e[53]=m("更多",-1)),l(y,{class:"el-icon--right"},{default:i(()=>[l(a(Nt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[et,a(V).loading]]),r("div",bi,[l(ya,{modelValue:a(V),"onUpdate:modelValue":e[14]||(e[14]=n=>G(V)?V.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),l(a(Pt),{ref_key:"editRef",ref:se,onSuccess:mn},null,512),l(a(zt),{ref_key:"detailRef",ref:fn},null,512),l(a(Wt),{ref_key:"prescriptionRef",ref:ct,onSuccess:On},null,512),l(a(Yt),{ref_key:"appointmentRef",ref:gt,onSuccess:na},null,512),l(a(Ft),{modelValue:a(Ce),"onUpdate:modelValue":e[15]||(e[15]=n=>G(Ce)?Ce.value=n:null),"diagnosis-id":a(ft),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),l(Vt,{modelValue:a(ne),"onUpdate:modelValue":e[16]||(e[16]=n=>G(ne)?ne.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Zn},{default:i(()=>[R((o(),p("div",Ci,[a(H)?(o(),p("div",xi,[r("span",Di,_(a(H).patient_name),1),e[62]||(e[62]=r("span",{class:"mx-2 text-gray-300"},"|",-1)),r("span",null,"诊单 #"+_(a(H).id),1)])):b("",!0),!a(Ae)&&a(oe).length===0?(o(),v(ha,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(oe).length>0?(o(),v(ba,{key:2},{default:i(()=>[(o(!0),p(E,null,$(a(oe),(n,k)=>(o(),v(ka,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:i(()=>[r("div",Vi,[l(W,{size:"small",type:"info"},{default:i(()=>[m(_(n.action_desc),1)]),_:2},1024),r("span",Ai,_(ea(n)),1)]),r("div",Ei,_(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):b("",!0)])),[[et,a(Ae)]])]),_:1},8,["modelValue"]),l($e,{modelValue:a(Q),"onUpdate:modelValue":e[18]||(e[18]=n=>G(Q)?Q.value=n:null),title:a(qe),width:"400px","close-on-click-modal":!1},{footer:i(()=>[l(d,{onClick:e[17]||(e[17]=n=>Q.value=!1)},{default:i(()=>[...e[65]||(e[65]=[m("关闭",-1)])]),_:1}),a(K)?b("",!0):(o(),v(d,{key:0,type:"primary",onClick:oa},{default:i(()=>[...e[66]||(e[66]=[m(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[r("div",Si,[a(K)?(o(),p("div",Ri,[l(y,{class:"is-loading",size:40},{default:i(()=>[l(a(bs))]),_:1}),e[63]||(e[63]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(X)?(o(),p("div",$i,[r("img",{src:a(X),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,Ii),r("div",Ni,[r("div",null,"患者:"+_((n=a(j))==null?void 0:n.patient_name),1),r("div",Ti,"挂号时间:"+_($n.value),1),e[64]||(e[64]=r("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),p("div",Li," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l($e,{modelValue:a(te),"onUpdate:modelValue":e[22]||(e[22]=n=>G(te)?te.value=n:null),title:a(_e)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:In},{footer:i(()=>[l(d,{onClick:e[21]||(e[21]=n=>te.value=!1)},{default:i(()=>[...e[69]||(e[69]=[m("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:Pn,loading:a(Qe)},{default:i(()=>[...e[70]||(e[70]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{model:a(A),"label-width":"100px"},{default:i(()=>[l(Y,{label:"选择医助",required:""},{default:i(()=>[l(z,{modelValue:a(A).assistant_id,"onUpdate:modelValue":e[19]||(e[19]=n=>a(A).assistant_id=n),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:""},{default:i(()=>[(o(!0),p(E,null,$(a(pe),n=>(o(),v(D,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(Y,{label:"继承"},{default:i(()=>[l(Ca,{modelValue:a(A).is_inherit,"onUpdate:modelValue":e[20]||(e[20]=n=>a(A).is_inherit=n)},{default:i(()=>[...e[67]||(e[67]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[68]||(e[68]=r("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),a(_e)==="batch"?(o(),v(Y,{key:0,label:"已选择"},{default:i(()=>[r("div",wi,_(a(le).length)+" 条诊单记录",1)]),_:1})):(o(),v(Y,{key:1,label:"诊单信息"},{default:i(()=>{var n,k;return[r("div",Pi,[r("div",null,"患者:"+_((n=a(ce))==null?void 0:n.patient_name),1),r("div",null,"诊断日期:"+_((k=a(ce))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l($e,{modelValue:a(ie),"onUpdate:modelValue":e[27]||(e[27]=n=>G(ie)?ie.value=n:null),title:"创建订单",width:"600px",onClose:Sn},{footer:i(()=>[l(d,{onClick:e[26]||(e[26]=n=>ie.value=!1)},{default:i(()=>[...e[71]||(e[71]=[m("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:Rn,loading:a(Oe)},{default:i(()=>[...e[72]||(e[72]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{ref_key:"orderFormRef",ref:De,model:a(h),rules:An,"label-width":"100px"},{default:i(()=>[l(Y,{label:"患者"},{default:i(()=>[r("span",zi,_(a(h).patient_name)+" ("+_(st(a(h).phone))+")",1)]),_:1}),l(Y,{label:"订单类型",prop:"order_type"},{default:i(()=>[l(z,{modelValue:a(h).order_type,"onUpdate:modelValue":e[23]||(e[23]=n=>a(h).order_type=n),placeholder:"请选择",class:"w-full"},{default:i(()=>[l(D,{label:"挂号费",value:1}),l(D,{label:"问诊费",value:2}),l(D,{label:"药品费用",value:3}),l(D,{label:"首付费用",value:4}),l(D,{label:"尾款费用",value:5}),l(D,{label:"其他费用",value:6}),l(D,{label:"全部费用",value:7}),l(D,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(Y,{label:"订单金额",prop:"amount"},{default:i(()=>[l(xa,{modelValue:a(h).amount,"onUpdate:modelValue":e[24]||(e[24]=n=>a(h).amount=n),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),l(Y,{label:"备注",prop:"remark"},{default:i(()=>[l(c,{modelValue:a(h).remark,"onUpdate:modelValue":e[25]||(e[25]=n=>a(h).remark=n),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l($e,{modelValue:a(de),"onUpdate:modelValue":e[30]||(e[30]=n=>G(de)?de.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[31]||(e[31]=n=>a(P).id_card="")},{footer:i(()=>[l(d,{onClick:e[29]||(e[29]=n=>de.value=!1)},{default:i(()=>[...e[73]||(e[73]=[m("取消",-1)])]),_:1}),l(d,{type:"primary",onClick:la,loading:a(Ke)},{default:i(()=>[...e[74]||(e[74]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:i(()=>[l(Ze,{ref_key:"fillIdCardFormRef",ref:kt,model:a(P),rules:sa,"label-width":"80px"},{default:i(()=>[l(Y,{label:"患者"},{default:i(()=>[r("span",Wi,_(a(P).patient_name),1)]),_:1}),l(Y,{label:"身份证号",prop:"id_card"},{default:i(()=>[l(c,{modelValue:a(P).id_card,"onUpdate:modelValue":e[28]||(e[28]=n=>a(P).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Vt,{modelValue:a(Se),"onUpdate:modelValue":e[33]||(e[33]=n=>G(Se)?Se.value=n:null),title:`企业微信记录 - ${((At=a(T))==null?void 0:At.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:i(()=>{var n,k;return[a(L)?(o(),p("div",Yi,[l(Da,{column:2,border:"",size:"small"},{default:i(()=>[l(Ie,{label:"患者姓名"},{default:i(()=>{var C;return[m(_((C=a(T))==null?void 0:C.patient_name),1)]}),_:1}),l(Ie,{label:"手机号"},{default:i(()=>[m(_(st(a(L).phone)||"-"),1)]),_:1}),l(Ie,{label:"企微联系人ID"},{default:i(()=>[a(L).external_userid?(o(),p("span",Fi,_(a(L).external_userid),1)):(o(),v(W,{key:1,type:"info",size:"small"},{default:i(()=>[...e[75]||(e[75]=[m("未关联",-1)])]),_:1}))]),_:1}),l(Ie,{label:"会话存档"},{default:i(()=>[a(L).msgaudit_enabled?(o(),v(W,{key:0,type:"success",size:"small"},{default:i(()=>[...e[76]||(e[76]=[m("已开通",-1)])]),_:1})):(o(),v(W,{key:1,type:"info",size:"small"},{default:i(()=>[...e[77]||(e[77]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(L).permit_users)!=null&&n.length?(o(),p("div",Mi,[e[78]||(e[78]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),p(E,null,$(a(L).permit_users,C=>(o(),v(W,{key:C,size:"small",class:"mr-1"},{default:i(()=>[m(_(C),1)]),_:2},1024))),128))])):b("",!0),(k=a(L).msgaudit_agree)!=null&&k.length?(o(),p("div",Ui,[e[79]||(e[79]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),p(E,null,$(a(L).msgaudit_agree,(C,Ne)=>(o(),v(W,{key:Ne,type:C.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:i(()=>[m(_(C.userid)+": "+_(C.agree_status==="Agree"?"已同意":C.agree_status),1)]),_:2},1032,["type"]))),128))])):b("",!0)])):b("",!0),l(Va),r("div",Oi,[r("div",qi,[l(c,{modelValue:a(ae),"onUpdate:modelValue":e[32]||(e[32]=C=>G(ae)?ae.value=C:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(d,{type:"primary",onClick:pa,loading:a(je),class:"self-end"},{default:i(()=>[...e[80]||(e[80]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),R((o(),p("div",null,[a(J).length===0?(o(),p("div",Bi," 暂无聊天记录 ")):(o(),p("div",Qi,[(o(!0),p(E,null,$(a(J),C=>{var Ne;return o(),p("div",{key:C.id,class:"record-item"},[r("div",Hi,[r("div",Gi,[l(W,{type:C.direction===0?"primary":"success",size:"small"},{default:i(()=>[m(_(C.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",Ki,_(C.direction===0?C.staff_name:C.external_name||((Ne=a(T))==null?void 0:Ne.patient_name)),1),C.msg_type==="note"?(o(),v(W,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[81]||(e[81]=[m("备注",-1)])]),_:1})):b("",!0)]),r("div",Xi,[r("span",ji,_(da(C.chat_time)),1),l(d,{type:"danger",link:"",size:"small",onClick:il=>ma(C.id)},{default:i(()=>[...e[82]||(e[82]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",Ji,_(C.content),1),C.media_url?(o(),p("div",Zi,[l(Aa,{src:C.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[C.media_url]},null,8,["src","preview-src-list"])])):b("",!0)])}),128))])),a(Re)>a(J).length?(o(),p("div",el,[l(d,{link:"",type:"primary",onClick:ua},{default:i(()=>[...e[83]||(e[83]=[m("加载更多",-1)])]),_:1})])):b("",!0)])),[[et,a(Xe)]])]}),_:1},8,["modelValue","title"])])}}}),jl=cs(nl,[["__scopeId","data-v-3678b100"]]);export{jl as default}; diff --git a/server/public/admin/assets/index-Dxrq29dg.js b/server/public/admin/assets/index-BIgtwj7l.js similarity index 97% rename from server/public/admin/assets/index-Dxrq29dg.js rename to server/public/admin/assets/index-BIgtwj7l.js index 1f4590fc5..694c43f27 100644 --- a/server/public/admin/assets/index-Dxrq29dg.js +++ b/server/public/admin/assets/index-BIgtwj7l.js @@ -1 +1 @@ -var N=Object.defineProperty;var V=(e,r,t)=>r in e?N(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var b=(e,r,t)=>V(e,typeof r!="symbol"?r+"":r,t);import{a0 as x,a1 as K,W as H}from"./element-plus-DGP1XOrU.js";import{u as J,e as W,s as T,R as C,k as w,_ as X}from"./index-fRv3NTFQ.js";import{C as G}from"./cos-js-sdk-v5-DSMN0LUT.js";import{j as Q,k as Y}from"./file-FhuQj5ML.js";import{f as Z,A as P,ak as v,I as U,a as z,aN as A,aq as ee,G as re,J as _,F as ae,ap as te,H as se}from"./@vue/runtime-core-C6bnekPw.js";import{n as $,q as le}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ce}from"./@vue/shared-mAAVTE9n.js";const ne=5*1024*1024,oe=3;async function O(e){try{return await e()}catch(r){throw new B(r)}}function de(e,r){const t=(r.name.split(".").pop()||"bin").toLowerCase(),S=Date.now(),p=Math.random().toString(36).slice(2,10);return`${e}${S}-${p}.${t}`}async function ie(e){var d,i;const r=await O(()=>Q({type:e.type,name:e.file.name}));if(r.fallback)throw((d=e.onFallback)==null?void 0:d.call(e,r.provider))??!1?new D(r.provider):new D(r.provider);if(!r.credentials||!r.bucket||!r.region||!r.key_prefix)throw new Error("STS 凭证返回缺失字段");if(r.max_size&&e.file.size>r.max_size){const m=Math.round(r.max_size/1024/1024);throw new Error(`文件体积超出上限(${m}MB)`)}const t=r.credentials,S=r.expired_time??0,p=r.start_time??Math.floor(Date.now()/1e3),y=new G({getAuthorization(m,E){E({TmpSecretId:t.tmpSecretId,TmpSecretKey:t.tmpSecretKey,SecurityToken:t.sessionToken,StartTime:p,ExpiredTime:S})}}),h=r.object_key||de(r.key_prefix,e.file);await new Promise((m,E)=>{y.uploadFile({Bucket:r.bucket,Region:r.region,Key:h,Body:e.file,SliceSize:ne,AsyncLimit:oe,onProgress(c){if(!e.onProgress)return;const k=c.total||e.file.size;e.onProgress({percent:Math.min(99,Math.round((c.percent||0)*100)),loaded:c.loaded||0,total:k,speed:c.speed||0})}},c=>{if(c){E(c);return}m()})});const u=await O(()=>Y({type:e.type,key:h,name:e.file.name,size:e.file.size,content_type:e.file.type||"",cid:e.cid??0}));return(i=e.onProgress)==null||i.call(e,{percent:100,loaded:e.file.size,total:e.file.size,speed:0}),u}class D extends Error{constructor(t){super(`COS 直传不可用,当前驱动: ${t}`);b(this,"provider");this.name="DirectUploadFallbackError",this.provider=t}}class B extends Error{constructor(t){super("");b(this,"originalError");this.name="DirectUploadApiError",this.originalError=t}}const ue=Z({components:{},props:{type:{type:String,default:"image"},multiple:{type:Boolean,default:!0},limit:{type:Number,default:10},data:{type:Object,default:()=>({})},showProgress:{type:Boolean,default:!1},direct:{type:Boolean,default:!1}},emits:["change","error","success","allSuccess"],setup(e,{emit:r}){const t=J(),S=W(),p=le(),y=$(`${T.baseUrl}${T.urlPrefix}/upload/${e.type}`),h=P(()=>({token:t.token,version:S.config.version})),u=$(!1),d=$([]),i=["video","voice","desktop_package"],m=P(()=>e.direct&&i.includes(e.type)),E=()=>{u.value=!0};let c=0;const k=(a,o)=>{c++,c==d.value.length&&(c=0,d.value=[],r("allSuccess")),r("change",o),a.code==C.SUCCESS&&r("success",a),a.code==C.FAIL&&a.msg&&w.msgError(a.msg)},R=(a,o)=>{var n;if(c++,c==d.value.length&&(c=0,d.value=[],r("allSuccess")),!(a instanceof B)){const g=a instanceof Error?a.message:"";w.msgError(g||`${o.name}文件上传失败`)}(n=p.value)==null||n.abort(o),u.value=!1,r("change",o),r("error",o)},q=()=>{w.msgError(`超出上传上限${e.limit},请重新上传`)},I=()=>{d.value=[],u.value=!1},j=P(()=>{switch(e.type){case"image":return".jpg,.png,.gif,.jpeg,.ico";case"video":return".wmv,.avi,.mpg,.mpeg,.3gp,.mov,.mp4,.flv,.rmvb,.mkv";case"voice":return".mp3,.wav,.wma,.m4a,.aac,.amr";case"desktop_package":return".exe,.zip";default:return"*"}}),F=async a=>{var o,n,g,s;u.value=!0;try{const l=await ie({file:a.file,type:e.type,cid:Number(((o=a.data)==null?void 0:o.cid)??0),onProgress(f){var L;(L=a.onProgress)==null||L.call(a,{percent:f.percent,loaded:f.loaded,total:f.total})}});(n=a.onSuccess)==null||n.call(a,{code:C.SUCCESS,msg:"ok",data:l})}catch(l){if(l instanceof D){if(e.type==="desktop_package"){(g=a.onError)==null||g.call(a,new Error("当前未启用腾讯云 COS,安装包无法直传,请配置 COS 后重试"));return}w.msgWarning("当前存储不支持直传,已切换为普通上传"),await M(a);return}(s=a.onError)==null||s.call(a,l instanceof Error?l:new Error(String((l==null?void 0:l.message)??l)))}},M=a=>new Promise(o=>{const n=new XMLHttpRequest;n.open("POST",y.value),Object.entries(h.value).forEach(([s,l])=>n.setRequestHeader(s,String(l??""))),n.upload.onprogress=s=>{var f;if(!s.lengthComputable)return;const l=s.loaded/s.total*100;(f=a.onProgress)==null||f.call(a,{percent:l,loaded:s.loaded,total:s.total})},n.onload=()=>{var s,l;try{const f=JSON.parse(n.responseText);(s=a.onSuccess)==null||s.call(a,f)}catch{(l=a.onError)==null||l.call(a,new Error("上传响应解析失败"))}o()},n.onerror=()=>{var s;(s=a.onError)==null||s.call(a,new Error("网络错误")),o()};const g=new FormData;g.append("file",a.file),Object.entries(a.data||{}).forEach(([s,l])=>g.append(s,String(l))),n.send(g)});return{uploadRefs:p,action:y,headers:h,visible:u,fileList:d,useDirect:m,httpRequest:F,getAccept:j,handleProgress:E,handleSuccess:k,handleError:R,handleExceed:q,handleClose:I}}}),me={class:"upload"},fe={class:"file-list p-4"},ge={class:"flex-1"};function pe(e,r,t,S,p,y){const h=x,u=K,d=H;return v(),U("div",me,[z(h,{"file-list":e.fileList,"onUpdate:fileList":r[0]||(r[0]=i=>e.fileList=i),ref:"uploadRefs",action:e.action,multiple:e.multiple,limit:e.limit,"show-file-list":!1,headers:e.headers,data:e.data,"http-request":e.useDirect?e.httpRequest:void 0,"on-progress":e.handleProgress,"on-success":e.handleSuccess,"on-exceed":e.handleExceed,"on-error":e.handleError,accept:e.getAccept},{default:A(()=>[ee(e.$slots,"default")]),_:3},8,["file-list","action","multiple","limit","headers","data","http-request","on-progress","on-success","on-exceed","on-error","accept"]),e.showProgress&&e.fileList.length?(v(),re(d,{key:0,modelValue:e.visible,"onUpdate:modelValue":r[1]||(r[1]=i=>e.visible=i),title:"上传进度","close-on-click-modal":!1,width:"500px",modal:!1,onClose:e.handleClose},{default:A(()=>[_("div",fe,[(v(!0),U(ae,null,te(e.fileList,(i,m)=>(v(),U("div",{key:m,class:"mb-5"},[_("div",null,ce(i.name),1),_("div",ge,[z(u,{percentage:parseInt(i.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):se("",!0)])}const Ce=X(ue,[["render",pe]]);export{Ce as U}; +var N=Object.defineProperty;var V=(e,r,t)=>r in e?N(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var b=(e,r,t)=>V(e,typeof r!="symbol"?r+"":r,t);import{a0 as x,a1 as K,W as H}from"./element-plus-DGP1XOrU.js";import{u as J,e as W,s as T,R as C,k as w,_ as X}from"./index-J_eFER10.js";import{C as G}from"./cos-js-sdk-v5-DSMN0LUT.js";import{j as Q,k as Y}from"./file-D7g_w1vo.js";import{f as Z,A as P,ak as v,I as U,a as z,aN as A,aq as ee,G as re,J as _,F as ae,ap as te,H as se}from"./@vue/runtime-core-C6bnekPw.js";import{n as $,q as le}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ce}from"./@vue/shared-mAAVTE9n.js";const ne=5*1024*1024,oe=3;async function O(e){try{return await e()}catch(r){throw new B(r)}}function de(e,r){const t=(r.name.split(".").pop()||"bin").toLowerCase(),S=Date.now(),p=Math.random().toString(36).slice(2,10);return`${e}${S}-${p}.${t}`}async function ie(e){var d,i;const r=await O(()=>Q({type:e.type,name:e.file.name}));if(r.fallback)throw((d=e.onFallback)==null?void 0:d.call(e,r.provider))??!1?new D(r.provider):new D(r.provider);if(!r.credentials||!r.bucket||!r.region||!r.key_prefix)throw new Error("STS 凭证返回缺失字段");if(r.max_size&&e.file.size>r.max_size){const m=Math.round(r.max_size/1024/1024);throw new Error(`文件体积超出上限(${m}MB)`)}const t=r.credentials,S=r.expired_time??0,p=r.start_time??Math.floor(Date.now()/1e3),y=new G({getAuthorization(m,E){E({TmpSecretId:t.tmpSecretId,TmpSecretKey:t.tmpSecretKey,SecurityToken:t.sessionToken,StartTime:p,ExpiredTime:S})}}),h=r.object_key||de(r.key_prefix,e.file);await new Promise((m,E)=>{y.uploadFile({Bucket:r.bucket,Region:r.region,Key:h,Body:e.file,SliceSize:ne,AsyncLimit:oe,onProgress(c){if(!e.onProgress)return;const k=c.total||e.file.size;e.onProgress({percent:Math.min(99,Math.round((c.percent||0)*100)),loaded:c.loaded||0,total:k,speed:c.speed||0})}},c=>{if(c){E(c);return}m()})});const u=await O(()=>Y({type:e.type,key:h,name:e.file.name,size:e.file.size,content_type:e.file.type||"",cid:e.cid??0}));return(i=e.onProgress)==null||i.call(e,{percent:100,loaded:e.file.size,total:e.file.size,speed:0}),u}class D extends Error{constructor(t){super(`COS 直传不可用,当前驱动: ${t}`);b(this,"provider");this.name="DirectUploadFallbackError",this.provider=t}}class B extends Error{constructor(t){super("");b(this,"originalError");this.name="DirectUploadApiError",this.originalError=t}}const ue=Z({components:{},props:{type:{type:String,default:"image"},multiple:{type:Boolean,default:!0},limit:{type:Number,default:10},data:{type:Object,default:()=>({})},showProgress:{type:Boolean,default:!1},direct:{type:Boolean,default:!1}},emits:["change","error","success","allSuccess"],setup(e,{emit:r}){const t=J(),S=W(),p=le(),y=$(`${T.baseUrl}${T.urlPrefix}/upload/${e.type}`),h=P(()=>({token:t.token,version:S.config.version})),u=$(!1),d=$([]),i=["video","voice","desktop_package"],m=P(()=>e.direct&&i.includes(e.type)),E=()=>{u.value=!0};let c=0;const k=(a,o)=>{c++,c==d.value.length&&(c=0,d.value=[],r("allSuccess")),r("change",o),a.code==C.SUCCESS&&r("success",a),a.code==C.FAIL&&a.msg&&w.msgError(a.msg)},R=(a,o)=>{var n;if(c++,c==d.value.length&&(c=0,d.value=[],r("allSuccess")),!(a instanceof B)){const g=a instanceof Error?a.message:"";w.msgError(g||`${o.name}文件上传失败`)}(n=p.value)==null||n.abort(o),u.value=!1,r("change",o),r("error",o)},q=()=>{w.msgError(`超出上传上限${e.limit},请重新上传`)},I=()=>{d.value=[],u.value=!1},j=P(()=>{switch(e.type){case"image":return".jpg,.png,.gif,.jpeg,.ico";case"video":return".wmv,.avi,.mpg,.mpeg,.3gp,.mov,.mp4,.flv,.rmvb,.mkv";case"voice":return".mp3,.wav,.wma,.m4a,.aac,.amr";case"desktop_package":return".exe,.zip";default:return"*"}}),F=async a=>{var o,n,g,s;u.value=!0;try{const l=await ie({file:a.file,type:e.type,cid:Number(((o=a.data)==null?void 0:o.cid)??0),onProgress(f){var L;(L=a.onProgress)==null||L.call(a,{percent:f.percent,loaded:f.loaded,total:f.total})}});(n=a.onSuccess)==null||n.call(a,{code:C.SUCCESS,msg:"ok",data:l})}catch(l){if(l instanceof D){if(e.type==="desktop_package"){(g=a.onError)==null||g.call(a,new Error("当前未启用腾讯云 COS,安装包无法直传,请配置 COS 后重试"));return}w.msgWarning("当前存储不支持直传,已切换为普通上传"),await M(a);return}(s=a.onError)==null||s.call(a,l instanceof Error?l:new Error(String((l==null?void 0:l.message)??l)))}},M=a=>new Promise(o=>{const n=new XMLHttpRequest;n.open("POST",y.value),Object.entries(h.value).forEach(([s,l])=>n.setRequestHeader(s,String(l??""))),n.upload.onprogress=s=>{var f;if(!s.lengthComputable)return;const l=s.loaded/s.total*100;(f=a.onProgress)==null||f.call(a,{percent:l,loaded:s.loaded,total:s.total})},n.onload=()=>{var s,l;try{const f=JSON.parse(n.responseText);(s=a.onSuccess)==null||s.call(a,f)}catch{(l=a.onError)==null||l.call(a,new Error("上传响应解析失败"))}o()},n.onerror=()=>{var s;(s=a.onError)==null||s.call(a,new Error("网络错误")),o()};const g=new FormData;g.append("file",a.file),Object.entries(a.data||{}).forEach(([s,l])=>g.append(s,String(l))),n.send(g)});return{uploadRefs:p,action:y,headers:h,visible:u,fileList:d,useDirect:m,httpRequest:F,getAccept:j,handleProgress:E,handleSuccess:k,handleError:R,handleExceed:q,handleClose:I}}}),me={class:"upload"},fe={class:"file-list p-4"},ge={class:"flex-1"};function pe(e,r,t,S,p,y){const h=x,u=K,d=H;return v(),U("div",me,[z(h,{"file-list":e.fileList,"onUpdate:fileList":r[0]||(r[0]=i=>e.fileList=i),ref:"uploadRefs",action:e.action,multiple:e.multiple,limit:e.limit,"show-file-list":!1,headers:e.headers,data:e.data,"http-request":e.useDirect?e.httpRequest:void 0,"on-progress":e.handleProgress,"on-success":e.handleSuccess,"on-exceed":e.handleExceed,"on-error":e.handleError,accept:e.getAccept},{default:A(()=>[ee(e.$slots,"default")]),_:3},8,["file-list","action","multiple","limit","headers","data","http-request","on-progress","on-success","on-exceed","on-error","accept"]),e.showProgress&&e.fileList.length?(v(),re(d,{key:0,modelValue:e.visible,"onUpdate:modelValue":r[1]||(r[1]=i=>e.visible=i),title:"上传进度","close-on-click-modal":!1,width:"500px",modal:!1,onClose:e.handleClose},{default:A(()=>[_("div",fe,[(v(!0),U(ae,null,te(e.fileList,(i,m)=>(v(),U("div",{key:m,class:"mb-5"},[_("div",null,ce(i.name),1),_("div",ge,[z(u,{percentage:parseInt(i.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):se("",!0)])}const Ce=X(ue,[["render",pe]]);export{Ce as U}; diff --git a/server/public/admin/assets/index-WB60onBZ.js b/server/public/admin/assets/index-BK-C1S78.js similarity index 95% rename from server/public/admin/assets/index-WB60onBZ.js rename to server/public/admin/assets/index-BK-C1S78.js index 800c0707d..da05efe4f 100644 --- a/server/public/admin/assets/index-WB60onBZ.js +++ b/server/public/admin/assets/index-BK-C1S78.js @@ -1 +1 @@ -import{_ as B}from"./index-D6hiZISU.js";import{D as k,B as y,G as D,J as N,C as R,K as G,i as I}from"./element-plus-DGP1XOrU.js";import{r as f}from"./index-fRv3NTFQ.js";import{f as c,as as F,ak as _,I as J,a as e,aN as o,J as a,O as i,aP as O,G as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,r as h}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function j(){return f.get({url:"/recharge.recharge/getConfig"})}function q(l){return f.post({url:"/recharge.recharge/setConfig",params:l})}const K=c({name:"rechargeConfig"}),Bt=c({...K,setup(l){const r=h({status:1,min_amount:""}),s=async()=>{const p=await j();Object.assign(r,p)},g=async()=>{await q(r),s()};return s(),(p,t)=>{const u=N,v=D,d=y,C=R,b=k,V=G,E=I,x=B,w=F("perms");return _(),J("div",null,[e(V,{shadow:"never",class:"!border-none"},{header:o(()=>[...t[2]||(t[2]=[a("span",{class:"font-extrabold text-lg"},"充值设置",-1)])]),default:o(()=>[e(b,{model:n(r),"label-width":"120px"},{default:o(()=>[e(d,{label:"状态"},{default:o(()=>[a("div",null,[e(v,{modelValue:n(r).status,"onUpdate:modelValue":t[0]||(t[0]=m=>n(r).status=m),class:"ml-4"},{default:o(()=>[e(u,{value:1},{default:o(()=>[...t[3]||(t[3]=[i("开启",-1)])]),_:1}),e(u,{value:0},{default:o(()=>[...t[4]||(t[4]=[i("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[5]||(t[5]=a("div",{class:"form-tips"},"关闭或开启充值功能,关闭后将不显示充值入口",-1))])]),_:1}),e(d,{label:"最低充值金额"},{default:o(()=>[a("div",null,[e(C,{modelValue:n(r).min_amount,"onUpdate:modelValue":t[1]||(t[1]=m=>n(r).min_amount=m),placeholder:"请输入最低充值金额",clearable:""},null,8,["modelValue"]),t[6]||(t[6]=a("div",{class:"form-tips"}," 最低充值金额要求,不填或填0表示不限制最低充值金额 ",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),O((_(),U(x,null,{default:o(()=>[e(E,{type:"primary",onClick:g},{default:o(()=>[...t[7]||(t[7]=[i("保存",-1)])]),_:1})]),_:1})),[[w,["recharge.recharge/setConfig"]]])])}}});export{Bt as default}; +import{_ as B}from"./index-UGD9wxNK.js";import{D as k,B as y,G as D,J as N,C as R,K as G,i as I}from"./element-plus-DGP1XOrU.js";import{r as f}from"./index-J_eFER10.js";import{f as c,as as F,ak as _,I as J,a as e,aN as o,J as a,O as i,aP as O,G as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,r as h}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function j(){return f.get({url:"/recharge.recharge/getConfig"})}function q(l){return f.post({url:"/recharge.recharge/setConfig",params:l})}const K=c({name:"rechargeConfig"}),Bt=c({...K,setup(l){const r=h({status:1,min_amount:""}),s=async()=>{const p=await j();Object.assign(r,p)},g=async()=>{await q(r),s()};return s(),(p,t)=>{const u=N,v=D,d=y,C=R,b=k,V=G,E=I,x=B,w=F("perms");return _(),J("div",null,[e(V,{shadow:"never",class:"!border-none"},{header:o(()=>[...t[2]||(t[2]=[a("span",{class:"font-extrabold text-lg"},"充值设置",-1)])]),default:o(()=>[e(b,{model:n(r),"label-width":"120px"},{default:o(()=>[e(d,{label:"状态"},{default:o(()=>[a("div",null,[e(v,{modelValue:n(r).status,"onUpdate:modelValue":t[0]||(t[0]=m=>n(r).status=m),class:"ml-4"},{default:o(()=>[e(u,{value:1},{default:o(()=>[...t[3]||(t[3]=[i("开启",-1)])]),_:1}),e(u,{value:0},{default:o(()=>[...t[4]||(t[4]=[i("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[5]||(t[5]=a("div",{class:"form-tips"},"关闭或开启充值功能,关闭后将不显示充值入口",-1))])]),_:1}),e(d,{label:"最低充值金额"},{default:o(()=>[a("div",null,[e(C,{modelValue:n(r).min_amount,"onUpdate:modelValue":t[1]||(t[1]=m=>n(r).min_amount=m),placeholder:"请输入最低充值金额",clearable:""},null,8,["modelValue"]),t[6]||(t[6]=a("div",{class:"form-tips"}," 最低充值金额要求,不填或填0表示不限制最低充值金额 ",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),O((_(),U(x,null,{default:o(()=>[e(E,{type:"primary",onClick:g},{default:o(()=>[...t[7]||(t[7]=[i("保存",-1)])]),_:1})]),_:1})),[[w,["recharge.recharge/setConfig"]]])])}}});export{Bt as default}; diff --git a/server/public/admin/assets/index-BuoDXKR5.js b/server/public/admin/assets/index-BNoaqcOd.js similarity index 93% rename from server/public/admin/assets/index-BuoDXKR5.js rename to server/public/admin/assets/index-BNoaqcOd.js index a669a2049..47b963028 100644 --- a/server/public/admin/assets/index-BuoDXKR5.js +++ b/server/public/admin/assets/index-BNoaqcOd.js @@ -1 +1 @@ -import{D as L,B as O,C as q,Q,R as A,i as G,K as H,N as J,O as M,U as W,M as X}from"./element-plus-DGP1XOrU.js";import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as Z,k as ee}from"./index-fRv3NTFQ.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js";import{w as V}from"./@vue/runtime-dom-DDAG46FW.js";import{d as E,e as oe}from"./post-CPnP1Klt.js";import{u as ae}from"./usePaging-DofycyjW.js";import{_ as le}from"./edit.vue_vue_type_script_setup_true_lang-ob5lYdp3.js";import{f as D,as as se,ak as m,I as ne,a as e,aN as a,O as p,J as x,aP as y,G as c,H as ie,n as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as re,q as me,n as pe,r as de}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ue}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const ce={class:"post-lists"},_e={class:"flex justify-end mt-4"},fe=D({name:"post"}),nt=D({...fe,setup(be){const _=me(),f=pe(!1),s=de({code:"",name:"",status:""}),{pager:r,getLists:b,resetPage:w,resetParams:h}=ae({fetchFun:E,params:s}),j=async()=>{var n;f.value=!0,await $(),(n=_.value)==null||n.open("add")},B=async n=>{var t,d;f.value=!0,await $(),(t=_.value)==null||t.open("edit"),(d=_.value)==null||d.getDetail(n)},K=async n=>{await ee.confirm("确定要删除?"),await oe({id:n}),b()};return b(),(n,t)=>{const d=q,v=O,g=A,N=Q,u=G,P=te,R=L,C=H,T=Z,i=M,U=W,z=J,S=Y,k=se("perms"),F=X;return m(),ne("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e(R,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:!0},{default:a(()=>[e(v,{class:"w-[280px]",label:"岗位编码"},{default:a(()=>[e(d,{modelValue:o(s).code,"onUpdate:modelValue":t[0]||(t[0]=l=>o(s).code=l),placeholder:"请输入岗位编码",clearable:"",onKeyup:V(o(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位名称"},{default:a(()=>[e(d,{modelValue:o(s).name,"onUpdate:modelValue":t[1]||(t[1]=l=>o(s).name=l),clearable:"",onKeyup:V(o(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位状态"},{default:a(()=>[e(N,{modelValue:o(s).status,"onUpdate:modelValue":t[2]||(t[2]=l=>o(s).status=l)},{default:a(()=>[e(g,{label:"全部",value:""}),e(g,{label:"正常",value:1}),e(g,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),e(v,null,{default:a(()=>[e(u,{type:"primary",onClick:o(w)},{default:a(()=>[...t[6]||(t[6]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:o(h)},{default:a(()=>[...t[7]||(t[7]=[p("重置",-1)])]),_:1},8,["onClick"]),e(P,{class:"ml-2.5","fetch-fun":o(E),params:o(s),"page-size":o(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[y((m(),c(u,{type:"primary",onClick:t[3]||(t[3]=l=>j())},{icon:a(()=>[e(T,{name:"el-icon-Plus"})]),default:a(()=>[t[8]||(t[8]=p(" 新增 ",-1))]),_:1})),[[k,["dept.jobs/add"]]])]),y((m(),c(z,{class:"mt-4",size:"large",data:o(r).lists},{default:a(()=>[e(i,{label:"岗位编码",prop:"code","min-width":"100"}),e(i,{label:"岗位名称",prop:"name","min-width":"100"}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),e(i,{label:"添加时间",prop:"create_time","min-width":"180"}),e(i,{label:"状态",prop:"status","min-width":"100"},{default:a(({row:l})=>[e(U,{class:"ml-2",type:l.status?"primary":"danger"},{default:a(()=>[p(ue(l.status_desc),1)]),_:2},1032,["type"])]),_:1}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[y((m(),c(u,{type:"primary",link:"",onClick:I=>B(l)},{default:a(()=>[...t[9]||(t[9]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/edit"]]]),y((m(),c(u,{type:"danger",link:"",onClick:I=>K(l.id)},{default:a(()=>[...t[10]||(t[10]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/delete"]]])]),_:1})]),_:1},8,["data"])),[[F,o(r).loading]]),x("div",_e,[e(S,{modelValue:o(r),"onUpdate:modelValue":t[4]||(t[4]=l=>re(r)?r.value=l:null),onChange:o(b)},null,8,["modelValue","onChange"])])]),_:1}),o(f)?(m(),c(le,{key:0,ref_key:"editRef",ref:_,onSuccess:o(b),onClose:t[5]||(t[5]=l=>f.value=!1)},null,8,["onSuccess"])):ie("",!0)])}}});export{nt as default}; +import{D as L,B as O,C as q,Q,R as A,i as G,K as H,N as J,O as M,U as W,M as X}from"./element-plus-DGP1XOrU.js";import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as Z,k as ee}from"./index-J_eFER10.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js";import{w as V}from"./@vue/runtime-dom-DDAG46FW.js";import{d as E,e as oe}from"./post-BjyIxcyn.js";import{u as ae}from"./usePaging-DofycyjW.js";import{_ as le}from"./edit.vue_vue_type_script_setup_true_lang-DNryuqHs.js";import{f as D,as as se,ak as m,I as ne,a as e,aN as a,O as p,J as x,aP as y,G as c,H as ie,n as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as re,q as me,n as pe,r as de}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ue}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const ce={class:"post-lists"},_e={class:"flex justify-end mt-4"},fe=D({name:"post"}),nt=D({...fe,setup(be){const _=me(),f=pe(!1),s=de({code:"",name:"",status:""}),{pager:r,getLists:b,resetPage:w,resetParams:h}=ae({fetchFun:E,params:s}),j=async()=>{var n;f.value=!0,await $(),(n=_.value)==null||n.open("add")},B=async n=>{var t,d;f.value=!0,await $(),(t=_.value)==null||t.open("edit"),(d=_.value)==null||d.getDetail(n)},K=async n=>{await ee.confirm("确定要删除?"),await oe({id:n}),b()};return b(),(n,t)=>{const d=q,v=O,g=A,N=Q,u=G,P=te,R=L,C=H,T=Z,i=M,U=W,z=J,S=Y,k=se("perms"),F=X;return m(),ne("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e(R,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:!0},{default:a(()=>[e(v,{class:"w-[280px]",label:"岗位编码"},{default:a(()=>[e(d,{modelValue:o(s).code,"onUpdate:modelValue":t[0]||(t[0]=l=>o(s).code=l),placeholder:"请输入岗位编码",clearable:"",onKeyup:V(o(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位名称"},{default:a(()=>[e(d,{modelValue:o(s).name,"onUpdate:modelValue":t[1]||(t[1]=l=>o(s).name=l),clearable:"",onKeyup:V(o(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位状态"},{default:a(()=>[e(N,{modelValue:o(s).status,"onUpdate:modelValue":t[2]||(t[2]=l=>o(s).status=l)},{default:a(()=>[e(g,{label:"全部",value:""}),e(g,{label:"正常",value:1}),e(g,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),e(v,null,{default:a(()=>[e(u,{type:"primary",onClick:o(w)},{default:a(()=>[...t[6]||(t[6]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:o(h)},{default:a(()=>[...t[7]||(t[7]=[p("重置",-1)])]),_:1},8,["onClick"]),e(P,{class:"ml-2.5","fetch-fun":o(E),params:o(s),"page-size":o(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[y((m(),c(u,{type:"primary",onClick:t[3]||(t[3]=l=>j())},{icon:a(()=>[e(T,{name:"el-icon-Plus"})]),default:a(()=>[t[8]||(t[8]=p(" 新增 ",-1))]),_:1})),[[k,["dept.jobs/add"]]])]),y((m(),c(z,{class:"mt-4",size:"large",data:o(r).lists},{default:a(()=>[e(i,{label:"岗位编码",prop:"code","min-width":"100"}),e(i,{label:"岗位名称",prop:"name","min-width":"100"}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),e(i,{label:"添加时间",prop:"create_time","min-width":"180"}),e(i,{label:"状态",prop:"status","min-width":"100"},{default:a(({row:l})=>[e(U,{class:"ml-2",type:l.status?"primary":"danger"},{default:a(()=>[p(ue(l.status_desc),1)]),_:2},1032,["type"])]),_:1}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[y((m(),c(u,{type:"primary",link:"",onClick:I=>B(l)},{default:a(()=>[...t[9]||(t[9]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/edit"]]]),y((m(),c(u,{type:"danger",link:"",onClick:I=>K(l.id)},{default:a(()=>[...t[10]||(t[10]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/delete"]]])]),_:1})]),_:1},8,["data"])),[[F,o(r).loading]]),x("div",_e,[e(S,{modelValue:o(r),"onUpdate:modelValue":t[4]||(t[4]=l=>re(r)?r.value=l:null),onChange:o(b)},null,8,["modelValue","onChange"])])]),_:1}),o(f)?(m(),c(le,{key:0,ref_key:"editRef",ref:_,onSuccess:o(b),onClose:t[5]||(t[5]=l=>f.value=!1)},null,8,["onSuccess"])):ie("",!0)])}}});export{nt as default}; diff --git a/server/public/admin/assets/index-0MmkT8Lc.js b/server/public/admin/assets/index-BQOPfZw4.js similarity index 99% rename from server/public/admin/assets/index-0MmkT8Lc.js rename to server/public/admin/assets/index-BQOPfZw4.js index 38be09685..196a78476 100644 --- a/server/public/admin/assets/index-0MmkT8Lc.js +++ b/server/public/admin/assets/index-BQOPfZw4.js @@ -1 +1 @@ -import{i as ge,M as ye,B as be,C as ke,Q as we,R as xe,D as Ce,O as Me,U as Ve,N as Se,V as Le,W as ze,a as Ne}from"./element-plus-DGP1XOrU.js";import{w as le,s as Te}from"./@vue/runtime-dom-DDAG46FW.js";import{M as Ee,O as A,S as $e,aq as Ue}from"./@element-plus/icons-vue-CbYn5zW9.js";import{r as L,k as he,_ as Be}from"./index-fRv3NTFQ.js";import{f as ne,b as De,as as Ie,ak as u,I as w,J as t,aP as E,G as $,aN as i,O as f,H as ie,a as n,F as M,ap as Oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as S,n as c,r as Pe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as qe}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function G(){let r=0;return{next(p){r+=1;const z=Array.isArray(p)?[...p]:p&&typeof p=="object"?{...p}:p;return Object.freeze({generation:r,snapshot:z})},invalidate(){return r+=1,r},isLatest(p){return(p==null?void 0:p.generation)===r}}}function Fe(r){return L.get({url:"/pharmacy.medicineMapping/lists",params:r})}function Re(){return L.get({url:"/pharmacy.medicineMapping/status"})}function je(r){return L.get({url:"/pharmacy.medicineMapping/catalogOptions",params:r})}function Ke(r){return L.post({url:"/pharmacy.medicineMapping/save",params:r})}function Ae(r){return L.post({url:"/pharmacy.medicineMapping/unlink",params:r})}function Ge(){return L.post({url:"/pharmacy.medicineMapping/sync"})}const Qe={class:"mapping-page"},He={class:"page-header"},Je={class:"status-strip"},We={class:"status-item"},Xe={class:"status-item warning"},Ye={class:"status-item"},Ze=["title"],ea={class:"table-wrap"},aa={class:"medicine-name"},ta={class:"subline"},la={class:"medicine-name"},ia={class:"subline code"},na={class:"subline"},sa={class:"subline"},oa={class:"pagination-wrap"},ra={class:"local-summary"},ua={class:"option-row"},da=ne({name:"pharmacyMedicineMapping"}),ma=ne({...da,setup(r){const p=()=>({sync_enabled:!1,cursor:0,last_success_time:0,last_failure_time:0,last_error_summary:"",is_syncing:!1,catalog_total:0,catalog_active:0,unmapped_local:0}),z=c(!1),I=c(!1),O=c(!1),P=c(!1),q=c(!1),Q=c([]),H=c(0),d=c(p()),o=Pe({page_no:1,page_size:20,local_name:"",remote_keyword:"",mapping_status:""}),N=c(!1),v=c(null),b=c(""),U=c([]);let T;const F=G(),V=G(),R=G(),J=l=>{const e=Number(l||0);return Number.isFinite(e)?e.toFixed(2):"0.00"},W=l=>l?new Date(l*1e3).toLocaleString("zh-CN",{hour12:!1}):"",se=l=>l===1?"已映射":l===2?"远端失效":"未映射",oe=l=>l===1?"success":l===2?"warning":"info",C=async()=>{const l=F.next({...o});z.value=!0;try{const e=await Fe(l.snapshot);F.isLatest(l)&&(Q.value=e.lists||[],H.value=e.count||0)}finally{F.isLatest(l)&&(z.value=!1)}},h=async()=>{const l=R.next(void 0);I.value=!0;try{const e=await Re();R.isLatest(l)&&(d.value=e)}finally{R.isLatest(l)&&(I.value=!1)}},B=()=>{o.page_no=1,C()},re=()=>{o.local_name="",o.remote_keyword="",o.mapping_status="",B()},ue=async()=>{O.value=!0;try{const l=await Ge();he.msgSuccess(`同步完成:拉取 ${l.pulled},新增 ${l.created},更新 ${l.updated},停用 ${l.deactivated}`),await Promise.all([C(),h()])}finally{O.value=!1}},j=async(l,e=Number((m=>(m=v.value)==null?void 0:m.local_medicine_id)()||0))=>{var _;const g=V.next({keyword:l.trim(),localMedicineId:e});q.value=!0;try{const x=await je({keyword:g.snapshot.keyword,limit:30});V.isLatest(g)&&Number(((_=v.value)==null?void 0:_.local_medicine_id)||0)===g.snapshot.localMedicineId&&(U.value=x)}finally{V.isLatest(g)&&(q.value=!1)}return g},de=l=>{T&&window.clearTimeout(T),V.invalidate(),T=window.setTimeout(()=>void j(l),250)},me=async l=>{var _;T&&window.clearTimeout(T),V.invalidate();const e={...l},m=Number(e.local_medicine_id);v.value=e,b.value=e.mapping_status===1&&e.medicine_code||"",U.value=[],N.value=!0;const g=await j(e.local_name,m);!V.isLatest(g)||Number(((_=v.value)==null?void 0:_.local_medicine_id)||0)!==m||b.value&&!U.value.some(x=>x.medicine_code===b.value)&&await j(b.value,m)},pe=async()=>{if(!(!v.value||!b.value)){P.value=!0;try{await Ke({local_medicine_id:v.value.local_medicine_id,medicine_code:b.value}),N.value=!1,await Promise.all([C(),h()])}finally{P.value=!1}}},ce=async l=>{await Ne.confirm(`确认解除“${l.local_name}”与 ${l.medicine_code} 的映射?`,"解除映射",{type:"warning",confirmButtonText:"解除",cancelButtonText:"取消"}),await Ae({local_medicine_id:l.local_medicine_id}),await Promise.all([C(),h()])};return De(()=>{Promise.all([C(),h()])}),(l,e)=>{var ae;const m=ge,g=ke,_=be,x=xe,X=we,Y=Ce,k=Me,Z=Ve,_e=Se,fe=Le,ve=ze,K=Ie("perms"),ee=ye;return u(),w("div",Qe,[t("header",He,[e[10]||(e[10]=t("h1",null,"洛阳药房药材映射",-1)),d.value.sync_enabled?E((u(),$(m,{key:0,type:"primary",icon:S(Ee),loading:O.value,onClick:ue},{default:i(()=>[...e[9]||(e[9]=[f(" 增量同步 ",-1)])]),_:1},8,["icon","loading"])),[[K,["pharmacy.medicineMapping/sync"]]]):ie("",!0)]),E((u(),w("section",Je,[t("div",We,[e[11]||(e[11]=t("span",null,"目录",-1)),t("strong",null,s(d.value.catalog_active)+" / "+s(d.value.catalog_total),1),e[12]||(e[12]=t("small",null,"启用 / 总数",-1))]),t("div",Xe,[e[13]||(e[13]=t("span",null,"未映射本地药材",-1)),t("strong",null,s(d.value.unmapped_local),1),e[14]||(e[14]=t("small",null,"仅统计启用药材",-1))]),t("div",Ye,[e[15]||(e[15]=t("span",null,"同步游标",-1)),t("strong",null,s(d.value.cursor),1),t("small",null,s(W(d.value.last_success_time)||"尚未成功同步"),1)]),t("div",{class:qe(["status-item",{danger:!!d.value.last_error_summary}])},[e[16]||(e[16]=t("span",null,"最近同步",-1)),t("strong",null,s(d.value.is_syncing?"进行中":d.value.last_error_summary?"失败":"正常"),1),t("small",{title:d.value.last_error_summary},s(d.value.last_error_summary||W(d.value.last_failure_time)||"无失败记录"),9,Ze)],2)])),[[ee,I.value]]),n(Y,{class:"filter-bar",inline:"",onSubmit:e[3]||(e[3]=Te(()=>{},["prevent"]))},{default:i(()=>[n(_,{label:"本地药材"},{default:i(()=>[n(g,{modelValue:o.local_name,"onUpdate:modelValue":e[0]||(e[0]=a=>o.local_name=a),clearable:"",placeholder:"名称","prefix-icon":S(A),onKeyup:le(B,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),n(_,{label:"远端目录"},{default:i(()=>[n(g,{modelValue:o.remote_keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>o.remote_keyword=a),clearable:"",placeholder:"名称或编码","prefix-icon":S(A),onKeyup:le(B,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),n(_,{label:"映射状态"},{default:i(()=>[n(X,{modelValue:o.mapping_status,"onUpdate:modelValue":e[2]||(e[2]=a=>o.mapping_status=a),clearable:"",placeholder:"全部",style:{width:"150px"}},{default:i(()=>[n(x,{label:"已映射",value:"mapped"}),n(x,{label:"未映射",value:"unmapped"}),n(x,{label:"远端失效",value:"invalid"})]),_:1},8,["modelValue"])]),_:1}),n(_,null,{default:i(()=>[n(m,{type:"primary",icon:S(A),onClick:B},{default:i(()=>[...e[17]||(e[17]=[f("查询",-1)])]),_:1},8,["icon"]),n(m,{onClick:re},{default:i(()=>[...e[18]||(e[18]=[f("重置",-1)])]),_:1})]),_:1})]),_:1}),t("div",ea,[E((u(),$(_e,{data:Q.value,border:"",stripe:"","table-layout":"fixed"},{default:i(()=>[n(k,{label:"本地药材","min-width":"190",fixed:"left"},{default:i(({row:a})=>[t("div",aa,s(a.local_name),1),t("div",ta," ID "+s(a.local_medicine_id)+" · "+s(a.local_unit||"-"),1)]),_:1}),n(k,{label:"本地状态",width:"90",align:"center"},{default:i(({row:a})=>[n(Z,{type:a.local_status===1?"success":"info",size:"small"},{default:i(()=>[f(s(a.local_status===1?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),n(k,{label:"映射状态",width:"105",align:"center"},{default:i(({row:a})=>[n(Z,{type:oe(a.mapping_status),size:"small"},{default:i(()=>[f(s(se(a.mapping_status)),1)]),_:2},1032,["type"])]),_:1}),n(k,{label:"洛阳药房目录","min-width":"250"},{default:i(({row:a})=>[a.medicine_code?(u(),w(M,{key:0},[t("div",la,s(a.remote_name||"目录项不可用"),1),t("div",ia,s(a.medicine_code),1)],64)):(u(),w(M,{key:1},[e[19]||(e[19]=t("div",{class:"medicine-name"},"-",-1)),e[20]||(e[20]=t("div",{class:"subline"},"未映射",-1))],64))]),_:1}),n(k,{label:"品牌","min-width":"130","show-overflow-tooltip":""},{default:i(({row:a})=>[f(s(a.mapping_status===0?"-":a.remote_brand||"-"),1)]),_:1}),n(k,{label:"单位",width:"80",align:"center"},{default:i(({row:a})=>[f(s(a.remote_unit||"-"),1)]),_:1}),n(k,{label:"价格",width:"155",align:"right"},{default:i(({row:a})=>[a.mapping_status!==0?(u(),w(M,{key:0},[t("div",null,"结算 ¥"+s(J(a.settlement_price)),1),t("div",na,"零售 ¥"+s(J(a.retail_price)),1)],64)):(u(),w(M,{key:1},[e[21]||(e[21]=t("div",null,"-",-1)),e[22]||(e[22]=t("div",{class:"subline"},"未映射",-1))],64))]),_:1}),n(k,{label:"版本 / 状态",width:"130",align:"center"},{default:i(({row:a})=>[a.medicine_code?(u(),w(M,{key:0},[t("div",null,"v"+s(a.catalog_version||0),1),t("div",sa,s(a.remote_status===1&&a.remote_deleted!==1?"远端启用":"远端停用"),1)],64)):(u(),w(M,{key:1},[e[23]||(e[23]=t("div",null,"-",-1)),e[24]||(e[24]=t("div",{class:"subline"},"未映射",-1))],64))]),_:1}),n(k,{label:"操作",width:"170",fixed:"right",align:"center"},{default:i(({row:a})=>[E((u(),$(m,{type:"primary",link:"",icon:S($e),disabled:a.local_status!==1,onClick:D=>me(a)},{default:i(()=>[f(s(a.mapping_status===1?"更换":"映射"),1)]),_:2},1032,["icon","disabled","onClick"])),[[K,["pharmacy.medicineMapping/save"]]]),a.mapping_status===1||a.mapping_status===2?E((u(),$(m,{key:0,type:"danger",link:"",icon:S(Ue),onClick:D=>ce(a)},{default:i(()=>[...e[25]||(e[25]=[f(" 解除 ",-1)])]),_:1},8,["icon","onClick"])),[[K,["pharmacy.medicineMapping/unlink"]]]):ie("",!0)]),_:1})]),_:1},8,["data"])),[[ee,z.value]])]),t("div",oa,[n(fe,{"current-page":o.page_no,"onUpdate:currentPage":e[4]||(e[4]=a=>o.page_no=a),"page-size":o.page_size,"onUpdate:pageSize":e[5]||(e[5]=a=>o.page_size=a),total:H.value,"page-sizes":[20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:C,onCurrentChange:C},null,8,["current-page","page-size","total"])]),n(ve,{modelValue:N.value,"onUpdate:modelValue":e[8]||(e[8]=a=>N.value=a),title:`${((ae=v.value)==null?void 0:ae.mapping_status)===1?"更换":"建立"}药材映射`,width:"min(560px, calc(100vw - 32px))","destroy-on-close":""},{footer:i(()=>[n(m,{onClick:e[7]||(e[7]=a=>N.value=!1)},{default:i(()=>[...e[27]||(e[27]=[f("取消",-1)])]),_:1}),n(m,{type:"primary",loading:P.value,disabled:!b.value,onClick:pe},{default:i(()=>[...e[28]||(e[28]=[f(" 保存映射 ",-1)])]),_:1},8,["loading","disabled"])]),default:i(()=>{var a,D,te;return[t("div",ra,[e[26]||(e[26]=t("span",null,"本地药材",-1)),t("strong",null,s((a=v.value)==null?void 0:a.local_name),1),t("small",null,"ID "+s((D=v.value)==null?void 0:D.local_medicine_id)+" · "+s(((te=v.value)==null?void 0:te.local_unit)||"-"),1)]),n(Y,{"label-position":"top",class:"mapping-form"},{default:i(()=>[n(_,{label:"洛阳药房药材"},{default:i(()=>[n(X,{modelValue:b.value,"onUpdate:modelValue":e[6]||(e[6]=y=>b.value=y),filterable:"",remote:"","reserve-keyword":"",clearable:"","remote-method":de,loading:q.value,placeholder:"输入药材名称或编码检索",style:{width:"100%"}},{default:i(()=>[(u(!0),w(M,null,Oe(U.value,y=>(u(),$(x,{key:y.medicine_code,label:`${y.name} · ${y.medicine_code}`,value:y.medicine_code},{default:i(()=>[t("div",ua,[t("span",null,s(y.name),1),t("small",null,s(y.medicine_code)+" · "+s(y.brand||"无品牌")+" · "+s(y.unit),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1})]),_:1})]}),_:1},8,["modelValue","title"])])}}}),Ja=Be(ma,[["__scopeId","data-v-1b7afda4"]]);export{Ja as default}; +import{i as ge,M as ye,B as be,C as ke,Q as we,R as xe,D as Ce,O as Me,U as Ve,N as Se,V as Le,W as ze,a as Ne}from"./element-plus-DGP1XOrU.js";import{w as le,s as Te}from"./@vue/runtime-dom-DDAG46FW.js";import{M as Ee,O as A,S as $e,aq as Ue}from"./@element-plus/icons-vue-CbYn5zW9.js";import{r as L,k as he,_ as Be}from"./index-J_eFER10.js";import{f as ne,b as De,as as Ie,ak as u,I as w,J as t,aP as E,G as $,aN as i,O as f,H as ie,a as n,F as M,ap as Oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as S,n as c,r as Pe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as qe}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function G(){let r=0;return{next(p){r+=1;const z=Array.isArray(p)?[...p]:p&&typeof p=="object"?{...p}:p;return Object.freeze({generation:r,snapshot:z})},invalidate(){return r+=1,r},isLatest(p){return(p==null?void 0:p.generation)===r}}}function Fe(r){return L.get({url:"/pharmacy.medicineMapping/lists",params:r})}function Re(){return L.get({url:"/pharmacy.medicineMapping/status"})}function je(r){return L.get({url:"/pharmacy.medicineMapping/catalogOptions",params:r})}function Ke(r){return L.post({url:"/pharmacy.medicineMapping/save",params:r})}function Ae(r){return L.post({url:"/pharmacy.medicineMapping/unlink",params:r})}function Ge(){return L.post({url:"/pharmacy.medicineMapping/sync"})}const Qe={class:"mapping-page"},He={class:"page-header"},Je={class:"status-strip"},We={class:"status-item"},Xe={class:"status-item warning"},Ye={class:"status-item"},Ze=["title"],ea={class:"table-wrap"},aa={class:"medicine-name"},ta={class:"subline"},la={class:"medicine-name"},ia={class:"subline code"},na={class:"subline"},sa={class:"subline"},oa={class:"pagination-wrap"},ra={class:"local-summary"},ua={class:"option-row"},da=ne({name:"pharmacyMedicineMapping"}),ma=ne({...da,setup(r){const p=()=>({sync_enabled:!1,cursor:0,last_success_time:0,last_failure_time:0,last_error_summary:"",is_syncing:!1,catalog_total:0,catalog_active:0,unmapped_local:0}),z=c(!1),I=c(!1),O=c(!1),P=c(!1),q=c(!1),Q=c([]),H=c(0),d=c(p()),o=Pe({page_no:1,page_size:20,local_name:"",remote_keyword:"",mapping_status:""}),N=c(!1),v=c(null),b=c(""),U=c([]);let T;const F=G(),V=G(),R=G(),J=l=>{const e=Number(l||0);return Number.isFinite(e)?e.toFixed(2):"0.00"},W=l=>l?new Date(l*1e3).toLocaleString("zh-CN",{hour12:!1}):"",se=l=>l===1?"已映射":l===2?"远端失效":"未映射",oe=l=>l===1?"success":l===2?"warning":"info",C=async()=>{const l=F.next({...o});z.value=!0;try{const e=await Fe(l.snapshot);F.isLatest(l)&&(Q.value=e.lists||[],H.value=e.count||0)}finally{F.isLatest(l)&&(z.value=!1)}},h=async()=>{const l=R.next(void 0);I.value=!0;try{const e=await Re();R.isLatest(l)&&(d.value=e)}finally{R.isLatest(l)&&(I.value=!1)}},B=()=>{o.page_no=1,C()},re=()=>{o.local_name="",o.remote_keyword="",o.mapping_status="",B()},ue=async()=>{O.value=!0;try{const l=await Ge();he.msgSuccess(`同步完成:拉取 ${l.pulled},新增 ${l.created},更新 ${l.updated},停用 ${l.deactivated}`),await Promise.all([C(),h()])}finally{O.value=!1}},j=async(l,e=Number((m=>(m=v.value)==null?void 0:m.local_medicine_id)()||0))=>{var _;const g=V.next({keyword:l.trim(),localMedicineId:e});q.value=!0;try{const x=await je({keyword:g.snapshot.keyword,limit:30});V.isLatest(g)&&Number(((_=v.value)==null?void 0:_.local_medicine_id)||0)===g.snapshot.localMedicineId&&(U.value=x)}finally{V.isLatest(g)&&(q.value=!1)}return g},de=l=>{T&&window.clearTimeout(T),V.invalidate(),T=window.setTimeout(()=>void j(l),250)},me=async l=>{var _;T&&window.clearTimeout(T),V.invalidate();const e={...l},m=Number(e.local_medicine_id);v.value=e,b.value=e.mapping_status===1&&e.medicine_code||"",U.value=[],N.value=!0;const g=await j(e.local_name,m);!V.isLatest(g)||Number(((_=v.value)==null?void 0:_.local_medicine_id)||0)!==m||b.value&&!U.value.some(x=>x.medicine_code===b.value)&&await j(b.value,m)},pe=async()=>{if(!(!v.value||!b.value)){P.value=!0;try{await Ke({local_medicine_id:v.value.local_medicine_id,medicine_code:b.value}),N.value=!1,await Promise.all([C(),h()])}finally{P.value=!1}}},ce=async l=>{await Ne.confirm(`确认解除“${l.local_name}”与 ${l.medicine_code} 的映射?`,"解除映射",{type:"warning",confirmButtonText:"解除",cancelButtonText:"取消"}),await Ae({local_medicine_id:l.local_medicine_id}),await Promise.all([C(),h()])};return De(()=>{Promise.all([C(),h()])}),(l,e)=>{var ae;const m=ge,g=ke,_=be,x=xe,X=we,Y=Ce,k=Me,Z=Ve,_e=Se,fe=Le,ve=ze,K=Ie("perms"),ee=ye;return u(),w("div",Qe,[t("header",He,[e[10]||(e[10]=t("h1",null,"洛阳药房药材映射",-1)),d.value.sync_enabled?E((u(),$(m,{key:0,type:"primary",icon:S(Ee),loading:O.value,onClick:ue},{default:i(()=>[...e[9]||(e[9]=[f(" 增量同步 ",-1)])]),_:1},8,["icon","loading"])),[[K,["pharmacy.medicineMapping/sync"]]]):ie("",!0)]),E((u(),w("section",Je,[t("div",We,[e[11]||(e[11]=t("span",null,"目录",-1)),t("strong",null,s(d.value.catalog_active)+" / "+s(d.value.catalog_total),1),e[12]||(e[12]=t("small",null,"启用 / 总数",-1))]),t("div",Xe,[e[13]||(e[13]=t("span",null,"未映射本地药材",-1)),t("strong",null,s(d.value.unmapped_local),1),e[14]||(e[14]=t("small",null,"仅统计启用药材",-1))]),t("div",Ye,[e[15]||(e[15]=t("span",null,"同步游标",-1)),t("strong",null,s(d.value.cursor),1),t("small",null,s(W(d.value.last_success_time)||"尚未成功同步"),1)]),t("div",{class:qe(["status-item",{danger:!!d.value.last_error_summary}])},[e[16]||(e[16]=t("span",null,"最近同步",-1)),t("strong",null,s(d.value.is_syncing?"进行中":d.value.last_error_summary?"失败":"正常"),1),t("small",{title:d.value.last_error_summary},s(d.value.last_error_summary||W(d.value.last_failure_time)||"无失败记录"),9,Ze)],2)])),[[ee,I.value]]),n(Y,{class:"filter-bar",inline:"",onSubmit:e[3]||(e[3]=Te(()=>{},["prevent"]))},{default:i(()=>[n(_,{label:"本地药材"},{default:i(()=>[n(g,{modelValue:o.local_name,"onUpdate:modelValue":e[0]||(e[0]=a=>o.local_name=a),clearable:"",placeholder:"名称","prefix-icon":S(A),onKeyup:le(B,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),n(_,{label:"远端目录"},{default:i(()=>[n(g,{modelValue:o.remote_keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>o.remote_keyword=a),clearable:"",placeholder:"名称或编码","prefix-icon":S(A),onKeyup:le(B,["enter"])},null,8,["modelValue","prefix-icon"])]),_:1}),n(_,{label:"映射状态"},{default:i(()=>[n(X,{modelValue:o.mapping_status,"onUpdate:modelValue":e[2]||(e[2]=a=>o.mapping_status=a),clearable:"",placeholder:"全部",style:{width:"150px"}},{default:i(()=>[n(x,{label:"已映射",value:"mapped"}),n(x,{label:"未映射",value:"unmapped"}),n(x,{label:"远端失效",value:"invalid"})]),_:1},8,["modelValue"])]),_:1}),n(_,null,{default:i(()=>[n(m,{type:"primary",icon:S(A),onClick:B},{default:i(()=>[...e[17]||(e[17]=[f("查询",-1)])]),_:1},8,["icon"]),n(m,{onClick:re},{default:i(()=>[...e[18]||(e[18]=[f("重置",-1)])]),_:1})]),_:1})]),_:1}),t("div",ea,[E((u(),$(_e,{data:Q.value,border:"",stripe:"","table-layout":"fixed"},{default:i(()=>[n(k,{label:"本地药材","min-width":"190",fixed:"left"},{default:i(({row:a})=>[t("div",aa,s(a.local_name),1),t("div",ta," ID "+s(a.local_medicine_id)+" · "+s(a.local_unit||"-"),1)]),_:1}),n(k,{label:"本地状态",width:"90",align:"center"},{default:i(({row:a})=>[n(Z,{type:a.local_status===1?"success":"info",size:"small"},{default:i(()=>[f(s(a.local_status===1?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),n(k,{label:"映射状态",width:"105",align:"center"},{default:i(({row:a})=>[n(Z,{type:oe(a.mapping_status),size:"small"},{default:i(()=>[f(s(se(a.mapping_status)),1)]),_:2},1032,["type"])]),_:1}),n(k,{label:"洛阳药房目录","min-width":"250"},{default:i(({row:a})=>[a.medicine_code?(u(),w(M,{key:0},[t("div",la,s(a.remote_name||"目录项不可用"),1),t("div",ia,s(a.medicine_code),1)],64)):(u(),w(M,{key:1},[e[19]||(e[19]=t("div",{class:"medicine-name"},"-",-1)),e[20]||(e[20]=t("div",{class:"subline"},"未映射",-1))],64))]),_:1}),n(k,{label:"品牌","min-width":"130","show-overflow-tooltip":""},{default:i(({row:a})=>[f(s(a.mapping_status===0?"-":a.remote_brand||"-"),1)]),_:1}),n(k,{label:"单位",width:"80",align:"center"},{default:i(({row:a})=>[f(s(a.remote_unit||"-"),1)]),_:1}),n(k,{label:"价格",width:"155",align:"right"},{default:i(({row:a})=>[a.mapping_status!==0?(u(),w(M,{key:0},[t("div",null,"结算 ¥"+s(J(a.settlement_price)),1),t("div",na,"零售 ¥"+s(J(a.retail_price)),1)],64)):(u(),w(M,{key:1},[e[21]||(e[21]=t("div",null,"-",-1)),e[22]||(e[22]=t("div",{class:"subline"},"未映射",-1))],64))]),_:1}),n(k,{label:"版本 / 状态",width:"130",align:"center"},{default:i(({row:a})=>[a.medicine_code?(u(),w(M,{key:0},[t("div",null,"v"+s(a.catalog_version||0),1),t("div",sa,s(a.remote_status===1&&a.remote_deleted!==1?"远端启用":"远端停用"),1)],64)):(u(),w(M,{key:1},[e[23]||(e[23]=t("div",null,"-",-1)),e[24]||(e[24]=t("div",{class:"subline"},"未映射",-1))],64))]),_:1}),n(k,{label:"操作",width:"170",fixed:"right",align:"center"},{default:i(({row:a})=>[E((u(),$(m,{type:"primary",link:"",icon:S($e),disabled:a.local_status!==1,onClick:D=>me(a)},{default:i(()=>[f(s(a.mapping_status===1?"更换":"映射"),1)]),_:2},1032,["icon","disabled","onClick"])),[[K,["pharmacy.medicineMapping/save"]]]),a.mapping_status===1||a.mapping_status===2?E((u(),$(m,{key:0,type:"danger",link:"",icon:S(Ue),onClick:D=>ce(a)},{default:i(()=>[...e[25]||(e[25]=[f(" 解除 ",-1)])]),_:1},8,["icon","onClick"])),[[K,["pharmacy.medicineMapping/unlink"]]]):ie("",!0)]),_:1})]),_:1},8,["data"])),[[ee,z.value]])]),t("div",oa,[n(fe,{"current-page":o.page_no,"onUpdate:currentPage":e[4]||(e[4]=a=>o.page_no=a),"page-size":o.page_size,"onUpdate:pageSize":e[5]||(e[5]=a=>o.page_size=a),total:H.value,"page-sizes":[20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:C,onCurrentChange:C},null,8,["current-page","page-size","total"])]),n(ve,{modelValue:N.value,"onUpdate:modelValue":e[8]||(e[8]=a=>N.value=a),title:`${((ae=v.value)==null?void 0:ae.mapping_status)===1?"更换":"建立"}药材映射`,width:"min(560px, calc(100vw - 32px))","destroy-on-close":""},{footer:i(()=>[n(m,{onClick:e[7]||(e[7]=a=>N.value=!1)},{default:i(()=>[...e[27]||(e[27]=[f("取消",-1)])]),_:1}),n(m,{type:"primary",loading:P.value,disabled:!b.value,onClick:pe},{default:i(()=>[...e[28]||(e[28]=[f(" 保存映射 ",-1)])]),_:1},8,["loading","disabled"])]),default:i(()=>{var a,D,te;return[t("div",ra,[e[26]||(e[26]=t("span",null,"本地药材",-1)),t("strong",null,s((a=v.value)==null?void 0:a.local_name),1),t("small",null,"ID "+s((D=v.value)==null?void 0:D.local_medicine_id)+" · "+s(((te=v.value)==null?void 0:te.local_unit)||"-"),1)]),n(Y,{"label-position":"top",class:"mapping-form"},{default:i(()=>[n(_,{label:"洛阳药房药材"},{default:i(()=>[n(X,{modelValue:b.value,"onUpdate:modelValue":e[6]||(e[6]=y=>b.value=y),filterable:"",remote:"","reserve-keyword":"",clearable:"","remote-method":de,loading:q.value,placeholder:"输入药材名称或编码检索",style:{width:"100%"}},{default:i(()=>[(u(!0),w(M,null,Oe(U.value,y=>(u(),$(x,{key:y.medicine_code,label:`${y.name} · ${y.medicine_code}`,value:y.medicine_code},{default:i(()=>[t("div",ua,[t("span",null,s(y.name),1),t("small",null,s(y.medicine_code)+" · "+s(y.brand||"无品牌")+" · "+s(y.unit),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1})]),_:1})]}),_:1},8,["modelValue","title"])])}}}),Ja=Be(ma,[["__scopeId","data-v-1b7afda4"]]);export{Ja as default}; diff --git a/server/public/admin/assets/index-D5PquIeg.js b/server/public/admin/assets/index-BVjWjU3h.js similarity index 97% rename from server/public/admin/assets/index-D5PquIeg.js rename to server/public/admin/assets/index-BVjWjU3h.js index 143f580f7..cdc6c878e 100644 --- a/server/public/admin/assets/index-D5PquIeg.js +++ b/server/public/admin/assets/index-BVjWjU3h.js @@ -1 +1 @@ -import{i as g,W as B}from"./element-plus-DGP1XOrU.js";import{f as k,n as C,am as b,ak as r,I as S,J as f,aq as p,a as T,M as $,aN as a,O as s,G as m,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{n as V}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-fRv3NTFQ.js";import{Q as i,o as N}from"./@vue/shared-mAAVTE9n.js";const w=k({props:{title:{type:String,default:""},content:{type:String,default:""},confirmButtonText:{type:[String,Boolean],default:"确定"},cancelButtonText:{type:[String,Boolean],default:"取消"},width:{type:String,default:"400px"},disabled:{type:Boolean,default:!1},async:{type:Boolean,default:!1},clickModalClose:{type:Boolean,default:!1},center:{type:Boolean,default:!1},customClass:{type:String,default:""},zIndex:{type:Number,default:void 0}},emits:["confirm","cancel","close","open"],setup(e,{emit:o}){const t=V(!1),c=n=>{o(n),(!e.async||n==="cancel")&&d()},d=()=>{t.value=!1,C(()=>{o("close")})},u=()=>{e.disabled||(o("open"),t.value=!0)};return b("visible",t),{visible:t,handleEvent:c,close:d,open:u}}}),z={class:"dialog"},h={class:"dialog-footer"};function I(e,o,t,c,d,u){const n=g,y=B;return r(),S("div",z,[f("div",{class:"dialog__trigger",onClick:o[0]||(o[0]=(...l)=>e.open&&e.open(...l))},[p(e.$slots,"trigger",{},void 0,!0)]),T(y,{modelValue:e.visible,"onUpdate:modelValue":o[3]||(o[3]=l=>e.visible=l),class:N(e.customClass),center:e.center,"append-to-body":!0,width:e.width,"close-on-click-modal":e.clickModalClose,"z-index":e.zIndex,onClosed:e.close},$({footer:a(()=>[f("div",h,[e.cancelButtonText?(r(),m(n,{key:0,onClick:o[1]||(o[1]=l=>e.handleEvent("cancel"))},{default:a(()=>[s(i(e.cancelButtonText),1)]),_:1})):v("",!0),e.confirmButtonText?(r(),m(n,{key:1,type:"primary",onClick:o[2]||(o[2]=l=>e.handleEvent("confirm"))},{default:a(()=>[s(i(e.confirmButtonText),1)]),_:1})):v("",!0)])]),default:a(()=>[p(e.$slots,"default",{},()=>[s(i(e.content),1)],!0)]),_:2},[e.title?{name:"header",fn:a(()=>[s(i(e.title),1)]),key:"0"}:void 0]),1032,["modelValue","class","center","width","close-on-click-modal","z-index","onClosed"])])}const H=E(w,[["render",I],["__scopeId","data-v-67c2bf06"]]);export{H as _}; +import{i as g,W as B}from"./element-plus-DGP1XOrU.js";import{f as k,n as C,am as b,ak as r,I as S,J as f,aq as p,a as T,M as $,aN as a,O as s,G as m,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{n as V}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-J_eFER10.js";import{Q as i,o as N}from"./@vue/shared-mAAVTE9n.js";const w=k({props:{title:{type:String,default:""},content:{type:String,default:""},confirmButtonText:{type:[String,Boolean],default:"确定"},cancelButtonText:{type:[String,Boolean],default:"取消"},width:{type:String,default:"400px"},disabled:{type:Boolean,default:!1},async:{type:Boolean,default:!1},clickModalClose:{type:Boolean,default:!1},center:{type:Boolean,default:!1},customClass:{type:String,default:""},zIndex:{type:Number,default:void 0}},emits:["confirm","cancel","close","open"],setup(e,{emit:o}){const t=V(!1),c=n=>{o(n),(!e.async||n==="cancel")&&d()},d=()=>{t.value=!1,C(()=>{o("close")})},u=()=>{e.disabled||(o("open"),t.value=!0)};return b("visible",t),{visible:t,handleEvent:c,close:d,open:u}}}),z={class:"dialog"},h={class:"dialog-footer"};function I(e,o,t,c,d,u){const n=g,y=B;return r(),S("div",z,[f("div",{class:"dialog__trigger",onClick:o[0]||(o[0]=(...l)=>e.open&&e.open(...l))},[p(e.$slots,"trigger",{},void 0,!0)]),T(y,{modelValue:e.visible,"onUpdate:modelValue":o[3]||(o[3]=l=>e.visible=l),class:N(e.customClass),center:e.center,"append-to-body":!0,width:e.width,"close-on-click-modal":e.clickModalClose,"z-index":e.zIndex,onClosed:e.close},$({footer:a(()=>[f("div",h,[e.cancelButtonText?(r(),m(n,{key:0,onClick:o[1]||(o[1]=l=>e.handleEvent("cancel"))},{default:a(()=>[s(i(e.cancelButtonText),1)]),_:1})):v("",!0),e.confirmButtonText?(r(),m(n,{key:1,type:"primary",onClick:o[2]||(o[2]=l=>e.handleEvent("confirm"))},{default:a(()=>[s(i(e.confirmButtonText),1)]),_:1})):v("",!0)])]),default:a(()=>[p(e.$slots,"default",{},()=>[s(i(e.content),1)],!0)]),_:2},[e.title?{name:"header",fn:a(()=>[s(i(e.title),1)]),key:"0"}:void 0]),1032,["modelValue","class","center","width","close-on-click-modal","z-index","onClosed"])])}const H=E(w,[["render",I],["__scopeId","data-v-67c2bf06"]]);export{H as _}; diff --git a/server/public/admin/assets/index-BoXnkMeQ.js b/server/public/admin/assets/index-BX_8clc1.js similarity index 99% rename from server/public/admin/assets/index-BoXnkMeQ.js rename to server/public/admin/assets/index-BX_8clc1.js index 61b7ed5ee..b760b6394 100644 --- a/server/public/admin/assets/index-BoXnkMeQ.js +++ b/server/public/admin/assets/index-BX_8clc1.js @@ -1 +1 @@ -import{M as qe,d as Ye,i as je,aj as Ge,S as He,R as Ke,Q as Qe,Z as We,ag as Je,X as Xe,O as Ze,U as et,N as tt,a1 as at,V as nt,W as lt,E as G}from"./element-plus-DGP1XOrU.js";import{s as st}from"./@vue/runtime-dom-DDAG46FW.js";import{a8 as ot,M as it}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as rt}from"./vue-echarts-BNtg2q_G.js";import{f as dt,a as ut}from"./first_visit-BYIyH6Y1.js";import{f as pe,b as mt,aP as ce,ak as i,I as m,J as t,a as r,aN as u,O as d,H as g,G as h,F as D,ap as z,A as f}from"./@vue/runtime-core-C6bnekPw.js";import{r as H,y as K,n as C}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as Q,p as _e}from"./@vue/shared-mAAVTE9n.js";import{_ as ct}from"./index-fRv3NTFQ.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const _t={class:"conversion-page","element-loading-text":"正在汇总权限范围内的数据"},pt={class:"page-heading"},gt={class:"heading-meta"},ft={class:"scope-chip"},ht={key:0},vt={class:"filter-strip"},yt={class:"filter-item filter-item--time"},bt={class:"filter-item"},kt={class:"filter-item"},wt={class:"filter-item"},Dt={class:"range-text"},xt={class:"metric-grid","aria-label":"综合转化指标"},Nt={class:"metric-value"},Ct={key:0,class:"deleted-fans-marker",title:"加粉总数中已删除"},Vt={key:0,class:"ranking-grid"},zt={class:"panel ranking-panel"},Ft={class:"panel-heading"},Et={key:0,class:"bar-list"},St=["title"],Mt={class:"bar-track"},$t={class:"panel ranking-panel"},It={class:"panel-heading"},Tt={key:0,class:"bar-list"},At=["title"],Ot={class:"bar-track"},Rt={class:"panel detail-panel"},Lt={class:"panel-heading panel-heading--table"},Pt=["onClick"],Ut={key:0,class:"deleted-fans-marker",title:"加粉总数中已删除"},Bt={key:1,class:"fan-count-value is-empty"},qt={class:"panel target-panel"},Yt={class:"panel-heading"},jt={class:"target-layout"},Gt={class:"target-progress-list"},Ht={class:"target-summary"},Kt={class:"is-teal"},Qt={class:"progress-block"},Wt={class:"progress-copy"},Jt={class:"progress-block progress-block--month"},Xt={class:"progress-copy"},Zt={key:0,class:"target-empty-note"},ea={class:"trend-wrap"},ta={class:"fans-detail-context"},aa={class:"customer-cell"},na={key:0},la={key:0,class:"deleted-status"},sa={key:0},oa={class:"fans-detail-footer"},ia=pe({name:"firstVisitConversionPage"}),ra=pe({...ia,setup(da){const ge=new Set(["account_cost","roi"]),W=()=>({meta:{time_type:"today",time_label:"今日",start_date:"",end_date:"",generated_at:"",scope_value:4,scope_label:"",selected_dept_name:"",selected_assistant_name:"",selected_media_channel_code:"",selected_media_channel_name:"",open_count_source:"",ranking_kind:"hidden",can_view_finance:!1,can_view_deleted_fans:!1},filters:{departments:[],assistants:[],media_channels:[]},summary:{},rankings:{orders:[],amounts:[]},rows:[],target:{year:new Date().getFullYear(),target_amount:0,actual_amount:0,completion_rate:null,current_month_target:0,current_month_actual:0,current_month_rate:null,department_count:0,months:[],target_cumulative:[],actual_cumulative:[]}}),l=H(W()),T=C(!1),c=H({time_type:"today",dept_id:void 0,assistant_id:void 0,media_channel_code:""}),x=C([]),A=C(!1),O=C(!1),R=C(!1),F=C([]),p=H({page_no:1,page_size:20,total:0}),E=C({type:"dept",id:0,name:"当前行"}),fe={value:"id",label:"name",children:"children"},he=[{label:"今日",value:"today"},{label:"昨天",value:"yesterday"},{label:"本周",value:"week"},{label:"本月",value:"month"},{label:"本季度",value:"quarter"},{label:"本年",value:"year"},{label:"自定义",value:"custom"}],J=[{key:"add_fans_count",label:"加粉数",type:"count",hint:"区间新增加粉(含已删除)"},{key:"total_open_count",label:"开口数",type:"count",hint:"来源于个人业绩录入"},{key:"interview_count",label:"面诊",type:"count",hint:"已完成预约"},{key:"completed_order_count",label:"接诊诊单",type:"count",hint:"业务订单,按创建人归属并过滤无效单"},{key:"completed_order_amount",label:"诊单金额",type:"money",hint:"排除取消、拒收、退款及已退款订单"},{key:"avg_unit_price",label:"平均客单价",type:"money",hint:"诊单金额 / 接诊诊单"},{key:"account_cost",label:"现金成本",type:"money",hint:"当前范围内实际投放成本"},{key:"roi",label:"ROI",type:"ratio",hint:"诊单金额 / 投放成本"}],ve=f(()=>{const n=[`${l.meta.time_label||"当前区间"}数据`,l.meta.scope_label||"当前权限范围"];return l.meta.selected_dept_name&&n.push(l.meta.selected_dept_name),l.meta.selected_assistant_name&&n.push(l.meta.selected_assistant_name),l.meta.selected_media_channel_name&&n.push(`渠道:${l.meta.selected_media_channel_name}`),n.join(" · ")}),X=f(()=>!!l.meta.can_view_finance),L=f(()=>l.meta.can_view_deleted_fans===!0),Z=f(()=>L.value&&R.value),ye=f(()=>X.value?J:J.filter(n=>!ge.has(n.key))),be=f(()=>{const n=[],e=new Map;for(const o of l.filters.media_channels){if(o.kind==="group")continue;const v=String(o.group_name||"").trim();let w=e.get(v);w===void 0&&(w=n.length,e.set(v,w),n.push({group_name:v,customer_count:0,channels:[]}));const M=n[w],$=v!==""&&!o.name.includes(v)?`${o.name} ${v}`:"";M.channels.push($===""?o:{...o,search_label:$}),M.customer_count=Math.max(M.customer_count,Number(o.customer_count||0))}for(const o of n){if(o.group_name==="")continue;const v=o.channels.some(w=>w.name===o.group_name);o.channels.length<2&&v||o.channels.unshift({code:`group:${o.group_name}`,name:`${o.group_name}(全部)`,group_name:o.group_name,customer_count:o.customer_count,kind:"group"})}return n}),ee=f(()=>l.meta.ranking_kind||(Number(l.meta.scope_value)===4?"hidden":Number(l.meta.scope_value)===3?"member":"group")),ke=f(()=>ee.value!=="hidden"),P=f(()=>ee.value==="member"?"组内成员":"小组"),we=f(()=>`${E.value.name} · 加粉客户明细`),De=f(()=>{const n=l.meta.start_date||c.start_date||"",e=l.meta.end_date||c.end_date||"";return n&&e?`${n} 至 ${e}`:l.meta.time_label||"当前区间"}),xe=f(()=>l.meta.selected_media_channel_name||"全部渠道"),te=f(()=>l.rankings.orders.reduce((n,e)=>n+Number(e.value||0),0)),ae=f(()=>l.rankings.amounts.reduce((n,e)=>n+Number(e.value||0),0)),Ne=f(()=>({animationDuration:450,color:["#0f9185","#2f78df"],tooltip:{trigger:"axis",valueFormatter:n=>b(n)},grid:{left:62,right:24,top:28,bottom:36},xAxis:{type:"category",boundaryGap:!1,data:l.target.months,axisLine:{lineStyle:{color:"#d9e1e9"}},axisLabel:{color:"#718096"}},yAxis:{type:"value",axisLabel:{color:"#718096",formatter:n=>Re(n)},splitLine:{lineStyle:{color:"#edf1f5"}}},series:[{name:"实际完成",type:"line",smooth:!0,symbol:"none",lineStyle:{width:3},areaStyle:{color:"rgba(15,145,133,.08)"},data:l.target.actual_cumulative},{name:"目标值",type:"line",smooth:!0,symbol:"none",lineStyle:{width:2,type:"dashed"},data:l.target.target_cumulative}]}));let U=0,S=0;async function k(){const n=++U;T.value=!0,l.meta.can_view_deleted_fans=!1;try{const e={...c};if(e.time_type==="custom"){if(e.start_date=x.value[0]||"",e.end_date=x.value[1]||"",!e.start_date||!e.end_date){G.warning("请选择自定义日期范围");return}}else delete e.start_date,delete e.end_date;const o=await dt(e);if(n!==U)return;Object.assign(l,W(),o||{}),c.media_channel_code=l.meta.selected_media_channel_code||""}catch(e){if(n!==U)return;G.error((e==null?void 0:e.message)||"综合数据加载失败")}finally{n===U&&(T.value=!1)}}function Ce(){if(c.time_type!=="custom"){x.value=[],k();return}x.value.length===2&&k()}function Ve(){c.time_type==="custom"&&x.value.length===2&&k()}function ze(){c.assistant_id=void 0,k()}function Fe(n){E.value={type:n.type?"member":"dept",id:n.id,adminId:Number(n.admin_id||0)||void 0,name:n.name||"当前行"},p.page_no=1,F.value=[],p.total=0,A.value=!0,q()}async function q(){if(!A.value)return;const n=++S;O.value=!0,R.value=!1;try{const e={...c,time_type:c.time_type,start_date:l.meta.start_date||c.start_date,end_date:l.meta.end_date||c.end_date,media_channel_code:l.meta.selected_media_channel_code||c.media_channel_code||"",entity_type:E.value.type,entity_id:E.value.id,admin_id:E.value.adminId,page_no:p.page_no,page_size:p.page_size},o=await ut(e);if(n!==S)return;R.value=(o==null?void 0:o.can_view_deleted_fans)===!0;const v=Array.isArray(o==null?void 0:o.lists)?o.lists:Array.isArray(o==null?void 0:o.rows)?o.rows:[];F.value=v,p.total=Number((o==null?void 0:o.count)??(o==null?void 0:o.total)??v.length)||0}catch(e){if(n!==S)return;F.value=[],p.total=0,G.error((e==null?void 0:e.message)||"加粉客户明细加载失败")}finally{n===S&&(O.value=!1)}}function Ee(){p.page_no=1,q()}function Se(){++S,O.value=!1,R.value=!1,F.value=[],p.page_no=1,p.total=0}function Me(n){return Math.round(Number(n||0))>0}function Y(n){return Z.value&&!!n.is_deleted}function $e(n){return n.customer_name||n.external_userid||"未知客户"}function Ie(n){return n.wecom_staff_name||n.wecom_userid||"未绑定员工"}function Te(n){return n.add_time||"-"}function Ae({row:n}){return Y(n)?"is-deleted-fan-row":""}function Oe(n,e){const o=l.summary[n];return e==="money"?b(o):e==="ratio"?se(o):V(o)}function V(n){return Math.round(Number(n||0)).toLocaleString("zh-CN")}function ne(n){return L.value&&Math.round(Number(n||0))>0}function b(n){return`¥${Number(n||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function N(n){return`${Number(n||0).toFixed(1)}%`}function le(n,e){return e<=0?"0.0%":`${(Number(n||0)/e*100).toFixed(1)}%`}function j(n){return n==null?"未设置":N(n)}function se(n){return Number(n||0).toFixed(2)}function Re(n){return Math.abs(n)>=1e4?`${(n/1e4).toFixed(0)}万`:String(Math.round(n))}function oe(n,e){const o=Number(n||0);return e<=0||o<=0?"0%":`${Math.max(4,Math.min(100,o/e*100))}%`}function ie(n){return Math.max(0,Math.min(100,Number(n||0)))}return mt(k),(n,e)=>{const o=Ye,v=je,w=Ge,M=He,$=Ke,re=Qe,Le=We,Pe=Je,B=Xe,I=et,_=Ze,de=tt,ue=at,Ue=nt,Be=lt,me=qe;return ce((i(),m("div",_t,[t("header",pt,[t("div",null,[e[8]||(e[8]=t("h1",null,"综合数据转化",-1)),t("p",null,s(ve.value),1)]),t("div",gt,[t("span",ft,[r(o,null,{default:u(()=>[r(K(ot))]),_:1}),d(s(l.meta.scope_label||"数据范围"),1)]),l.meta.generated_at?(i(),m("span",ht,"更新于 "+s(l.meta.generated_at),1)):g("",!0),r(v,{icon:K(it),loading:T.value,onClick:k},{default:u(()=>[...e[9]||(e[9]=[d("刷新",-1)])]),_:1},8,["icon","loading"])])]),t("section",vt,[t("div",yt,[e[10]||(e[10]=t("span",{class:"filter-label"},"时间范围",-1)),r(w,{modelValue:c.time_type,"onUpdate:modelValue":e[0]||(e[0]=a=>c.time_type=a),options:he,onChange:Ce},null,8,["modelValue"]),c.time_type==="custom"?(i(),h(M,{key:0,modelValue:x.value,"onUpdate:modelValue":e[1]||(e[1]=a=>x.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"date-range-picker",clearable:!1,onChange:Ve},null,8,["modelValue"])):g("",!0)]),t("div",bt,[e[11]||(e[11]=t("span",{class:"filter-label"},"搜索员工",-1)),r(re,{modelValue:c.assistant_id,"onUpdate:modelValue":e[2]||(e[2]=a=>c.assistant_id=a),clearable:"",filterable:"",placeholder:"全部员工",class:"employee-select",onChange:k},{default:u(()=>[(i(!0),m(D,null,z(l.filters.assistants,a=>(i(),h($,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t("div",kt,[e[12]||(e[12]=t("span",{class:"filter-label"},"部门",-1)),r(Le,{modelValue:c.dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>c.dept_id=a),data:l.filters.departments,props:fe,"node-key":"id",clearable:"",filterable:"","check-strictly":"","default-expand-all":"",placeholder:"全部可见部门",class:"dept-select",onChange:ze},null,8,["modelValue","data"])]),t("div",wt,[e[13]||(e[13]=t("span",{class:"filter-label"},"渠道",-1)),r(re,{modelValue:c.media_channel_code,"onUpdate:modelValue":e[4]||(e[4]=a=>c.media_channel_code=a),clearable:"",filterable:"",placeholder:"全部渠道",class:"channel-select",onChange:k},{default:u(()=>[(i(!0),m(D,null,z(be.value,a=>(i(),h(Pe,{key:a.group_name||"_",label:`${a.group_name||"(未分组)"} · ${a.customer_count}`},{default:u(()=>[(i(!0),m(D,null,z(a.channels,y=>(i(),h($,{key:y.code,label:y.search_label||y.name,value:y.code},{default:u(()=>[t("span",{class:Q(["channel-option",{"is-group":y.kind==="group"}])},[t("span",null,s(y.name),1),t("span",null,s(y.customer_count)+" 人",1)],2)]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),t("span",Dt,s(l.meta.start_date)+" 至 "+s(l.meta.end_date),1)]),t("section",xt,[(i(!0),m(D,null,z(ye.value,a=>(i(),m("article",{key:a.key,class:"metric-card"},[t("span",null,s(a.label),1),t("strong",Nt,[d(s(Oe(a.key,a.type))+" ",1),a.key==="add_fans_count"&&ne(l.summary.deleted_fans_count)?(i(),m("em",Ct," (-"+s(V(l.summary.deleted_fans_count))+") ",1)):g("",!0)]),t("small",null,[d(s(a.hint),1),a.key==="add_fans_count"&&L.value?(i(),m(D,{key:0},[d(";(-N)为其中已删除")],64)):g("",!0)])]))),128))]),ke.value?(i(),m("section",Vt,[t("article",zt,[t("div",Ft,[t("div",null,[t("h2",null,s(P.value)+"订单量占比排名",1),t("p",null,"按"+s(P.value)+"归属统计,排除取消、拒收及退款",1)]),e[14]||(e[14]=t("span",null,"单位:单",-1))]),l.rankings.orders.length?(i(),m("div",Et,[(i(!0),m(D,null,z(l.rankings.orders,(a,y)=>(i(),m("div",{key:`order-${a.id}`,class:"bar-row"},[t("span",{class:"bar-name",title:a.name},[t("b",null,s(y+1),1),d(s(a.name),1)],8,St),t("div",Mt,[t("i",{class:"is-teal",style:_e({width:oe(a.value,te.value)})},null,4)]),t("strong",null,[t("span",null,s(V(a.value))+" 单",1),t("small",null,s(le(a.value,te.value)),1)])]))),128))])):(i(),h(B,{key:1,"image-size":54,description:"当前范围暂无订单数据"}))]),t("article",$t,[t("div",It,[t("div",null,[t("h2",null,s(P.value)+"金额占比排名",1),t("p",null,"按"+s(P.value)+"归属统计,仅含未取消、未拒收且未退款的有效金额",1)]),e[15]||(e[15]=t("span",null,"单位:元",-1))]),l.rankings.amounts.length?(i(),m("div",Tt,[(i(!0),m(D,null,z(l.rankings.amounts,(a,y)=>(i(),m("div",{key:`amount-${a.id}`,class:"bar-row"},[t("span",{class:"bar-name",title:a.name},[t("b",null,s(y+1),1),d(s(a.name),1)],8,At),t("div",Ot,[t("i",{class:"is-blue",style:_e({width:oe(a.value,ae.value)})},null,4)]),t("strong",null,[t("span",null,s(b(a.value)),1),t("small",null,s(le(a.value,ae.value)),1)])]))),128))])):(i(),h(B,{key:1,"image-size":54,description:"当前范围暂无金额数据"}))])])):g("",!0),t("section",Rt,[t("div",Lt,[t("div",null,[e[18]||(e[18]=t("h2",null,"明细数据列表",-1)),t("p",null,[e[16]||(e[16]=d("展开部门可查看人员明细;加粉=总进线=区间新增加粉(按员工+客户去重,包含区间内添加后已删客户,剔除继承客户、扫一扫/搜手机号/名片分享添加及区间前已加过的重加)",-1)),L.value?(i(),m(D,{key:0},[d(",(-N)表示加粉总数中已删除")],64)):g("",!0),e[17]||(e[17]=d(";挂号=已支付且实收低于 10 元的订单,预约=有效预约记录;开口率=开口/加粉,挂号率=挂号/加粉,面诊率=面诊/挂号(看挂号后流失),预约率=面诊/预约(看预约后未面诊),面诊接诊率=接诊诊单/面诊,接诊率=接诊诊单/总进线",-1))])]),t("span",null,s(l.rows.length)+" 个顶层节点",1)]),r(de,{data:l.rows,"row-key":"id","tree-props":{children:"children"},"default-expand-all":"",class:"detail-table"},{empty:u(()=>[r(B,{description:"当前权限范围内暂无转化数据"})]),default:u(()=>[r(_,{prop:"name",label:"部门 / 人员","min-width":"220",fixed:"left"},{default:u(({row:a})=>[t("strong",{class:Q({"is-parent":Array.isArray(a.children)&&a.children.length,"is-member":a.type==="member"})},s(a.name),3),!a.type&&a.leader_name?(i(),h(I,{key:0,size:"small",type:"warning",effect:"plain",class:"role-tag"},{default:u(()=>[d(" 组长 · "+s(a.leader_name),1)]),_:2},1024)):g("",!0),a.type==="member"&&a.role?(i(),h(I,{key:1,size:"small",type:"info",effect:"plain",class:"role-tag"},{default:u(()=>[d(s(a.role)+s(a.is_leader?" · 组长":""),1)]),_:2},1024)):a.type==="unbound"?(i(),h(I,{key:2,size:"small",type:"warning",effect:"plain",class:"role-tag"},{default:u(()=>[...e[19]||(e[19]=[d(" 未绑定账号 ",-1)])]),_:1})):g("",!0)]),_:1}),r(_,{prop:"add_fans_count",label:"加粉","min-width":"92",align:"right"},{default:u(({row:a})=>[Me(a.add_fans_count)?(i(),m("button",{key:0,type:"button",class:"fan-count-value fan-detail-trigger fan-detail-trigger--table",title:"查看该行加粉客户明细",onClick:st(y=>Fe(a),["stop"])},[d(s(V(a.add_fans_count))+" ",1),ne(a.deleted_fans_count)?(i(),m("em",Ut," (-"+s(V(a.deleted_fans_count))+") ",1)):g("",!0)],8,Pt)):(i(),m("span",Bt,"0"))]),_:1}),r(_,{prop:"total_open_count",label:"开口","min-width":"72",align:"right"}),r(_,{prop:"paid_appointment_count",label:"挂号","min-width":"72",align:"right"}),r(_,{prop:"appointment_total_count",label:"预约","min-width":"72",align:"right"}),r(_,{prop:"interview_count",label:"面诊","min-width":"72",align:"right"}),r(_,{prop:"completed_order_count",label:"接诊诊单","min-width":"88",align:"right"}),r(_,{label:"接诊金额","min-width":"104",align:"right"},{default:u(({row:a})=>[d(s(b(a.completed_order_amount)),1)]),_:1}),r(_,{label:"开口率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.total_open_rate)),1)]),_:1}),r(_,{label:"挂号率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.paid_appointment_rate)),1)]),_:1}),r(_,{label:"面诊率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_paid_rate)),1)]),_:1}),r(_,{label:"预约率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_rate)),1)]),_:1}),r(_,{label:"面诊接诊率","min-width":"100",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_receive_rate)),1)]),_:1}),r(_,{label:"接诊率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.receive_rate)),1)]),_:1}),X.value?(i(),h(_,{key:0,label:"ROI","min-width":"72",align:"right"},{default:u(({row:a})=>[d(s(se(a.roi)),1)]),_:1})):g("",!0)]),_:1},8,["data"])]),t("section",qt,[t("div",Yt,[t("div",null,[e[20]||(e[20]=t("h2",null,"一诊诊金目标追踪",-1)),t("p",null,s(l.target.year)+" 年 · 按当前角色、部门及员工筛选范围计算",1)]),t("span",null,s(l.target.department_count)+" 个目标部门",1)]),t("div",jt,[t("div",Gt,[t("div",Ht,[t("div",null,[e[21]||(e[21]=t("span",null,"年度目标",-1)),t("strong",null,s(b(l.target.target_amount)),1)]),t("div",null,[e[22]||(e[22]=t("span",null,"已完成",-1)),t("strong",null,s(b(l.target.actual_amount)),1)]),t("div",null,[e[23]||(e[23]=t("span",null,"完成率",-1)),t("strong",Kt,s(j(l.target.completion_rate)),1)])]),t("div",Qt,[t("div",Wt,[e[24]||(e[24]=t("span",null,"年度范围目标",-1)),t("b",null,s(j(l.target.completion_rate)),1)]),r(ue,{percentage:ie(l.target.completion_rate),"show-text":!1,"stroke-width":12,color:"#0f9185"},null,8,["percentage"]),t("small",null,"已完成 "+s(b(l.target.actual_amount))+" / 目标 "+s(b(l.target.target_amount)),1)]),t("div",Jt,[t("div",Xt,[e[25]||(e[25]=t("span",null,"本月范围目标",-1)),t("b",null,s(j(l.target.current_month_rate)),1)]),r(ue,{percentage:ie(l.target.current_month_rate),"show-text":!1,"stroke-width":12,color:"#2f78df"},null,8,["percentage"]),t("small",null,"已完成 "+s(b(l.target.current_month_actual))+" / 目标 "+s(b(l.target.current_month_target)),1)]),Number(l.target.target_amount)<=0?(i(),m("div",Zt," 当前可见部门尚未维护本年度月度目标,实际诊单金额仍会正常统计。 ")):g("",!0)]),t("div",ea,[e[26]||(e[26]=t("div",{class:"trend-title"},[t("span",null,"年度累计趋势"),t("div",null,[t("i",{class:"legend-line is-actual"}),d("实际完成 "),t("i",{class:"legend-line is-target"}),d("目标值")])],-1)),r(K(rt),{class:"target-chart",option:Ne.value,autoresize:""},null,8,["option"])])])]),r(Be,{modelValue:A.value,"onUpdate:modelValue":e[7]||(e[7]=a=>A.value=a),title:we.value,width:"920px",top:"7vh","append-to-body":"","destroy-on-close":"",class:"fans-detail-dialog",onClosed:Se},{default:u(()=>[t("div",ta,[t("span",null,[e[27]||(e[27]=t("b",null,"统计区间",-1)),d(s(De.value),1)]),t("span",null,[e[28]||(e[28]=t("b",null,"媒体渠道",-1)),d(s(xe.value),1)]),t("span",null,[e[29]||(e[29]=t("b",null,"数据范围",-1)),d(s(l.meta.scope_label||"当前权限范围"),1)])]),ce((i(),h(de,{data:F.value,"row-class-name":Ae,height:"430",class:"fans-detail-table"},{empty:u(()=>[r(B,{"image-size":68,description:"当前条件下暂无加粉客户明细"})]),default:u(()=>[r(_,{label:"客户","min-width":"190"},{default:u(({row:a})=>[t("div",aa,[t("strong",{class:Q(["customer-name",{"is-deleted":Y(a)}])},s($e(a)),3),a.customer_name&&a.external_userid?(i(),m("small",na,s(a.external_userid),1)):g("",!0)])]),_:1}),r(_,{label:"归属员工","min-width":"160"},{default:u(({row:a})=>[d(s(Ie(a)),1)]),_:1}),r(_,{label:"添加时间","min-width":"180"},{default:u(({row:a})=>[d(s(Te(a)),1)]),_:1}),Z.value?(i(),h(_,{key:0,label:"状态",width:"150",align:"center"},{default:u(({row:a})=>[Y(a)?(i(),m("div",la,[r(I,{type:"danger",effect:"dark",size:"small"},{default:u(()=>[...e[30]||(e[30]=[d("已删除",-1)])]),_:1}),a.delete_time?(i(),m("small",sa,s(a.delete_time),1)):g("",!0)])):(i(),h(I,{key:1,type:"success",effect:"plain",size:"small"},{default:u(()=>[...e[31]||(e[31]=[d("正常",-1)])]),_:1}))]),_:1})):g("",!0)]),_:1},8,["data"])),[[me,O.value]]),t("div",oa,[t("span",null,"共 "+s(V(p.total))+" 位客户",1),p.total>0?(i(),h(Ue,{key:0,"current-page":p.page_no,"onUpdate:currentPage":e[5]||(e[5]=a=>p.page_no=a),"page-size":p.page_size,"onUpdate:pageSize":e[6]||(e[6]=a=>p.page_size=a),"page-sizes":[10,20,50,100],total:p.total,layout:"total, sizes, prev, pager, next",background:"",onCurrentChange:q,onSizeChange:Ee},null,8,["current-page","page-size","total"])):g("",!0)])]),_:1},8,["modelValue","title"])])),[[me,T.value]])}}}),Wa=ct(ra,[["__scopeId","data-v-ae675eba"]]);export{Wa as default}; +import{M as qe,d as Ye,i as je,aj as Ge,S as He,R as Ke,Q as Qe,Z as We,ag as Je,X as Xe,O as Ze,U as et,N as tt,a1 as at,V as nt,W as lt,E as G}from"./element-plus-DGP1XOrU.js";import{s as st}from"./@vue/runtime-dom-DDAG46FW.js";import{a8 as ot,M as it}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as rt}from"./vue-echarts-BNtg2q_G.js";import{f as dt,a as ut}from"./first_visit-lwfDQsu4.js";import{f as pe,b as mt,aP as ce,ak as i,I as m,J as t,a as r,aN as u,O as d,H as g,G as h,F as D,ap as z,A as f}from"./@vue/runtime-core-C6bnekPw.js";import{r as H,y as K,n as C}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as Q,p as _e}from"./@vue/shared-mAAVTE9n.js";import{_ as ct}from"./index-J_eFER10.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const _t={class:"conversion-page","element-loading-text":"正在汇总权限范围内的数据"},pt={class:"page-heading"},gt={class:"heading-meta"},ft={class:"scope-chip"},ht={key:0},vt={class:"filter-strip"},yt={class:"filter-item filter-item--time"},bt={class:"filter-item"},kt={class:"filter-item"},wt={class:"filter-item"},Dt={class:"range-text"},xt={class:"metric-grid","aria-label":"综合转化指标"},Nt={class:"metric-value"},Ct={key:0,class:"deleted-fans-marker",title:"加粉总数中已删除"},Vt={key:0,class:"ranking-grid"},zt={class:"panel ranking-panel"},Ft={class:"panel-heading"},Et={key:0,class:"bar-list"},St=["title"],Mt={class:"bar-track"},$t={class:"panel ranking-panel"},It={class:"panel-heading"},Tt={key:0,class:"bar-list"},At=["title"],Ot={class:"bar-track"},Rt={class:"panel detail-panel"},Lt={class:"panel-heading panel-heading--table"},Pt=["onClick"],Ut={key:0,class:"deleted-fans-marker",title:"加粉总数中已删除"},Bt={key:1,class:"fan-count-value is-empty"},qt={class:"panel target-panel"},Yt={class:"panel-heading"},jt={class:"target-layout"},Gt={class:"target-progress-list"},Ht={class:"target-summary"},Kt={class:"is-teal"},Qt={class:"progress-block"},Wt={class:"progress-copy"},Jt={class:"progress-block progress-block--month"},Xt={class:"progress-copy"},Zt={key:0,class:"target-empty-note"},ea={class:"trend-wrap"},ta={class:"fans-detail-context"},aa={class:"customer-cell"},na={key:0},la={key:0,class:"deleted-status"},sa={key:0},oa={class:"fans-detail-footer"},ia=pe({name:"firstVisitConversionPage"}),ra=pe({...ia,setup(da){const ge=new Set(["account_cost","roi"]),W=()=>({meta:{time_type:"today",time_label:"今日",start_date:"",end_date:"",generated_at:"",scope_value:4,scope_label:"",selected_dept_name:"",selected_assistant_name:"",selected_media_channel_code:"",selected_media_channel_name:"",open_count_source:"",ranking_kind:"hidden",can_view_finance:!1,can_view_deleted_fans:!1},filters:{departments:[],assistants:[],media_channels:[]},summary:{},rankings:{orders:[],amounts:[]},rows:[],target:{year:new Date().getFullYear(),target_amount:0,actual_amount:0,completion_rate:null,current_month_target:0,current_month_actual:0,current_month_rate:null,department_count:0,months:[],target_cumulative:[],actual_cumulative:[]}}),l=H(W()),T=C(!1),c=H({time_type:"today",dept_id:void 0,assistant_id:void 0,media_channel_code:""}),x=C([]),A=C(!1),O=C(!1),R=C(!1),F=C([]),p=H({page_no:1,page_size:20,total:0}),E=C({type:"dept",id:0,name:"当前行"}),fe={value:"id",label:"name",children:"children"},he=[{label:"今日",value:"today"},{label:"昨天",value:"yesterday"},{label:"本周",value:"week"},{label:"本月",value:"month"},{label:"本季度",value:"quarter"},{label:"本年",value:"year"},{label:"自定义",value:"custom"}],J=[{key:"add_fans_count",label:"加粉数",type:"count",hint:"区间新增加粉(含已删除)"},{key:"total_open_count",label:"开口数",type:"count",hint:"来源于个人业绩录入"},{key:"interview_count",label:"面诊",type:"count",hint:"已完成预约"},{key:"completed_order_count",label:"接诊诊单",type:"count",hint:"业务订单,按创建人归属并过滤无效单"},{key:"completed_order_amount",label:"诊单金额",type:"money",hint:"排除取消、拒收、退款及已退款订单"},{key:"avg_unit_price",label:"平均客单价",type:"money",hint:"诊单金额 / 接诊诊单"},{key:"account_cost",label:"现金成本",type:"money",hint:"当前范围内实际投放成本"},{key:"roi",label:"ROI",type:"ratio",hint:"诊单金额 / 投放成本"}],ve=f(()=>{const n=[`${l.meta.time_label||"当前区间"}数据`,l.meta.scope_label||"当前权限范围"];return l.meta.selected_dept_name&&n.push(l.meta.selected_dept_name),l.meta.selected_assistant_name&&n.push(l.meta.selected_assistant_name),l.meta.selected_media_channel_name&&n.push(`渠道:${l.meta.selected_media_channel_name}`),n.join(" · ")}),X=f(()=>!!l.meta.can_view_finance),L=f(()=>l.meta.can_view_deleted_fans===!0),Z=f(()=>L.value&&R.value),ye=f(()=>X.value?J:J.filter(n=>!ge.has(n.key))),be=f(()=>{const n=[],e=new Map;for(const o of l.filters.media_channels){if(o.kind==="group")continue;const v=String(o.group_name||"").trim();let w=e.get(v);w===void 0&&(w=n.length,e.set(v,w),n.push({group_name:v,customer_count:0,channels:[]}));const M=n[w],$=v!==""&&!o.name.includes(v)?`${o.name} ${v}`:"";M.channels.push($===""?o:{...o,search_label:$}),M.customer_count=Math.max(M.customer_count,Number(o.customer_count||0))}for(const o of n){if(o.group_name==="")continue;const v=o.channels.some(w=>w.name===o.group_name);o.channels.length<2&&v||o.channels.unshift({code:`group:${o.group_name}`,name:`${o.group_name}(全部)`,group_name:o.group_name,customer_count:o.customer_count,kind:"group"})}return n}),ee=f(()=>l.meta.ranking_kind||(Number(l.meta.scope_value)===4?"hidden":Number(l.meta.scope_value)===3?"member":"group")),ke=f(()=>ee.value!=="hidden"),P=f(()=>ee.value==="member"?"组内成员":"小组"),we=f(()=>`${E.value.name} · 加粉客户明细`),De=f(()=>{const n=l.meta.start_date||c.start_date||"",e=l.meta.end_date||c.end_date||"";return n&&e?`${n} 至 ${e}`:l.meta.time_label||"当前区间"}),xe=f(()=>l.meta.selected_media_channel_name||"全部渠道"),te=f(()=>l.rankings.orders.reduce((n,e)=>n+Number(e.value||0),0)),ae=f(()=>l.rankings.amounts.reduce((n,e)=>n+Number(e.value||0),0)),Ne=f(()=>({animationDuration:450,color:["#0f9185","#2f78df"],tooltip:{trigger:"axis",valueFormatter:n=>b(n)},grid:{left:62,right:24,top:28,bottom:36},xAxis:{type:"category",boundaryGap:!1,data:l.target.months,axisLine:{lineStyle:{color:"#d9e1e9"}},axisLabel:{color:"#718096"}},yAxis:{type:"value",axisLabel:{color:"#718096",formatter:n=>Re(n)},splitLine:{lineStyle:{color:"#edf1f5"}}},series:[{name:"实际完成",type:"line",smooth:!0,symbol:"none",lineStyle:{width:3},areaStyle:{color:"rgba(15,145,133,.08)"},data:l.target.actual_cumulative},{name:"目标值",type:"line",smooth:!0,symbol:"none",lineStyle:{width:2,type:"dashed"},data:l.target.target_cumulative}]}));let U=0,S=0;async function k(){const n=++U;T.value=!0,l.meta.can_view_deleted_fans=!1;try{const e={...c};if(e.time_type==="custom"){if(e.start_date=x.value[0]||"",e.end_date=x.value[1]||"",!e.start_date||!e.end_date){G.warning("请选择自定义日期范围");return}}else delete e.start_date,delete e.end_date;const o=await dt(e);if(n!==U)return;Object.assign(l,W(),o||{}),c.media_channel_code=l.meta.selected_media_channel_code||""}catch(e){if(n!==U)return;G.error((e==null?void 0:e.message)||"综合数据加载失败")}finally{n===U&&(T.value=!1)}}function Ce(){if(c.time_type!=="custom"){x.value=[],k();return}x.value.length===2&&k()}function Ve(){c.time_type==="custom"&&x.value.length===2&&k()}function ze(){c.assistant_id=void 0,k()}function Fe(n){E.value={type:n.type?"member":"dept",id:n.id,adminId:Number(n.admin_id||0)||void 0,name:n.name||"当前行"},p.page_no=1,F.value=[],p.total=0,A.value=!0,q()}async function q(){if(!A.value)return;const n=++S;O.value=!0,R.value=!1;try{const e={...c,time_type:c.time_type,start_date:l.meta.start_date||c.start_date,end_date:l.meta.end_date||c.end_date,media_channel_code:l.meta.selected_media_channel_code||c.media_channel_code||"",entity_type:E.value.type,entity_id:E.value.id,admin_id:E.value.adminId,page_no:p.page_no,page_size:p.page_size},o=await ut(e);if(n!==S)return;R.value=(o==null?void 0:o.can_view_deleted_fans)===!0;const v=Array.isArray(o==null?void 0:o.lists)?o.lists:Array.isArray(o==null?void 0:o.rows)?o.rows:[];F.value=v,p.total=Number((o==null?void 0:o.count)??(o==null?void 0:o.total)??v.length)||0}catch(e){if(n!==S)return;F.value=[],p.total=0,G.error((e==null?void 0:e.message)||"加粉客户明细加载失败")}finally{n===S&&(O.value=!1)}}function Ee(){p.page_no=1,q()}function Se(){++S,O.value=!1,R.value=!1,F.value=[],p.page_no=1,p.total=0}function Me(n){return Math.round(Number(n||0))>0}function Y(n){return Z.value&&!!n.is_deleted}function $e(n){return n.customer_name||n.external_userid||"未知客户"}function Ie(n){return n.wecom_staff_name||n.wecom_userid||"未绑定员工"}function Te(n){return n.add_time||"-"}function Ae({row:n}){return Y(n)?"is-deleted-fan-row":""}function Oe(n,e){const o=l.summary[n];return e==="money"?b(o):e==="ratio"?se(o):V(o)}function V(n){return Math.round(Number(n||0)).toLocaleString("zh-CN")}function ne(n){return L.value&&Math.round(Number(n||0))>0}function b(n){return`¥${Number(n||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function N(n){return`${Number(n||0).toFixed(1)}%`}function le(n,e){return e<=0?"0.0%":`${(Number(n||0)/e*100).toFixed(1)}%`}function j(n){return n==null?"未设置":N(n)}function se(n){return Number(n||0).toFixed(2)}function Re(n){return Math.abs(n)>=1e4?`${(n/1e4).toFixed(0)}万`:String(Math.round(n))}function oe(n,e){const o=Number(n||0);return e<=0||o<=0?"0%":`${Math.max(4,Math.min(100,o/e*100))}%`}function ie(n){return Math.max(0,Math.min(100,Number(n||0)))}return mt(k),(n,e)=>{const o=Ye,v=je,w=Ge,M=He,$=Ke,re=Qe,Le=We,Pe=Je,B=Xe,I=et,_=Ze,de=tt,ue=at,Ue=nt,Be=lt,me=qe;return ce((i(),m("div",_t,[t("header",pt,[t("div",null,[e[8]||(e[8]=t("h1",null,"综合数据转化",-1)),t("p",null,s(ve.value),1)]),t("div",gt,[t("span",ft,[r(o,null,{default:u(()=>[r(K(ot))]),_:1}),d(s(l.meta.scope_label||"数据范围"),1)]),l.meta.generated_at?(i(),m("span",ht,"更新于 "+s(l.meta.generated_at),1)):g("",!0),r(v,{icon:K(it),loading:T.value,onClick:k},{default:u(()=>[...e[9]||(e[9]=[d("刷新",-1)])]),_:1},8,["icon","loading"])])]),t("section",vt,[t("div",yt,[e[10]||(e[10]=t("span",{class:"filter-label"},"时间范围",-1)),r(w,{modelValue:c.time_type,"onUpdate:modelValue":e[0]||(e[0]=a=>c.time_type=a),options:he,onChange:Ce},null,8,["modelValue"]),c.time_type==="custom"?(i(),h(M,{key:0,modelValue:x.value,"onUpdate:modelValue":e[1]||(e[1]=a=>x.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"date-range-picker",clearable:!1,onChange:Ve},null,8,["modelValue"])):g("",!0)]),t("div",bt,[e[11]||(e[11]=t("span",{class:"filter-label"},"搜索员工",-1)),r(re,{modelValue:c.assistant_id,"onUpdate:modelValue":e[2]||(e[2]=a=>c.assistant_id=a),clearable:"",filterable:"",placeholder:"全部员工",class:"employee-select",onChange:k},{default:u(()=>[(i(!0),m(D,null,z(l.filters.assistants,a=>(i(),h($,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t("div",kt,[e[12]||(e[12]=t("span",{class:"filter-label"},"部门",-1)),r(Le,{modelValue:c.dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>c.dept_id=a),data:l.filters.departments,props:fe,"node-key":"id",clearable:"",filterable:"","check-strictly":"","default-expand-all":"",placeholder:"全部可见部门",class:"dept-select",onChange:ze},null,8,["modelValue","data"])]),t("div",wt,[e[13]||(e[13]=t("span",{class:"filter-label"},"渠道",-1)),r(re,{modelValue:c.media_channel_code,"onUpdate:modelValue":e[4]||(e[4]=a=>c.media_channel_code=a),clearable:"",filterable:"",placeholder:"全部渠道",class:"channel-select",onChange:k},{default:u(()=>[(i(!0),m(D,null,z(be.value,a=>(i(),h(Pe,{key:a.group_name||"_",label:`${a.group_name||"(未分组)"} · ${a.customer_count}`},{default:u(()=>[(i(!0),m(D,null,z(a.channels,y=>(i(),h($,{key:y.code,label:y.search_label||y.name,value:y.code},{default:u(()=>[t("span",{class:Q(["channel-option",{"is-group":y.kind==="group"}])},[t("span",null,s(y.name),1),t("span",null,s(y.customer_count)+" 人",1)],2)]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),t("span",Dt,s(l.meta.start_date)+" 至 "+s(l.meta.end_date),1)]),t("section",xt,[(i(!0),m(D,null,z(ye.value,a=>(i(),m("article",{key:a.key,class:"metric-card"},[t("span",null,s(a.label),1),t("strong",Nt,[d(s(Oe(a.key,a.type))+" ",1),a.key==="add_fans_count"&&ne(l.summary.deleted_fans_count)?(i(),m("em",Ct," (-"+s(V(l.summary.deleted_fans_count))+") ",1)):g("",!0)]),t("small",null,[d(s(a.hint),1),a.key==="add_fans_count"&&L.value?(i(),m(D,{key:0},[d(";(-N)为其中已删除")],64)):g("",!0)])]))),128))]),ke.value?(i(),m("section",Vt,[t("article",zt,[t("div",Ft,[t("div",null,[t("h2",null,s(P.value)+"订单量占比排名",1),t("p",null,"按"+s(P.value)+"归属统计,排除取消、拒收及退款",1)]),e[14]||(e[14]=t("span",null,"单位:单",-1))]),l.rankings.orders.length?(i(),m("div",Et,[(i(!0),m(D,null,z(l.rankings.orders,(a,y)=>(i(),m("div",{key:`order-${a.id}`,class:"bar-row"},[t("span",{class:"bar-name",title:a.name},[t("b",null,s(y+1),1),d(s(a.name),1)],8,St),t("div",Mt,[t("i",{class:"is-teal",style:_e({width:oe(a.value,te.value)})},null,4)]),t("strong",null,[t("span",null,s(V(a.value))+" 单",1),t("small",null,s(le(a.value,te.value)),1)])]))),128))])):(i(),h(B,{key:1,"image-size":54,description:"当前范围暂无订单数据"}))]),t("article",$t,[t("div",It,[t("div",null,[t("h2",null,s(P.value)+"金额占比排名",1),t("p",null,"按"+s(P.value)+"归属统计,仅含未取消、未拒收且未退款的有效金额",1)]),e[15]||(e[15]=t("span",null,"单位:元",-1))]),l.rankings.amounts.length?(i(),m("div",Tt,[(i(!0),m(D,null,z(l.rankings.amounts,(a,y)=>(i(),m("div",{key:`amount-${a.id}`,class:"bar-row"},[t("span",{class:"bar-name",title:a.name},[t("b",null,s(y+1),1),d(s(a.name),1)],8,At),t("div",Ot,[t("i",{class:"is-blue",style:_e({width:oe(a.value,ae.value)})},null,4)]),t("strong",null,[t("span",null,s(b(a.value)),1),t("small",null,s(le(a.value,ae.value)),1)])]))),128))])):(i(),h(B,{key:1,"image-size":54,description:"当前范围暂无金额数据"}))])])):g("",!0),t("section",Rt,[t("div",Lt,[t("div",null,[e[18]||(e[18]=t("h2",null,"明细数据列表",-1)),t("p",null,[e[16]||(e[16]=d("展开部门可查看人员明细;加粉=总进线=区间新增加粉(按员工+客户去重,包含区间内添加后已删客户,剔除继承客户、扫一扫/搜手机号/名片分享添加及区间前已加过的重加)",-1)),L.value?(i(),m(D,{key:0},[d(",(-N)表示加粉总数中已删除")],64)):g("",!0),e[17]||(e[17]=d(";挂号=已支付且实收低于 10 元的订单,预约=有效预约记录;开口率=开口/加粉,挂号率=挂号/加粉,面诊率=面诊/挂号(看挂号后流失),预约率=面诊/预约(看预约后未面诊),面诊接诊率=接诊诊单/面诊,接诊率=接诊诊单/总进线",-1))])]),t("span",null,s(l.rows.length)+" 个顶层节点",1)]),r(de,{data:l.rows,"row-key":"id","tree-props":{children:"children"},"default-expand-all":"",class:"detail-table"},{empty:u(()=>[r(B,{description:"当前权限范围内暂无转化数据"})]),default:u(()=>[r(_,{prop:"name",label:"部门 / 人员","min-width":"220",fixed:"left"},{default:u(({row:a})=>[t("strong",{class:Q({"is-parent":Array.isArray(a.children)&&a.children.length,"is-member":a.type==="member"})},s(a.name),3),!a.type&&a.leader_name?(i(),h(I,{key:0,size:"small",type:"warning",effect:"plain",class:"role-tag"},{default:u(()=>[d(" 组长 · "+s(a.leader_name),1)]),_:2},1024)):g("",!0),a.type==="member"&&a.role?(i(),h(I,{key:1,size:"small",type:"info",effect:"plain",class:"role-tag"},{default:u(()=>[d(s(a.role)+s(a.is_leader?" · 组长":""),1)]),_:2},1024)):a.type==="unbound"?(i(),h(I,{key:2,size:"small",type:"warning",effect:"plain",class:"role-tag"},{default:u(()=>[...e[19]||(e[19]=[d(" 未绑定账号 ",-1)])]),_:1})):g("",!0)]),_:1}),r(_,{prop:"add_fans_count",label:"加粉","min-width":"92",align:"right"},{default:u(({row:a})=>[Me(a.add_fans_count)?(i(),m("button",{key:0,type:"button",class:"fan-count-value fan-detail-trigger fan-detail-trigger--table",title:"查看该行加粉客户明细",onClick:st(y=>Fe(a),["stop"])},[d(s(V(a.add_fans_count))+" ",1),ne(a.deleted_fans_count)?(i(),m("em",Ut," (-"+s(V(a.deleted_fans_count))+") ",1)):g("",!0)],8,Pt)):(i(),m("span",Bt,"0"))]),_:1}),r(_,{prop:"total_open_count",label:"开口","min-width":"72",align:"right"}),r(_,{prop:"paid_appointment_count",label:"挂号","min-width":"72",align:"right"}),r(_,{prop:"appointment_total_count",label:"预约","min-width":"72",align:"right"}),r(_,{prop:"interview_count",label:"面诊","min-width":"72",align:"right"}),r(_,{prop:"completed_order_count",label:"接诊诊单","min-width":"88",align:"right"}),r(_,{label:"接诊金额","min-width":"104",align:"right"},{default:u(({row:a})=>[d(s(b(a.completed_order_amount)),1)]),_:1}),r(_,{label:"开口率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.total_open_rate)),1)]),_:1}),r(_,{label:"挂号率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.paid_appointment_rate)),1)]),_:1}),r(_,{label:"面诊率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_paid_rate)),1)]),_:1}),r(_,{label:"预约率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_rate)),1)]),_:1}),r(_,{label:"面诊接诊率","min-width":"100",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_receive_rate)),1)]),_:1}),r(_,{label:"接诊率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.receive_rate)),1)]),_:1}),X.value?(i(),h(_,{key:0,label:"ROI","min-width":"72",align:"right"},{default:u(({row:a})=>[d(s(se(a.roi)),1)]),_:1})):g("",!0)]),_:1},8,["data"])]),t("section",qt,[t("div",Yt,[t("div",null,[e[20]||(e[20]=t("h2",null,"一诊诊金目标追踪",-1)),t("p",null,s(l.target.year)+" 年 · 按当前角色、部门及员工筛选范围计算",1)]),t("span",null,s(l.target.department_count)+" 个目标部门",1)]),t("div",jt,[t("div",Gt,[t("div",Ht,[t("div",null,[e[21]||(e[21]=t("span",null,"年度目标",-1)),t("strong",null,s(b(l.target.target_amount)),1)]),t("div",null,[e[22]||(e[22]=t("span",null,"已完成",-1)),t("strong",null,s(b(l.target.actual_amount)),1)]),t("div",null,[e[23]||(e[23]=t("span",null,"完成率",-1)),t("strong",Kt,s(j(l.target.completion_rate)),1)])]),t("div",Qt,[t("div",Wt,[e[24]||(e[24]=t("span",null,"年度范围目标",-1)),t("b",null,s(j(l.target.completion_rate)),1)]),r(ue,{percentage:ie(l.target.completion_rate),"show-text":!1,"stroke-width":12,color:"#0f9185"},null,8,["percentage"]),t("small",null,"已完成 "+s(b(l.target.actual_amount))+" / 目标 "+s(b(l.target.target_amount)),1)]),t("div",Jt,[t("div",Xt,[e[25]||(e[25]=t("span",null,"本月范围目标",-1)),t("b",null,s(j(l.target.current_month_rate)),1)]),r(ue,{percentage:ie(l.target.current_month_rate),"show-text":!1,"stroke-width":12,color:"#2f78df"},null,8,["percentage"]),t("small",null,"已完成 "+s(b(l.target.current_month_actual))+" / 目标 "+s(b(l.target.current_month_target)),1)]),Number(l.target.target_amount)<=0?(i(),m("div",Zt," 当前可见部门尚未维护本年度月度目标,实际诊单金额仍会正常统计。 ")):g("",!0)]),t("div",ea,[e[26]||(e[26]=t("div",{class:"trend-title"},[t("span",null,"年度累计趋势"),t("div",null,[t("i",{class:"legend-line is-actual"}),d("实际完成 "),t("i",{class:"legend-line is-target"}),d("目标值")])],-1)),r(K(rt),{class:"target-chart",option:Ne.value,autoresize:""},null,8,["option"])])])]),r(Be,{modelValue:A.value,"onUpdate:modelValue":e[7]||(e[7]=a=>A.value=a),title:we.value,width:"920px",top:"7vh","append-to-body":"","destroy-on-close":"",class:"fans-detail-dialog",onClosed:Se},{default:u(()=>[t("div",ta,[t("span",null,[e[27]||(e[27]=t("b",null,"统计区间",-1)),d(s(De.value),1)]),t("span",null,[e[28]||(e[28]=t("b",null,"媒体渠道",-1)),d(s(xe.value),1)]),t("span",null,[e[29]||(e[29]=t("b",null,"数据范围",-1)),d(s(l.meta.scope_label||"当前权限范围"),1)])]),ce((i(),h(de,{data:F.value,"row-class-name":Ae,height:"430",class:"fans-detail-table"},{empty:u(()=>[r(B,{"image-size":68,description:"当前条件下暂无加粉客户明细"})]),default:u(()=>[r(_,{label:"客户","min-width":"190"},{default:u(({row:a})=>[t("div",aa,[t("strong",{class:Q(["customer-name",{"is-deleted":Y(a)}])},s($e(a)),3),a.customer_name&&a.external_userid?(i(),m("small",na,s(a.external_userid),1)):g("",!0)])]),_:1}),r(_,{label:"归属员工","min-width":"160"},{default:u(({row:a})=>[d(s(Ie(a)),1)]),_:1}),r(_,{label:"添加时间","min-width":"180"},{default:u(({row:a})=>[d(s(Te(a)),1)]),_:1}),Z.value?(i(),h(_,{key:0,label:"状态",width:"150",align:"center"},{default:u(({row:a})=>[Y(a)?(i(),m("div",la,[r(I,{type:"danger",effect:"dark",size:"small"},{default:u(()=>[...e[30]||(e[30]=[d("已删除",-1)])]),_:1}),a.delete_time?(i(),m("small",sa,s(a.delete_time),1)):g("",!0)])):(i(),h(I,{key:1,type:"success",effect:"plain",size:"small"},{default:u(()=>[...e[31]||(e[31]=[d("正常",-1)])]),_:1}))]),_:1})):g("",!0)]),_:1},8,["data"])),[[me,O.value]]),t("div",oa,[t("span",null,"共 "+s(V(p.total))+" 位客户",1),p.total>0?(i(),h(Ue,{key:0,"current-page":p.page_no,"onUpdate:currentPage":e[5]||(e[5]=a=>p.page_no=a),"page-size":p.page_size,"onUpdate:pageSize":e[6]||(e[6]=a=>p.page_size=a),"page-sizes":[10,20,50,100],total:p.total,layout:"total, sizes, prev, pager, next",background:"",onCurrentChange:q,onSizeChange:Ee},null,8,["current-page","page-size","total"])):g("",!0)])]),_:1},8,["modelValue","title"])])),[[me,T.value]])}}}),Wa=ct(ra,[["__scopeId","data-v-ae675eba"]]);export{Wa as default}; diff --git a/server/public/admin/assets/index-Vc0qWDyq.js b/server/public/admin/assets/index-BZK6_Fam.js similarity index 98% rename from server/public/admin/assets/index-Vc0qWDyq.js rename to server/public/admin/assets/index-BZK6_Fam.js index efeef77a2..e69c8bdce 100644 --- a/server/public/admin/assets/index-Vc0qWDyq.js +++ b/server/public/admin/assets/index-BZK6_Fam.js @@ -1 +1 @@ -import{M as ue,d as fe,i as ge,L as ve,a3 as ye,r as ke,Z as he,X as be,aj as we,a1 as $e}from"./element-plus-DGP1XOrU.js";import{a6 as xe,a8 as Ne,M as De,ar as F,as as z,i as H,y as Ce}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as Se}from"./vue-echarts-BNtg2q_G.js";import{v as Me}from"./stats-D2lwBNks.js";import{f as J,b as Fe,ac as ze,ae as Ie,aP as Ee,ak as n,I as r,J as t,a as l,aN as c,O as d,H as g,G as p,F as u,ap as I,A as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,r as Le,n as $}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as h,p as W}from"./@vue/shared-mAAVTE9n.js";import{_ as Ve}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Te={class:"performance-dashboard","element-loading-text":"正在汇总权限范围内的数据"},Re={class:"dashboard-header"},Pe={class:"dashboard-heading"},Ae={class:"dashboard-heading__icon"},Be={class:"dashboard-title-row"},je={class:"scope-badge"},Oe={key:0},Ue={class:"dashboard-actions"},Ge={key:0,class:"updated-at"},He={key:1,class:"dashboard-skeleton"},We={class:"performance-strip","aria-label":"业绩概览"},Je={class:"metric-card metric-card--primary"},Qe={class:"metric-value metric-value--money"},Xe={class:"metric-card"},Ze={class:"metric-value metric-value--money"},qe={class:"metric-card"},Ke={class:"metric-value metric-value--money"},Ye={key:0,class:"metric-card"},et={class:"metric-label-row"},tt={class:"metric-value metric-value--money"},at={class:"metric-card metric-card--clock"},ot={class:"metric-value metric-value--time"},nt={class:"metric-foot"},st={class:"operating-grid","aria-label":"今日运营指标"},rt={class:"metric-label"},it={class:"metric-comparisons"},lt={class:"metric-hint"},ct={class:"dashboard-grid dashboard-grid--rankings"},dt={class:"dashboard-panel ranking-panel"},mt={class:"panel-header"},pt={key:0},_t={class:"panel-header-actions"},ut={key:0,class:"ranking-list"},ft={class:"ranking-main"},gt={class:"ranking-copy"},vt={key:0,class:"ranking-self-tag"},yt={class:"ranking-meter","aria-hidden":"true"},kt={class:"ranking-value"},ht={class:"dashboard-panel ranking-panel"},bt={class:"panel-header"},wt={key:0,class:"ranking-list"},$t={class:"ranking-main"},xt={class:"ranking-copy"},Nt={key:0,class:"ranking-self-tag"},Dt={class:"ranking-meter","aria-hidden":"true"},Ct={class:"ranking-value ranking-value--money"},St={class:"dashboard-grid dashboard-grid--bottom"},Mt={class:"dashboard-panel trend-panel"},Ft={class:"panel-header panel-header--stack-mobile"},zt={class:"dashboard-panel target-panel"},It={class:"panel-header"},Et={class:"panel-meta"},Lt={class:"target-block"},Vt={class:"target-copy"},Tt={key:0},Rt={key:1},Pt={class:"target-block target-block--secondary"},At={class:"target-copy"},Bt={key:0,class:"target-empty-note"},jt={class:"dashboard-notes"},Ot={key:3,class:"dashboard-empty"},Ut=J({name:"performanceDashboardPage"}),Gt=J({...Ut,setup(Ht){const b=()=>({direction:"flat",rate:null,previous:0}),A=()=>({scope:{key:"",kind:"",scope_value:4,label:"",is_limited:!0,viewer_name:"",viewer_id:0,role_ids:[],role_names:[],department_names:[],visible_member_count:0},performance:{month_amount:0,month_compare_rate:null,month_compare_label:"",today_amount:0,today_compare_rate:null,today_compare_label:"",yesterday_amount:0,yesterday_compare_rate:null,yesterday_compare_label:"",personal_month_amount:0},today:{add_fans_count:0,appointment_total_count:0,low_amount_payment_count:0,interview_count:0,completed_order_count:0,completed_order_amount:0,paid_appointment_count:0,paid_appointment_rate:0,interview_receive_rate:0,comparisons:{add_fans_count:b(),appointment_total_count:b(),low_amount_payment_count:b(),interview_count:b(),completed_order_count:b(),completed_order_amount:b(),paid_appointment_rate:b(),interview_receive_rate:b()}},rankings:{appointments:{title:"实时挂号排行",kind:"assistant",metric:"registration",scope_label:"",items:[]},performance:{title:"今日部门业绩排行",kind:"dept",scope_label:"",items:[]}},filters:{ranking_departments:[],ranking_dept_id:0,ranking_selectable:!0},trend:{date_range:[],dates:[],registrations:[],appointments:[],leads:[],orders:[]},target:{year_month:"",target_amount:0,completed_amount:0,completion_rate:null,personal_amount:0,personal_contribution_rate:null,department_count:0},meta:{generated_at:"",timezone:"",commission_note:"",rate_note:""}}),e=Le(A()),x=$(!1),N=$(!1),D=$(""),E=$("registrations"),C=$(),L=$(new Date);let V;const Q={value:"id",label:"name",children:"children"},X=[{label:"挂号",value:"registrations"},{label:"预约",value:"appointments"},{label:"进线",value:"leads"},{label:"诊单",value:"orders"}],Z=v(()=>{const o=e.scope.role_names.length?e.scope.role_names.join("、"):"管理员",a=e.scope.department_names.length?e.scope.department_names.join("、"):"未绑定部门";return`${e.scope.viewer_name||"当前账号"},${o},${a}`}),q=v(()=>[{key:"fans",label:"今日加粉",value:y(e.today.add_fans_count),hint:"按企微新增客户事件统计",comparisons:[e.today.comparisons.add_fans_count]},{key:"appointments",label:"今日预约",value:y(e.today.appointment_total_count),hint:"状态为已预约、已完成或改期,排除已取消",comparisons:[e.today.comparisons.appointment_total_count]},{key:"lowAmountPayments",label:"今日挂号",value:`${y(e.today.low_amount_payment_count)} `,hint:"已支付且实收金额大于 0、低于 10 元的订单",comparisons:[e.today.comparisons.low_amount_payment_count]},{key:"orders",label:"今日接诊 / 诊单金额",value:"",hint:"按业务订单统计,排除取消、拒收和退款",comparisons:[{...e.today.comparisons.completed_order_count,label:"诊单"},{...e.today.comparisons.completed_order_amount,label:"金额"}]},{key:"appointmentRate",label:"挂号率",value:S(e.today.paid_appointment_rate),hint:`挂号 ${y(e.today.paid_appointment_count)} / 加粉数`,comparisons:[e.today.comparisons.paid_appointment_rate]},{key:"receiveRate",label:"接诊率",value:S(e.today.interview_receive_rate),hint:"诊单数 / 面诊数",comparisons:[e.today.comparisons.interview_receive_rate]},{key:"interviews",label:"今日面诊",value:y(e.today.interview_count),hint:"状态为已完成的预约",comparisons:[e.today.comparisons.interview_count]}]),K=v(()=>new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(L.value)),Y=v(()=>new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",weekday:"short"}).format(L.value)),ee=v(()=>e.filters.ranking_selectable!==!1&&e.scope.kind!=="group_leader"&&e.rankings.appointments.kind!=="doctor"&&e.filters.ranking_departments.length>0),B=v(()=>e.rankings.appointments.metric==="appointment"?"预约":"挂号"),j=v(()=>{if(e.rankings.appointments.metric==="appointment")return"";const o=e.rankings.appointments.kind==="doctor"?"医生":"成员";return`${e.rankings.appointments.scope_label||"当前部门"}内${o}已支付且实收低于 10 元的订单数`}),te=v(()=>{const o=e.rankings.performance.scope_label||"当前部门";return e.rankings.performance.kind==="person"?e.scope.kind==="group_leader"?"本小组内今日计入业绩的个人订单":`${o}内今日计入业绩的个人订单`:`${o}内今日计入业绩的业务订单`}),ae=v(()=>Math.max(0,...e.rankings.appointments.items.map(o=>Number(o.count||0)))),oe=v(()=>Math.max(0,...e.rankings.performance.items.map(o=>Number(o.amount||0)))),ne=v(()=>{const a={registrations:{label:"挂号",data:e.trend.registrations},appointments:{label:"预约",data:e.trend.appointments},leads:{label:"进线",data:e.trend.leads},orders:{label:"诊单",data:e.trend.orders}}[E.value];return{animationDuration:320,tooltip:{trigger:"axis",valueFormatter:m=>`${y(m)} 条`},grid:{left:42,right:18,top:24,bottom:30,containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:e.trend.dates,axisLine:{lineStyle:{color:"#d9e0e7"}},axisLabel:{color:"#7d8996"}},yAxis:{type:"value",minInterval:1,splitLine:{lineStyle:{color:"#edf1f4"}},axisLabel:{color:"#7d8996"}},series:[{name:a.label,type:"line",smooth:.35,showSymbol:!0,symbolSize:7,data:a.data,lineStyle:{color:"#0f8f83",width:3},itemStyle:{color:"#0f8f83",borderColor:"#ffffff",borderWidth:2},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(15, 143, 131, 0.20)"},{offset:1,color:"rgba(15, 143, 131, 0.01)"}]}}}]}}),k=(o,a=2)=>`¥${new Intl.NumberFormat("zh-CN",{minimumFractionDigits:a,maximumFractionDigits:a}).format(Number(o||0))}`,y=o=>new Intl.NumberFormat("zh-CN",{maximumFractionDigits:0}).format(Number(o||0)),S=o=>o===null?"暂无":`${Number(o||0).toFixed(1)}%`,T=o=>`${o>=0?"+":""}${Number(o).toFixed(1)}%`,R=o=>o===null||o===0?"":o>0?"is-positive":"is-negative",se=o=>o==="up"?"is-positive":o==="down"?"is-negative":"is-flat",re=o=>{const a=o.label?`${o.label} `:"";if(o.direction==="flat")return`${a}较昨日持平`;const m=o.direction==="up"?"上升":"下降";return o.rate===null?`${a}较昨日${m}(昨日为 0)`:`${a}较昨日${m} ${Math.abs(Number(o.rate)).toFixed(1)}%`},O=(o,a)=>a<=0||o<=0?"0%":`${Math.max(6,Math.min(100,Number(o)/a*100))}%`,U=o=>o===null||!Number.isFinite(Number(o))?0:Math.max(0,Math.min(100,Number(o))),w=async()=>{x.value=!0,D.value="";try{const o=await Me({ranking_dept_id:N.value?C.value||0:void 0,_t:Date.now()});Object.assign(e,A(),o||{}),C.value=Number(e.filters.ranking_dept_id||0)||void 0,N.value=!0}catch(o){D.value=(o==null?void 0:o.msg)||(o==null?void 0:o.message)||"驾驶舱数据加载失败,请稍后重试"}finally{x.value=!1}},ie=()=>{w()};return Fe(()=>{w(),V=setInterval(()=>{L.value=new Date},1e3)}),ze(()=>{N.value&&w()}),Ie(()=>{V&&clearInterval(V)}),(o,a)=>{const m=fe,P=ge,le=ve,ce=ye,de=ke,me=he,M=be,pe=we,G=$e,_e=ue;return Ee((n(),r("div",Te,[t("header",Re,[t("div",Pe,[t("div",Ae,[l(m,null,{default:c(()=>[l(_(xe))]),_:1})]),t("div",null,[t("div",Be,[a[2]||(a[2]=t("h1",null,"我的首页",-1)),t("span",je,[l(m,null,{default:c(()=>[l(_(Ne))]),_:1}),d(" "+s(e.scope.label||"数据范围"),1)])]),t("p",null,[d(s(Z.value)+" ",1),e.scope.visible_member_count>0?(n(),r("span",Oe," ,当前可见 "+s(e.scope.visible_member_count)+" 位成员 ",1)):g("",!0)])])]),t("div",Ue,[e.meta.generated_at?(n(),r("div",Ge," 数据更新于 "+s(e.meta.generated_at),1)):g("",!0),l(P,{icon:_(De),loading:x.value,onClick:w},{default:c(()=>[...a[3]||(a[3]=[d("刷新数据",-1)])]),_:1},8,["icon","loading"])])]),D.value?(n(),p(le,{key:0,class:"dashboard-error",type:"error",closable:!1,"show-icon":"",title:D.value},{default:c(()=>[l(P,{size:"small",onClick:w},{default:c(()=>[...a[4]||(a[4]=[d("重新加载",-1)])]),_:1})]),_:1},8,["title"])):g("",!0),!N.value&&x.value?(n(),r("div",He,[l(ce,{rows:12,animated:""})])):N.value?(n(),r(u,{key:2},[t("section",We,[t("article",Je,[a[5]||(a[5]=t("div",{class:"metric-label"},"本月实时业绩",-1)),t("div",Qe,s(k(e.performance.month_amount)),1),t("div",{class:h(["metric-foot",R(e.performance.month_compare_rate)])},[e.performance.month_compare_rate!==null?(n(),r(u,{key:0},[e.performance.month_compare_rate>=0?(n(),p(m,{key:0},{default:c(()=>[l(_(F))]),_:1})):(n(),p(m,{key:1},{default:c(()=>[l(_(z))]),_:1})),d(" "+s(e.performance.month_compare_label)+" "+s(T(e.performance.month_compare_rate)),1)],64)):(n(),r(u,{key:1},[d("上月同期暂无可比数据")],64))],2)]),t("article",Xe,[a[6]||(a[6]=t("div",{class:"metric-label"},"今日新增业绩",-1)),t("div",Ze,s(k(e.performance.today_amount)),1),t("div",{class:h(["metric-foot",R(e.performance.today_compare_rate)])},[e.performance.today_compare_rate!==null?(n(),r(u,{key:0},[e.performance.today_compare_rate>=0?(n(),p(m,{key:0},{default:c(()=>[l(_(F))]),_:1})):(n(),p(m,{key:1},{default:c(()=>[l(_(z))]),_:1})),d(" "+s(e.performance.today_compare_label)+" "+s(T(e.performance.today_compare_rate)),1)],64)):(n(),r(u,{key:1},[d("昨日暂无可比数据")],64))],2)]),t("article",qe,[a[7]||(a[7]=t("div",{class:"metric-label"},"昨日新增业绩",-1)),t("div",Ke,s(k(e.performance.yesterday_amount)),1),t("div",{class:h(["metric-foot",R(e.performance.yesterday_compare_rate)])},[e.performance.yesterday_compare_rate!==null?(n(),r(u,{key:0},[e.performance.yesterday_compare_rate>=0?(n(),p(m,{key:0},{default:c(()=>[l(_(F))]),_:1})):(n(),p(m,{key:1},{default:c(()=>[l(_(z))]),_:1})),d(" "+s(e.performance.yesterday_compare_label)+" "+s(T(e.performance.yesterday_compare_rate)),1)],64)):(n(),r(u,{key:1},[d("前一日暂无可比数据")],64))],2)]),e.scope.kind!=="assistant"?(n(),r("article",Ye,[t("div",et,[a[8]||(a[8]=t("span",null,"本人本月业绩",-1)),l(de,{content:e.meta.commission_note,placement:"top"},{default:c(()=>[l(m,{class:"metric-help"},{default:c(()=>[l(_(H))]),_:1})]),_:1},8,["content"])]),t("div",tt,s(k(e.performance.personal_month_amount)),1),a[9]||(a[9]=t("div",{class:"metric-foot"},"仅统计当前登录账号",-1))])):g("",!0),t("article",at,[a[10]||(a[10]=t("div",{class:"metric-label"},"当前时间",-1)),t("div",ot,s(K.value),1),t("div",nt,s(Y.value),1)])]),t("section",st,[(n(!0),r(u,null,I(q.value,i=>(n(),r("article",{key:i.key,class:"metric-card metric-card--compact"},[t("div",rt,s(i.label),1),t("div",{class:h(["metric-value",{"metric-value--pair":i.key==="orders"}])},[i.key==="orders"?(n(),r(u,{key:0},[d(s(y(e.today.completed_order_count))+" ",1),a[11]||(a[11]=t("span",null,"/",-1)),d(" "+s(k(e.today.completed_order_amount)),1)],64)):(n(),r(u,{key:1},[d(s(i.value),1)],64))],2),t("div",it,[(n(!0),r(u,null,I(i.comparisons,f=>(n(),r("div",{key:`${i.key}-${f.label||"total"}`,class:h(["metric-foot",se(f.direction)])},[f.direction==="up"?(n(),p(m,{key:0},{default:c(()=>[l(_(F))]),_:1})):f.direction==="down"?(n(),p(m,{key:1},{default:c(()=>[l(_(z))]),_:1})):(n(),p(m,{key:2},{default:c(()=>[l(_(Ce))]),_:1})),d(" "+s(re(f)),1)],2))),128))]),t("div",lt,s(i.hint),1)]))),128))]),t("section",ct,[t("article",dt,[t("div",mt,[t("div",null,[t("h2",null,s(e.rankings.appointments.title),1),j.value?(n(),r("p",pt,s(j.value),1)):g("",!0)]),t("div",_t,[ee.value?(n(),p(me,{key:0,modelValue:C.value,"onUpdate:modelValue":a[0]||(a[0]=i=>C.value=i),data:e.filters.ranking_departments,props:Q,"node-key":"id","check-strictly":"",clearable:"",filterable:"","default-expand-all":"",placeholder:"全部部门",class:"ranking-dept-select",onChange:ie},null,8,["modelValue","data"])):g("",!0),a[12]||(a[12]=t("span",{class:"panel-meta"},"实时",-1))])]),e.rankings.appointments.items.length?(n(),r("div",ut,[(n(!0),r(u,null,I(e.rankings.appointments.items,(i,f)=>(n(),r("div",{key:`appointment-${i.id}-${f}`,class:h(["ranking-row",{"is-self":i.is_self}])},[t("span",{class:h(["ranking-index",{"is-top":f<2,"is-self":i.is_self}])},s(f+1),3),t("div",ft,[t("div",gt,[t("strong",null,[d(s(i.name||"未命名成员")+" ",1),i.is_self?(n(),r("i",vt,"我")):g("",!0)]),t("span",null,s(y(i.count))+" "+s(B.value),1)]),t("div",yt,[t("span",{style:W({width:O(i.count,ae.value)})},null,4)])]),t("b",kt,s(y(i.count)),1)],2))),128))])):(n(),p(M,{key:1,"image-size":72,description:`当前数据范围内暂无${B.value}排行`},null,8,["description"]))]),t("article",ht,[t("div",bt,[t("div",null,[t("h2",null,s(e.rankings.performance.title),1),t("p",null,s(te.value),1)]),a[13]||(a[13]=t("span",{class:"panel-meta"},"今日",-1))]),e.rankings.performance.items.length?(n(),r("div",wt,[(n(!0),r(u,null,I(e.rankings.performance.items,(i,f)=>(n(),r("div",{key:`performance-${i.id}-${f}`,class:h(["ranking-row",{"is-self":i.is_self}])},[t("span",{class:h(["ranking-index",{"is-top":f<2,"is-self":i.is_self}])},s(f+1),3),t("div",$t,[t("div",xt,[t("strong",null,[d(s(i.name||(e.rankings.performance.kind==="person"?"未命名成员":"未命名部门"))+" ",1),i.is_self?(n(),r("i",Nt,"我")):g("",!0)]),t("span",null,s(y(i.count))+" 个诊单",1)]),t("div",Dt,[t("span",{style:W({width:O(i.amount,oe.value)})},null,4)])]),t("b",Ct,s(k(i.amount)),1)],2))),128))])):(n(),p(M,{key:1,"image-size":72,description:"当前数据范围内暂无业务订单业绩"}))])]),t("section",St,[t("article",Mt,[t("div",Ft,[t("div",null,[a[14]||(a[14]=t("h2",null,"近 7 天数据趋势",-1)),t("p",null,s(e.trend.date_range.join(" 至 ")),1)]),l(pe,{modelValue:E.value,"onUpdate:modelValue":a[1]||(a[1]=i=>E.value=i),options:X},null,8,["modelValue"])]),e.trend.dates.length?(n(),p(_(Se),{key:0,class:"trend-chart",option:ne.value,autoresize:""},null,8,["option"])):(n(),p(M,{key:1,"image-size":72,description:"暂无趋势数据"}))]),t("article",zt,[t("div",It,[t("div",null,[a[15]||(a[15]=t("h2",null,"进度目标",-1)),t("p",null,s(e.target.year_month)+",按当前角色数据范围计算",1)]),t("span",Et,s(e.target.department_count)+" 个目标部门",1)]),t("div",Lt,[t("div",Vt,[t("div",null,[a[16]||(a[16]=t("span",null,"范围目标进度",-1)),e.target.target_amount>0?(n(),r("strong",Tt,s(S(e.target.completion_rate)),1)):(n(),r("strong",Rt,"未设置"))]),t("p",null,[d(" 已完成 "+s(k(e.target.completed_amount))+" ",1),e.target.target_amount>0?(n(),r(u,{key:0},[d(" ,目标 "+s(k(e.target.target_amount)),1)],64)):g("",!0)])]),l(G,{percentage:U(e.target.completion_rate),"show-text":!1,"stroke-width":12,color:"#0f8f83"},null,8,["percentage"])]),t("div",Pt,[t("div",At,[t("div",null,[a[17]||(a[17]=t("span",null,"本人业绩贡献",-1)),t("strong",null,s(S(e.target.personal_contribution_rate)),1)]),t("p",null," 本人 "+s(k(e.target.personal_amount))+",占当前范围已完成业绩 ",1)]),l(G,{percentage:U(e.target.personal_contribution_rate),"show-text":!1,"stroke-width":12,color:"#738196"},null,8,["percentage"])]),e.target.target_amount<=0?(n(),r("div",Bt," 当前范围尚未设置本月部门目标,已完成业绩仍会正常统计。 ")):g("",!0)])]),t("footer",jt,[l(m,null,{default:c(()=>[l(_(H))]),_:1}),t("span",null,s(e.meta.rate_note),1)])],64)):D.value?(n(),r("div",Ot,[l(M,{description:"驾驶舱数据加载失败"},{default:c(()=>[l(P,{type:"primary",onClick:w},{default:c(()=>[...a[18]||(a[18]=[d("重新加载",-1)])]),_:1})]),_:1})])):g("",!0)])),[[_e,x.value]])}}}),Ia=Ve(Gt,[["__scopeId","data-v-8a87b9f7"]]);export{Ia as default}; +import{M as ue,d as fe,i as ge,L as ve,a3 as ye,r as ke,Z as he,X as be,aj as we,a1 as $e}from"./element-plus-DGP1XOrU.js";import{a6 as xe,a8 as Ne,M as De,ar as F,as as z,i as H,y as Ce}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as Se}from"./vue-echarts-BNtg2q_G.js";import{v as Me}from"./stats-DXRw03Ae.js";import{f as J,b as Fe,ac as ze,ae as Ie,aP as Ee,ak as n,I as r,J as t,a as l,aN as c,O as d,H as g,G as p,F as u,ap as I,A as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,r as Le,n as $}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as h,p as W}from"./@vue/shared-mAAVTE9n.js";import{_ as Ve}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Te={class:"performance-dashboard","element-loading-text":"正在汇总权限范围内的数据"},Re={class:"dashboard-header"},Pe={class:"dashboard-heading"},Ae={class:"dashboard-heading__icon"},Be={class:"dashboard-title-row"},je={class:"scope-badge"},Oe={key:0},Ue={class:"dashboard-actions"},Ge={key:0,class:"updated-at"},He={key:1,class:"dashboard-skeleton"},We={class:"performance-strip","aria-label":"业绩概览"},Je={class:"metric-card metric-card--primary"},Qe={class:"metric-value metric-value--money"},Xe={class:"metric-card"},Ze={class:"metric-value metric-value--money"},qe={class:"metric-card"},Ke={class:"metric-value metric-value--money"},Ye={key:0,class:"metric-card"},et={class:"metric-label-row"},tt={class:"metric-value metric-value--money"},at={class:"metric-card metric-card--clock"},ot={class:"metric-value metric-value--time"},nt={class:"metric-foot"},st={class:"operating-grid","aria-label":"今日运营指标"},rt={class:"metric-label"},it={class:"metric-comparisons"},lt={class:"metric-hint"},ct={class:"dashboard-grid dashboard-grid--rankings"},dt={class:"dashboard-panel ranking-panel"},mt={class:"panel-header"},pt={key:0},_t={class:"panel-header-actions"},ut={key:0,class:"ranking-list"},ft={class:"ranking-main"},gt={class:"ranking-copy"},vt={key:0,class:"ranking-self-tag"},yt={class:"ranking-meter","aria-hidden":"true"},kt={class:"ranking-value"},ht={class:"dashboard-panel ranking-panel"},bt={class:"panel-header"},wt={key:0,class:"ranking-list"},$t={class:"ranking-main"},xt={class:"ranking-copy"},Nt={key:0,class:"ranking-self-tag"},Dt={class:"ranking-meter","aria-hidden":"true"},Ct={class:"ranking-value ranking-value--money"},St={class:"dashboard-grid dashboard-grid--bottom"},Mt={class:"dashboard-panel trend-panel"},Ft={class:"panel-header panel-header--stack-mobile"},zt={class:"dashboard-panel target-panel"},It={class:"panel-header"},Et={class:"panel-meta"},Lt={class:"target-block"},Vt={class:"target-copy"},Tt={key:0},Rt={key:1},Pt={class:"target-block target-block--secondary"},At={class:"target-copy"},Bt={key:0,class:"target-empty-note"},jt={class:"dashboard-notes"},Ot={key:3,class:"dashboard-empty"},Ut=J({name:"performanceDashboardPage"}),Gt=J({...Ut,setup(Ht){const b=()=>({direction:"flat",rate:null,previous:0}),A=()=>({scope:{key:"",kind:"",scope_value:4,label:"",is_limited:!0,viewer_name:"",viewer_id:0,role_ids:[],role_names:[],department_names:[],visible_member_count:0},performance:{month_amount:0,month_compare_rate:null,month_compare_label:"",today_amount:0,today_compare_rate:null,today_compare_label:"",yesterday_amount:0,yesterday_compare_rate:null,yesterday_compare_label:"",personal_month_amount:0},today:{add_fans_count:0,appointment_total_count:0,low_amount_payment_count:0,interview_count:0,completed_order_count:0,completed_order_amount:0,paid_appointment_count:0,paid_appointment_rate:0,interview_receive_rate:0,comparisons:{add_fans_count:b(),appointment_total_count:b(),low_amount_payment_count:b(),interview_count:b(),completed_order_count:b(),completed_order_amount:b(),paid_appointment_rate:b(),interview_receive_rate:b()}},rankings:{appointments:{title:"实时挂号排行",kind:"assistant",metric:"registration",scope_label:"",items:[]},performance:{title:"今日部门业绩排行",kind:"dept",scope_label:"",items:[]}},filters:{ranking_departments:[],ranking_dept_id:0,ranking_selectable:!0},trend:{date_range:[],dates:[],registrations:[],appointments:[],leads:[],orders:[]},target:{year_month:"",target_amount:0,completed_amount:0,completion_rate:null,personal_amount:0,personal_contribution_rate:null,department_count:0},meta:{generated_at:"",timezone:"",commission_note:"",rate_note:""}}),e=Le(A()),x=$(!1),N=$(!1),D=$(""),E=$("registrations"),C=$(),L=$(new Date);let V;const Q={value:"id",label:"name",children:"children"},X=[{label:"挂号",value:"registrations"},{label:"预约",value:"appointments"},{label:"进线",value:"leads"},{label:"诊单",value:"orders"}],Z=v(()=>{const o=e.scope.role_names.length?e.scope.role_names.join("、"):"管理员",a=e.scope.department_names.length?e.scope.department_names.join("、"):"未绑定部门";return`${e.scope.viewer_name||"当前账号"},${o},${a}`}),q=v(()=>[{key:"fans",label:"今日加粉",value:y(e.today.add_fans_count),hint:"按企微新增客户事件统计",comparisons:[e.today.comparisons.add_fans_count]},{key:"appointments",label:"今日预约",value:y(e.today.appointment_total_count),hint:"状态为已预约、已完成或改期,排除已取消",comparisons:[e.today.comparisons.appointment_total_count]},{key:"lowAmountPayments",label:"今日挂号",value:`${y(e.today.low_amount_payment_count)} `,hint:"已支付且实收金额大于 0、低于 10 元的订单",comparisons:[e.today.comparisons.low_amount_payment_count]},{key:"orders",label:"今日接诊 / 诊单金额",value:"",hint:"按业务订单统计,排除取消、拒收和退款",comparisons:[{...e.today.comparisons.completed_order_count,label:"诊单"},{...e.today.comparisons.completed_order_amount,label:"金额"}]},{key:"appointmentRate",label:"挂号率",value:S(e.today.paid_appointment_rate),hint:`挂号 ${y(e.today.paid_appointment_count)} / 加粉数`,comparisons:[e.today.comparisons.paid_appointment_rate]},{key:"receiveRate",label:"接诊率",value:S(e.today.interview_receive_rate),hint:"诊单数 / 面诊数",comparisons:[e.today.comparisons.interview_receive_rate]},{key:"interviews",label:"今日面诊",value:y(e.today.interview_count),hint:"状态为已完成的预约",comparisons:[e.today.comparisons.interview_count]}]),K=v(()=>new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).format(L.value)),Y=v(()=>new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",weekday:"short"}).format(L.value)),ee=v(()=>e.filters.ranking_selectable!==!1&&e.scope.kind!=="group_leader"&&e.rankings.appointments.kind!=="doctor"&&e.filters.ranking_departments.length>0),B=v(()=>e.rankings.appointments.metric==="appointment"?"预约":"挂号"),j=v(()=>{if(e.rankings.appointments.metric==="appointment")return"";const o=e.rankings.appointments.kind==="doctor"?"医生":"成员";return`${e.rankings.appointments.scope_label||"当前部门"}内${o}已支付且实收低于 10 元的订单数`}),te=v(()=>{const o=e.rankings.performance.scope_label||"当前部门";return e.rankings.performance.kind==="person"?e.scope.kind==="group_leader"?"本小组内今日计入业绩的个人订单":`${o}内今日计入业绩的个人订单`:`${o}内今日计入业绩的业务订单`}),ae=v(()=>Math.max(0,...e.rankings.appointments.items.map(o=>Number(o.count||0)))),oe=v(()=>Math.max(0,...e.rankings.performance.items.map(o=>Number(o.amount||0)))),ne=v(()=>{const a={registrations:{label:"挂号",data:e.trend.registrations},appointments:{label:"预约",data:e.trend.appointments},leads:{label:"进线",data:e.trend.leads},orders:{label:"诊单",data:e.trend.orders}}[E.value];return{animationDuration:320,tooltip:{trigger:"axis",valueFormatter:m=>`${y(m)} 条`},grid:{left:42,right:18,top:24,bottom:30,containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:e.trend.dates,axisLine:{lineStyle:{color:"#d9e0e7"}},axisLabel:{color:"#7d8996"}},yAxis:{type:"value",minInterval:1,splitLine:{lineStyle:{color:"#edf1f4"}},axisLabel:{color:"#7d8996"}},series:[{name:a.label,type:"line",smooth:.35,showSymbol:!0,symbolSize:7,data:a.data,lineStyle:{color:"#0f8f83",width:3},itemStyle:{color:"#0f8f83",borderColor:"#ffffff",borderWidth:2},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(15, 143, 131, 0.20)"},{offset:1,color:"rgba(15, 143, 131, 0.01)"}]}}}]}}),k=(o,a=2)=>`¥${new Intl.NumberFormat("zh-CN",{minimumFractionDigits:a,maximumFractionDigits:a}).format(Number(o||0))}`,y=o=>new Intl.NumberFormat("zh-CN",{maximumFractionDigits:0}).format(Number(o||0)),S=o=>o===null?"暂无":`${Number(o||0).toFixed(1)}%`,T=o=>`${o>=0?"+":""}${Number(o).toFixed(1)}%`,R=o=>o===null||o===0?"":o>0?"is-positive":"is-negative",se=o=>o==="up"?"is-positive":o==="down"?"is-negative":"is-flat",re=o=>{const a=o.label?`${o.label} `:"";if(o.direction==="flat")return`${a}较昨日持平`;const m=o.direction==="up"?"上升":"下降";return o.rate===null?`${a}较昨日${m}(昨日为 0)`:`${a}较昨日${m} ${Math.abs(Number(o.rate)).toFixed(1)}%`},O=(o,a)=>a<=0||o<=0?"0%":`${Math.max(6,Math.min(100,Number(o)/a*100))}%`,U=o=>o===null||!Number.isFinite(Number(o))?0:Math.max(0,Math.min(100,Number(o))),w=async()=>{x.value=!0,D.value="";try{const o=await Me({ranking_dept_id:N.value?C.value||0:void 0,_t:Date.now()});Object.assign(e,A(),o||{}),C.value=Number(e.filters.ranking_dept_id||0)||void 0,N.value=!0}catch(o){D.value=(o==null?void 0:o.msg)||(o==null?void 0:o.message)||"驾驶舱数据加载失败,请稍后重试"}finally{x.value=!1}},ie=()=>{w()};return Fe(()=>{w(),V=setInterval(()=>{L.value=new Date},1e3)}),ze(()=>{N.value&&w()}),Ie(()=>{V&&clearInterval(V)}),(o,a)=>{const m=fe,P=ge,le=ve,ce=ye,de=ke,me=he,M=be,pe=we,G=$e,_e=ue;return Ee((n(),r("div",Te,[t("header",Re,[t("div",Pe,[t("div",Ae,[l(m,null,{default:c(()=>[l(_(xe))]),_:1})]),t("div",null,[t("div",Be,[a[2]||(a[2]=t("h1",null,"我的首页",-1)),t("span",je,[l(m,null,{default:c(()=>[l(_(Ne))]),_:1}),d(" "+s(e.scope.label||"数据范围"),1)])]),t("p",null,[d(s(Z.value)+" ",1),e.scope.visible_member_count>0?(n(),r("span",Oe," ,当前可见 "+s(e.scope.visible_member_count)+" 位成员 ",1)):g("",!0)])])]),t("div",Ue,[e.meta.generated_at?(n(),r("div",Ge," 数据更新于 "+s(e.meta.generated_at),1)):g("",!0),l(P,{icon:_(De),loading:x.value,onClick:w},{default:c(()=>[...a[3]||(a[3]=[d("刷新数据",-1)])]),_:1},8,["icon","loading"])])]),D.value?(n(),p(le,{key:0,class:"dashboard-error",type:"error",closable:!1,"show-icon":"",title:D.value},{default:c(()=>[l(P,{size:"small",onClick:w},{default:c(()=>[...a[4]||(a[4]=[d("重新加载",-1)])]),_:1})]),_:1},8,["title"])):g("",!0),!N.value&&x.value?(n(),r("div",He,[l(ce,{rows:12,animated:""})])):N.value?(n(),r(u,{key:2},[t("section",We,[t("article",Je,[a[5]||(a[5]=t("div",{class:"metric-label"},"本月实时业绩",-1)),t("div",Qe,s(k(e.performance.month_amount)),1),t("div",{class:h(["metric-foot",R(e.performance.month_compare_rate)])},[e.performance.month_compare_rate!==null?(n(),r(u,{key:0},[e.performance.month_compare_rate>=0?(n(),p(m,{key:0},{default:c(()=>[l(_(F))]),_:1})):(n(),p(m,{key:1},{default:c(()=>[l(_(z))]),_:1})),d(" "+s(e.performance.month_compare_label)+" "+s(T(e.performance.month_compare_rate)),1)],64)):(n(),r(u,{key:1},[d("上月同期暂无可比数据")],64))],2)]),t("article",Xe,[a[6]||(a[6]=t("div",{class:"metric-label"},"今日新增业绩",-1)),t("div",Ze,s(k(e.performance.today_amount)),1),t("div",{class:h(["metric-foot",R(e.performance.today_compare_rate)])},[e.performance.today_compare_rate!==null?(n(),r(u,{key:0},[e.performance.today_compare_rate>=0?(n(),p(m,{key:0},{default:c(()=>[l(_(F))]),_:1})):(n(),p(m,{key:1},{default:c(()=>[l(_(z))]),_:1})),d(" "+s(e.performance.today_compare_label)+" "+s(T(e.performance.today_compare_rate)),1)],64)):(n(),r(u,{key:1},[d("昨日暂无可比数据")],64))],2)]),t("article",qe,[a[7]||(a[7]=t("div",{class:"metric-label"},"昨日新增业绩",-1)),t("div",Ke,s(k(e.performance.yesterday_amount)),1),t("div",{class:h(["metric-foot",R(e.performance.yesterday_compare_rate)])},[e.performance.yesterday_compare_rate!==null?(n(),r(u,{key:0},[e.performance.yesterday_compare_rate>=0?(n(),p(m,{key:0},{default:c(()=>[l(_(F))]),_:1})):(n(),p(m,{key:1},{default:c(()=>[l(_(z))]),_:1})),d(" "+s(e.performance.yesterday_compare_label)+" "+s(T(e.performance.yesterday_compare_rate)),1)],64)):(n(),r(u,{key:1},[d("前一日暂无可比数据")],64))],2)]),e.scope.kind!=="assistant"?(n(),r("article",Ye,[t("div",et,[a[8]||(a[8]=t("span",null,"本人本月业绩",-1)),l(de,{content:e.meta.commission_note,placement:"top"},{default:c(()=>[l(m,{class:"metric-help"},{default:c(()=>[l(_(H))]),_:1})]),_:1},8,["content"])]),t("div",tt,s(k(e.performance.personal_month_amount)),1),a[9]||(a[9]=t("div",{class:"metric-foot"},"仅统计当前登录账号",-1))])):g("",!0),t("article",at,[a[10]||(a[10]=t("div",{class:"metric-label"},"当前时间",-1)),t("div",ot,s(K.value),1),t("div",nt,s(Y.value),1)])]),t("section",st,[(n(!0),r(u,null,I(q.value,i=>(n(),r("article",{key:i.key,class:"metric-card metric-card--compact"},[t("div",rt,s(i.label),1),t("div",{class:h(["metric-value",{"metric-value--pair":i.key==="orders"}])},[i.key==="orders"?(n(),r(u,{key:0},[d(s(y(e.today.completed_order_count))+" ",1),a[11]||(a[11]=t("span",null,"/",-1)),d(" "+s(k(e.today.completed_order_amount)),1)],64)):(n(),r(u,{key:1},[d(s(i.value),1)],64))],2),t("div",it,[(n(!0),r(u,null,I(i.comparisons,f=>(n(),r("div",{key:`${i.key}-${f.label||"total"}`,class:h(["metric-foot",se(f.direction)])},[f.direction==="up"?(n(),p(m,{key:0},{default:c(()=>[l(_(F))]),_:1})):f.direction==="down"?(n(),p(m,{key:1},{default:c(()=>[l(_(z))]),_:1})):(n(),p(m,{key:2},{default:c(()=>[l(_(Ce))]),_:1})),d(" "+s(re(f)),1)],2))),128))]),t("div",lt,s(i.hint),1)]))),128))]),t("section",ct,[t("article",dt,[t("div",mt,[t("div",null,[t("h2",null,s(e.rankings.appointments.title),1),j.value?(n(),r("p",pt,s(j.value),1)):g("",!0)]),t("div",_t,[ee.value?(n(),p(me,{key:0,modelValue:C.value,"onUpdate:modelValue":a[0]||(a[0]=i=>C.value=i),data:e.filters.ranking_departments,props:Q,"node-key":"id","check-strictly":"",clearable:"",filterable:"","default-expand-all":"",placeholder:"全部部门",class:"ranking-dept-select",onChange:ie},null,8,["modelValue","data"])):g("",!0),a[12]||(a[12]=t("span",{class:"panel-meta"},"实时",-1))])]),e.rankings.appointments.items.length?(n(),r("div",ut,[(n(!0),r(u,null,I(e.rankings.appointments.items,(i,f)=>(n(),r("div",{key:`appointment-${i.id}-${f}`,class:h(["ranking-row",{"is-self":i.is_self}])},[t("span",{class:h(["ranking-index",{"is-top":f<2,"is-self":i.is_self}])},s(f+1),3),t("div",ft,[t("div",gt,[t("strong",null,[d(s(i.name||"未命名成员")+" ",1),i.is_self?(n(),r("i",vt,"我")):g("",!0)]),t("span",null,s(y(i.count))+" "+s(B.value),1)]),t("div",yt,[t("span",{style:W({width:O(i.count,ae.value)})},null,4)])]),t("b",kt,s(y(i.count)),1)],2))),128))])):(n(),p(M,{key:1,"image-size":72,description:`当前数据范围内暂无${B.value}排行`},null,8,["description"]))]),t("article",ht,[t("div",bt,[t("div",null,[t("h2",null,s(e.rankings.performance.title),1),t("p",null,s(te.value),1)]),a[13]||(a[13]=t("span",{class:"panel-meta"},"今日",-1))]),e.rankings.performance.items.length?(n(),r("div",wt,[(n(!0),r(u,null,I(e.rankings.performance.items,(i,f)=>(n(),r("div",{key:`performance-${i.id}-${f}`,class:h(["ranking-row",{"is-self":i.is_self}])},[t("span",{class:h(["ranking-index",{"is-top":f<2,"is-self":i.is_self}])},s(f+1),3),t("div",$t,[t("div",xt,[t("strong",null,[d(s(i.name||(e.rankings.performance.kind==="person"?"未命名成员":"未命名部门"))+" ",1),i.is_self?(n(),r("i",Nt,"我")):g("",!0)]),t("span",null,s(y(i.count))+" 个诊单",1)]),t("div",Dt,[t("span",{style:W({width:O(i.amount,oe.value)})},null,4)])]),t("b",Ct,s(k(i.amount)),1)],2))),128))])):(n(),p(M,{key:1,"image-size":72,description:"当前数据范围内暂无业务订单业绩"}))])]),t("section",St,[t("article",Mt,[t("div",Ft,[t("div",null,[a[14]||(a[14]=t("h2",null,"近 7 天数据趋势",-1)),t("p",null,s(e.trend.date_range.join(" 至 ")),1)]),l(pe,{modelValue:E.value,"onUpdate:modelValue":a[1]||(a[1]=i=>E.value=i),options:X},null,8,["modelValue"])]),e.trend.dates.length?(n(),p(_(Se),{key:0,class:"trend-chart",option:ne.value,autoresize:""},null,8,["option"])):(n(),p(M,{key:1,"image-size":72,description:"暂无趋势数据"}))]),t("article",zt,[t("div",It,[t("div",null,[a[15]||(a[15]=t("h2",null,"进度目标",-1)),t("p",null,s(e.target.year_month)+",按当前角色数据范围计算",1)]),t("span",Et,s(e.target.department_count)+" 个目标部门",1)]),t("div",Lt,[t("div",Vt,[t("div",null,[a[16]||(a[16]=t("span",null,"范围目标进度",-1)),e.target.target_amount>0?(n(),r("strong",Tt,s(S(e.target.completion_rate)),1)):(n(),r("strong",Rt,"未设置"))]),t("p",null,[d(" 已完成 "+s(k(e.target.completed_amount))+" ",1),e.target.target_amount>0?(n(),r(u,{key:0},[d(" ,目标 "+s(k(e.target.target_amount)),1)],64)):g("",!0)])]),l(G,{percentage:U(e.target.completion_rate),"show-text":!1,"stroke-width":12,color:"#0f8f83"},null,8,["percentage"])]),t("div",Pt,[t("div",At,[t("div",null,[a[17]||(a[17]=t("span",null,"本人业绩贡献",-1)),t("strong",null,s(S(e.target.personal_contribution_rate)),1)]),t("p",null," 本人 "+s(k(e.target.personal_amount))+",占当前范围已完成业绩 ",1)]),l(G,{percentage:U(e.target.personal_contribution_rate),"show-text":!1,"stroke-width":12,color:"#738196"},null,8,["percentage"])]),e.target.target_amount<=0?(n(),r("div",Bt," 当前范围尚未设置本月部门目标,已完成业绩仍会正常统计。 ")):g("",!0)])]),t("footer",jt,[l(m,null,{default:c(()=>[l(_(H))]),_:1}),t("span",null,s(e.meta.rate_note),1)])],64)):D.value?(n(),r("div",Ot,[l(M,{description:"驾驶舱数据加载失败"},{default:c(()=>[l(P,{type:"primary",onClick:w},{default:c(()=>[...a[18]||(a[18]=[d("重新加载",-1)])]),_:1})]),_:1})])):g("",!0)])),[[_e,x.value]])}}}),Ia=Ve(Gt,[["__scopeId","data-v-8a87b9f7"]]);export{Ia as default}; diff --git a/server/public/admin/assets/index-BjiA8CzE.js b/server/public/admin/assets/index-BaMnb-iR.js similarity index 90% rename from server/public/admin/assets/index-BjiA8CzE.js rename to server/public/admin/assets/index-BaMnb-iR.js index 03580bf9d..03d69058a 100644 --- a/server/public/admin/assets/index-BjiA8CzE.js +++ b/server/public/admin/assets/index-BaMnb-iR.js @@ -1 +1 @@ -import{D as T,B as j,C as q,i as z,K as A,M,N as O,O as G,q as H,g as J}from"./element-plus-DGP1XOrU.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as W,k as X,_ as Y}from"./index-fRv3NTFQ.js";import{w as C}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-BiglL3bM.js";import{u as oe}from"./usePaging-DofycyjW.js";import ae from"./edit-DUrq1LLZ.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-OHG8LTQz.js";import"./post-CPnP1Klt.js";import"./useDictOptions-Cx2-jvcM.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),ve=x({...fe,setup(be){const v=se(),r=pe({account:"",name:"",role_id:2,apply_data_scope:1}),b=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;b.value=!0,await E(),(o=v.value)==null||o.open("add")},I=async o=>{var t,c;b.value=!0,await E(),(t=v.value)==null||t.open("edit"),(c=v.value)==null||c.setFormData(o)},K=async o=>{await X.confirm("确定要删除该医助吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,N=T,k=A,$=W,l=G,U=H,F=J,L=O,R=Q,w=ne("perms"),S=M;return m(),le("div",ce,[e(k,{class:"!border-none",shadow:"never"},{default:a(()=>[e(N,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医助账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医助账号",clearable:"",onKeyup:C(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医助名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医助名称",clearable:"",onKeyup:C(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(k,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e($,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医助 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(L,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(U,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(F,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>K(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(b)?(m(),s(ae,{key:0,ref_key:"editRef",ref:v,onSuccess:n(d),onClose:t[3]||(t[3]=i=>b.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(ve,[["__scopeId","data-v-72531b60"]]);export{yt as default}; +import{D as T,B as j,C as q,i as z,K as A,M,N as O,O as G,q as H,g as J}from"./element-plus-DGP1XOrU.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as W,k as X,_ as Y}from"./index-J_eFER10.js";import{w as C}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-RUE9duOm.js";import{u as oe}from"./usePaging-DofycyjW.js";import ae from"./edit-Do5cfT8q.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-DdhKHNS-.js";import"./post-BjyIxcyn.js";import"./useDictOptions-CU1TLMPn.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),ve=x({...fe,setup(be){const v=se(),r=pe({account:"",name:"",role_id:2,apply_data_scope:1}),b=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;b.value=!0,await E(),(o=v.value)==null||o.open("add")},I=async o=>{var t,c;b.value=!0,await E(),(t=v.value)==null||t.open("edit"),(c=v.value)==null||c.setFormData(o)},K=async o=>{await X.confirm("确定要删除该医助吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,N=T,k=A,$=W,l=G,U=H,F=J,L=O,R=Q,w=ne("perms"),S=M;return m(),le("div",ce,[e(k,{class:"!border-none",shadow:"never"},{default:a(()=>[e(N,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医助账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医助账号",clearable:"",onKeyup:C(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医助名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医助名称",clearable:"",onKeyup:C(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(k,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e($,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医助 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(L,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(U,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(F,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>K(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(b)?(m(),s(ae,{key:0,ref_key:"editRef",ref:v,onSuccess:n(d),onClose:t[3]||(t[3]=i=>b.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(ve,[["__scopeId","data-v-72531b60"]]);export{yt as default}; diff --git a/server/public/admin/assets/index-J4t9UnEx.js b/server/public/admin/assets/index-BcWKucza.js similarity index 89% rename from server/public/admin/assets/index-J4t9UnEx.js rename to server/public/admin/assets/index-BcWKucza.js index d27856bd1..59794ca68 100644 --- a/server/public/admin/assets/index-J4t9UnEx.js +++ b/server/public/admin/assets/index-BcWKucza.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/edit-BhCPKHfV.js","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{_ as ae}from"./jspdf-BsthCvR5.js";import{D as we,B as Ce,S as De,Z as Ee,i as Ve,a2 as xe,d as Oe,K as Re,N as Ne,O as Se,T as Te,r as Le,M as Pe,W as Ae}from"./element-plus-DGP1XOrU.js";import{i as ne}from"./@element-plus/icons-vue-CbYn5zW9.js";import{w as Me,x as Fe,z as Ie,A as Ye}from"./stats-D2lwBNks.js";import{h as O}from"./perm-CTlz8z1G.js";import{f as re,b as Be,ak as r,I as _,a as n,aN as l,O as s,J as i,F as V,ap as le,H as ze,aP as ie,G as g,P as se,A as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,n as m}from"./@vue/reactivity-DiY1c2vO.js";import{o as Ue,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as Qe}from"./index-fRv3NTFQ.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ge={class:"revisit-rate-page"},He={class:"rate-caliber-trigger"},Je={class:"rate-kpi-grid"},Ke=["onClick"],We={class:"rate-kpi-label"},Ze={class:"rate-kpi-value"},je={key:0,class:"rate-kpi-sub"},qe={class:"rate-card-header"},Xe={key:0,class:"rate-dept-cell"},et={class:"rate-dept-count"},tt={key:1},at={key:1},nt={key:1},lt={key:1},it={key:1},st={key:1},ot={class:"rate-detail-footer"},rt=re({name:"revisitRateStatsPage"}),dt=re({...rt,setup(ut){const de=se(()=>ae(()=>import("./PrescriptionOrderDetailDrawer-O5Yv7ynk.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]))),ue=se(()=>ae(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,42,43,92,93,94,95,96,97,98,99,100,101,102,103]))),R=O(["stats.revisitRate/assignLines"]),N=O(["stats.revisitRate/visitOrderLines"]),B=O(["tcm.prescriptionOrder/detail"]),S=O(["tcm.diagnosis/detail"]),T=m([2,3,4]),z=["零","一","二","三","四","五","六","七","八","九","十"],y=e=>e>=2&&e<=10?`${z[e]}诊`:e>10&&e<20?`十${z[e-10]}诊`:`${e}诊`,U=new Date,Q=`${U.getFullYear()}-${String(U.getMonth()+1).padStart(2,"0")}`,b=m(Q),$=m(void 0),w=m(!1),G=m([]),L=m(null),P=m([]),pe={value:"id",label:"name",children:"children"},A=oe(()=>{const[e,a]=b.value.split("-");return e&&a?`${e}年${Number(a)}月`:b.value}),M=e=>e==null?"—":`${e}%`,F=()=>({month:b.value,dept_ids:$.value?String($.value):""}),ce=oe(()=>{const e=L.value,a=[{key:"assigned",label:"当月被指派总数",value:e?String(e.assigned_count):"—",sub:"",clickable:!!(R&&e&&e.assigned_count>0),onClick:()=>J(null)}];for(const o of T.value){const c=e?e[`visit${o}_count`]:null,u=e?e[`visit${o}_rate`]:null;a.push({key:`visit${o}`,label:`当月${y(o)}接诊率`,value:e?M(u):"—",sub:e?`${y(o)}下单 ${c} 单`:"",clickable:!!(N&&c>0),onClick:()=>K(o,null)})}return a}),_e=({columns:e})=>{const a=L.value;return e.map((o,c)=>{if(c===0)return"合计";if(!a)return"";const u=String(o.property||"");return u==="assigned_count"?String(a.assigned_count):/^visit\d+_count$/.test(u)?String(a[u]??""):/^visit\d+_rate$/.test(u)?M(a[u]):""})},me=e=>{const a=new Date;return e.getFullYear()*12+e.getMonth()>a.getFullYear()*12+a.getMonth()},C=async()=>{w.value=!0;try{const e=await Me(F());G.value=(e==null?void 0:e.rows)??[],L.value=(e==null?void 0:e.total)??null,Array.isArray(e==null?void 0:e.slots)&&e.slots.length&&(T.value=e.slots.map(a=>Number(a)).filter(a=>a>=2)),e!=null&&e.month&&(b.value=e.month)}finally{w.value=!1}},ve=e=>{const a=new Map;for(const u of e)a.set(u.id,{...u,children:[]});const o=[];for(const u of e){const h=a.get(u.id);u.pid>0&&a.has(u.pid)?a.get(u.pid).children.push(h):o.push(h)}const c=u=>{var h;(h=u.children)!=null&&h.length?u.children.forEach(c):delete u.children};return o.forEach(c),o},fe=async()=>{try{const e=await Fe();P.value=ve((e==null?void 0:e.rows)??[])}catch{P.value=[]}},x=m(!1),I=m("assign"),Y=m(""),D=m(!1),k=m([]),H=e=>e?e.is_dept?{dept_id:e.dept_id,label:e.dept_name}:{assistant_id:e.assistant_id,label:e.assistant_name||""}:{label:"合计"},J=async e=>{if(!R)return;const a=H(e);I.value="assign",Y.value=`${a.label} · 被指派明细(${A.value})`,x.value=!0,D.value=!0,k.value=[];try{const o=await Ie({...F(),assistant_id:a.assistant_id,dept_id:a.dept_id});k.value=(o==null?void 0:o.rows)??[]}finally{D.value=!1}},K=async(e,a)=>{if(!N)return;const o=H(a);I.value="orders",Y.value=`${o.label} · ${y(e)}订单明细(${A.value})`,x.value=!0,D.value=!0,k.value=[];try{const c=await Ye({...F(),slot:e,assistant_id:o.assistant_id,dept_id:o.dept_id});k.value=(c==null?void 0:c.rows)??[]}finally{D.value=!1}},W=m(null),he=e=>{var a;!B||!e||(a=W.value)==null||a.open(e)},Z=m(null),j=e=>{var a;!S||!e||(a=Z.value)==null||a.openViewOnly(e)},be=()=>{b.value=Q,$.value=void 0,C()};return Be(()=>{fe(),C()}),(e,a)=>{const o=De,c=Ce,u=Ee,h=Ve,q=Oe,ge=xe,ye=we,X=Re,p=Se,E=Te,ke=Le,ee=Ne,$e=Ae,te=Pe;return r(),_("div",Ge,[n(X,{class:"!border-none",shadow:"never"},{default:l(()=>[n(ye,{inline:!0,class:"rate-filter-form"},{default:l(()=>[n(c,{label:"统计月份"},{default:l(()=>[n(o,{modelValue:b.value,"onUpdate:modelValue":a[0]||(a[0]=t=>b.value=t),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,"disabled-date":me,style:{width:"160px"},onChange:C},null,8,["modelValue"])]),_:1}),n(c,{label:"部门"},{default:l(()=>[n(u,{modelValue:$.value,"onUpdate:modelValue":a[1]||(a[1]=t=>$.value=t),data:P.value,placeholder:"二中心(全部)",clearable:"",filterable:"","check-strictly":"","node-key":"id","default-expand-all":!0,props:pe,style:{width:"220px"},onChange:C},null,8,["modelValue","data"])]),_:1}),n(c,null,{default:l(()=>[n(h,{type:"primary",loading:w.value,onClick:C},{default:l(()=>[...a[3]||(a[3]=[s("查询",-1)])]),_:1},8,["loading"]),n(h,{disabled:w.value,onClick:be},{default:l(()=>[...a[4]||(a[4]=[s("重置",-1)])]),_:1},8,["disabled"])]),_:1}),n(c,null,{default:l(()=>[n(ge,{placement:"bottom-start",width:500,trigger:"hover"},{reference:l(()=>[i("span",He,[n(q,null,{default:l(()=>[n(f(ne))]),_:1}),a[5]||(a[5]=s(" 统计口径 ",-1))])]),default:l(()=>[a[6]||(a[6]=i("div",{class:"rate-caliber"},[i("p",null,[i("b",null,"当月被指派总数"),s(":当月内诊单被指派给医助(按指派操作时间落月,"),i("b",null,"剔除勾选「继承」的指派"),s(")的诊单数,按「医助 × 诊单」去重;部门行 / 合计行按诊单去重;"),i("b",null,"再剔除"),s("名下存在履约「拒收 / 退款」业务订单的诊单。 ")]),i("p",null,[i("b",null,"诊次(第 N 次下单)"),s(":患者(诊单)名下计入业绩的业务订单(剔除已取消 / 拒收 / 退款)按下单时间升序编号为「实单序号」,"),i("b",null,"统计诊次 = 实单序号 + 诊单偏移"),s("(默认偏移 0 → 第 1 笔实单为一诊;偏移 1 → 第 1 笔实单为二诊;偏移 2 → 第 1 笔实单为三诊,5 笔实单等价七诊)。诊次"),i("b",null,"跨月累计不重置"),s("。诊单可在「业务订单」tab 配置偏移量。 ")]),i("p",null,[i("b",null,"当月 N 诊单数"),s(":当月内下单且诊次为 N 的订单数,归属下单时点"),i("b",null,"持有该患者的医助"),s("(指派可在往月;释放后不再归属;「继承」指派会转移持有人但不计被指派数)。 ")]),i("p",null,[i("b",null,"当月 N 诊接诊率"),s(" = 当月 N 诊单数 ÷ 当月被指派总数。往月指派、当月成交会推高分子,比率可能超过 100%;医助当月无新指派但旗下有成交时,被指派数为 0、比率显示「—」。 ")]),i("p",null,[s(" 医助按人事部门归组;"),i("b",null,"仅统计「二中心」及其组织下级"),s(";部门下拉与未选时的默认范围均限定在该子树,选定部门时含其组织下级。 ")])],-1))]),_:1})]),_:1})]),_:1})]),_:1}),i("div",Je,[(r(!0),_(V,null,le(ce.value,t=>(r(),_("div",{key:t.key,class:Ue(["rate-kpi-card",{"is-clickable":t.clickable}]),onClick:v=>t.clickable&&t.onClick&&t.onClick()},[i("div",We,d(t.label),1),i("div",Ze,d(t.value),1),t.sub?(r(),_("div",je,d(t.sub),1)):ze("",!0)],10,Ke))),128))]),n(X,{class:"!border-none mt-4",shadow:"never"},{header:l(()=>[i("div",qe,[i("span",null,"部门 · 医助明细("+d(A.value)+")",1),a[7]||(a[7]=i("span",{class:"rate-card-hint"},"点击「被指派数 / N诊单数」可查看具体诊单与订单;底栏合计的被指派数按诊单去重",-1))])]),default:l(()=>[ie((r(),g(ee,{data:G.value,size:"small",border:"","row-key":"row_key","tree-props":{children:"children"},"default-expand-all":!0,"show-summary":"","summary-method":_e},{default:l(()=>[n(p,{label:"部门 / 医助","min-width":"200",fixed:""},{default:l(({row:t})=>[t.is_dept?(r(),_("span",Xe,[s(d(t.dept_name)+" ",1),i("span",et,d(t.assistant_count)+" 人",1)])):(r(),_("span",tt,d(t.assistant_name),1))]),_:1}),n(p,{prop:"assigned_count",label:"当月被指派数","min-width":"110",align:"right"},{default:l(({row:t})=>[f(R)&&t.assigned_count>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>J(t)},{default:l(()=>[s(d(t.assigned_count),1)]),_:2},1032,["onClick"])):(r(),_("span",at,d(t.assigned_count),1))]),_:1}),(r(!0),_(V,null,le(T.value,t=>(r(),_(V,{key:t},[n(p,{prop:`visit${t}_count`,label:`${y(t)}单数`,"min-width":"96",align:"right"},{header:l(()=>[i("span",null,d(y(t))+"单数",1),n(ke,{effect:"dark",placement:"top",content:`当月内下单、诊次为第 ${t} 次的订单数(诊次跨月累计;归属下单时点持有患者的医助)`},{default:l(()=>[n(q,{class:"rate-th-hint"},{default:l(()=>[n(f(ne))]),_:1})]),_:1},8,["content"])]),default:l(({row:v})=>[f(N)&&v[`visit${t}_count`]>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:pt=>K(t,v)},{default:l(()=>[s(d(v[`visit${t}_count`]),1)]),_:2},1032,["onClick"])):(r(),_("span",nt,d(v[`visit${t}_count`]),1))]),_:2},1032,["prop","label"]),n(p,{prop:`visit${t}_rate`,label:`${y(t)}接诊率`,"min-width":"96",align:"right"},{default:l(({row:v})=>[s(d(M(v[`visit${t}_rate`])),1)]),_:2},1032,["prop","label"])],64))),128))]),_:1},8,["data"])),[[te,w.value]])]),_:1}),n($e,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=t=>x.value=t),title:Y.value,width:"980px",top:"6vh","destroy-on-close":""},{default:l(()=>[ie((r(),g(ee,{data:k.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:l(()=>[I.value==="assign"?(r(),_(V,{key:0},[n(p,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(p,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(S)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>j(t.diagnosis_id)},{default:l(()=>[s(d(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",lt,d(t.patient_name||"—"),1))]),_:1}),n(p,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:l(({row:t})=>[s(d(t.patient_phone||"—"),1)]),_:1}),n(p,{prop:"assistant_names",label:"被指派医助","min-width":"140","show-overflow-tooltip":""}),n(p,{prop:"assign_count",label:"当月指派次数",width:"110",align:"right"}),n(p,{prop:"last_assign_time_text",label:"最近指派时间","min-width":"160"})],64)):(r(),_(V,{key:1},[n(p,{prop:"order_no",label:"订单号","min-width":"180","show-overflow-tooltip":""},{default:l(({row:t})=>[f(B)&&t.order_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>he(t.order_id)},{default:l(()=>[s(d(t.order_no||`#${t.order_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",it,d(t.order_no||`#${t.order_id}`),1))]),_:1}),n(p,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(p,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(S)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>j(t.diagnosis_id)},{default:l(()=>[s(d(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",st,d(t.patient_name||"—"),1))]),_:1}),n(p,{prop:"amount",label:"金额",width:"100",align:"right"},{default:l(({row:t})=>[s("¥ "+d(t.amount),1)]),_:1}),n(p,{prop:"create_time_text",label:"下单时间","min-width":"160"}),n(p,{prop:"assistant_name",label:"持有医助","min-width":"100"}),n(p,{prop:"creator_name",label:"订单创建人","min-width":"100"})],64))]),_:1},8,["data"])),[[te,D.value]]),i("div",ot,"共 "+d(k.value.length)+" 条",1)]),_:1},8,["modelValue","title"]),n(f(de),{ref_key:"orderDetailRef",ref:W,readonly:"","append-to-body":""},null,512),n(f(ue),{ref_key:"diagnosisEditRef",ref:Z},null,512)])}}}),jt=Qe(dt,[["__scopeId","data-v-d232729c"]]);export{jt as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/edit-DL6Vxw1r.js","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{_ as ae}from"./jspdf-BsthCvR5.js";import{D as we,B as Ce,S as De,Z as Ee,i as Ve,a2 as xe,d as Oe,K as Re,N as Ne,O as Se,T as Te,r as Le,M as Pe,W as Ae}from"./element-plus-DGP1XOrU.js";import{i as ne}from"./@element-plus/icons-vue-CbYn5zW9.js";import{w as Me,x as Fe,z as Ie,A as Ye}from"./stats-DXRw03Ae.js";import{h as O}from"./perm-8cp9D7Ag.js";import{f as re,b as Be,ak as r,I as _,a as n,aN as l,O as s,J as i,F as V,ap as le,H as ze,aP as ie,G as g,P as se,A as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,n as m}from"./@vue/reactivity-DiY1c2vO.js";import{o as Ue,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as Qe}from"./index-J_eFER10.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ge={class:"revisit-rate-page"},He={class:"rate-caliber-trigger"},Je={class:"rate-kpi-grid"},Ke=["onClick"],We={class:"rate-kpi-label"},Ze={class:"rate-kpi-value"},je={key:0,class:"rate-kpi-sub"},qe={class:"rate-card-header"},Xe={key:0,class:"rate-dept-cell"},et={class:"rate-dept-count"},tt={key:1},at={key:1},nt={key:1},lt={key:1},it={key:1},st={key:1},ot={class:"rate-detail-footer"},rt=re({name:"revisitRateStatsPage"}),dt=re({...rt,setup(ut){const de=se(()=>ae(()=>import("./PrescriptionOrderDetailDrawer-C30zC4to.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]))),ue=se(()=>ae(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,0,42,43,92,93,94,95,96,97,98,99,100,101,102,103]))),R=O(["stats.revisitRate/assignLines"]),N=O(["stats.revisitRate/visitOrderLines"]),B=O(["tcm.prescriptionOrder/detail"]),S=O(["tcm.diagnosis/detail"]),T=m([2,3,4]),z=["零","一","二","三","四","五","六","七","八","九","十"],y=e=>e>=2&&e<=10?`${z[e]}诊`:e>10&&e<20?`十${z[e-10]}诊`:`${e}诊`,U=new Date,Q=`${U.getFullYear()}-${String(U.getMonth()+1).padStart(2,"0")}`,b=m(Q),$=m(void 0),w=m(!1),G=m([]),L=m(null),P=m([]),pe={value:"id",label:"name",children:"children"},A=oe(()=>{const[e,a]=b.value.split("-");return e&&a?`${e}年${Number(a)}月`:b.value}),M=e=>e==null?"—":`${e}%`,F=()=>({month:b.value,dept_ids:$.value?String($.value):""}),ce=oe(()=>{const e=L.value,a=[{key:"assigned",label:"当月被指派总数",value:e?String(e.assigned_count):"—",sub:"",clickable:!!(R&&e&&e.assigned_count>0),onClick:()=>J(null)}];for(const o of T.value){const c=e?e[`visit${o}_count`]:null,u=e?e[`visit${o}_rate`]:null;a.push({key:`visit${o}`,label:`当月${y(o)}接诊率`,value:e?M(u):"—",sub:e?`${y(o)}下单 ${c} 单`:"",clickable:!!(N&&c>0),onClick:()=>K(o,null)})}return a}),_e=({columns:e})=>{const a=L.value;return e.map((o,c)=>{if(c===0)return"合计";if(!a)return"";const u=String(o.property||"");return u==="assigned_count"?String(a.assigned_count):/^visit\d+_count$/.test(u)?String(a[u]??""):/^visit\d+_rate$/.test(u)?M(a[u]):""})},me=e=>{const a=new Date;return e.getFullYear()*12+e.getMonth()>a.getFullYear()*12+a.getMonth()},C=async()=>{w.value=!0;try{const e=await Me(F());G.value=(e==null?void 0:e.rows)??[],L.value=(e==null?void 0:e.total)??null,Array.isArray(e==null?void 0:e.slots)&&e.slots.length&&(T.value=e.slots.map(a=>Number(a)).filter(a=>a>=2)),e!=null&&e.month&&(b.value=e.month)}finally{w.value=!1}},ve=e=>{const a=new Map;for(const u of e)a.set(u.id,{...u,children:[]});const o=[];for(const u of e){const h=a.get(u.id);u.pid>0&&a.has(u.pid)?a.get(u.pid).children.push(h):o.push(h)}const c=u=>{var h;(h=u.children)!=null&&h.length?u.children.forEach(c):delete u.children};return o.forEach(c),o},fe=async()=>{try{const e=await Fe();P.value=ve((e==null?void 0:e.rows)??[])}catch{P.value=[]}},x=m(!1),I=m("assign"),Y=m(""),D=m(!1),k=m([]),H=e=>e?e.is_dept?{dept_id:e.dept_id,label:e.dept_name}:{assistant_id:e.assistant_id,label:e.assistant_name||""}:{label:"合计"},J=async e=>{if(!R)return;const a=H(e);I.value="assign",Y.value=`${a.label} · 被指派明细(${A.value})`,x.value=!0,D.value=!0,k.value=[];try{const o=await Ie({...F(),assistant_id:a.assistant_id,dept_id:a.dept_id});k.value=(o==null?void 0:o.rows)??[]}finally{D.value=!1}},K=async(e,a)=>{if(!N)return;const o=H(a);I.value="orders",Y.value=`${o.label} · ${y(e)}订单明细(${A.value})`,x.value=!0,D.value=!0,k.value=[];try{const c=await Ye({...F(),slot:e,assistant_id:o.assistant_id,dept_id:o.dept_id});k.value=(c==null?void 0:c.rows)??[]}finally{D.value=!1}},W=m(null),he=e=>{var a;!B||!e||(a=W.value)==null||a.open(e)},Z=m(null),j=e=>{var a;!S||!e||(a=Z.value)==null||a.openViewOnly(e)},be=()=>{b.value=Q,$.value=void 0,C()};return Be(()=>{fe(),C()}),(e,a)=>{const o=De,c=Ce,u=Ee,h=Ve,q=Oe,ge=xe,ye=we,X=Re,p=Se,E=Te,ke=Le,ee=Ne,$e=Ae,te=Pe;return r(),_("div",Ge,[n(X,{class:"!border-none",shadow:"never"},{default:l(()=>[n(ye,{inline:!0,class:"rate-filter-form"},{default:l(()=>[n(c,{label:"统计月份"},{default:l(()=>[n(o,{modelValue:b.value,"onUpdate:modelValue":a[0]||(a[0]=t=>b.value=t),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,"disabled-date":me,style:{width:"160px"},onChange:C},null,8,["modelValue"])]),_:1}),n(c,{label:"部门"},{default:l(()=>[n(u,{modelValue:$.value,"onUpdate:modelValue":a[1]||(a[1]=t=>$.value=t),data:P.value,placeholder:"二中心(全部)",clearable:"",filterable:"","check-strictly":"","node-key":"id","default-expand-all":!0,props:pe,style:{width:"220px"},onChange:C},null,8,["modelValue","data"])]),_:1}),n(c,null,{default:l(()=>[n(h,{type:"primary",loading:w.value,onClick:C},{default:l(()=>[...a[3]||(a[3]=[s("查询",-1)])]),_:1},8,["loading"]),n(h,{disabled:w.value,onClick:be},{default:l(()=>[...a[4]||(a[4]=[s("重置",-1)])]),_:1},8,["disabled"])]),_:1}),n(c,null,{default:l(()=>[n(ge,{placement:"bottom-start",width:500,trigger:"hover"},{reference:l(()=>[i("span",He,[n(q,null,{default:l(()=>[n(f(ne))]),_:1}),a[5]||(a[5]=s(" 统计口径 ",-1))])]),default:l(()=>[a[6]||(a[6]=i("div",{class:"rate-caliber"},[i("p",null,[i("b",null,"当月被指派总数"),s(":当月内诊单被指派给医助(按指派操作时间落月,"),i("b",null,"剔除勾选「继承」的指派"),s(")的诊单数,按「医助 × 诊单」去重;部门行 / 合计行按诊单去重;"),i("b",null,"再剔除"),s("名下存在履约「拒收 / 退款」业务订单的诊单。 ")]),i("p",null,[i("b",null,"诊次(第 N 次下单)"),s(":患者(诊单)名下计入业绩的业务订单(剔除已取消 / 拒收 / 退款)按下单时间升序编号为「实单序号」,"),i("b",null,"统计诊次 = 实单序号 + 诊单偏移"),s("(默认偏移 0 → 第 1 笔实单为一诊;偏移 1 → 第 1 笔实单为二诊;偏移 2 → 第 1 笔实单为三诊,5 笔实单等价七诊)。诊次"),i("b",null,"跨月累计不重置"),s("。诊单可在「业务订单」tab 配置偏移量。 ")]),i("p",null,[i("b",null,"当月 N 诊单数"),s(":当月内下单且诊次为 N 的订单数,归属下单时点"),i("b",null,"持有该患者的医助"),s("(指派可在往月;释放后不再归属;「继承」指派会转移持有人但不计被指派数)。 ")]),i("p",null,[i("b",null,"当月 N 诊接诊率"),s(" = 当月 N 诊单数 ÷ 当月被指派总数。往月指派、当月成交会推高分子,比率可能超过 100%;医助当月无新指派但旗下有成交时,被指派数为 0、比率显示「—」。 ")]),i("p",null,[s(" 医助按人事部门归组;"),i("b",null,"仅统计「二中心」及其组织下级"),s(";部门下拉与未选时的默认范围均限定在该子树,选定部门时含其组织下级。 ")])],-1))]),_:1})]),_:1})]),_:1})]),_:1}),i("div",Je,[(r(!0),_(V,null,le(ce.value,t=>(r(),_("div",{key:t.key,class:Ue(["rate-kpi-card",{"is-clickable":t.clickable}]),onClick:v=>t.clickable&&t.onClick&&t.onClick()},[i("div",We,d(t.label),1),i("div",Ze,d(t.value),1),t.sub?(r(),_("div",je,d(t.sub),1)):ze("",!0)],10,Ke))),128))]),n(X,{class:"!border-none mt-4",shadow:"never"},{header:l(()=>[i("div",qe,[i("span",null,"部门 · 医助明细("+d(A.value)+")",1),a[7]||(a[7]=i("span",{class:"rate-card-hint"},"点击「被指派数 / N诊单数」可查看具体诊单与订单;底栏合计的被指派数按诊单去重",-1))])]),default:l(()=>[ie((r(),g(ee,{data:G.value,size:"small",border:"","row-key":"row_key","tree-props":{children:"children"},"default-expand-all":!0,"show-summary":"","summary-method":_e},{default:l(()=>[n(p,{label:"部门 / 医助","min-width":"200",fixed:""},{default:l(({row:t})=>[t.is_dept?(r(),_("span",Xe,[s(d(t.dept_name)+" ",1),i("span",et,d(t.assistant_count)+" 人",1)])):(r(),_("span",tt,d(t.assistant_name),1))]),_:1}),n(p,{prop:"assigned_count",label:"当月被指派数","min-width":"110",align:"right"},{default:l(({row:t})=>[f(R)&&t.assigned_count>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>J(t)},{default:l(()=>[s(d(t.assigned_count),1)]),_:2},1032,["onClick"])):(r(),_("span",at,d(t.assigned_count),1))]),_:1}),(r(!0),_(V,null,le(T.value,t=>(r(),_(V,{key:t},[n(p,{prop:`visit${t}_count`,label:`${y(t)}单数`,"min-width":"96",align:"right"},{header:l(()=>[i("span",null,d(y(t))+"单数",1),n(ke,{effect:"dark",placement:"top",content:`当月内下单、诊次为第 ${t} 次的订单数(诊次跨月累计;归属下单时点持有患者的医助)`},{default:l(()=>[n(q,{class:"rate-th-hint"},{default:l(()=>[n(f(ne))]),_:1})]),_:1},8,["content"])]),default:l(({row:v})=>[f(N)&&v[`visit${t}_count`]>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:pt=>K(t,v)},{default:l(()=>[s(d(v[`visit${t}_count`]),1)]),_:2},1032,["onClick"])):(r(),_("span",nt,d(v[`visit${t}_count`]),1))]),_:2},1032,["prop","label"]),n(p,{prop:`visit${t}_rate`,label:`${y(t)}接诊率`,"min-width":"96",align:"right"},{default:l(({row:v})=>[s(d(M(v[`visit${t}_rate`])),1)]),_:2},1032,["prop","label"])],64))),128))]),_:1},8,["data"])),[[te,w.value]])]),_:1}),n($e,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=t=>x.value=t),title:Y.value,width:"980px",top:"6vh","destroy-on-close":""},{default:l(()=>[ie((r(),g(ee,{data:k.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:l(()=>[I.value==="assign"?(r(),_(V,{key:0},[n(p,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(p,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(S)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>j(t.diagnosis_id)},{default:l(()=>[s(d(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",lt,d(t.patient_name||"—"),1))]),_:1}),n(p,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:l(({row:t})=>[s(d(t.patient_phone||"—"),1)]),_:1}),n(p,{prop:"assistant_names",label:"被指派医助","min-width":"140","show-overflow-tooltip":""}),n(p,{prop:"assign_count",label:"当月指派次数",width:"110",align:"right"}),n(p,{prop:"last_assign_time_text",label:"最近指派时间","min-width":"160"})],64)):(r(),_(V,{key:1},[n(p,{prop:"order_no",label:"订单号","min-width":"180","show-overflow-tooltip":""},{default:l(({row:t})=>[f(B)&&t.order_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>he(t.order_id)},{default:l(()=>[s(d(t.order_no||`#${t.order_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",it,d(t.order_no||`#${t.order_id}`),1))]),_:1}),n(p,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(p,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(S)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>j(t.diagnosis_id)},{default:l(()=>[s(d(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",st,d(t.patient_name||"—"),1))]),_:1}),n(p,{prop:"amount",label:"金额",width:"100",align:"right"},{default:l(({row:t})=>[s("¥ "+d(t.amount),1)]),_:1}),n(p,{prop:"create_time_text",label:"下单时间","min-width":"160"}),n(p,{prop:"assistant_name",label:"持有医助","min-width":"100"}),n(p,{prop:"creator_name",label:"订单创建人","min-width":"100"})],64))]),_:1},8,["data"])),[[te,D.value]]),i("div",ot,"共 "+d(k.value.length)+" 条",1)]),_:1},8,["modelValue","title"]),n(f(de),{ref_key:"orderDetailRef",ref:W,readonly:"","append-to-body":""},null,512),n(f(ue),{ref_key:"diagnosisEditRef",ref:Z},null,512)])}}}),jt=Qe(dt,[["__scopeId","data-v-d232729c"]]);export{jt as default}; diff --git a/server/public/admin/assets/index-X1ZWiNaa.js b/server/public/admin/assets/index-Be83ib0W.js similarity index 90% rename from server/public/admin/assets/index-X1ZWiNaa.js rename to server/public/admin/assets/index-Be83ib0W.js index d2e483b2f..d48ba6416 100644 --- a/server/public/admin/assets/index-X1ZWiNaa.js +++ b/server/public/admin/assets/index-Be83ib0W.js @@ -1 +1 @@ -import{D as T,B as j,C as q,i as z,K as A,M,N as O,O as G,q as H,g as J}from"./element-plus-DGP1XOrU.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as W,k as X,_ as Y}from"./index-fRv3NTFQ.js";import{w as C}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-BiglL3bM.js";import{u as oe}from"./usePaging-DofycyjW.js";import ae from"./edit-hvqOlY5P.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-OHG8LTQz.js";import"./post-CPnP1Klt.js";import"./useDictOptions-Cx2-jvcM.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),ve=x({...fe,setup(be){const v=se(),r=pe({account:"",name:"",role_id:1,apply_data_scope:1}),b=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;b.value=!0,await E(),(o=v.value)==null||o.open("add")},I=async o=>{var t,c;b.value=!0,await E(),(t=v.value)==null||t.open("edit"),(c=v.value)==null||c.setFormData(o)},K=async o=>{await X.confirm("确定要删除该医生吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,N=T,k=A,$=W,l=G,U=H,F=J,L=O,R=Q,w=ne("perms"),S=M;return m(),le("div",ce,[e(k,{class:"!border-none",shadow:"never"},{default:a(()=>[e(N,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医生账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医生账号",clearable:"",onKeyup:C(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医生名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医生名称",clearable:"",onKeyup:C(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(k,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e($,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医生 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(L,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(U,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(F,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>K(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(b)?(m(),s(ae,{key:0,ref_key:"editRef",ref:v,onSuccess:n(d),onClose:t[3]||(t[3]=i=>b.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(ve,[["__scopeId","data-v-72ffb098"]]);export{yt as default}; +import{D as T,B as j,C as q,i as z,K as A,M,N as O,O as G,q as H,g as J}from"./element-plus-DGP1XOrU.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as W,k as X,_ as Y}from"./index-J_eFER10.js";import{w as C}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-RUE9duOm.js";import{u as oe}from"./usePaging-DofycyjW.js";import ae from"./edit-B_P_HVx3.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-DdhKHNS-.js";import"./post-BjyIxcyn.js";import"./useDictOptions-CU1TLMPn.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),ve=x({...fe,setup(be){const v=se(),r=pe({account:"",name:"",role_id:1,apply_data_scope:1}),b=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;b.value=!0,await E(),(o=v.value)==null||o.open("add")},I=async o=>{var t,c;b.value=!0,await E(),(t=v.value)==null||t.open("edit"),(c=v.value)==null||c.setFormData(o)},K=async o=>{await X.confirm("确定要删除该医生吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,N=T,k=A,$=W,l=G,U=H,F=J,L=O,R=Q,w=ne("perms"),S=M;return m(),le("div",ce,[e(k,{class:"!border-none",shadow:"never"},{default:a(()=>[e(N,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医生账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医生账号",clearable:"",onKeyup:C(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医生名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医生名称",clearable:"",onKeyup:C(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(k,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e($,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医生 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(L,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(U,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(F,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>K(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(b)?(m(),s(ae,{key:0,ref_key:"editRef",ref:v,onSuccess:n(d),onClose:t[3]||(t[3]=i=>b.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(ve,[["__scopeId","data-v-72ffb098"]]);export{yt as default}; diff --git a/server/public/admin/assets/index-D7__UvHo.js b/server/public/admin/assets/index-BeY5SVIg.js similarity index 95% rename from server/public/admin/assets/index-D7__UvHo.js rename to server/public/admin/assets/index-BeY5SVIg.js index 82bb8543a..b9adf7b74 100644 --- a/server/public/admin/assets/index-D7__UvHo.js +++ b/server/public/admin/assets/index-BeY5SVIg.js @@ -1 +1 @@ -import{_ as F}from"./index-D6hiZISU.js";import{i as I,N as J,O,v as G,J as K,U as L,g as Q,K as R}from"./element-plus-DGP1XOrU.js";import{l as C}from"./lodash-D3kF6u-c.js";import{b as $,c as j}from"./pay-C3f37fth.js";import{f as q,as as z,ak as e,I as o,J as i,aP as M,G as m,aN as a,O as l,F as P,ap as X,H as r,a as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,n as V}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const Z={key:0,class:"text-lg mb-[24px]"},tt={key:1,class:"text-lg mb-[24px]"},et={key:2,class:"text-lg mb-[24px]"},at={key:3,class:"text-lg mb-[24px]"},ot={key:4,class:"text-lg mb-[24px]"},lt={key:1},st={key:1},$t=q({__name:"index",setup(it){const n=V({}),u=V(!1);let v={};const x=async()=>{n.value=await $(),v=C.cloneDeep(n.value)},w=()=>{u.value=!0},E=(g,t)=>{n.value[t].forEach(_=>{_.is_default=0}),n.value[t][g].is_default=1},h=()=>{n.value=C.cloneDeep(v),u.value=!1},W=async()=>{await j(n.value),u.value=!1,x()};return x(),(g,t)=>{const _=I,D=G,y=O,N=K,B=L,U=Q,H=J,S=R,T=F,A=z("perms");return e(),o("div",null,[i("div",null,[M((e(),m(_,{type:"primary",onClick:w},{default:a(()=>[...t[0]||(t[0]=[l(" 设置支付方式 ",-1)])]),_:1})),[[A,["setting.pay.pay_way/setPayWay"]]])]),(e(!0),o(P,null,X(f(n),(k,p)=>(e(),m(S,{shadow:"never",class:"mt-4 !border-none",key:p},{default:a(()=>[i("div",null,[p==1?(e(),o("div",Z,[...t[1]||(t[1]=[l(" 微信小程序 ",-1),i("span",{class:"form-tips ml-[10px]"},"在微信小程序中付款的场景",-1)])])):r("",!0),p==2?(e(),o("div",tt,[...t[2]||(t[2]=[l(" 微信公众号 ",-1),i("span",{class:"form-tips ml-[10px]"}," 在微信公众号H5页面中付款的场景,公众号类型一般为服务号 ",-1)])])):r("",!0),p==3?(e(),o("div",et,[...t[3]||(t[3]=[l(" H5支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在浏览器H5页面中付款的场景",-1)])])):r("",!0),p==4?(e(),o("div",at,[...t[4]||(t[4]=[l(" PC支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在浏览器PC页面中付款的场景",-1)])])):r("",!0),p==5?(e(),o("div",ot,[...t[5]||(t[5]=[l(" APP支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在APP付款的场景",-1)])])):r("",!0),k.length?(e(),m(H,{key:5,data:k,style:{width:"100%"}},{default:a(()=>[d(y,{label:"图标","min-width":"150"},{default:a(({row:s})=>[d(D,{src:s.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),d(y,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),d(y,{label:"默认支付","min-width":"150"},{default:a(({row:s,$index:c})=>[i("div",null,[f(u)?(e(),m(N,{key:0,modelValue:s.is_default,"onUpdate:modelValue":b=>s.is_default=b,label:1,onChange:b=>E(c,p)},{default:a(()=>[...t[6]||(t[6]=[l(" 设为默认 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])):(e(),o(P,{key:1},[s.is_default==1?(e(),m(B,{key:0},{default:a(()=>[...t[7]||(t[7]=[l("默认",-1)])]),_:1})):(e(),o("span",lt,"-"))],64))])]),_:2},1024),d(y,{label:"开启状态","min-width":"150"},{default:a(({row:s})=>[f(u)?(e(),m(U,{key:0,modelValue:s.status,"onUpdate:modelValue":c=>s.status=c,"active-value":1,"inactive-value":0},null,8,["modelValue","onUpdate:modelValue"])):(e(),o("span",st,Y(s.status==1?"开启":"关闭"),1))]),_:1})]),_:2},1032,["data"])):r("",!0)])]),_:2},1024))),128)),f(u)?(e(),m(T,{key:0},{default:a(()=>[d(_,{onClick:h},{default:a(()=>[...t[8]||(t[8]=[l("取消",-1)])]),_:1}),d(_,{type:"primary",onClick:W},{default:a(()=>[...t[9]||(t[9]=[l("保存",-1)])]),_:1})]),_:1})):r("",!0)])}}});export{$t as default}; +import{_ as F}from"./index-UGD9wxNK.js";import{i as I,N as J,O,v as G,J as K,U as L,g as Q,K as R}from"./element-plus-DGP1XOrU.js";import{l as C}from"./lodash-D3kF6u-c.js";import{b as $,c as j}from"./pay-CM_epwkI.js";import{f as q,as as z,ak as e,I as o,J as i,aP as M,G as m,aN as a,O as l,F as P,ap as X,H as r,a as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,n as V}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const Z={key:0,class:"text-lg mb-[24px]"},tt={key:1,class:"text-lg mb-[24px]"},et={key:2,class:"text-lg mb-[24px]"},at={key:3,class:"text-lg mb-[24px]"},ot={key:4,class:"text-lg mb-[24px]"},lt={key:1},st={key:1},$t=q({__name:"index",setup(it){const n=V({}),u=V(!1);let v={};const x=async()=>{n.value=await $(),v=C.cloneDeep(n.value)},w=()=>{u.value=!0},E=(g,t)=>{n.value[t].forEach(_=>{_.is_default=0}),n.value[t][g].is_default=1},h=()=>{n.value=C.cloneDeep(v),u.value=!1},W=async()=>{await j(n.value),u.value=!1,x()};return x(),(g,t)=>{const _=I,D=G,y=O,N=K,B=L,U=Q,H=J,S=R,T=F,A=z("perms");return e(),o("div",null,[i("div",null,[M((e(),m(_,{type:"primary",onClick:w},{default:a(()=>[...t[0]||(t[0]=[l(" 设置支付方式 ",-1)])]),_:1})),[[A,["setting.pay.pay_way/setPayWay"]]])]),(e(!0),o(P,null,X(f(n),(k,p)=>(e(),m(S,{shadow:"never",class:"mt-4 !border-none",key:p},{default:a(()=>[i("div",null,[p==1?(e(),o("div",Z,[...t[1]||(t[1]=[l(" 微信小程序 ",-1),i("span",{class:"form-tips ml-[10px]"},"在微信小程序中付款的场景",-1)])])):r("",!0),p==2?(e(),o("div",tt,[...t[2]||(t[2]=[l(" 微信公众号 ",-1),i("span",{class:"form-tips ml-[10px]"}," 在微信公众号H5页面中付款的场景,公众号类型一般为服务号 ",-1)])])):r("",!0),p==3?(e(),o("div",et,[...t[3]||(t[3]=[l(" H5支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在浏览器H5页面中付款的场景",-1)])])):r("",!0),p==4?(e(),o("div",at,[...t[4]||(t[4]=[l(" PC支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在浏览器PC页面中付款的场景",-1)])])):r("",!0),p==5?(e(),o("div",ot,[...t[5]||(t[5]=[l(" APP支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在APP付款的场景",-1)])])):r("",!0),k.length?(e(),m(H,{key:5,data:k,style:{width:"100%"}},{default:a(()=>[d(y,{label:"图标","min-width":"150"},{default:a(({row:s})=>[d(D,{src:s.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),d(y,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),d(y,{label:"默认支付","min-width":"150"},{default:a(({row:s,$index:c})=>[i("div",null,[f(u)?(e(),m(N,{key:0,modelValue:s.is_default,"onUpdate:modelValue":b=>s.is_default=b,label:1,onChange:b=>E(c,p)},{default:a(()=>[...t[6]||(t[6]=[l(" 设为默认 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])):(e(),o(P,{key:1},[s.is_default==1?(e(),m(B,{key:0},{default:a(()=>[...t[7]||(t[7]=[l("默认",-1)])]),_:1})):(e(),o("span",lt,"-"))],64))])]),_:2},1024),d(y,{label:"开启状态","min-width":"150"},{default:a(({row:s})=>[f(u)?(e(),m(U,{key:0,modelValue:s.status,"onUpdate:modelValue":c=>s.status=c,"active-value":1,"inactive-value":0},null,8,["modelValue","onUpdate:modelValue"])):(e(),o("span",st,Y(s.status==1?"开启":"关闭"),1))]),_:1})]),_:2},1032,["data"])):r("",!0)])]),_:2},1024))),128)),f(u)?(e(),m(T,{key:0},{default:a(()=>[d(_,{onClick:h},{default:a(()=>[...t[8]||(t[8]=[l("取消",-1)])]),_:1}),d(_,{type:"primary",onClick:W},{default:a(()=>[...t[9]||(t[9]=[l("保存",-1)])]),_:1})]),_:1})):r("",!0)])}}});export{$t as default}; diff --git a/server/public/admin/assets/index-B-4XfG4i.js b/server/public/admin/assets/index-BiFi2OpS.js similarity index 95% rename from server/public/admin/assets/index-B-4XfG4i.js rename to server/public/admin/assets/index-BiFi2OpS.js index ef2ecb2a8..04bba08c8 100644 --- a/server/public/admin/assets/index-B-4XfG4i.js +++ b/server/public/admin/assets/index-BiFi2OpS.js @@ -1 +1 @@ -import{P as J,D as M,B as Q,Q as W,R as X,C as Y,i as Z,K as ee,N as te,O as ae,U as oe,M as le}from"./element-plus-DGP1XOrU.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as ie,k as se}from"./index-fRv3NTFQ.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{c as re,e as me,f as pe}from"./dict-CCNMoFEY.js";import{u as ue}from"./usePaging-DofycyjW.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-CFD_TYnI.js";import{u as _e}from"./vue-router-QlpZ4wdW.js";import{f as L,as as fe,ak as i,I as V,a as t,aN as a,F as ye,ap as ve,G as r,O as m,J as D,aP as v,H as ge,n as N}from"./@vue/runtime-core-C6bnekPw.js";import{r as R,y as o,a as be,n as T,q as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const we={class:"dict-type"},Ce={class:"mt-4"},Ve={class:"flex justify-end mt-4"},De=L({name:"dictData"}),_t=L({...De,setup(Ee){const{query:S}=_e(),g=T(!1),_=ke(),s=R({type:"",type_id:Number(S.id),name:"",status:""}),w=R({dict_type:[]}),{pager:f,getLists:y,resetPage:E,resetParams:U}=ue({fetchFun:re,params:s}),C=T([]),I=n=>{C.value=n.map(({id:e})=>e)},K=async()=>{var e,p;g.value=!0,await N();const n=w.dict_type.find(u=>u.id==s.type_id);(e=_.value)==null||e.setFormData({type_value:n==null?void 0:n.type,type_id:n.id}),(p=_.value)==null||p.open("add")},q=async n=>{var e,p;g.value=!0,await N(),(e=_.value)==null||e.open("edit"),(p=_.value)==null||p.setFormData(n)},x=async n=>{await se.confirm("确定要删除?"),await me({id:n}),y()},O=async()=>{const n=await pe({page_type:0});w.dict_type=n.lists};return y(),O(),(n,e)=>{const p=J,u=X,$=W,b=Q,h=Y,c=Z,H=M,P=ee,B=ie,d=ae,F=oe,j=te,z=ne,k=fe("perms"),A=le;return i(),V("div",we,[t(P,{class:"!border-none",shadow:"never"},{default:a(()=>[t(p,{class:"mb-4",content:"数据管理",onBack:e[0]||(e[0]=l=>n.$router.back())}),t(H,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:""},{default:a(()=>[t(b,{class:"w-[280px]",label:"字典名称"},{default:a(()=>[t($,{modelValue:o(s).type_id,"onUpdate:modelValue":e[1]||(e[1]=l=>o(s).type_id=l),onChange:o(y)},{default:a(()=>[(i(!0),V(ye,null,ve(o(w).dict_type,l=>(i(),r(u,{label:l.name,value:l.id,key:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),t(b,{class:"w-[280px]",label:"数据名称"},{default:a(()=>[t(h,{modelValue:o(s).name,"onUpdate:modelValue":e[2]||(e[2]=l=>o(s).name=l),clearable:"",onKeyup:de(o(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(b,{class:"w-[280px]",label:"数据状态"},{default:a(()=>[t($,{modelValue:o(s).status,"onUpdate:modelValue":e[3]||(e[3]=l=>o(s).status=l)},{default:a(()=>[t(u,{label:"全部",value:""}),t(u,{label:"正常",value:1}),t(u,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(b,null,{default:a(()=>[t(c,{type:"primary",onClick:o(E)},{default:a(()=>[...e[7]||(e[7]=[m("查询",-1)])]),_:1},8,["onClick"]),t(c,{onClick:o(U)},{default:a(()=>[...e[8]||(e[8]=[m("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(P,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[D("div",null,[v((i(),r(c,{type:"primary",onClick:K},{icon:a(()=>[t(B,{name:"el-icon-Plus"})]),default:a(()=>[e[9]||(e[9]=m(" 添加数据 ",-1))]),_:1})),[[k,["setting.dict.dict_data/add"]]]),v((i(),r(c,{disabled:!o(C).length,type:"danger",onClick:e[4]||(e[4]=l=>x(o(C)))},{icon:a(()=>[t(B,{name:"el-icon-Delete"})]),default:a(()=>[e[10]||(e[10]=m(" 删除 ",-1))]),_:1},8,["disabled"])),[[k,["setting.dict.dict_data/delete"]]])]),v((i(),V("div",Ce,[D("div",null,[t(j,{data:o(f).lists,size:"large",onSelectionChange:I},{default:a(()=>[t(d,{type:"selection",width:"55"}),t(d,{label:"ID",prop:"id"}),t(d,{label:"数据名称",prop:"name","min-width":"120"}),t(d,{label:"数据值",prop:"value","min-width":"120"}),t(d,{label:"状态"},{default:a(({row:l})=>[l.status==1?(i(),r(F,{key:0},{default:a(()=>[...e[11]||(e[11]=[m("正常",-1)])]),_:1})):(i(),r(F,{key:1,type:"danger"},{default:a(()=>[...e[12]||(e[12]=[m("停用",-1)])]),_:1}))]),_:1}),t(d,{label:"备注",prop:"remark","min-width":"120","show-tooltip-when-overflow":""}),t(d,{label:"排序",prop:"sort"}),t(d,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[v((i(),r(c,{link:"",type:"primary",onClick:G=>q(l)},{default:a(()=>[...e[13]||(e[13]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/edit"]]]),v((i(),r(c,{link:"",type:"danger",onClick:G=>x(l.id)},{default:a(()=>[...e[14]||(e[14]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/delete"]]])]),_:1})]),_:1},8,["data"])]),D("div",Ve,[t(z,{modelValue:o(f),"onUpdate:modelValue":e[5]||(e[5]=l=>be(f)?f.value=l:null),onChange:o(y)},null,8,["modelValue","onChange"])])])),[[A,o(f).loading]])]),_:1}),o(g)?(i(),r(ce,{key:0,ref_key:"editRef",ref:_,onSuccess:o(y),onClose:e[6]||(e[6]=l=>g.value=!1)},null,8,["onSuccess"])):ge("",!0)])}}});export{_t as default}; +import{P as J,D as M,B as Q,Q as W,R as X,C as Y,i as Z,K as ee,N as te,O as ae,U as oe,M as le}from"./element-plus-DGP1XOrU.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as ie,k as se}from"./index-J_eFER10.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{c as re,e as me,f as pe}from"./dict-19er6a3L.js";import{u as ue}from"./usePaging-DofycyjW.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-DM3yy7QA.js";import{u as _e}from"./vue-router-QlpZ4wdW.js";import{f as L,as as fe,ak as i,I as V,a as t,aN as a,F as ye,ap as ve,G as r,O as m,J as D,aP as v,H as ge,n as N}from"./@vue/runtime-core-C6bnekPw.js";import{r as R,y as o,a as be,n as T,q as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const we={class:"dict-type"},Ce={class:"mt-4"},Ve={class:"flex justify-end mt-4"},De=L({name:"dictData"}),_t=L({...De,setup(Ee){const{query:S}=_e(),g=T(!1),_=ke(),s=R({type:"",type_id:Number(S.id),name:"",status:""}),w=R({dict_type:[]}),{pager:f,getLists:y,resetPage:E,resetParams:U}=ue({fetchFun:re,params:s}),C=T([]),I=n=>{C.value=n.map(({id:e})=>e)},K=async()=>{var e,p;g.value=!0,await N();const n=w.dict_type.find(u=>u.id==s.type_id);(e=_.value)==null||e.setFormData({type_value:n==null?void 0:n.type,type_id:n.id}),(p=_.value)==null||p.open("add")},q=async n=>{var e,p;g.value=!0,await N(),(e=_.value)==null||e.open("edit"),(p=_.value)==null||p.setFormData(n)},x=async n=>{await se.confirm("确定要删除?"),await me({id:n}),y()},O=async()=>{const n=await pe({page_type:0});w.dict_type=n.lists};return y(),O(),(n,e)=>{const p=J,u=X,$=W,b=Q,h=Y,c=Z,H=M,P=ee,B=ie,d=ae,F=oe,j=te,z=ne,k=fe("perms"),A=le;return i(),V("div",we,[t(P,{class:"!border-none",shadow:"never"},{default:a(()=>[t(p,{class:"mb-4",content:"数据管理",onBack:e[0]||(e[0]=l=>n.$router.back())}),t(H,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:""},{default:a(()=>[t(b,{class:"w-[280px]",label:"字典名称"},{default:a(()=>[t($,{modelValue:o(s).type_id,"onUpdate:modelValue":e[1]||(e[1]=l=>o(s).type_id=l),onChange:o(y)},{default:a(()=>[(i(!0),V(ye,null,ve(o(w).dict_type,l=>(i(),r(u,{label:l.name,value:l.id,key:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),t(b,{class:"w-[280px]",label:"数据名称"},{default:a(()=>[t(h,{modelValue:o(s).name,"onUpdate:modelValue":e[2]||(e[2]=l=>o(s).name=l),clearable:"",onKeyup:de(o(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(b,{class:"w-[280px]",label:"数据状态"},{default:a(()=>[t($,{modelValue:o(s).status,"onUpdate:modelValue":e[3]||(e[3]=l=>o(s).status=l)},{default:a(()=>[t(u,{label:"全部",value:""}),t(u,{label:"正常",value:1}),t(u,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(b,null,{default:a(()=>[t(c,{type:"primary",onClick:o(E)},{default:a(()=>[...e[7]||(e[7]=[m("查询",-1)])]),_:1},8,["onClick"]),t(c,{onClick:o(U)},{default:a(()=>[...e[8]||(e[8]=[m("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(P,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[D("div",null,[v((i(),r(c,{type:"primary",onClick:K},{icon:a(()=>[t(B,{name:"el-icon-Plus"})]),default:a(()=>[e[9]||(e[9]=m(" 添加数据 ",-1))]),_:1})),[[k,["setting.dict.dict_data/add"]]]),v((i(),r(c,{disabled:!o(C).length,type:"danger",onClick:e[4]||(e[4]=l=>x(o(C)))},{icon:a(()=>[t(B,{name:"el-icon-Delete"})]),default:a(()=>[e[10]||(e[10]=m(" 删除 ",-1))]),_:1},8,["disabled"])),[[k,["setting.dict.dict_data/delete"]]])]),v((i(),V("div",Ce,[D("div",null,[t(j,{data:o(f).lists,size:"large",onSelectionChange:I},{default:a(()=>[t(d,{type:"selection",width:"55"}),t(d,{label:"ID",prop:"id"}),t(d,{label:"数据名称",prop:"name","min-width":"120"}),t(d,{label:"数据值",prop:"value","min-width":"120"}),t(d,{label:"状态"},{default:a(({row:l})=>[l.status==1?(i(),r(F,{key:0},{default:a(()=>[...e[11]||(e[11]=[m("正常",-1)])]),_:1})):(i(),r(F,{key:1,type:"danger"},{default:a(()=>[...e[12]||(e[12]=[m("停用",-1)])]),_:1}))]),_:1}),t(d,{label:"备注",prop:"remark","min-width":"120","show-tooltip-when-overflow":""}),t(d,{label:"排序",prop:"sort"}),t(d,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[v((i(),r(c,{link:"",type:"primary",onClick:G=>q(l)},{default:a(()=>[...e[13]||(e[13]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/edit"]]]),v((i(),r(c,{link:"",type:"danger",onClick:G=>x(l.id)},{default:a(()=>[...e[14]||(e[14]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/delete"]]])]),_:1})]),_:1},8,["data"])]),D("div",Ve,[t(z,{modelValue:o(f),"onUpdate:modelValue":e[5]||(e[5]=l=>be(f)?f.value=l:null),onChange:o(y)},null,8,["modelValue","onChange"])])])),[[A,o(f).loading]])]),_:1}),o(g)?(i(),r(ce,{key:0,ref_key:"editRef",ref:_,onSuccess:o(y),onClose:e[6]||(e[6]=l=>g.value=!1)},null,8,["onSuccess"])):ge("",!0)])}}});export{_t as default}; diff --git a/server/public/admin/assets/index-ADsqVpLj.js b/server/public/admin/assets/index-Bu073uwT.js similarity index 94% rename from server/public/admin/assets/index-ADsqVpLj.js rename to server/public/admin/assets/index-Bu073uwT.js index d7a297f31..14f258857 100644 --- a/server/public/admin/assets/index-ADsqVpLj.js +++ b/server/public/admin/assets/index-Bu073uwT.js @@ -1 +1 @@ -import{L as C,K as x,M as B,N,O as L,U as T,i as R}from"./element-plus-DGP1XOrU.js";import{_ as V,s as q}from"./edit.vue_vue_type_script_setup_true_lang-_2sKDGdl.js";import{f as v,as as D,ak as a,I as O,a as o,aN as e,J as s,aP as f,G as l,O as p}from"./@vue/runtime-core-C6bnekPw.js";import{y as g,q as S,r as $}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const z={class:"storage"},A=v({name:"storage"}),Bt=v({...A,setup(F){const d=S(),i=$({loading:!1,lists:[]}),_=async()=>{try{i.loading=!0,i.lists=await q(),i.loading=!1}catch{i.loading=!1}},b=n=>{var t;(t=d.value)==null||t.open(n)};return _(),(n,t)=>{const w=C,c=x,r=L,u=T,k=R,y=N,h=D("perms"),E=B;return a(),O("div",z,[o(c,{class:"!border-none",shadow:"never"},{default:e(()=>[o(w,{type:"warning",title:"温馨提示:",closable:!1,"show-icon":""},{default:e(()=>[...t[0]||(t[0]=[s("div",null," 1.使用对象存储,需要将public目录下的资源文件保留原来目录路径传输到对象存储空间。 ",-1),s("div",null,"2.请勿随意切换存储方式,可能导致图片无法查看。",-1),s("div",null," 3.需要在对象存储后台设置域名跨域,否则图片生成场景无法使用,例海报合成等。 ",-1),s("div",null," 4.需将对象存储的图片域名添加到微信小程序官方后台request合法域名和downloadFile合法域名。 ",-1)])]),_:1})]),_:1}),f((a(),l(c,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[o(y,{size:"large",data:g(i).lists},{default:e(()=>[o(r,{label:"储存方式",prop:"name","min-width":"120"}),o(r,{label:"储存位置",prop:"path","min-width":"160"}),o(r,{label:"状态","min-width":"80"},{default:e(({row:m})=>[m.status==1?(a(),l(u,{key:0},{default:e(()=>[...t[1]||(t[1]=[p("开启",-1)])]),_:1})):(a(),l(u,{key:1,type:"danger"},{default:e(()=>[...t[2]||(t[2]=[p("关闭",-1)])]),_:1}))]),_:1}),o(r,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:m})=>[f((a(),l(k,{type:"primary",link:"",onClick:G=>b(m.engine)},{default:e(()=>[...t[3]||(t[3]=[p(" 设置 ",-1)])]),_:1},8,["onClick"])),[[h,["setting.storage/setup"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[E,g(i).loading]]),o(V,{ref_key:"editRef",ref:d,onSuccess:_},null,512)])}}});export{Bt as default}; +import{L as C,K as x,M as B,N,O as L,U as T,i as R}from"./element-plus-DGP1XOrU.js";import{_ as V,s as q}from"./edit.vue_vue_type_script_setup_true_lang-C-Q6zJAz.js";import{f as v,as as D,ak as a,I as O,a as o,aN as e,J as s,aP as f,G as l,O as p}from"./@vue/runtime-core-C6bnekPw.js";import{y as g,q as S,r as $}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const z={class:"storage"},A=v({name:"storage"}),Bt=v({...A,setup(F){const d=S(),i=$({loading:!1,lists:[]}),_=async()=>{try{i.loading=!0,i.lists=await q(),i.loading=!1}catch{i.loading=!1}},b=n=>{var t;(t=d.value)==null||t.open(n)};return _(),(n,t)=>{const w=C,c=x,r=L,u=T,k=R,y=N,h=D("perms"),E=B;return a(),O("div",z,[o(c,{class:"!border-none",shadow:"never"},{default:e(()=>[o(w,{type:"warning",title:"温馨提示:",closable:!1,"show-icon":""},{default:e(()=>[...t[0]||(t[0]=[s("div",null," 1.使用对象存储,需要将public目录下的资源文件保留原来目录路径传输到对象存储空间。 ",-1),s("div",null,"2.请勿随意切换存储方式,可能导致图片无法查看。",-1),s("div",null," 3.需要在对象存储后台设置域名跨域,否则图片生成场景无法使用,例海报合成等。 ",-1),s("div",null," 4.需将对象存储的图片域名添加到微信小程序官方后台request合法域名和downloadFile合法域名。 ",-1)])]),_:1})]),_:1}),f((a(),l(c,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[o(y,{size:"large",data:g(i).lists},{default:e(()=>[o(r,{label:"储存方式",prop:"name","min-width":"120"}),o(r,{label:"储存位置",prop:"path","min-width":"160"}),o(r,{label:"状态","min-width":"80"},{default:e(({row:m})=>[m.status==1?(a(),l(u,{key:0},{default:e(()=>[...t[1]||(t[1]=[p("开启",-1)])]),_:1})):(a(),l(u,{key:1,type:"danger"},{default:e(()=>[...t[2]||(t[2]=[p("关闭",-1)])]),_:1}))]),_:1}),o(r,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:m})=>[f((a(),l(k,{type:"primary",link:"",onClick:G=>b(m.engine)},{default:e(()=>[...t[3]||(t[3]=[p(" 设置 ",-1)])]),_:1},8,["onClick"])),[[h,["setting.storage/setup"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[E,g(i).loading]]),o(V,{ref_key:"editRef",ref:d,onSuccess:_},null,512)])}}});export{Bt as default}; diff --git a/server/public/admin/assets/index-wP2rzNak.js b/server/public/admin/assets/index-BzSyPKus.js similarity index 91% rename from server/public/admin/assets/index-wP2rzNak.js rename to server/public/admin/assets/index-BzSyPKus.js index ea74cc607..70983d28d 100644 --- a/server/public/admin/assets/index-wP2rzNak.js +++ b/server/public/admin/assets/index-BzSyPKus.js @@ -1 +1 @@ -import{i as P,N as I,O,M as j,K as q}from"./element-plus-DGP1XOrU.js";import{_ as z}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as G,k as H}from"./index-fRv3NTFQ.js";import{c as J,d as K}from"./role-B18Xi51b.js";import{u as M}from"./usePaging-DofycyjW.js";import{_ as Q}from"./auth.vue_vue_type_script_setup_true_lang-B51KH8Bx.js";import{_ as U}from"./edit.vue_vue_type_script_setup_true_lang-BvK-Tfoj.js";import{f as E,as as W,ak as l,I as g,a as t,aN as i,J as y,aP as u,G as m,O as c,H as $,n as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as X,q as D,n as x}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./menu-jRNdRy5r.js";import"./index-D5PquIeg.js";const Z={class:"role-lists"},ee={class:"mt-4"},te={class:"flex justify-end mt-4"},oe=E({name:"role"}),Qe=E({...oe,setup(ae){const f=D(),k=D(),_=x(!1),w=x(!1),{pager:p,getLists:d}=M({fetchFun:J}),N=async()=>{var o;_.value=!0,await b(),(o=f.value)==null||o.open("add")},V=async o=>{var e,r;_.value=!0,await b(),(e=f.value)==null||e.open("edit"),(r=f.value)==null||r.setFormData(o)},R=async o=>{var e,r;w.value=!0,await b(),(e=k.value)==null||e.open(),(r=k.value)==null||r.setFormData(o)},S=o=>{const e=Number(o)||1;return{1:"全部数据(免隔离)",2:"本部门及下级部门",3:"仅本部门",4:"仅本人"}[e]||"全部数据(免隔离)"},B=async o=>{await H.confirm("确定要删除?"),await K({id:o}),d()};return d(),(o,e)=>{const r=G,v=P,n=O,L=I,T=z,A=q,h=W("perms"),F=j;return l(),g("div",Z,[t(A,{class:"!border-none",shadow:"never"},{default:i(()=>[y("div",null,[u((l(),m(v,{type:"primary",onClick:N},{icon:i(()=>[t(r,{name:"el-icon-Plus"})]),default:i(()=>[e[3]||(e[3]=c(" 新增 ",-1))]),_:1})),[[h,["auth.role/add"]]])]),u((l(),g("div",ee,[y("div",null,[t(L,{data:s(p).lists,size:"large"},{default:i(()=>[t(n,{prop:"id",label:"ID","min-width":"100"}),t(n,{prop:"name",label:"名称","min-width":"150"}),t(n,{prop:"desc",label:"备注","min-width":"150","show-overflow-tooltip":""}),t(n,{prop:"sort",label:"排序","min-width":"100"}),t(n,{label:"数据范围","min-width":"140"},{default:i(({row:a})=>[c(Y(S(a.data_scope)),1)]),_:1}),t(n,{prop:"num",label:"管理员人数","min-width":"100"}),t(n,{prop:"create_time",label:"创建时间","min-width":"180"}),t(n,{label:"操作",width:"200",fixed:"right"},{default:i(({row:a})=>[u((l(),m(v,{link:"",type:"primary",onClick:C=>V(a)},{default:i(()=>[...e[4]||(e[4]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/edit"]]]),u((l(),m(v,{link:"",type:"primary",onClick:C=>R(a)},{default:i(()=>[...e[5]||(e[5]=[c(" 分配权限 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/edit"]]]),u((l(),m(v,{link:"",type:"danger",onClick:C=>B(a.id)},{default:i(()=>[...e[6]||(e[6]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/delete"]]])]),_:1})]),_:1},8,["data"])]),y("div",te,[t(T,{modelValue:s(p),"onUpdate:modelValue":e[0]||(e[0]=a=>X(p)?p.value=a:null),onChange:s(d)},null,8,["modelValue","onChange"])])])),[[F,s(p).loading]])]),_:1}),s(_)?(l(),m(U,{key:0,ref_key:"editRef",ref:f,onSuccess:s(d),onClose:e[1]||(e[1]=a=>_.value=!1)},null,8,["onSuccess"])):$("",!0),s(w)?(l(),m(Q,{key:1,ref_key:"authRef",ref:k,onSuccess:s(d),onClose:e[2]||(e[2]=a=>w.value=!1)},null,8,["onSuccess"])):$("",!0)])}}});export{Qe as default}; +import{i as P,N as I,O,M as j,K as q}from"./element-plus-DGP1XOrU.js";import{_ as z}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as G,k as H}from"./index-J_eFER10.js";import{c as J,d as K}from"./role-hMw9X8iI.js";import{u as M}from"./usePaging-DofycyjW.js";import{_ as Q}from"./auth.vue_vue_type_script_setup_true_lang-CFoWU2Bs.js";import{_ as U}from"./edit.vue_vue_type_script_setup_true_lang-Bp1OE_d6.js";import{f as E,as as W,ak as l,I as g,a as t,aN as i,J as y,aP as u,G as m,O as c,H as $,n as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as X,q as D,n as x}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./menu-Bn6AOgrY.js";import"./index-BVjWjU3h.js";const Z={class:"role-lists"},ee={class:"mt-4"},te={class:"flex justify-end mt-4"},oe=E({name:"role"}),Qe=E({...oe,setup(ae){const f=D(),k=D(),_=x(!1),w=x(!1),{pager:p,getLists:d}=M({fetchFun:J}),N=async()=>{var o;_.value=!0,await b(),(o=f.value)==null||o.open("add")},V=async o=>{var e,r;_.value=!0,await b(),(e=f.value)==null||e.open("edit"),(r=f.value)==null||r.setFormData(o)},R=async o=>{var e,r;w.value=!0,await b(),(e=k.value)==null||e.open(),(r=k.value)==null||r.setFormData(o)},S=o=>{const e=Number(o)||1;return{1:"全部数据(免隔离)",2:"本部门及下级部门",3:"仅本部门",4:"仅本人"}[e]||"全部数据(免隔离)"},B=async o=>{await H.confirm("确定要删除?"),await K({id:o}),d()};return d(),(o,e)=>{const r=G,v=P,n=O,L=I,T=z,A=q,h=W("perms"),F=j;return l(),g("div",Z,[t(A,{class:"!border-none",shadow:"never"},{default:i(()=>[y("div",null,[u((l(),m(v,{type:"primary",onClick:N},{icon:i(()=>[t(r,{name:"el-icon-Plus"})]),default:i(()=>[e[3]||(e[3]=c(" 新增 ",-1))]),_:1})),[[h,["auth.role/add"]]])]),u((l(),g("div",ee,[y("div",null,[t(L,{data:s(p).lists,size:"large"},{default:i(()=>[t(n,{prop:"id",label:"ID","min-width":"100"}),t(n,{prop:"name",label:"名称","min-width":"150"}),t(n,{prop:"desc",label:"备注","min-width":"150","show-overflow-tooltip":""}),t(n,{prop:"sort",label:"排序","min-width":"100"}),t(n,{label:"数据范围","min-width":"140"},{default:i(({row:a})=>[c(Y(S(a.data_scope)),1)]),_:1}),t(n,{prop:"num",label:"管理员人数","min-width":"100"}),t(n,{prop:"create_time",label:"创建时间","min-width":"180"}),t(n,{label:"操作",width:"200",fixed:"right"},{default:i(({row:a})=>[u((l(),m(v,{link:"",type:"primary",onClick:C=>V(a)},{default:i(()=>[...e[4]||(e[4]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/edit"]]]),u((l(),m(v,{link:"",type:"primary",onClick:C=>R(a)},{default:i(()=>[...e[5]||(e[5]=[c(" 分配权限 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/edit"]]]),u((l(),m(v,{link:"",type:"danger",onClick:C=>B(a.id)},{default:i(()=>[...e[6]||(e[6]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/delete"]]])]),_:1})]),_:1},8,["data"])]),y("div",te,[t(T,{modelValue:s(p),"onUpdate:modelValue":e[0]||(e[0]=a=>X(p)?p.value=a:null),onChange:s(d)},null,8,["modelValue","onChange"])])])),[[F,s(p).loading]])]),_:1}),s(_)?(l(),m(U,{key:0,ref_key:"editRef",ref:f,onSuccess:s(d),onClose:e[1]||(e[1]=a=>_.value=!1)},null,8,["onSuccess"])):$("",!0),s(w)?(l(),m(Q,{key:1,ref_key:"authRef",ref:k,onSuccess:s(d),onClose:e[2]||(e[2]=a=>w.value=!1)},null,8,["onSuccess"])):$("",!0)])}}});export{Qe as default}; diff --git a/server/public/admin/assets/index-APM3wetz.js b/server/public/admin/assets/index-C0I0jubD.js similarity index 94% rename from server/public/admin/assets/index-APM3wetz.js rename to server/public/admin/assets/index-C0I0jubD.js index a2e7ce275..bd7ab3fac 100644 --- a/server/public/admin/assets/index-APM3wetz.js +++ b/server/public/admin/assets/index-C0I0jubD.js @@ -1 +1 @@ -import{D as A,B as H,C as J,i as Q,K as W,M as X,N as Y,O as Z,p as ee,n as te,o as oe}from"./element-plus-DGP1XOrU.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as ae,m as le,k as x}from"./index-fRv3NTFQ.js";import{w as B}from"./@vue/runtime-dom-DDAG46FW.js";import{b as re,c as se,d as ie,e as me,s as de}from"./code-DhkjCxGq.js";import{u as pe}from"./usePaging-DofycyjW.js";import{_ as ue}from"./code-preview.vue_vue_type_script_setup_true_lang-BzWV3a9Y.js";import{_ as _e}from"./data-table.vue_vue_type_script_setup_true_lang-diW1kYKK.js";import{f as N,ar as ce,as as fe,ak as r,I as b,a as t,aN as o,O as i,aP as m,G as p,J as w,H as ge}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as ye,r as K,n as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const we={class:"code-generation"},ke={class:"flex"},ve={class:"mt-4"},Ce={class:"flex items-center"},Ve={class:"flex justify-end mt-4"},xe=N({name:"codeGenerate"}),ft=N({...xe,setup(Ee){const u=K({table_name:"",table_comment:""}),_=K({show:!1,loading:!1,code:[]}),{pager:f,getLists:y,resetParams:S,resetPage:k}=pe({fetchFun:re,params:u}),g=be([]),T=a=>{g.value=a.map(({id:e})=>e)},I=async a=>{await x.confirm("确定要同步表结构?"),await de({id:a})},E=async a=>{await x.confirm("确定要删除?"),await se({id:a}),y()},G=async a=>{const e=await ie({id:a});_.code=e,_.show=!0},U=a=>a.some(e=>e.generate_type==1),D=async a=>{if(U(a))return x.msgError("生成方式为生成到模块,请在前端开发模式下使用,详细参考文档");const e=await me({id:a});e.file&&window.open(e.file,"_blank")},F=(a,e)=>{switch(a){case"generate":D([e.id]);break;case"sync":I(e.id);break;case"delete":E(e.id)}};return y(),(a,e)=>{const P=J,v=H,s=Q,M=A,$=W,C=ae,c=Z,z=ce("router-link"),V=oe,L=te,O=ee,R=Y,j=ne,d=fe("perms"),q=X;return r(),b("div",we,[t($,{class:"!border-none",shadow:"never"},{default:o(()=>[t(M,{class:"mb-[-16px]",model:n(u),inline:""},{default:o(()=>[t(v,{class:"w-[280px]",label:"表名称"},{default:o(()=>[t(P,{modelValue:n(u).table_name,"onUpdate:modelValue":e[0]||(e[0]=l=>n(u).table_name=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,{class:"w-[280px]",label:"表描述"},{default:o(()=>[t(P,{modelValue:n(u).table_comment,"onUpdate:modelValue":e[1]||(e[1]=l=>n(u).table_comment=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,null,{default:o(()=>[t(s,{type:"primary",onClick:n(k)},{default:o(()=>[...e[6]||(e[6]=[i("查询",-1)])]),_:1},8,["onClick"]),t(s,{onClick:n(S)},{default:o(()=>[...e[7]||(e[7]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),m((r(),p($,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[w("div",ke,[m((r(),p(_e,{class:"inline-block mr-[10px]",onSuccess:n(y)},{default:o(()=>[t(s,{type:"primary"},{icon:o(()=>[t(C,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=i(" 导入数据表 ",-1))]),_:1})]),_:1},8,["onSuccess"])),[[d,["tools.generator/selectTable"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[2]||(e[2]=l=>E(n(g))),type:"danger"},{icon:o(()=>[t(C,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=i(" 删除 ",-1))]),_:1},8,["disabled"])),[[d,["tools.generator/delete"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[3]||(e[3]=l=>D(n(g)))},{default:o(()=>[...e[10]||(e[10]=[i(" 生成代码 ",-1)])]),_:1},8,["disabled"])),[[d,["tools.generator/generate"]]])]),w("div",ve,[t(R,{data:n(f).lists,size:"large",onSelectionChange:T},{default:o(()=>[t(c,{type:"selection",width:"55"}),t(c,{label:"表名称",prop:"table_name","min-width":"180"}),t(c,{label:"表描述",prop:"table_comment","min-width":"180"}),t(c,{label:"创建时间",prop:"create_time","min-width":"180"}),t(c,{label:"更新时间",prop:"update_time","min-width":"180"}),t(c,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[w("div",Ce,[m((r(),p(s,{type:"primary",link:"",onClick:h=>G(l.id)},{default:o(()=>[...e[11]||(e[11]=[i(" 预览 ",-1)])]),_:1},8,["onClick"])),[[d,["tools.generator/preview"]]]),t(s,{type:"primary",link:""},{default:o(()=>[m((r(),p(z,{to:{path:n(le)("tools.generator/edit"),query:{id:l.id}}},{default:o(()=>[...e[12]||(e[12]=[i(" 编辑 ",-1)])]),_:1},8,["to"])),[[d,["tools.generator/edit"]]])]),_:2},1024),m((r(),p(O,{class:"ml-2",onCommand:h=>F(h,l)},{dropdown:o(()=>[t(L,null,{default:o(()=>[m((r(),b("div",null,[t(V,{command:"generate"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[14]||(e[14]=[i(" 生成代码 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/generate"]]]),m((r(),b("div",null,[t(V,{command:"sync"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[15]||(e[15]=[i(" 同步 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/syncColumn"]]]),m((r(),b("div",null,[t(V,{command:"delete"},{default:o(()=>[t(s,{type:"danger",link:""},{default:o(()=>[...e[16]||(e[16]=[i(" 删除 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/delete"]]])]),_:1})]),default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[e[13]||(e[13]=i(" 更多 ",-1)),t(C,{name:"el-icon-ArrowDown",size:14})]),_:1})]),_:1},8,["onCommand"])),[[d,["tools.generator/generate","tools.generator/syncColumn","tools.generator/delete"]]])])]),_:1})]),_:1},8,["data"])]),w("div",Ve,[t(j,{modelValue:n(f),"onUpdate:modelValue":e[4]||(e[4]=l=>ye(f)?f.value=l:null),onChange:n(y)},null,8,["modelValue","onChange"])])]),_:1})),[[q,n(f).loading]]),n(_).show?(r(),p(ue,{key:0,modelValue:n(_).show,"onUpdate:modelValue":e[5]||(e[5]=l=>n(_).show=l),code:n(_).code},null,8,["modelValue","code"])):ge("",!0)])}}});export{ft as default}; +import{D as A,B as H,C as J,i as Q,K as W,M as X,N as Y,O as Z,p as ee,n as te,o as oe}from"./element-plus-DGP1XOrU.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as ae,m as le,k as x}from"./index-J_eFER10.js";import{w as B}from"./@vue/runtime-dom-DDAG46FW.js";import{b as re,c as se,d as ie,e as me,s as de}from"./code-MrNYrKx7.js";import{u as pe}from"./usePaging-DofycyjW.js";import{_ as ue}from"./code-preview.vue_vue_type_script_setup_true_lang-BqAwrR8R.js";import{_ as _e}from"./data-table.vue_vue_type_script_setup_true_lang-BuGcAuLn.js";import{f as N,ar as ce,as as fe,ak as r,I as b,a as t,aN as o,O as i,aP as m,G as p,J as w,H as ge}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as ye,r as K,n as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const we={class:"code-generation"},ke={class:"flex"},ve={class:"mt-4"},Ce={class:"flex items-center"},Ve={class:"flex justify-end mt-4"},xe=N({name:"codeGenerate"}),ft=N({...xe,setup(Ee){const u=K({table_name:"",table_comment:""}),_=K({show:!1,loading:!1,code:[]}),{pager:f,getLists:y,resetParams:S,resetPage:k}=pe({fetchFun:re,params:u}),g=be([]),T=a=>{g.value=a.map(({id:e})=>e)},I=async a=>{await x.confirm("确定要同步表结构?"),await de({id:a})},E=async a=>{await x.confirm("确定要删除?"),await se({id:a}),y()},G=async a=>{const e=await ie({id:a});_.code=e,_.show=!0},U=a=>a.some(e=>e.generate_type==1),D=async a=>{if(U(a))return x.msgError("生成方式为生成到模块,请在前端开发模式下使用,详细参考文档");const e=await me({id:a});e.file&&window.open(e.file,"_blank")},F=(a,e)=>{switch(a){case"generate":D([e.id]);break;case"sync":I(e.id);break;case"delete":E(e.id)}};return y(),(a,e)=>{const P=J,v=H,s=Q,M=A,$=W,C=ae,c=Z,z=ce("router-link"),V=oe,L=te,O=ee,R=Y,j=ne,d=fe("perms"),q=X;return r(),b("div",we,[t($,{class:"!border-none",shadow:"never"},{default:o(()=>[t(M,{class:"mb-[-16px]",model:n(u),inline:""},{default:o(()=>[t(v,{class:"w-[280px]",label:"表名称"},{default:o(()=>[t(P,{modelValue:n(u).table_name,"onUpdate:modelValue":e[0]||(e[0]=l=>n(u).table_name=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,{class:"w-[280px]",label:"表描述"},{default:o(()=>[t(P,{modelValue:n(u).table_comment,"onUpdate:modelValue":e[1]||(e[1]=l=>n(u).table_comment=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,null,{default:o(()=>[t(s,{type:"primary",onClick:n(k)},{default:o(()=>[...e[6]||(e[6]=[i("查询",-1)])]),_:1},8,["onClick"]),t(s,{onClick:n(S)},{default:o(()=>[...e[7]||(e[7]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),m((r(),p($,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[w("div",ke,[m((r(),p(_e,{class:"inline-block mr-[10px]",onSuccess:n(y)},{default:o(()=>[t(s,{type:"primary"},{icon:o(()=>[t(C,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=i(" 导入数据表 ",-1))]),_:1})]),_:1},8,["onSuccess"])),[[d,["tools.generator/selectTable"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[2]||(e[2]=l=>E(n(g))),type:"danger"},{icon:o(()=>[t(C,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=i(" 删除 ",-1))]),_:1},8,["disabled"])),[[d,["tools.generator/delete"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[3]||(e[3]=l=>D(n(g)))},{default:o(()=>[...e[10]||(e[10]=[i(" 生成代码 ",-1)])]),_:1},8,["disabled"])),[[d,["tools.generator/generate"]]])]),w("div",ve,[t(R,{data:n(f).lists,size:"large",onSelectionChange:T},{default:o(()=>[t(c,{type:"selection",width:"55"}),t(c,{label:"表名称",prop:"table_name","min-width":"180"}),t(c,{label:"表描述",prop:"table_comment","min-width":"180"}),t(c,{label:"创建时间",prop:"create_time","min-width":"180"}),t(c,{label:"更新时间",prop:"update_time","min-width":"180"}),t(c,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[w("div",Ce,[m((r(),p(s,{type:"primary",link:"",onClick:h=>G(l.id)},{default:o(()=>[...e[11]||(e[11]=[i(" 预览 ",-1)])]),_:1},8,["onClick"])),[[d,["tools.generator/preview"]]]),t(s,{type:"primary",link:""},{default:o(()=>[m((r(),p(z,{to:{path:n(le)("tools.generator/edit"),query:{id:l.id}}},{default:o(()=>[...e[12]||(e[12]=[i(" 编辑 ",-1)])]),_:1},8,["to"])),[[d,["tools.generator/edit"]]])]),_:2},1024),m((r(),p(O,{class:"ml-2",onCommand:h=>F(h,l)},{dropdown:o(()=>[t(L,null,{default:o(()=>[m((r(),b("div",null,[t(V,{command:"generate"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[14]||(e[14]=[i(" 生成代码 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/generate"]]]),m((r(),b("div",null,[t(V,{command:"sync"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[15]||(e[15]=[i(" 同步 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/syncColumn"]]]),m((r(),b("div",null,[t(V,{command:"delete"},{default:o(()=>[t(s,{type:"danger",link:""},{default:o(()=>[...e[16]||(e[16]=[i(" 删除 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/delete"]]])]),_:1})]),default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[e[13]||(e[13]=i(" 更多 ",-1)),t(C,{name:"el-icon-ArrowDown",size:14})]),_:1})]),_:1},8,["onCommand"])),[[d,["tools.generator/generate","tools.generator/syncColumn","tools.generator/delete"]]])])]),_:1})]),_:1},8,["data"])]),w("div",Ve,[t(j,{modelValue:n(f),"onUpdate:modelValue":e[4]||(e[4]=l=>ye(f)?f.value=l:null),onChange:n(y)},null,8,["modelValue","onChange"])])]),_:1})),[[q,n(f).loading]]),n(_).show?(r(),p(ue,{key:0,modelValue:n(_).show,"onUpdate:modelValue":e[5]||(e[5]=l=>n(_).show=l),code:n(_).code},null,8,["modelValue","code"])):ge("",!0)])}}});export{ft as default}; diff --git a/server/public/admin/assets/index-c6l5F9Wm.js b/server/public/admin/assets/index-C7ZHkyPf.js similarity index 94% rename from server/public/admin/assets/index-c6l5F9Wm.js rename to server/public/admin/assets/index-C7ZHkyPf.js index ac678d945..04c8cf189 100644 --- a/server/public/admin/assets/index-c6l5F9Wm.js +++ b/server/public/admin/assets/index-C7ZHkyPf.js @@ -1 +1 @@ -import{i as A,N as P,O as z,U as F,M as G,K as S}from"./element-plus-DGP1XOrU.js";import{c as q,M as k,k as H}from"./index-fRv3NTFQ.js";import{a as I,e as J}from"./menu-jRNdRy5r.js";import{u as K}from"./usePaging-DofycyjW.js";import{_ as j}from"./edit.vue_vue_type_script_setup_true_lang-D6zueV1n.js";import{f as D,as as Q,ak as a,I as y,a as n,aN as o,J as N,aP as f,G as p,O as d,H as h,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,q as $,n as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js";import"./index-D5PquIeg.js";const X={class:"menu-lists"},Y={key:0},Z={key:1},ee={key:2},te={class:"flex"},oe=D({name:"permission-menu"}),Je=D({...oe,setup(ie){const w=$(),u=$();let v=!1;const _=W(!1),{pager:b,getLists:g}=K({fetchFun:I,params:{page_type:0}}),C=async i=>{var e,s;_.value=!0,await B(),i&&((e=u.value)==null||e.setFormData({pid:i})),(s=u.value)==null||s.open("add")},R=async i=>{var e,s;_.value=!0,await B(),(e=u.value)==null||e.open("edit"),(s=u.value)==null||s.getDetail(i)},O=async i=>{await H.confirm("确定要删除?"),await J({id:i}),g()},U=()=>{v=!v,E(b.lists,v)},E=(i,e=!0)=>{var s;for(const l in i)(s=w.value)==null||s.toggleRowExpansion(i[l],e),i[l].children&&E(i[l].children,e)};return g(),(i,e)=>{const s=q,l=A,r=z,x=F,L=P,M=S,c=Q("perms"),V=G;return a(),y("div",X,[n(M,{class:"!border-none",shadow:"never"},{default:o(()=>[N("div",null,[f((a(),p(l,{type:"primary",onClick:e[0]||(e[0]=t=>C())},{icon:o(()=>[n(s,{name:"el-icon-Plus"})]),default:o(()=>[e[2]||(e[2]=d(" 新增 ",-1))]),_:1})),[[c,["auth.menu/add"]]]),n(l,{onClick:U},{default:o(()=>[...e[3]||(e[3]=[d(" 展开/折叠 ",-1)])]),_:1})]),f((a(),p(L,{ref_key:"tableRef",ref:w,class:"mt-4",size:"large",data:m(b).lists,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[n(r,{label:"菜单名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"类型",prop:"type","min-width":"80"},{default:o(({row:t})=>[t.type==m(k).CATALOGUE?(a(),y("div",Y,"目录")):t.type==m(k).MENU?(a(),y("div",Z,"菜单")):t.type==m(k).BUTTON?(a(),y("div",ee,"按钮")):h("",!0)]),_:1}),n(r,{label:"图标",prop:"icon","min-width":"80"},{default:o(({row:t})=>[N("div",te,[n(s,{name:t.icon,size:20},null,8,["name"])])]),_:1}),n(r,{label:"权限标识",prop:"perms","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"状态",prop:"is_disable","min-width":"100"},{default:o(({row:t})=>[t.is_disable==0?(a(),p(x,{key:0},{default:o(()=>[...e[4]||(e[4]=[d("正常",-1)])]),_:1})):(a(),p(x,{key:1,type:"danger"},{default:o(()=>[...e[5]||(e[5]=[d("停用",-1)])]),_:1}))]),_:1}),n(r,{label:"排序",prop:"sort","min-width":"100"}),n(r,{label:"更新时间",prop:"update_time","min-width":"180"}),n(r,{label:"操作",width:"160",fixed:"right"},{default:o(({row:t})=>[t.type!==m(k).BUTTON?f((a(),p(l,{key:0,type:"primary",link:"",onClick:T=>C(t.id)},{default:o(()=>[...e[6]||(e[6]=[d(" 新增 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/add"]]]):h("",!0),f((a(),p(l,{type:"primary",link:"",onClick:T=>R(t)},{default:o(()=>[...e[7]||(e[7]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/edit"]]]),f((a(),p(l,{type:"danger",link:"",onClick:T=>O(t.id)},{default:o(()=>[...e[8]||(e[8]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/delete"]]])]),_:1})]),_:1},8,["data"])),[[V,m(b).loading]])]),_:1}),m(_)?(a(),p(j,{key:0,ref_key:"editRef",ref:u,onSuccess:m(g),onClose:e[1]||(e[1]=t=>_.value=!1)},null,8,["onSuccess"])):h("",!0)])}}});export{Je as default}; +import{i as A,N as P,O as z,U as F,M as G,K as S}from"./element-plus-DGP1XOrU.js";import{c as q,M as k,k as H}from"./index-J_eFER10.js";import{a as I,e as J}from"./menu-Bn6AOgrY.js";import{u as K}from"./usePaging-DofycyjW.js";import{_ as j}from"./edit.vue_vue_type_script_setup_true_lang-Bfkmk0Oj.js";import{f as D,as as Q,ak as a,I as y,a as n,aN as o,J as N,aP as f,G as p,O as d,H as h,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,q as $,n as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js";import"./index-BVjWjU3h.js";const X={class:"menu-lists"},Y={key:0},Z={key:1},ee={key:2},te={class:"flex"},oe=D({name:"permission-menu"}),Je=D({...oe,setup(ie){const w=$(),u=$();let v=!1;const _=W(!1),{pager:b,getLists:g}=K({fetchFun:I,params:{page_type:0}}),C=async i=>{var e,s;_.value=!0,await B(),i&&((e=u.value)==null||e.setFormData({pid:i})),(s=u.value)==null||s.open("add")},R=async i=>{var e,s;_.value=!0,await B(),(e=u.value)==null||e.open("edit"),(s=u.value)==null||s.getDetail(i)},O=async i=>{await H.confirm("确定要删除?"),await J({id:i}),g()},U=()=>{v=!v,E(b.lists,v)},E=(i,e=!0)=>{var s;for(const l in i)(s=w.value)==null||s.toggleRowExpansion(i[l],e),i[l].children&&E(i[l].children,e)};return g(),(i,e)=>{const s=q,l=A,r=z,x=F,L=P,M=S,c=Q("perms"),V=G;return a(),y("div",X,[n(M,{class:"!border-none",shadow:"never"},{default:o(()=>[N("div",null,[f((a(),p(l,{type:"primary",onClick:e[0]||(e[0]=t=>C())},{icon:o(()=>[n(s,{name:"el-icon-Plus"})]),default:o(()=>[e[2]||(e[2]=d(" 新增 ",-1))]),_:1})),[[c,["auth.menu/add"]]]),n(l,{onClick:U},{default:o(()=>[...e[3]||(e[3]=[d(" 展开/折叠 ",-1)])]),_:1})]),f((a(),p(L,{ref_key:"tableRef",ref:w,class:"mt-4",size:"large",data:m(b).lists,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[n(r,{label:"菜单名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"类型",prop:"type","min-width":"80"},{default:o(({row:t})=>[t.type==m(k).CATALOGUE?(a(),y("div",Y,"目录")):t.type==m(k).MENU?(a(),y("div",Z,"菜单")):t.type==m(k).BUTTON?(a(),y("div",ee,"按钮")):h("",!0)]),_:1}),n(r,{label:"图标",prop:"icon","min-width":"80"},{default:o(({row:t})=>[N("div",te,[n(s,{name:t.icon,size:20},null,8,["name"])])]),_:1}),n(r,{label:"权限标识",prop:"perms","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"状态",prop:"is_disable","min-width":"100"},{default:o(({row:t})=>[t.is_disable==0?(a(),p(x,{key:0},{default:o(()=>[...e[4]||(e[4]=[d("正常",-1)])]),_:1})):(a(),p(x,{key:1,type:"danger"},{default:o(()=>[...e[5]||(e[5]=[d("停用",-1)])]),_:1}))]),_:1}),n(r,{label:"排序",prop:"sort","min-width":"100"}),n(r,{label:"更新时间",prop:"update_time","min-width":"180"}),n(r,{label:"操作",width:"160",fixed:"right"},{default:o(({row:t})=>[t.type!==m(k).BUTTON?f((a(),p(l,{key:0,type:"primary",link:"",onClick:T=>C(t.id)},{default:o(()=>[...e[6]||(e[6]=[d(" 新增 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/add"]]]):h("",!0),f((a(),p(l,{type:"primary",link:"",onClick:T=>R(t)},{default:o(()=>[...e[7]||(e[7]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/edit"]]]),f((a(),p(l,{type:"danger",link:"",onClick:T=>O(t.id)},{default:o(()=>[...e[8]||(e[8]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/delete"]]])]),_:1})]),_:1},8,["data"])),[[V,m(b).loading]])]),_:1}),m(_)?(a(),p(j,{key:0,ref_key:"editRef",ref:u,onSuccess:m(g),onClose:e[1]||(e[1]=t=>_.value=!1)},null,8,["onSuccess"])):h("",!0)])}}});export{Je as default}; diff --git a/server/public/admin/assets/index-CZHppZGf.js b/server/public/admin/assets/index-CBjo9bLs.js similarity index 98% rename from server/public/admin/assets/index-CZHppZGf.js rename to server/public/admin/assets/index-CBjo9bLs.js index d6afbb20e..8cfebb6cc 100644 --- a/server/public/admin/assets/index-CZHppZGf.js +++ b/server/public/admin/assets/index-CBjo9bLs.js @@ -1 +1 @@ -import{v as qe,E as Re,W as Ye,_ as Ke,M as Qe,s as Ze,$ as Je,n as Oe,o as He,i as Xe,Q as et,C as tt,r as lt,H as nt,N as st,O as at,T as ot,p as it,R as dt}from"./element-plus-DGP1XOrU.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as rt}from"./index-Dc1nFBAH.js";import{_ as De,c as Ie,k as ce,q as ct}from"./index-fRv3NTFQ.js";import{_ as mt}from"./index-D5PquIeg.js";import{U as ft}from"./index-Dxrq29dg.js";import{_ as pt}from"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import{q as me,s as K,w as vt}from"./@vue/runtime-dom-DDAG46FW.js";import{f as fe,ak as i,I as m,J as o,G as h,a as n,H as p,aq as yt,w as Q,n as Ee,aP as Z,aN as s,A as Te,a5 as _t,b as gt,O as r,F as D,ap as G}from"./@vue/runtime-core-C6bnekPw.js";import{p as Fe,o as ze,Q as ue}from"./@vue/shared-mAAVTE9n.js";import{f as Ct,b as ht,c as kt,d as $e,e as wt,g as bt,h as xt,i as At}from"./file-FhuQj5ML.js";import{u as St}from"./usePaging-DofycyjW.js";import{n as E,q as pe,r as Vt,y as l,a as F,K as Et}from"./@vue/reactivity-DiY1c2vO.js";const zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAACJElEQVRYR+2YMWsUURSFz3m7s+nskjUIQSutbMRi7WzUVjSadMHCbVLkByjmLygaCVYWRqMEUhkFS9Gg0cJfYCPZjYUQFbPs+I7c2R1Q2ZjZfRNYYS4MAzPv3vnmvDvL3kMA2Hl5/CjLI9ckf4ZwY3Zt15C+gfwIao3So0rt3XsJtPUk9M/cAW6y9ap2DIyfAjgCwANwGeoYiEFtk/5e5CvXeer1D2neATcGgiTZM4+t9RNLEKcBtAFEGeBsiRWzl7EoSXo+8rV9gWc/fDc1B1VSEoEnDpj0KTB33tS26DGaEezvZQZpRxmODyoT5+vwBwS3zeTcT4yjTdZNJEiPSykk1bjZX6HeD/WQJ1zUApgq2w+etcsniBuAVlH9vELOx6Yo1VywgkmTB4X1kEGGhyAtg/Ecq3NNqnknDwVTrNBaactEts88OHs5b8Bw/Tof4M+kr4WrwwhoL9n5uRPWhxWwsxPEl+EGNMacP5I8evCPGgVgqKSFgoWCoQqE5hc9WCgYqkBoftGDeSiYz1/+UJLe+foftvh2A2B1fwQIrapkaFoDcK4PVyH0qVnyU4fjGdW4NQ2WlgDE5hLkMoJmQdh9zW9Dk59K5lhtLjyE01TX/jDILP5MGEbvbFPOJroIXvc5PjvTBbx7GM4vAjjd9WdSc2g/IPaqaTv5Aq58haP1TSb2Au20GGErvgTxIqiTAA7tVSnn+2Z9vAXdCsa4bD6Nsf0C/gYA5PMzcW0AAAAASUVORK5CYII=",$t=fe({props:{uri:{type:String},fileSize:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},type:{type:String,default:"image"}},emits:["close"]}),Rt=["src"],Dt={key:3,class:"absolute left-1/2 top-1/2 translate-x-[-50%] translate-y-[-50%] rounded-full w-5 h-5 flex justify-center items-center bg-[rgba(0,0,0,0.3)]"};function It(a,$,x,_,k,z){const A=qe,u=Ie;return i(),m("div",null,[o("div",{class:"file-item relative",style:Fe({height:a.height||a.fileSize,width:a.width||a.fileSize})},[a.type=="image"?(i(),h(A,{key:0,class:"image",fit:"contain",src:a.uri},null,8,["src"])):a.type=="video"?(i(),m("video",{key:1,class:"video",src:a.uri},null,8,Rt)):(i(),h(A,{key:2,class:"image",src:"https://img95.699pic.com/element/40103/3946.png_860.png"})),a.type=="video"?(i(),m("div",Dt,[n(u,{name:"el-icon-CaretRight",size:18,color:"#fff"})])):p("",!0),yt(a.$slots,"default",{},void 0,!0)],4)])}const re=De($t,[["render",It],["__scopeId","data-v-acf6f94d"]]);function Tt(a){const $=pe(),x=E([]),_=E(""),k=async()=>{const f=await Ct({page_type:0,type:a}),C=[{name:"全部",id:""},{name:"未分组",id:0}];x.value=f.lists,x.value.unshift(...C),setTimeout(()=>{var w;(w=$.value)==null||w.setCurrentKey(_.value)},0)};return{treeRef:$,cateId:_,cateLists:x,handleAddCate:async f=>{await $e({type:a,name:f,pid:0}),k()},handleAddChildCate:async(f,C)=>{await $e({type:a,name:f,pid:C}),k()},handleEditCate:async(f,C)=>{await kt({id:C,name:f}),k()},handleDeleteCate:async(f,C)=>{C?await ce.confirm("删除文件夹将会永久删除文件夹及其所有内容。您确定要继续吗?"):await ce.confirm("确定要删除?"),await ht({id:f}),_.value="",k()},getCateLists:k,handleCatSelect:f=>{_.value=f.id}}}function Ft(a,$,x,_){const k=pe(),z=E("normal"),A=E(0),u=E([]),R=E(!1),g=E(!1),f=Vt({name:"",type:$,cid:a,source:""}),{pager:C,getLists:w,resetPage:M}=St({fetchFun:At,params:f,firstLoading:!0,size:_}),L=()=>{w()},J=()=>{M()},O=c=>!!u.value.find(d=>d.id==c),H=async c=>{await ce.confirm("确认删除后,本地或云存储文件也将同步删除,如文件已被使用,请谨慎操作!");const d=c||u.value.map(V=>V.id);await xt({ids:d}),L(),U()},X=async()=>{const c=u.value.map(d=>d.id);await bt({ids:c,cid:A.value}),A.value=0,L(),U()},ee=c=>{const d=u.value.findIndex(V=>V.id==c.id);if(d!=-1){u.value.splice(d,1);return}if(u.value.length==x.value){if(x.value==1){u.value=[],u.value.push(c);return}Re.warning("已达到选择上限");return}u.value.push(c)},U=()=>{u.value=[]};return{listShowType:z,tableRef:k,moveId:A,pager:C,fileParams:f,select:u,isCheckAll:R,isIndeterminate:g,getFileList:L,refresh:J,batchFileDelete:H,batchFileMove:X,selectFile:ee,isSelect:O,clearSelect:U,cancelSelete:c=>{u.value=u.value.filter(d=>d.id!=c)},selectAll:c=>{var d;if(g.value=!1,(d=k.value)==null||d.toggleAllSelection(),c){u.value=[...C.lists];return}U()},handleFileRename:async(c,d)=>{await wt({id:d,name:c}),L()}}}const Lt={key:0},Ut={key:1},jt={class:"aspect-video overflow-hidden"},Mt={class:"size-full",controls:""},Pt=["src"],Bt=fe({__name:"preview",props:{modelValue:{type:Boolean,default:!1},url:{type:String,default:""},type:{type:String,default:"image"}},emits:["update:modelValue"],setup(a,{emit:$}){const x=a,_=$,k=pe(),z=Te({get(){return x.modelValue},set(R){_("update:modelValue",R)}}),A=()=>{_("update:modelValue",!1)},u=E([]);return Q(()=>x.modelValue,R=>{R?Ee(()=>{var g;u.value=[x.url],(g=k.value)==null||g.play()}):Ee(()=>{var g;u.value=[],(g=k.value)==null||g.pause()})}),(R,g)=>{const f=Ke,C=Ye;return Z((i(),m("div",null,[a.type=="image"?(i(),m("div",Lt,[l(u).length?(i(),h(f,{key:0,"url-list":l(u),"hide-on-click-modal":"",onClose:A},null,8,["url-list"])):p("",!0)])):p("",!0),a.type=="video"?(i(),m("div",Ut,[n(C,{modelValue:l(z),"onUpdate:modelValue":g[0]||(g[0]=w=>F(z)?z.value=w:null),width:"740px",title:"视频预览","before-close":A},{default:s(()=>[o("div",jt,[o("video",Mt,[o("source",{src:a.url,type:"video/mp4"},null,8,Pt)])])]),_:1},8,["modelValue"])])):p("",!0)],512)),[[me,a.modelValue]])}}}),Nt={class:"material"},Wt={class:"material__left"},Gt={class:"flex-1 min-h-0"},qt={class:"material-left__content pt-4 p-b-4"},Yt={class:"flex flex-1 items-center min-w-0 pr-4"},Kt={class:"flex-1 truncate mr-2"},Qt=["onClick"],Zt={class:"flex justify-center p-2 border-t border-br"},Jt={class:"material__center flex flex-col"},Ot={class:"operate-btn flex"},Ht={class:"flex-1 flex"},Xt={class:"flex items-center ml-2"},el={key:0,class:"mt-3"},tl={class:"material-center__content flex flex-col flex-1 mb-1 min-h-0"},ll={class:"file-list flex flex-wrap mt-4"},nl={key:0,class:"item-selected"},sl={class:"operation-btns flex items-center"},al={class:"inline-block"},ol={class:"inline-block"},il={class:"inline-block"},dl={key:1,class:"flex flex-1 justify-center items-center"},ul={class:"material-center__footer flex justify-between items-center mt-2"},rl={class:"flex"},cl={class:"mr-3"},ml={key:0,class:"material__right"},fl={class:"flex justify-between p-2 flex-wrap"},pl={class:"sm flex items-center"},vl={key:0},yl={class:"flex-1 min-h-0"},_l={class:"select-lists flex flex-col p-t-3"},gl={class:"select-item"},Cl=fe({__name:"index",props:{fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},type:{type:String,default:"image"},mode:{type:String,default:"picker"},pageSize:{type:Number,default:15}},emits:["change"],setup(a,{expose:$,emit:x}){const _=a,k=x,{limit:z}=Et(_),A=Te(()=>{switch(_.type){case"image":return 10;case"video":return 20;case"file":return 30;default:return 0}}),u=[{value:"0",label:"后台上传"},{value:"1",label:"前端上传"}],R=_t("visible",E(!1)),g=E(""),f=E(!1),{treeRef:C,cateId:w,cateLists:M,handleAddCate:L,handleAddChildCate:J,handleEditCate:O,handleDeleteCate:H,getCateLists:X,handleCatSelect:ee}=Tt(A.value),{tableRef:U,listShowType:I,moveId:T,pager:S,fileParams:c,select:d,isCheckAll:V,isIndeterminate:P,getFileList:ve,refresh:j,batchFileDelete:q,batchFileMove:ye,selectFile:te,isSelect:_e,clearSelect:ge,cancelSelete:Le,selectAll:Ce,handleFileRename:he}=Ft(w,A,z,_.pageSize),ke=async()=>{var b;await X(),(b=C.value)==null||b.setCurrentKey(w.value),ve()},le=b=>{g.value=b,f.value=!0};Q(()=>R.value,async b=>{b&&ke()},{immediate:!0}),Q(w,()=>{c.name="",j()}),Q(d,b=>{if(k("change",b),b.length==S.lists.length&&b.length!==0){P.value=!1,V.value=!0;return}b.length>0?P.value=!0:(V.value=!1,P.value=!1)},{deep:!0}),gt(()=>{_.mode=="page"&&ke()}),$({clearSelect:ge});const we=E(),Ue=b=>{const e=b,B=we.value;B.value=e,B.select(),document.execCommand("copy"),Re({message:"地址复制成功",type:"success"})};return(b,e)=>{const B=ct,ne=He,N=pt,je=Oe,Me=it,Pe=Je,se=Ze,y=Xe,ae=ft,oe=dt,ie=et,be=mt,Y=Ie,Be=tt,xe=lt,de=nt,Ae=rt,Se=ot,W=at,Ne=st,We=ut,Ge=Qe;return Z((i(),m("div",Nt,[o("div",Wt,[o("div",Gt,[n(se,null,{default:s(()=>[o("div",qt,[n(Pe,{ref_key:"treeRef",ref:C,"node-key":"id",data:l(M),"empty-text":"","highlight-current":!0,"expand-on-click-node":!1,"current-node-key":l(w),onNodeClick:l(ee)},{default:s(({data:t})=>[o("div",Yt,[e[16]||(e[16]=o("img",{class:"w-[20px] h-[16px] mr-3",src:zt},null,-1)),o("span",Kt,[n(B,{content:t.name},null,8,["content"])]),t.id>0?(i(),h(Me,{key:0,"hide-on-click":!1},{dropdown:s(()=>[n(je,null,{default:s(()=>[n(N,{onConfirm:v=>l(O)(v,t.id),size:"default",value:t.name,width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[12]||(e[12]=[r(" 命名分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm","value"]),n(N,{onConfirm:v=>l(J)(v,t.id),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[13]||(e[13]=[r(" 添加分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm"]),o("div",{onClick:v=>{var Ve;return l(H)(t.id,(Ve=t==null?void 0:t.children)==null?void 0:Ve.length)}},[n(ne,null,{default:s(()=>[...e[14]||(e[14]=[r("删除分组",-1)])]),_:1})],8,Qt)]),_:2},1024)]),default:s(()=>[e[15]||(e[15]=o("span",{class:"muted m-r-10"},"···",-1))]),_:2},1024)):p("",!0)])]),_:1},8,["data","current-node-key","onNodeClick"])])]),_:1})]),o("div",Zt,[n(N,{onConfirm:l(L),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[n(y,null,{default:s(()=>[...e[17]||(e[17]=[r(" 添加分组 ",-1)])]),_:1})]),_:1},8,["onConfirm"])])]),o("div",Jt,[o("div",Ot,[o("div",Ht,[a.type=="image"?(i(),h(ae,{key:0,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onChange:l(j)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[18]||(e[18]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onChange"])):p("",!0),a.type=="video"?(i(),h(ae,{key:1,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(j)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[19]||(e[19]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.type=="file"?(i(),h(ae,{key:2,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(j)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[20]||(e[20]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.mode=="page"?(i(),h(y,{key:3,disabled:!l(d).length,onClick:e[0]||(e[0]=K(t=>l(q)(),["stop"]))},{default:s(()=>[...e[21]||(e[21]=[r(" 删除 ",-1)])]),_:1},8,["disabled"])):p("",!0),a.mode=="page"?(i(),h(be,{key:4,class:"ml-3",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[22]||(e[22]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[23]||(e[23]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(T),"onUpdate:modelValue":e[1]||(e[1]=t=>F(T)?T.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,G(l(M),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])):p("",!0)]),n(ie,{modelValue:l(c).source,"onUpdate:modelValue":e[2]||(e[2]=t=>l(c).source=t),placeholder:"请选择文件来源",clearable:"",style:{"margin-right":"20px"},class:"max-w-52 ml-3"},{default:s(()=>[(i(),m(D,null,G(u,t=>n(oe,{key:t.value,label:t.label,value:t.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),n(Be,{class:"w-60",placeholder:"请输入名称",modelValue:l(c).name,"onUpdate:modelValue":e[3]||(e[3]=t=>l(c).name=t),onKeyup:vt(l(j),["enter"])},{append:s(()=>[n(y,{onClick:l(j)},{icon:s(()=>[n(Y,{name:"el-icon-Search"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"]),o("div",Xt,[n(xe,{content:"列表视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="table"}]),onClick:e[4]||(e[4]=t=>I.value="table")},[n(Y,{name:"local-icon-list-2",size:18})],2)]),_:1}),n(xe,{content:"平铺视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="normal"}]),onClick:e[5]||(e[5]=t=>I.value="normal")},[n(Y,{name:"el-icon-Menu",size:18})],2)]),_:1})])]),a.mode=="page"?(i(),m("div",el,[n(de,{disabled:!l(S).lists.length,modelValue:l(V),"onUpdate:modelValue":e[6]||(e[6]=t=>F(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(P)},{default:s(()=>[...e[24]||(e[24]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])])):p("",!0),o("div",tl,[l(S).lists.length?Z((i(),h(se,{key:0},{default:s(()=>[o("ul",ll,[(i(!0),m(D,null,G(l(S).lists,t=>(i(),m("li",{class:"file-item-wrap",key:t.id,style:Fe({width:a.fileSize})},[n(Ae,{onClose:v=>l(q)([t.id])},{default:s(()=>[n(re,{uri:t.url,"file-size":a.fileSize,type:a.type,onClick:v=>l(te)(t)},{default:s(()=>[l(_e)(t.id)?(i(),m("div",nl,[n(Y,{size:24,name:"el-icon-Check",color:"#fff"})])):p("",!0)]),_:2},1032,["uri","file-size","type","onClick"])]),_:2},1032,["onClose"]),n(B,{class:"mt-1",content:t.name},null,8,["content"]),o("div",sl,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[25]||(e[25]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"]),t.type===10||t.type===20?(i(),h(y,{key:0,type:"primary",link:"",onClick:v=>le(t.url)},{default:s(()=>[...e[26]||(e[26]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])):p("",!0),t.type===10||t.type===20?(i(),h(y,{key:1,type:"primary",link:"",onClick:v=>Ue(t.url),style:{"margin-left":"1px"}},{default:s(()=>[...e[27]||(e[27]=[r("地址",-1)])]),_:1},8,["onClick"])):(i(),h(Se,{key:2,type:"primary",underline:!1,style:{"margin-left":"25px"},href:t.url},{default:s(()=>[...e[28]||(e[28]=[r("下载",-1)])]),_:1},8,["href"]))])],4))),128))])]),_:1},512)),[[me,l(I)=="normal"]]):p("",!0),Z(n(Ne,{ref_key:"tableRef",ref:U,class:"mt-4",data:l(S).lists,width:"100%",height:"100%",size:"large",onRowClick:l(te)},{default:s(()=>[n(W,{width:"55"},{default:s(({row:t})=>[n(de,{modelValue:l(_e)(t.id),onChange:v=>l(te)(t)},null,8,["modelValue","onChange"])]),_:1}),n(W,{label:"图片",width:"100"},{default:s(({row:t})=>[n(re,{uri:t.url,"file-size":"50px",type:a.type},null,8,["uri","type"])]),_:1}),n(W,{label:"名称","min-width":"100","show-overflow-tooltip":""},{default:s(({row:t})=>[n(Se,{onClick:K(v=>le(t.url),["stop"]),underline:!1},{default:s(()=>[r(ue(t.name),1)]),_:2},1032,["onClick"])]),_:1}),n(W,{prop:"create_time",label:"上传时间","min-width":"100"}),n(W,{label:"操作",width:"150",fixed:"right"},{default:s(({row:t})=>[o("div",al,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[29]||(e[29]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"])]),o("div",ol,[n(y,{type:"primary",link:"",onClick:K(v=>le(t.url),["stop"])},{default:s(()=>[...e[30]||(e[30]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])]),o("div",il,[n(y,{type:"primary",link:"",onClick:K(v=>l(q)([t.id]),["stop"])},{default:s(()=>[...e[31]||(e[31]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","onRowClick"]),[[me,l(I)=="table"]]),!l(S).loading&&!l(S).lists.length?(i(),m("div",dl," 暂无数据~ ")):p("",!0)]),o("div",ul,[o("div",rl,[a.mode=="page"?(i(),m(D,{key:0},[o("span",cl,[n(de,{disabled:!l(S).lists.length,modelValue:l(V),"onUpdate:modelValue":e[7]||(e[7]=t=>F(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(P)},{default:s(()=>[...e[32]||(e[32]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])]),n(y,{disabled:!l(d).length,onClick:e[8]||(e[8]=t=>l(q)())},{default:s(()=>[...e[33]||(e[33]=[r(" 删除 ",-1)])]),_:1},8,["disabled"]),n(be,{class:"ml-3 inline",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[34]||(e[34]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[35]||(e[35]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(T),"onUpdate:modelValue":e[9]||(e[9]=t=>F(T)?T.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,G(l(M),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])],64)):p("",!0)]),n(We,{modelValue:l(S),"onUpdate:modelValue":e[10]||(e[10]=t=>F(S)?S.value=t:null),onChange:l(ve),layout:"total, prev, pager, next, jumper"},null,8,["modelValue","onChange"])])]),a.mode=="picker"?(i(),m("div",ml,[o("div",fl,[o("div",pl,[r(" 已选择 "+ue(l(d).length)+" ",1),l(z)?(i(),m("span",vl,"/"+ue(l(z)),1)):p("",!0)]),n(y,{type:"primary",link:"",onClick:l(ge)},{default:s(()=>[...e[36]||(e[36]=[r("清空",-1)])]),_:1},8,["onClick"])]),o("div",yl,[n(se,{class:"ls-scrollbar"},{default:s(()=>[o("ul",_l,[(i(!0),m(D,null,G(l(d),t=>(i(),m("li",{class:"mb-4",key:t.id},[o("div",gl,[n(Ae,{onClose:v=>l(Le)(t.id)},{default:s(()=>[n(re,{uri:t.url,"file-size":"100px",type:a.type},null,8,["uri","type"])]),_:2},1032,["onClose"])])]))),128))])]),_:1})])])):p("",!0),n(Bt,{modelValue:l(f),"onUpdate:modelValue":e[11]||(e[11]=t=>F(f)?f.value=t:null),url:l(g),type:a.type},null,8,["modelValue","url","type"]),o("input",{ref_key:"textCopys",ref:we,id:"textCopys",value:"",style:{opacity:"0",position:"absolute"}},null,512)])),[[Ge,l(S).loading]])}}}),Il=De(Cl,[["__scopeId","data-v-2dcfa5be"]]);export{re as F,Bt as _,Il as a}; +import{v as qe,E as Re,W as Ye,_ as Ke,M as Qe,s as Ze,$ as Je,n as Oe,o as He,i as Xe,Q as et,C as tt,r as lt,H as nt,N as st,O as at,T as ot,p as it,R as dt}from"./element-plus-DGP1XOrU.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as rt}from"./index-sgqCyAwB.js";import{_ as De,c as Ie,k as ce,q as ct}from"./index-J_eFER10.js";import{_ as mt}from"./index-BVjWjU3h.js";import{U as ft}from"./index-BIgtwj7l.js";import{_ as pt}from"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import{q as me,s as K,w as vt}from"./@vue/runtime-dom-DDAG46FW.js";import{f as fe,ak as i,I as m,J as o,G as h,a as n,H as p,aq as yt,w as Q,n as Ee,aP as Z,aN as s,A as Te,a5 as _t,b as gt,O as r,F as D,ap as G}from"./@vue/runtime-core-C6bnekPw.js";import{p as Fe,o as ze,Q as ue}from"./@vue/shared-mAAVTE9n.js";import{f as Ct,b as ht,c as kt,d as $e,e as wt,g as bt,h as xt,i as At}from"./file-D7g_w1vo.js";import{u as St}from"./usePaging-DofycyjW.js";import{n as E,q as pe,r as Vt,y as l,a as F,K as Et}from"./@vue/reactivity-DiY1c2vO.js";const zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAACJElEQVRYR+2YMWsUURSFz3m7s+nskjUIQSutbMRi7WzUVjSadMHCbVLkByjmLygaCVYWRqMEUhkFS9Gg0cJfYCPZjYUQFbPs+I7c2R1Q2ZjZfRNYYS4MAzPv3vnmvDvL3kMA2Hl5/CjLI9ckf4ZwY3Zt15C+gfwIao3So0rt3XsJtPUk9M/cAW6y9ap2DIyfAjgCwANwGeoYiEFtk/5e5CvXeer1D2neATcGgiTZM4+t9RNLEKcBtAFEGeBsiRWzl7EoSXo+8rV9gWc/fDc1B1VSEoEnDpj0KTB33tS26DGaEezvZQZpRxmODyoT5+vwBwS3zeTcT4yjTdZNJEiPSykk1bjZX6HeD/WQJ1zUApgq2w+etcsniBuAVlH9vELOx6Yo1VywgkmTB4X1kEGGhyAtg/Ecq3NNqnknDwVTrNBaactEts88OHs5b8Bw/Tof4M+kr4WrwwhoL9n5uRPWhxWwsxPEl+EGNMacP5I8evCPGgVgqKSFgoWCoQqE5hc9WCgYqkBoftGDeSiYz1/+UJLe+foftvh2A2B1fwQIrapkaFoDcK4PVyH0qVnyU4fjGdW4NQ2WlgDE5hLkMoJmQdh9zW9Dk59K5lhtLjyE01TX/jDILP5MGEbvbFPOJroIXvc5PjvTBbx7GM4vAjjd9WdSc2g/IPaqaTv5Aq58haP1TSb2Au20GGErvgTxIqiTAA7tVSnn+2Z9vAXdCsa4bD6Nsf0C/gYA5PMzcW0AAAAASUVORK5CYII=",$t=fe({props:{uri:{type:String},fileSize:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},type:{type:String,default:"image"}},emits:["close"]}),Rt=["src"],Dt={key:3,class:"absolute left-1/2 top-1/2 translate-x-[-50%] translate-y-[-50%] rounded-full w-5 h-5 flex justify-center items-center bg-[rgba(0,0,0,0.3)]"};function It(a,$,x,_,k,z){const A=qe,u=Ie;return i(),m("div",null,[o("div",{class:"file-item relative",style:Fe({height:a.height||a.fileSize,width:a.width||a.fileSize})},[a.type=="image"?(i(),h(A,{key:0,class:"image",fit:"contain",src:a.uri},null,8,["src"])):a.type=="video"?(i(),m("video",{key:1,class:"video",src:a.uri},null,8,Rt)):(i(),h(A,{key:2,class:"image",src:"https://img95.699pic.com/element/40103/3946.png_860.png"})),a.type=="video"?(i(),m("div",Dt,[n(u,{name:"el-icon-CaretRight",size:18,color:"#fff"})])):p("",!0),yt(a.$slots,"default",{},void 0,!0)],4)])}const re=De($t,[["render",It],["__scopeId","data-v-acf6f94d"]]);function Tt(a){const $=pe(),x=E([]),_=E(""),k=async()=>{const f=await Ct({page_type:0,type:a}),C=[{name:"全部",id:""},{name:"未分组",id:0}];x.value=f.lists,x.value.unshift(...C),setTimeout(()=>{var w;(w=$.value)==null||w.setCurrentKey(_.value)},0)};return{treeRef:$,cateId:_,cateLists:x,handleAddCate:async f=>{await $e({type:a,name:f,pid:0}),k()},handleAddChildCate:async(f,C)=>{await $e({type:a,name:f,pid:C}),k()},handleEditCate:async(f,C)=>{await kt({id:C,name:f}),k()},handleDeleteCate:async(f,C)=>{C?await ce.confirm("删除文件夹将会永久删除文件夹及其所有内容。您确定要继续吗?"):await ce.confirm("确定要删除?"),await ht({id:f}),_.value="",k()},getCateLists:k,handleCatSelect:f=>{_.value=f.id}}}function Ft(a,$,x,_){const k=pe(),z=E("normal"),A=E(0),u=E([]),R=E(!1),g=E(!1),f=Vt({name:"",type:$,cid:a,source:""}),{pager:C,getLists:w,resetPage:M}=St({fetchFun:At,params:f,firstLoading:!0,size:_}),L=()=>{w()},J=()=>{M()},O=c=>!!u.value.find(d=>d.id==c),H=async c=>{await ce.confirm("确认删除后,本地或云存储文件也将同步删除,如文件已被使用,请谨慎操作!");const d=c||u.value.map(V=>V.id);await xt({ids:d}),L(),U()},X=async()=>{const c=u.value.map(d=>d.id);await bt({ids:c,cid:A.value}),A.value=0,L(),U()},ee=c=>{const d=u.value.findIndex(V=>V.id==c.id);if(d!=-1){u.value.splice(d,1);return}if(u.value.length==x.value){if(x.value==1){u.value=[],u.value.push(c);return}Re.warning("已达到选择上限");return}u.value.push(c)},U=()=>{u.value=[]};return{listShowType:z,tableRef:k,moveId:A,pager:C,fileParams:f,select:u,isCheckAll:R,isIndeterminate:g,getFileList:L,refresh:J,batchFileDelete:H,batchFileMove:X,selectFile:ee,isSelect:O,clearSelect:U,cancelSelete:c=>{u.value=u.value.filter(d=>d.id!=c)},selectAll:c=>{var d;if(g.value=!1,(d=k.value)==null||d.toggleAllSelection(),c){u.value=[...C.lists];return}U()},handleFileRename:async(c,d)=>{await wt({id:d,name:c}),L()}}}const Lt={key:0},Ut={key:1},jt={class:"aspect-video overflow-hidden"},Mt={class:"size-full",controls:""},Pt=["src"],Bt=fe({__name:"preview",props:{modelValue:{type:Boolean,default:!1},url:{type:String,default:""},type:{type:String,default:"image"}},emits:["update:modelValue"],setup(a,{emit:$}){const x=a,_=$,k=pe(),z=Te({get(){return x.modelValue},set(R){_("update:modelValue",R)}}),A=()=>{_("update:modelValue",!1)},u=E([]);return Q(()=>x.modelValue,R=>{R?Ee(()=>{var g;u.value=[x.url],(g=k.value)==null||g.play()}):Ee(()=>{var g;u.value=[],(g=k.value)==null||g.pause()})}),(R,g)=>{const f=Ke,C=Ye;return Z((i(),m("div",null,[a.type=="image"?(i(),m("div",Lt,[l(u).length?(i(),h(f,{key:0,"url-list":l(u),"hide-on-click-modal":"",onClose:A},null,8,["url-list"])):p("",!0)])):p("",!0),a.type=="video"?(i(),m("div",Ut,[n(C,{modelValue:l(z),"onUpdate:modelValue":g[0]||(g[0]=w=>F(z)?z.value=w:null),width:"740px",title:"视频预览","before-close":A},{default:s(()=>[o("div",jt,[o("video",Mt,[o("source",{src:a.url,type:"video/mp4"},null,8,Pt)])])]),_:1},8,["modelValue"])])):p("",!0)],512)),[[me,a.modelValue]])}}}),Nt={class:"material"},Wt={class:"material__left"},Gt={class:"flex-1 min-h-0"},qt={class:"material-left__content pt-4 p-b-4"},Yt={class:"flex flex-1 items-center min-w-0 pr-4"},Kt={class:"flex-1 truncate mr-2"},Qt=["onClick"],Zt={class:"flex justify-center p-2 border-t border-br"},Jt={class:"material__center flex flex-col"},Ot={class:"operate-btn flex"},Ht={class:"flex-1 flex"},Xt={class:"flex items-center ml-2"},el={key:0,class:"mt-3"},tl={class:"material-center__content flex flex-col flex-1 mb-1 min-h-0"},ll={class:"file-list flex flex-wrap mt-4"},nl={key:0,class:"item-selected"},sl={class:"operation-btns flex items-center"},al={class:"inline-block"},ol={class:"inline-block"},il={class:"inline-block"},dl={key:1,class:"flex flex-1 justify-center items-center"},ul={class:"material-center__footer flex justify-between items-center mt-2"},rl={class:"flex"},cl={class:"mr-3"},ml={key:0,class:"material__right"},fl={class:"flex justify-between p-2 flex-wrap"},pl={class:"sm flex items-center"},vl={key:0},yl={class:"flex-1 min-h-0"},_l={class:"select-lists flex flex-col p-t-3"},gl={class:"select-item"},Cl=fe({__name:"index",props:{fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},type:{type:String,default:"image"},mode:{type:String,default:"picker"},pageSize:{type:Number,default:15}},emits:["change"],setup(a,{expose:$,emit:x}){const _=a,k=x,{limit:z}=Et(_),A=Te(()=>{switch(_.type){case"image":return 10;case"video":return 20;case"file":return 30;default:return 0}}),u=[{value:"0",label:"后台上传"},{value:"1",label:"前端上传"}],R=_t("visible",E(!1)),g=E(""),f=E(!1),{treeRef:C,cateId:w,cateLists:M,handleAddCate:L,handleAddChildCate:J,handleEditCate:O,handleDeleteCate:H,getCateLists:X,handleCatSelect:ee}=Tt(A.value),{tableRef:U,listShowType:I,moveId:T,pager:S,fileParams:c,select:d,isCheckAll:V,isIndeterminate:P,getFileList:ve,refresh:j,batchFileDelete:q,batchFileMove:ye,selectFile:te,isSelect:_e,clearSelect:ge,cancelSelete:Le,selectAll:Ce,handleFileRename:he}=Ft(w,A,z,_.pageSize),ke=async()=>{var b;await X(),(b=C.value)==null||b.setCurrentKey(w.value),ve()},le=b=>{g.value=b,f.value=!0};Q(()=>R.value,async b=>{b&&ke()},{immediate:!0}),Q(w,()=>{c.name="",j()}),Q(d,b=>{if(k("change",b),b.length==S.lists.length&&b.length!==0){P.value=!1,V.value=!0;return}b.length>0?P.value=!0:(V.value=!1,P.value=!1)},{deep:!0}),gt(()=>{_.mode=="page"&&ke()}),$({clearSelect:ge});const we=E(),Ue=b=>{const e=b,B=we.value;B.value=e,B.select(),document.execCommand("copy"),Re({message:"地址复制成功",type:"success"})};return(b,e)=>{const B=ct,ne=He,N=pt,je=Oe,Me=it,Pe=Je,se=Ze,y=Xe,ae=ft,oe=dt,ie=et,be=mt,Y=Ie,Be=tt,xe=lt,de=nt,Ae=rt,Se=ot,W=at,Ne=st,We=ut,Ge=Qe;return Z((i(),m("div",Nt,[o("div",Wt,[o("div",Gt,[n(se,null,{default:s(()=>[o("div",qt,[n(Pe,{ref_key:"treeRef",ref:C,"node-key":"id",data:l(M),"empty-text":"","highlight-current":!0,"expand-on-click-node":!1,"current-node-key":l(w),onNodeClick:l(ee)},{default:s(({data:t})=>[o("div",Yt,[e[16]||(e[16]=o("img",{class:"w-[20px] h-[16px] mr-3",src:zt},null,-1)),o("span",Kt,[n(B,{content:t.name},null,8,["content"])]),t.id>0?(i(),h(Me,{key:0,"hide-on-click":!1},{dropdown:s(()=>[n(je,null,{default:s(()=>[n(N,{onConfirm:v=>l(O)(v,t.id),size:"default",value:t.name,width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[12]||(e[12]=[r(" 命名分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm","value"]),n(N,{onConfirm:v=>l(J)(v,t.id),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[13]||(e[13]=[r(" 添加分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm"]),o("div",{onClick:v=>{var Ve;return l(H)(t.id,(Ve=t==null?void 0:t.children)==null?void 0:Ve.length)}},[n(ne,null,{default:s(()=>[...e[14]||(e[14]=[r("删除分组",-1)])]),_:1})],8,Qt)]),_:2},1024)]),default:s(()=>[e[15]||(e[15]=o("span",{class:"muted m-r-10"},"···",-1))]),_:2},1024)):p("",!0)])]),_:1},8,["data","current-node-key","onNodeClick"])])]),_:1})]),o("div",Zt,[n(N,{onConfirm:l(L),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[n(y,null,{default:s(()=>[...e[17]||(e[17]=[r(" 添加分组 ",-1)])]),_:1})]),_:1},8,["onConfirm"])])]),o("div",Jt,[o("div",Ot,[o("div",Ht,[a.type=="image"?(i(),h(ae,{key:0,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onChange:l(j)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[18]||(e[18]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onChange"])):p("",!0),a.type=="video"?(i(),h(ae,{key:1,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(j)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[19]||(e[19]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.type=="file"?(i(),h(ae,{key:2,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(j)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[20]||(e[20]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.mode=="page"?(i(),h(y,{key:3,disabled:!l(d).length,onClick:e[0]||(e[0]=K(t=>l(q)(),["stop"]))},{default:s(()=>[...e[21]||(e[21]=[r(" 删除 ",-1)])]),_:1},8,["disabled"])):p("",!0),a.mode=="page"?(i(),h(be,{key:4,class:"ml-3",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[22]||(e[22]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[23]||(e[23]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(T),"onUpdate:modelValue":e[1]||(e[1]=t=>F(T)?T.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,G(l(M),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])):p("",!0)]),n(ie,{modelValue:l(c).source,"onUpdate:modelValue":e[2]||(e[2]=t=>l(c).source=t),placeholder:"请选择文件来源",clearable:"",style:{"margin-right":"20px"},class:"max-w-52 ml-3"},{default:s(()=>[(i(),m(D,null,G(u,t=>n(oe,{key:t.value,label:t.label,value:t.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),n(Be,{class:"w-60",placeholder:"请输入名称",modelValue:l(c).name,"onUpdate:modelValue":e[3]||(e[3]=t=>l(c).name=t),onKeyup:vt(l(j),["enter"])},{append:s(()=>[n(y,{onClick:l(j)},{icon:s(()=>[n(Y,{name:"el-icon-Search"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"]),o("div",Xt,[n(xe,{content:"列表视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="table"}]),onClick:e[4]||(e[4]=t=>I.value="table")},[n(Y,{name:"local-icon-list-2",size:18})],2)]),_:1}),n(xe,{content:"平铺视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="normal"}]),onClick:e[5]||(e[5]=t=>I.value="normal")},[n(Y,{name:"el-icon-Menu",size:18})],2)]),_:1})])]),a.mode=="page"?(i(),m("div",el,[n(de,{disabled:!l(S).lists.length,modelValue:l(V),"onUpdate:modelValue":e[6]||(e[6]=t=>F(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(P)},{default:s(()=>[...e[24]||(e[24]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])])):p("",!0),o("div",tl,[l(S).lists.length?Z((i(),h(se,{key:0},{default:s(()=>[o("ul",ll,[(i(!0),m(D,null,G(l(S).lists,t=>(i(),m("li",{class:"file-item-wrap",key:t.id,style:Fe({width:a.fileSize})},[n(Ae,{onClose:v=>l(q)([t.id])},{default:s(()=>[n(re,{uri:t.url,"file-size":a.fileSize,type:a.type,onClick:v=>l(te)(t)},{default:s(()=>[l(_e)(t.id)?(i(),m("div",nl,[n(Y,{size:24,name:"el-icon-Check",color:"#fff"})])):p("",!0)]),_:2},1032,["uri","file-size","type","onClick"])]),_:2},1032,["onClose"]),n(B,{class:"mt-1",content:t.name},null,8,["content"]),o("div",sl,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[25]||(e[25]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"]),t.type===10||t.type===20?(i(),h(y,{key:0,type:"primary",link:"",onClick:v=>le(t.url)},{default:s(()=>[...e[26]||(e[26]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])):p("",!0),t.type===10||t.type===20?(i(),h(y,{key:1,type:"primary",link:"",onClick:v=>Ue(t.url),style:{"margin-left":"1px"}},{default:s(()=>[...e[27]||(e[27]=[r("地址",-1)])]),_:1},8,["onClick"])):(i(),h(Se,{key:2,type:"primary",underline:!1,style:{"margin-left":"25px"},href:t.url},{default:s(()=>[...e[28]||(e[28]=[r("下载",-1)])]),_:1},8,["href"]))])],4))),128))])]),_:1},512)),[[me,l(I)=="normal"]]):p("",!0),Z(n(Ne,{ref_key:"tableRef",ref:U,class:"mt-4",data:l(S).lists,width:"100%",height:"100%",size:"large",onRowClick:l(te)},{default:s(()=>[n(W,{width:"55"},{default:s(({row:t})=>[n(de,{modelValue:l(_e)(t.id),onChange:v=>l(te)(t)},null,8,["modelValue","onChange"])]),_:1}),n(W,{label:"图片",width:"100"},{default:s(({row:t})=>[n(re,{uri:t.url,"file-size":"50px",type:a.type},null,8,["uri","type"])]),_:1}),n(W,{label:"名称","min-width":"100","show-overflow-tooltip":""},{default:s(({row:t})=>[n(Se,{onClick:K(v=>le(t.url),["stop"]),underline:!1},{default:s(()=>[r(ue(t.name),1)]),_:2},1032,["onClick"])]),_:1}),n(W,{prop:"create_time",label:"上传时间","min-width":"100"}),n(W,{label:"操作",width:"150",fixed:"right"},{default:s(({row:t})=>[o("div",al,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[29]||(e[29]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"])]),o("div",ol,[n(y,{type:"primary",link:"",onClick:K(v=>le(t.url),["stop"])},{default:s(()=>[...e[30]||(e[30]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])]),o("div",il,[n(y,{type:"primary",link:"",onClick:K(v=>l(q)([t.id]),["stop"])},{default:s(()=>[...e[31]||(e[31]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","onRowClick"]),[[me,l(I)=="table"]]),!l(S).loading&&!l(S).lists.length?(i(),m("div",dl," 暂无数据~ ")):p("",!0)]),o("div",ul,[o("div",rl,[a.mode=="page"?(i(),m(D,{key:0},[o("span",cl,[n(de,{disabled:!l(S).lists.length,modelValue:l(V),"onUpdate:modelValue":e[7]||(e[7]=t=>F(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(P)},{default:s(()=>[...e[32]||(e[32]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])]),n(y,{disabled:!l(d).length,onClick:e[8]||(e[8]=t=>l(q)())},{default:s(()=>[...e[33]||(e[33]=[r(" 删除 ",-1)])]),_:1},8,["disabled"]),n(be,{class:"ml-3 inline",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[34]||(e[34]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[35]||(e[35]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(T),"onUpdate:modelValue":e[9]||(e[9]=t=>F(T)?T.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,G(l(M),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])],64)):p("",!0)]),n(We,{modelValue:l(S),"onUpdate:modelValue":e[10]||(e[10]=t=>F(S)?S.value=t:null),onChange:l(ve),layout:"total, prev, pager, next, jumper"},null,8,["modelValue","onChange"])])]),a.mode=="picker"?(i(),m("div",ml,[o("div",fl,[o("div",pl,[r(" 已选择 "+ue(l(d).length)+" ",1),l(z)?(i(),m("span",vl,"/"+ue(l(z)),1)):p("",!0)]),n(y,{type:"primary",link:"",onClick:l(ge)},{default:s(()=>[...e[36]||(e[36]=[r("清空",-1)])]),_:1},8,["onClick"])]),o("div",yl,[n(se,{class:"ls-scrollbar"},{default:s(()=>[o("ul",_l,[(i(!0),m(D,null,G(l(d),t=>(i(),m("li",{class:"mb-4",key:t.id},[o("div",gl,[n(Ae,{onClose:v=>l(Le)(t.id)},{default:s(()=>[n(re,{uri:t.url,"file-size":"100px",type:a.type},null,8,["uri","type"])]),_:2},1032,["onClose"])])]))),128))])]),_:1})])])):p("",!0),n(Bt,{modelValue:l(f),"onUpdate:modelValue":e[11]||(e[11]=t=>F(f)?f.value=t:null),url:l(g),type:a.type},null,8,["modelValue","url","type"]),o("input",{ref_key:"textCopys",ref:we,id:"textCopys",value:"",style:{opacity:"0",position:"absolute"}},null,512)])),[[Ge,l(S).loading]])}}}),Il=De(Cl,[["__scopeId","data-v-2dcfa5be"]]);export{re as F,Bt as _,Il as a}; diff --git a/server/public/admin/assets/index-C0TmyDi6.js b/server/public/admin/assets/index-CC7Q2x1w.js similarity index 95% rename from server/public/admin/assets/index-C0TmyDi6.js rename to server/public/admin/assets/index-CC7Q2x1w.js index 1b3b2f05d..5de19b3b4 100644 --- a/server/public/admin/assets/index-C0TmyDi6.js +++ b/server/public/admin/assets/index-CC7Q2x1w.js @@ -1 +1 @@ -import{D as G,B as H,C as J,Q as j,R as W,i as X,K as Y,N as Z,O as ee,U as te,M as oe}from"./element-plus-DGP1XOrU.js";import{c as ae,k as le}from"./index-fRv3NTFQ.js";import{w as ne}from"./@vue/runtime-dom-DDAG46FW.js";import{e as se,f as ie}from"./department-OHG8LTQz.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-BRlch2LV.js";import{f as K,b as pe,n as E,as as me,ak as m,I as de,a as t,aN as o,O as s,J as F,aP as v,G as c,H as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,q as x,n as V,r as ue}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./useDictOptions-Cx2-jvcM.js";const fe={class:"department"},ce=K({name:"department"}),at=K({...ce,setup(_e){const R=x(),_=x(),D=x();let b=!1;const w=V(!1),C=V([]),d=ue({status:"",name:""}),y=V(!1),u=async()=>{w.value=!0,C.value=await se(d),w.value=!1},L=()=>{var a;(a=D.value)==null||a.resetFields(),u()},$=async a=>{var e,n;y.value=!0,await E(),a&&((e=_.value)==null||e.setFormData({pid:a})),(n=_.value)==null||n.open("add")},O=async a=>{var e,n;y.value=!0,await E(),(e=_.value)==null||e.open("edit"),(n=_.value)==null||n.getDetail(a)},S=async a=>{await le.confirm("确定要删除?"),await ie({id:a}),u()},B=()=>{b=!b,N(C.value,b)},N=(a,e=!0)=>{var n;for(const r in a)(n=R.value)==null||n.toggleRowExpansion(a[r],e),a[r].children&&N(a[r].children,e)};return pe(async()=>{await u(),E(()=>{B()})}),(a,e)=>{const n=J,r=H,g=W,U=j,p=X,q=G,h=Y,M=ae,f=ee,Q=te,z=Z,k=me("perms"),A=oe;return m(),de("div",fe,[t(h,{class:"!border-none",shadow:"never"},{default:o(()=>[t(q,{ref_key:"formRef",ref:D,class:"mb-[-16px]",model:i(d),inline:!0},{default:o(()=>[t(r,{class:"w-[280px]",label:"部门名称",prop:"name"},{default:o(()=>[t(n,{modelValue:i(d).name,"onUpdate:modelValue":e[0]||(e[0]=l=>i(d).name=l),placeholder:"输入部门名称",clearable:"",onKeyup:ne(u,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"部门状态",prop:"status"},{default:o(()=>[t(U,{modelValue:i(d).status,"onUpdate:modelValue":e[1]||(e[1]=l=>i(d).status=l)},{default:o(()=>[t(g,{label:"全部",value:""}),t(g,{label:"正常",value:"1"}),t(g,{label:"停用",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(r,null,{default:o(()=>[t(p,{type:"primary",onClick:u},{default:o(()=>[...e[4]||(e[4]=[s("查询",-1)])]),_:1}),t(p,{onClick:L},{default:o(()=>[...e[5]||(e[5]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(h,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[F("div",null,[v((m(),c(p,{type:"primary",onClick:e[2]||(e[2]=l=>$())},{icon:o(()=>[t(M,{name:"el-icon-Plus"})]),default:o(()=>[e[6]||(e[6]=s(" 新增 ",-1))]),_:1})),[[k,["dept.dept/add"]]]),t(p,{onClick:B},{default:o(()=>[...e[7]||(e[7]=[s(" 展开/折叠 ",-1)])]),_:1})]),v((m(),c(z,{ref_key:"tableRef",ref:R,class:"mt-4",size:"large",data:i(C),"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[t(f,{label:"部门名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),t(f,{label:"人数","min-width":"100",align:"center","show-overflow-tooltip":""},{header:o(()=>[...e[8]||(e[8]=[F("span",{title:"含本部门及所有下级部门的管理员数"},"人数(含下级)",-1)])]),default:o(({row:l})=>[s(I(l.admin_count??0),1)]),_:1}),t(f,{label:"部门状态",prop:"status","min-width":"100"},{default:o(({row:l})=>[t(Q,{class:"ml-2",type:l.status?"primary":"danger"},{default:o(()=>[s(I(l.status_desc),1)]),_:2},1032,["type"])]),_:1}),t(f,{label:"排序",prop:"sort","min-width":"100"}),t(f,{label:"更新时间",prop:"update_time","min-width":"180"}),t(f,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[v((m(),c(p,{type:"primary",link:"",onClick:T=>$(l.id)},{default:o(()=>[...e[9]||(e[9]=[s(" 新增 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/add"]]]),v((m(),c(p,{type:"primary",link:"",onClick:T=>O(l)},{default:o(()=>[...e[10]||(e[10]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/edit"]]]),l.pid!==0?v((m(),c(p,{key:0,type:"danger",link:"",onClick:T=>S(l.id)},{default:o(()=>[...e[11]||(e[11]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/delete"]]]):P("",!0)]),_:1})]),_:1},8,["data"])),[[A,i(w)]])]),_:1}),i(y)?(m(),c(re,{key:0,ref_key:"editRef",ref:_,onSuccess:u,onClose:e[3]||(e[3]=l=>y.value=!1)},null,512)):P("",!0)])}}});export{at as default}; +import{D as G,B as H,C as J,Q as j,R as W,i as X,K as Y,N as Z,O as ee,U as te,M as oe}from"./element-plus-DGP1XOrU.js";import{c as ae,k as le}from"./index-J_eFER10.js";import{w as ne}from"./@vue/runtime-dom-DDAG46FW.js";import{e as se,f as ie}from"./department-DdhKHNS-.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-B0HIfaxe.js";import{f as K,b as pe,n as E,as as me,ak as m,I as de,a as t,aN as o,O as s,J as F,aP as v,G as c,H as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,q as x,n as V,r as ue}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./useDictOptions-CU1TLMPn.js";const fe={class:"department"},ce=K({name:"department"}),at=K({...ce,setup(_e){const R=x(),_=x(),D=x();let b=!1;const w=V(!1),C=V([]),d=ue({status:"",name:""}),y=V(!1),u=async()=>{w.value=!0,C.value=await se(d),w.value=!1},L=()=>{var a;(a=D.value)==null||a.resetFields(),u()},$=async a=>{var e,n;y.value=!0,await E(),a&&((e=_.value)==null||e.setFormData({pid:a})),(n=_.value)==null||n.open("add")},O=async a=>{var e,n;y.value=!0,await E(),(e=_.value)==null||e.open("edit"),(n=_.value)==null||n.getDetail(a)},S=async a=>{await le.confirm("确定要删除?"),await ie({id:a}),u()},B=()=>{b=!b,N(C.value,b)},N=(a,e=!0)=>{var n;for(const r in a)(n=R.value)==null||n.toggleRowExpansion(a[r],e),a[r].children&&N(a[r].children,e)};return pe(async()=>{await u(),E(()=>{B()})}),(a,e)=>{const n=J,r=H,g=W,U=j,p=X,q=G,h=Y,M=ae,f=ee,Q=te,z=Z,k=me("perms"),A=oe;return m(),de("div",fe,[t(h,{class:"!border-none",shadow:"never"},{default:o(()=>[t(q,{ref_key:"formRef",ref:D,class:"mb-[-16px]",model:i(d),inline:!0},{default:o(()=>[t(r,{class:"w-[280px]",label:"部门名称",prop:"name"},{default:o(()=>[t(n,{modelValue:i(d).name,"onUpdate:modelValue":e[0]||(e[0]=l=>i(d).name=l),placeholder:"输入部门名称",clearable:"",onKeyup:ne(u,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"部门状态",prop:"status"},{default:o(()=>[t(U,{modelValue:i(d).status,"onUpdate:modelValue":e[1]||(e[1]=l=>i(d).status=l)},{default:o(()=>[t(g,{label:"全部",value:""}),t(g,{label:"正常",value:"1"}),t(g,{label:"停用",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(r,null,{default:o(()=>[t(p,{type:"primary",onClick:u},{default:o(()=>[...e[4]||(e[4]=[s("查询",-1)])]),_:1}),t(p,{onClick:L},{default:o(()=>[...e[5]||(e[5]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(h,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[F("div",null,[v((m(),c(p,{type:"primary",onClick:e[2]||(e[2]=l=>$())},{icon:o(()=>[t(M,{name:"el-icon-Plus"})]),default:o(()=>[e[6]||(e[6]=s(" 新增 ",-1))]),_:1})),[[k,["dept.dept/add"]]]),t(p,{onClick:B},{default:o(()=>[...e[7]||(e[7]=[s(" 展开/折叠 ",-1)])]),_:1})]),v((m(),c(z,{ref_key:"tableRef",ref:R,class:"mt-4",size:"large",data:i(C),"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[t(f,{label:"部门名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),t(f,{label:"人数","min-width":"100",align:"center","show-overflow-tooltip":""},{header:o(()=>[...e[8]||(e[8]=[F("span",{title:"含本部门及所有下级部门的管理员数"},"人数(含下级)",-1)])]),default:o(({row:l})=>[s(I(l.admin_count??0),1)]),_:1}),t(f,{label:"部门状态",prop:"status","min-width":"100"},{default:o(({row:l})=>[t(Q,{class:"ml-2",type:l.status?"primary":"danger"},{default:o(()=>[s(I(l.status_desc),1)]),_:2},1032,["type"])]),_:1}),t(f,{label:"排序",prop:"sort","min-width":"100"}),t(f,{label:"更新时间",prop:"update_time","min-width":"180"}),t(f,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[v((m(),c(p,{type:"primary",link:"",onClick:T=>$(l.id)},{default:o(()=>[...e[9]||(e[9]=[s(" 新增 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/add"]]]),v((m(),c(p,{type:"primary",link:"",onClick:T=>O(l)},{default:o(()=>[...e[10]||(e[10]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/edit"]]]),l.pid!==0?v((m(),c(p,{key:0,type:"danger",link:"",onClick:T=>S(l.id)},{default:o(()=>[...e[11]||(e[11]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/delete"]]]):P("",!0)]),_:1})]),_:1},8,["data"])),[[A,i(w)]])]),_:1}),i(y)?(m(),c(re,{key:0,ref_key:"editRef",ref:_,onSuccess:u,onClose:e[3]||(e[3]=l=>y.value=!1)},null,512)):P("",!0)])}}});export{at as default}; diff --git a/server/public/admin/assets/index-CguMPd65.js b/server/public/admin/assets/index-CCmH8maL.js similarity index 99% rename from server/public/admin/assets/index-CguMPd65.js rename to server/public/admin/assets/index-CCmH8maL.js index 962d85d5c..1d6f26b78 100644 --- a/server/public/admin/assets/index-CguMPd65.js +++ b/server/public/admin/assets/index-CCmH8maL.js @@ -1 +1 @@ -import{_ as Le}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{D as Ie,B as Me,aj as Ue,Z as Be,Q as $e,R as He,G as Ye,F as je,S as Ge,i as Qe,K as Ke,ac as Ze,X as qe,ab as Je,N as Xe,O as et,d as tt,U as at,E as nt}from"./element-plus-DGP1XOrU.js";import{Z as ot}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as F}from"./vue-echarts-BNtg2q_G.js";import{u as lt}from"./stats-D2lwBNks.js";import{u as rt}from"./usePaging-DofycyjW.js";import{f as te,b as st,ak as s,I as S,a as l,aN as n,G as u,F as P,ap as z,O as b,H as E,J as i,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as k,a as it,n as x,r as X}from"./@vue/reactivity-DiY1c2vO.js";import{Q as v,o as ee}from"./@vue/shared-mAAVTE9n.js";import{_ as dt}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ut={class:"conversion-stats-page"},pt={class:"stats-kpi-grid"},mt={class:"stats-kpi-label"},ct={class:"card-header"},yt={class:"card-hint"},_t={class:"card-header"},bt={class:"card-header"},vt={class:"card-header"},ft={class:"card-header-main"},ht={class:"card-hint"},gt=["title"],kt={class:"entity-name"},Ct={class:"mt-4 flex justify-end"},St=te({name:"conversionStatsPage"}),xt=te({...St,setup(wt){const C=x([]),L=x([]),I=x([]),M=x([]),U=x([]),B=x([]),$=x(!1),p=X({dimension:"dept",date_range:[],summary:{},charts:{ranking:{names:[],amounts:[],order_counts:[],fan_counts:[],rois:[],appointment_counts:[],interview_counts:[]},amount_share:[],fan_share:[],order_share:[]}}),o=X({dimension:"dept",dept_id:void 0,assistant_id:void 0,doctor_id:void 0,media_channel_code:"",time_type:"today",start_date:"",end_date:""}),ae=async e=>{var r;e.include_filters=$.value?0:1,o.time_type==="custom"&&(e.start_date=C.value[0]||"",e.end_date=C.value[1]||"");const t=await lt(e);return Object.assign(p,(t==null?void 0:t.extend)||{}),ge((r=t==null?void 0:t.extend)==null?void 0:r.filters),t},{pager:m,getLists:H}=rt({fetchFun:ae,params:o,firstLoading:!0}),ne=[{label:"部门",value:"dept"},{label:"医助",value:"assistant"},{label:"医生",value:"doctor"}],oe={value:"id",label:"name",children:"children"},le={children:"children"},w=d(()=>o.dimension==="assistant"?"医助":o.dimension==="doctor"?"医生":"部门"),re=d(()=>o.dimension==="assistant"?M.value:o.dimension==="doctor"?U.value:I.value),V=d({get:()=>o.dimension==="assistant"?o.assistant_id:o.dimension==="doctor"?o.doctor_id:o.dept_id,set:e=>{if(o.dimension==="assistant"){o.assistant_id=e;return}if(o.dimension==="doctor"){o.doctor_id=e;return}o.dept_id=e}}),se=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent"},{key:"interview_rate",label:"面诊率",type:"percent"},{key:"receive_rate",label:"接诊率",type:"percent"},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent"},{key:"business_order_amount",label:"业务订单额",type:"money"},{key:"completed_order_amount",label:"诊单金额",type:"money"},{key:"avg_unit_price",label:"平均单价",type:"money"},{key:"account_cost",label:"账户消耗",type:"money"},{key:"cash_cost",label:"现金成本",type:"money"},{key:"roi",label:"ROI",type:"ratio"}],ie=[{key:"appointment_total_count",label:"挂号数",type:"count"},{key:"interview_count",label:"面诊数",type:"count"},{key:"completed_order_count",label:"接诊单数",type:"count"},{key:"completed_order_amount",label:"开药金额",type:"money"},{key:"receive_rate",label:"接诊率",type:"percent"}],de=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"total_open_count",label:"总开口",type:"count",placeholder:!0},{key:"unreplied_count",label:"未回复",type:"count",placeholder:!0},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"appointment_total_count",label:"挂号总数",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"completed_order_amount",label:"诊单金额",type:"money",minWidth:120},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent",minWidth:120},{key:"open_appointment_rate",label:"开口挂号率",type:"percent",placeholder:!0,minWidth:120},{key:"interview_rate",label:"面诊率",type:"percent",minWidth:100},{key:"receive_rate",label:"接诊率",type:"percent",minWidth:100},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent",minWidth:130},{key:"open_receive_rate",label:"开口接诊率",type:"percent",placeholder:!0,minWidth:120},{key:"avg_unit_price",label:"平均单价",type:"money",minWidth:110},{key:"cash_cost",label:"现金成本",type:"money",minWidth:110},{key:"roi",label:"ROI",type:"ratio",minWidth:90}],ue=[{key:"appointment_total_count",label:"挂号数",type:"count"},{key:"interview_count",label:"面诊数",type:"count"},{key:"completed_order_count",label:"接诊单数",type:"count"},{key:"completed_order_amount",label:"开药金额",type:"money",minWidth:120},{key:"receive_rate",label:"接诊率",type:"percent",minWidth:100}],f=d(()=>o.dimension==="doctor"),pe=d(()=>f.value?ie:se),me=d(()=>f.value?ue:de),Y=d(()=>{var e;return(e=p.date_range)!=null&&e.length?`${p.date_range[0]} 至 ${p.date_range[1]}`:"未选择"}),ce=d(()=>p.charts.ranking.names.length>0),ye=d(()=>p.charts.amount_share.length>0),_e=d(()=>{var e,t;return f.value?(((e=p.charts.order_share)==null?void 0:e.length)||0)>0:(((t=p.charts.fan_share)==null?void 0:t.length)||0)>0}),j=d(()=>f.value?"开药金额占比":"诊单金额占比"),G=d(()=>f.value?"接诊单数占比":"加粉占比"),be=d(()=>f.value?"暂无接诊数据":"暂无加粉数据"),h=d(()=>{var c;const e=((c=p.charts)==null?void 0:c.ranking)||{},t=Array.isArray(e.names)?e.names:[],r=y=>t.map((_,T)=>Number((y==null?void 0:y[T])??0));return{names:t,amounts:r(Array.isArray(e.amounts)?e.amounts:[]),appointmentCounts:r(Array.isArray(e.appointment_counts)?e.appointment_counts:[]),interviewCounts:r(Array.isArray(e.interview_counts)?e.interview_counts:[]),orderCounts:r(Array.isArray(e.order_counts)?e.order_counts:[]),fanCounts:r(Array.isArray(e.fan_counts)?e.fan_counts:[])}}),ve=d(()=>{const e={tooltip:{trigger:"axis"},grid:{left:48,right:24,top:48,bottom:48},xAxis:{type:"category",data:h.value.names,axisLabel:{interval:0,rotate:h.value.names.length>6?25:0}},yAxis:[{type:"value",name:"金额 / 数量"}]};return f.value?{...e,legend:{data:["开药金额","挂号数","面诊数","接诊单数"]},series:[{name:"开药金额",type:"bar",barMaxWidth:36,data:h.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"挂号数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.appointmentCounts,itemStyle:{color:"#15b8a6"}},{name:"面诊数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.interviewCounts,itemStyle:{color:"#ff9f43"}},{name:"接诊单数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.orderCounts,itemStyle:{color:"#7c3aed"}}]}:{...e,legend:{data:["诊单金额","接诊诊单","加粉数"]},series:[{name:"诊单金额",type:"bar",barMaxWidth:36,data:h.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"接诊诊单",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.orderCounts,itemStyle:{color:"#15b8a6"}},{name:"加粉数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.fanCounts,itemStyle:{color:"#ff9f43"}}]}}),fe=d(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:j.value,type:"pie",radius:["42%","70%"],center:["50%","42%"],avoidLabelOverlap:!0,minAngle:3,label:{show:!0,formatter:"{b}",overflow:"truncate",width:90},labelLayout:{hideOverlap:!0},data:p.charts.amount_share}]})),he=d(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:G.value,type:"pie",radius:["42%","70%"],center:["50%","42%"],avoidLabelOverlap:!0,minAngle:3,label:{show:!0,formatter:"{b}",overflow:"truncate",width:90},labelLayout:{hideOverlap:!0},data:f.value?p.charts.order_share:p.charts.fan_share}]})),Q=e=>{let t=[];return e.forEach(r=>{t.push({id:Number(r.id),name:r.name}),Array.isArray(r.children)&&r.children.length>0&&(t=t.concat(Q(r.children)))}),t},ge=e=>{if(!e)return;$.value=!0;const t=Array.isArray(e.departments)?e.departments:[],r=Array.isArray(e.assistants)?e.assistants:[],c=Array.isArray(e.doctors)?e.doctors:[],y=Array.isArray(e.media_channels)?e.media_channels:[];L.value=t,I.value=Q(t),M.value=r.map(_=>({id:Number(_.id),name:_.name})),U.value=c.map(_=>({id:Number(_.id),name:_.name})),B.value=y.map(_=>({code:String(_.code||""),name:String(_.name||"")}))},g=async()=>{try{await H()}catch(e){console.error("获取统计概览失败:",e),nt.error((e==null?void 0:e.msg)||"获取统计数据失败")}},ke=()=>{o.dept_id=void 0,o.assistant_id=void 0,o.doctor_id=void 0,m.page=1,g()},K=()=>{m.page=1,g()},Ce=()=>{m.page=1,g()},Se=()=>{o.time_type!=="custom"&&(C.value=[],m.page=1,g())},xe=()=>{C.value.length===2&&(m.page=1,g())},we=()=>{m.page=1,g()},Oe=()=>{o.dimension="dept",o.dept_id=void 0,o.assistant_id=void 0,o.doctor_id=void 0,o.media_channel_code="",o.time_type="today",C.value=[],m.page=1,m.size=15,g()},Ae=e=>{const t=Number((e==null?void 0:e.completed_order_count)||0),r=Number((e==null?void 0:e.interview_count)||0);return r<=0?0:t/r*100},Z=(e,t,r="count",c=!1)=>{if(c)return"—";const y=f.value&&e==="receive_rate"?Ae(t):(t==null?void 0:t[e])??0;return r==="money"?`¥${Number(y||0).toFixed(2)}`:r==="percent"?`${Number(y||0).toFixed(2)}%`:r==="ratio"?Number(y||0).toFixed(2):String(y??0)},Ee=e=>(e==null?void 0:e.id)!==void 0&&(e==null?void 0:e.id)!==null?String(e.id):"",Ve=e=>(e==null?void 0:e.type)==="member"||(e==null?void 0:e.type)==="unbound",Te=({row:e})=>(e==null?void 0:e.type)==="unbound"?"member-row member-row--unbound":(e==null?void 0:e.type)==="member"?e.is_leader?"member-row member-row--leader":"member-row":"";return st(async()=>{await g()}),(e,t)=>{const r=Ue,c=Me,y=Be,_=He,T=$e,O=je,Ne=Ye,Pe=Ge,q=Qe,ze=Ie,A=Ke,D=qe,N=Ze,W=Je,De=tt,R=at,J=et,We=Xe,Re=Le;return s(),S("div",ut,[l(A,{class:"!border-none",shadow:"never"},{default:n(()=>[l(ze,{inline:!0,model:o,class:"stats-filter-form"},{default:n(()=>[l(c,{label:"统计维度"},{default:n(()=>[l(r,{modelValue:o.dimension,"onUpdate:modelValue":t[0]||(t[0]=a=>o.dimension=a),options:ne,onChange:ke},null,8,["modelValue"])]),_:1}),l(c,{label:w.value},{default:n(()=>[o.dimension==="dept"?(s(),u(y,{key:0,modelValue:V.value,"onUpdate:modelValue":t[1]||(t[1]=a=>V.value=a),data:L.value,placeholder:`全部${w.value}`,clearable:"",filterable:"","node-key":"id","check-strictly":"","default-expand-all":!0,props:oe,style:{width:"220px"},onChange:K},null,8,["modelValue","data","placeholder"])):(s(),u(T,{key:1,modelValue:V.value,"onUpdate:modelValue":t[2]||(t[2]=a=>V.value=a),placeholder:`全部${w.value}`,clearable:"",filterable:"",style:{width:"220px"},onChange:K},{default:n(()=>[(s(!0),S(P,null,z(re.value,a=>(s(),u(_,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]))]),_:1},8,["label"]),l(c,{label:"自媒体渠道"},{default:n(()=>[l(T,{modelValue:o.media_channel_code,"onUpdate:modelValue":t[3]||(t[3]=a=>o.media_channel_code=a),placeholder:"全部渠道",clearable:"",filterable:"",style:{width:"220px"},onChange:Ce},{default:n(()=>[(s(!0),S(P,null,z(B.value,a=>(s(),u(_,{key:a.code,label:a.name,value:a.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"时间范围"},{default:n(()=>[l(Ne,{modelValue:o.time_type,"onUpdate:modelValue":t[4]||(t[4]=a=>o.time_type=a),onChange:Se},{default:n(()=>[l(O,{label:"today"},{default:n(()=>[...t[7]||(t[7]=[b("今天",-1)])]),_:1}),l(O,{label:"yesterday"},{default:n(()=>[...t[8]||(t[8]=[b("昨天",-1)])]),_:1}),l(O,{label:"week"},{default:n(()=>[...t[9]||(t[9]=[b("最近7天",-1)])]),_:1}),l(O,{label:"month"},{default:n(()=>[...t[10]||(t[10]=[b("最近30天",-1)])]),_:1}),l(O,{label:"custom"},{default:n(()=>[...t[11]||(t[11]=[b("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.time_type==="custom"?(s(),u(c,{key:0},{default:n(()=>[l(Pe,{modelValue:C.value,"onUpdate:modelValue":t[5]||(t[5]=a=>C.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:xe},null,8,["modelValue"])]),_:1})):E("",!0),l(c,null,{default:n(()=>[l(q,{type:"primary",loading:k(m).loading,onClick:we},{default:n(()=>[...t[12]||(t[12]=[b("查询",-1)])]),_:1},8,["loading"]),l(q,{onClick:Oe},{default:n(()=>[...t[13]||(t[13]=[b("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),i("div",pt,[(s(!0),S(P,null,z(pe.value,a=>(s(),S("div",{key:a.key,class:"stats-kpi-card"},[i("div",mt,v(a.label),1),i("div",{class:ee(["stats-kpi-value",{"is-money":a.type==="money"}])},v(Z(a.key,p.summary,a.type,a.placeholder)),3)]))),128))]),l(W,{gutter:20,class:"mt-4"},{default:n(()=>[l(N,{span:24},{default:n(()=>[l(A,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",ct,[t[14]||(t[14]=i("span",null,"转化排行",-1)),i("span",yt,v(Y.value)+" · TOP 10",1)])]),default:n(()=>[ce.value?(s(),u(k(F),{key:0,class:"stats-chart stats-chart-wide",option:ve.value,autoresize:""},null,8,["option"])):(s(),u(D,{key:1,description:"暂无图表数据"}))]),_:1})]),_:1})]),_:1}),l(W,{gutter:20,class:"mt-4"},{default:n(()=>[l(N,{xs:24,lg:12},{default:n(()=>[l(A,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",_t,[i("span",null,v(j.value),1),t[15]||(t[15]=i("span",{class:"card-hint"},"TOP 10",-1))])]),default:n(()=>[ye.value?(s(),u(k(F),{key:0,class:"stats-chart",option:fe.value,autoresize:""},null,8,["option"])):(s(),u(D,{key:1,description:"暂无金额数据"}))]),_:1})]),_:1}),l(N,{xs:24,lg:12},{default:n(()=>[l(A,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",bt,[i("span",null,v(G.value),1),t[16]||(t[16]=i("span",{class:"card-hint"},"TOP 10",-1))])]),default:n(()=>[_e.value?(s(),u(k(F),{key:0,class:"stats-chart",option:he.value,autoresize:""},null,8,["option"])):(s(),u(D,{key:1,description:be.value},null,8,["description"]))]),_:1})]),_:1})]),_:1}),l(W,{gutter:20,class:"mt-4"},{default:n(()=>[l(N,{span:24},{default:n(()=>[l(A,{class:"!border-none stats-detail-card",shadow:"never"},{header:n(()=>[i("div",vt,[i("div",ft,[t[17]||(t[17]=i("span",{class:"card-title"},"明细列表",-1)),i("span",ht,v(w.value)+"维度 · "+v(Y.value),1)])])]),default:n(()=>[l(We,{data:k(m).lists,"row-key":Ee,"tree-props":o.dimension==="dept"?le:void 0,"default-expand-all":!1,indent:20,"row-class-name":Te,size:"default",style:{width:"100%"},"max-height":"640",border:""},{default:n(()=>[l(J,{label:w.value,prop:"name",fixed:"left","min-width":"300","class-name":"dept-name-column"},{default:n(({row:a})=>[i("div",{class:"dept-name-cell",title:a.name},[Ve(a)?(s(),S("span",{key:0,class:ee(["member-icon",{"is-leader":a.is_leader,"is-unbound":a.type==="unbound"}])},[l(De,null,{default:n(()=>[l(k(ot))]),_:1})],2)):E("",!0),i("span",kt,v(a.name),1),a.type==="member"&&a.is_leader?(s(),u(R,{key:1,size:"small",type:"warning",effect:"light",round:"",class:"role-tag"},{default:n(()=>[...t[18]||(t[18]=[b(" 组长 ",-1)])]),_:1})):E("",!0),a.type==="member"&&a.role?(s(),u(R,{key:2,size:"small",type:a.role==="医生"?"success":"info",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[b(v(a.role),1)]),_:2},1032,["type"])):E("",!0),a.type==="unbound"?(s(),u(R,{key:3,size:"small",type:"danger",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[...t[19]||(t[19]=[b(" 未绑定 ",-1)])]),_:1})):E("",!0)],8,gt)]),_:1},8,["label"]),(s(!0),S(P,null,z(me.value,a=>(s(),u(J,{key:a.key,label:a.label,"min-width":a.minWidth||110,width:a.width,align:a.align||"center"},{default:n(({row:Fe})=>[b(v(Z(a.key,Fe,a.type,a.placeholder)),1)]),_:2},1032,["label","min-width","width","align"]))),128))]),_:1},8,["data","tree-props"]),i("div",Ct,[l(Re,{modelValue:k(m),"onUpdate:modelValue":t[6]||(t[6]=a=>it(m)?m.value=a:null),onChange:k(H)},null,8,["modelValue","onChange"])])]),_:1})]),_:1})]),_:1})])}}}),ya=dt(xt,[["__scopeId","data-v-c303d6f3"]]);export{ya as default}; +import{_ as Le}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{D as Ie,B as Me,aj as Ue,Z as Be,Q as $e,R as He,G as Ye,F as je,S as Ge,i as Qe,K as Ke,ac as Ze,X as qe,ab as Je,N as Xe,O as et,d as tt,U as at,E as nt}from"./element-plus-DGP1XOrU.js";import{Z as ot}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as F}from"./vue-echarts-BNtg2q_G.js";import{u as lt}from"./stats-DXRw03Ae.js";import{u as rt}from"./usePaging-DofycyjW.js";import{f as te,b as st,ak as s,I as S,a as l,aN as n,G as u,F as P,ap as z,O as b,H as E,J as i,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as k,a as it,n as x,r as X}from"./@vue/reactivity-DiY1c2vO.js";import{Q as v,o as ee}from"./@vue/shared-mAAVTE9n.js";import{_ as dt}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ut={class:"conversion-stats-page"},pt={class:"stats-kpi-grid"},mt={class:"stats-kpi-label"},ct={class:"card-header"},yt={class:"card-hint"},_t={class:"card-header"},bt={class:"card-header"},vt={class:"card-header"},ft={class:"card-header-main"},ht={class:"card-hint"},gt=["title"],kt={class:"entity-name"},Ct={class:"mt-4 flex justify-end"},St=te({name:"conversionStatsPage"}),xt=te({...St,setup(wt){const C=x([]),L=x([]),I=x([]),M=x([]),U=x([]),B=x([]),$=x(!1),p=X({dimension:"dept",date_range:[],summary:{},charts:{ranking:{names:[],amounts:[],order_counts:[],fan_counts:[],rois:[],appointment_counts:[],interview_counts:[]},amount_share:[],fan_share:[],order_share:[]}}),o=X({dimension:"dept",dept_id:void 0,assistant_id:void 0,doctor_id:void 0,media_channel_code:"",time_type:"today",start_date:"",end_date:""}),ae=async e=>{var r;e.include_filters=$.value?0:1,o.time_type==="custom"&&(e.start_date=C.value[0]||"",e.end_date=C.value[1]||"");const t=await lt(e);return Object.assign(p,(t==null?void 0:t.extend)||{}),ge((r=t==null?void 0:t.extend)==null?void 0:r.filters),t},{pager:m,getLists:H}=rt({fetchFun:ae,params:o,firstLoading:!0}),ne=[{label:"部门",value:"dept"},{label:"医助",value:"assistant"},{label:"医生",value:"doctor"}],oe={value:"id",label:"name",children:"children"},le={children:"children"},w=d(()=>o.dimension==="assistant"?"医助":o.dimension==="doctor"?"医生":"部门"),re=d(()=>o.dimension==="assistant"?M.value:o.dimension==="doctor"?U.value:I.value),V=d({get:()=>o.dimension==="assistant"?o.assistant_id:o.dimension==="doctor"?o.doctor_id:o.dept_id,set:e=>{if(o.dimension==="assistant"){o.assistant_id=e;return}if(o.dimension==="doctor"){o.doctor_id=e;return}o.dept_id=e}}),se=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent"},{key:"interview_rate",label:"面诊率",type:"percent"},{key:"receive_rate",label:"接诊率",type:"percent"},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent"},{key:"business_order_amount",label:"业务订单额",type:"money"},{key:"completed_order_amount",label:"诊单金额",type:"money"},{key:"avg_unit_price",label:"平均单价",type:"money"},{key:"account_cost",label:"账户消耗",type:"money"},{key:"cash_cost",label:"现金成本",type:"money"},{key:"roi",label:"ROI",type:"ratio"}],ie=[{key:"appointment_total_count",label:"挂号数",type:"count"},{key:"interview_count",label:"面诊数",type:"count"},{key:"completed_order_count",label:"接诊单数",type:"count"},{key:"completed_order_amount",label:"开药金额",type:"money"},{key:"receive_rate",label:"接诊率",type:"percent"}],de=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"total_open_count",label:"总开口",type:"count",placeholder:!0},{key:"unreplied_count",label:"未回复",type:"count",placeholder:!0},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"appointment_total_count",label:"挂号总数",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"completed_order_amount",label:"诊单金额",type:"money",minWidth:120},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent",minWidth:120},{key:"open_appointment_rate",label:"开口挂号率",type:"percent",placeholder:!0,minWidth:120},{key:"interview_rate",label:"面诊率",type:"percent",minWidth:100},{key:"receive_rate",label:"接诊率",type:"percent",minWidth:100},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent",minWidth:130},{key:"open_receive_rate",label:"开口接诊率",type:"percent",placeholder:!0,minWidth:120},{key:"avg_unit_price",label:"平均单价",type:"money",minWidth:110},{key:"cash_cost",label:"现金成本",type:"money",minWidth:110},{key:"roi",label:"ROI",type:"ratio",minWidth:90}],ue=[{key:"appointment_total_count",label:"挂号数",type:"count"},{key:"interview_count",label:"面诊数",type:"count"},{key:"completed_order_count",label:"接诊单数",type:"count"},{key:"completed_order_amount",label:"开药金额",type:"money",minWidth:120},{key:"receive_rate",label:"接诊率",type:"percent",minWidth:100}],f=d(()=>o.dimension==="doctor"),pe=d(()=>f.value?ie:se),me=d(()=>f.value?ue:de),Y=d(()=>{var e;return(e=p.date_range)!=null&&e.length?`${p.date_range[0]} 至 ${p.date_range[1]}`:"未选择"}),ce=d(()=>p.charts.ranking.names.length>0),ye=d(()=>p.charts.amount_share.length>0),_e=d(()=>{var e,t;return f.value?(((e=p.charts.order_share)==null?void 0:e.length)||0)>0:(((t=p.charts.fan_share)==null?void 0:t.length)||0)>0}),j=d(()=>f.value?"开药金额占比":"诊单金额占比"),G=d(()=>f.value?"接诊单数占比":"加粉占比"),be=d(()=>f.value?"暂无接诊数据":"暂无加粉数据"),h=d(()=>{var c;const e=((c=p.charts)==null?void 0:c.ranking)||{},t=Array.isArray(e.names)?e.names:[],r=y=>t.map((_,T)=>Number((y==null?void 0:y[T])??0));return{names:t,amounts:r(Array.isArray(e.amounts)?e.amounts:[]),appointmentCounts:r(Array.isArray(e.appointment_counts)?e.appointment_counts:[]),interviewCounts:r(Array.isArray(e.interview_counts)?e.interview_counts:[]),orderCounts:r(Array.isArray(e.order_counts)?e.order_counts:[]),fanCounts:r(Array.isArray(e.fan_counts)?e.fan_counts:[])}}),ve=d(()=>{const e={tooltip:{trigger:"axis"},grid:{left:48,right:24,top:48,bottom:48},xAxis:{type:"category",data:h.value.names,axisLabel:{interval:0,rotate:h.value.names.length>6?25:0}},yAxis:[{type:"value",name:"金额 / 数量"}]};return f.value?{...e,legend:{data:["开药金额","挂号数","面诊数","接诊单数"]},series:[{name:"开药金额",type:"bar",barMaxWidth:36,data:h.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"挂号数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.appointmentCounts,itemStyle:{color:"#15b8a6"}},{name:"面诊数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.interviewCounts,itemStyle:{color:"#ff9f43"}},{name:"接诊单数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.orderCounts,itemStyle:{color:"#7c3aed"}}]}:{...e,legend:{data:["诊单金额","接诊诊单","加粉数"]},series:[{name:"诊单金额",type:"bar",barMaxWidth:36,data:h.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"接诊诊单",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.orderCounts,itemStyle:{color:"#15b8a6"}},{name:"加粉数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:h.value.fanCounts,itemStyle:{color:"#ff9f43"}}]}}),fe=d(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:j.value,type:"pie",radius:["42%","70%"],center:["50%","42%"],avoidLabelOverlap:!0,minAngle:3,label:{show:!0,formatter:"{b}",overflow:"truncate",width:90},labelLayout:{hideOverlap:!0},data:p.charts.amount_share}]})),he=d(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:G.value,type:"pie",radius:["42%","70%"],center:["50%","42%"],avoidLabelOverlap:!0,minAngle:3,label:{show:!0,formatter:"{b}",overflow:"truncate",width:90},labelLayout:{hideOverlap:!0},data:f.value?p.charts.order_share:p.charts.fan_share}]})),Q=e=>{let t=[];return e.forEach(r=>{t.push({id:Number(r.id),name:r.name}),Array.isArray(r.children)&&r.children.length>0&&(t=t.concat(Q(r.children)))}),t},ge=e=>{if(!e)return;$.value=!0;const t=Array.isArray(e.departments)?e.departments:[],r=Array.isArray(e.assistants)?e.assistants:[],c=Array.isArray(e.doctors)?e.doctors:[],y=Array.isArray(e.media_channels)?e.media_channels:[];L.value=t,I.value=Q(t),M.value=r.map(_=>({id:Number(_.id),name:_.name})),U.value=c.map(_=>({id:Number(_.id),name:_.name})),B.value=y.map(_=>({code:String(_.code||""),name:String(_.name||"")}))},g=async()=>{try{await H()}catch(e){console.error("获取统计概览失败:",e),nt.error((e==null?void 0:e.msg)||"获取统计数据失败")}},ke=()=>{o.dept_id=void 0,o.assistant_id=void 0,o.doctor_id=void 0,m.page=1,g()},K=()=>{m.page=1,g()},Ce=()=>{m.page=1,g()},Se=()=>{o.time_type!=="custom"&&(C.value=[],m.page=1,g())},xe=()=>{C.value.length===2&&(m.page=1,g())},we=()=>{m.page=1,g()},Oe=()=>{o.dimension="dept",o.dept_id=void 0,o.assistant_id=void 0,o.doctor_id=void 0,o.media_channel_code="",o.time_type="today",C.value=[],m.page=1,m.size=15,g()},Ae=e=>{const t=Number((e==null?void 0:e.completed_order_count)||0),r=Number((e==null?void 0:e.interview_count)||0);return r<=0?0:t/r*100},Z=(e,t,r="count",c=!1)=>{if(c)return"—";const y=f.value&&e==="receive_rate"?Ae(t):(t==null?void 0:t[e])??0;return r==="money"?`¥${Number(y||0).toFixed(2)}`:r==="percent"?`${Number(y||0).toFixed(2)}%`:r==="ratio"?Number(y||0).toFixed(2):String(y??0)},Ee=e=>(e==null?void 0:e.id)!==void 0&&(e==null?void 0:e.id)!==null?String(e.id):"",Ve=e=>(e==null?void 0:e.type)==="member"||(e==null?void 0:e.type)==="unbound",Te=({row:e})=>(e==null?void 0:e.type)==="unbound"?"member-row member-row--unbound":(e==null?void 0:e.type)==="member"?e.is_leader?"member-row member-row--leader":"member-row":"";return st(async()=>{await g()}),(e,t)=>{const r=Ue,c=Me,y=Be,_=He,T=$e,O=je,Ne=Ye,Pe=Ge,q=Qe,ze=Ie,A=Ke,D=qe,N=Ze,W=Je,De=tt,R=at,J=et,We=Xe,Re=Le;return s(),S("div",ut,[l(A,{class:"!border-none",shadow:"never"},{default:n(()=>[l(ze,{inline:!0,model:o,class:"stats-filter-form"},{default:n(()=>[l(c,{label:"统计维度"},{default:n(()=>[l(r,{modelValue:o.dimension,"onUpdate:modelValue":t[0]||(t[0]=a=>o.dimension=a),options:ne,onChange:ke},null,8,["modelValue"])]),_:1}),l(c,{label:w.value},{default:n(()=>[o.dimension==="dept"?(s(),u(y,{key:0,modelValue:V.value,"onUpdate:modelValue":t[1]||(t[1]=a=>V.value=a),data:L.value,placeholder:`全部${w.value}`,clearable:"",filterable:"","node-key":"id","check-strictly":"","default-expand-all":!0,props:oe,style:{width:"220px"},onChange:K},null,8,["modelValue","data","placeholder"])):(s(),u(T,{key:1,modelValue:V.value,"onUpdate:modelValue":t[2]||(t[2]=a=>V.value=a),placeholder:`全部${w.value}`,clearable:"",filterable:"",style:{width:"220px"},onChange:K},{default:n(()=>[(s(!0),S(P,null,z(re.value,a=>(s(),u(_,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]))]),_:1},8,["label"]),l(c,{label:"自媒体渠道"},{default:n(()=>[l(T,{modelValue:o.media_channel_code,"onUpdate:modelValue":t[3]||(t[3]=a=>o.media_channel_code=a),placeholder:"全部渠道",clearable:"",filterable:"",style:{width:"220px"},onChange:Ce},{default:n(()=>[(s(!0),S(P,null,z(B.value,a=>(s(),u(_,{key:a.code,label:a.name,value:a.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"时间范围"},{default:n(()=>[l(Ne,{modelValue:o.time_type,"onUpdate:modelValue":t[4]||(t[4]=a=>o.time_type=a),onChange:Se},{default:n(()=>[l(O,{label:"today"},{default:n(()=>[...t[7]||(t[7]=[b("今天",-1)])]),_:1}),l(O,{label:"yesterday"},{default:n(()=>[...t[8]||(t[8]=[b("昨天",-1)])]),_:1}),l(O,{label:"week"},{default:n(()=>[...t[9]||(t[9]=[b("最近7天",-1)])]),_:1}),l(O,{label:"month"},{default:n(()=>[...t[10]||(t[10]=[b("最近30天",-1)])]),_:1}),l(O,{label:"custom"},{default:n(()=>[...t[11]||(t[11]=[b("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.time_type==="custom"?(s(),u(c,{key:0},{default:n(()=>[l(Pe,{modelValue:C.value,"onUpdate:modelValue":t[5]||(t[5]=a=>C.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:xe},null,8,["modelValue"])]),_:1})):E("",!0),l(c,null,{default:n(()=>[l(q,{type:"primary",loading:k(m).loading,onClick:we},{default:n(()=>[...t[12]||(t[12]=[b("查询",-1)])]),_:1},8,["loading"]),l(q,{onClick:Oe},{default:n(()=>[...t[13]||(t[13]=[b("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),i("div",pt,[(s(!0),S(P,null,z(pe.value,a=>(s(),S("div",{key:a.key,class:"stats-kpi-card"},[i("div",mt,v(a.label),1),i("div",{class:ee(["stats-kpi-value",{"is-money":a.type==="money"}])},v(Z(a.key,p.summary,a.type,a.placeholder)),3)]))),128))]),l(W,{gutter:20,class:"mt-4"},{default:n(()=>[l(N,{span:24},{default:n(()=>[l(A,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",ct,[t[14]||(t[14]=i("span",null,"转化排行",-1)),i("span",yt,v(Y.value)+" · TOP 10",1)])]),default:n(()=>[ce.value?(s(),u(k(F),{key:0,class:"stats-chart stats-chart-wide",option:ve.value,autoresize:""},null,8,["option"])):(s(),u(D,{key:1,description:"暂无图表数据"}))]),_:1})]),_:1})]),_:1}),l(W,{gutter:20,class:"mt-4"},{default:n(()=>[l(N,{xs:24,lg:12},{default:n(()=>[l(A,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",_t,[i("span",null,v(j.value),1),t[15]||(t[15]=i("span",{class:"card-hint"},"TOP 10",-1))])]),default:n(()=>[ye.value?(s(),u(k(F),{key:0,class:"stats-chart",option:fe.value,autoresize:""},null,8,["option"])):(s(),u(D,{key:1,description:"暂无金额数据"}))]),_:1})]),_:1}),l(N,{xs:24,lg:12},{default:n(()=>[l(A,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",bt,[i("span",null,v(G.value),1),t[16]||(t[16]=i("span",{class:"card-hint"},"TOP 10",-1))])]),default:n(()=>[_e.value?(s(),u(k(F),{key:0,class:"stats-chart",option:he.value,autoresize:""},null,8,["option"])):(s(),u(D,{key:1,description:be.value},null,8,["description"]))]),_:1})]),_:1})]),_:1}),l(W,{gutter:20,class:"mt-4"},{default:n(()=>[l(N,{span:24},{default:n(()=>[l(A,{class:"!border-none stats-detail-card",shadow:"never"},{header:n(()=>[i("div",vt,[i("div",ft,[t[17]||(t[17]=i("span",{class:"card-title"},"明细列表",-1)),i("span",ht,v(w.value)+"维度 · "+v(Y.value),1)])])]),default:n(()=>[l(We,{data:k(m).lists,"row-key":Ee,"tree-props":o.dimension==="dept"?le:void 0,"default-expand-all":!1,indent:20,"row-class-name":Te,size:"default",style:{width:"100%"},"max-height":"640",border:""},{default:n(()=>[l(J,{label:w.value,prop:"name",fixed:"left","min-width":"300","class-name":"dept-name-column"},{default:n(({row:a})=>[i("div",{class:"dept-name-cell",title:a.name},[Ve(a)?(s(),S("span",{key:0,class:ee(["member-icon",{"is-leader":a.is_leader,"is-unbound":a.type==="unbound"}])},[l(De,null,{default:n(()=>[l(k(ot))]),_:1})],2)):E("",!0),i("span",kt,v(a.name),1),a.type==="member"&&a.is_leader?(s(),u(R,{key:1,size:"small",type:"warning",effect:"light",round:"",class:"role-tag"},{default:n(()=>[...t[18]||(t[18]=[b(" 组长 ",-1)])]),_:1})):E("",!0),a.type==="member"&&a.role?(s(),u(R,{key:2,size:"small",type:a.role==="医生"?"success":"info",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[b(v(a.role),1)]),_:2},1032,["type"])):E("",!0),a.type==="unbound"?(s(),u(R,{key:3,size:"small",type:"danger",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[...t[19]||(t[19]=[b(" 未绑定 ",-1)])]),_:1})):E("",!0)],8,gt)]),_:1},8,["label"]),(s(!0),S(P,null,z(me.value,a=>(s(),u(J,{key:a.key,label:a.label,"min-width":a.minWidth||110,width:a.width,align:a.align||"center"},{default:n(({row:Fe})=>[b(v(Z(a.key,Fe,a.type,a.placeholder)),1)]),_:2},1032,["label","min-width","width","align"]))),128))]),_:1},8,["data","tree-props"]),i("div",Ct,[l(Re,{modelValue:k(m),"onUpdate:modelValue":t[6]||(t[6]=a=>it(m)?m.value=a:null),onChange:k(H)},null,8,["modelValue","onChange"])])]),_:1})]),_:1})]),_:1})])}}}),ya=dt(xt,[["__scopeId","data-v-c303d6f3"]]);export{ya as default}; diff --git a/server/public/admin/assets/index-4oQVMwE8.js b/server/public/admin/assets/index-CDpyEmx0.js similarity index 96% rename from server/public/admin/assets/index-4oQVMwE8.js rename to server/public/admin/assets/index-CDpyEmx0.js index 7e715e9c0..ff8f5848c 100644 --- a/server/public/admin/assets/index-4oQVMwE8.js +++ b/server/public/admin/assets/index-CDpyEmx0.js @@ -1 +1 @@ -import{D as T,B as $,C as j,Q as q,R as A,i as z,K as G,N as H,O as J,g as M,M as Q}from"./element-plus-DGP1XOrU.js";import{_ as W}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{m as C,c as X,i as Y,k as Z}from"./index-fRv3NTFQ.js";import{w as ee}from"./@vue/runtime-dom-DDAG46FW.js";import{k as te,l as ae,m as le,j as oe}from"./article-BsGgZfIu.js";import{u as ie}from"./useDictOptions-Cx2-jvcM.js";import{u as ne}from"./usePaging-DofycyjW.js";import{f as D,ac as re,ar as se,as as me,ak as r,I as E,a as e,aN as a,F as pe,ap as de,G as m,O as u,J as x,aP as _,H as ce}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ue,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const fe={class:"article-lists"},we={class:"flex justify-end mt-4"},be=D({name:"articleLists"}),nt=D({...be,setup(ve){const n=_e({title:"",cid:"",is_show:""}),{pager:p,getLists:s,resetPage:g,resetParams:P}=ne({fetchFun:te,params:n}),{optionsData:B}=ie({article_cate:{api:oe}}),N=async(f,l)=>{try{await ae({id:l,is_show:f}),s()}catch{s()}},U=async f=>{await Z.confirm("确定要删除?"),await le({id:f}),s()};return re(()=>{s()}),s(),(f,l)=>{const h=j,w=$,d=A,k=q,c=z,F=T,V=G,L=X,y=se("router-link"),i=J,S=Y,I=M,K=H,O=W,b=me("perms"),R=Q;return r(),E("div",fe,[e(V,{class:"!border-none",shadow:"never"},{default:a(()=>[e(F,{ref:"formRef",class:"mb-[-16px]",model:o(n),inline:!0},{default:a(()=>[e(w,{class:"w-[280px]",label:"文章标题"},{default:a(()=>[e(h,{modelValue:o(n).title,"onUpdate:modelValue":l[0]||(l[0]=t=>o(n).title=t),placeholder:"输入文章标题",clearable:"",onKeyup:ee(o(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(w,{class:"w-[280px]",label:"栏目名称"},{default:a(()=>[e(k,{modelValue:o(n).cid,"onUpdate:modelValue":l[1]||(l[1]=t=>o(n).cid=t)},{default:a(()=>[e(d,{label:"全部",value:""}),(r(!0),E(pe,null,de(o(B).article_cate,t=>(r(),m(d,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(w,{class:"w-[280px]",label:"文章状态"},{default:a(()=>[e(k,{modelValue:o(n).is_show,"onUpdate:modelValue":l[2]||(l[2]=t=>o(n).is_show=t)},{default:a(()=>[e(d,{label:"全部",value:""}),e(d,{label:"显示",value:1}),e(d,{label:"隐藏",value:0})]),_:1},8,["modelValue"])]),_:1}),e(w,null,{default:a(()=>[e(c,{type:"primary",onClick:o(g)},{default:a(()=>[...l[4]||(l[4]=[u("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:o(P)},{default:a(()=>[...l[5]||(l[5]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(V,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[_((r(),m(y,{to:{path:o(C)("article.article/add:edit")}},{default:a(()=>[e(c,{type:"primary",class:"mb-4"},{icon:a(()=>[e(L,{name:"el-icon-Plus"})]),default:a(()=>[l[6]||(l[6]=u(" 发布文章 ",-1))]),_:1})]),_:1},8,["to"])),[[b,["article.article/add","article.article/add:edit"]]])]),_((r(),m(K,{size:"large",data:o(p).lists},{default:a(()=>[e(i,{label:"ID",prop:"id","min-width":"80"}),e(i,{label:"封面","min-width":"100"},{default:a(({row:t})=>[t.image?(r(),m(S,{key:0,src:t.image,width:60,height:45,"preview-src-list":[t.image],"preview-teleported":"",fit:"contain"},null,8,["src","preview-src-list"])):ce("",!0)]),_:1}),e(i,{label:"标题",prop:"title","min-width":"160","show-tooltip-when-overflow":""}),e(i,{label:"栏目",prop:"cate_name","min-width":"100"}),e(i,{label:"作者",prop:"author","min-width":"120"}),e(i,{label:"浏览量",prop:"click","min-width":"100"}),e(i,{label:"状态","min-width":"100"},{default:a(({row:t})=>[_(e(I,{modelValue:t.is_show,"onUpdate:modelValue":v=>t.is_show=v,"active-value":1,"inactive-value":0,onChange:v=>N(v,t.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[b,["article.article/updateStatus"]]])]),_:1}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"发布时间",prop:"create_time","min-width":"120"}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:t})=>[_((r(),m(c,{type:"primary",link:""},{default:a(()=>[e(y,{to:{path:o(C)("article.article/add:edit"),query:{id:t.id}}},{default:a(()=>[...l[7]||(l[7]=[u(" 编辑 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[b,["article.article/edit","article.article/add:edit"]]]),_((r(),m(c,{type:"danger",link:"",onClick:v=>U(t.id)},{default:a(()=>[...l[8]||(l[8]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["article.article/delete"]]])]),_:1})]),_:1},8,["data"])),[[R,o(p).loading]]),x("div",we,[e(O,{modelValue:o(p),"onUpdate:modelValue":l[3]||(l[3]=t=>ue(p)?p.value=t:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{nt as default}; +import{D as T,B as $,C as j,Q as q,R as A,i as z,K as G,N as H,O as J,g as M,M as Q}from"./element-plus-DGP1XOrU.js";import{_ as W}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{m as C,c as X,i as Y,k as Z}from"./index-J_eFER10.js";import{w as ee}from"./@vue/runtime-dom-DDAG46FW.js";import{k as te,l as ae,m as le,j as oe}from"./article-D7twg9M1.js";import{u as ie}from"./useDictOptions-CU1TLMPn.js";import{u as ne}from"./usePaging-DofycyjW.js";import{f as D,ac as re,ar as se,as as me,ak as r,I as E,a as e,aN as a,F as pe,ap as de,G as m,O as u,J as x,aP as _,H as ce}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ue,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const fe={class:"article-lists"},we={class:"flex justify-end mt-4"},be=D({name:"articleLists"}),nt=D({...be,setup(ve){const n=_e({title:"",cid:"",is_show:""}),{pager:p,getLists:s,resetPage:g,resetParams:P}=ne({fetchFun:te,params:n}),{optionsData:B}=ie({article_cate:{api:oe}}),N=async(f,l)=>{try{await ae({id:l,is_show:f}),s()}catch{s()}},U=async f=>{await Z.confirm("确定要删除?"),await le({id:f}),s()};return re(()=>{s()}),s(),(f,l)=>{const h=j,w=$,d=A,k=q,c=z,F=T,V=G,L=X,y=se("router-link"),i=J,S=Y,I=M,K=H,O=W,b=me("perms"),R=Q;return r(),E("div",fe,[e(V,{class:"!border-none",shadow:"never"},{default:a(()=>[e(F,{ref:"formRef",class:"mb-[-16px]",model:o(n),inline:!0},{default:a(()=>[e(w,{class:"w-[280px]",label:"文章标题"},{default:a(()=>[e(h,{modelValue:o(n).title,"onUpdate:modelValue":l[0]||(l[0]=t=>o(n).title=t),placeholder:"输入文章标题",clearable:"",onKeyup:ee(o(g),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(w,{class:"w-[280px]",label:"栏目名称"},{default:a(()=>[e(k,{modelValue:o(n).cid,"onUpdate:modelValue":l[1]||(l[1]=t=>o(n).cid=t)},{default:a(()=>[e(d,{label:"全部",value:""}),(r(!0),E(pe,null,de(o(B).article_cate,t=>(r(),m(d,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(w,{class:"w-[280px]",label:"文章状态"},{default:a(()=>[e(k,{modelValue:o(n).is_show,"onUpdate:modelValue":l[2]||(l[2]=t=>o(n).is_show=t)},{default:a(()=>[e(d,{label:"全部",value:""}),e(d,{label:"显示",value:1}),e(d,{label:"隐藏",value:0})]),_:1},8,["modelValue"])]),_:1}),e(w,null,{default:a(()=>[e(c,{type:"primary",onClick:o(g)},{default:a(()=>[...l[4]||(l[4]=[u("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:o(P)},{default:a(()=>[...l[5]||(l[5]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(V,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[_((r(),m(y,{to:{path:o(C)("article.article/add:edit")}},{default:a(()=>[e(c,{type:"primary",class:"mb-4"},{icon:a(()=>[e(L,{name:"el-icon-Plus"})]),default:a(()=>[l[6]||(l[6]=u(" 发布文章 ",-1))]),_:1})]),_:1},8,["to"])),[[b,["article.article/add","article.article/add:edit"]]])]),_((r(),m(K,{size:"large",data:o(p).lists},{default:a(()=>[e(i,{label:"ID",prop:"id","min-width":"80"}),e(i,{label:"封面","min-width":"100"},{default:a(({row:t})=>[t.image?(r(),m(S,{key:0,src:t.image,width:60,height:45,"preview-src-list":[t.image],"preview-teleported":"",fit:"contain"},null,8,["src","preview-src-list"])):ce("",!0)]),_:1}),e(i,{label:"标题",prop:"title","min-width":"160","show-tooltip-when-overflow":""}),e(i,{label:"栏目",prop:"cate_name","min-width":"100"}),e(i,{label:"作者",prop:"author","min-width":"120"}),e(i,{label:"浏览量",prop:"click","min-width":"100"}),e(i,{label:"状态","min-width":"100"},{default:a(({row:t})=>[_(e(I,{modelValue:t.is_show,"onUpdate:modelValue":v=>t.is_show=v,"active-value":1,"inactive-value":0,onChange:v=>N(v,t.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[b,["article.article/updateStatus"]]])]),_:1}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"发布时间",prop:"create_time","min-width":"120"}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:t})=>[_((r(),m(c,{type:"primary",link:""},{default:a(()=>[e(y,{to:{path:o(C)("article.article/add:edit"),query:{id:t.id}}},{default:a(()=>[...l[7]||(l[7]=[u(" 编辑 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[b,["article.article/edit","article.article/add:edit"]]]),_((r(),m(c,{type:"danger",link:"",onClick:v=>U(t.id)},{default:a(()=>[...l[8]||(l[8]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["article.article/delete"]]])]),_:1})]),_:1},8,["data"])),[[R,o(p).loading]]),x("div",we,[e(O,{modelValue:o(p),"onUpdate:modelValue":l[3]||(l[3]=t=>ue(p)?p.value=t:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{nt as default}; diff --git a/server/public/admin/assets/index-ziRsjY9I.js b/server/public/admin/assets/index-COzAj1fq.js similarity index 69% rename from server/public/admin/assets/index-ziRsjY9I.js rename to server/public/admin/assets/index-COzAj1fq.js index b3ced6480..ea0b5b3aa 100644 --- a/server/public/admin/assets/index-ziRsjY9I.js +++ b/server/public/admin/assets/index-COzAj1fq.js @@ -1 +1 @@ -import{_ as b}from"./index-D6hiZISU.js";import{K as C,i as E}from"./element-plus-DGP1XOrU.js";import{a as I,s as O}from"./decoration-HusoyoI3.js";import{w as k,_ as B}from"./index-fRv3NTFQ.js";import{_ as J}from"./attr-setting.vue_vue_type_script_setup_true_lang-pfZYH5mS.js";import U from"./menu-CVaxMLtS.js";import h from"./preview-C1B_KeTu.js";import{e as R}from"./index-BTh_xBKj.js";import{f as w,w as W,as as j,ak as _,I as A,J as G,a as m,aN as l,aP as H,G as K,O as $,A as c}from"./@vue/runtime-core-C6bnekPw.js";import{r as q,y as i,a as v,n as D}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./attr-DaHTqGGt.js";import"./index-Dc1nFBAH.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-DdNcvOry.js";import"./decoration-img-63yHTKq5.js";import"./attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js";import"./content-Dbr1CmpF.js";import"./attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js";import"./content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js";import"./attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js";import"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import"./content-8Zehp_Rk.js";import"./attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js";import"./content.vue_vue_type_script_setup_true_lang-CN32u1VP.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-BKtyOCcY.js";import"./attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-BTqw4mI0.js";import"./content.vue_vue_type_script_setup_true_lang-B83-RT4p.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-DNPcBCfo.js";import"./attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js";import"./content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-lVo8M4Zt.js";const z={class:"decoration-pages min-w-[1100px]"},F={class:"flex flex-1 h-full justify-between"},L=w({name:"decorationPages"}),Q=w({...L,setup(T){let u;(t=>{t.HOME="1",t.USER="2",t.SERVICE="3"})(u||(u={}));const x=t=>{o[a.value].pageData=[...t]},p=t=>t.map(e=>{var n;return{id:k(),...((n=R[e])==null?void 0:n.options())||{}}}),M=t=>{var e;(e=o[a.value])!=null&&e.pageData&&(o[a.value].pageData[r.value].content=t)},o=q({1:{id:1,type:1,name:"首页装修",pageMeta:p(["page-meta"]),pageData:p(["search","banner","nav","news"])},2:{id:2,type:2,name:"个人中心",pageMeta:p(["page-meta"]),pageData:p(["user-info","my-service","user-banner"])},3:{id:3,type:3,name:"客服设置",pageMeta:null,pageData:p(["customer-service"])}}),a=D("1"),r=D(-1),d=c(()=>{var t;return((t=o[a.value])==null?void 0:t.pageData)??[]}),y=c(()=>{var t;return((t=o[a.value])==null?void 0:t.pageMeta)??null}),P=c(()=>{var t,e;return r.value===-1?((t=o[a.value])==null?void 0:t.pageMeta[0])??"":((e=o[a.value])==null?void 0:e.pageData[r.value])??""}),g=async()=>{const t=await I({id:a.value});o[String(t.id)].pageData=JSON.parse(t.data),o[String(t.id)].pageMeta=t!=null&&t.meta?JSON.parse(t==null?void 0:t.meta):null},V=async()=>{const t=o[a.value];await O({...t,data:JSON.stringify(t.pageData),meta:t!=null&&t.pageMeta?JSON.stringify(t==null?void 0:t.pageMeta):null}),g()};return W(a,()=>{r.value=d.value.findIndex(t=>!t.disabled),g()},{immediate:!0}),(t,e)=>{const f=C,n=E,N=b,S=j("perms");return _(),A("div",z,[G("div",F,[m(f,{shadow:"never",class:"!border-none flex scroll-view-content","body-style":{"padding-right":0}},{default:l(()=>[m(U,{modelValue:i(a),"onUpdate:modelValue":e[0]||(e[0]=s=>v(a)?a.value=s:null),menus:i(o)},null,8,["modelValue","menus"])]),_:1}),m(h,{class:"flex-1 scroll-view-content",modelValue:i(r),"onUpdate:modelValue":e[1]||(e[1]=s=>v(r)?r.value=s:null),onUpdatePageData:x,pageData:i(d),pageMeta:i(y)},null,8,["modelValue","pageData","pageMeta"]),m(J,{class:"w-[560px] scroll-view-content",widget:i(P),"onUpdate:content":M},null,8,["widget"])]),H((_(),K(N,{class:"mt-4",fixed:!1},{default:l(()=>[m(n,{type:"primary",onClick:V},{default:l(()=>[...e[2]||(e[2]=[$("保存",-1)])]),_:1})]),_:1})),[[S,["decorate:pages:save"]]])])}}}),be=B(Q,[["__scopeId","data-v-c24d7f45"]]);export{be as default}; +import{_ as b}from"./index-UGD9wxNK.js";import{K as C,i as E}from"./element-plus-DGP1XOrU.js";import{a as I,s as O}from"./decoration-BRUlzC1v.js";import{w as k,_ as B}from"./index-J_eFER10.js";import{_ as J}from"./attr-setting.vue_vue_type_script_setup_true_lang-CkQbp3IP.js";import U from"./menu-Czs2_ERZ.js";import h from"./preview-C9cY2eYG.js";import{e as R}from"./index-B48jKD3-.js";import{f as w,w as W,as as j,ak as _,I as A,J as G,a as m,aN as l,aP as H,G as K,O as $,A as c}from"./@vue/runtime-core-C6bnekPw.js";import{r as q,y as i,a as v,n as D}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./attr-U0WNIueQ.js";import"./index-sgqCyAwB.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js";import"./decoration-img-cJ3sOJu-.js";import"./attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js";import"./content-CuE78Set.js";import"./attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js";import"./content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js";import"./attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js";import"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import"./content-CC1w-xAd.js";import"./attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js";import"./content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-CjkrN-kA.js";import"./attr.vue_vue_type_script_setup_true_lang-InluY_es.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-CQZwJIUc.js";import"./content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BzNveTg-.js";import"./attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js";import"./content.vue_vue_type_script_setup_true_lang-DsMOey0g.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-DrZ0HxYf.js";const z={class:"decoration-pages min-w-[1100px]"},F={class:"flex flex-1 h-full justify-between"},L=w({name:"decorationPages"}),Q=w({...L,setup(T){let u;(t=>{t.HOME="1",t.USER="2",t.SERVICE="3"})(u||(u={}));const x=t=>{o[a.value].pageData=[...t]},p=t=>t.map(e=>{var n;return{id:k(),...((n=R[e])==null?void 0:n.options())||{}}}),M=t=>{var e;(e=o[a.value])!=null&&e.pageData&&(o[a.value].pageData[r.value].content=t)},o=q({1:{id:1,type:1,name:"首页装修",pageMeta:p(["page-meta"]),pageData:p(["search","banner","nav","news"])},2:{id:2,type:2,name:"个人中心",pageMeta:p(["page-meta"]),pageData:p(["user-info","my-service","user-banner"])},3:{id:3,type:3,name:"客服设置",pageMeta:null,pageData:p(["customer-service"])}}),a=D("1"),r=D(-1),d=c(()=>{var t;return((t=o[a.value])==null?void 0:t.pageData)??[]}),y=c(()=>{var t;return((t=o[a.value])==null?void 0:t.pageMeta)??null}),P=c(()=>{var t,e;return r.value===-1?((t=o[a.value])==null?void 0:t.pageMeta[0])??"":((e=o[a.value])==null?void 0:e.pageData[r.value])??""}),g=async()=>{const t=await I({id:a.value});o[String(t.id)].pageData=JSON.parse(t.data),o[String(t.id)].pageMeta=t!=null&&t.meta?JSON.parse(t==null?void 0:t.meta):null},V=async()=>{const t=o[a.value];await O({...t,data:JSON.stringify(t.pageData),meta:t!=null&&t.pageMeta?JSON.stringify(t==null?void 0:t.pageMeta):null}),g()};return W(a,()=>{r.value=d.value.findIndex(t=>!t.disabled),g()},{immediate:!0}),(t,e)=>{const f=C,n=E,N=b,S=j("perms");return _(),A("div",z,[G("div",F,[m(f,{shadow:"never",class:"!border-none flex scroll-view-content","body-style":{"padding-right":0}},{default:l(()=>[m(U,{modelValue:i(a),"onUpdate:modelValue":e[0]||(e[0]=s=>v(a)?a.value=s:null),menus:i(o)},null,8,["modelValue","menus"])]),_:1}),m(h,{class:"flex-1 scroll-view-content",modelValue:i(r),"onUpdate:modelValue":e[1]||(e[1]=s=>v(r)?r.value=s:null),onUpdatePageData:x,pageData:i(d),pageMeta:i(y)},null,8,["modelValue","pageData","pageMeta"]),m(J,{class:"w-[560px] scroll-view-content",widget:i(P),"onUpdate:content":M},null,8,["widget"])]),H((_(),K(N,{class:"mt-4",fixed:!1},{default:l(()=>[m(n,{type:"primary",onClick:V},{default:l(()=>[...e[2]||(e[2]=[$("保存",-1)])]),_:1})]),_:1})),[[S,["decorate:pages:save"]]])])}}}),be=B(Q,[["__scopeId","data-v-c24d7f45"]]);export{be as default}; diff --git a/server/public/admin/assets/index-BrWEzRo9.js b/server/public/admin/assets/index-CUuHlzOy.js similarity index 97% rename from server/public/admin/assets/index-BrWEzRo9.js rename to server/public/admin/assets/index-CUuHlzOy.js index dd0ae87ab..18e67b757 100644 --- a/server/public/admin/assets/index-BrWEzRo9.js +++ b/server/public/admin/assets/index-CUuHlzOy.js @@ -1 +1 @@ -import{_ as O}from"./index-D6hiZISU.js";import{K as $,L,B as R,g as Z,C as G,Q as T,R as j,i as q,D as K}from"./element-plus-DGP1XOrU.js";import{r as E,k as Q}from"./index-fRv3NTFQ.js";import{U as X}from"./index-Dxrq29dg.js";import{f as W,as as J,ak as c,I as U,a as l,aN as i,J as r,O as _,F as Y,ap as ee,G as v,H as te,aP as C}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,q as ae,r as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";function se(){return E.get({url:"/setting.desktop_workstation/getConfig"})}function le(x){return E.post({url:"/setting.desktop_workstation/setConfig",params:x})}const ne={class:"desktop-workstation"},ie={class:"ml-2"},re={class:"w-80"},de={class:"ml-2"},pe={class:"w-80"},me={class:"w-[480px]"},ue={class:"w-[640px]"},ce={class:"text-xl font-medium mb-[20px]"},_e={class:"form-tips ml-3"},fe={class:"w-[640px]"},ge={class:"w-[640px]"},ke={class:"w-[480px]"},ve={class:"flex items-center gap-3"},xe={class:"text-tx-secondary text-sm"},ye=W({name:"desktopWorkstation"}),rt=W({...ye,setup(x){const g=(a="archive")=>({url:"",sha256:"",size:0,filename:"",type:a}),y=ae(),t=oe({enabled:1,latest_version:"",min_version:"",force_update:0,title:"",notes:"",packages:{windows_x64:g("inno_setup"),macos_arm64:g(),macos_x64:g()}}),z=[{key:"windows_x64",label:"Windows 64 位安装包"},{key:"macos_arm64",label:"macOS Apple 芯片安装包"},{key:"macos_x64",label:"macOS Intel 安装包"}],B={latest_version:[{validator:(a,e,o)=>{if(t.enabled===1&&!String(e||"").trim()){o(new Error("启用自动检测时请填写最新版本号"));return}if(e&&!/^\d+(?:\.\d+){0,3}$/.test(e.trim())){o(new Error("版本号须为 x.y.z 数字格式"));return}o()},trigger:["blur","change"]}],min_version:[{validator:(a,e,o)=>{if(e&&!/^\d+(?:\.\d+){0,3}$/.test(e.trim())){o(new Error("版本号须为 x.y.z 数字格式"));return}o()},trigger:["blur"]}]},D=a=>{const e=Number(a)||0;return e<=0?"未填写":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`},k=(a,e)=>{const o=t.packages[a];o.url=String((e==null?void 0:e.url)||""),o.sha256=String((e==null?void 0:e.sha256)||""),o.size=Number((e==null?void 0:e.size)||0),o.filename=String((e==null?void 0:e.filename)||""),o.type=(e==null?void 0:e.type)==="inno_setup"||a==="windows_x64"&&!(e!=null&&e.url)&&!(e!=null&&e.filename)?"inno_setup":"archive"},b=async()=>{var e,o,m;const a=await se();t.enabled=Number(a.enabled??0)?1:0,t.latest_version=a.latest_version||"",t.min_version=a.min_version||"",t.force_update=Number(a.force_update??0)?1:0,t.title=a.title||"",t.notes=a.notes||"",k("windows_x64",(e=a.packages)==null?void 0:e.windows_x64),k("macos_arm64",(o=a.packages)==null?void 0:o.macos_arm64),k("macos_x64",(m=a.packages)==null?void 0:m.macos_x64)},N=async a=>{const e=await a.arrayBuffer(),o=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(o)).map(m=>m.toString(16).padStart(2,"0")).join("")},M=async(a,e)=>{var m,d;const o=e==null?void 0:e.raw;if(o){t.packages[a].filename=o.name||t.packages[a].filename,t.packages[a].size=Number(o.size||0),a==="windows_x64"&&((m=o.name)!=null&&m.toLowerCase().endsWith(".exe"))?t.packages[a].type="inno_setup":(d=o.name)!=null&&d.toLowerCase().endsWith(".zip")&&(t.packages[a].type="archive");try{t.packages[a].sha256=await N(o)}catch(u){console.warn(u),Q.msgWarning("浏览器计算 SHA-256 失败,请手动填写校验值")}}},A=(a,e)=>{const o=(e==null?void 0:e.data)||{};o.uri?t.packages[a].url=o.uri:o.url&&(t.packages[a].url=o.url),o.name&&!t.packages[a].filename&&(t.packages[a].filename=o.name)},F=async()=>{var a;await((a=y.value)==null?void 0:a.validate()),await le({enabled:t.enabled,latest_version:t.latest_version,min_version:t.min_version,force_update:t.force_update,title:t.title,notes:t.notes,packages:{windows_x64:{...t.packages.windows_x64},macos_arm64:{...t.packages.macos_arm64},macos_x64:{...t.packages.macos_x64}}}),await b()};return b(),(a,e)=>{const o=L,m=Z,d=R,u=G,V=$,h=j,I=T,w=q,P=K,H=O,S=J("perms");return c(),U("div",ne,[l(P,{ref_key:"formRef",ref:y,class:"ls-form",model:n(t),rules:B,"label-width":"140px","scroll-to-error":""},{default:i(()=>[l(V,{shadow:"never",class:"!border-none"},{default:i(()=>[l(o,{type:"info",closable:!1,"show-icon":"",class:"mb-5"},{title:i(()=>[...e[6]||(e[6]=[_("医生工作站升级包",-1)])]),default:i(()=>[e[7]||(e[7]=r("div",{class:"leading-6"},[_(" 桌面端启动后会检测本页发布的版本。请上传或填写与 "),r("code",null,"一键打包"),_(" 产物一致的安装包,并填入打包目录中的 SHA-256。Windows 推荐使用 Setup.exe,用户点击“立即更新”后会自动安装并重启;macOS 继续使用 ZIP。 安装包通常超过 200MB,本页上传按钮会直传到已配置的腾讯云 COS;也可以 自行上传到其他对象存储 / CDN 后粘贴地址。 ")],-1))]),_:1}),e[10]||(e[10]=r("div",{class:"text-xl font-medium mb-[20px]"},"升级策略",-1)),l(d,{label:"自动检测",prop:"enabled"},{default:i(()=>[r("div",null,[l(m,{modelValue:n(t).enabled,"onUpdate:modelValue":e[0]||(e[0]=s=>n(t).enabled=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),r("span",ie,f(n(t).enabled?"开启":"关闭"),1),e[8]||(e[8]=r("div",{class:"form-tips"},"关闭后,桌面端不会提示或强制升级。",-1))])]),_:1}),l(d,{label:"最新版本号",prop:"latest_version"},{default:i(()=>[r("div",re,[l(u,{modelValue:n(t).latest_version,"onUpdate:modelValue":e[1]||(e[1]=s=>n(t).latest_version=s),modelModifiers:{trim:!0},placeholder:"须与 pyproject.toml / 客户端版本一致,例如 0.2.0",maxlength:"20"},null,8,["modelValue"])])]),_:1}),l(d,{label:"强制升级",prop:"force_update"},{default:i(()=>[r("div",null,[l(m,{modelValue:n(t).force_update,"onUpdate:modelValue":e[2]||(e[2]=s=>n(t).force_update=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),r("span",de,f(n(t).force_update?"开启":"关闭"),1),e[9]||(e[9]=r("div",{class:"form-tips"}," 开启后,低于最新版本且已配置对应平台安装包的客户端必须升级后才能继续使用。 ",-1))])]),_:1}),l(d,{label:"最低可用版本",prop:"min_version"},{default:i(()=>[r("div",pe,[l(u,{modelValue:n(t).min_version,"onUpdate:modelValue":e[3]||(e[3]=s=>n(t).min_version=s),modelModifiers:{trim:!0},placeholder:"可选,例如 0.1.0;低于该版本也会强制升级",maxlength:"20"},null,8,["modelValue"])])]),_:1}),l(d,{label:"更新标题",prop:"title"},{default:i(()=>[r("div",me,[l(u,{modelValue:n(t).title,"onUpdate:modelValue":e[4]||(e[4]=s=>n(t).title=s),modelModifiers:{trim:!0},placeholder:"例如:医生工作站 0.2.0",maxlength:"80","show-word-limit":""},null,8,["modelValue"])])]),_:1}),l(d,{label:"更新说明",prop:"notes"},{default:i(()=>[r("div",ue,[l(u,{modelValue:n(t).notes,"onUpdate:modelValue":e[5]||(e[5]=s=>n(t).notes=s),type:"textarea",rows:6,maxlength:"4000","show-word-limit":"",placeholder:"医生端弹窗中展示的更新说明"},null,8,["modelValue"])])]),_:1})]),_:1}),(c(),U(Y,null,ee(z,s=>l(V,{key:s.key,shadow:"never",class:"!border-none mt-4"},{default:i(()=>[r("div",ce,f(s.label),1),l(d,{label:"安装包类型"},{default:i(()=>[l(I,{modelValue:n(t).packages[s.key].type,"onUpdate:modelValue":p=>n(t).packages[s.key].type=p,class:"w-80"},{default:i(()=>[l(h,{label:"便携压缩包(ZIP)",value:"archive"}),s.key==="windows_x64"?(c(),v(h,{key:0,label:"Windows 安装程序(Inno Setup EXE)",value:"inno_setup"})):te("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue"]),r("div",_e,f(n(t).packages[s.key].type==="inno_setup"?"推荐:退出客户端后静默安装,必要时显示 Windows 权限确认。":"兼容旧版客户端的 ZIP 覆盖更新。"),1)]),_:2},1024),l(d,{label:"安装包地址"},{default:i(()=>[r("div",fe,[l(u,{modelValue:n(t).packages[s.key].url,"onUpdate:modelValue":p=>n(t).packages[s.key].url=p,modelModifiers:{trim:!0},placeholder:n(t).packages[s.key].type==="inno_setup"?"https://.../DoctorWorkstation-Setup-....exe":"https://...zip 或站内 uploads/file/... 路径"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])]),_:2},1024),l(d,{label:"上传安装包"},{default:i(()=>[r("div",null,[C((c(),v(X,{type:"desktop_package",direct:"",limit:1,multiple:!1,"show-progress":!0,data:{cid:0},onSuccess:p=>A(s.key,p),onChange:p=>M(s.key,p)},{default:i(()=>[l(w,{type:"primary",plain:""},{default:i(()=>[...e[11]||(e[11]=[_("选择安装包并上传",-1)])]),_:1})]),_:1},8,["onSuccess","onChange"])),[[S,["setting.desktop_workstation/setConfig"]]]),e[12]||(e[12]=r("div",{class:"form-tips"}," 安装包将分片直传腾讯云 COS,不经过业务服务器(支持 EXE / ZIP,最大 2GB)。Windows 自动安装程序必须使用 HTTPS 地址并开启证书校验。 ",-1))])]),_:2},1024),l(d,{label:"SHA-256"},{default:i(()=>[r("div",ge,[l(u,{modelValue:n(t).packages[s.key].sha256,"onUpdate:modelValue":p=>n(t).packages[s.key].sha256=p,modelModifiers:{trim:!0},placeholder:"64 位十六进制,来自 SHA256SUMS.txt 或打包生成的 .sha256"},null,8,["modelValue","onUpdate:modelValue"])])]),_:2},1024),l(d,{label:"文件名"},{default:i(()=>[r("div",ke,[l(u,{modelValue:n(t).packages[s.key].filename,"onUpdate:modelValue":p=>n(t).packages[s.key].filename=p,modelModifiers:{trim:!0},placeholder:n(t).packages[s.key].type==="inno_setup"?"DoctorWorkstation-Setup-Windows-x64-0.2.0.exe":"DoctorWorkstation-Windows-x64-0.2.0.zip"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])]),_:2},1024),l(d,{label:"文件大小"},{default:i(()=>[r("div",ve,[l(u,{modelValue:n(t).packages[s.key].size,"onUpdate:modelValue":p=>n(t).packages[s.key].size=p,modelModifiers:{number:!0},class:"w-48",placeholder:"字节"},null,8,["modelValue","onUpdate:modelValue"]),r("span",xe,f(D(n(t).packages[s.key].size)),1)])]),_:2},1024)]),_:2},1024)),64))]),_:1},8,["model"]),C((c(),v(H,null,{default:i(()=>[l(w,{type:"primary",onClick:F},{default:i(()=>[...e[13]||(e[13]=[_("保存",-1)])]),_:1})]),_:1})),[[S,["setting.desktop_workstation/setConfig"]]])])}}});export{rt as default}; +import{_ as O}from"./index-UGD9wxNK.js";import{K as $,L,B as R,g as Z,C as G,Q as T,R as j,i as q,D as K}from"./element-plus-DGP1XOrU.js";import{r as E,k as Q}from"./index-J_eFER10.js";import{U as X}from"./index-BIgtwj7l.js";import{f as W,as as J,ak as c,I as U,a as l,aN as i,J as r,O as _,F as Y,ap as ee,G as v,H as te,aP as C}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,q as ae,r as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";function se(){return E.get({url:"/setting.desktop_workstation/getConfig"})}function le(x){return E.post({url:"/setting.desktop_workstation/setConfig",params:x})}const ne={class:"desktop-workstation"},ie={class:"ml-2"},re={class:"w-80"},de={class:"ml-2"},pe={class:"w-80"},me={class:"w-[480px]"},ue={class:"w-[640px]"},ce={class:"text-xl font-medium mb-[20px]"},_e={class:"form-tips ml-3"},fe={class:"w-[640px]"},ge={class:"w-[640px]"},ke={class:"w-[480px]"},ve={class:"flex items-center gap-3"},xe={class:"text-tx-secondary text-sm"},ye=W({name:"desktopWorkstation"}),rt=W({...ye,setup(x){const g=(a="archive")=>({url:"",sha256:"",size:0,filename:"",type:a}),y=ae(),t=oe({enabled:1,latest_version:"",min_version:"",force_update:0,title:"",notes:"",packages:{windows_x64:g("inno_setup"),macos_arm64:g(),macos_x64:g()}}),z=[{key:"windows_x64",label:"Windows 64 位安装包"},{key:"macos_arm64",label:"macOS Apple 芯片安装包"},{key:"macos_x64",label:"macOS Intel 安装包"}],B={latest_version:[{validator:(a,e,o)=>{if(t.enabled===1&&!String(e||"").trim()){o(new Error("启用自动检测时请填写最新版本号"));return}if(e&&!/^\d+(?:\.\d+){0,3}$/.test(e.trim())){o(new Error("版本号须为 x.y.z 数字格式"));return}o()},trigger:["blur","change"]}],min_version:[{validator:(a,e,o)=>{if(e&&!/^\d+(?:\.\d+){0,3}$/.test(e.trim())){o(new Error("版本号须为 x.y.z 数字格式"));return}o()},trigger:["blur"]}]},D=a=>{const e=Number(a)||0;return e<=0?"未填写":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`},k=(a,e)=>{const o=t.packages[a];o.url=String((e==null?void 0:e.url)||""),o.sha256=String((e==null?void 0:e.sha256)||""),o.size=Number((e==null?void 0:e.size)||0),o.filename=String((e==null?void 0:e.filename)||""),o.type=(e==null?void 0:e.type)==="inno_setup"||a==="windows_x64"&&!(e!=null&&e.url)&&!(e!=null&&e.filename)?"inno_setup":"archive"},b=async()=>{var e,o,m;const a=await se();t.enabled=Number(a.enabled??0)?1:0,t.latest_version=a.latest_version||"",t.min_version=a.min_version||"",t.force_update=Number(a.force_update??0)?1:0,t.title=a.title||"",t.notes=a.notes||"",k("windows_x64",(e=a.packages)==null?void 0:e.windows_x64),k("macos_arm64",(o=a.packages)==null?void 0:o.macos_arm64),k("macos_x64",(m=a.packages)==null?void 0:m.macos_x64)},N=async a=>{const e=await a.arrayBuffer(),o=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(o)).map(m=>m.toString(16).padStart(2,"0")).join("")},M=async(a,e)=>{var m,d;const o=e==null?void 0:e.raw;if(o){t.packages[a].filename=o.name||t.packages[a].filename,t.packages[a].size=Number(o.size||0),a==="windows_x64"&&((m=o.name)!=null&&m.toLowerCase().endsWith(".exe"))?t.packages[a].type="inno_setup":(d=o.name)!=null&&d.toLowerCase().endsWith(".zip")&&(t.packages[a].type="archive");try{t.packages[a].sha256=await N(o)}catch(u){console.warn(u),Q.msgWarning("浏览器计算 SHA-256 失败,请手动填写校验值")}}},A=(a,e)=>{const o=(e==null?void 0:e.data)||{};o.uri?t.packages[a].url=o.uri:o.url&&(t.packages[a].url=o.url),o.name&&!t.packages[a].filename&&(t.packages[a].filename=o.name)},F=async()=>{var a;await((a=y.value)==null?void 0:a.validate()),await le({enabled:t.enabled,latest_version:t.latest_version,min_version:t.min_version,force_update:t.force_update,title:t.title,notes:t.notes,packages:{windows_x64:{...t.packages.windows_x64},macos_arm64:{...t.packages.macos_arm64},macos_x64:{...t.packages.macos_x64}}}),await b()};return b(),(a,e)=>{const o=L,m=Z,d=R,u=G,V=$,h=j,I=T,w=q,P=K,H=O,S=J("perms");return c(),U("div",ne,[l(P,{ref_key:"formRef",ref:y,class:"ls-form",model:n(t),rules:B,"label-width":"140px","scroll-to-error":""},{default:i(()=>[l(V,{shadow:"never",class:"!border-none"},{default:i(()=>[l(o,{type:"info",closable:!1,"show-icon":"",class:"mb-5"},{title:i(()=>[...e[6]||(e[6]=[_("医生工作站升级包",-1)])]),default:i(()=>[e[7]||(e[7]=r("div",{class:"leading-6"},[_(" 桌面端启动后会检测本页发布的版本。请上传或填写与 "),r("code",null,"一键打包"),_(" 产物一致的安装包,并填入打包目录中的 SHA-256。Windows 推荐使用 Setup.exe,用户点击“立即更新”后会自动安装并重启;macOS 继续使用 ZIP。 安装包通常超过 200MB,本页上传按钮会直传到已配置的腾讯云 COS;也可以 自行上传到其他对象存储 / CDN 后粘贴地址。 ")],-1))]),_:1}),e[10]||(e[10]=r("div",{class:"text-xl font-medium mb-[20px]"},"升级策略",-1)),l(d,{label:"自动检测",prop:"enabled"},{default:i(()=>[r("div",null,[l(m,{modelValue:n(t).enabled,"onUpdate:modelValue":e[0]||(e[0]=s=>n(t).enabled=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),r("span",ie,f(n(t).enabled?"开启":"关闭"),1),e[8]||(e[8]=r("div",{class:"form-tips"},"关闭后,桌面端不会提示或强制升级。",-1))])]),_:1}),l(d,{label:"最新版本号",prop:"latest_version"},{default:i(()=>[r("div",re,[l(u,{modelValue:n(t).latest_version,"onUpdate:modelValue":e[1]||(e[1]=s=>n(t).latest_version=s),modelModifiers:{trim:!0},placeholder:"须与 pyproject.toml / 客户端版本一致,例如 0.2.0",maxlength:"20"},null,8,["modelValue"])])]),_:1}),l(d,{label:"强制升级",prop:"force_update"},{default:i(()=>[r("div",null,[l(m,{modelValue:n(t).force_update,"onUpdate:modelValue":e[2]||(e[2]=s=>n(t).force_update=s),"active-value":1,"inactive-value":0},null,8,["modelValue"]),r("span",de,f(n(t).force_update?"开启":"关闭"),1),e[9]||(e[9]=r("div",{class:"form-tips"}," 开启后,低于最新版本且已配置对应平台安装包的客户端必须升级后才能继续使用。 ",-1))])]),_:1}),l(d,{label:"最低可用版本",prop:"min_version"},{default:i(()=>[r("div",pe,[l(u,{modelValue:n(t).min_version,"onUpdate:modelValue":e[3]||(e[3]=s=>n(t).min_version=s),modelModifiers:{trim:!0},placeholder:"可选,例如 0.1.0;低于该版本也会强制升级",maxlength:"20"},null,8,["modelValue"])])]),_:1}),l(d,{label:"更新标题",prop:"title"},{default:i(()=>[r("div",me,[l(u,{modelValue:n(t).title,"onUpdate:modelValue":e[4]||(e[4]=s=>n(t).title=s),modelModifiers:{trim:!0},placeholder:"例如:医生工作站 0.2.0",maxlength:"80","show-word-limit":""},null,8,["modelValue"])])]),_:1}),l(d,{label:"更新说明",prop:"notes"},{default:i(()=>[r("div",ue,[l(u,{modelValue:n(t).notes,"onUpdate:modelValue":e[5]||(e[5]=s=>n(t).notes=s),type:"textarea",rows:6,maxlength:"4000","show-word-limit":"",placeholder:"医生端弹窗中展示的更新说明"},null,8,["modelValue"])])]),_:1})]),_:1}),(c(),U(Y,null,ee(z,s=>l(V,{key:s.key,shadow:"never",class:"!border-none mt-4"},{default:i(()=>[r("div",ce,f(s.label),1),l(d,{label:"安装包类型"},{default:i(()=>[l(I,{modelValue:n(t).packages[s.key].type,"onUpdate:modelValue":p=>n(t).packages[s.key].type=p,class:"w-80"},{default:i(()=>[l(h,{label:"便携压缩包(ZIP)",value:"archive"}),s.key==="windows_x64"?(c(),v(h,{key:0,label:"Windows 安装程序(Inno Setup EXE)",value:"inno_setup"})):te("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue"]),r("div",_e,f(n(t).packages[s.key].type==="inno_setup"?"推荐:退出客户端后静默安装,必要时显示 Windows 权限确认。":"兼容旧版客户端的 ZIP 覆盖更新。"),1)]),_:2},1024),l(d,{label:"安装包地址"},{default:i(()=>[r("div",fe,[l(u,{modelValue:n(t).packages[s.key].url,"onUpdate:modelValue":p=>n(t).packages[s.key].url=p,modelModifiers:{trim:!0},placeholder:n(t).packages[s.key].type==="inno_setup"?"https://.../DoctorWorkstation-Setup-....exe":"https://...zip 或站内 uploads/file/... 路径"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])]),_:2},1024),l(d,{label:"上传安装包"},{default:i(()=>[r("div",null,[C((c(),v(X,{type:"desktop_package",direct:"",limit:1,multiple:!1,"show-progress":!0,data:{cid:0},onSuccess:p=>A(s.key,p),onChange:p=>M(s.key,p)},{default:i(()=>[l(w,{type:"primary",plain:""},{default:i(()=>[...e[11]||(e[11]=[_("选择安装包并上传",-1)])]),_:1})]),_:1},8,["onSuccess","onChange"])),[[S,["setting.desktop_workstation/setConfig"]]]),e[12]||(e[12]=r("div",{class:"form-tips"}," 安装包将分片直传腾讯云 COS,不经过业务服务器(支持 EXE / ZIP,最大 2GB)。Windows 自动安装程序必须使用 HTTPS 地址并开启证书校验。 ",-1))])]),_:2},1024),l(d,{label:"SHA-256"},{default:i(()=>[r("div",ge,[l(u,{modelValue:n(t).packages[s.key].sha256,"onUpdate:modelValue":p=>n(t).packages[s.key].sha256=p,modelModifiers:{trim:!0},placeholder:"64 位十六进制,来自 SHA256SUMS.txt 或打包生成的 .sha256"},null,8,["modelValue","onUpdate:modelValue"])])]),_:2},1024),l(d,{label:"文件名"},{default:i(()=>[r("div",ke,[l(u,{modelValue:n(t).packages[s.key].filename,"onUpdate:modelValue":p=>n(t).packages[s.key].filename=p,modelModifiers:{trim:!0},placeholder:n(t).packages[s.key].type==="inno_setup"?"DoctorWorkstation-Setup-Windows-x64-0.2.0.exe":"DoctorWorkstation-Windows-x64-0.2.0.zip"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])]),_:2},1024),l(d,{label:"文件大小"},{default:i(()=>[r("div",ve,[l(u,{modelValue:n(t).packages[s.key].size,"onUpdate:modelValue":p=>n(t).packages[s.key].size=p,modelModifiers:{number:!0},class:"w-48",placeholder:"字节"},null,8,["modelValue","onUpdate:modelValue"]),r("span",xe,f(D(n(t).packages[s.key].size)),1)])]),_:2},1024)]),_:2},1024)),64))]),_:1},8,["model"]),C((c(),v(H,null,{default:i(()=>[l(w,{type:"primary",onClick:F},{default:i(()=>[...e[13]||(e[13]=[_("保存",-1)])]),_:1})]),_:1})),[[S,["setting.desktop_workstation/setConfig"]]])])}}});export{rt as default}; diff --git a/server/public/admin/assets/index-BCCk5TAv.js b/server/public/admin/assets/index-CZc257FO.js similarity index 94% rename from server/public/admin/assets/index-BCCk5TAv.js rename to server/public/admin/assets/index-CZc257FO.js index 299fcec88..d43154499 100644 --- a/server/public/admin/assets/index-BCCk5TAv.js +++ b/server/public/admin/assets/index-CZc257FO.js @@ -1 +1 @@ -import{D as N,B as K,C as R,Q as q,R as D,i as I,K as O,N as $,O as A,q as M,M as j}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as S}from"./@vue/runtime-dom-DDAG46FW.js";import{b as g}from"./consumer-CPi0_UIB.js";import{C as H,m as W}from"./index-fRv3NTFQ.js";import{u as X}from"./usePaging-DofycyjW.js";import{f as k,ac as Y,ar as Z,as as ee,ak as m,I as v,a as e,aN as r,F as te,ap as oe,G as _,O as u,aP as w,J as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as re,r as le}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex justify-end mt-4"},ie=k({name:"consumerLists"}),Ze=k({...ie,setup(me){const l=le({keyword:"",channel:"",create_time_start:"",create_time_end:""}),{pager:i,getLists:p,resetPage:c,resetParams:C}=X({fetchFun:g,params:l});return Y(()=>{p()}),p(),(se,o)=>{const y=R,s=K,V=Q,h=D,E=q,d=I,x=J,T=N,f=O,B=M,n=A,P=Z("router-link"),U=$,z=G,F=ee("perms"),L=j;return m(),v("div",null,[e(f,{class:"!border-none",shadow:"never"},{default:r(()=>[e(T,{ref:"formRef",class:"mb-[-16px]",model:t(l),inline:!0},{default:r(()=>[e(s,{class:"w-[280px]",label:"用户信息"},{default:r(()=>[e(y,{modelValue:t(l).keyword,"onUpdate:modelValue":o[0]||(o[0]=a=>t(l).keyword=a),placeholder:"账号/昵称/手机号码",clearable:"",onKeyup:S(t(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(s,{label:"注册时间"},{default:r(()=>[e(V,{startTime:t(l).create_time_start,"onUpdate:startTime":o[1]||(o[1]=a=>t(l).create_time_start=a),endTime:t(l).create_time_end,"onUpdate:endTime":o[2]||(o[2]=a=>t(l).create_time_end=a)},null,8,["startTime","endTime"])]),_:1}),e(s,{class:"w-[280px]",label:"注册来源"},{default:r(()=>[e(E,{modelValue:t(l).channel,"onUpdate:modelValue":o[3]||(o[3]=a=>t(l).channel=a)},{default:r(()=>[(m(!0),v(te,null,oe(t(H),(a,b)=>(m(),_(h,{key:b,label:a,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,null,{default:r(()=>[e(d,{type:"primary",onClick:t(c)},{default:r(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(d,{onClick:t(C)},{default:r(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(x,{class:"ml-2.5","fetch-fun":t(g),params:t(l),"page-size":t(i).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(f,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[w((m(),_(U,{size:"large",data:t(i).lists},{default:r(()=>[e(n,{label:"头像","min-width":"100"},{default:r(({row:a})=>[e(B,{src:a.avatar,size:50},null,8,["src"])]),_:1}),e(n,{label:"昵称",prop:"nickname","min-width":"100"}),e(n,{label:"账号",prop:"account","min-width":"120"}),e(n,{label:"手机号码",prop:"mobile","min-width":"100"}),e(n,{label:"注册来源",prop:"channel","min-width":"100"}),e(n,{label:"注册时间",prop:"create_time","min-width":"120"}),e(n,{label:"操作",width:"120",fixed:"right"},{default:r(({row:a})=>[w((m(),_(d,{type:"primary",link:""},{default:r(()=>[e(P,{to:{path:t(W)("user.user/detail"),query:{id:a.id}}},{default:r(()=>[...o[7]||(o[7]=[u(" 详情 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[F,["user.user/detail"]]])]),_:1})]),_:1},8,["data"])),[[L,t(i).loading]]),ae("div",ne,[e(z,{modelValue:t(i),"onUpdate:modelValue":o[4]||(o[4]=a=>re(i)?i.value=a:null),onChange:t(p)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Ze as default}; +import{D as N,B as K,C as R,Q as q,R as D,i as I,K as O,N as $,O as A,q as M,M as j}from"./element-plus-DGP1XOrU.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as S}from"./@vue/runtime-dom-DDAG46FW.js";import{b as g}from"./consumer-csfCIN0w.js";import{C as H,m as W}from"./index-J_eFER10.js";import{u as X}from"./usePaging-DofycyjW.js";import{f as k,ac as Y,ar as Z,as as ee,ak as m,I as v,a as e,aN as r,F as te,ap as oe,G as _,O as u,aP as w,J as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as re,r as le}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex justify-end mt-4"},ie=k({name:"consumerLists"}),Ze=k({...ie,setup(me){const l=le({keyword:"",channel:"",create_time_start:"",create_time_end:""}),{pager:i,getLists:p,resetPage:c,resetParams:C}=X({fetchFun:g,params:l});return Y(()=>{p()}),p(),(se,o)=>{const y=R,s=K,V=Q,h=D,E=q,d=I,x=J,T=N,f=O,B=M,n=A,P=Z("router-link"),U=$,z=G,F=ee("perms"),L=j;return m(),v("div",null,[e(f,{class:"!border-none",shadow:"never"},{default:r(()=>[e(T,{ref:"formRef",class:"mb-[-16px]",model:t(l),inline:!0},{default:r(()=>[e(s,{class:"w-[280px]",label:"用户信息"},{default:r(()=>[e(y,{modelValue:t(l).keyword,"onUpdate:modelValue":o[0]||(o[0]=a=>t(l).keyword=a),placeholder:"账号/昵称/手机号码",clearable:"",onKeyup:S(t(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(s,{label:"注册时间"},{default:r(()=>[e(V,{startTime:t(l).create_time_start,"onUpdate:startTime":o[1]||(o[1]=a=>t(l).create_time_start=a),endTime:t(l).create_time_end,"onUpdate:endTime":o[2]||(o[2]=a=>t(l).create_time_end=a)},null,8,["startTime","endTime"])]),_:1}),e(s,{class:"w-[280px]",label:"注册来源"},{default:r(()=>[e(E,{modelValue:t(l).channel,"onUpdate:modelValue":o[3]||(o[3]=a=>t(l).channel=a)},{default:r(()=>[(m(!0),v(te,null,oe(t(H),(a,b)=>(m(),_(h,{key:b,label:a,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,null,{default:r(()=>[e(d,{type:"primary",onClick:t(c)},{default:r(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(d,{onClick:t(C)},{default:r(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(x,{class:"ml-2.5","fetch-fun":t(g),params:t(l),"page-size":t(i).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(f,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[w((m(),_(U,{size:"large",data:t(i).lists},{default:r(()=>[e(n,{label:"头像","min-width":"100"},{default:r(({row:a})=>[e(B,{src:a.avatar,size:50},null,8,["src"])]),_:1}),e(n,{label:"昵称",prop:"nickname","min-width":"100"}),e(n,{label:"账号",prop:"account","min-width":"120"}),e(n,{label:"手机号码",prop:"mobile","min-width":"100"}),e(n,{label:"注册来源",prop:"channel","min-width":"100"}),e(n,{label:"注册时间",prop:"create_time","min-width":"120"}),e(n,{label:"操作",width:"120",fixed:"right"},{default:r(({row:a})=>[w((m(),_(d,{type:"primary",link:""},{default:r(()=>[e(P,{to:{path:t(W)("user.user/detail"),query:{id:a.id}}},{default:r(()=>[...o[7]||(o[7]=[u(" 详情 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[F,["user.user/detail"]]])]),_:1})]),_:1},8,["data"])),[[L,t(i).loading]]),ae("div",ne,[e(z,{modelValue:t(i),"onUpdate:modelValue":o[4]||(o[4]=a=>re(i)?i.value=a:null),onChange:t(p)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Ze as default}; diff --git a/server/public/admin/assets/index-CNdV-UFb.js b/server/public/admin/assets/index-CcMLMPNz.js similarity index 95% rename from server/public/admin/assets/index-CNdV-UFb.js rename to server/public/admin/assets/index-CcMLMPNz.js index 523dcfa3e..b129016b6 100644 --- a/server/public/admin/assets/index-CNdV-UFb.js +++ b/server/public/admin/assets/index-CcMLMPNz.js @@ -1 +1 @@ -import{K as se,D as ie,B as re,Q as de,R as me,ag as pe,Z as ce,C as ue,i as _e,N as fe,O as he,U as ge,M as ve}from"./element-plus-DGP1XOrU.js";import{_ as ye}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as be,k as Ce,_ as ke}from"./index-fRv3NTFQ.js";import{w as we}from"./@vue/runtime-dom-DDAG46FW.js";import{e as xe,f as Ee}from"./finance-BnbY_luA.js";import{u as Ve}from"./usePaging-DofycyjW.js";import{L as Te,u as De}from"./useListTimeFilter-Btvmdejx.js";import Fe from"./edit-DhPDggz8.js";import{f as N,b as Le,as as Ae,ak as r,I as v,a as t,aN as l,J as m,F as S,ap as U,G as u,O as c,aP as x,H as Re,A as E,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as L,q as Se,n as Ue,r as Be}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const Ne={class:"account-cost-list"},Oe={class:"flex flex-wrap"},Pe={class:"w-1/2 md:w-1/3"},$e={class:"text-4xl"},Ge={class:"w-1/2 md:w-1/3"},Ie={class:"text-4xl"},ze={class:"channel-opt-row"},Ke={class:"opt-name"},Me={key:0},Qe={key:1},qe={class:"flex justify-end mt-4"},je=N({name:"accountCostList"}),He=N({...je,setup(Je){const y=Se(),b=Ue(!1),d=Be({media_channel_code:"",dept_id:"",remark:""}),{time_type:V,dateRange:T,resolve:O,handleTimeTypeChange:P,handleCustomDateChange:$,resetTimeFilter:G}=De("today"),{pager:s,getLists:f}=Ve({fetchFun:async o=>{const[e,i]=O();return xe({...o,start_date:e,end_date:i})},params:d}),C=()=>{s.page=1,f()},I=()=>P(C),z=()=>$(C),K=E(()=>{const o=s.extend.media_channel_options;return Array.isArray(o)?o.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),D=E(()=>{const o=s.extend.media_channel_groups;if(Array.isArray(o)&&o.length>0)return o;const e=K.value;return e.length?[{group_name:"渠道",channels:e.map(i=>({channel_code:i.code,channel_name:i.name}))}]:[]}),A=E(()=>{const o=s.extend.dept_options;return Array.isArray(o)?o:[]}),M=E(()=>String(s.extend.default_media_channel_code||"")),R=o=>{if(!o)return"";for(const e of D.value)if(e.channels.find(k=>k.channel_code===o))return e.group_name;return""},Q={value:"id",label:"name",children:"children"},q=async()=>{var o;b.value=!0,await B(),(o=y.value)==null||o.open("add")},j=async o=>{var e,i;b.value=!0,await B(),(e=y.value)==null||e.open("edit"),(i=y.value)==null||i.getDetail(o)},H=async o=>{await Ce.confirm("确定要删除这条账户消耗记录吗?"),await Ee({id:o}),f()},J=()=>{G(),d.media_channel_code="",d.dept_id="",d.remark="",s.page=1,s.size=15,f()};return Le(()=>{f()}),(o,e)=>{const i=se,k=me,Z=pe,W=de,w=re,X=ce,Y=ue,g=_e,ee=ie,te=be,p=he,ne=ge,ae=fe,oe=ye,F=Ae("perms"),le=ve;return r(),v("div",Ne,[t(i,{class:"!border-none mb-4",shadow:"never"},{default:l(()=>[m("div",Oe,[m("div",Pe,[e[7]||(e[7]=m("div",{class:"leading-10"},"当前筛选天数",-1)),m("div",$e,_(a(s).extend.days_count??0),1)]),m("div",Ge,[e[8]||(e[8]=m("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),m("div",Ie,"¥"+_(a(s).extend.total_amount??"0.00"),1)])])]),_:1}),t(i,{class:"!border-none",shadow:"never"},{default:l(()=>[t(ee,{inline:!0,model:a(d),class:"stats-filter-form"},{default:l(()=>[t(Te,{"time-type":a(V),"onUpdate:timeType":e[0]||(e[0]=n=>L(V)?V.value=n:null),"date-range":a(T),"onUpdate:dateRange":e[1]||(e[1]=n=>L(T)?T.value=n:null),onTimeTypeChange:I,onCustomChange:z},null,8,["time-type","date-range"]),t(w,{label:"自媒体渠道"},{default:l(()=>[t(W,{modelValue:a(d).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=n=>a(d).media_channel_code=n),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"account-cost-channel-select w-[220px]"},{default:l(()=>[t(k,{label:"全部",value:""}),(r(!0),v(S,null,U(a(D),n=>(r(),u(Z,{key:n.group_name,label:n.group_name},{default:l(()=>[(r(!0),v(S,null,U(n.channels,h=>(r(),u(k,{key:h.channel_code,label:h.channel_name,value:h.channel_code},{default:l(()=>[m("div",ze,[m("span",Ke,_(h.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(w,{label:"部门"},{default:l(()=>[t(X,{modelValue:a(d).dept_id,"onUpdate:modelValue":e[3]||(e[3]=n=>a(d).dept_id=n),data:a(A),"node-key":"id",props:Q,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),t(w,{class:"w-[280px]",label:"备注/维护人"},{default:l(()=>[t(Y,{modelValue:a(d).remark,"onUpdate:modelValue":e[4]||(e[4]=n=>a(d).remark=n),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:we(C,["enter"])},null,8,["modelValue"])]),_:1}),t(w,null,{default:l(()=>[t(g,{type:"primary",loading:a(s).loading,onClick:C},{default:l(()=>[...e[9]||(e[9]=[c("查询",-1)])]),_:1},8,["loading"]),t(g,{onClick:J},{default:l(()=>[...e[10]||(e[10]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(i,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[m("div",null,[x((r(),u(g,{type:"primary",onClick:q},{icon:l(()=>[t(te,{name:"el-icon-Plus"})]),default:l(()=>[e[11]||(e[11]=c(" 新增 ",-1))]),_:1})),[[F,["finance.account_cost/add"]]])]),x((r(),u(ae,{class:"mt-4",size:"large",data:a(s).lists},{default:l(()=>[t(p,{label:"日期",prop:"cost_date","min-width":"120"}),t(p,{label:"自媒体渠道","min-width":"160"},{default:l(({row:n})=>[R(n.media_channel_code)?(r(),v("span",Me,[t(ne,{size:"small",class:"mr-1"},{default:l(()=>[c(_(R(n.media_channel_code)),1)]),_:2},1024),c(" "+_(n.media_channel_name),1)])):(r(),v("span",Qe,_(n.media_channel_name),1))]),_:1}),t(p,{label:"部门",prop:"dept_name","min-width":"140"}),t(p,{label:"账户消耗","min-width":"120"},{default:l(({row:n})=>[c("¥"+_(n.amount),1)]),_:1}),t(p,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),t(p,{label:"创建人",prop:"creator_name","min-width":"100"}),t(p,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(p,{label:"更新时间",prop:"update_time","min-width":"180"}),t(p,{label:"操作",width:"160",fixed:"right"},{default:l(({row:n})=>[x((r(),u(g,{type:"primary",link:"",onClick:h=>j(n)},{default:l(()=>[...e[12]||(e[12]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[F,["finance.account_cost/edit"]]]),x((r(),u(g,{type:"danger",link:"",onClick:h=>H(n.id)},{default:l(()=>[...e[13]||(e[13]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[F,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[le,a(s).loading]]),m("div",qe,[t(oe,{modelValue:a(s),"onUpdate:modelValue":e[5]||(e[5]=n=>L(s)?s.value=n:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:1}),a(b)?(r(),u(Fe,{key:0,ref_key:"editRef",ref:y,"media-channel-groups":a(D),"dept-options":a(A),"default-media-channel-code":a(M),onSuccess:a(f),onClose:e[6]||(e[6]=n=>b.value=!1)},null,8,["media-channel-groups","dept-options","default-media-channel-code","onSuccess"])):Re("",!0)])}}}),$t=ke(He,[["__scopeId","data-v-3155fab1"]]);export{$t as default}; +import{K as se,D as ie,B as re,Q as de,R as me,ag as pe,Z as ce,C as ue,i as _e,N as fe,O as he,U as ge,M as ve}from"./element-plus-DGP1XOrU.js";import{_ as ye}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as be,k as Ce,_ as ke}from"./index-J_eFER10.js";import{w as we}from"./@vue/runtime-dom-DDAG46FW.js";import{e as xe,f as Ee}from"./finance-Dc98hQLW.js";import{u as Ve}from"./usePaging-DofycyjW.js";import{L as Te,u as De}from"./useListTimeFilter-BquUtCH_.js";import Fe from"./edit-Cp8PlYx-.js";import{f as N,b as Le,as as Ae,ak as r,I as v,a as t,aN as l,J as m,F as S,ap as U,G as u,O as c,aP as x,H as Re,A as E,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as L,q as Se,n as Ue,r as Be}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const Ne={class:"account-cost-list"},Oe={class:"flex flex-wrap"},Pe={class:"w-1/2 md:w-1/3"},$e={class:"text-4xl"},Ge={class:"w-1/2 md:w-1/3"},Ie={class:"text-4xl"},ze={class:"channel-opt-row"},Ke={class:"opt-name"},Me={key:0},Qe={key:1},qe={class:"flex justify-end mt-4"},je=N({name:"accountCostList"}),He=N({...je,setup(Je){const y=Se(),b=Ue(!1),d=Be({media_channel_code:"",dept_id:"",remark:""}),{time_type:V,dateRange:T,resolve:O,handleTimeTypeChange:P,handleCustomDateChange:$,resetTimeFilter:G}=De("today"),{pager:s,getLists:f}=Ve({fetchFun:async o=>{const[e,i]=O();return xe({...o,start_date:e,end_date:i})},params:d}),C=()=>{s.page=1,f()},I=()=>P(C),z=()=>$(C),K=E(()=>{const o=s.extend.media_channel_options;return Array.isArray(o)?o.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),D=E(()=>{const o=s.extend.media_channel_groups;if(Array.isArray(o)&&o.length>0)return o;const e=K.value;return e.length?[{group_name:"渠道",channels:e.map(i=>({channel_code:i.code,channel_name:i.name}))}]:[]}),A=E(()=>{const o=s.extend.dept_options;return Array.isArray(o)?o:[]}),M=E(()=>String(s.extend.default_media_channel_code||"")),R=o=>{if(!o)return"";for(const e of D.value)if(e.channels.find(k=>k.channel_code===o))return e.group_name;return""},Q={value:"id",label:"name",children:"children"},q=async()=>{var o;b.value=!0,await B(),(o=y.value)==null||o.open("add")},j=async o=>{var e,i;b.value=!0,await B(),(e=y.value)==null||e.open("edit"),(i=y.value)==null||i.getDetail(o)},H=async o=>{await Ce.confirm("确定要删除这条账户消耗记录吗?"),await Ee({id:o}),f()},J=()=>{G(),d.media_channel_code="",d.dept_id="",d.remark="",s.page=1,s.size=15,f()};return Le(()=>{f()}),(o,e)=>{const i=se,k=me,Z=pe,W=de,w=re,X=ce,Y=ue,g=_e,ee=ie,te=be,p=he,ne=ge,ae=fe,oe=ye,F=Ae("perms"),le=ve;return r(),v("div",Ne,[t(i,{class:"!border-none mb-4",shadow:"never"},{default:l(()=>[m("div",Oe,[m("div",Pe,[e[7]||(e[7]=m("div",{class:"leading-10"},"当前筛选天数",-1)),m("div",$e,_(a(s).extend.days_count??0),1)]),m("div",Ge,[e[8]||(e[8]=m("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),m("div",Ie,"¥"+_(a(s).extend.total_amount??"0.00"),1)])])]),_:1}),t(i,{class:"!border-none",shadow:"never"},{default:l(()=>[t(ee,{inline:!0,model:a(d),class:"stats-filter-form"},{default:l(()=>[t(Te,{"time-type":a(V),"onUpdate:timeType":e[0]||(e[0]=n=>L(V)?V.value=n:null),"date-range":a(T),"onUpdate:dateRange":e[1]||(e[1]=n=>L(T)?T.value=n:null),onTimeTypeChange:I,onCustomChange:z},null,8,["time-type","date-range"]),t(w,{label:"自媒体渠道"},{default:l(()=>[t(W,{modelValue:a(d).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=n=>a(d).media_channel_code=n),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"account-cost-channel-select w-[220px]"},{default:l(()=>[t(k,{label:"全部",value:""}),(r(!0),v(S,null,U(a(D),n=>(r(),u(Z,{key:n.group_name,label:n.group_name},{default:l(()=>[(r(!0),v(S,null,U(n.channels,h=>(r(),u(k,{key:h.channel_code,label:h.channel_name,value:h.channel_code},{default:l(()=>[m("div",ze,[m("span",Ke,_(h.channel_name),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(w,{label:"部门"},{default:l(()=>[t(X,{modelValue:a(d).dept_id,"onUpdate:modelValue":e[3]||(e[3]=n=>a(d).dept_id=n),data:a(A),"node-key":"id",props:Q,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),t(w,{class:"w-[280px]",label:"备注/维护人"},{default:l(()=>[t(Y,{modelValue:a(d).remark,"onUpdate:modelValue":e[4]||(e[4]=n=>a(d).remark=n),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:we(C,["enter"])},null,8,["modelValue"])]),_:1}),t(w,null,{default:l(()=>[t(g,{type:"primary",loading:a(s).loading,onClick:C},{default:l(()=>[...e[9]||(e[9]=[c("查询",-1)])]),_:1},8,["loading"]),t(g,{onClick:J},{default:l(()=>[...e[10]||(e[10]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(i,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[m("div",null,[x((r(),u(g,{type:"primary",onClick:q},{icon:l(()=>[t(te,{name:"el-icon-Plus"})]),default:l(()=>[e[11]||(e[11]=c(" 新增 ",-1))]),_:1})),[[F,["finance.account_cost/add"]]])]),x((r(),u(ae,{class:"mt-4",size:"large",data:a(s).lists},{default:l(()=>[t(p,{label:"日期",prop:"cost_date","min-width":"120"}),t(p,{label:"自媒体渠道","min-width":"160"},{default:l(({row:n})=>[R(n.media_channel_code)?(r(),v("span",Me,[t(ne,{size:"small",class:"mr-1"},{default:l(()=>[c(_(R(n.media_channel_code)),1)]),_:2},1024),c(" "+_(n.media_channel_name),1)])):(r(),v("span",Qe,_(n.media_channel_name),1))]),_:1}),t(p,{label:"部门",prop:"dept_name","min-width":"140"}),t(p,{label:"账户消耗","min-width":"120"},{default:l(({row:n})=>[c("¥"+_(n.amount),1)]),_:1}),t(p,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),t(p,{label:"创建人",prop:"creator_name","min-width":"100"}),t(p,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(p,{label:"更新时间",prop:"update_time","min-width":"180"}),t(p,{label:"操作",width:"160",fixed:"right"},{default:l(({row:n})=>[x((r(),u(g,{type:"primary",link:"",onClick:h=>j(n)},{default:l(()=>[...e[12]||(e[12]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[F,["finance.account_cost/edit"]]]),x((r(),u(g,{type:"danger",link:"",onClick:h=>H(n.id)},{default:l(()=>[...e[13]||(e[13]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[F,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[le,a(s).loading]]),m("div",qe,[t(oe,{modelValue:a(s),"onUpdate:modelValue":e[5]||(e[5]=n=>L(s)?s.value=n:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:1}),a(b)?(r(),u(Fe,{key:0,ref_key:"editRef",ref:y,"media-channel-groups":a(D),"dept-options":a(A),"default-media-channel-code":a(M),onSuccess:a(f),onClose:e[6]||(e[6]=n=>b.value=!1)},null,8,["media-channel-groups","dept-options","default-media-channel-code","onSuccess"])):Re("",!0)])}}}),$t=ke(He,[["__scopeId","data-v-3155fab1"]]);export{$t as default}; diff --git a/server/public/admin/assets/index-B6i9iaxJ.js b/server/public/admin/assets/index-Cf-SlqzS.js similarity index 99% rename from server/public/admin/assets/index-B6i9iaxJ.js rename to server/public/admin/assets/index-Cf-SlqzS.js index b224b5d42..4b7a11233 100644 --- a/server/public/admin/assets/index-B6i9iaxJ.js +++ b/server/public/admin/assets/index-Cf-SlqzS.js @@ -1 +1 @@ -var en=Object.defineProperty;var nn=(i,n,a)=>n in i?en(i,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[n]=a;var L=(i,n,a)=>nn(i,typeof n!="symbol"?n+"":n,a);import{d as on,i as an,r as sn,L as rn}from"./element-plus-DGP1XOrU.js";import{q as Pt,s as dt}from"./@vue/runtime-dom-DDAG46FW.js";import{c as ue,ax as ln,ay as cn,l as un,az as dn,aA as fn}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as mn,l as hn}from"./file-FhuQj5ML.js";import{a as pn}from"./patient-DzLGoG87.js";import{Y as Vt,al as gn,aH as vn,aI as yn,aJ as _n}from"./tcm-CEIBuAeK.js";import{_ as we,u as wn,k as M}from"./index-fRv3NTFQ.js";import{E as Sn}from"./@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js";import{p as Cn}from"./im-business-message-parse-QKjFLn3X.js";import{g as Tn,G as En,C as An,M as In,a as kn,O as bn,E as Rn,N as Mn,S as Ln,A as xn,b as Dn}from"./tuikit-atomicx-vue3-Dln8Zi6e.js";import{f as Se,aB as Un,ak as R,I as H,H as B,J as A,G as F,ab as Pn,A as q,b as Vn,d as Hn,w as Nn,aP as Ht,a as S,aN as b,O as On,T as Kn,n as Nt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as G,p as de,o as $n}from"./@vue/shared-mAAVTE9n.js";import{y as E,n as y}from"./@vue/reactivity-DiY1c2vO.js";import{T as Z}from"./@tencentcloud/chat-AC2Y2r2A.js";import{X as fe}from"./@tencentcloud/chat-uikit-engine-zx802ozq.js";import{u as zn,F as D,z as Bn,g as $,a as z,l as N}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{c as ft}from"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import{D as jn}from"./@tencentcloud/uikit-base-component-vue3-YgTqL4da.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./@tencentcloud/tuiroom-engine-js-Br9swJyU.js";import"./rtc-detect-Chu-fZvE.js";import"./tcplayer.js-qpFBCYzN.js";function Wn(){const i=["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const n of i)if(MediaRecorder.isTypeSupported(n))return n;return""}function Fn(){const i=window;return i.AudioContext||i.webkitAudioContext||null}function me(i,n,a,s,r,u){const f=n.videoWidth||n.clientWidth||1,d=n.videoHeight||n.clientHeight||1,p=Math.max(r/f,u/d),c=f*p,m=d*p,_=a+(r-c)/2,x=s+(u-m)/2;try{i.drawImage(n,_,x,c,m)}catch{}}function qn(i,n,a,s){i.fillStyle="#0b0b0b",i.fillRect(0,0,a,s);const r=n.filter(c=>c.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA);if(r.length===0)return;if(r.length===1){me(i,r[0],0,0,a,s);return}const u=Math.ceil(Math.sqrt(r.length)),f=Math.ceil(r.length/u),d=a/u,p=s/f;r.forEach((c,m)=>{const _=m%u,x=Math.floor(m/u);me(i,c,_*d,x*p,d,p)})}function Gn(i){const n=new Set,a=[];for(const s of i){const r=s.srcObject;if(r instanceof MediaStream)for(const u of r.getAudioTracks())u.kind!=="audio"||u.readyState==="ended"||!u.enabled||n.has(u.id)||(n.add(u.id),a.push(u))}return a}function Xn(i){var s;const n=new Set,a=[];for(const r of i){if(r.readyState{const p=[];for(const c of d)n.has(c)||(n.add(c),p.push(c));return p},s=[...i.querySelectorAll("video")];if(s.length>0)return a(s);const r=document.getElementById("tuicallkit-id");if(r){const d=[...r.querySelectorAll("video")];if(d.length>0)return a(d)}const f=[...document.body.querySelectorAll("video")].filter(d=>{const p=d.srcObject;return p instanceof MediaStream?p.getVideoTracks().some(c=>c.readyState==="live"):!1});return a(f)}class Jn{constructor(){L(this,"canvas",null);L(this,"ctx",null);L(this,"rafId",0);L(this,"container",null);L(this,"mediaRecorder",null);L(this,"chunks",[]);L(this,"mimeType","");L(this,"audioCtx",null);L(this,"audioDestination",null);L(this,"wiredTrackIds",new Set);L(this,"canvasVideoTrack",null);L(this,"silentOsc",null);L(this,"silentGain",null);L(this,"micStream",null);L(this,"stopResultPromise",null)}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}beginStopNow(){if(this.stopResultPromise)return;cancelAnimationFrame(this.rafId),this.rafId=0;const n=this.mediaRecorder,a=this.mimeType;!n||n.state==="inactive"||(this.stopResultPromise=new Promise(s=>{var r;n.onstop=()=>{this.teardownAudioGraph();const u=n.mimeType||a||"video/webm",f=this.chunks.length>0?new Blob(this.chunks,{type:u}):null;this.chunks=[],this.mediaRecorder=null,this.container=null,this.canvas=null,this.ctx=null,this.canvasVideoTrack=null,s(f&&f.size>0?f:null)};try{const u=n;(r=u.requestData)==null||r.call(u),n.stop()}catch{this.teardownAudioGraph(),this.chunks=[],this.mediaRecorder=null,this.container=null,this.canvas=null,this.ctx=null,this.canvasVideoTrack=null,s(null)}}))}teardownAudioGraph(){var n;try{(n=this.silentOsc)==null||n.stop()}catch{}if(this.silentOsc=null,this.silentGain=null,this.micStream){for(const a of this.micStream.getTracks())try{a.stop()}catch{}this.micStream=null}this.wiredTrackIds.clear(),this.audioDestination=null,this.audioCtx&&(this.audioCtx.close().catch(()=>{}),this.audioCtx=null)}connectTrackToMixer(n){if(!(n.kind!=="audio"||n.readyState==="ended"||!n.enabled)&&!(!this.audioCtx||!this.audioDestination)&&!this.wiredTrackIds.has(n.id))try{const a=this.audioCtx.createMediaStreamSource(new MediaStream([n])),s=this.audioCtx.createGain();s.gain.value=1.25,a.connect(s),s.connect(this.audioDestination),this.wiredTrackIds.add(n.id)}catch{}}attachMicForMixer(){if(!this.audioCtx||!this.audioDestination)return;const n=navigator.mediaDevices;n!=null&&n.getUserMedia&&n.getUserMedia({audio:!0,video:!1}).then(a=>{if(!this.audioDestination||!this.audioCtx){a.getTracks().forEach(s=>s.stop());return}if(this.micStream){a.getTracks().forEach(s=>s.stop());return}this.micStream=a;for(const s of a.getAudioTracks())this.connectTrackToMixer(s)}).catch(()=>{})}wireIncomingAudio(){var f;if(!this.audioCtx||!this.audioDestination||!this.container)return;this.audioCtx.state==="suspended"&&this.audioCtx.resume().catch(()=>{});const n=Ot(this.container),a=document.getElementById("tuicallkit-id"),s=[...document.body.querySelectorAll("audio"),...this.container.querySelectorAll("audio"),...a?a.querySelectorAll("audio"):[]],r=new Set,u=[];for(const d of n)r.has(d)||(r.add(d),u.push(d));for(const d of s)r.has(d)||(r.add(d),u.push(d));for(const d of u){const p=d.srcObject;if(p instanceof MediaStream)for(const c of p.getAudioTracks())this.connectTrackToMixer(c);if(d instanceof HTMLVideoElement&&d.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA){const c=(f=d.captureStream)==null?void 0:f.call(d);if(c)for(const m of c.getAudioTracks())this.connectTrackToMixer(m)}}}reset(){if(cancelAnimationFrame(this.rafId),this.rafId=0,this.stopResultPromise=null,this.canvasVideoTrack=null,this.mediaRecorder&&this.mediaRecorder.state!=="inactive")try{this.mediaRecorder.stop()}catch{}this.mediaRecorder=null,this.chunks=[],this.canvas=null,this.ctx=null,this.container=null,this.mimeType="",this.teardownAudioGraph()}start(n){if(typeof MediaRecorder>"u")return!1;this.reset(),this.container=n;const a=Wn();if(this.mimeType=a||"video/webm",this.canvas=document.createElement("canvas"),this.canvas.width=1280,this.canvas.height=720,this.ctx=this.canvas.getContext("2d",{alpha:!1}),!this.ctx)return!1;const r=this.canvas.captureStream(30).getVideoTracks();this.canvasVideoTrack=r[0]??null;const u=Ot(n),f=Fn();let d;if(f)try{this.audioCtx=new f,this.audioDestination=this.audioCtx.createMediaStreamDestination(),this.audioCtx.resume().catch(()=>{}),this.wireIncomingAudio(),this.attachMicForMixer();const c=this.audioDestination.stream.getAudioTracks(),m=this.audioCtx.createOscillator(),_=this.audioCtx.createGain();_.gain.value=1e-5,m.frequency.value=20,m.connect(_),_.connect(this.audioDestination),m.start(),this.silentOsc=m,this.silentGain=_,d=new MediaStream([...r,...c])}catch{this.teardownAudioGraph(),d=this.buildStreamWithoutMixer(r,u)}else d=this.buildStreamWithoutMixer(r,u);try{this.mediaRecorder=a?new MediaRecorder(d,{mimeType:a}):new MediaRecorder(d)}catch{try{this.mediaRecorder=new MediaRecorder(d)}catch{return this.reset(),!1}}this.chunks=[],this.mediaRecorder.ondataavailable=c=>{c.data&&c.data.size>0&&this.chunks.push(c.data)},this.mediaRecorder.onerror=c=>{console.error("[call-local-recorder] MediaRecorder 错误",c)};const p=()=>{var m,_;if(!this.ctx||!this.canvas||!this.container)return;this.wireIncomingAudio();const c=Ot(this.container);qn(this.ctx,c,this.canvas.width,this.canvas.height),(_=(m=this.canvasVideoTrack)==null?void 0:m.requestFrame)==null||_.call(m),this.rafId=requestAnimationFrame(p)};this.rafId=requestAnimationFrame(p);try{this.mediaRecorder.start(250)}catch{return this.reset(),!1}return!0}buildStreamWithoutMixer(n,a){const s=new Set,r=[],u=f=>{for(const d of f)s.has(d.id)||(s.add(d.id),r.push(d))};return u(Gn(a)),u(Xn(a)),u(Yn(this.container)),new MediaStream([...n,...r])}async stop(){this.beginStopNow();const n=this.stopResultPromise;return n||null}}function he(i){const n=i.srcObject;return n instanceof MediaStream?n.getVideoTracks().some(a=>a.readyState==="live"):!1}function et(i){const n=i.getBoundingClientRect();return Math.max(0,n.width)*Math.max(0,n.height)}function pe(i){const n=i.videoWidth||i.clientWidth,a=i.videoHeight||i.clientHeight;return n*a}function Qn(i){const n=new Map,a=new Map;for(const s of i){const r=s.srcObject;if(!(r instanceof MediaStream))continue;const u=r.getVideoTracks(),f=r.id&&String(r.id)||u.map(c=>c.id).filter(Boolean).join("|")||`${u.length}`,d=et(s),p=a.get(f)??0;d>=p&&(n.set(f,s),a.set(f,d))}return n.size===0?i:Array.from(n.values())}function Zn(i){if(i.length<2)return i;let n=0;for(const s of i)n=Math.max(n,et(s));return n<=1||Math.min(...i.map(s=>et(s)))/n>=.25?i:i.filter(s=>et(s)>=n*.25)}function to(i){let n=i;for(let a=0;a<12&&n;a++){const s=getComputedStyle(n).transform;if(s&&s!=="none"&&(/matrix\(\s*-1\s*,/.test(s)||/scaleX\(\s*-1/.test(s)))return!0;n=n.parentElement}return!1}function eo(i){const n=/local|self|pusher|mini[_-]?stream|preview[_-]?self|own[_-]?camera|tui-local|tencent-local|stream-local|publisher|send|pip|picture[_-]?in[_-]?picture/i,a=/remote|subscriber|peer|other|tui-remote|stream-remote|big-stream|play[_-]?stream|receiver|pull|substream/i;let s=i;for(let r=0;r<20&&s;r++){const u=`${s.className||""} ${s.id||""} ${s.getAttribute("data-type")||""}`;if(a.test(u))return!1;if(n.test(u))return!0;s=s.parentElement}return!1}async function no(i,n){const a=(n==null?void 0:n.preferRemote)!==!1,s=[i,...(n==null?void 0:n.extraRoots)||[]].filter(g=>!!g),r=new Set;for(const g of s)for(const w of g.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w);if(r.size===0){const g=document.querySelector(".chat-dialog-call-kit-wrapper");if(g)for(const w of g.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w)}r.size===0&&document.body.querySelectorAll("video").forEach(g=>{g instanceof HTMLVideoElement&&he(g)&&r.add(g)});let u=Array.from(r).filter(g=>g.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&he(g));if(u.length===0&&(u=Array.from(r).filter(g=>g.readyState>=2)),u.length===0)return null;u=Qn(u);let f=null,d=0,p=0;if(a){const g=u.map(C=>({v:C,layout:et(C),pixel:pe(C),localClass:eo(C),mirror:to(C)}));let w=g.filter(C=>!C.localClass&&!C.mirror);w.length===0&&(w=g.filter(C=>!C.localClass)),w.length===0&&(w=g.filter(C=>!C.mirror)),w.length===0&&(w=g);let O=w.map(C=>C.v);O=Zn(O),w=w.filter(C=>O.includes(C.v));for(const C of w)(C.layout>d||C.layout===d&&C.pixel>p)&&(d=C.layout,p=C.pixel,f=C.v)}else for(const g of u){const w=et(g),O=pe(g);(w>d||w===d&&O>p)&&(d=w,p=O,f=g)}if(!f)return null;const c=f.videoWidth||f.clientWidth,m=f.videoHeight||f.clientHeight;if(!c||!m)return null;const _=document.createElement("canvas");_.width=c,_.height=m;const x=_.getContext("2d");if(!x)return null;try{x.drawImage(f,0,0,c,m)}catch{return null}return new Promise(g=>{_.toBlob(w=>g(w),"image/jpeg",.92)})}function oo(i){const n=[];let a=i,s=0;for(;a!=null&&s<6;){if(typeof a=="string"){n.push(a);break}if(typeof a=="object"){const r=a;typeof r.message=="string"&&n.push(r.message),typeof r.name=="string"&&n.push(r.name),typeof r.code<"u"&&n.push(String(r.code)),a=r.cause}else{n.push(String(a));break}s++}return n.join(" ").toLowerCase()}const ge=-1001;function tt(i){if(i&&typeof i=="object"){const a=i,s=a.code??a.error_code;if(s===ge||s===String(ge))return!0}const n=oo(i);return n.includes("does not support this ability")||n.includes("package you purchased")||n.includes("-1001")&&n.includes("does not support")}function Ce(){return"套餐欠费或未开通该能力,请联系管理员在腾讯云续费或升级套餐。"}function ao(i,n="通话操作失败"){return tt(i)?Ce():i instanceof Error?i.message||n:typeof i=="string"&&i||n}const io={key:0,class:"chat-uikit-custom-msg"},so={key:0,class:"chat-uikit-custom-msg__tag"},ro={class:"chat-uikit-custom-msg__main"},lo={key:1,class:"chat-uikit-custom-msg__sub"},co={key:1,class:"chat-uikit-custom-msg chat-uikit-custom-msg--plain"},uo={class:"chat-uikit-custom-msg__main"},fo={key:2,class:"chat-uikit-custom-msg chat-uikit-custom-msg--plain"},mo={key:0,class:"chat-uikit-custom-msg__sub"},ho=Se({inheritAttrs:!1,__name:"ChatMessageItem",props:{message:{}},setup(i){const n=i,a=Un();function s(c){if(!c||typeof c!="object")return null;const m=c,_=m.data;if(typeof _=="string")return _;if(_&&typeof _=="object")return JSON.stringify(_);const x=m.extension;return typeof x=="string"&&x.trim().startsWith("{")?x:null}const r=q(()=>{var m;const c=(m=n.message)==null?void 0:m.type;return!!(c===En.CUSTOM||typeof c=="string"&&/custom/i.test(c))}),u=q(()=>{var m;if(!r.value)return null;const c=(m=s(n.message.payload))==null?void 0:m.trim();return c?Cn(c):null}),f=q(()=>r.value&&!!u.value),d=q(()=>{const c=n.message.payload,m=c==null?void 0:c.description;return typeof m=="string"&&m.trim()?m.trim():""}),p=q(()=>{var m;const c=(m=s(n.message.payload))==null?void 0:m.trim();return!c||c.length<2?"":c.length<=120?c:`${c.slice(0,117)}…`});return(c,m)=>f.value?(R(),H("div",io,[u.value.tag?(R(),H("span",so,G(u.value.tag),1)):B("",!0),A("div",ro,G(u.value.main),1),u.value.sub?(R(),H("div",lo,G(u.value.sub),1)):B("",!0)])):r.value&&d.value?(R(),H("div",co,[A("div",uo,G(d.value),1)])):r.value?(R(),H("div",fo,[m[0]||(m[0]=A("div",{class:"chat-uikit-custom-msg__main"},"系统消息",-1)),p.value?(R(),H("div",mo,G(p.value),1)):B("",!0)])):(R(),F(E(Tn),Pn({key:3},E(a),{message:i.message}),null,16,["message"]))}}),po=we(ho,[["__scopeId","data-v-09aaa469"]]);function go(i){if(i==null)return null;if(typeof i=="object"&&!Array.isArray(i))return i;if(typeof i!="string")return null;const n=i.trim();if(!n.startsWith("{"))return null;try{return JSON.parse(n)}catch{return null}}function ve(i){const n=i.toLowerCase();return["hangup","cancel","reject","timeout","linebusy","end"].includes(n)}function vo(i){const n=i.trim();if(!n)return!1;if(/\bcall_end\b/i.test(n)&&(/call_engine|call_record|rtc/i.test(n)||/"reason"\s*:\s*\d/.test(n))||/call_engine_srv\.[a-z_]*call[a-z_]*/i.test(n)&&/hangup|end|leave|reject|cancel/i.test(n))return!0;if(!n.startsWith("{"))return!1;let a;try{a=JSON.parse(n)}catch{return!1}if(a.businessID===1||a.businessID==="1"){const r=go(a.data);if(r){const u=String(r.cmd??"");if(ve(u))return!0}}if((a.businessID==="rtc_call"||typeof a.cmd=="string")&&ve(String(a.cmd??"")))return!0;const s=JSON.stringify(a);return!!(s.includes("call_engine_srv")&&/hangup|call_end|CALL_END|reject|cancel/i.test(s))}const yo=["title"],_o={class:"chat-container"},wo={key:0,class:"loading-container"},So={key:1,class:"error-container"},Co={key:2,class:"chat-content"},To={class:"chat-layout"},Eo={class:"message-toolbar"},Ao={class:"call-kit-drag-handle-left"},Io={key:0,class:"call-local-recording-hint"},ko={class:"call-kit-drag-handle-actions"},mt="idle",ht="calling",W="connected",ye=40,bo=100,Ro=1500,Mo=2600,Lo=667,_e=16,xo=Se({__name:"index",setup(i,{expose:n}){const a=y(""),s=y(!1),r=y(!1),u=y(!1),f=y(""),d=y(""),p=y(null),c=y(null),m=y("正在初始化..."),_=y(""),x=y(""),g=y(!1),w=y(!1),{login:O}=Dn(),{setActiveConversation:C,createC2CConversation:Te,activeConversation:Ee}=xn(),Ae=wn(),nt=y("");let K=null,X=null,Et=0;const P=new Jn,At=y(!1),ot=y(!1);let It=0,Y=null,at=null,pt=Promise.resolve(),kt=null;function J(){Y&&(clearTimeout(Y),Y=null)}function bt(e){At.value=!!(e!=null&&e.isLochostVod)}function gt(){return at||(at=(async()=>{if(J(),ot.value=!1,!At.value)return;P.beginStopNow();const e=kt??c.value;try{await pt}catch{}const t=await P.stop();if(!t){console.warn("[chat-dialog] 本地录制无有效文件(若通话较长仍出现,请换 Chrome 并看控制台是否有 MediaRecorder 报错)");return}if(e==null){M.msgWarning("缺少诊单信息,本地录制无法保存到通话记录");return}try{const o=await hn(t,`call-rec-${e}-${Date.now()}.webm`),l=o.uri||o.url;if(!l){M.msgError("上传成功但未返回文件地址");return}await gn({diagnosis_id:e,file_url:l}),M.msgSuccess("本地录制已上传并关联到通话记录")}catch(o){const l=o instanceof Error?o.message:String(o);console.warn("[chat-dialog] 本地录制上传/关联失败",o),M.msgError(l||"本地录制上传失败")}})().finally(()=>{at=null}),at)}function Ie(){const e=$.getData(z.CALL,N.ROOM_ID);if(e==null)return"";if(typeof e=="number")return e===0?"":String(e);const t=String(e).trim();return!t||t==="0"?"":t}function ke(){var e,t;try{const o=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e);if(!o)return"";const l=[o.roomId,o.roomID,o._roomId,o._roomID,o.strRoomID];for(const h of l){if(h==null||h==="")continue;const v=String(h).trim();if(v&&v!=="0")return v}}catch{}return""}function Rt(){return Ie()||ke()}function vt(e,t){if(t!=null&&String(t).trim()!==""&&String(t)!=="0")return String(t).trim();if(typeof e=="number"&&e>0)return String(e);if(typeof e=="string"){const o=e.trim();if(o&&o!=="0")return o}return""}function Kt(e){if(e==null||typeof e!="object")return"";const t=e,o=vt(t.roomID,t.strRoomID)||vt(t.roomId,t.strRoomId);if(o)return o;const l=t.data;if(l&&typeof l=="object"){const h=l,v=vt(h.roomID,h.strRoomID)||vt(h.roomId,h.strRoomId);if(v)return v}return""}function Q(){X&&(clearTimeout(X),X=null),Et=0}function be(){Q();const e=()=>{X=null;const t=$.getData(z.CALL,N.CALL_STATUS);if(t===mt||t!==ht&&t!==W)return;const o=Rt();if(o){rt(o);return}if(Et++,Et>=ye){console.warn("[chat-dialog] 仍未解析到有效房间号(已重试",ye,"次)");return}X=setTimeout(e,bo)};X=setTimeout(e,0)}async function $t(e){if(!(p.value==null||c.value==null)){await Nt();for(let t=0;t<40;t++){const o=Rt();if(o){await rt(o);return}await new Promise(l=>setTimeout(l,50))}console.warn("[chat-dialog] 发起通话后仍未解析到房间号(API:",e,")")}}function Re(){var l,h;const e=window;if(e.__zytEngineRoomCapture__)return;const t=(h=(l=D).getTUICallEngineInstance)==null?void 0:h.call(l);if(!t||typeof t.calls!="function")return;e.__zytEngineRoomCapture__=!0,t.__zytEngineRoomCapture__=!0;const o=v=>{const T=t[v];typeof T=="function"&&(t[v]=async function(...k){const U=await T.apply(t,k),V=Kt(U);return V&&rt(V),await $t("engine."+v),U})};o("calls"),o("call"),o("groupCall")}function Me(){const e=window;if(e.__zytHangupPreStop__)return;const t=D,o=t.hangup;typeof o=="function"&&(e.__zytHangupPreStop__=!0,t.hangup=function(...h){return P.beginStopNow(),o.apply(D,h)})}function zt(){var v,T;const e=window;if(e.__zytTrtcPreStop__)return;const t=(T=(v=D).getTUICallEngineInstance)==null?void 0:T.call(v),o=t==null?void 0:t.trtcCloud;if(!o||typeof o!="object")return;let l=0;const h=["stopLocalVideo","stopLocalAudio"];for(const I of h){const k=o[I];typeof k=="function"&&(o[I]=function(...V){return P.beginStopNow(),k.apply(o,V)},l++)}l>0&&(e.__zytTrtcPreStop__=!0)}let it=[],st=null,Bt=0;async function yt(){const e=kt??c.value;if(e==null){console.warn("[chat-dialog] endCall 跳过:无诊单 ID(快照与当前均为空)");return}try{await vn({diagnosis_id:e}),console.log("[chat-dialog] endCall 已同步",{diagnosis_id:e})}catch(t){console.warn("[chat-dialog] endCall 失败",t)}}function jt(e){const t=Date.now();t-Bt{if(!r.value)return;const l=_.value;if(!l)return;const h=l.startsWith("C2C")?l:`C2C${l}`,v=Array.isArray(o.data)?o.data:[];for(const T of v){if(!T||T.conversationID!==h)continue;const I=T.type;if(!(I===Z.TYPES.MSG_CUSTOM||I==="TIMCustomElem"||typeof I=="string"&&/custom/i.test(I)))continue;const U=T.payload,V=typeof(U==null?void 0:U.data)=="string"?U.data:"";if(!(!V||!vo(V))){jt("IM");break}}},t.on(Z.EVENT.MESSAGE_RECEIVED,st)}catch(t){console.warn("[chat-dialog] 绑定 IM 挂断监听失败",t)}}function Mt(){var e,t;if(st){try{const o=(e=fe)==null?void 0:e.chat;(t=o==null?void 0:o.off)==null||t.call(o,Z.EVENT.MESSAGE_RECEIVED,st)}catch{}st=null}}function xe(){var e,t;try{const o=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e),l=o==null?void 0:o.on;if(!o||typeof l!="function"||o.__zytRoomEvents)return;o.__zytRoomEvents=!0;const h=k=>{const U=Kt(k);if(U){rt(U);return}Lt()},v=()=>{jt("TUICallEngine")},T=[ft.TUICallEvent.CALL_END,ft.TUICallEvent.USER_LEAVE,ft.TUICallEvent.ON_CALL_NOT_CONNECTED];for(const k of T)l.call(o,k,v),it.push({event:k,fn:v});const I=[ft.TUICallEvent.USER_ENTER,ft.TUICallEvent.ON_CALL_BEGIN];for(const k of I)l.call(o,k,h),it.push({event:k,fn:h})}catch(o){console.warn("[chat-dialog] 绑定引擎房间事件失败",o)}}function De(){var e,t;try{const o=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(o!=null&&o.off)){it=[];return}for(const{event:l,fn:h}of it)o.off(l,h);o.__zytRoomEvents=!1}catch{}it=[]}function Ue(){const e=window;if(e.__zytTUICallRoomHooks__)return;e.__zytTUICallRoomHooks__=!0;const t=D,o=l=>{const h=t[l];typeof h=="function"&&(t[l]=async function(...T){const I=await h.apply(t,T);return await $t(l),I})};o("calls"),o("call"),o("groupCall")}async function rt(e){try{await pt}catch{}if(p.value==null||c.value==null)return;const t=`${c.value}:${e}`;if(t===nt.value){Q();return}nt.value=t;try{const o=await yn({diagnosis_id:c.value,room_id:e});Q(),console.log("[chat-dialog] bindCallRoom 成功",{room_id:e,bindRes:o});const l=o==null?void 0:o.cloud_recording;l&&l.started===!1&&l.message&&M.msgWarning(`云端合流录制未启动(关闭控制台全局录制后仅依赖 API):${l.message}`)}catch(o){console.warn("[chat-dialog] bindCallRoom 失败",o),nt.value=""}}async function Lt(){if(p.value==null||c.value==null)return;const e=$.getData(z.CALL,N.CALL_STATUS);if(e===mt){Q(),nt.value="";return}if(e!==ht&&e!==W)return;await Nt();const t=Rt();if(t){await rt(t);return}be()}async function Pe(){if(!(p.value==null||c.value==null))try{await _n({diagnosis_id:c.value,patient_id:p.value,call_type:2})}catch(e){console.warn("[chat-dialog] startCall 记录失败",e)}}function Ve(){K==null||K();let e=$.getData(z.CALL,N.CALL_STATUS)??mt;const t=l=>{const h=l??mt;if(h===mt){(e===ht||e===W)&&P.beginStopNow(),J(),ot.value=!1,(e===ht||e===W)&&(async()=>(await yt(),w.value=!1,await gt()))(),Q(),nt.value="",e=h;return}if(h===W){if(Lt(),J(),!At.value){e=h;return}const v=It,T=(I=0)=>{if(v!==It){console.log("[chat-dialog] 录制轮次已变化,取消启动");return}const k=Dt.value,U=$.getData(z.CALL,N.CALL_STATUS);if(!k||U!==W){console.warn("[chat-dialog] 录制启动条件不满足",{root:!!k,status:U});return}console.log(`[chat-dialog] 尝试启动本地录制(第 ${I+1} 次)`);let V=Array.from(k.querySelectorAll("video"));if(V.length===0&&(V=Array.from(document.body.querySelectorAll("video")).filter(Ze=>{const ce=Ze.srcObject;return ce instanceof MediaStream?ce.getVideoTracks().some(tn=>tn.readyState==="live"):!1}),console.log("[chat-dialog] 在 body 中找到活跃视频:",V.length)),V.length===0){I<10?(console.warn("[chat-dialog] 未找到视频元素,300ms 后重试"),Y=setTimeout(()=>T(I+1),300)):console.error("[chat-dialog] 重试 10 次后仍未找到视频元素,放弃录制");return}if(!V.some(le=>le.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA)){I<10?(console.warn("[chat-dialog] 视频元素未就绪,300ms 后重试"),Y=setTimeout(()=>T(I+1),300)):console.error("[chat-dialog] 重试 10 次后视频仍未就绪,放弃录制");return}console.log("[chat-dialog] 视频元素已就绪,立即启动录制");const re=P.start(k);ot.value=re,re?console.log("[chat-dialog] ✅ 本地录制已成功启动"):console.error("[chat-dialog] 本地录制启动失败(MediaRecorder 或画布初始化失败)")};Y=setTimeout(()=>T(0),500)}else J();e=h},o=()=>{Lt()};$.watch(z.CALL,{[N.CALL_STATUS]:t,[N.ROOM_ID]:o}),K=()=>{try{$.unwatch(z.CALL,{[N.CALL_STATUS]:t,[N.ROOM_ID]:o})}catch{}Q(),K=null}}let Wt=0;function lt(){const e=Date.now();e-Wt{if(ct(...e),!r.value||!g.value)return;const t=e.map(o=>{if(typeof o=="string")return o;if(o instanceof Error)return o.message;try{return JSON.stringify(o)}catch{return String(o)}}).join(" ");tt(t)&<()})}function Ne(){_t&&ct&&(console.error=ct),_t=!1,ct=null}function Oe(){var e,t,o;try{const l=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(l!=null&&l.on))return;j&&((o=l.off)==null||o.call(l,"error",j)),j=h=>{!r.value||!g.value||tt(h)&<()},l.on("error",j)}catch(l){console.warn("绑定 TUICallEngine error 监听失败:",l)}}function Ke(){var e,t;try{const o=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e);o!=null&&o.off&&j&&o.off("error",j)}catch{}j=null}async function $e(e,t){try{const o=Z.create({SDKAppID:e}),l={businessID:"doctor_entered_consult_room",time:Date.now()},h=o.createCustomMessage({to:t,conversationType:Z.TYPES.CONV_C2C,payload:{data:JSON.stringify(l)}});await o.sendMessage(h),console.log("已发送医生进入诊室信令(患者端聊天列表不展示)")}catch(o){console.warn("发送医生进入诊室信令失败:",o)}}const Ft=e=>{!r.value||!g.value||tt(e.reason)&<()};Vn(()=>{He(),window.addEventListener("unhandledrejection",Ft)}),Hn(()=>{J(),P.reset(),K==null||K(),De(),Mt(),Ne(),Ke(),window.removeEventListener("unhandledrejection",Ft)});const ze=async(e,t)=>{try{if(!e){console.warn("头像 URL 为空,跳过更新");return}console.log("开始更新头像到 IM:",e);const o=await new Promise((l,h)=>{setTimeout(async()=>{try{const T=await Z.create({SDKAppID:t}).updateMyProfile({avatar:e});console.log("IM 头像更新成功:",T),l(T)}catch(v){console.error("更新头像异常:",v),l(null)}},500)})}catch(o){console.error("IM 头像更新失败:",o.message||o)}};Nn(()=>Ee.value,async e=>{if(e){if(d.value=e.getShowName()||d.value,console.log("会话切换:",e.conversationID,"名称:",d.value,e),e.userProfile.userID.includes("doctor"))console.log("当前会话是医生,跳过获取 assistant_id");else try{const t=await Vt({patient_id:e.userProfile.userID.replace("patient_",""),diagnosis_id:c.value});bt(t),_.value=t.patientUserId,a.value=t.assistant_id,console.log("会话切换后获取到 assistant_id:",a.value,"完整响应:",t)}catch(t){console.error("获取 assistant_id 失败:",t)}console.log("会话切换完成,userID:",e.userProfile.userID)}});const Be=async e=>{r.value=!0,s.value=!1,wt.value=100,St.value=80,Qt(),d.value=e.patientName,p.value=e.patientId,c.value=e.diagnosisId||null,f.value="",u.value=!1,g.value=!1,w.value=!1,m.value="正在获取签名...";try{const t=await Vt({patient_id:e.patientId,diagnosis_id:e.diagnosisId||0});if(bt(t),a.value=t.assistant_id,console.log("后端返回的签名数据:",t),console.log("assistant_id:",a.value),!t||!t.userSig)throw new Error("获取签名失败");t.assistant_id||console.warn("警告:后端未返回 assistant_id,群视频通话可能无法正常工作"),_.value=t.patientUserId||`patient_${e.patientId}`,m.value="正在登录聊天...",await O({sdkAppId:Number(t.sdkAppId),userId:t.userId,userSig:t.userSig,useUploadPlugin:!0}),Le();const o=Number(t.sdkAppId);if(!window.__TUICallKitInited__){m.value="正在初始化通话能力...";try{await D.init({userID:t.userId,userSig:t.userSig,SDKAppID:o}),window.__TUICallKitInited__=!0}catch(l){console.warn("TUICallKit 初始化失败,聊天仍可用,音视频通话不可用:",(l==null?void 0:l.message)||l),tt(l)&<()}}g.value=!!window.__TUICallKitInited__,g.value&&(D.setCallback({beforeCalling:()=>{zt(),J(),P.reset(),ot.value=!1,It++,kt=c.value,Qt(),w.value=!0,pt=Pe()},afterCalling:()=>{P.beginStopNow(),(async()=>(await yt(),w.value=!1,await gt()))()}}),Ue(),Re(),Me(),zt(),xe(),Ve(),Oe()),console.log("Chat UIKit 登录成功,患者用户ID:",_.value),m.value="加载聊天界面...",setTimeout(async()=>{var h;u.value=!0,await Nt(),await new Promise(v=>setTimeout(v,1e3));const l=(h=Ae.userInfo)==null?void 0:h.avatar;console.log("准备更新头像,avatar:",l),l&&await ze(l,o);try{const v=await Te(_.value);x.value=v.conversationID,console.log("已创建/获取会话:",x.value),C(x.value),console.log("已激活会话"),await $e(o,_.value)}catch(v){console.error("创建/激活会话失败:",v)}},800)}catch(t){console.error("初始化聊天失败:",t),f.value=t.message||"初始化聊天失败",M.msgError(f.value)}},je=async()=>{if(!g.value){M.msgWarning("通话服务初始化中,请稍后再试");return}if(!_.value){M.msgWarning("未找到患者通话ID,无法发起群视频");return}try{if(!a.value){console.warn("assistant_id 为空,尝试重新获取");const t=await Vt({patient_id:p.value,diagnosis_id:c.value});bt(t),a.value=t.assistant_id,console.log("重新获取 assistant_id:",a.value)}const e=[_.value,a.value].filter(t=>t);if(e.length<2){M.msgWarning("助理ID获取失败,无法发起群视频"),console.error("userIDList 不完整:",e,"assistant_ids:",a.value);return}console.log("发起群视频通话,参与者:",e),await D.calls({userIDList:e,type:Bn.VIDEO_CALL})}catch(e){console.error("发起群视频失败:",e),tt(e)?lt():M.msgError(ao(e,"发起群视频失败"))}},We=y(),wt=y(100),St=y(80),xt=y(!1),qt=y(0),Gt=y(0),Xt=y(0),Yt=y(0),Jt=y(),Dt=y(),ut=y(!1),Ct=y(0),Tt=y(0);function Qt(){Ct.value=_e,Tt.value=Math.max(_e,Math.floor((window.innerHeight-Lo)/2))}const Ut=y(!1),Zt=y(0),te=y(0),ee=y(0),ne=y(0),Fe=q(()=>({left:`${Ct.value}px`,top:`${Tt.value}px`})),qe=e=>{Ut.value=!0,Zt.value=e.clientX,te.value=e.clientY,ee.value=Ct.value,ne.value=Tt.value,document.addEventListener("mousemove",oe),document.addEventListener("mouseup",ae)},oe=e=>{Ut.value&&(Ct.value=Math.max(0,ee.value+e.clientX-Zt.value),Tt.value=Math.max(0,ne.value+e.clientY-te.value))},ae=()=>{Ut.value=!1,document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",ae)},Ge=async()=>{if(!ut.value){ut.value=!0;try{if(p.value==null){M.msgWarning("缺少患者信息,无法同步舌苔照片");return}const e=Jt.value,t=Dt.value,o=e||t;if(!o)return;const l=await no(o,{extraRoots:[t].filter(Boolean)});if(!l){M.msgWarning("截屏失败,请确认视频画面已加载");return}const h=await mn(l,`callshot-${Date.now()}.jpg`),v=h.url||h.uri;if(!v){M.msgError("上传未返回图片路径");return}if(c.value==null){M.msgWarning("请先保存诊单后再从视频同步舌苔照片");return}await pn({diagnosis_id:c.value,tongue_images:[v]}),M.msgSuccess("舌苔照片已保存")}catch(e){const t=e;console.error(t),M.msgError((t==null?void 0:t.message)||"上传失败")}finally{ut.value=!1}}},Xe=async()=>{if(g.value)try{P.beginStopNow(),await gt(),await D.hangup()}catch(e){console.warn("关闭视频窗口时挂断失败:",e)}w.value=!1},Ye=q(()=>({left:`${wt.value}px`,top:`${St.value}px`})),Je=e=>{const t=e.target;t.closest(".chat-close-btn")||t.closest(".chat-header-actions")||(xt.value=!0,qt.value=e.clientX,Gt.value=e.clientY,Xt.value=wt.value,Yt.value=St.value,document.addEventListener("mousemove",ie),document.addEventListener("mouseup",se))},ie=e=>{xt.value&&(wt.value=Math.max(0,Xt.value+e.clientX-qt.value),St.value=Math.max(0,Yt.value+e.clientY-Gt.value))},se=()=>{xt.value=!1,document.removeEventListener("mousemove",ie),document.removeEventListener("mouseup",se)},Qe=async()=>{if(Mt(),g.value){const e=$.getData(z.CALL,N.CALL_STATUS);if(e===ht||e===W)try{P.beginStopNow(),await gt(),await D.hangup()}catch(t){console.warn("挂断通话时出错:",t)}}c.value!=null&&await yt(),r.value=!1,w.value=!1};return n({open:Be}),(e,t)=>{const o=on,l=an,h=sn,v=rn;return R(),F(Kn,{to:"body"},[Ht(A("div",{ref_key:"chatWindowRef",ref:We,class:$n(["chat-floating-window",{"chat-floating-window--minimized":s.value}]),style:de(Ye.value)},[A("div",{class:"chat-window-header",onMousedown:Je},[A("span",{class:"chat-window-title",title:d.value},"与 "+G(d.value)+" 通讯",9,yo),A("div",{class:"chat-header-actions",onMousedown:t[2]||(t[2]=dt(()=>{},["stop"]))},[S(l,{type:"danger",link:"",class:"chat-close-btn",onClick:Qe},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ue))]),_:1})]),_:1}),s.value?(R(),F(h,{key:1,content:"展开聊天窗口",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-expand-btn",onClick:t[1]||(t[1]=T=>s.value=!1)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(cn))]),_:1}),t[6]||(t[6]=A("span",{class:"chat-header-btn-text"},"展开",-1))]),_:1})]),_:1})):(R(),F(h,{key:0,content:"缩小为标题条,不关闭会话",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-minimize-btn",onClick:t[0]||(t[0]=T=>s.value=!0)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ln))]),_:1}),t[5]||(t[5]=A("span",{class:"chat-header-btn-text"},"缩小",-1))]),_:1})]),_:1}))],32)],32),Ht(A("div",_o,[u.value?f.value?(R(),H("div",So,[S(v,{title:f.value,type:"error",closable:!1},null,8,["title"])])):(R(),H("div",Co,[S(E(jn),{language:"zh-CN",theme:"light"},{default:b(()=>[A("div",To,[S(E(Sn),{class:"chat-area"},{default:b(()=>[S(E(An),{conversationID:x.value,Message:po},null,8,["conversationID"]),S(E(In),null,{headerToolbar:b(()=>[A("div",Eo,[S(E(kn)),S(E(bn)),S(E(Rn)),g.value?(R(),F(E(Mn),{key:0})):B("",!0),g.value?(R(),F(E(Ln),{key:1})):B("",!0),g.value?(R(),F(l,{key:2,size:"small",type:"primary",onClick:je},{default:b(()=>[...t[7]||(t[7]=[On(" 群视频 ",-1)])]),_:1})):B("",!0)])]),_:1})]),_:1})])]),_:1})])):(R(),H("div",wo,[S(o,{class:"is-loading"},{default:b(()=>[S(E(un))]),_:1}),A("span",null,G(m.value),1)]))],512),[[Pt,!s.value]]),g.value?Ht((R(),H("div",{key:0,ref_key:"callKitWrapperRef",ref:Jt,class:"chat-dialog-call-kit-wrapper",style:de(Fe.value)},[A("div",{class:"call-kit-drag-handle",onMousedown:qe},[A("div",Ao,[t[8]||(t[8]=A("span",{class:"drag-handle-text"},"视频通话",-1)),ot.value?(R(),H("span",Io,"本地录制中")):B("",!0)]),A("div",ko,[S(l,{type:"primary",link:"",class:"call-kit-screenshot-btn",loading:ut.value,disabled:ut.value,onMousedown:t[3]||(t[3]=dt(()=>{},["stop"])),onClick:dt(Ge,["stop","prevent"])},{default:b(()=>[S(o,null,{default:b(()=>[S(E(dn))]),_:1}),t[9]||(t[9]=A("span",{class:"call-kit-screenshot-text"},"截屏",-1))]),_:1},8,["loading","disabled"]),S(l,{type:"danger",link:"",class:"call-kit-close-btn",onMousedown:t[4]||(t[4]=dt(()=>{},["stop"])),onClick:dt(Xe,["stop"])},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ue))]),_:1})]),_:1}),S(o,{class:"drag-handle-icon"},{default:b(()=>[S(E(fn))]),_:1})])],32),A("div",{ref_key:"callKitContentRef",ref:Dt,class:"call-kit-content"},[S(E(zn),{allowedMinimized:!0,allowedFullScreen:!0,class:"chat-dialog-call-kit"})],512)],4)),[[Pt,w.value]]):B("",!0)],6),[[Pt,r.value]])])}}}),Na=we(xo,[["__scopeId","data-v-05281771"]]);export{Na as default}; +var en=Object.defineProperty;var nn=(i,n,a)=>n in i?en(i,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[n]=a;var L=(i,n,a)=>nn(i,typeof n!="symbol"?n+"":n,a);import{d as on,i as an,r as sn,L as rn}from"./element-plus-DGP1XOrU.js";import{q as Pt,s as dt}from"./@vue/runtime-dom-DDAG46FW.js";import{c as ue,ax as ln,ay as cn,l as un,az as dn,aA as fn}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as mn,l as hn}from"./file-D7g_w1vo.js";import{a as pn}from"./patient-L-xV50Pi.js";import{Y as Vt,al as gn,aH as vn,aI as yn,aJ as _n}from"./tcm-D-ZRccbe.js";import{_ as we,u as wn,k as M}from"./index-J_eFER10.js";import{E as Sn}from"./@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js";import{p as Cn}from"./im-business-message-parse-QKjFLn3X.js";import{g as Tn,G as En,C as An,M as In,a as kn,O as bn,E as Rn,N as Mn,S as Ln,A as xn,b as Dn}from"./tuikit-atomicx-vue3-Dln8Zi6e.js";import{f as Se,aB as Un,ak as R,I as H,H as B,J as A,G as F,ab as Pn,A as q,b as Vn,d as Hn,w as Nn,aP as Ht,a as S,aN as b,O as On,T as Kn,n as Nt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as G,p as de,o as $n}from"./@vue/shared-mAAVTE9n.js";import{y as E,n as y}from"./@vue/reactivity-DiY1c2vO.js";import{T as Z}from"./@tencentcloud/chat-AC2Y2r2A.js";import{X as fe}from"./@tencentcloud/chat-uikit-engine-zx802ozq.js";import{u as zn,F as D,z as Bn,g as $,a as z,l as N}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{c as ft}from"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import{D as jn}from"./@tencentcloud/uikit-base-component-vue3-YgTqL4da.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./@tencentcloud/tuiroom-engine-js-Br9swJyU.js";import"./rtc-detect-Chu-fZvE.js";import"./tcplayer.js-qpFBCYzN.js";function Wn(){const i=["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const n of i)if(MediaRecorder.isTypeSupported(n))return n;return""}function Fn(){const i=window;return i.AudioContext||i.webkitAudioContext||null}function me(i,n,a,s,r,u){const f=n.videoWidth||n.clientWidth||1,d=n.videoHeight||n.clientHeight||1,p=Math.max(r/f,u/d),c=f*p,m=d*p,_=a+(r-c)/2,x=s+(u-m)/2;try{i.drawImage(n,_,x,c,m)}catch{}}function qn(i,n,a,s){i.fillStyle="#0b0b0b",i.fillRect(0,0,a,s);const r=n.filter(c=>c.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA);if(r.length===0)return;if(r.length===1){me(i,r[0],0,0,a,s);return}const u=Math.ceil(Math.sqrt(r.length)),f=Math.ceil(r.length/u),d=a/u,p=s/f;r.forEach((c,m)=>{const _=m%u,x=Math.floor(m/u);me(i,c,_*d,x*p,d,p)})}function Gn(i){const n=new Set,a=[];for(const s of i){const r=s.srcObject;if(r instanceof MediaStream)for(const u of r.getAudioTracks())u.kind!=="audio"||u.readyState==="ended"||!u.enabled||n.has(u.id)||(n.add(u.id),a.push(u))}return a}function Xn(i){var s;const n=new Set,a=[];for(const r of i){if(r.readyState{const p=[];for(const c of d)n.has(c)||(n.add(c),p.push(c));return p},s=[...i.querySelectorAll("video")];if(s.length>0)return a(s);const r=document.getElementById("tuicallkit-id");if(r){const d=[...r.querySelectorAll("video")];if(d.length>0)return a(d)}const f=[...document.body.querySelectorAll("video")].filter(d=>{const p=d.srcObject;return p instanceof MediaStream?p.getVideoTracks().some(c=>c.readyState==="live"):!1});return a(f)}class Jn{constructor(){L(this,"canvas",null);L(this,"ctx",null);L(this,"rafId",0);L(this,"container",null);L(this,"mediaRecorder",null);L(this,"chunks",[]);L(this,"mimeType","");L(this,"audioCtx",null);L(this,"audioDestination",null);L(this,"wiredTrackIds",new Set);L(this,"canvasVideoTrack",null);L(this,"silentOsc",null);L(this,"silentGain",null);L(this,"micStream",null);L(this,"stopResultPromise",null)}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}beginStopNow(){if(this.stopResultPromise)return;cancelAnimationFrame(this.rafId),this.rafId=0;const n=this.mediaRecorder,a=this.mimeType;!n||n.state==="inactive"||(this.stopResultPromise=new Promise(s=>{var r;n.onstop=()=>{this.teardownAudioGraph();const u=n.mimeType||a||"video/webm",f=this.chunks.length>0?new Blob(this.chunks,{type:u}):null;this.chunks=[],this.mediaRecorder=null,this.container=null,this.canvas=null,this.ctx=null,this.canvasVideoTrack=null,s(f&&f.size>0?f:null)};try{const u=n;(r=u.requestData)==null||r.call(u),n.stop()}catch{this.teardownAudioGraph(),this.chunks=[],this.mediaRecorder=null,this.container=null,this.canvas=null,this.ctx=null,this.canvasVideoTrack=null,s(null)}}))}teardownAudioGraph(){var n;try{(n=this.silentOsc)==null||n.stop()}catch{}if(this.silentOsc=null,this.silentGain=null,this.micStream){for(const a of this.micStream.getTracks())try{a.stop()}catch{}this.micStream=null}this.wiredTrackIds.clear(),this.audioDestination=null,this.audioCtx&&(this.audioCtx.close().catch(()=>{}),this.audioCtx=null)}connectTrackToMixer(n){if(!(n.kind!=="audio"||n.readyState==="ended"||!n.enabled)&&!(!this.audioCtx||!this.audioDestination)&&!this.wiredTrackIds.has(n.id))try{const a=this.audioCtx.createMediaStreamSource(new MediaStream([n])),s=this.audioCtx.createGain();s.gain.value=1.25,a.connect(s),s.connect(this.audioDestination),this.wiredTrackIds.add(n.id)}catch{}}attachMicForMixer(){if(!this.audioCtx||!this.audioDestination)return;const n=navigator.mediaDevices;n!=null&&n.getUserMedia&&n.getUserMedia({audio:!0,video:!1}).then(a=>{if(!this.audioDestination||!this.audioCtx){a.getTracks().forEach(s=>s.stop());return}if(this.micStream){a.getTracks().forEach(s=>s.stop());return}this.micStream=a;for(const s of a.getAudioTracks())this.connectTrackToMixer(s)}).catch(()=>{})}wireIncomingAudio(){var f;if(!this.audioCtx||!this.audioDestination||!this.container)return;this.audioCtx.state==="suspended"&&this.audioCtx.resume().catch(()=>{});const n=Ot(this.container),a=document.getElementById("tuicallkit-id"),s=[...document.body.querySelectorAll("audio"),...this.container.querySelectorAll("audio"),...a?a.querySelectorAll("audio"):[]],r=new Set,u=[];for(const d of n)r.has(d)||(r.add(d),u.push(d));for(const d of s)r.has(d)||(r.add(d),u.push(d));for(const d of u){const p=d.srcObject;if(p instanceof MediaStream)for(const c of p.getAudioTracks())this.connectTrackToMixer(c);if(d instanceof HTMLVideoElement&&d.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA){const c=(f=d.captureStream)==null?void 0:f.call(d);if(c)for(const m of c.getAudioTracks())this.connectTrackToMixer(m)}}}reset(){if(cancelAnimationFrame(this.rafId),this.rafId=0,this.stopResultPromise=null,this.canvasVideoTrack=null,this.mediaRecorder&&this.mediaRecorder.state!=="inactive")try{this.mediaRecorder.stop()}catch{}this.mediaRecorder=null,this.chunks=[],this.canvas=null,this.ctx=null,this.container=null,this.mimeType="",this.teardownAudioGraph()}start(n){if(typeof MediaRecorder>"u")return!1;this.reset(),this.container=n;const a=Wn();if(this.mimeType=a||"video/webm",this.canvas=document.createElement("canvas"),this.canvas.width=1280,this.canvas.height=720,this.ctx=this.canvas.getContext("2d",{alpha:!1}),!this.ctx)return!1;const r=this.canvas.captureStream(30).getVideoTracks();this.canvasVideoTrack=r[0]??null;const u=Ot(n),f=Fn();let d;if(f)try{this.audioCtx=new f,this.audioDestination=this.audioCtx.createMediaStreamDestination(),this.audioCtx.resume().catch(()=>{}),this.wireIncomingAudio(),this.attachMicForMixer();const c=this.audioDestination.stream.getAudioTracks(),m=this.audioCtx.createOscillator(),_=this.audioCtx.createGain();_.gain.value=1e-5,m.frequency.value=20,m.connect(_),_.connect(this.audioDestination),m.start(),this.silentOsc=m,this.silentGain=_,d=new MediaStream([...r,...c])}catch{this.teardownAudioGraph(),d=this.buildStreamWithoutMixer(r,u)}else d=this.buildStreamWithoutMixer(r,u);try{this.mediaRecorder=a?new MediaRecorder(d,{mimeType:a}):new MediaRecorder(d)}catch{try{this.mediaRecorder=new MediaRecorder(d)}catch{return this.reset(),!1}}this.chunks=[],this.mediaRecorder.ondataavailable=c=>{c.data&&c.data.size>0&&this.chunks.push(c.data)},this.mediaRecorder.onerror=c=>{console.error("[call-local-recorder] MediaRecorder 错误",c)};const p=()=>{var m,_;if(!this.ctx||!this.canvas||!this.container)return;this.wireIncomingAudio();const c=Ot(this.container);qn(this.ctx,c,this.canvas.width,this.canvas.height),(_=(m=this.canvasVideoTrack)==null?void 0:m.requestFrame)==null||_.call(m),this.rafId=requestAnimationFrame(p)};this.rafId=requestAnimationFrame(p);try{this.mediaRecorder.start(250)}catch{return this.reset(),!1}return!0}buildStreamWithoutMixer(n,a){const s=new Set,r=[],u=f=>{for(const d of f)s.has(d.id)||(s.add(d.id),r.push(d))};return u(Gn(a)),u(Xn(a)),u(Yn(this.container)),new MediaStream([...n,...r])}async stop(){this.beginStopNow();const n=this.stopResultPromise;return n||null}}function he(i){const n=i.srcObject;return n instanceof MediaStream?n.getVideoTracks().some(a=>a.readyState==="live"):!1}function et(i){const n=i.getBoundingClientRect();return Math.max(0,n.width)*Math.max(0,n.height)}function pe(i){const n=i.videoWidth||i.clientWidth,a=i.videoHeight||i.clientHeight;return n*a}function Qn(i){const n=new Map,a=new Map;for(const s of i){const r=s.srcObject;if(!(r instanceof MediaStream))continue;const u=r.getVideoTracks(),f=r.id&&String(r.id)||u.map(c=>c.id).filter(Boolean).join("|")||`${u.length}`,d=et(s),p=a.get(f)??0;d>=p&&(n.set(f,s),a.set(f,d))}return n.size===0?i:Array.from(n.values())}function Zn(i){if(i.length<2)return i;let n=0;for(const s of i)n=Math.max(n,et(s));return n<=1||Math.min(...i.map(s=>et(s)))/n>=.25?i:i.filter(s=>et(s)>=n*.25)}function to(i){let n=i;for(let a=0;a<12&&n;a++){const s=getComputedStyle(n).transform;if(s&&s!=="none"&&(/matrix\(\s*-1\s*,/.test(s)||/scaleX\(\s*-1/.test(s)))return!0;n=n.parentElement}return!1}function eo(i){const n=/local|self|pusher|mini[_-]?stream|preview[_-]?self|own[_-]?camera|tui-local|tencent-local|stream-local|publisher|send|pip|picture[_-]?in[_-]?picture/i,a=/remote|subscriber|peer|other|tui-remote|stream-remote|big-stream|play[_-]?stream|receiver|pull|substream/i;let s=i;for(let r=0;r<20&&s;r++){const u=`${s.className||""} ${s.id||""} ${s.getAttribute("data-type")||""}`;if(a.test(u))return!1;if(n.test(u))return!0;s=s.parentElement}return!1}async function no(i,n){const a=(n==null?void 0:n.preferRemote)!==!1,s=[i,...(n==null?void 0:n.extraRoots)||[]].filter(g=>!!g),r=new Set;for(const g of s)for(const w of g.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w);if(r.size===0){const g=document.querySelector(".chat-dialog-call-kit-wrapper");if(g)for(const w of g.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w)}r.size===0&&document.body.querySelectorAll("video").forEach(g=>{g instanceof HTMLVideoElement&&he(g)&&r.add(g)});let u=Array.from(r).filter(g=>g.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&he(g));if(u.length===0&&(u=Array.from(r).filter(g=>g.readyState>=2)),u.length===0)return null;u=Qn(u);let f=null,d=0,p=0;if(a){const g=u.map(C=>({v:C,layout:et(C),pixel:pe(C),localClass:eo(C),mirror:to(C)}));let w=g.filter(C=>!C.localClass&&!C.mirror);w.length===0&&(w=g.filter(C=>!C.localClass)),w.length===0&&(w=g.filter(C=>!C.mirror)),w.length===0&&(w=g);let O=w.map(C=>C.v);O=Zn(O),w=w.filter(C=>O.includes(C.v));for(const C of w)(C.layout>d||C.layout===d&&C.pixel>p)&&(d=C.layout,p=C.pixel,f=C.v)}else for(const g of u){const w=et(g),O=pe(g);(w>d||w===d&&O>p)&&(d=w,p=O,f=g)}if(!f)return null;const c=f.videoWidth||f.clientWidth,m=f.videoHeight||f.clientHeight;if(!c||!m)return null;const _=document.createElement("canvas");_.width=c,_.height=m;const x=_.getContext("2d");if(!x)return null;try{x.drawImage(f,0,0,c,m)}catch{return null}return new Promise(g=>{_.toBlob(w=>g(w),"image/jpeg",.92)})}function oo(i){const n=[];let a=i,s=0;for(;a!=null&&s<6;){if(typeof a=="string"){n.push(a);break}if(typeof a=="object"){const r=a;typeof r.message=="string"&&n.push(r.message),typeof r.name=="string"&&n.push(r.name),typeof r.code<"u"&&n.push(String(r.code)),a=r.cause}else{n.push(String(a));break}s++}return n.join(" ").toLowerCase()}const ge=-1001;function tt(i){if(i&&typeof i=="object"){const a=i,s=a.code??a.error_code;if(s===ge||s===String(ge))return!0}const n=oo(i);return n.includes("does not support this ability")||n.includes("package you purchased")||n.includes("-1001")&&n.includes("does not support")}function Ce(){return"套餐欠费或未开通该能力,请联系管理员在腾讯云续费或升级套餐。"}function ao(i,n="通话操作失败"){return tt(i)?Ce():i instanceof Error?i.message||n:typeof i=="string"&&i||n}const io={key:0,class:"chat-uikit-custom-msg"},so={key:0,class:"chat-uikit-custom-msg__tag"},ro={class:"chat-uikit-custom-msg__main"},lo={key:1,class:"chat-uikit-custom-msg__sub"},co={key:1,class:"chat-uikit-custom-msg chat-uikit-custom-msg--plain"},uo={class:"chat-uikit-custom-msg__main"},fo={key:2,class:"chat-uikit-custom-msg chat-uikit-custom-msg--plain"},mo={key:0,class:"chat-uikit-custom-msg__sub"},ho=Se({inheritAttrs:!1,__name:"ChatMessageItem",props:{message:{}},setup(i){const n=i,a=Un();function s(c){if(!c||typeof c!="object")return null;const m=c,_=m.data;if(typeof _=="string")return _;if(_&&typeof _=="object")return JSON.stringify(_);const x=m.extension;return typeof x=="string"&&x.trim().startsWith("{")?x:null}const r=q(()=>{var m;const c=(m=n.message)==null?void 0:m.type;return!!(c===En.CUSTOM||typeof c=="string"&&/custom/i.test(c))}),u=q(()=>{var m;if(!r.value)return null;const c=(m=s(n.message.payload))==null?void 0:m.trim();return c?Cn(c):null}),f=q(()=>r.value&&!!u.value),d=q(()=>{const c=n.message.payload,m=c==null?void 0:c.description;return typeof m=="string"&&m.trim()?m.trim():""}),p=q(()=>{var m;const c=(m=s(n.message.payload))==null?void 0:m.trim();return!c||c.length<2?"":c.length<=120?c:`${c.slice(0,117)}…`});return(c,m)=>f.value?(R(),H("div",io,[u.value.tag?(R(),H("span",so,G(u.value.tag),1)):B("",!0),A("div",ro,G(u.value.main),1),u.value.sub?(R(),H("div",lo,G(u.value.sub),1)):B("",!0)])):r.value&&d.value?(R(),H("div",co,[A("div",uo,G(d.value),1)])):r.value?(R(),H("div",fo,[m[0]||(m[0]=A("div",{class:"chat-uikit-custom-msg__main"},"系统消息",-1)),p.value?(R(),H("div",mo,G(p.value),1)):B("",!0)])):(R(),F(E(Tn),Pn({key:3},E(a),{message:i.message}),null,16,["message"]))}}),po=we(ho,[["__scopeId","data-v-09aaa469"]]);function go(i){if(i==null)return null;if(typeof i=="object"&&!Array.isArray(i))return i;if(typeof i!="string")return null;const n=i.trim();if(!n.startsWith("{"))return null;try{return JSON.parse(n)}catch{return null}}function ve(i){const n=i.toLowerCase();return["hangup","cancel","reject","timeout","linebusy","end"].includes(n)}function vo(i){const n=i.trim();if(!n)return!1;if(/\bcall_end\b/i.test(n)&&(/call_engine|call_record|rtc/i.test(n)||/"reason"\s*:\s*\d/.test(n))||/call_engine_srv\.[a-z_]*call[a-z_]*/i.test(n)&&/hangup|end|leave|reject|cancel/i.test(n))return!0;if(!n.startsWith("{"))return!1;let a;try{a=JSON.parse(n)}catch{return!1}if(a.businessID===1||a.businessID==="1"){const r=go(a.data);if(r){const u=String(r.cmd??"");if(ve(u))return!0}}if((a.businessID==="rtc_call"||typeof a.cmd=="string")&&ve(String(a.cmd??"")))return!0;const s=JSON.stringify(a);return!!(s.includes("call_engine_srv")&&/hangup|call_end|CALL_END|reject|cancel/i.test(s))}const yo=["title"],_o={class:"chat-container"},wo={key:0,class:"loading-container"},So={key:1,class:"error-container"},Co={key:2,class:"chat-content"},To={class:"chat-layout"},Eo={class:"message-toolbar"},Ao={class:"call-kit-drag-handle-left"},Io={key:0,class:"call-local-recording-hint"},ko={class:"call-kit-drag-handle-actions"},mt="idle",ht="calling",W="connected",ye=40,bo=100,Ro=1500,Mo=2600,Lo=667,_e=16,xo=Se({__name:"index",setup(i,{expose:n}){const a=y(""),s=y(!1),r=y(!1),u=y(!1),f=y(""),d=y(""),p=y(null),c=y(null),m=y("正在初始化..."),_=y(""),x=y(""),g=y(!1),w=y(!1),{login:O}=Dn(),{setActiveConversation:C,createC2CConversation:Te,activeConversation:Ee}=xn(),Ae=wn(),nt=y("");let K=null,X=null,Et=0;const P=new Jn,At=y(!1),ot=y(!1);let It=0,Y=null,at=null,pt=Promise.resolve(),kt=null;function J(){Y&&(clearTimeout(Y),Y=null)}function bt(e){At.value=!!(e!=null&&e.isLochostVod)}function gt(){return at||(at=(async()=>{if(J(),ot.value=!1,!At.value)return;P.beginStopNow();const e=kt??c.value;try{await pt}catch{}const t=await P.stop();if(!t){console.warn("[chat-dialog] 本地录制无有效文件(若通话较长仍出现,请换 Chrome 并看控制台是否有 MediaRecorder 报错)");return}if(e==null){M.msgWarning("缺少诊单信息,本地录制无法保存到通话记录");return}try{const o=await hn(t,`call-rec-${e}-${Date.now()}.webm`),l=o.uri||o.url;if(!l){M.msgError("上传成功但未返回文件地址");return}await gn({diagnosis_id:e,file_url:l}),M.msgSuccess("本地录制已上传并关联到通话记录")}catch(o){const l=o instanceof Error?o.message:String(o);console.warn("[chat-dialog] 本地录制上传/关联失败",o),M.msgError(l||"本地录制上传失败")}})().finally(()=>{at=null}),at)}function Ie(){const e=$.getData(z.CALL,N.ROOM_ID);if(e==null)return"";if(typeof e=="number")return e===0?"":String(e);const t=String(e).trim();return!t||t==="0"?"":t}function ke(){var e,t;try{const o=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e);if(!o)return"";const l=[o.roomId,o.roomID,o._roomId,o._roomID,o.strRoomID];for(const h of l){if(h==null||h==="")continue;const v=String(h).trim();if(v&&v!=="0")return v}}catch{}return""}function Rt(){return Ie()||ke()}function vt(e,t){if(t!=null&&String(t).trim()!==""&&String(t)!=="0")return String(t).trim();if(typeof e=="number"&&e>0)return String(e);if(typeof e=="string"){const o=e.trim();if(o&&o!=="0")return o}return""}function Kt(e){if(e==null||typeof e!="object")return"";const t=e,o=vt(t.roomID,t.strRoomID)||vt(t.roomId,t.strRoomId);if(o)return o;const l=t.data;if(l&&typeof l=="object"){const h=l,v=vt(h.roomID,h.strRoomID)||vt(h.roomId,h.strRoomId);if(v)return v}return""}function Q(){X&&(clearTimeout(X),X=null),Et=0}function be(){Q();const e=()=>{X=null;const t=$.getData(z.CALL,N.CALL_STATUS);if(t===mt||t!==ht&&t!==W)return;const o=Rt();if(o){rt(o);return}if(Et++,Et>=ye){console.warn("[chat-dialog] 仍未解析到有效房间号(已重试",ye,"次)");return}X=setTimeout(e,bo)};X=setTimeout(e,0)}async function $t(e){if(!(p.value==null||c.value==null)){await Nt();for(let t=0;t<40;t++){const o=Rt();if(o){await rt(o);return}await new Promise(l=>setTimeout(l,50))}console.warn("[chat-dialog] 发起通话后仍未解析到房间号(API:",e,")")}}function Re(){var l,h;const e=window;if(e.__zytEngineRoomCapture__)return;const t=(h=(l=D).getTUICallEngineInstance)==null?void 0:h.call(l);if(!t||typeof t.calls!="function")return;e.__zytEngineRoomCapture__=!0,t.__zytEngineRoomCapture__=!0;const o=v=>{const T=t[v];typeof T=="function"&&(t[v]=async function(...k){const U=await T.apply(t,k),V=Kt(U);return V&&rt(V),await $t("engine."+v),U})};o("calls"),o("call"),o("groupCall")}function Me(){const e=window;if(e.__zytHangupPreStop__)return;const t=D,o=t.hangup;typeof o=="function"&&(e.__zytHangupPreStop__=!0,t.hangup=function(...h){return P.beginStopNow(),o.apply(D,h)})}function zt(){var v,T;const e=window;if(e.__zytTrtcPreStop__)return;const t=(T=(v=D).getTUICallEngineInstance)==null?void 0:T.call(v),o=t==null?void 0:t.trtcCloud;if(!o||typeof o!="object")return;let l=0;const h=["stopLocalVideo","stopLocalAudio"];for(const I of h){const k=o[I];typeof k=="function"&&(o[I]=function(...V){return P.beginStopNow(),k.apply(o,V)},l++)}l>0&&(e.__zytTrtcPreStop__=!0)}let it=[],st=null,Bt=0;async function yt(){const e=kt??c.value;if(e==null){console.warn("[chat-dialog] endCall 跳过:无诊单 ID(快照与当前均为空)");return}try{await vn({diagnosis_id:e}),console.log("[chat-dialog] endCall 已同步",{diagnosis_id:e})}catch(t){console.warn("[chat-dialog] endCall 失败",t)}}function jt(e){const t=Date.now();t-Bt{if(!r.value)return;const l=_.value;if(!l)return;const h=l.startsWith("C2C")?l:`C2C${l}`,v=Array.isArray(o.data)?o.data:[];for(const T of v){if(!T||T.conversationID!==h)continue;const I=T.type;if(!(I===Z.TYPES.MSG_CUSTOM||I==="TIMCustomElem"||typeof I=="string"&&/custom/i.test(I)))continue;const U=T.payload,V=typeof(U==null?void 0:U.data)=="string"?U.data:"";if(!(!V||!vo(V))){jt("IM");break}}},t.on(Z.EVENT.MESSAGE_RECEIVED,st)}catch(t){console.warn("[chat-dialog] 绑定 IM 挂断监听失败",t)}}function Mt(){var e,t;if(st){try{const o=(e=fe)==null?void 0:e.chat;(t=o==null?void 0:o.off)==null||t.call(o,Z.EVENT.MESSAGE_RECEIVED,st)}catch{}st=null}}function xe(){var e,t;try{const o=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e),l=o==null?void 0:o.on;if(!o||typeof l!="function"||o.__zytRoomEvents)return;o.__zytRoomEvents=!0;const h=k=>{const U=Kt(k);if(U){rt(U);return}Lt()},v=()=>{jt("TUICallEngine")},T=[ft.TUICallEvent.CALL_END,ft.TUICallEvent.USER_LEAVE,ft.TUICallEvent.ON_CALL_NOT_CONNECTED];for(const k of T)l.call(o,k,v),it.push({event:k,fn:v});const I=[ft.TUICallEvent.USER_ENTER,ft.TUICallEvent.ON_CALL_BEGIN];for(const k of I)l.call(o,k,h),it.push({event:k,fn:h})}catch(o){console.warn("[chat-dialog] 绑定引擎房间事件失败",o)}}function De(){var e,t;try{const o=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(o!=null&&o.off)){it=[];return}for(const{event:l,fn:h}of it)o.off(l,h);o.__zytRoomEvents=!1}catch{}it=[]}function Ue(){const e=window;if(e.__zytTUICallRoomHooks__)return;e.__zytTUICallRoomHooks__=!0;const t=D,o=l=>{const h=t[l];typeof h=="function"&&(t[l]=async function(...T){const I=await h.apply(t,T);return await $t(l),I})};o("calls"),o("call"),o("groupCall")}async function rt(e){try{await pt}catch{}if(p.value==null||c.value==null)return;const t=`${c.value}:${e}`;if(t===nt.value){Q();return}nt.value=t;try{const o=await yn({diagnosis_id:c.value,room_id:e});Q(),console.log("[chat-dialog] bindCallRoom 成功",{room_id:e,bindRes:o});const l=o==null?void 0:o.cloud_recording;l&&l.started===!1&&l.message&&M.msgWarning(`云端合流录制未启动(关闭控制台全局录制后仅依赖 API):${l.message}`)}catch(o){console.warn("[chat-dialog] bindCallRoom 失败",o),nt.value=""}}async function Lt(){if(p.value==null||c.value==null)return;const e=$.getData(z.CALL,N.CALL_STATUS);if(e===mt){Q(),nt.value="";return}if(e!==ht&&e!==W)return;await Nt();const t=Rt();if(t){await rt(t);return}be()}async function Pe(){if(!(p.value==null||c.value==null))try{await _n({diagnosis_id:c.value,patient_id:p.value,call_type:2})}catch(e){console.warn("[chat-dialog] startCall 记录失败",e)}}function Ve(){K==null||K();let e=$.getData(z.CALL,N.CALL_STATUS)??mt;const t=l=>{const h=l??mt;if(h===mt){(e===ht||e===W)&&P.beginStopNow(),J(),ot.value=!1,(e===ht||e===W)&&(async()=>(await yt(),w.value=!1,await gt()))(),Q(),nt.value="",e=h;return}if(h===W){if(Lt(),J(),!At.value){e=h;return}const v=It,T=(I=0)=>{if(v!==It){console.log("[chat-dialog] 录制轮次已变化,取消启动");return}const k=Dt.value,U=$.getData(z.CALL,N.CALL_STATUS);if(!k||U!==W){console.warn("[chat-dialog] 录制启动条件不满足",{root:!!k,status:U});return}console.log(`[chat-dialog] 尝试启动本地录制(第 ${I+1} 次)`);let V=Array.from(k.querySelectorAll("video"));if(V.length===0&&(V=Array.from(document.body.querySelectorAll("video")).filter(Ze=>{const ce=Ze.srcObject;return ce instanceof MediaStream?ce.getVideoTracks().some(tn=>tn.readyState==="live"):!1}),console.log("[chat-dialog] 在 body 中找到活跃视频:",V.length)),V.length===0){I<10?(console.warn("[chat-dialog] 未找到视频元素,300ms 后重试"),Y=setTimeout(()=>T(I+1),300)):console.error("[chat-dialog] 重试 10 次后仍未找到视频元素,放弃录制");return}if(!V.some(le=>le.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA)){I<10?(console.warn("[chat-dialog] 视频元素未就绪,300ms 后重试"),Y=setTimeout(()=>T(I+1),300)):console.error("[chat-dialog] 重试 10 次后视频仍未就绪,放弃录制");return}console.log("[chat-dialog] 视频元素已就绪,立即启动录制");const re=P.start(k);ot.value=re,re?console.log("[chat-dialog] ✅ 本地录制已成功启动"):console.error("[chat-dialog] 本地录制启动失败(MediaRecorder 或画布初始化失败)")};Y=setTimeout(()=>T(0),500)}else J();e=h},o=()=>{Lt()};$.watch(z.CALL,{[N.CALL_STATUS]:t,[N.ROOM_ID]:o}),K=()=>{try{$.unwatch(z.CALL,{[N.CALL_STATUS]:t,[N.ROOM_ID]:o})}catch{}Q(),K=null}}let Wt=0;function lt(){const e=Date.now();e-Wt{if(ct(...e),!r.value||!g.value)return;const t=e.map(o=>{if(typeof o=="string")return o;if(o instanceof Error)return o.message;try{return JSON.stringify(o)}catch{return String(o)}}).join(" ");tt(t)&<()})}function Ne(){_t&&ct&&(console.error=ct),_t=!1,ct=null}function Oe(){var e,t,o;try{const l=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(l!=null&&l.on))return;j&&((o=l.off)==null||o.call(l,"error",j)),j=h=>{!r.value||!g.value||tt(h)&<()},l.on("error",j)}catch(l){console.warn("绑定 TUICallEngine error 监听失败:",l)}}function Ke(){var e,t;try{const o=(t=(e=D).getTUICallEngineInstance)==null?void 0:t.call(e);o!=null&&o.off&&j&&o.off("error",j)}catch{}j=null}async function $e(e,t){try{const o=Z.create({SDKAppID:e}),l={businessID:"doctor_entered_consult_room",time:Date.now()},h=o.createCustomMessage({to:t,conversationType:Z.TYPES.CONV_C2C,payload:{data:JSON.stringify(l)}});await o.sendMessage(h),console.log("已发送医生进入诊室信令(患者端聊天列表不展示)")}catch(o){console.warn("发送医生进入诊室信令失败:",o)}}const Ft=e=>{!r.value||!g.value||tt(e.reason)&<()};Vn(()=>{He(),window.addEventListener("unhandledrejection",Ft)}),Hn(()=>{J(),P.reset(),K==null||K(),De(),Mt(),Ne(),Ke(),window.removeEventListener("unhandledrejection",Ft)});const ze=async(e,t)=>{try{if(!e){console.warn("头像 URL 为空,跳过更新");return}console.log("开始更新头像到 IM:",e);const o=await new Promise((l,h)=>{setTimeout(async()=>{try{const T=await Z.create({SDKAppID:t}).updateMyProfile({avatar:e});console.log("IM 头像更新成功:",T),l(T)}catch(v){console.error("更新头像异常:",v),l(null)}},500)})}catch(o){console.error("IM 头像更新失败:",o.message||o)}};Nn(()=>Ee.value,async e=>{if(e){if(d.value=e.getShowName()||d.value,console.log("会话切换:",e.conversationID,"名称:",d.value,e),e.userProfile.userID.includes("doctor"))console.log("当前会话是医生,跳过获取 assistant_id");else try{const t=await Vt({patient_id:e.userProfile.userID.replace("patient_",""),diagnosis_id:c.value});bt(t),_.value=t.patientUserId,a.value=t.assistant_id,console.log("会话切换后获取到 assistant_id:",a.value,"完整响应:",t)}catch(t){console.error("获取 assistant_id 失败:",t)}console.log("会话切换完成,userID:",e.userProfile.userID)}});const Be=async e=>{r.value=!0,s.value=!1,wt.value=100,St.value=80,Qt(),d.value=e.patientName,p.value=e.patientId,c.value=e.diagnosisId||null,f.value="",u.value=!1,g.value=!1,w.value=!1,m.value="正在获取签名...";try{const t=await Vt({patient_id:e.patientId,diagnosis_id:e.diagnosisId||0});if(bt(t),a.value=t.assistant_id,console.log("后端返回的签名数据:",t),console.log("assistant_id:",a.value),!t||!t.userSig)throw new Error("获取签名失败");t.assistant_id||console.warn("警告:后端未返回 assistant_id,群视频通话可能无法正常工作"),_.value=t.patientUserId||`patient_${e.patientId}`,m.value="正在登录聊天...",await O({sdkAppId:Number(t.sdkAppId),userId:t.userId,userSig:t.userSig,useUploadPlugin:!0}),Le();const o=Number(t.sdkAppId);if(!window.__TUICallKitInited__){m.value="正在初始化通话能力...";try{await D.init({userID:t.userId,userSig:t.userSig,SDKAppID:o}),window.__TUICallKitInited__=!0}catch(l){console.warn("TUICallKit 初始化失败,聊天仍可用,音视频通话不可用:",(l==null?void 0:l.message)||l),tt(l)&<()}}g.value=!!window.__TUICallKitInited__,g.value&&(D.setCallback({beforeCalling:()=>{zt(),J(),P.reset(),ot.value=!1,It++,kt=c.value,Qt(),w.value=!0,pt=Pe()},afterCalling:()=>{P.beginStopNow(),(async()=>(await yt(),w.value=!1,await gt()))()}}),Ue(),Re(),Me(),zt(),xe(),Ve(),Oe()),console.log("Chat UIKit 登录成功,患者用户ID:",_.value),m.value="加载聊天界面...",setTimeout(async()=>{var h;u.value=!0,await Nt(),await new Promise(v=>setTimeout(v,1e3));const l=(h=Ae.userInfo)==null?void 0:h.avatar;console.log("准备更新头像,avatar:",l),l&&await ze(l,o);try{const v=await Te(_.value);x.value=v.conversationID,console.log("已创建/获取会话:",x.value),C(x.value),console.log("已激活会话"),await $e(o,_.value)}catch(v){console.error("创建/激活会话失败:",v)}},800)}catch(t){console.error("初始化聊天失败:",t),f.value=t.message||"初始化聊天失败",M.msgError(f.value)}},je=async()=>{if(!g.value){M.msgWarning("通话服务初始化中,请稍后再试");return}if(!_.value){M.msgWarning("未找到患者通话ID,无法发起群视频");return}try{if(!a.value){console.warn("assistant_id 为空,尝试重新获取");const t=await Vt({patient_id:p.value,diagnosis_id:c.value});bt(t),a.value=t.assistant_id,console.log("重新获取 assistant_id:",a.value)}const e=[_.value,a.value].filter(t=>t);if(e.length<2){M.msgWarning("助理ID获取失败,无法发起群视频"),console.error("userIDList 不完整:",e,"assistant_ids:",a.value);return}console.log("发起群视频通话,参与者:",e),await D.calls({userIDList:e,type:Bn.VIDEO_CALL})}catch(e){console.error("发起群视频失败:",e),tt(e)?lt():M.msgError(ao(e,"发起群视频失败"))}},We=y(),wt=y(100),St=y(80),xt=y(!1),qt=y(0),Gt=y(0),Xt=y(0),Yt=y(0),Jt=y(),Dt=y(),ut=y(!1),Ct=y(0),Tt=y(0);function Qt(){Ct.value=_e,Tt.value=Math.max(_e,Math.floor((window.innerHeight-Lo)/2))}const Ut=y(!1),Zt=y(0),te=y(0),ee=y(0),ne=y(0),Fe=q(()=>({left:`${Ct.value}px`,top:`${Tt.value}px`})),qe=e=>{Ut.value=!0,Zt.value=e.clientX,te.value=e.clientY,ee.value=Ct.value,ne.value=Tt.value,document.addEventListener("mousemove",oe),document.addEventListener("mouseup",ae)},oe=e=>{Ut.value&&(Ct.value=Math.max(0,ee.value+e.clientX-Zt.value),Tt.value=Math.max(0,ne.value+e.clientY-te.value))},ae=()=>{Ut.value=!1,document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",ae)},Ge=async()=>{if(!ut.value){ut.value=!0;try{if(p.value==null){M.msgWarning("缺少患者信息,无法同步舌苔照片");return}const e=Jt.value,t=Dt.value,o=e||t;if(!o)return;const l=await no(o,{extraRoots:[t].filter(Boolean)});if(!l){M.msgWarning("截屏失败,请确认视频画面已加载");return}const h=await mn(l,`callshot-${Date.now()}.jpg`),v=h.url||h.uri;if(!v){M.msgError("上传未返回图片路径");return}if(c.value==null){M.msgWarning("请先保存诊单后再从视频同步舌苔照片");return}await pn({diagnosis_id:c.value,tongue_images:[v]}),M.msgSuccess("舌苔照片已保存")}catch(e){const t=e;console.error(t),M.msgError((t==null?void 0:t.message)||"上传失败")}finally{ut.value=!1}}},Xe=async()=>{if(g.value)try{P.beginStopNow(),await gt(),await D.hangup()}catch(e){console.warn("关闭视频窗口时挂断失败:",e)}w.value=!1},Ye=q(()=>({left:`${wt.value}px`,top:`${St.value}px`})),Je=e=>{const t=e.target;t.closest(".chat-close-btn")||t.closest(".chat-header-actions")||(xt.value=!0,qt.value=e.clientX,Gt.value=e.clientY,Xt.value=wt.value,Yt.value=St.value,document.addEventListener("mousemove",ie),document.addEventListener("mouseup",se))},ie=e=>{xt.value&&(wt.value=Math.max(0,Xt.value+e.clientX-qt.value),St.value=Math.max(0,Yt.value+e.clientY-Gt.value))},se=()=>{xt.value=!1,document.removeEventListener("mousemove",ie),document.removeEventListener("mouseup",se)},Qe=async()=>{if(Mt(),g.value){const e=$.getData(z.CALL,N.CALL_STATUS);if(e===ht||e===W)try{P.beginStopNow(),await gt(),await D.hangup()}catch(t){console.warn("挂断通话时出错:",t)}}c.value!=null&&await yt(),r.value=!1,w.value=!1};return n({open:Be}),(e,t)=>{const o=on,l=an,h=sn,v=rn;return R(),F(Kn,{to:"body"},[Ht(A("div",{ref_key:"chatWindowRef",ref:We,class:$n(["chat-floating-window",{"chat-floating-window--minimized":s.value}]),style:de(Ye.value)},[A("div",{class:"chat-window-header",onMousedown:Je},[A("span",{class:"chat-window-title",title:d.value},"与 "+G(d.value)+" 通讯",9,yo),A("div",{class:"chat-header-actions",onMousedown:t[2]||(t[2]=dt(()=>{},["stop"]))},[S(l,{type:"danger",link:"",class:"chat-close-btn",onClick:Qe},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ue))]),_:1})]),_:1}),s.value?(R(),F(h,{key:1,content:"展开聊天窗口",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-expand-btn",onClick:t[1]||(t[1]=T=>s.value=!1)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(cn))]),_:1}),t[6]||(t[6]=A("span",{class:"chat-header-btn-text"},"展开",-1))]),_:1})]),_:1})):(R(),F(h,{key:0,content:"缩小为标题条,不关闭会话",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-minimize-btn",onClick:t[0]||(t[0]=T=>s.value=!0)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ln))]),_:1}),t[5]||(t[5]=A("span",{class:"chat-header-btn-text"},"缩小",-1))]),_:1})]),_:1}))],32)],32),Ht(A("div",_o,[u.value?f.value?(R(),H("div",So,[S(v,{title:f.value,type:"error",closable:!1},null,8,["title"])])):(R(),H("div",Co,[S(E(jn),{language:"zh-CN",theme:"light"},{default:b(()=>[A("div",To,[S(E(Sn),{class:"chat-area"},{default:b(()=>[S(E(An),{conversationID:x.value,Message:po},null,8,["conversationID"]),S(E(In),null,{headerToolbar:b(()=>[A("div",Eo,[S(E(kn)),S(E(bn)),S(E(Rn)),g.value?(R(),F(E(Mn),{key:0})):B("",!0),g.value?(R(),F(E(Ln),{key:1})):B("",!0),g.value?(R(),F(l,{key:2,size:"small",type:"primary",onClick:je},{default:b(()=>[...t[7]||(t[7]=[On(" 群视频 ",-1)])]),_:1})):B("",!0)])]),_:1})]),_:1})])]),_:1})])):(R(),H("div",wo,[S(o,{class:"is-loading"},{default:b(()=>[S(E(un))]),_:1}),A("span",null,G(m.value),1)]))],512),[[Pt,!s.value]]),g.value?Ht((R(),H("div",{key:0,ref_key:"callKitWrapperRef",ref:Jt,class:"chat-dialog-call-kit-wrapper",style:de(Fe.value)},[A("div",{class:"call-kit-drag-handle",onMousedown:qe},[A("div",Ao,[t[8]||(t[8]=A("span",{class:"drag-handle-text"},"视频通话",-1)),ot.value?(R(),H("span",Io,"本地录制中")):B("",!0)]),A("div",ko,[S(l,{type:"primary",link:"",class:"call-kit-screenshot-btn",loading:ut.value,disabled:ut.value,onMousedown:t[3]||(t[3]=dt(()=>{},["stop"])),onClick:dt(Ge,["stop","prevent"])},{default:b(()=>[S(o,null,{default:b(()=>[S(E(dn))]),_:1}),t[9]||(t[9]=A("span",{class:"call-kit-screenshot-text"},"截屏",-1))]),_:1},8,["loading","disabled"]),S(l,{type:"danger",link:"",class:"call-kit-close-btn",onMousedown:t[4]||(t[4]=dt(()=>{},["stop"])),onClick:dt(Xe,["stop"])},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ue))]),_:1})]),_:1}),S(o,{class:"drag-handle-icon"},{default:b(()=>[S(E(fn))]),_:1})])],32),A("div",{ref_key:"callKitContentRef",ref:Dt,class:"call-kit-content"},[S(E(zn),{allowedMinimized:!0,allowedFullScreen:!0,class:"chat-dialog-call-kit"})],512)],4)),[[Pt,w.value]]):B("",!0)],6),[[Pt,r.value]])])}}}),Na=we(xo,[["__scopeId","data-v-05281771"]]);export{Na as default}; diff --git a/server/public/admin/assets/index-Dd-Ko9om.js b/server/public/admin/assets/index-CkBa3fm7.js similarity index 93% rename from server/public/admin/assets/index-Dd-Ko9om.js rename to server/public/admin/assets/index-CkBa3fm7.js index ffa9dd632..669e9e32e 100644 --- a/server/public/admin/assets/index-Dd-Ko9om.js +++ b/server/public/admin/assets/index-CkBa3fm7.js @@ -1 +1 @@ -import{L,K as R,M as T,i as P,N as U,O as A,g as O}from"./element-plus-DGP1XOrU.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as q,k as z}from"./index-fRv3NTFQ.js";import{a as F,b as G,c as H}from"./article-BsGgZfIu.js";import{u as I}from"./usePaging-DofycyjW.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BL1KmfvV.js";import{f as k,as as K,ak as l,I as M,a as t,aN as i,aP as d,G as u,J as h,O as g,H as Q,n as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as r,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const Z={class:"flex justify-end mt-4"},ee=k({name:"articleColumn"}),He=k({...ee,setup(te){const _=X(),f=Y(!1),{pager:s,getLists:n}=I({fetchFun:F}),y=async()=>{var o;f.value=!0,await b(),(o=_.value)==null||o.open("add")},V=async o=>{var e,m;f.value=!0,await b(),(e=_.value)==null||e.open("edit"),(m=_.value)==null||m.getDetail(o)},E=async o=>{await z.confirm("确定要删除?"),await G({id:o}),n()},x=async(o,e)=>{try{await H({id:e,is_show:o}),n()}catch{n()}};return n(),(o,e)=>{const m=L,w=R,$=q,C=P,p=A,N=O,S=U,B=j,v=K("perms"),D=T;return l(),M("div",null,[t(w,{class:"!border-none",shadow:"never"},{default:i(()=>[t(m,{type:"warning",title:"温馨提示:用于管理网站的分类,只可添加到一级",closable:!1,"show-icon":""})]),_:1}),d((l(),u(w,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[h("div",null,[d((l(),u(C,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>y())},{icon:i(()=>[t($,{name:"el-icon-Plus"})]),default:i(()=>[e[3]||(e[3]=g(" 新增 ",-1))]),_:1})),[[v,["article.articleCate/add"]]])]),t(S,{size:"large",data:r(s).lists},{default:i(()=>[t(p,{label:"栏目名称",prop:"name","min-width":"120"}),t(p,{label:"文章数",prop:"article_count","min-width":"120"}),t(p,{label:"状态","min-width":"120"},{default:i(({row:a})=>[d(t(N,{modelValue:a.is_show,"onUpdate:modelValue":c=>a.is_show=c,"active-value":1,"inactive-value":0,onChange:c=>x(c,a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[v,["article.articleCate/updateStatus"]]])]),_:1}),t(p,{label:"排序",prop:"sort","min-width":"120"}),t(p,{label:"操作",width:"120",fixed:"right"},{default:i(({row:a})=>[d((l(),u(C,{type:"primary",link:"",onClick:c=>V(a)},{default:i(()=>[...e[4]||(e[4]=[g(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/edit"]]]),d((l(),u(C,{type:"danger",link:"",onClick:c=>E(a.id)},{default:i(()=>[...e[5]||(e[5]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/delete"]]])]),_:1})]),_:1},8,["data"]),h("div",Z,[t(B,{modelValue:r(s),"onUpdate:modelValue":e[1]||(e[1]=a=>W(s)?s.value=a:null),onChange:r(n)},null,8,["modelValue","onChange"])])]),_:1})),[[D,r(s).loading]]),r(f)?(l(),u(J,{key:0,ref_key:"editRef",ref:_,onSuccess:r(n),onClose:e[2]||(e[2]=a=>f.value=!1)},null,8,["onSuccess"])):Q("",!0)])}}});export{He as default}; +import{L,K as R,M as T,i as P,N as U,O as A,g as O}from"./element-plus-DGP1XOrU.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as q,k as z}from"./index-J_eFER10.js";import{a as F,b as G,c as H}from"./article-D7twg9M1.js";import{u as I}from"./usePaging-DofycyjW.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CVNsiWtw.js";import{f as k,as as K,ak as l,I as M,a as t,aN as i,aP as d,G as u,J as h,O as g,H as Q,n as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as r,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const Z={class:"flex justify-end mt-4"},ee=k({name:"articleColumn"}),He=k({...ee,setup(te){const _=X(),f=Y(!1),{pager:s,getLists:n}=I({fetchFun:F}),y=async()=>{var o;f.value=!0,await b(),(o=_.value)==null||o.open("add")},V=async o=>{var e,m;f.value=!0,await b(),(e=_.value)==null||e.open("edit"),(m=_.value)==null||m.getDetail(o)},E=async o=>{await z.confirm("确定要删除?"),await G({id:o}),n()},x=async(o,e)=>{try{await H({id:e,is_show:o}),n()}catch{n()}};return n(),(o,e)=>{const m=L,w=R,$=q,C=P,p=A,N=O,S=U,B=j,v=K("perms"),D=T;return l(),M("div",null,[t(w,{class:"!border-none",shadow:"never"},{default:i(()=>[t(m,{type:"warning",title:"温馨提示:用于管理网站的分类,只可添加到一级",closable:!1,"show-icon":""})]),_:1}),d((l(),u(w,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[h("div",null,[d((l(),u(C,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>y())},{icon:i(()=>[t($,{name:"el-icon-Plus"})]),default:i(()=>[e[3]||(e[3]=g(" 新增 ",-1))]),_:1})),[[v,["article.articleCate/add"]]])]),t(S,{size:"large",data:r(s).lists},{default:i(()=>[t(p,{label:"栏目名称",prop:"name","min-width":"120"}),t(p,{label:"文章数",prop:"article_count","min-width":"120"}),t(p,{label:"状态","min-width":"120"},{default:i(({row:a})=>[d(t(N,{modelValue:a.is_show,"onUpdate:modelValue":c=>a.is_show=c,"active-value":1,"inactive-value":0,onChange:c=>x(c,a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[v,["article.articleCate/updateStatus"]]])]),_:1}),t(p,{label:"排序",prop:"sort","min-width":"120"}),t(p,{label:"操作",width:"120",fixed:"right"},{default:i(({row:a})=>[d((l(),u(C,{type:"primary",link:"",onClick:c=>V(a)},{default:i(()=>[...e[4]||(e[4]=[g(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/edit"]]]),d((l(),u(C,{type:"danger",link:"",onClick:c=>E(a.id)},{default:i(()=>[...e[5]||(e[5]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/delete"]]])]),_:1})]),_:1},8,["data"]),h("div",Z,[t(B,{modelValue:r(s),"onUpdate:modelValue":e[1]||(e[1]=a=>W(s)?s.value=a:null),onChange:r(n)},null,8,["modelValue","onChange"])])]),_:1})),[[D,r(s).loading]]),r(f)?(l(),u(J,{key:0,ref_key:"editRef",ref:_,onSuccess:r(n),onClose:e[2]||(e[2]=a=>f.value=!1)},null,8,["onSuccess"])):Q("",!0)])}}});export{He as default}; diff --git a/server/public/admin/assets/index-nUSE5ReJ.js b/server/public/admin/assets/index-ClUiIVBA.js similarity index 97% rename from server/public/admin/assets/index-nUSE5ReJ.js rename to server/public/admin/assets/index-ClUiIVBA.js index 24ced2634..d1c8ecb23 100644 --- a/server/public/admin/assets/index-nUSE5ReJ.js +++ b/server/public/admin/assets/index-ClUiIVBA.js @@ -1 +1 @@ -import{_ as G}from"./index-D6hiZISU.js";import{r as V,c as R,_ as T}from"./index-fRv3NTFQ.js";import{D as z,B as A,G as J,J as O,K as $,i as q,N as K,O as L,C as P}from"./element-plus-DGP1XOrU.js";import{f as C,as as Q,ak as i,I as _,a as e,aN as o,J as a,O as m,aP as x,G as y,F as j,ap as H,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,r as W}from"./@vue/reactivity-DiY1c2vO.js";import{Q as X}from"./@vue/shared-mAAVTE9n.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";function Y(){return V.get({url:"/setting.hot_search/getConfig"})}function Z(u){return V.post({url:"/setting.hot_search/setConfig",params:u})}const tt={class:"hot-search"},et={class:"lg:flex"},ot={class:"flex-1 min-w-0"},st={class:"hot-search-phone mt-4 lg:mt-0 lg:ml-4 flex-none"},at={class:"hot-search-phone-content"},nt={class:"search-com"},rt={class:"search-con flex items-center px-[15px]"},lt={class:"hot-search-text"},it=C({name:"search"}),mt=C({...it,setup(u){const r=W({status:1,data:[]}),k=M(()=>r.data.filter(s=>s.name).sort((s,t)=>t.sort-s.sort)),f=async()=>{try{const s=await Y();for(const t in r)r[t]=s[t]}catch(s){console.log("获取=>",s)}},w=()=>{r.data.push({name:"",sort:0})},E=s=>{r.data.splice(s,1)},D=async()=>{try{await Z(r),f()}catch(s){console.log("保存=>",s)}};return f(),(s,t)=>{const h=O,B=J,N=A,S=z,g=$,p=q,v=P,c=L,U=K,F=R,I=G,b=Q("perms");return i(),_("div",tt,[e(g,{class:"!border-none",shadow:"never"},{default:o(()=>[e(S,{ref:"formRef",model:d(r),"label-width":"100px"},{default:o(()=>[e(N,{label:"功能状态",style:{"margin-bottom":"0"}},{default:o(()=>[a("div",null,[e(B,{modelValue:d(r).status,"onUpdate:modelValue":t[0]||(t[0]=n=>d(r).status=n)},{default:o(()=>[e(h,{value:1},{default:o(()=>[...t[1]||(t[1]=[m("开启",-1)])]),_:1}),e(h,{value:0},{default:o(()=>[...t[2]||(t[2]=[m("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[3]||(t[3]=a("div",{class:"form-tips"},"默认开启,关闭则前端不显示该功能",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[a("div",et,[a("div",ot,[e(p,{type:"primary",class:"mb-4",onClick:w},{default:o(()=>[...t[4]||(t[4]=[m("添加",-1)])]),_:1}),e(U,{size:"large",data:d(r).data},{default:o(()=>[e(c,{label:"关键词",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.name,"onUpdate:modelValue":l=>n.name=l,clearable:"",placeholder:"请输入关键字","show-word-limit":"",maxlength:"30"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"排序",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.sort,"onUpdate:modelValue":l=>n.sort=l,type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作","min-width":"80",fixed:"right"},{default:o(({$index:n})=>[x((i(),y(p,{type:"danger",link:"",onClick:l=>E(n)},{default:o(()=>[...t[5]||(t[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["setting:storage:edit"]]])]),_:1})]),_:1},8,["data"])]),a("div",st,[t[8]||(t[8]=a("div",{class:"mb-4 text-center"},"- 热搜预览图 -",-1)),a("div",at,[a("div",nt,[a("div",rt,[e(F,{name:"el-icon-Search",size:17}),t[6]||(t[6]=a("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])]),t[7]||(t[7]=a("div",{class:"hot-search-title"},"热门搜索",-1)),a("div",lt,[(i(!0),_(j,null,H(d(k),(n,l)=>(i(),_("span",{key:l},X(n.name),1))),128))])])])])]),_:1}),x((i(),y(I,null,{default:o(()=>[e(p,{type:"primary",onClick:D},{default:o(()=>[...t[9]||(t[9]=[m("保存",-1)])]),_:1})]),_:1})),[[b,["setting.hot_search/setConfig"]]])])}}}),Ht=T(mt,[["__scopeId","data-v-2569ecde"]]);export{Ht as default}; +import{_ as G}from"./index-UGD9wxNK.js";import{r as V,c as R,_ as T}from"./index-J_eFER10.js";import{D as z,B as A,G as J,J as O,K as $,i as q,N as K,O as L,C as P}from"./element-plus-DGP1XOrU.js";import{f as C,as as Q,ak as i,I as _,a as e,aN as o,J as a,O as m,aP as x,G as y,F as j,ap as H,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,r as W}from"./@vue/reactivity-DiY1c2vO.js";import{Q as X}from"./@vue/shared-mAAVTE9n.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";function Y(){return V.get({url:"/setting.hot_search/getConfig"})}function Z(u){return V.post({url:"/setting.hot_search/setConfig",params:u})}const tt={class:"hot-search"},et={class:"lg:flex"},ot={class:"flex-1 min-w-0"},st={class:"hot-search-phone mt-4 lg:mt-0 lg:ml-4 flex-none"},at={class:"hot-search-phone-content"},nt={class:"search-com"},rt={class:"search-con flex items-center px-[15px]"},lt={class:"hot-search-text"},it=C({name:"search"}),mt=C({...it,setup(u){const r=W({status:1,data:[]}),k=M(()=>r.data.filter(s=>s.name).sort((s,t)=>t.sort-s.sort)),f=async()=>{try{const s=await Y();for(const t in r)r[t]=s[t]}catch(s){console.log("获取=>",s)}},w=()=>{r.data.push({name:"",sort:0})},E=s=>{r.data.splice(s,1)},D=async()=>{try{await Z(r),f()}catch(s){console.log("保存=>",s)}};return f(),(s,t)=>{const h=O,B=J,N=A,S=z,g=$,p=q,v=P,c=L,U=K,F=R,I=G,b=Q("perms");return i(),_("div",tt,[e(g,{class:"!border-none",shadow:"never"},{default:o(()=>[e(S,{ref:"formRef",model:d(r),"label-width":"100px"},{default:o(()=>[e(N,{label:"功能状态",style:{"margin-bottom":"0"}},{default:o(()=>[a("div",null,[e(B,{modelValue:d(r).status,"onUpdate:modelValue":t[0]||(t[0]=n=>d(r).status=n)},{default:o(()=>[e(h,{value:1},{default:o(()=>[...t[1]||(t[1]=[m("开启",-1)])]),_:1}),e(h,{value:0},{default:o(()=>[...t[2]||(t[2]=[m("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[3]||(t[3]=a("div",{class:"form-tips"},"默认开启,关闭则前端不显示该功能",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[a("div",et,[a("div",ot,[e(p,{type:"primary",class:"mb-4",onClick:w},{default:o(()=>[...t[4]||(t[4]=[m("添加",-1)])]),_:1}),e(U,{size:"large",data:d(r).data},{default:o(()=>[e(c,{label:"关键词",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.name,"onUpdate:modelValue":l=>n.name=l,clearable:"",placeholder:"请输入关键字","show-word-limit":"",maxlength:"30"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"排序",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.sort,"onUpdate:modelValue":l=>n.sort=l,type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作","min-width":"80",fixed:"right"},{default:o(({$index:n})=>[x((i(),y(p,{type:"danger",link:"",onClick:l=>E(n)},{default:o(()=>[...t[5]||(t[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["setting:storage:edit"]]])]),_:1})]),_:1},8,["data"])]),a("div",st,[t[8]||(t[8]=a("div",{class:"mb-4 text-center"},"- 热搜预览图 -",-1)),a("div",at,[a("div",nt,[a("div",rt,[e(F,{name:"el-icon-Search",size:17}),t[6]||(t[6]=a("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])]),t[7]||(t[7]=a("div",{class:"hot-search-title"},"热门搜索",-1)),a("div",lt,[(i(!0),_(j,null,H(d(k),(n,l)=>(i(),_("span",{key:l},X(n.name),1))),128))])])])])]),_:1}),x((i(),y(I,null,{default:o(()=>[e(p,{type:"primary",onClick:D},{default:o(()=>[...t[9]||(t[9]=[m("保存",-1)])]),_:1})]),_:1})),[[b,["setting.hot_search/setConfig"]]])])}}}),Ht=T(mt,[["__scopeId","data-v-2569ecde"]]);export{Ht as default}; diff --git a/server/public/admin/assets/index-D9lWZuU2.js b/server/public/admin/assets/index-CrOviIg_.js similarity index 90% rename from server/public/admin/assets/index-D9lWZuU2.js rename to server/public/admin/assets/index-CrOviIg_.js index 13df3d3b1..6cdb00806 100644 --- a/server/public/admin/assets/index-D9lWZuU2.js +++ b/server/public/admin/assets/index-CrOviIg_.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/appointment-aTSV_XED.js","assets/first_visit-BYIyH6Y1.js","assets/appointment-JDceTxKO.css","assets/OrderPanel-BCRcd5lr.js","assets/OrderActionHost-B3ThVYvr.js","assets/OrderActionHost-MCeToytn.css","assets/OrderPanel-BiwYHoSA.css","assets/ProgressPanel-BvPmp3XS.js","assets/ProgressPanel-DAF-FohF.css","assets/PaibanPanel-BETrahUR.js","assets/PaibanPanel-aqm8azGc.css"])))=>i.map(i=>d[i]); -import{_ as S}from"./jspdf-BsthCvR5.js";import{U as rt,i as ut,m as mt,l as pt,C as _t,G as ft,F as ct,S as vt,d as gt,N as yt,O as bt,X as kt,M as Ct,K as Dt,D as Vt,B as Et,Q as Pt,R as Yt,H as Rt,W as xt}from"./element-plus-DGP1XOrU.js";import{_ as Nt}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as Ce,q as wt}from"./@vue/runtime-dom-DDAG46FW.js";import{a as It}from"./vue-router-QlpZ4wdW.js";import{d as ht}from"./dayjs-DG77mNTn.js";import{M as At,O as De,k as Ve,j as Mt,a8 as $t,l as St}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as Ft}from"./usePaging-DofycyjW.js";import{h as F}from"./perm-CTlz8z1G.js";import{u as Ot,k as v,_ as Lt}from"./index-fRv3NTFQ.js";import{s as qt,t as Tt,u as Ut,v as Bt,w as Wt}from"./first_visit-BYIyH6Y1.js";import{W as Qt}from"./tcm-CEIBuAeK.js";import{g as zt}from"./weapp-B8uox-3Q.js";import{f as Kt,b as Gt,ak as p,I as Y,J as n,a as l,aN as s,O as m,aP as Ee,F as O,ap as ie,G as g,H as C,P as L,A as E}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r,o as jt}from"./@vue/shared-mAAVTE9n.js";import{y as f,a as Ht,n as _,r as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Xt={class:"my-patients-page"},Jt={class:"page-heading"},Zt={class:"heading-actions"},ea={class:"filter-panel"},ta={class:"filter-row filter-row-main"},aa={class:"filter-group status-group"},na={class:"filter-row date-filter-row"},la={class:"quick-dates"},sa={class:"summary-grid"},oa={class:"summary-icon"},ia={class:"summary-copy"},da={class:"summary-date"},ra={class:"summary-icon"},ua={class:"summary-copy"},ma={class:"summary-date"},pa={class:"summary-icon"},_a={class:"summary-copy"},fa={class:"summary-date"},ca={class:"table-heading"},va={class:"table-scope"},ga={class:"patient-cell"},ya={class:"patient-avatar"},ba={class:"doctor-cell"},ka={class:"revisit-count"},Ca={class:"row-actions"},Da={class:"pagination-wrap"},Va={class:"dialog-patient-name"},Ea={class:"inherit-field"},Pa={class:"dialog-patient-name"},Ya={class:"qrcode-body"},Ra=["src"],xa={class:"qrcode-meta"},Na={key:2,class:"qrcode-error"},wa=Kt({__name:"index",setup(Ia){const Pe=L(()=>S(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),Ye=L(()=>S(()=>import("./appointment-aTSV_XED.js"),__vite__mapDeps([104,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,105,106]))),Re=L(()=>S(()=>import("./OrderPanel-BCRcd5lr.js"),__vite__mapDeps([107,1,2,3,4,5,6,7,8,9,10,11,12,13,14,48,55,105,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,108,89,15,90,91,42,109,110]))),xe=L(()=>S(()=>import("./ProgressPanel-BvPmp3XS.js"),__vite__mapDeps([111,1,2,3,4,5,6,7,8,9,10,11,12,13,14,48,55,105,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,112]))),Ne=L(()=>S(()=>import("./PaibanPanel-BETrahUR.js"),__vite__mapDeps([113,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,114]))),j=It(),we=Ot(),y=_("patients"),x=_("all"),q=_([]),re=_(),ue=_(),H=_(),X=_(),J=_(),T=_(!1),U=_(!1),B=_(""),N=_(null),w=_(!1),Z=_(!1),ee=_(!1),W=_([]),I=_(null),D=de({assistant_id:null,is_inherit:!1}),h=_(!1),Q=_(!1),te=_(),b=de({id:0,patient_name:"",id_card:""}),d=de({keyword:"",status_filter:"",start_date:"",end_date:""}),Ie=[{label:"全部",value:""},{label:"未预约",value:"unbooked"},{label:"待面诊",value:"pending_interview"},{label:"已完成",value:"completed"},{label:"已过号",value:"missed"}],he=[{label:"全部时间",value:"all"},{label:"昨天",value:"yesterday"},{label:"今日预约",value:"today"},{label:"明日",value:"tomorrow"},{label:"后天",value:"day_after"},{label:"近7天",value:"last7"},{label:"近30天",value:"last30"}],{pager:k,getLists:A,resetPage:M}=Ft({fetchFun:qt,params:d,size:15,firstLoading:!0}),ae=E(()=>{var t,e,o,i,u,c;return{today:Number(((e=(t=k.extend)==null?void 0:t.summary)==null?void 0:e.today)||0),tomorrow:Number(((i=(o=k.extend)==null?void 0:o.summary)==null?void 0:i.tomorrow)||0),day_after:Number(((c=(u=k.extend)==null?void 0:u.summary)==null?void 0:c.day_after)||0)}}),ne=E(()=>{var t;return((t=k.extend)==null?void 0:t.dates)||{}}),me=E(()=>{var t,e;return((e=(t=k.extend)==null?void 0:t.scope)==null?void 0:e.label)||"按权限加载"}),pe=E(()=>F(["tcm.diagnosis/edit"])),_e=E(()=>F(["tcm.diagnosis/readonlyDetail"])),le=E(()=>F(["tcm.diagnosis/guahao"])),Ae=E(()=>F(["tcm.diagnosis/assign"])),Me=E(()=>F(["tcm.diagnosis/edit"])),$e=E(()=>{var t,e,o;return y.value==="orders"?!!((t=H.value)!=null&&t.loading):y.value==="progress"?!!((e=X.value)!=null&&e.loading):y.value==="paiban"?!!((o=J.value)!=null&&o.loading):k.loading});function se(){M()}function Se(){M()}function z(){var t,e,o,i,u,c;return y.value==="orders"?(e=(t=H.value)==null?void 0:t.refresh)==null?void 0:e.call(t):y.value==="progress"?(i=(o=X.value)==null?void 0:o.refresh)==null?void 0:i.call(o):y.value==="paiban"?(c=(u=J.value)==null?void 0:u.refresh)==null?void 0:c.call(u):A()}function Fe(){d.keyword="",d.status_filter="",d.start_date="",d.end_date="",x.value="all",q.value=[],M()}function K(t){x.value=t,q.value=[];const e=ht();t==="all"?(d.start_date="",d.end_date=""):t==="yesterday"?(d.start_date=e.subtract(1,"day").format("YYYY-MM-DD"),d.end_date=d.start_date):t==="today"?(d.start_date=e.format("YYYY-MM-DD"),d.end_date=d.start_date):t==="tomorrow"?(d.start_date=e.add(1,"day").format("YYYY-MM-DD"),d.end_date=d.start_date):t==="day_after"?(d.start_date=e.add(2,"day").format("YYYY-MM-DD"),d.end_date=d.start_date):t==="last7"?(d.start_date=e.subtract(6,"day").format("YYYY-MM-DD"),d.end_date=e.format("YYYY-MM-DD")):t==="last30"&&(d.start_date=e.subtract(29,"day").format("YYYY-MM-DD"),d.end_date=e.format("YYYY-MM-DD")),M()}function Oe(t){t!=null&&t.length?(x.value="custom",d.start_date=t[0]||"",d.end_date=t[1]||t[0]||""):(x.value="all",d.start_date="",d.end_date=""),M()}function G(t){var e,o;if(!pe.value){fe(t);return}(o=(e=re.value)==null?void 0:e.open)==null||o.call(e,"edit",Number(t.diagnosis_id||t.id))}function fe(t){if(!_e.value){v.msgWarning("当前角色没有诊单查看权限");return}const e=j.getRoutes().find(o=>{var i;return((i=o.meta)==null?void 0:i.perms)==="tcm.diagnosis/readonlyDetail"});e!=null&&e.path?j.push({path:e.path,query:{id:String(t.diagnosis_id||t.id)}}):j.push({path:"/tcm/diagnosis-readonly",query:{id:String(t.diagnosis_id||t.id)}})}function Le(t){var e,o;(o=(e=ue.value)==null?void 0:e.open)==null||o.call(e,{...t,id:Number(t.diagnosis_id||t.id),patient_id:Number(t.diagnosis_id||t.id)})}function qe(t){const e=String((t==null?void 0:t.name)||(t==null?void 0:t.account)||`医助${(t==null?void 0:t.id)||""}`),o=String((t==null?void 0:t.dept_names)||"").trim();return o?`${e} · ${o}`:e}async function Te(){ee.value=!0;try{const t=await Wt();W.value=Array.isArray(t)?t:[]}catch(t){W.value=[],v.msgError((t==null?void 0:t.msg)||"医助列表加载失败")}finally{ee.value=!1}}async function Ue(t){I.value=t,D.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,D.is_inherit=!1,w.value=!0,W.value.length===0&&await Te()}async function Be(){var e,o;const t=Number(((e=I.value)==null?void 0:e.diagnosis_id)||((o=I.value)==null?void 0:o.id));if(t<=0){v.msgWarning("患者诊单信息不完整");return}if(!D.assistant_id){v.msgWarning("请选择医助");return}Z.value=!0;try{await Tt({id:t,assistant_id:Number(D.assistant_id),is_inherit:D.is_inherit?1:0}),v.msgSuccess("指派成功"),w.value=!1,await A()}catch(i){v.msgError((i==null?void 0:i.msg)||"指派失败")}finally{Z.value=!1}}const We={id_card:[{required:!0,validator:(t,e,o)=>{const i=String(e||"").trim();if(!i){o(new Error("请输入身份证号"));return}const u=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(i),c=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(i);o(u||c?void 0:new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]};function Qe(t){b.id=Number(t.diagnosis_id||t.id),b.patient_name=String(t.patient_name||""),b.id_card="",h.value=!0}function ze(){var t,e;b.id=0,b.patient_name="",b.id_card="",(e=(t=te.value)==null?void 0:t.clearValidate)==null||e.call(t)}async function ce(){var t,e;if(!Q.value){try{await((e=(t=te.value)==null?void 0:t.validate)==null?void 0:e.call(t))}catch{return}Q.value=!0;try{await Ut({id:b.id,id_card:b.id_card.trim()}),v.msgSuccess("补全成功,年龄已自动更新"),h.value=!1,await A()}catch(o){v.msgError((o==null?void 0:o.msg)||"补全身份证失败")}finally{Q.value=!1}}}function ve(t){return le.value&&Number(t.appointment_id)>0&&Number(t.appointment_status)===1&&Number(t.appointment_doctor_id)>0}async function ge(t){var i;if(!ve(t)){v.msgWarning("仅已挂号患者可以生成诊单二维码");return}const e=Number(t.diagnosis_id||t.id),o=Number(t.source_patient_id||t.diagnosis_id||t.id);if(e<=0||o<=0){v.msgWarning("患者诊单信息不完整");return}N.value=t,T.value=!0,U.value=!0,B.value="";try{const u=await zt();if(!(u!=null&&u.app_id))throw new Error("小程序未配置,请先配置小程序信息");const c=await Qt({diagnosis_id:e,doctor_id:Number(t.appointment_doctor_id),patient_id:o,share_user_id:((i=we.userInfo)==null?void 0:i.id)||""});if(!(c!=null&&c.qrcode_url))throw new Error("二维码生成失败");B.value=c.qrcode_url}catch(u){v.msgError((u==null?void 0:u.msg)||(u==null?void 0:u.message)||"生成二维码失败,请重试")}finally{U.value=!1}}function Ke(){N.value&&ge(N.value)}function ye(t){return Number(t.appointment_id)>0&&[1,4].includes(Number(t.appointment_status))}async function Ge(t){if(ye(t))try{await v.confirm(`确定取消“${t.patient_name||"该患者"}”的挂号吗?`),await Bt({id:Number(t.appointment_id)}),v.msgSuccess("取消挂号成功"),await z()}catch(e){e!=="cancel"&&v.msgError((e==null?void 0:e.msg)||"取消挂号失败")}}function je(t){return String(t||"患").trim().slice(0,1)}function He(t){return{1:"primary",3:"success",4:"warning"}[Number(t)]||"info"}function Xe({row:t}){return t.confirmed?Number(t.appointment_status)===4?"patient-row-missed":"":"patient-row-unconfirmed"}return Gt(()=>{A()}),(t,e)=>{const o=rt,i=ut,u=pt,c=mt,be=_t,Je=ct,Ze=ft,et=vt,$=gt,P=bt,tt=kt,at=yt,nt=Nt,lt=Dt,R=Et,st=Yt,ot=Pt,it=Rt,ke=Vt,oe=xt,dt=Ct;return p(),Y("div",Xt,[n("div",Jt,[e[18]||(e[18]=n("div",null,[n("div",{class:"eyebrow"},"一诊"),n("h1",null,"我的患者"),n("p",null,"患者、挂号与诊单信息按当前角色和部门数据范围展示")],-1)),n("div",Zt,[l(o,{effect:"plain",round:""},{default:s(()=>[m(r(me.value),1)]),_:1}),l(i,{icon:f(At),loading:$e.value,onClick:z},{default:s(()=>[...e[17]||(e[17]=[m("刷新",-1)])]),_:1},8,["icon","loading"])])]),l(lt,{class:"workspace-card",shadow:"never"},{default:s(()=>[l(c,{modelValue:y.value,"onUpdate:modelValue":e[0]||(e[0]=a=>y.value=a),class:"workspace-tabs"},{default:s(()=>[l(u,{label:"患者列表",name:"patients"}),l(u,{label:"订单管理",name:"orders"}),l(u,{label:"面诊进度",name:"progress"}),l(u,{label:"医生排班",name:"paiban"})]),_:1},8,["modelValue"]),Ee(n("div",null,[n("div",ea,[n("div",ta,[l(be,{modelValue:d.keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>d.keyword=a),class:"keyword-input",clearable:"","prefix-icon":f(De),placeholder:"患者姓名 / 手机号 / 助理 / 医生",onKeyup:Ce(se,["enter"]),onClear:se},null,8,["modelValue","prefix-icon"]),n("div",aa,[e[19]||(e[19]=n("span",{class:"filter-label"},"状态",-1)),l(Ze,{modelValue:d.status_filter,"onUpdate:modelValue":e[2]||(e[2]=a=>d.status_filter=a),onChange:Se},{default:s(()=>[(p(),Y(O,null,ie(Ie,a=>l(Je,{key:a.value,value:a.value},{default:s(()=>[m(r(a.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),l(i,{type:"primary",icon:f(De),onClick:se},{default:s(()=>[...e[20]||(e[20]=[m("查询",-1)])]),_:1},8,["icon"]),l(i,{onClick:Fe},{default:s(()=>[...e[21]||(e[21]=[m("重置",-1)])]),_:1})]),n("div",na,[e[22]||(e[22]=n("span",{class:"filter-label"},"挂号时间",-1)),n("div",la,[(p(),Y(O,null,ie(he,a=>l(i,{key:a.value,type:x.value===a.value?"primary":"default",onClick:V=>K(a.value)},{default:s(()=>[m(r(a.label),1)]),_:2},1032,["type","onClick"])),64))]),l(et,{modelValue:q.value,"onUpdate:modelValue":e[3]||(e[3]=a=>q.value=a),class:"date-range",type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:!0,onChange:Oe},null,8,["modelValue"])])]),n("div",sa,[n("button",{class:"summary-card summary-today",type:"button",onClick:e[4]||(e[4]=a=>K("today"))},[n("span",oa,[l($,null,{default:s(()=>[l(f(Ve))]),_:1})]),n("span",ia,[e[23]||(e[23]=n("small",null,"今日预约",-1)),n("strong",null,r(ae.value.today),1),e[24]||(e[24]=n("em",null,"人",-1))]),n("span",da,r(ne.value.today||"—"),1)]),n("button",{class:"summary-card summary-tomorrow",type:"button",onClick:e[5]||(e[5]=a=>K("tomorrow"))},[n("span",ra,[l($,null,{default:s(()=>[l(f(Mt))]),_:1})]),n("span",ua,[e[25]||(e[25]=n("small",null,"明日预约",-1)),n("strong",null,r(ae.value.tomorrow),1),e[26]||(e[26]=n("em",null,"人",-1))]),n("span",ma,r(ne.value.tomorrow||"—"),1)]),n("button",{class:"summary-card summary-after",type:"button",onClick:e[6]||(e[6]=a=>K("day_after"))},[n("span",pa,[l($,null,{default:s(()=>[l(f(Ve))]),_:1})]),n("span",_a,[e[27]||(e[27]=n("small",null,"后天预约",-1)),n("strong",null,r(ae.value.day_after),1),e[28]||(e[28]=n("em",null,"人",-1))]),n("span",fa,r(ne.value.day_after||"—"),1)])]),n("div",ca,[n("div",null,[e[29]||(e[29]=n("h2",null,"患者列表",-1)),n("span",null,"共 "+r(f(k).count)+" 位患者",1)]),n("span",va,[l($,null,{default:s(()=>[l(f($t))]),_:1}),m(r(me.value),1)])]),Ee((p(),g(at,{data:f(k).lists,class:"patient-table","row-class-name":Xe,onRowDblclick:G},{empty:s(()=>[l(tt,{description:"当前范围内暂无患者"})]),default:s(()=>[l(P,{label:"患者","min-width":"190",fixed:"left"},{default:s(({row:a})=>[n("div",ga,[n("span",ya,r(je(a.patient_name)),1),n("div",null,[n("strong",null,r(a.patient_name||"未命名患者"),1),n("p",null,r(a.gender_desc)+" · "+r(a.age||"—")+"岁 · "+r(a.phone_masked||"无手机号"),1)])])]),_:1}),l(P,{prop:"assistant_name",label:"归属助理","min-width":"120"}),l(P,{label:"预约医生","min-width":"150"},{default:s(({row:a})=>[n("div",ba,[n("span",null,r(a.appointment_doctor_name||"未预约"),1),a.appointment_status?(p(),g(o,{key:0,size:"small",type:He(a.appointment_status),effect:"light"},{default:s(()=>[m(r(a.appointment_status_text),1)]),_:2},1032,["type"])):C("",!0)])]),_:1}),l(P,{label:"预约时间","min-width":"165"},{default:s(({row:a})=>[n("span",{class:jt(["appointment-time",{empty:!a.appointment_time_text}])},r(a.appointment_time_text||"暂无预约"),3)]),_:1}),l(P,{label:"复诊次数",width:"105",align:"center"},{default:s(({row:a})=>[n("span",ka,r(a.revisit_count||0)+" 次",1)]),_:1}),l(P,{label:"确认信息",width:"110",align:"center"},{default:s(({row:a})=>[l(o,{size:"small",type:a.confirmed?"success":"warning",effect:"light"},{default:s(()=>[m(r(a.confirmation_text),1)]),_:2},1032,["type"])]),_:1}),l(P,{label:"诊单日期",width:"118"},{default:s(({row:a})=>[m(r(a.diagnosis_date_text||"—"),1)]),_:1}),l(P,{label:"操作","min-width":"430",fixed:"right"},{default:s(({row:a})=>[n("div",Ca,[pe.value?(p(),g(i,{key:0,type:"primary",link:"",onClick:V=>G(a)},{default:s(()=>[...e[30]||(e[30]=[m("诊单",-1)])]),_:1},8,["onClick"])):_e.value?(p(),g(i,{key:1,type:"primary",link:"",onClick:V=>fe(a)},{default:s(()=>[...e[31]||(e[31]=[m("查看",-1)])]),_:1},8,["onClick"])):C("",!0),le.value?(p(),g(i,{key:2,type:"primary",link:"",onClick:V=>Le(a)},{default:s(()=>[...e[32]||(e[32]=[m("预约",-1)])]),_:1},8,["onClick"])):C("",!0),Ae.value?(p(),g(i,{key:3,type:"warning",link:"",onClick:V=>Ue(a)},{default:s(()=>[m(r(Number(a.assistant_id)>0?"重新指派":"指派"),1)]),_:2},1032,["onClick"])):C("",!0),Me.value&&!Number(a.has_id_card)?(p(),g(i,{key:4,type:"warning",link:"",onClick:V=>Qe(a)},{default:s(()=>[...e[33]||(e[33]=[m(" 补全身份证 ",-1)])]),_:1},8,["onClick"])):C("",!0),ve(a)?(p(),g(i,{key:5,type:"primary",link:"",onClick:V=>ge(a)},{default:s(()=>[...e[34]||(e[34]=[m(" 诊单二维码 ",-1)])]),_:1},8,["onClick"])):C("",!0),le.value&&ye(a)?(p(),g(i,{key:6,type:"danger",link:"",onClick:V=>Ge(a)},{default:s(()=>[...e[35]||(e[35]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])):C("",!0)])]),_:1})]),_:1},8,["data"])),[[dt,f(k).loading]]),n("div",Da,[l(nt,{modelValue:f(k),"onUpdate:modelValue":e[7]||(e[7]=a=>Ht(k)?k.value=a:null),onChange:f(A)},null,8,["modelValue","onChange"])])],512),[[wt,y.value==="patients"]]),y.value==="orders"?(p(),g(f(Re),{key:0,ref_key:"orderPanelRef",ref:H,onOpenDiagnosis:G},null,512)):C("",!0),y.value==="progress"?(p(),g(f(xe),{key:1,ref_key:"progressPanelRef",ref:X,onOpenDiagnosis:G},null,512)):C("",!0),y.value==="paiban"?(p(),g(f(Ne),{key:2,ref_key:"paibanPanelRef",ref:J},null,512)):C("",!0)]),_:1}),l(f(Pe),{ref_key:"editRef",ref:re,onSuccess:z},null,512),l(f(Ye),{ref_key:"appointmentRef",ref:ue,"api-scene":"my_patient",onSuccess:z},null,512),l(oe,{modelValue:w.value,"onUpdate:modelValue":e[11]||(e[11]=a=>w.value=a),title:"指派医助",width:"500px","close-on-click-modal":!1},{footer:s(()=>[l(i,{onClick:e[10]||(e[10]=a=>w.value=!1)},{default:s(()=>[...e[38]||(e[38]=[m("取消",-1)])]),_:1}),l(i,{type:"primary",loading:Z.value,onClick:Be},{default:s(()=>[...e[39]||(e[39]=[m("确定指派",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ke,{model:D,"label-width":"88px"},{default:s(()=>[l(R,{label:"患者"},{default:s(()=>{var a;return[n("span",Va,r(((a=I.value)==null?void 0:a.patient_name)||"—"),1)]}),_:1}),l(R,{label:"当前助理"},{default:s(()=>{var a;return[n("span",null,r(((a=I.value)==null?void 0:a.assistant_name)||"未分配"),1)]}),_:1}),l(R,{label:"选择医助",required:""},{default:s(()=>[l(ot,{modelValue:D.assistant_id,"onUpdate:modelValue":e[8]||(e[8]=a=>D.assistant_id=a),class:"dialog-full-width",filterable:"",clearable:"",loading:ee.value,placeholder:"请选择当前范围内的医助"},{default:s(()=>[(p(!0),Y(O,null,ie(W.value,a=>(p(),g(st,{key:a.id,label:qe(a),value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),l(R,{label:"继承"},{default:s(()=>[n("div",Ea,[l(it,{modelValue:D.is_inherit,"onUpdate:modelValue":e[9]||(e[9]=a=>D.is_inherit=a)},{default:s(()=>[...e[36]||(e[36]=[m("作为继承指派",-1)])]),_:1},8,["modelValue"]),e[37]||(e[37]=n("small",null,"用于区分继承关系,指派操作仍会完整记录。",-1))])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(oe,{modelValue:h.value,"onUpdate:modelValue":e[14]||(e[14]=a=>h.value=a),title:"补全身份证号",width:"430px","close-on-click-modal":!1,onClosed:ze},{footer:s(()=>[l(i,{onClick:e[13]||(e[13]=a=>h.value=!1)},{default:s(()=>[...e[40]||(e[40]=[m("取消",-1)])]),_:1}),l(i,{type:"primary",loading:Q.value,onClick:ce},{default:s(()=>[...e[41]||(e[41]=[m(" 提交并更新年龄 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ke,{ref_key:"fillIdCardFormRef",ref:te,model:b,rules:We,"label-width":"88px"},{default:s(()=>[l(R,{label:"患者"},{default:s(()=>[n("span",Pa,r(b.patient_name||"—"),1)]),_:1}),l(R,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(be,{modelValue:b.id_card,"onUpdate:modelValue":e[12]||(e[12]=a=>b.id_card=a),maxlength:"18",clearable:"","show-word-limit":"",placeholder:"请输入15或18位身份证号",onKeyup:Ce(ce,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(oe,{modelValue:T.value,"onUpdate:modelValue":e[16]||(e[16]=a=>T.value=a),title:"诊单二维码",width:"400px","close-on-click-modal":!1},{footer:s(()=>[l(i,{onClick:e[15]||(e[15]=a=>T.value=!1)},{default:s(()=>[...e[44]||(e[44]=[m("关闭",-1)])]),_:1}),U.value?C("",!0):(p(),g(i,{key:0,type:"primary",onClick:Ke},{default:s(()=>[...e[45]||(e[45]=[m("重新生成",-1)])]),_:1}))]),default:s(()=>{var a,V;return[n("div",Ya,[U.value?(p(),Y(O,{key:0},[l($,{class:"is-loading",size:40},{default:s(()=>[l(f(St))]),_:1}),e[42]||(e[42]=n("span",null,"二维码生成中...",-1))],64)):B.value?(p(),Y(O,{key:1},[n("img",{src:B.value,alt:"诊单二维码",class:"qrcode-image"},null,8,Ra),n("div",xa,[n("div",null,"患者:"+r(((a=N.value)==null?void 0:a.patient_name)||"—"),1),n("div",null,"挂号时间:"+r(((V=N.value)==null?void 0:V.appointment_time_text)||"—"),1),e[43]||(e[43]=n("div",null,"请使用企业微信扫描二维码,然后转发给患者",-1))])],64)):(p(),Y("span",Na,"生成失败,请重试"))])]}),_:1},8,["modelValue"])])}}}),Vn=Lt(wa,[["__scopeId","data-v-b5e672d5"]]);export{Vn as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/appointment-CWzTZ9VV.js","assets/first_visit-lwfDQsu4.js","assets/appointment-JDceTxKO.css","assets/OrderPanel-BxRj5r_p.js","assets/OrderActionHost-C510XVGT.js","assets/OrderActionHost-MCeToytn.css","assets/OrderPanel-BiwYHoSA.css","assets/ProgressPanel-Cz93PB3z.js","assets/ProgressPanel-DAF-FohF.css","assets/PaibanPanel-2RDEzQLo.js","assets/PaibanPanel-aqm8azGc.css"])))=>i.map(i=>d[i]); +import{_ as S}from"./jspdf-BsthCvR5.js";import{U as rt,i as ut,m as mt,l as pt,C as _t,G as ft,F as ct,S as vt,d as gt,N as yt,O as bt,X as kt,M as Ct,K as Dt,D as Vt,B as Et,Q as Pt,R as Yt,H as Rt,W as xt}from"./element-plus-DGP1XOrU.js";import{_ as Nt}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as Ce,q as wt}from"./@vue/runtime-dom-DDAG46FW.js";import{a as It}from"./vue-router-QlpZ4wdW.js";import{d as ht}from"./dayjs-DG77mNTn.js";import{M as At,O as De,k as Ve,j as Mt,a8 as $t,l as St}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as Ft}from"./usePaging-DofycyjW.js";import{h as F}from"./perm-8cp9D7Ag.js";import{u as Ot,k as v,_ as Lt}from"./index-J_eFER10.js";import{s as qt,t as Tt,u as Ut,v as Bt,w as Wt}from"./first_visit-lwfDQsu4.js";import{W as Qt}from"./tcm-D-ZRccbe.js";import{g as zt}from"./weapp-CBd1nTel.js";import{f as Kt,b as Gt,ak as p,I as Y,J as n,a as l,aN as s,O as m,aP as Ee,F as O,ap as ie,G as g,H as C,P as L,A as E}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r,o as jt}from"./@vue/shared-mAAVTE9n.js";import{y as f,a as Ht,n as _,r as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Xt={class:"my-patients-page"},Jt={class:"page-heading"},Zt={class:"heading-actions"},ea={class:"filter-panel"},ta={class:"filter-row filter-row-main"},aa={class:"filter-group status-group"},na={class:"filter-row date-filter-row"},la={class:"quick-dates"},sa={class:"summary-grid"},oa={class:"summary-icon"},ia={class:"summary-copy"},da={class:"summary-date"},ra={class:"summary-icon"},ua={class:"summary-copy"},ma={class:"summary-date"},pa={class:"summary-icon"},_a={class:"summary-copy"},fa={class:"summary-date"},ca={class:"table-heading"},va={class:"table-scope"},ga={class:"patient-cell"},ya={class:"patient-avatar"},ba={class:"doctor-cell"},ka={class:"revisit-count"},Ca={class:"row-actions"},Da={class:"pagination-wrap"},Va={class:"dialog-patient-name"},Ea={class:"inherit-field"},Pa={class:"dialog-patient-name"},Ya={class:"qrcode-body"},Ra=["src"],xa={class:"qrcode-meta"},Na={key:2,class:"qrcode-error"},wa=Kt({__name:"index",setup(Ia){const Pe=L(()=>S(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),Ye=L(()=>S(()=>import("./appointment-CWzTZ9VV.js"),__vite__mapDeps([104,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,105,106]))),Re=L(()=>S(()=>import("./OrderPanel-BxRj5r_p.js"),__vite__mapDeps([107,1,2,3,4,5,6,7,8,9,10,11,12,13,14,48,55,105,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,108,89,15,90,91,42,109,110]))),xe=L(()=>S(()=>import("./ProgressPanel-Cz93PB3z.js"),__vite__mapDeps([111,1,2,3,4,5,6,7,8,9,10,11,12,13,14,48,55,105,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,112]))),Ne=L(()=>S(()=>import("./PaibanPanel-2RDEzQLo.js"),__vite__mapDeps([113,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,114]))),j=It(),we=Ot(),y=_("patients"),x=_("all"),q=_([]),re=_(),ue=_(),H=_(),X=_(),J=_(),T=_(!1),U=_(!1),B=_(""),N=_(null),w=_(!1),Z=_(!1),ee=_(!1),W=_([]),I=_(null),D=de({assistant_id:null,is_inherit:!1}),h=_(!1),Q=_(!1),te=_(),b=de({id:0,patient_name:"",id_card:""}),d=de({keyword:"",status_filter:"",start_date:"",end_date:""}),Ie=[{label:"全部",value:""},{label:"未预约",value:"unbooked"},{label:"待面诊",value:"pending_interview"},{label:"已完成",value:"completed"},{label:"已过号",value:"missed"}],he=[{label:"全部时间",value:"all"},{label:"昨天",value:"yesterday"},{label:"今日预约",value:"today"},{label:"明日",value:"tomorrow"},{label:"后天",value:"day_after"},{label:"近7天",value:"last7"},{label:"近30天",value:"last30"}],{pager:k,getLists:A,resetPage:M}=Ft({fetchFun:qt,params:d,size:15,firstLoading:!0}),ae=E(()=>{var t,e,o,i,u,c;return{today:Number(((e=(t=k.extend)==null?void 0:t.summary)==null?void 0:e.today)||0),tomorrow:Number(((i=(o=k.extend)==null?void 0:o.summary)==null?void 0:i.tomorrow)||0),day_after:Number(((c=(u=k.extend)==null?void 0:u.summary)==null?void 0:c.day_after)||0)}}),ne=E(()=>{var t;return((t=k.extend)==null?void 0:t.dates)||{}}),me=E(()=>{var t,e;return((e=(t=k.extend)==null?void 0:t.scope)==null?void 0:e.label)||"按权限加载"}),pe=E(()=>F(["tcm.diagnosis/edit"])),_e=E(()=>F(["tcm.diagnosis/readonlyDetail"])),le=E(()=>F(["tcm.diagnosis/guahao"])),Ae=E(()=>F(["tcm.diagnosis/assign"])),Me=E(()=>F(["tcm.diagnosis/edit"])),$e=E(()=>{var t,e,o;return y.value==="orders"?!!((t=H.value)!=null&&t.loading):y.value==="progress"?!!((e=X.value)!=null&&e.loading):y.value==="paiban"?!!((o=J.value)!=null&&o.loading):k.loading});function se(){M()}function Se(){M()}function z(){var t,e,o,i,u,c;return y.value==="orders"?(e=(t=H.value)==null?void 0:t.refresh)==null?void 0:e.call(t):y.value==="progress"?(i=(o=X.value)==null?void 0:o.refresh)==null?void 0:i.call(o):y.value==="paiban"?(c=(u=J.value)==null?void 0:u.refresh)==null?void 0:c.call(u):A()}function Fe(){d.keyword="",d.status_filter="",d.start_date="",d.end_date="",x.value="all",q.value=[],M()}function K(t){x.value=t,q.value=[];const e=ht();t==="all"?(d.start_date="",d.end_date=""):t==="yesterday"?(d.start_date=e.subtract(1,"day").format("YYYY-MM-DD"),d.end_date=d.start_date):t==="today"?(d.start_date=e.format("YYYY-MM-DD"),d.end_date=d.start_date):t==="tomorrow"?(d.start_date=e.add(1,"day").format("YYYY-MM-DD"),d.end_date=d.start_date):t==="day_after"?(d.start_date=e.add(2,"day").format("YYYY-MM-DD"),d.end_date=d.start_date):t==="last7"?(d.start_date=e.subtract(6,"day").format("YYYY-MM-DD"),d.end_date=e.format("YYYY-MM-DD")):t==="last30"&&(d.start_date=e.subtract(29,"day").format("YYYY-MM-DD"),d.end_date=e.format("YYYY-MM-DD")),M()}function Oe(t){t!=null&&t.length?(x.value="custom",d.start_date=t[0]||"",d.end_date=t[1]||t[0]||""):(x.value="all",d.start_date="",d.end_date=""),M()}function G(t){var e,o;if(!pe.value){fe(t);return}(o=(e=re.value)==null?void 0:e.open)==null||o.call(e,"edit",Number(t.diagnosis_id||t.id))}function fe(t){if(!_e.value){v.msgWarning("当前角色没有诊单查看权限");return}const e=j.getRoutes().find(o=>{var i;return((i=o.meta)==null?void 0:i.perms)==="tcm.diagnosis/readonlyDetail"});e!=null&&e.path?j.push({path:e.path,query:{id:String(t.diagnosis_id||t.id)}}):j.push({path:"/tcm/diagnosis-readonly",query:{id:String(t.diagnosis_id||t.id)}})}function Le(t){var e,o;(o=(e=ue.value)==null?void 0:e.open)==null||o.call(e,{...t,id:Number(t.diagnosis_id||t.id),patient_id:Number(t.diagnosis_id||t.id)})}function qe(t){const e=String((t==null?void 0:t.name)||(t==null?void 0:t.account)||`医助${(t==null?void 0:t.id)||""}`),o=String((t==null?void 0:t.dept_names)||"").trim();return o?`${e} · ${o}`:e}async function Te(){ee.value=!0;try{const t=await Wt();W.value=Array.isArray(t)?t:[]}catch(t){W.value=[],v.msgError((t==null?void 0:t.msg)||"医助列表加载失败")}finally{ee.value=!1}}async function Ue(t){I.value=t,D.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,D.is_inherit=!1,w.value=!0,W.value.length===0&&await Te()}async function Be(){var e,o;const t=Number(((e=I.value)==null?void 0:e.diagnosis_id)||((o=I.value)==null?void 0:o.id));if(t<=0){v.msgWarning("患者诊单信息不完整");return}if(!D.assistant_id){v.msgWarning("请选择医助");return}Z.value=!0;try{await Tt({id:t,assistant_id:Number(D.assistant_id),is_inherit:D.is_inherit?1:0}),v.msgSuccess("指派成功"),w.value=!1,await A()}catch(i){v.msgError((i==null?void 0:i.msg)||"指派失败")}finally{Z.value=!1}}const We={id_card:[{required:!0,validator:(t,e,o)=>{const i=String(e||"").trim();if(!i){o(new Error("请输入身份证号"));return}const u=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(i),c=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(i);o(u||c?void 0:new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]};function Qe(t){b.id=Number(t.diagnosis_id||t.id),b.patient_name=String(t.patient_name||""),b.id_card="",h.value=!0}function ze(){var t,e;b.id=0,b.patient_name="",b.id_card="",(e=(t=te.value)==null?void 0:t.clearValidate)==null||e.call(t)}async function ce(){var t,e;if(!Q.value){try{await((e=(t=te.value)==null?void 0:t.validate)==null?void 0:e.call(t))}catch{return}Q.value=!0;try{await Ut({id:b.id,id_card:b.id_card.trim()}),v.msgSuccess("补全成功,年龄已自动更新"),h.value=!1,await A()}catch(o){v.msgError((o==null?void 0:o.msg)||"补全身份证失败")}finally{Q.value=!1}}}function ve(t){return le.value&&Number(t.appointment_id)>0&&Number(t.appointment_status)===1&&Number(t.appointment_doctor_id)>0}async function ge(t){var i;if(!ve(t)){v.msgWarning("仅已挂号患者可以生成诊单二维码");return}const e=Number(t.diagnosis_id||t.id),o=Number(t.source_patient_id||t.diagnosis_id||t.id);if(e<=0||o<=0){v.msgWarning("患者诊单信息不完整");return}N.value=t,T.value=!0,U.value=!0,B.value="";try{const u=await zt();if(!(u!=null&&u.app_id))throw new Error("小程序未配置,请先配置小程序信息");const c=await Qt({diagnosis_id:e,doctor_id:Number(t.appointment_doctor_id),patient_id:o,share_user_id:((i=we.userInfo)==null?void 0:i.id)||""});if(!(c!=null&&c.qrcode_url))throw new Error("二维码生成失败");B.value=c.qrcode_url}catch(u){v.msgError((u==null?void 0:u.msg)||(u==null?void 0:u.message)||"生成二维码失败,请重试")}finally{U.value=!1}}function Ke(){N.value&&ge(N.value)}function ye(t){return Number(t.appointment_id)>0&&[1,4].includes(Number(t.appointment_status))}async function Ge(t){if(ye(t))try{await v.confirm(`确定取消“${t.patient_name||"该患者"}”的挂号吗?`),await Bt({id:Number(t.appointment_id)}),v.msgSuccess("取消挂号成功"),await z()}catch(e){e!=="cancel"&&v.msgError((e==null?void 0:e.msg)||"取消挂号失败")}}function je(t){return String(t||"患").trim().slice(0,1)}function He(t){return{1:"primary",3:"success",4:"warning"}[Number(t)]||"info"}function Xe({row:t}){return t.confirmed?Number(t.appointment_status)===4?"patient-row-missed":"":"patient-row-unconfirmed"}return Gt(()=>{A()}),(t,e)=>{const o=rt,i=ut,u=pt,c=mt,be=_t,Je=ct,Ze=ft,et=vt,$=gt,P=bt,tt=kt,at=yt,nt=Nt,lt=Dt,R=Et,st=Yt,ot=Pt,it=Rt,ke=Vt,oe=xt,dt=Ct;return p(),Y("div",Xt,[n("div",Jt,[e[18]||(e[18]=n("div",null,[n("div",{class:"eyebrow"},"一诊"),n("h1",null,"我的患者"),n("p",null,"患者、挂号与诊单信息按当前角色和部门数据范围展示")],-1)),n("div",Zt,[l(o,{effect:"plain",round:""},{default:s(()=>[m(r(me.value),1)]),_:1}),l(i,{icon:f(At),loading:$e.value,onClick:z},{default:s(()=>[...e[17]||(e[17]=[m("刷新",-1)])]),_:1},8,["icon","loading"])])]),l(lt,{class:"workspace-card",shadow:"never"},{default:s(()=>[l(c,{modelValue:y.value,"onUpdate:modelValue":e[0]||(e[0]=a=>y.value=a),class:"workspace-tabs"},{default:s(()=>[l(u,{label:"患者列表",name:"patients"}),l(u,{label:"订单管理",name:"orders"}),l(u,{label:"面诊进度",name:"progress"}),l(u,{label:"医生排班",name:"paiban"})]),_:1},8,["modelValue"]),Ee(n("div",null,[n("div",ea,[n("div",ta,[l(be,{modelValue:d.keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>d.keyword=a),class:"keyword-input",clearable:"","prefix-icon":f(De),placeholder:"患者姓名 / 手机号 / 助理 / 医生",onKeyup:Ce(se,["enter"]),onClear:se},null,8,["modelValue","prefix-icon"]),n("div",aa,[e[19]||(e[19]=n("span",{class:"filter-label"},"状态",-1)),l(Ze,{modelValue:d.status_filter,"onUpdate:modelValue":e[2]||(e[2]=a=>d.status_filter=a),onChange:Se},{default:s(()=>[(p(),Y(O,null,ie(Ie,a=>l(Je,{key:a.value,value:a.value},{default:s(()=>[m(r(a.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),l(i,{type:"primary",icon:f(De),onClick:se},{default:s(()=>[...e[20]||(e[20]=[m("查询",-1)])]),_:1},8,["icon"]),l(i,{onClick:Fe},{default:s(()=>[...e[21]||(e[21]=[m("重置",-1)])]),_:1})]),n("div",na,[e[22]||(e[22]=n("span",{class:"filter-label"},"挂号时间",-1)),n("div",la,[(p(),Y(O,null,ie(he,a=>l(i,{key:a.value,type:x.value===a.value?"primary":"default",onClick:V=>K(a.value)},{default:s(()=>[m(r(a.label),1)]),_:2},1032,["type","onClick"])),64))]),l(et,{modelValue:q.value,"onUpdate:modelValue":e[3]||(e[3]=a=>q.value=a),class:"date-range",type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:!0,onChange:Oe},null,8,["modelValue"])])]),n("div",sa,[n("button",{class:"summary-card summary-today",type:"button",onClick:e[4]||(e[4]=a=>K("today"))},[n("span",oa,[l($,null,{default:s(()=>[l(f(Ve))]),_:1})]),n("span",ia,[e[23]||(e[23]=n("small",null,"今日预约",-1)),n("strong",null,r(ae.value.today),1),e[24]||(e[24]=n("em",null,"人",-1))]),n("span",da,r(ne.value.today||"—"),1)]),n("button",{class:"summary-card summary-tomorrow",type:"button",onClick:e[5]||(e[5]=a=>K("tomorrow"))},[n("span",ra,[l($,null,{default:s(()=>[l(f(Mt))]),_:1})]),n("span",ua,[e[25]||(e[25]=n("small",null,"明日预约",-1)),n("strong",null,r(ae.value.tomorrow),1),e[26]||(e[26]=n("em",null,"人",-1))]),n("span",ma,r(ne.value.tomorrow||"—"),1)]),n("button",{class:"summary-card summary-after",type:"button",onClick:e[6]||(e[6]=a=>K("day_after"))},[n("span",pa,[l($,null,{default:s(()=>[l(f(Ve))]),_:1})]),n("span",_a,[e[27]||(e[27]=n("small",null,"后天预约",-1)),n("strong",null,r(ae.value.day_after),1),e[28]||(e[28]=n("em",null,"人",-1))]),n("span",fa,r(ne.value.day_after||"—"),1)])]),n("div",ca,[n("div",null,[e[29]||(e[29]=n("h2",null,"患者列表",-1)),n("span",null,"共 "+r(f(k).count)+" 位患者",1)]),n("span",va,[l($,null,{default:s(()=>[l(f($t))]),_:1}),m(r(me.value),1)])]),Ee((p(),g(at,{data:f(k).lists,class:"patient-table","row-class-name":Xe,onRowDblclick:G},{empty:s(()=>[l(tt,{description:"当前范围内暂无患者"})]),default:s(()=>[l(P,{label:"患者","min-width":"190",fixed:"left"},{default:s(({row:a})=>[n("div",ga,[n("span",ya,r(je(a.patient_name)),1),n("div",null,[n("strong",null,r(a.patient_name||"未命名患者"),1),n("p",null,r(a.gender_desc)+" · "+r(a.age||"—")+"岁 · "+r(a.phone_masked||"无手机号"),1)])])]),_:1}),l(P,{prop:"assistant_name",label:"归属助理","min-width":"120"}),l(P,{label:"预约医生","min-width":"150"},{default:s(({row:a})=>[n("div",ba,[n("span",null,r(a.appointment_doctor_name||"未预约"),1),a.appointment_status?(p(),g(o,{key:0,size:"small",type:He(a.appointment_status),effect:"light"},{default:s(()=>[m(r(a.appointment_status_text),1)]),_:2},1032,["type"])):C("",!0)])]),_:1}),l(P,{label:"预约时间","min-width":"165"},{default:s(({row:a})=>[n("span",{class:jt(["appointment-time",{empty:!a.appointment_time_text}])},r(a.appointment_time_text||"暂无预约"),3)]),_:1}),l(P,{label:"复诊次数",width:"105",align:"center"},{default:s(({row:a})=>[n("span",ka,r(a.revisit_count||0)+" 次",1)]),_:1}),l(P,{label:"确认信息",width:"110",align:"center"},{default:s(({row:a})=>[l(o,{size:"small",type:a.confirmed?"success":"warning",effect:"light"},{default:s(()=>[m(r(a.confirmation_text),1)]),_:2},1032,["type"])]),_:1}),l(P,{label:"诊单日期",width:"118"},{default:s(({row:a})=>[m(r(a.diagnosis_date_text||"—"),1)]),_:1}),l(P,{label:"操作","min-width":"430",fixed:"right"},{default:s(({row:a})=>[n("div",Ca,[pe.value?(p(),g(i,{key:0,type:"primary",link:"",onClick:V=>G(a)},{default:s(()=>[...e[30]||(e[30]=[m("诊单",-1)])]),_:1},8,["onClick"])):_e.value?(p(),g(i,{key:1,type:"primary",link:"",onClick:V=>fe(a)},{default:s(()=>[...e[31]||(e[31]=[m("查看",-1)])]),_:1},8,["onClick"])):C("",!0),le.value?(p(),g(i,{key:2,type:"primary",link:"",onClick:V=>Le(a)},{default:s(()=>[...e[32]||(e[32]=[m("预约",-1)])]),_:1},8,["onClick"])):C("",!0),Ae.value?(p(),g(i,{key:3,type:"warning",link:"",onClick:V=>Ue(a)},{default:s(()=>[m(r(Number(a.assistant_id)>0?"重新指派":"指派"),1)]),_:2},1032,["onClick"])):C("",!0),Me.value&&!Number(a.has_id_card)?(p(),g(i,{key:4,type:"warning",link:"",onClick:V=>Qe(a)},{default:s(()=>[...e[33]||(e[33]=[m(" 补全身份证 ",-1)])]),_:1},8,["onClick"])):C("",!0),ve(a)?(p(),g(i,{key:5,type:"primary",link:"",onClick:V=>ge(a)},{default:s(()=>[...e[34]||(e[34]=[m(" 诊单二维码 ",-1)])]),_:1},8,["onClick"])):C("",!0),le.value&&ye(a)?(p(),g(i,{key:6,type:"danger",link:"",onClick:V=>Ge(a)},{default:s(()=>[...e[35]||(e[35]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])):C("",!0)])]),_:1})]),_:1},8,["data"])),[[dt,f(k).loading]]),n("div",Da,[l(nt,{modelValue:f(k),"onUpdate:modelValue":e[7]||(e[7]=a=>Ht(k)?k.value=a:null),onChange:f(A)},null,8,["modelValue","onChange"])])],512),[[wt,y.value==="patients"]]),y.value==="orders"?(p(),g(f(Re),{key:0,ref_key:"orderPanelRef",ref:H,onOpenDiagnosis:G},null,512)):C("",!0),y.value==="progress"?(p(),g(f(xe),{key:1,ref_key:"progressPanelRef",ref:X,onOpenDiagnosis:G},null,512)):C("",!0),y.value==="paiban"?(p(),g(f(Ne),{key:2,ref_key:"paibanPanelRef",ref:J},null,512)):C("",!0)]),_:1}),l(f(Pe),{ref_key:"editRef",ref:re,onSuccess:z},null,512),l(f(Ye),{ref_key:"appointmentRef",ref:ue,"api-scene":"my_patient",onSuccess:z},null,512),l(oe,{modelValue:w.value,"onUpdate:modelValue":e[11]||(e[11]=a=>w.value=a),title:"指派医助",width:"500px","close-on-click-modal":!1},{footer:s(()=>[l(i,{onClick:e[10]||(e[10]=a=>w.value=!1)},{default:s(()=>[...e[38]||(e[38]=[m("取消",-1)])]),_:1}),l(i,{type:"primary",loading:Z.value,onClick:Be},{default:s(()=>[...e[39]||(e[39]=[m("确定指派",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ke,{model:D,"label-width":"88px"},{default:s(()=>[l(R,{label:"患者"},{default:s(()=>{var a;return[n("span",Va,r(((a=I.value)==null?void 0:a.patient_name)||"—"),1)]}),_:1}),l(R,{label:"当前助理"},{default:s(()=>{var a;return[n("span",null,r(((a=I.value)==null?void 0:a.assistant_name)||"未分配"),1)]}),_:1}),l(R,{label:"选择医助",required:""},{default:s(()=>[l(ot,{modelValue:D.assistant_id,"onUpdate:modelValue":e[8]||(e[8]=a=>D.assistant_id=a),class:"dialog-full-width",filterable:"",clearable:"",loading:ee.value,placeholder:"请选择当前范围内的医助"},{default:s(()=>[(p(!0),Y(O,null,ie(W.value,a=>(p(),g(st,{key:a.id,label:qe(a),value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),l(R,{label:"继承"},{default:s(()=>[n("div",Ea,[l(it,{modelValue:D.is_inherit,"onUpdate:modelValue":e[9]||(e[9]=a=>D.is_inherit=a)},{default:s(()=>[...e[36]||(e[36]=[m("作为继承指派",-1)])]),_:1},8,["modelValue"]),e[37]||(e[37]=n("small",null,"用于区分继承关系,指派操作仍会完整记录。",-1))])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(oe,{modelValue:h.value,"onUpdate:modelValue":e[14]||(e[14]=a=>h.value=a),title:"补全身份证号",width:"430px","close-on-click-modal":!1,onClosed:ze},{footer:s(()=>[l(i,{onClick:e[13]||(e[13]=a=>h.value=!1)},{default:s(()=>[...e[40]||(e[40]=[m("取消",-1)])]),_:1}),l(i,{type:"primary",loading:Q.value,onClick:ce},{default:s(()=>[...e[41]||(e[41]=[m(" 提交并更新年龄 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ke,{ref_key:"fillIdCardFormRef",ref:te,model:b,rules:We,"label-width":"88px"},{default:s(()=>[l(R,{label:"患者"},{default:s(()=>[n("span",Pa,r(b.patient_name||"—"),1)]),_:1}),l(R,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(be,{modelValue:b.id_card,"onUpdate:modelValue":e[12]||(e[12]=a=>b.id_card=a),maxlength:"18",clearable:"","show-word-limit":"",placeholder:"请输入15或18位身份证号",onKeyup:Ce(ce,["enter"])},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(oe,{modelValue:T.value,"onUpdate:modelValue":e[16]||(e[16]=a=>T.value=a),title:"诊单二维码",width:"400px","close-on-click-modal":!1},{footer:s(()=>[l(i,{onClick:e[15]||(e[15]=a=>T.value=!1)},{default:s(()=>[...e[44]||(e[44]=[m("关闭",-1)])]),_:1}),U.value?C("",!0):(p(),g(i,{key:0,type:"primary",onClick:Ke},{default:s(()=>[...e[45]||(e[45]=[m("重新生成",-1)])]),_:1}))]),default:s(()=>{var a,V;return[n("div",Ya,[U.value?(p(),Y(O,{key:0},[l($,{class:"is-loading",size:40},{default:s(()=>[l(f(St))]),_:1}),e[42]||(e[42]=n("span",null,"二维码生成中...",-1))],64)):B.value?(p(),Y(O,{key:1},[n("img",{src:B.value,alt:"诊单二维码",class:"qrcode-image"},null,8,Ra),n("div",xa,[n("div",null,"患者:"+r(((a=N.value)==null?void 0:a.patient_name)||"—"),1),n("div",null,"挂号时间:"+r(((V=N.value)==null?void 0:V.appointment_time_text)||"—"),1),e[43]||(e[43]=n("div",null,"请使用企业微信扫描二维码,然后转发给患者",-1))])],64)):(p(),Y("span",Na,"生成失败,请重试"))])]}),_:1},8,["modelValue"])])}}}),Vn=Lt(wa,[["__scopeId","data-v-b5e672d5"]]);export{Vn as default}; diff --git a/server/public/admin/assets/index-DM8wou5M.js b/server/public/admin/assets/index-CsdJJZcj.js similarity index 87% rename from server/public/admin/assets/index-DM8wou5M.js rename to server/public/admin/assets/index-CsdJJZcj.js index d46bb1e49..eead8123c 100644 --- a/server/public/admin/assets/index-DM8wou5M.js +++ b/server/public/admin/assets/index-CsdJJZcj.js @@ -1 +1 @@ -import{M as C,N as h,O as E,U as x,i as B,K as L}from"./element-plus-DGP1XOrU.js";import{d as N}from"./message-DOlfHejJ.js";import{_ as T}from"./edit.vue_vue_type_script_setup_true_lang-BbtSbzTO.js";import{f as u,as as R,ak as i,I as D,aP as c,G as a,aN as o,a as r,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,q as O,r as S}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const V=u({name:"shortLetter"}),ht=u({...V,setup($){const p=O(),e=S({loading:!1,lists:[]}),d=async()=>{try{e.loading=!0,e.lists=await N(),e.loading=!1}catch{e.loading=!1}},g=s=>{var t;(t=p.value)==null||t.open(s)};return d(),(s,t)=>{const m=E,_=x,v=B,k=h,y=L,b=R("perms"),w=C;return i(),D("div",null,[c((i(),a(y,{class:"!border-none",shadow:"never"},{default:o(()=>[r(k,{size:"large",data:f(e).lists},{default:o(()=>[r(m,{label:"短信渠道",prop:"name","min-width":"120"}),r(m,{label:"状态","min-width":"120"},{default:o(({row:n})=>[n.status==1?(i(),a(_,{key:0},{default:o(()=>[...t[0]||(t[0]=[l("开启",-1)])]),_:1})):(i(),a(_,{key:1,type:"danger"},{default:o(()=>[...t[1]||(t[1]=[l("关闭",-1)])]),_:1}))]),_:1}),r(m,{label:"操作","min-width":"120",fixed:"right"},{default:o(({row:n})=>[c((i(),a(v,{type:"primary",link:"",onClick:q=>g(n.type)},{default:o(()=>[...t[2]||(t[2]=[l(" 设置 ",-1)])]),_:1},8,["onClick"])),[[b,["notice.sms_config/setConfig"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[w,f(e).loading]]),r(T,{ref_key:"editRef",ref:p,onSuccess:d},null,512)])}}});export{ht as default}; +import{M as C,N as h,O as E,U as x,i as B,K as L}from"./element-plus-DGP1XOrU.js";import{d as N}from"./message-BwLlJSkW.js";import{_ as T}from"./edit.vue_vue_type_script_setup_true_lang-Csd8PIFD.js";import{f as u,as as R,ak as i,I as D,aP as c,G as a,aN as o,a as r,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,q as O,r as S}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const V=u({name:"shortLetter"}),ht=u({...V,setup($){const p=O(),e=S({loading:!1,lists:[]}),d=async()=>{try{e.loading=!0,e.lists=await N(),e.loading=!1}catch{e.loading=!1}},g=s=>{var t;(t=p.value)==null||t.open(s)};return d(),(s,t)=>{const m=E,_=x,v=B,k=h,y=L,b=R("perms"),w=C;return i(),D("div",null,[c((i(),a(y,{class:"!border-none",shadow:"never"},{default:o(()=>[r(k,{size:"large",data:f(e).lists},{default:o(()=>[r(m,{label:"短信渠道",prop:"name","min-width":"120"}),r(m,{label:"状态","min-width":"120"},{default:o(({row:n})=>[n.status==1?(i(),a(_,{key:0},{default:o(()=>[...t[0]||(t[0]=[l("开启",-1)])]),_:1})):(i(),a(_,{key:1,type:"danger"},{default:o(()=>[...t[1]||(t[1]=[l("关闭",-1)])]),_:1}))]),_:1}),r(m,{label:"操作","min-width":"120",fixed:"right"},{default:o(({row:n})=>[c((i(),a(v,{type:"primary",link:"",onClick:q=>g(n.type)},{default:o(()=>[...t[2]||(t[2]=[l(" 设置 ",-1)])]),_:1},8,["onClick"])),[[b,["notice.sms_config/setConfig"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[w,f(e).loading]]),r(T,{ref_key:"editRef",ref:p,onSuccess:d},null,512)])}}});export{ht as default}; diff --git a/server/public/admin/assets/index-BFqDZyjI.js b/server/public/admin/assets/index-Ct43fb_P.js similarity index 99% rename from server/public/admin/assets/index-BFqDZyjI.js rename to server/public/admin/assets/index-Ct43fb_P.js index b61cb5e12..7494110e4 100644 --- a/server/public/admin/assets/index-BFqDZyjI.js +++ b/server/public/admin/assets/index-Ct43fb_P.js @@ -1 +1 @@ -import{D as xe,B as Ce,C as De,Q as Ee,R as Re,i as Ue,K as Fe,N as Ye,O as $e,U as he,M as Me,h as Ne,G as Te,J as He,W as Se,e as Le,S as qe}from"./element-plus-DGP1XOrU.js";import{_ as Be}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as X}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Ke,a as Pe,b as Ie,h as ze,g as Ae,c as Ge,d as Oe,e as je}from"./fans-C45r_J_N.js";import{u as Je}from"./usePaging-DofycyjW.js";import{k as Z}from"./index-fRv3NTFQ.js";import{d as ee}from"./dayjs-DG77mNTn.js";import{f as te,ak as g,I,a as l,aN as t,O as n,J as w,aP as le,G as x,H as Qe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as M,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as N}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const We={class:"fans-management"},Xe={class:"mb-4"},Ze={key:1,class:"text-gray-400"},el={class:"flex mt-4 justify-end"},ll={class:"mb-4"},tl={key:0,class:"text-center mt-4"},al=te({name:"fansManagement"}),Al=te({...al,setup(ol){const ae=i=>{if(!i)return"-";const e=String(i).length===10?Number(i)*1e3:Number(i);return ee(e).format("YYYY-MM-DD HH:mm:ss")},f=u({name:"",phone:"",gender:"",status:""}),{pager:k,getLists:C,resetParams:oe,resetPage:T}=Je({fetchFun:Ke,params:f.value}),b=u(!1),D=u("add"),H=u(),S=u(!1),d=u({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),ie={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},ne=()=>{D.value="add",b.value=!0},de=i=>{D.value="edit",d.value={id:i.id,name:i.name,phone:i.phone,id_card:i.id_card,age:i.age,gender:i.gender,status:i.status,remark:i.remark},b.value=!0},se=()=>{var i;d.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(i=H.value)==null||i.resetFields()},re=async()=>{var i;await((i=H.value)==null?void 0:i.validate()),S.value=!0;try{D.value==="add"?await Pe(d.value):await Ie(d.value),b.value=!1,C()}catch{}finally{S.value=!1}},ue=async i=>{await Z.confirm("确定要删除该粉丝吗?");try{await ze({id:i}),C()}catch{}},E=u(!1),R=u(null),y=u([]),L=u(!1),z=u(0),c=u(1),me={1:"",2:"success",3:"info",4:"warning",5:"danger"},pe=i=>{R.value=i,E.value=!0,c.value=1,y.value=[],U()},U=async()=>{L.value=!0;try{const i=await Ae({fan_id:R.value.id,page_no:c.value,page_size:15});c.value===1?y.value=i.lists||[]:y.value=[...y.value,...i.lists||[]],z.value=i.count||0}catch(i){console.error("获取回访记录失败:",i)}finally{L.value=!1}},fe=()=>{c.value++,U()},V=u(!1),F=u("add"),q=u(),B=u(!1),m=u({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ve={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},_e=()=>{F.value="add",m.value={id:0,fan_id:R.value.id,visit_type:1,visit_time:ee().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},V.value=!0},ge=i=>{F.value="edit",m.value={id:i.id,fan_id:i.fan_id,visit_type:i.visit_type,visit_time:i.visit_time_text||"",content:i.content||"",result:i.result||"",next_visit_time:i.next_visit_time_text||""},V.value=!0},be=()=>{var i;m.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(i=q.value)==null||i.resetFields()},Ve=async()=>{var i;await((i=q.value)==null?void 0:i.validate()),B.value=!0;try{F.value==="add"?await Ge(m.value):await Oe(m.value),V.value=!1,c.value=1,U()}catch{}finally{B.value=!1}},ye=async i=>{await Z.confirm("确定要删除该回访记录吗?");try{await je({id:i}),c.value=1,U()}catch{}};return C(),(i,e)=>{var W;const _=De,r=Ce,v=Re,K=Ee,p=Ue,P=xe,A=Fe,s=$e,Y=he,G=Ye,ce=Be,ke=Ne,$=He,O=Te,j=Se,we=Le,J=qe,Q=Me;return g(),I("div",We,[l(A,{class:"!border-none",shadow:"never"},{default:t(()=>[l(P,{class:"ls-form",model:o(f),inline:""},{default:t(()=>[l(r,{class:"w-[280px]",label:"姓名"},{default:t(()=>[l(_,{placeholder:"请输入姓名",modelValue:o(f).name,"onUpdate:modelValue":e[0]||(e[0]=a=>o(f).name=a),clearable:"",onKeyup:X(o(T),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[280px]",label:"手机号"},{default:t(()=>[l(_,{placeholder:"请输入手机号",modelValue:o(f).phone,"onUpdate:modelValue":e[1]||(e[1]=a=>o(f).phone=a),clearable:"",onKeyup:X(o(T),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[180px]",label:"性别"},{default:t(()=>[l(K,{modelValue:o(f).gender,"onUpdate:modelValue":e[2]||(e[2]=a=>o(f).gender=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"男",value:1}),l(v,{label:"女",value:2})]),_:1},8,["modelValue"])]),_:1}),l(r,{class:"w-[180px]",label:"状态"},{default:t(()=>[l(K,{modelValue:o(f).status,"onUpdate:modelValue":e[3]||(e[3]=a=>o(f).status=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"启用",value:1}),l(v,{label:"禁用",value:0})]),_:1},8,["modelValue"])]),_:1}),l(r,null,{default:t(()=>[l(p,{type:"primary",onClick:o(T)},{default:t(()=>[...e[22]||(e[22]=[n("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(oe)},{default:t(()=>[...e[23]||(e[23]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),l(A,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[w("div",Xe,[l(p,{type:"primary",onClick:ne},{default:t(()=>[...e[24]||(e[24]=[n("新增粉丝",-1)])]),_:1})]),le((g(),x(G,{data:o(k).lists,size:"large"},{default:t(()=>[l(s,{label:"ID",prop:"id",width:"70"}),l(s,{label:"姓名",prop:"name","min-width":"100"}),l(s,{label:"手机号",prop:"phone","min-width":"130"}),l(s,{label:"身份证号",prop:"id_card","min-width":"180"}),l(s,{label:"性别",prop:"gender_desc",width:"80"}),l(s,{label:"年龄",prop:"age",width:"70"}),l(s,{label:"备注",prop:"remark","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"登记人",prop:"creator_name","min-width":"100"},{default:t(({row:a})=>[w("span",null,N(a.creator_name||"-"),1)]),_:1}),l(s,{label:"回访次数",width:"90",align:"center"},{default:t(({row:a})=>[a.visit_count>0?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[n(N(a.visit_count),1)]),_:2},1024)):(g(),I("span",Ze,"0"))]),_:1}),l(s,{label:"状态",width:"80"},{default:t(({row:a})=>[a.status==1?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[...e[25]||(e[25]=[n("启用",-1)])]),_:1})):(g(),x(Y,{key:1,type:"danger"},{default:t(()=>[...e[26]||(e[26]=[n("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间","min-width":"170"},{default:t(({row:a})=>[w("span",null,N(ae(a.create_time)),1)]),_:1}),l(s,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>de(a)},{default:t(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"success",link:"",onClick:h=>pe(a)},{default:t(()=>[...e[28]||(e[28]=[n("回访记录",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ue(a.id)},{default:t(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(k).loading]]),w("div",el,[l(ce,{modelValue:o(k),"onUpdate:modelValue":e[4]||(e[4]=a=>M(k)?k.value=a:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),l(j,{modelValue:o(b),"onUpdate:modelValue":e[13]||(e[13]=a=>M(b)?b.value=a:null),title:o(D)==="add"?"新增粉丝":"编辑粉丝",width:"600px","close-on-click-modal":!1,onClosed:se},{footer:t(()=>[l(p,{onClick:e[12]||(e[12]=a=>b.value=!1)},{default:t(()=>[...e[34]||(e[34]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(S),onClick:re},{default:t(()=>[...e[35]||(e[35]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(P,{ref_key:"fanFormRef",ref:H,model:o(d),rules:ie,"label-width":"100px"},{default:t(()=>[l(r,{label:"姓名",prop:"name"},{default:t(()=>[l(_,{modelValue:o(d).name,"onUpdate:modelValue":e[5]||(e[5]=a=>o(d).name=a),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(r,{label:"手机号",prop:"phone"},{default:t(()=>[l(_,{modelValue:o(d).phone,"onUpdate:modelValue":e[6]||(e[6]=a=>o(d).phone=a),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(r,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(_,{modelValue:o(d).id_card,"onUpdate:modelValue":e[7]||(e[7]=a=>o(d).id_card=a),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),l(r,{label:"年龄",prop:"age"},{default:t(()=>[l(ke,{modelValue:o(d).age,"onUpdate:modelValue":e[8]||(e[8]=a=>o(d).age=a),min:0,max:150},null,8,["modelValue"])]),_:1}),l(r,{label:"性别",prop:"gender"},{default:t(()=>[l(O,{modelValue:o(d).gender,"onUpdate:modelValue":e[9]||(e[9]=a=>o(d).gender=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l($,{label:2},{default:t(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"状态",prop:"status"},{default:t(()=>[l(O,{modelValue:o(d).status,"onUpdate:modelValue":e[10]||(e[10]=a=>o(d).status=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[32]||(e[32]=[n("启用",-1)])]),_:1}),l($,{label:0},{default:t(()=>[...e[33]||(e[33]=[n("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:t(()=>[l(_,{modelValue:o(d).remark,"onUpdate:modelValue":e[11]||(e[11]=a=>o(d).remark=a),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(we,{modelValue:o(E),"onUpdate:modelValue":e[14]||(e[14]=a=>M(E)?E.value=a:null),title:`回访记录 - ${((W=o(R))==null?void 0:W.name)||""}`,size:"700px","close-on-click-modal":!1},{default:t(()=>[w("div",ll,[l(p,{type:"primary",onClick:_e},{default:t(()=>[...e[36]||(e[36]=[n("新增回访记录",-1)])]),_:1})]),le((g(),x(G,{data:o(y),size:"large"},{default:t(()=>[l(s,{label:"回访类型",width:"100"},{default:t(({row:a})=>[l(Y,{type:me[a.visit_type]},{default:t(()=>[n(N(a.visit_type_desc),1)]),_:2},1032,["type"])]),_:1}),l(s,{label:"回访时间",prop:"visit_time_text","min-width":"150"}),l(s,{label:"回访内容",prop:"content","min-width":"200","show-overflow-tooltip":""}),l(s,{label:"回访结果",prop:"result","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"下次回访",prop:"next_visit_time_text","min-width":"150"}),l(s,{label:"操作人",prop:"operator_name",width:"100"}),l(s,{label:"操作",width:"120",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>ge(a)},{default:t(()=>[...e[37]||(e[37]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ye(a.id)},{default:t(()=>[...e[38]||(e[38]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(L)]]),o(z)>o(y).length?(g(),I("div",tl,[l(p,{link:"",type:"primary",onClick:fe},{default:t(()=>[...e[39]||(e[39]=[n("加载更多",-1)])]),_:1})])):Qe("",!0)]),_:1},8,["modelValue","title"]),l(j,{modelValue:o(V),"onUpdate:modelValue":e[21]||(e[21]=a=>M(V)?V.value=a:null),title:o(F)==="add"?"新增回访记录":"编辑回访记录",width:"600px","close-on-click-modal":!1,onClosed:be},{footer:t(()=>[l(p,{onClick:e[20]||(e[20]=a=>V.value=!1)},{default:t(()=>[...e[40]||(e[40]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(B),onClick:Ve},{default:t(()=>[...e[41]||(e[41]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(P,{ref_key:"visitFormRef",ref:q,model:o(m),rules:ve,"label-width":"120px"},{default:t(()=>[l(r,{label:"回访类型",prop:"visit_type"},{default:t(()=>[l(K,{modelValue:o(m).visit_type,"onUpdate:modelValue":e[15]||(e[15]=a=>o(m).visit_type=a),placeholder:"请选择回访类型"},{default:t(()=>[l(v,{label:"电话",value:1}),l(v,{label:"微信",value:2}),l(v,{label:"短信",value:3}),l(v,{label:"上门",value:4}),l(v,{label:"其他",value:5})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"回访时间",prop:"visit_time"},{default:t(()=>[l(J,{modelValue:o(m).visit_time,"onUpdate:modelValue":e[16]||(e[16]=a=>o(m).visit_time=a),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(r,{label:"回访内容",prop:"content"},{default:t(()=>[l(_,{modelValue:o(m).content,"onUpdate:modelValue":e[17]||(e[17]=a=>o(m).content=a),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(r,{label:"回访结果",prop:"result"},{default:t(()=>[l(_,{modelValue:o(m).result,"onUpdate:modelValue":e[18]||(e[18]=a=>o(m).result=a),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(r,{label:"下次回访时间",prop:"next_visit_time"},{default:t(()=>[l(J,{modelValue:o(m).next_visit_time,"onUpdate:modelValue":e[19]||(e[19]=a=>o(m).next_visit_time=a),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{Al as default}; +import{D as xe,B as Ce,C as De,Q as Ee,R as Re,i as Ue,K as Fe,N as Ye,O as $e,U as he,M as Me,h as Ne,G as Te,J as He,W as Se,e as Le,S as qe}from"./element-plus-DGP1XOrU.js";import{_ as Be}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as X}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Ke,a as Pe,b as Ie,h as ze,g as Ae,c as Ge,d as Oe,e as je}from"./fans-xWTU7WTj.js";import{u as Je}from"./usePaging-DofycyjW.js";import{k as Z}from"./index-J_eFER10.js";import{d as ee}from"./dayjs-DG77mNTn.js";import{f as te,ak as g,I,a as l,aN as t,O as n,J as w,aP as le,G as x,H as Qe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as M,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as N}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const We={class:"fans-management"},Xe={class:"mb-4"},Ze={key:1,class:"text-gray-400"},el={class:"flex mt-4 justify-end"},ll={class:"mb-4"},tl={key:0,class:"text-center mt-4"},al=te({name:"fansManagement"}),Al=te({...al,setup(ol){const ae=i=>{if(!i)return"-";const e=String(i).length===10?Number(i)*1e3:Number(i);return ee(e).format("YYYY-MM-DD HH:mm:ss")},f=u({name:"",phone:"",gender:"",status:""}),{pager:k,getLists:C,resetParams:oe,resetPage:T}=Je({fetchFun:Ke,params:f.value}),b=u(!1),D=u("add"),H=u(),S=u(!1),d=u({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),ie={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},ne=()=>{D.value="add",b.value=!0},de=i=>{D.value="edit",d.value={id:i.id,name:i.name,phone:i.phone,id_card:i.id_card,age:i.age,gender:i.gender,status:i.status,remark:i.remark},b.value=!0},se=()=>{var i;d.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(i=H.value)==null||i.resetFields()},re=async()=>{var i;await((i=H.value)==null?void 0:i.validate()),S.value=!0;try{D.value==="add"?await Pe(d.value):await Ie(d.value),b.value=!1,C()}catch{}finally{S.value=!1}},ue=async i=>{await Z.confirm("确定要删除该粉丝吗?");try{await ze({id:i}),C()}catch{}},E=u(!1),R=u(null),y=u([]),L=u(!1),z=u(0),c=u(1),me={1:"",2:"success",3:"info",4:"warning",5:"danger"},pe=i=>{R.value=i,E.value=!0,c.value=1,y.value=[],U()},U=async()=>{L.value=!0;try{const i=await Ae({fan_id:R.value.id,page_no:c.value,page_size:15});c.value===1?y.value=i.lists||[]:y.value=[...y.value,...i.lists||[]],z.value=i.count||0}catch(i){console.error("获取回访记录失败:",i)}finally{L.value=!1}},fe=()=>{c.value++,U()},V=u(!1),F=u("add"),q=u(),B=u(!1),m=u({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ve={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},_e=()=>{F.value="add",m.value={id:0,fan_id:R.value.id,visit_type:1,visit_time:ee().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},V.value=!0},ge=i=>{F.value="edit",m.value={id:i.id,fan_id:i.fan_id,visit_type:i.visit_type,visit_time:i.visit_time_text||"",content:i.content||"",result:i.result||"",next_visit_time:i.next_visit_time_text||""},V.value=!0},be=()=>{var i;m.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(i=q.value)==null||i.resetFields()},Ve=async()=>{var i;await((i=q.value)==null?void 0:i.validate()),B.value=!0;try{F.value==="add"?await Ge(m.value):await Oe(m.value),V.value=!1,c.value=1,U()}catch{}finally{B.value=!1}},ye=async i=>{await Z.confirm("确定要删除该回访记录吗?");try{await je({id:i}),c.value=1,U()}catch{}};return C(),(i,e)=>{var W;const _=De,r=Ce,v=Re,K=Ee,p=Ue,P=xe,A=Fe,s=$e,Y=he,G=Ye,ce=Be,ke=Ne,$=He,O=Te,j=Se,we=Le,J=qe,Q=Me;return g(),I("div",We,[l(A,{class:"!border-none",shadow:"never"},{default:t(()=>[l(P,{class:"ls-form",model:o(f),inline:""},{default:t(()=>[l(r,{class:"w-[280px]",label:"姓名"},{default:t(()=>[l(_,{placeholder:"请输入姓名",modelValue:o(f).name,"onUpdate:modelValue":e[0]||(e[0]=a=>o(f).name=a),clearable:"",onKeyup:X(o(T),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[280px]",label:"手机号"},{default:t(()=>[l(_,{placeholder:"请输入手机号",modelValue:o(f).phone,"onUpdate:modelValue":e[1]||(e[1]=a=>o(f).phone=a),clearable:"",onKeyup:X(o(T),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[180px]",label:"性别"},{default:t(()=>[l(K,{modelValue:o(f).gender,"onUpdate:modelValue":e[2]||(e[2]=a=>o(f).gender=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"男",value:1}),l(v,{label:"女",value:2})]),_:1},8,["modelValue"])]),_:1}),l(r,{class:"w-[180px]",label:"状态"},{default:t(()=>[l(K,{modelValue:o(f).status,"onUpdate:modelValue":e[3]||(e[3]=a=>o(f).status=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"启用",value:1}),l(v,{label:"禁用",value:0})]),_:1},8,["modelValue"])]),_:1}),l(r,null,{default:t(()=>[l(p,{type:"primary",onClick:o(T)},{default:t(()=>[...e[22]||(e[22]=[n("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(oe)},{default:t(()=>[...e[23]||(e[23]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),l(A,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[w("div",Xe,[l(p,{type:"primary",onClick:ne},{default:t(()=>[...e[24]||(e[24]=[n("新增粉丝",-1)])]),_:1})]),le((g(),x(G,{data:o(k).lists,size:"large"},{default:t(()=>[l(s,{label:"ID",prop:"id",width:"70"}),l(s,{label:"姓名",prop:"name","min-width":"100"}),l(s,{label:"手机号",prop:"phone","min-width":"130"}),l(s,{label:"身份证号",prop:"id_card","min-width":"180"}),l(s,{label:"性别",prop:"gender_desc",width:"80"}),l(s,{label:"年龄",prop:"age",width:"70"}),l(s,{label:"备注",prop:"remark","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"登记人",prop:"creator_name","min-width":"100"},{default:t(({row:a})=>[w("span",null,N(a.creator_name||"-"),1)]),_:1}),l(s,{label:"回访次数",width:"90",align:"center"},{default:t(({row:a})=>[a.visit_count>0?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[n(N(a.visit_count),1)]),_:2},1024)):(g(),I("span",Ze,"0"))]),_:1}),l(s,{label:"状态",width:"80"},{default:t(({row:a})=>[a.status==1?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[...e[25]||(e[25]=[n("启用",-1)])]),_:1})):(g(),x(Y,{key:1,type:"danger"},{default:t(()=>[...e[26]||(e[26]=[n("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间","min-width":"170"},{default:t(({row:a})=>[w("span",null,N(ae(a.create_time)),1)]),_:1}),l(s,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>de(a)},{default:t(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"success",link:"",onClick:h=>pe(a)},{default:t(()=>[...e[28]||(e[28]=[n("回访记录",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ue(a.id)},{default:t(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(k).loading]]),w("div",el,[l(ce,{modelValue:o(k),"onUpdate:modelValue":e[4]||(e[4]=a=>M(k)?k.value=a:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),l(j,{modelValue:o(b),"onUpdate:modelValue":e[13]||(e[13]=a=>M(b)?b.value=a:null),title:o(D)==="add"?"新增粉丝":"编辑粉丝",width:"600px","close-on-click-modal":!1,onClosed:se},{footer:t(()=>[l(p,{onClick:e[12]||(e[12]=a=>b.value=!1)},{default:t(()=>[...e[34]||(e[34]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(S),onClick:re},{default:t(()=>[...e[35]||(e[35]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(P,{ref_key:"fanFormRef",ref:H,model:o(d),rules:ie,"label-width":"100px"},{default:t(()=>[l(r,{label:"姓名",prop:"name"},{default:t(()=>[l(_,{modelValue:o(d).name,"onUpdate:modelValue":e[5]||(e[5]=a=>o(d).name=a),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(r,{label:"手机号",prop:"phone"},{default:t(()=>[l(_,{modelValue:o(d).phone,"onUpdate:modelValue":e[6]||(e[6]=a=>o(d).phone=a),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(r,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(_,{modelValue:o(d).id_card,"onUpdate:modelValue":e[7]||(e[7]=a=>o(d).id_card=a),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),l(r,{label:"年龄",prop:"age"},{default:t(()=>[l(ke,{modelValue:o(d).age,"onUpdate:modelValue":e[8]||(e[8]=a=>o(d).age=a),min:0,max:150},null,8,["modelValue"])]),_:1}),l(r,{label:"性别",prop:"gender"},{default:t(()=>[l(O,{modelValue:o(d).gender,"onUpdate:modelValue":e[9]||(e[9]=a=>o(d).gender=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l($,{label:2},{default:t(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"状态",prop:"status"},{default:t(()=>[l(O,{modelValue:o(d).status,"onUpdate:modelValue":e[10]||(e[10]=a=>o(d).status=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[32]||(e[32]=[n("启用",-1)])]),_:1}),l($,{label:0},{default:t(()=>[...e[33]||(e[33]=[n("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:t(()=>[l(_,{modelValue:o(d).remark,"onUpdate:modelValue":e[11]||(e[11]=a=>o(d).remark=a),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(we,{modelValue:o(E),"onUpdate:modelValue":e[14]||(e[14]=a=>M(E)?E.value=a:null),title:`回访记录 - ${((W=o(R))==null?void 0:W.name)||""}`,size:"700px","close-on-click-modal":!1},{default:t(()=>[w("div",ll,[l(p,{type:"primary",onClick:_e},{default:t(()=>[...e[36]||(e[36]=[n("新增回访记录",-1)])]),_:1})]),le((g(),x(G,{data:o(y),size:"large"},{default:t(()=>[l(s,{label:"回访类型",width:"100"},{default:t(({row:a})=>[l(Y,{type:me[a.visit_type]},{default:t(()=>[n(N(a.visit_type_desc),1)]),_:2},1032,["type"])]),_:1}),l(s,{label:"回访时间",prop:"visit_time_text","min-width":"150"}),l(s,{label:"回访内容",prop:"content","min-width":"200","show-overflow-tooltip":""}),l(s,{label:"回访结果",prop:"result","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"下次回访",prop:"next_visit_time_text","min-width":"150"}),l(s,{label:"操作人",prop:"operator_name",width:"100"}),l(s,{label:"操作",width:"120",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>ge(a)},{default:t(()=>[...e[37]||(e[37]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ye(a.id)},{default:t(()=>[...e[38]||(e[38]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(L)]]),o(z)>o(y).length?(g(),I("div",tl,[l(p,{link:"",type:"primary",onClick:fe},{default:t(()=>[...e[39]||(e[39]=[n("加载更多",-1)])]),_:1})])):Qe("",!0)]),_:1},8,["modelValue","title"]),l(j,{modelValue:o(V),"onUpdate:modelValue":e[21]||(e[21]=a=>M(V)?V.value=a:null),title:o(F)==="add"?"新增回访记录":"编辑回访记录",width:"600px","close-on-click-modal":!1,onClosed:be},{footer:t(()=>[l(p,{onClick:e[20]||(e[20]=a=>V.value=!1)},{default:t(()=>[...e[40]||(e[40]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(B),onClick:Ve},{default:t(()=>[...e[41]||(e[41]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(P,{ref_key:"visitFormRef",ref:q,model:o(m),rules:ve,"label-width":"120px"},{default:t(()=>[l(r,{label:"回访类型",prop:"visit_type"},{default:t(()=>[l(K,{modelValue:o(m).visit_type,"onUpdate:modelValue":e[15]||(e[15]=a=>o(m).visit_type=a),placeholder:"请选择回访类型"},{default:t(()=>[l(v,{label:"电话",value:1}),l(v,{label:"微信",value:2}),l(v,{label:"短信",value:3}),l(v,{label:"上门",value:4}),l(v,{label:"其他",value:5})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"回访时间",prop:"visit_time"},{default:t(()=>[l(J,{modelValue:o(m).visit_time,"onUpdate:modelValue":e[16]||(e[16]=a=>o(m).visit_time=a),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(r,{label:"回访内容",prop:"content"},{default:t(()=>[l(_,{modelValue:o(m).content,"onUpdate:modelValue":e[17]||(e[17]=a=>o(m).content=a),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(r,{label:"回访结果",prop:"result"},{default:t(()=>[l(_,{modelValue:o(m).result,"onUpdate:modelValue":e[18]||(e[18]=a=>o(m).result=a),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(r,{label:"下次回访时间",prop:"next_visit_time"},{default:t(()=>[l(J,{modelValue:o(m).next_visit_time,"onUpdate:modelValue":e[19]||(e[19]=a=>o(m).next_visit_time=a),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{Al as default}; diff --git a/server/public/admin/assets/index-uhLoGVNB.js b/server/public/admin/assets/index-CuYTaQIf.js similarity index 98% rename from server/public/admin/assets/index-uhLoGVNB.js rename to server/public/admin/assets/index-CuYTaQIf.js index 3e12a9391..95b220f46 100644 --- a/server/public/admin/assets/index-uhLoGVNB.js +++ b/server/public/admin/assets/index-CuYTaQIf.js @@ -1 +1 @@ -import{D as J,B as W,S as X,Q as Z,R as ee,C as te,i as le,K as ae,N as oe,O as se,U as ne,M as ie}from"./element-plus-DGP1XOrU.js";import{_ as re}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{s as me,t as ue}from"./stats-D2lwBNks.js";import{u as ce}from"./usePaging-DofycyjW.js";import{k as D,_ as _e}from"./index-fRv3NTFQ.js";import{f as M,w as $,b as pe,as as be,ak as d,I as p,a,aN as o,O as m,J as u,aP as S,G as C,H as B,F as U}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as N,a as fe,n as h,r as ge}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ke={class:"auto-assign-log-page"},he={class:"toolbar mb-3"},ye={key:0,class:"toolbar-tip"},ve={class:"cell-sub"},we={class:"cell-sub"},Ve={key:0,class:"cell-sub"},Ce={key:2},Ne={class:"cell-sub"},xe={key:1},Re={class:"cell-sub"},Ee={key:1,class:"cell-sub"},De={class:"flex justify-end mt-4"},Se=M({name:"statsAutoAssignLog"}),Le=M({...Se,setup(Ae){const y=h(null),v=h(null),x=h(),c=h([]),w=h(!1),s=ge({start_date:"",end_date:"",start_time:"",end_time:"",action:"",is_rollback:"",keyword:""});$(y,l=>{s.start_date=(l==null?void 0:l[0])??"",s.end_date=(l==null?void 0:l[1])??""}),$(v,l=>{s.start_time=(l==null?void 0:l[0])??"",s.end_time=(l==null?void 0:l[1])??""});const{pager:f,getLists:R,resetPage:F}=ce({fetchFun:me,params:s}),_=()=>{var l,t;c.value=[],(t=(l=x.value)==null?void 0:l.clearSelection)==null||t.call(l),F()},I=()=>{y.value=null,v.value=null,s.start_date="",s.end_date="",s.start_time="",s.end_time="",s.action="",s.is_rollback="",s.keyword="",_()},P=l=>l==null?"—":`${l}%`,z=l=>Number(l.can_rollback)===1,T=l=>{c.value=l.filter(t=>Number(t.can_rollback)===1)},L=async l=>{var t,g;if(l.length!==0){await D.confirm(`确认回退选中的 ${l.length} 条自动分配?将把诊单医助撤回到自动分配前的原医助,并写入指派日志。`),w.value=!0;try{const n=await ue({ids:l}),b=Number((n==null?void 0:n.success)??0),k=Number((n==null?void 0:n.failed)??0);k>0&&Array.isArray(n==null?void 0:n.messages)&&n.messages.length?D.msgWarning(`回退成功 ${b} 条,跳过/失败 ${k} 条:${n.messages.slice(0,3).join(";")}`):D.msgSuccess(`回退成功 ${b} 条`),c.value=[],(g=(t=x.value)==null?void 0:t.clearSelection)==null||g.call(t),await R()}finally{w.value=!1}}},H=()=>{const l=c.value.map(t=>Number(t.id)).filter(t=>t>0);return L(l)},K=l=>{const t=Number((l==null?void 0:l.id)??0);if(!(t<=0))return L([t])};return pe(()=>R()),(l,t)=>{const g=X,n=W,b=ee,k=Z,O=te,V=le,j=J,A=ae,r=se,E=ne,Q=oe,q=re,Y=be("perms"),G=ie;return d(),p("div",ke,[a(A,{class:"!border-none",shadow:"never"},{default:o(()=>[a(j,{inline:!0,class:"log-filter-form"},{default:o(()=>[a(n,{label:"记录时间"},{default:o(()=>[a(g,{modelValue:v.value,"onUpdate:modelValue":t[0]||(t[0]=e=>v.value=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",clearable:"",onChange:_},null,8,["modelValue"])]),_:1}),a(n,{label:"执行日期"},{default:o(()=>[a(g,{modelValue:y.value,"onUpdate:modelValue":t[1]||(t[1]=e=>y.value=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:_},null,8,["modelValue"])]),_:1}),a(n,{label:"结果"},{default:o(()=>[a(k,{modelValue:s.action,"onUpdate:modelValue":t[2]||(t[2]=e=>s.action=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:_},{default:o(()=>[a(b,{label:"已分配",value:"1"}),a(b,{label:"未分配",value:"0"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"回退"},{default:o(()=>[a(k,{modelValue:s.is_rollback,"onUpdate:modelValue":t[3]||(t[3]=e=>s.is_rollback=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:_},{default:o(()=>[a(b,{label:"未回退",value:"0"}),a(b,{label:"已回退",value:"1"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"关键词"},{default:o(()=>[a(O,{modelValue:s.keyword,"onUpdate:modelValue":t[4]||(t[4]=e=>s.keyword=e),placeholder:"患者/手机号/医助/诊单ID",clearable:"",class:"w-[220px]",onKeyup:de(_,["enter"]),onClear:_},null,8,["modelValue"])]),_:1}),a(n,null,{default:o(()=>[a(V,{type:"primary",onClick:_},{default:o(()=>[...t[6]||(t[6]=[m("查询",-1)])]),_:1}),a(V,{onClick:I},{default:o(()=>[...t[7]||(t[7]=[m("重置",-1)])]),_:1})]),_:1})]),_:1}),t[8]||(t[8]=u("div",{class:"log-hint"}," 由每日定时任务「待分配诊单自动指派」写入:按上月二诊复诊接诊率分档轮询分配(>70% 每人3条/日,60%~70% 每人2条/日,50%~60% 每人1条/日,<50% 不分)。「回退」可将已分配医助撤回到自动分配前的原医助(通常为一中心),并写入指派日志。 ",-1))]),_:1}),a(A,{class:"!border-none mt-3",shadow:"never"},{default:o(()=>[u("div",he,[S((d(),C(V,{type:"warning",disabled:c.value.length===0,loading:w.value,onClick:H},{default:o(()=>[m(" 回退选中("+i(c.value.length)+") ",1)]),_:1},8,["disabled","loading"])),[[Y,["stats.autoAssignLog/rollback"]]]),c.value.length>0?(d(),p("span",ye," 已选 "+i(c.value.length)+" 条可回退记录 ",1)):B("",!0)]),S((d(),C(Q,{ref_key:"tableRef",ref:x,data:N(f).lists,size:"default",stripe:"","row-key":"id",onSelectionChange:T},{default:o(()=>[a(r,{type:"selection",width:"48",selectable:z,"reserve-selection":""}),a(r,{label:"记录时间",width:"160"},{default:o(({row:e})=>[m(i(e.create_time_text||"—"),1)]),_:1}),a(r,{label:"诊单",width:"90",prop:"diagnosis_id"}),a(r,{label:"患者","min-width":"110"},{default:o(({row:e})=>[u("div",null,i(e.patient_name||"—"),1),u("div",ve,i(e.patient_phone||""),1)]),_:1}),a(r,{label:"结果",width:"90",align:"center"},{default:o(({row:e})=>[a(E,{type:Number(e.action)===1?"success":"info",size:"small"},{default:o(()=>[m(i(e.action_text),1)]),_:2},1032,["type"])]),_:1}),a(r,{label:"回退状态",width:"140"},{default:o(({row:e})=>[Number(e.is_rollback)===1?(d(),p(U,{key:0},[a(E,{type:"warning",size:"small"},{default:o(()=>[...t[9]||(t[9]=[m("已回退",-1)])]),_:1}),u("div",we,i(e.rollback_time_text),1),e.rollback_admin_name?(d(),p("div",Ve,i(e.rollback_admin_name),1)):B("",!0)],64)):Number(e.can_rollback)===1?(d(),C(E,{key:1,type:"success",size:"small"},{default:o(()=>[...t[10]||(t[10]=[m(" 可回退 ",-1)])]),_:1})):(d(),p("span",Ce,"—"))]),_:1}),a(r,{label:"医助","min-width":"110"},{default:o(({row:e})=>[Number(e.assistant_id)>0?(d(),p(U,{key:0},[u("div",null,i(e.assistant_name||"#"+e.assistant_id),1),u("div",Ne,"上月二诊接诊率 "+i(P(e.visit2_rate)),1)],64)):(d(),p("span",xe,"—"))]),_:1}),a(r,{label:"档位",width:"100",align:"center"},{default:o(({row:e})=>[m(i(e.tier_text||"—"),1)]),_:1}),a(r,{label:"轮次",width:"70",align:"center"},{default:o(({row:e})=>[m(i(Number(e.round_no)>0?"第"+e.round_no+"轮":"—"),1)]),_:1}),a(r,{label:"原因","min-width":"280","show-overflow-tooltip":""},{default:o(({row:e})=>[m(i(e.reason),1)]),_:1}),a(r,{label:"统计月",width:"90",prop:"stat_month",align:"center"}),a(r,{label:"批次",width:"160"},{default:o(({row:e})=>[u("span",Re,i(e.batch_no),1)]),_:1}),a(r,{label:"操作",width:"90",fixed:"right",align:"center"},{default:o(({row:e})=>[Number(e.can_rollback)===1?S((d(),C(V,{key:0,link:"",type:"warning",loading:w.value,onClick:Ye=>K(e)},{default:o(()=>[...t[11]||(t[11]=[m(" 回退 ",-1)])]),_:1},8,["loading","onClick"])),[[Y,["stats.autoAssignLog/rollback"]]]):(d(),p("span",Ee,"—"))]),_:1})]),_:1},8,["data"])),[[G,N(f).loading]]),u("div",De,[a(q,{modelValue:N(f),"onUpdate:modelValue":t[5]||(t[5]=e=>fe(f)?f.value=e:null),onChange:N(R)},null,8,["modelValue","onChange"])])]),_:1})])}}}),yt=_e(Le,[["__scopeId","data-v-0a150f73"]]);export{yt as default}; +import{D as J,B as W,S as X,Q as Z,R as ee,C as te,i as le,K as ae,N as oe,O as se,U as ne,M as ie}from"./element-plus-DGP1XOrU.js";import{_ as re}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{s as me,t as ue}from"./stats-DXRw03Ae.js";import{u as ce}from"./usePaging-DofycyjW.js";import{k as D,_ as _e}from"./index-J_eFER10.js";import{f as M,w as $,b as pe,as as be,ak as d,I as p,a,aN as o,O as m,J as u,aP as S,G as C,H as B,F as U}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as N,a as fe,n as h,r as ge}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ke={class:"auto-assign-log-page"},he={class:"toolbar mb-3"},ye={key:0,class:"toolbar-tip"},ve={class:"cell-sub"},we={class:"cell-sub"},Ve={key:0,class:"cell-sub"},Ce={key:2},Ne={class:"cell-sub"},xe={key:1},Re={class:"cell-sub"},Ee={key:1,class:"cell-sub"},De={class:"flex justify-end mt-4"},Se=M({name:"statsAutoAssignLog"}),Le=M({...Se,setup(Ae){const y=h(null),v=h(null),x=h(),c=h([]),w=h(!1),s=ge({start_date:"",end_date:"",start_time:"",end_time:"",action:"",is_rollback:"",keyword:""});$(y,l=>{s.start_date=(l==null?void 0:l[0])??"",s.end_date=(l==null?void 0:l[1])??""}),$(v,l=>{s.start_time=(l==null?void 0:l[0])??"",s.end_time=(l==null?void 0:l[1])??""});const{pager:f,getLists:R,resetPage:F}=ce({fetchFun:me,params:s}),_=()=>{var l,t;c.value=[],(t=(l=x.value)==null?void 0:l.clearSelection)==null||t.call(l),F()},I=()=>{y.value=null,v.value=null,s.start_date="",s.end_date="",s.start_time="",s.end_time="",s.action="",s.is_rollback="",s.keyword="",_()},P=l=>l==null?"—":`${l}%`,z=l=>Number(l.can_rollback)===1,T=l=>{c.value=l.filter(t=>Number(t.can_rollback)===1)},L=async l=>{var t,g;if(l.length!==0){await D.confirm(`确认回退选中的 ${l.length} 条自动分配?将把诊单医助撤回到自动分配前的原医助,并写入指派日志。`),w.value=!0;try{const n=await ue({ids:l}),b=Number((n==null?void 0:n.success)??0),k=Number((n==null?void 0:n.failed)??0);k>0&&Array.isArray(n==null?void 0:n.messages)&&n.messages.length?D.msgWarning(`回退成功 ${b} 条,跳过/失败 ${k} 条:${n.messages.slice(0,3).join(";")}`):D.msgSuccess(`回退成功 ${b} 条`),c.value=[],(g=(t=x.value)==null?void 0:t.clearSelection)==null||g.call(t),await R()}finally{w.value=!1}}},H=()=>{const l=c.value.map(t=>Number(t.id)).filter(t=>t>0);return L(l)},K=l=>{const t=Number((l==null?void 0:l.id)??0);if(!(t<=0))return L([t])};return pe(()=>R()),(l,t)=>{const g=X,n=W,b=ee,k=Z,O=te,V=le,j=J,A=ae,r=se,E=ne,Q=oe,q=re,Y=be("perms"),G=ie;return d(),p("div",ke,[a(A,{class:"!border-none",shadow:"never"},{default:o(()=>[a(j,{inline:!0,class:"log-filter-form"},{default:o(()=>[a(n,{label:"记录时间"},{default:o(()=>[a(g,{modelValue:v.value,"onUpdate:modelValue":t[0]||(t[0]=e=>v.value=e),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",clearable:"",onChange:_},null,8,["modelValue"])]),_:1}),a(n,{label:"执行日期"},{default:o(()=>[a(g,{modelValue:y.value,"onUpdate:modelValue":t[1]||(t[1]=e=>y.value=e),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:"",onChange:_},null,8,["modelValue"])]),_:1}),a(n,{label:"结果"},{default:o(()=>[a(k,{modelValue:s.action,"onUpdate:modelValue":t[2]||(t[2]=e=>s.action=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:_},{default:o(()=>[a(b,{label:"已分配",value:"1"}),a(b,{label:"未分配",value:"0"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"回退"},{default:o(()=>[a(k,{modelValue:s.is_rollback,"onUpdate:modelValue":t[3]||(t[3]=e=>s.is_rollback=e),clearable:"",placeholder:"全部",class:"w-[120px]",onChange:_},{default:o(()=>[a(b,{label:"未回退",value:"0"}),a(b,{label:"已回退",value:"1"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"关键词"},{default:o(()=>[a(O,{modelValue:s.keyword,"onUpdate:modelValue":t[4]||(t[4]=e=>s.keyword=e),placeholder:"患者/手机号/医助/诊单ID",clearable:"",class:"w-[220px]",onKeyup:de(_,["enter"]),onClear:_},null,8,["modelValue"])]),_:1}),a(n,null,{default:o(()=>[a(V,{type:"primary",onClick:_},{default:o(()=>[...t[6]||(t[6]=[m("查询",-1)])]),_:1}),a(V,{onClick:I},{default:o(()=>[...t[7]||(t[7]=[m("重置",-1)])]),_:1})]),_:1})]),_:1}),t[8]||(t[8]=u("div",{class:"log-hint"}," 由每日定时任务「待分配诊单自动指派」写入:按上月二诊复诊接诊率分档轮询分配(>70% 每人3条/日,60%~70% 每人2条/日,50%~60% 每人1条/日,<50% 不分)。「回退」可将已分配医助撤回到自动分配前的原医助(通常为一中心),并写入指派日志。 ",-1))]),_:1}),a(A,{class:"!border-none mt-3",shadow:"never"},{default:o(()=>[u("div",he,[S((d(),C(V,{type:"warning",disabled:c.value.length===0,loading:w.value,onClick:H},{default:o(()=>[m(" 回退选中("+i(c.value.length)+") ",1)]),_:1},8,["disabled","loading"])),[[Y,["stats.autoAssignLog/rollback"]]]),c.value.length>0?(d(),p("span",ye," 已选 "+i(c.value.length)+" 条可回退记录 ",1)):B("",!0)]),S((d(),C(Q,{ref_key:"tableRef",ref:x,data:N(f).lists,size:"default",stripe:"","row-key":"id",onSelectionChange:T},{default:o(()=>[a(r,{type:"selection",width:"48",selectable:z,"reserve-selection":""}),a(r,{label:"记录时间",width:"160"},{default:o(({row:e})=>[m(i(e.create_time_text||"—"),1)]),_:1}),a(r,{label:"诊单",width:"90",prop:"diagnosis_id"}),a(r,{label:"患者","min-width":"110"},{default:o(({row:e})=>[u("div",null,i(e.patient_name||"—"),1),u("div",ve,i(e.patient_phone||""),1)]),_:1}),a(r,{label:"结果",width:"90",align:"center"},{default:o(({row:e})=>[a(E,{type:Number(e.action)===1?"success":"info",size:"small"},{default:o(()=>[m(i(e.action_text),1)]),_:2},1032,["type"])]),_:1}),a(r,{label:"回退状态",width:"140"},{default:o(({row:e})=>[Number(e.is_rollback)===1?(d(),p(U,{key:0},[a(E,{type:"warning",size:"small"},{default:o(()=>[...t[9]||(t[9]=[m("已回退",-1)])]),_:1}),u("div",we,i(e.rollback_time_text),1),e.rollback_admin_name?(d(),p("div",Ve,i(e.rollback_admin_name),1)):B("",!0)],64)):Number(e.can_rollback)===1?(d(),C(E,{key:1,type:"success",size:"small"},{default:o(()=>[...t[10]||(t[10]=[m(" 可回退 ",-1)])]),_:1})):(d(),p("span",Ce,"—"))]),_:1}),a(r,{label:"医助","min-width":"110"},{default:o(({row:e})=>[Number(e.assistant_id)>0?(d(),p(U,{key:0},[u("div",null,i(e.assistant_name||"#"+e.assistant_id),1),u("div",Ne,"上月二诊接诊率 "+i(P(e.visit2_rate)),1)],64)):(d(),p("span",xe,"—"))]),_:1}),a(r,{label:"档位",width:"100",align:"center"},{default:o(({row:e})=>[m(i(e.tier_text||"—"),1)]),_:1}),a(r,{label:"轮次",width:"70",align:"center"},{default:o(({row:e})=>[m(i(Number(e.round_no)>0?"第"+e.round_no+"轮":"—"),1)]),_:1}),a(r,{label:"原因","min-width":"280","show-overflow-tooltip":""},{default:o(({row:e})=>[m(i(e.reason),1)]),_:1}),a(r,{label:"统计月",width:"90",prop:"stat_month",align:"center"}),a(r,{label:"批次",width:"160"},{default:o(({row:e})=>[u("span",Re,i(e.batch_no),1)]),_:1}),a(r,{label:"操作",width:"90",fixed:"right",align:"center"},{default:o(({row:e})=>[Number(e.can_rollback)===1?S((d(),C(V,{key:0,link:"",type:"warning",loading:w.value,onClick:Ye=>K(e)},{default:o(()=>[...t[11]||(t[11]=[m(" 回退 ",-1)])]),_:1},8,["loading","onClick"])),[[Y,["stats.autoAssignLog/rollback"]]]):(d(),p("span",Ee,"—"))]),_:1})]),_:1},8,["data"])),[[G,N(f).loading]]),u("div",De,[a(q,{modelValue:N(f),"onUpdate:modelValue":t[5]||(t[5]=e=>fe(f)?f.value=e:null),onChange:N(R)},null,8,["modelValue","onChange"])])]),_:1})])}}}),yt=_e(Le,[["__scopeId","data-v-0a150f73"]]);export{yt as default}; diff --git a/server/public/admin/assets/index-D53G6fzu.js b/server/public/admin/assets/index-CwAaH8wu.js similarity index 87% rename from server/public/admin/assets/index-D53G6fzu.js rename to server/public/admin/assets/index-CwAaH8wu.js index a468c3fec..ed45f7b46 100644 --- a/server/public/admin/assets/index-D53G6fzu.js +++ b/server/public/admin/assets/index-CwAaH8wu.js @@ -1 +1 @@ -import{m as c,l as f,K as u}from"./element-plus-DGP1XOrU.js";import{a as b}from"./index-CZHppZGf.js";import{f as i,ak as m,I as a,a as o,aN as p,F as y,ap as x}from"./@vue/runtime-core-C6bnekPw.js";import{a as g,y as v,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-D5PquIeg.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const V={class:"material-index"},z=i({name:"material"}),C=i({...z,setup(T){const n=[{type:"image",name:"图片"},{type:"video",name:"视频"},{type:"file",name:"文件"}],e=k("image");return(h,r)=>{const s=b,l=f,_=c,d=u;return m(),a("div",V,[o(d,{class:"!border-none",shadow:"never"},{default:p(()=>[o(_,{modelValue:v(e),"onUpdate:modelValue":r[0]||(r[0]=t=>g(e)?e.value=t:null)},{default:p(()=>[(m(),a(y,null,x(n,t=>o(l,{label:t.name,name:t.type,index:t.type,key:t.type,lazy:""},{default:p(()=>[o(s,{type:t.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}}),vt=E(C,[["__scopeId","data-v-f2b7db3b"]]);export{vt as default}; +import{m as c,l as f,K as u}from"./element-plus-DGP1XOrU.js";import{a as b}from"./index-CBjo9bLs.js";import{f as i,ak as m,I as a,a as o,aN as p,F as y,ap as x}from"./@vue/runtime-core-C6bnekPw.js";import{a as g,y as v,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BVjWjU3h.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const V={class:"material-index"},z=i({name:"material"}),C=i({...z,setup(T){const n=[{type:"image",name:"图片"},{type:"video",name:"视频"},{type:"file",name:"文件"}],e=k("image");return(h,r)=>{const s=b,l=f,_=c,d=u;return m(),a("div",V,[o(d,{class:"!border-none",shadow:"never"},{default:p(()=>[o(_,{modelValue:v(e),"onUpdate:modelValue":r[0]||(r[0]=t=>g(e)?e.value=t:null)},{default:p(()=>[(m(),a(y,null,x(n,t=>o(l,{label:t.name,name:t.type,index:t.type,key:t.type,lazy:""},{default:p(()=>[o(s,{type:t.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}}),vt=E(C,[["__scopeId","data-v-f2b7db3b"]]);export{vt as default}; diff --git a/server/public/admin/assets/index-C5r1a79q.js b/server/public/admin/assets/index-D6w2Tfd_.js similarity index 94% rename from server/public/admin/assets/index-C5r1a79q.js rename to server/public/admin/assets/index-D6w2Tfd_.js index 78b659978..d811839a9 100644 --- a/server/public/admin/assets/index-C5r1a79q.js +++ b/server/public/admin/assets/index-D6w2Tfd_.js @@ -1 +1 @@ -import{R as k,Q as w}from"./element-plus-DGP1XOrU.js";import{m as B}from"./medicine-CEgParOp.js";import{f as x,w as C,ak as l,I as v,G as I,aN as b,F as M,ap as E,J as c,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import{y as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{_ as D}from"./index-fRv3NTFQ.js";const F={key:0,class:"medicine-name-readonly"},L={class:"medicine-name-option"},O={class:"medicine-name-option__meta"},Q=x({__name:"index",props:{modelValue:{},medicineId:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","update:medicineId"],setup(d,{emit:g}){const o=d,r=g,m=h(!1),t=h([]),y=S(()=>{const e=Number(o.medicineId);return Number.isInteger(e)&&e>0?e:(o.modelValue||"").trim()?0:""});function f(){const e=(o.modelValue||"").trim();if(!e)return;const n=Number(o.medicineId),a=Number.isInteger(n)&&n>0?n:0;t.value.some(s=>s.id===a)||(t.value=[{id:a,name:e},...t.value])}const _=async e=>{m.value=!0;try{const n=(e||"").trim(),a=await B({name:n||void 0,page_no:1,page_size:100,status:1});t.value=a.lists||[],f()}catch(n){console.error(n),t.value=[]}finally{m.value=!1}},V=e=>{e&&t.value.length===0&&_("")},N=e=>{const n=Number(e),a=n>0?t.value.find(s=>s.id===n):void 0;r("update:modelValue",(a==null?void 0:a.name)||""),r("update:medicineId",a==null?void 0:a.id)};return C(()=>[o.modelValue,o.medicineId],()=>{!(o.modelValue||"").trim()&&Number(o.medicineId)>0&&r("update:medicineId",void 0),f()},{immediate:!0}),(e,n)=>{const a=k,s=w;return d.disabled?(l(),v("span",F,u(d.modelValue||"—"),1)):(l(),I(s,{key:1,"model-value":p(y),class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":_,loading:p(m),clearable:"",onVisibleChange:V,"onUpdate:modelValue":N},{default:b(()=>[(l(!0),v(M,null,E(p(t),i=>(l(),I(a,{key:i.id,label:i.name,value:i.id},{default:b(()=>[c("div",L,[c("span",null,u(i.name),1),c("span",O,u(i.id>0?[i.supplier,i.unit,`ID ${i.id}`].filter(Boolean).join(" · "):"历史名称,请重新选择"),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),J=D(Q,[["__scopeId","data-v-74b65e79"]]);export{J as M}; +import{R as k,Q as w}from"./element-plus-DGP1XOrU.js";import{m as B}from"./medicine-DIQyk1R0.js";import{f as x,w as C,ak as l,I as v,G as I,aN as b,F as M,ap as E,J as c,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import{y as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{_ as D}from"./index-J_eFER10.js";const F={key:0,class:"medicine-name-readonly"},L={class:"medicine-name-option"},O={class:"medicine-name-option__meta"},Q=x({__name:"index",props:{modelValue:{},medicineId:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","update:medicineId"],setup(d,{emit:g}){const o=d,r=g,m=h(!1),t=h([]),y=S(()=>{const e=Number(o.medicineId);return Number.isInteger(e)&&e>0?e:(o.modelValue||"").trim()?0:""});function f(){const e=(o.modelValue||"").trim();if(!e)return;const n=Number(o.medicineId),a=Number.isInteger(n)&&n>0?n:0;t.value.some(s=>s.id===a)||(t.value=[{id:a,name:e},...t.value])}const _=async e=>{m.value=!0;try{const n=(e||"").trim(),a=await B({name:n||void 0,page_no:1,page_size:100,status:1});t.value=a.lists||[],f()}catch(n){console.error(n),t.value=[]}finally{m.value=!1}},V=e=>{e&&t.value.length===0&&_("")},N=e=>{const n=Number(e),a=n>0?t.value.find(s=>s.id===n):void 0;r("update:modelValue",(a==null?void 0:a.name)||""),r("update:medicineId",a==null?void 0:a.id)};return C(()=>[o.modelValue,o.medicineId],()=>{!(o.modelValue||"").trim()&&Number(o.medicineId)>0&&r("update:medicineId",void 0),f()},{immediate:!0}),(e,n)=>{const a=k,s=w;return d.disabled?(l(),v("span",F,u(d.modelValue||"—"),1)):(l(),I(s,{key:1,"model-value":p(y),class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":_,loading:p(m),clearable:"",onVisibleChange:V,"onUpdate:modelValue":N},{default:b(()=>[(l(!0),v(M,null,E(p(t),i=>(l(),I(a,{key:i.id,label:i.name,value:i.id},{default:b(()=>[c("div",L,[c("span",null,u(i.name),1),c("span",O,u(i.id>0?[i.supplier,i.unit,`ID ${i.id}`].filter(Boolean).join(" · "):"历史名称,请重新选择"),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),J=D(Q,[["__scopeId","data-v-74b65e79"]]);export{J as M}; diff --git a/server/public/admin/assets/index-Ds14Yyfh.js b/server/public/admin/assets/index-DScosua5.js similarity index 99% rename from server/public/admin/assets/index-Ds14Yyfh.js rename to server/public/admin/assets/index-DScosua5.js index 87140a681..9a452222b 100644 --- a/server/public/admin/assets/index-Ds14Yyfh.js +++ b/server/public/admin/assets/index-DScosua5.js @@ -1 +1 @@ -import{M as nt,d as lt,i as st,Z as ot,aj as it,R as rt,Q as mt,O as dt,q as pt,X as ut,N as ct,a1 as _t,E as gt}from"./element-plus-DGP1XOrU.js";import{aa as bt,a8 as ft,M as ht,X as T,k as yt,ab as vt,i as kt}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as wt}from"./vue-echarts-BNtg2q_G.js";import{x as xt}from"./first_visit-BYIyH6Y1.js";import{f as L,b as Nt,aP as St,ak as r,I as d,J as t,a as o,aN as i,O as u,H as D,F as S,ap as M,G as w,A as $}from"./@vue/runtime-core-C6bnekPw.js";import{r as O,y as _,n as Mt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as c,p as V}from"./@vue/shared-mAAVTE9n.js";import{_ as $t}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ct={class:"registration-stats","element-loading-text":"正在汇总权限范围内的挂号与预约数据"},Vt={class:"page-heading"},Et={class:"heading-copy"},zt={class:"heading-mark"},Ft={class:"heading-actions"},Tt={class:"scope-chip"},Dt={key:0,class:"update-time"},Ot={class:"filter-strip"},Lt={class:"filter-item"},Pt={class:"filter-item filter-item--time"},At={class:"filter-item"},Bt={class:"filter-summary"},Rt={class:"metric-grid","aria-label":"挂号统计核心指标"},It={class:"metric-card metric-card--teal"},Ut={class:"metric-icon"},jt={class:"metric-card metric-card--blue"},qt={class:"metric-icon"},Gt={class:"metric-card metric-card--violet"},Ht={class:"metric-icon"},Qt={class:"metric-card metric-card--amber"},Wt={class:"metric-icon"},Xt={class:"panel employee-panel"},Jt={class:"panel-heading"},Yt={class:"panel-badge"},Zt={key:0,class:"dept-dot"},Kt={key:2},te={class:"panel target-panel"},ee={class:"panel-heading"},ae={class:"panel-badge"},ne={class:"target-layout"},le={class:"target-summary"},se={class:"target-numbers"},oe={class:"is-teal"},ie={key:0},re={key:1,class:"target-empty"},me={class:"target-chart-wrap"},de={class:"ranking-grid"},pe={class:"panel ranking-panel"},ue={class:"panel-heading"},ce={key:0,class:"ranking-list"},_e={class:"rank-track"},ge={class:"panel ranking-panel"},be={class:"panel-heading"},fe={key:0,class:"ranking-list ranking-list--blue"},he={class:"rank-track"},ye={class:"panel ranking-panel"},ve={class:"panel-heading"},ke={key:0,class:"ranking-list ranking-list--blue"},we={class:"rank-track"},xe={class:"panel department-panel"},Ne={class:"panel-heading"},Se={class:"panel-badge"},Me={class:"data-note"},$e=L({name:"firstVisitRegistrationStatsPage"}),Ce=L({...$e,setup(Ve){const E=()=>({meta:{time_type:"today",time_label:"今日",start_date:"",end_date:"",generated_at:"",scope_value:4,scope_label:"",selected_dept_name:"",selected_assistant_name:"",member_count:0,registration_rule:"",appointment_rule:"",performance_rule:""},filters:{departments:[],assistants:[]},summary:{registration_count:0,registration_compare_count:0,registration_compare_rate:null,appointment_count:0,appointment_compare_count:0,appointment_compare_rate:null,order_count:0,order_amount:0,range_label:"今日"},employee_rows:[],rankings:{performance:[],registrations:[],appointments:[]},departments:[],target:{year:new Date().getFullYear(),target_amount:0,actual_amount:0,completion_rate:null,department_count:0,scope_note:"",months:[],target_cumulative:[],actual_cumulative:[]}}),x=Mt(!1),a=O(E()),p=O({time_type:"today"}),P=[{label:"今日",value:"today"},{label:"昨天",value:"yesterday"},{label:"本周",value:"week"},{label:"本月",value:"month"}],A={label:"name",value:"id",children:"children"},B=$(()=>Math.max(0,...a.rankings.performance.map(n=>Number(n.value)||0))),R=$(()=>Math.max(0,...a.rankings.registrations.map(n=>Number(n.value)||0))),I=$(()=>Math.max(0,...a.rankings.appointments.map(n=>Number(n.value)||0))),U=$(()=>({animationDuration:450,grid:{left:18,right:18,top:18,bottom:12,containLabel:!0},tooltip:{trigger:"axis",valueFormatter:n=>g(n)},xAxis:{type:"category",boundaryGap:!1,data:a.target.months,axisLine:{lineStyle:{color:"#d9e1e8"}},axisTick:{show:!1},axisLabel:{color:"#7d8b9c",fontSize:11}},yAxis:{type:"value",splitNumber:3,axisLabel:{color:"#8b98a8",formatter:n=>q(n)},splitLine:{lineStyle:{color:"#eef2f5"}}},series:[{name:"累计完成",type:"line",smooth:!0,symbol:"circle",symbolSize:5,data:a.target.actual_cumulative,lineStyle:{color:"#139a8c",width:3},itemStyle:{color:"#ffffff",borderColor:"#139a8c",borderWidth:2},areaStyle:{color:"rgba(19,154,140,.08)"}},{name:"累计目标",type:"line",smooth:!0,showSymbol:!1,data:a.target.target_cumulative,lineStyle:{color:"#5f86e8",width:2,type:"dashed"}}]}));async function y(){x.value=!0;try{const n={time_type:p.time_type};p.dept_id&&(n.dept_id=Number(p.dept_id)),p.assistant_id&&(n.assistant_id=Number(p.assistant_id));const e=await xt(n);Object.assign(a,E(),e||{})}catch(n){gt.error((n==null?void 0:n.message)||"挂号统计加载失败,请稍后重试")}finally{x.value=!1}}function j(){delete p.assistant_id,y()}function v(n){return Number(n||0).toLocaleString("zh-CN",{maximumFractionDigits:0})}function g(n){return`¥${Number(n||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function q(n){return Math.abs(n)>=1e4?`${(n/1e4).toFixed(n>=1e5?0:1)}万`:`${Math.round(n)}`}function G(n){return n==null?"未设置":`${Number(n).toFixed(1)}%`}function H(n){return Math.min(100,Math.max(0,Number(n)||0))}function z(n){if(n==null)return"上期无数据,暂不计算环比";const e=Number(n);return e===0?"与上期持平":`${e>0?"较上期增长":"较上期下降"} ${Math.abs(e).toFixed(1)}%`}function N(n){if(n==null)return"—";const e=Number(n);return`${e>0?"+":""}${e.toFixed(1)}%`}function h(n){return n==null||Number(n)===0?"is-neutral":Number(n)>0?"is-up":"is-down"}function C(n,e){return e<=0?"0%":`${Math.max(4,Math.min(100,Number(n||0)/e*100))}%`}function Q(n){return String(n||"员").trim().slice(-1)}function W(n,e){return Number((n==null?void 0:n.order_amount)||0)-Number((e==null?void 0:e.order_amount)||0)}return Nt(y),(n,e)=>{const f=lt,X=st,J=ot,Y=it,Z=rt,K=mt,tt=pt,m=dt,k=ut,F=ct,et=_t,at=nt;return St((r(),d("div",Ct,[t("header",Vt,[t("div",Et,[t("span",zt,[o(f,null,{default:i(()=>[o(_(bt))]),_:1})]),e[3]||(e[3]=t("div",null,[t("h1",null,"挂号统计"),t("p",null,"挂号、预约、诊单与目标数据按当前角色和部门权限实时汇总")],-1))]),t("div",Ft,[t("span",Tt,[o(f,null,{default:i(()=>[o(_(ft))]),_:1}),u(s(a.meta.scope_label||"数据范围"),1)]),a.meta.generated_at?(r(),d("span",Dt,"更新于 "+s(a.meta.generated_at),1)):D("",!0),o(X,{icon:_(ht),loading:x.value,onClick:y},{default:i(()=>[...e[4]||(e[4]=[u("刷新",-1)])]),_:1},8,["icon","loading"])])]),t("section",Ot,[t("div",Lt,[e[5]||(e[5]=t("span",null,"部门",-1)),o(J,{modelValue:p.dept_id,"onUpdate:modelValue":e[0]||(e[0]=l=>p.dept_id=l),data:a.filters.departments,props:A,"node-key":"id",clearable:"",filterable:"","check-strictly":"","default-expand-all":"",placeholder:"全部可见部门",class:"dept-select",onChange:j},null,8,["modelValue","data"])]),t("div",Pt,[e[6]||(e[6]=t("span",null,"时间",-1)),o(Y,{modelValue:p.time_type,"onUpdate:modelValue":e[1]||(e[1]=l=>p.time_type=l),options:P,onChange:y},null,8,["modelValue"])]),t("div",At,[e[7]||(e[7]=t("span",null,"员工",-1)),o(K,{modelValue:p.assistant_id,"onUpdate:modelValue":e[2]||(e[2]=l=>p.assistant_id=l),clearable:"",filterable:"",placeholder:"全部可见员工",class:"employee-select",onChange:y},{default:i(()=>[(r(!0),d(S,null,M(a.filters.assistants,l=>(r(),w(Z,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t("div",Bt,[t("strong",null,s(a.meta.start_date||"—"),1),t("span",null,"至 "+s(a.meta.end_date||"—")+" · "+s(a.meta.member_count||0)+" 位员工",1)])]),t("section",Rt,[t("article",It,[t("div",Ut,[o(f,null,{default:i(()=>[o(_(T))]),_:1})]),t("div",null,[t("span",null,s(a.meta.time_label||"今日")+"总挂号",1),t("strong",null,s(v(a.summary.registration_count)),1),t("small",{class:c(h(a.summary.registration_compare_rate))},s(z(a.summary.registration_compare_rate)),3)])]),t("article",jt,[t("div",qt,[o(f,null,{default:i(()=>[o(_(yt))]),_:1})]),t("div",null,[t("span",null,s(a.meta.time_label||"今日")+"总预约",1),t("strong",null,s(v(a.summary.appointment_count)),1),t("small",{class:c(h(a.summary.appointment_compare_rate))},s(z(a.summary.appointment_compare_rate)),3)])]),t("article",Gt,[t("div",Ht,[o(f,null,{default:i(()=>[o(_(vt))]),_:1})]),t("div",null,[t("span",null,s(a.meta.time_label||"今日")+"总诊单",1),t("strong",null,s(v(a.summary.order_count)),1),e[8]||(e[8]=t("small",null,"排除取消、拒收和退款订单",-1))])]),t("article",Qt,[t("div",Wt,[o(f,null,{default:i(()=>[o(_(T))]),_:1})]),t("div",null,[t("span",null,s(a.meta.time_label||"今日")+"总业绩",1),t("strong",null,s(g(a.summary.order_amount)),1),e[9]||(e[9]=t("small",null,"按业务订单创建人归属",-1))])])]),t("section",Xt,[t("div",Jt,[e[10]||(e[10]=t("div",null,[t("h2",null,"本组员工挂号与预约统计"),t("p",null,"挂号按已支付且实收低于 10 元的支付订单统计;预约按预约记录统计")],-1)),t("span",Yt,s(a.meta.time_label||"当前范围"),1)]),o(F,{data:a.employee_rows,"row-key":"id","tree-props":{children:"children"},"default-expand-all":"",class:"stats-table"},{empty:i(()=>[o(k,{description:"当前权限与筛选范围内暂无医助数据"})]),default:i(()=>[o(m,{prop:"name",label:"部门 / 员工","min-width":"250",fixed:"left"},{default:i(({row:l})=>[t("div",{class:c(["name-cell",`is-${l.row_type}`])},[l.row_type==="department"?(r(),d("span",Zt)):(r(),w(tt,{key:1,size:26},{default:i(()=>[u(s(Q(l.name)),1)]),_:2},1024)),t("strong",null,s(l.name),1),l.row_type==="department"?(r(),d("em",Kt,s(l.member_count)+" 人",1)):D("",!0)],2)]),_:1}),o(m,{prop:"registration_count",label:`${a.meta.time_label||"当前"}挂号`,"min-width":"118",align:"right",sortable:""},null,8,["label"]),o(m,{prop:"appointment_count",label:`${a.meta.time_label||"当前"}预约`,"min-width":"118",align:"right",sortable:""},null,8,["label"]),o(m,{prop:"tomorrow_count",label:"明日预约","min-width":"105",align:"right",sortable:""}),o(m,{prop:"day_after_count",label:"后日预约","min-width":"105",align:"right",sortable:""}),o(m,{prop:"order_count",label:"诊单","min-width":"86",align:"right",sortable:""}),o(m,{label:"业绩","min-width":"128",align:"right",sortable:"","sort-method":W},{default:i(({row:l})=>[u(s(g(l.order_amount)),1)]),_:1}),o(m,{label:"挂号较上期","min-width":"112",align:"right"},{default:i(({row:l})=>[t("span",{class:c(["rate-text",h(l.registration_compare_rate)])},s(N(l.registration_compare_rate)),3)]),_:1}),o(m,{label:"预约较上期","min-width":"112",align:"right"},{default:i(({row:l})=>[t("span",{class:c(["rate-text",h(l.appointment_compare_rate)])},s(N(l.appointment_compare_rate)),3)]),_:1}),o(m,{label:"状态","min-width":"92",align:"center"},{default:i(()=>[...e[11]||(e[11]=[t("span",{class:"status-pill"},[t("i"),u("正常")],-1)])]),_:1})]),_:1},8,["data"])]),t("section",te,[t("div",ee,[t("div",null,[e[12]||(e[12]=t("h2",null,"一诊诊金目标追踪",-1)),t("p",null,s(a.target.year)+" 年 · "+s(a.target.scope_note),1)]),t("span",ae,s(a.target.department_count||0)+" 个目标部门",1)]),t("div",ne,[t("div",le,[t("div",se,[t("div",null,[e[13]||(e[13]=t("span",null,"年度目标",-1)),t("strong",null,s(g(a.target.target_amount)),1)]),t("div",null,[e[14]||(e[14]=t("span",null,"已完成",-1)),t("strong",null,s(g(a.target.actual_amount)),1)]),t("div",null,[e[15]||(e[15]=t("span",null,"完成率",-1)),t("strong",oe,s(G(a.target.completion_rate)),1)])]),o(et,{percentage:H(a.target.completion_rate),"show-text":!1,"stroke-width":13,color:"#139a8c"},null,8,["percentage"]),Number(a.target.target_amount)>0?(r(),d("p",ie," 尚差 "+s(g(Math.max(0,Number(a.target.target_amount)-Number(a.target.actual_amount))))+" 达成年度目标 ",1)):(r(),d("p",re,"当前范围未维护可用目标,实际业绩仍按统一口径正常统计。"))]),t("div",me,[e[16]||(e[16]=t("div",{class:"chart-legend"},[t("i",{class:"actual"}),u("累计完成 "),t("i",{class:"target"}),u("累计目标")],-1)),o(_(wt),{class:"target-chart",option:U.value,autoresize:""},null,8,["option"])])])]),t("section",de,[t("article",pe,[t("div",ue,[t("div",null,[t("h2",null,s(a.meta.time_label||"今日")+"业绩 TOP",1),e[17]||(e[17]=t("p",null,"按业务订单创建人排序",-1))]),e[18]||(e[18]=t("span",{class:"panel-badge"},"金额",-1))]),a.rankings.performance.length?(r(),d("div",ce,[(r(!0),d(S,null,M(a.rankings.performance,(l,b)=>(r(),d("div",{key:`performance-${l.admin_id}`,class:"ranking-row"},[t("b",{class:c({"is-top":b<3})},s(b+1),3),t("span",null,[u(s(l.name),1),t("small",null,s(l.count)+" 单",1)]),t("div",_e,[t("i",{style:V({width:C(l.value,B.value)})},null,4)]),t("strong",null,s(g(l.value)),1)]))),128))])):(r(),w(k,{key:1,"image-size":52,description:"暂无业绩数据"}))]),t("article",ge,[t("div",be,[t("div",null,[t("h2",null,s(a.meta.time_label||"今日")+"挂号 TOP",1),e[19]||(e[19]=t("p",null,"按低于 10 元的已支付订单笔数排序",-1))]),e[20]||(e[20]=t("span",{class:"panel-badge"},"挂号",-1))]),a.rankings.registrations.length?(r(),d("div",fe,[(r(!0),d(S,null,M(a.rankings.registrations,(l,b)=>(r(),d("div",{key:`registration-${l.admin_id}`,class:"ranking-row"},[t("b",{class:c({"is-top":b<3})},s(b+1),3),t("span",null,[u(s(l.name),1),e[21]||(e[21]=t("small",null,"已支付小额订单",-1))]),t("div",he,[t("i",{style:V({width:C(l.value,R.value)})},null,4)]),t("strong",null,s(v(l.value))+" 笔",1)]))),128))])):(r(),w(k,{key:1,"image-size":52,description:"暂无挂号数据"}))]),t("article",ye,[t("div",ve,[t("div",null,[t("h2",null,s(a.meta.time_label||"今日")+"预约 TOP",1),e[22]||(e[22]=t("p",null,"按有效预约记录数量排序",-1))]),e[23]||(e[23]=t("span",{class:"panel-badge"},"预约",-1))]),a.rankings.appointments.length?(r(),d("div",ke,[(r(!0),d(S,null,M(a.rankings.appointments,(l,b)=>(r(),d("div",{key:`appointment-${l.admin_id}`,class:"ranking-row"},[t("b",{class:c({"is-top":b<3})},s(b+1),3),t("span",null,[u(s(l.name),1),e[24]||(e[24]=t("small",null,"有效预约",-1))]),t("div",we,[t("i",{style:V({width:C(l.value,I.value)})},null,4)]),t("strong",null,s(v(l.value))+" 个",1)]))),128))])):(r(),w(k,{key:1,"image-size":52,description:"暂无预约数据"}))])]),t("section",xe,[t("div",Ne,[e[25]||(e[25]=t("div",null,[t("h2",null,"按部门统计"),t("p",null,"员工按最深层有效归属部门唯一计入,避免多部门重复累计")],-1)),t("span",Se,s(a.departments.length)+" 个部门",1)]),o(F,{data:a.departments,class:"stats-table department-table"},{empty:i(()=>[o(k,{description:"当前范围暂无部门汇总"})]),default:i(()=>[o(m,{prop:"name",label:"部门","min-width":"220"},{default:i(({row:l})=>[t("strong",null,s(l.name),1)]),_:1}),o(m,{prop:"member_count",label:"人数","min-width":"90",align:"right",sortable:""}),o(m,{prop:"registration_count",label:`${a.meta.time_label||"当前"}挂号`,"min-width":"118",align:"right",sortable:""},null,8,["label"]),o(m,{prop:"appointment_count",label:`${a.meta.time_label||"当前"}预约`,"min-width":"118",align:"right",sortable:""},null,8,["label"]),o(m,{prop:"tomorrow_count",label:"明日预约","min-width":"105",align:"right",sortable:""}),o(m,{prop:"order_count",label:"诊单","min-width":"90",align:"right",sortable:""}),o(m,{label:"业绩","min-width":"130",align:"right"},{default:i(({row:l})=>[u(s(g(l.order_amount)),1)]),_:1}),o(m,{label:"挂号环比","min-width":"110",align:"right"},{default:i(({row:l})=>[t("span",{class:c(["rate-text",h(l.registration_compare_rate)])},s(N(l.registration_compare_rate)),3)]),_:1}),o(m,{label:"预约环比","min-width":"110",align:"right"},{default:i(({row:l})=>[t("span",{class:c(["rate-text",h(l.appointment_compare_rate)])},s(N(l.appointment_compare_rate)),3)]),_:1})]),_:1},8,["data"])]),t("footer",Me,[o(f,null,{default:i(()=>[o(_(kt))]),_:1}),t("span",null,s(a.meta.registration_rule)+";"+s(a.meta.appointment_rule)+";"+s(a.meta.performance_rule)+"。",1)])])),[[at,x.value]])}}}),ba=$t(Ce,[["__scopeId","data-v-31f07bda"]]);export{ba as default}; +import{M as nt,d as lt,i as st,Z as ot,aj as it,R as rt,Q as mt,O as dt,q as pt,X as ut,N as ct,a1 as _t,E as gt}from"./element-plus-DGP1XOrU.js";import{aa as bt,a8 as ft,M as ht,X as T,k as yt,ab as vt,i as kt}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as wt}from"./vue-echarts-BNtg2q_G.js";import{x as xt}from"./first_visit-lwfDQsu4.js";import{f as L,b as Nt,aP as St,ak as r,I as d,J as t,a as o,aN as i,O as u,H as D,F as S,ap as M,G as w,A as $}from"./@vue/runtime-core-C6bnekPw.js";import{r as O,y as _,n as Mt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as c,p as V}from"./@vue/shared-mAAVTE9n.js";import{_ as $t}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ct={class:"registration-stats","element-loading-text":"正在汇总权限范围内的挂号与预约数据"},Vt={class:"page-heading"},Et={class:"heading-copy"},zt={class:"heading-mark"},Ft={class:"heading-actions"},Tt={class:"scope-chip"},Dt={key:0,class:"update-time"},Ot={class:"filter-strip"},Lt={class:"filter-item"},Pt={class:"filter-item filter-item--time"},At={class:"filter-item"},Bt={class:"filter-summary"},Rt={class:"metric-grid","aria-label":"挂号统计核心指标"},It={class:"metric-card metric-card--teal"},Ut={class:"metric-icon"},jt={class:"metric-card metric-card--blue"},qt={class:"metric-icon"},Gt={class:"metric-card metric-card--violet"},Ht={class:"metric-icon"},Qt={class:"metric-card metric-card--amber"},Wt={class:"metric-icon"},Xt={class:"panel employee-panel"},Jt={class:"panel-heading"},Yt={class:"panel-badge"},Zt={key:0,class:"dept-dot"},Kt={key:2},te={class:"panel target-panel"},ee={class:"panel-heading"},ae={class:"panel-badge"},ne={class:"target-layout"},le={class:"target-summary"},se={class:"target-numbers"},oe={class:"is-teal"},ie={key:0},re={key:1,class:"target-empty"},me={class:"target-chart-wrap"},de={class:"ranking-grid"},pe={class:"panel ranking-panel"},ue={class:"panel-heading"},ce={key:0,class:"ranking-list"},_e={class:"rank-track"},ge={class:"panel ranking-panel"},be={class:"panel-heading"},fe={key:0,class:"ranking-list ranking-list--blue"},he={class:"rank-track"},ye={class:"panel ranking-panel"},ve={class:"panel-heading"},ke={key:0,class:"ranking-list ranking-list--blue"},we={class:"rank-track"},xe={class:"panel department-panel"},Ne={class:"panel-heading"},Se={class:"panel-badge"},Me={class:"data-note"},$e=L({name:"firstVisitRegistrationStatsPage"}),Ce=L({...$e,setup(Ve){const E=()=>({meta:{time_type:"today",time_label:"今日",start_date:"",end_date:"",generated_at:"",scope_value:4,scope_label:"",selected_dept_name:"",selected_assistant_name:"",member_count:0,registration_rule:"",appointment_rule:"",performance_rule:""},filters:{departments:[],assistants:[]},summary:{registration_count:0,registration_compare_count:0,registration_compare_rate:null,appointment_count:0,appointment_compare_count:0,appointment_compare_rate:null,order_count:0,order_amount:0,range_label:"今日"},employee_rows:[],rankings:{performance:[],registrations:[],appointments:[]},departments:[],target:{year:new Date().getFullYear(),target_amount:0,actual_amount:0,completion_rate:null,department_count:0,scope_note:"",months:[],target_cumulative:[],actual_cumulative:[]}}),x=Mt(!1),a=O(E()),p=O({time_type:"today"}),P=[{label:"今日",value:"today"},{label:"昨天",value:"yesterday"},{label:"本周",value:"week"},{label:"本月",value:"month"}],A={label:"name",value:"id",children:"children"},B=$(()=>Math.max(0,...a.rankings.performance.map(n=>Number(n.value)||0))),R=$(()=>Math.max(0,...a.rankings.registrations.map(n=>Number(n.value)||0))),I=$(()=>Math.max(0,...a.rankings.appointments.map(n=>Number(n.value)||0))),U=$(()=>({animationDuration:450,grid:{left:18,right:18,top:18,bottom:12,containLabel:!0},tooltip:{trigger:"axis",valueFormatter:n=>g(n)},xAxis:{type:"category",boundaryGap:!1,data:a.target.months,axisLine:{lineStyle:{color:"#d9e1e8"}},axisTick:{show:!1},axisLabel:{color:"#7d8b9c",fontSize:11}},yAxis:{type:"value",splitNumber:3,axisLabel:{color:"#8b98a8",formatter:n=>q(n)},splitLine:{lineStyle:{color:"#eef2f5"}}},series:[{name:"累计完成",type:"line",smooth:!0,symbol:"circle",symbolSize:5,data:a.target.actual_cumulative,lineStyle:{color:"#139a8c",width:3},itemStyle:{color:"#ffffff",borderColor:"#139a8c",borderWidth:2},areaStyle:{color:"rgba(19,154,140,.08)"}},{name:"累计目标",type:"line",smooth:!0,showSymbol:!1,data:a.target.target_cumulative,lineStyle:{color:"#5f86e8",width:2,type:"dashed"}}]}));async function y(){x.value=!0;try{const n={time_type:p.time_type};p.dept_id&&(n.dept_id=Number(p.dept_id)),p.assistant_id&&(n.assistant_id=Number(p.assistant_id));const e=await xt(n);Object.assign(a,E(),e||{})}catch(n){gt.error((n==null?void 0:n.message)||"挂号统计加载失败,请稍后重试")}finally{x.value=!1}}function j(){delete p.assistant_id,y()}function v(n){return Number(n||0).toLocaleString("zh-CN",{maximumFractionDigits:0})}function g(n){return`¥${Number(n||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function q(n){return Math.abs(n)>=1e4?`${(n/1e4).toFixed(n>=1e5?0:1)}万`:`${Math.round(n)}`}function G(n){return n==null?"未设置":`${Number(n).toFixed(1)}%`}function H(n){return Math.min(100,Math.max(0,Number(n)||0))}function z(n){if(n==null)return"上期无数据,暂不计算环比";const e=Number(n);return e===0?"与上期持平":`${e>0?"较上期增长":"较上期下降"} ${Math.abs(e).toFixed(1)}%`}function N(n){if(n==null)return"—";const e=Number(n);return`${e>0?"+":""}${e.toFixed(1)}%`}function h(n){return n==null||Number(n)===0?"is-neutral":Number(n)>0?"is-up":"is-down"}function C(n,e){return e<=0?"0%":`${Math.max(4,Math.min(100,Number(n||0)/e*100))}%`}function Q(n){return String(n||"员").trim().slice(-1)}function W(n,e){return Number((n==null?void 0:n.order_amount)||0)-Number((e==null?void 0:e.order_amount)||0)}return Nt(y),(n,e)=>{const f=lt,X=st,J=ot,Y=it,Z=rt,K=mt,tt=pt,m=dt,k=ut,F=ct,et=_t,at=nt;return St((r(),d("div",Ct,[t("header",Vt,[t("div",Et,[t("span",zt,[o(f,null,{default:i(()=>[o(_(bt))]),_:1})]),e[3]||(e[3]=t("div",null,[t("h1",null,"挂号统计"),t("p",null,"挂号、预约、诊单与目标数据按当前角色和部门权限实时汇总")],-1))]),t("div",Ft,[t("span",Tt,[o(f,null,{default:i(()=>[o(_(ft))]),_:1}),u(s(a.meta.scope_label||"数据范围"),1)]),a.meta.generated_at?(r(),d("span",Dt,"更新于 "+s(a.meta.generated_at),1)):D("",!0),o(X,{icon:_(ht),loading:x.value,onClick:y},{default:i(()=>[...e[4]||(e[4]=[u("刷新",-1)])]),_:1},8,["icon","loading"])])]),t("section",Ot,[t("div",Lt,[e[5]||(e[5]=t("span",null,"部门",-1)),o(J,{modelValue:p.dept_id,"onUpdate:modelValue":e[0]||(e[0]=l=>p.dept_id=l),data:a.filters.departments,props:A,"node-key":"id",clearable:"",filterable:"","check-strictly":"","default-expand-all":"",placeholder:"全部可见部门",class:"dept-select",onChange:j},null,8,["modelValue","data"])]),t("div",Pt,[e[6]||(e[6]=t("span",null,"时间",-1)),o(Y,{modelValue:p.time_type,"onUpdate:modelValue":e[1]||(e[1]=l=>p.time_type=l),options:P,onChange:y},null,8,["modelValue"])]),t("div",At,[e[7]||(e[7]=t("span",null,"员工",-1)),o(K,{modelValue:p.assistant_id,"onUpdate:modelValue":e[2]||(e[2]=l=>p.assistant_id=l),clearable:"",filterable:"",placeholder:"全部可见员工",class:"employee-select",onChange:y},{default:i(()=>[(r(!0),d(S,null,M(a.filters.assistants,l=>(r(),w(Z,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t("div",Bt,[t("strong",null,s(a.meta.start_date||"—"),1),t("span",null,"至 "+s(a.meta.end_date||"—")+" · "+s(a.meta.member_count||0)+" 位员工",1)])]),t("section",Rt,[t("article",It,[t("div",Ut,[o(f,null,{default:i(()=>[o(_(T))]),_:1})]),t("div",null,[t("span",null,s(a.meta.time_label||"今日")+"总挂号",1),t("strong",null,s(v(a.summary.registration_count)),1),t("small",{class:c(h(a.summary.registration_compare_rate))},s(z(a.summary.registration_compare_rate)),3)])]),t("article",jt,[t("div",qt,[o(f,null,{default:i(()=>[o(_(yt))]),_:1})]),t("div",null,[t("span",null,s(a.meta.time_label||"今日")+"总预约",1),t("strong",null,s(v(a.summary.appointment_count)),1),t("small",{class:c(h(a.summary.appointment_compare_rate))},s(z(a.summary.appointment_compare_rate)),3)])]),t("article",Gt,[t("div",Ht,[o(f,null,{default:i(()=>[o(_(vt))]),_:1})]),t("div",null,[t("span",null,s(a.meta.time_label||"今日")+"总诊单",1),t("strong",null,s(v(a.summary.order_count)),1),e[8]||(e[8]=t("small",null,"排除取消、拒收和退款订单",-1))])]),t("article",Qt,[t("div",Wt,[o(f,null,{default:i(()=>[o(_(T))]),_:1})]),t("div",null,[t("span",null,s(a.meta.time_label||"今日")+"总业绩",1),t("strong",null,s(g(a.summary.order_amount)),1),e[9]||(e[9]=t("small",null,"按业务订单创建人归属",-1))])])]),t("section",Xt,[t("div",Jt,[e[10]||(e[10]=t("div",null,[t("h2",null,"本组员工挂号与预约统计"),t("p",null,"挂号按已支付且实收低于 10 元的支付订单统计;预约按预约记录统计")],-1)),t("span",Yt,s(a.meta.time_label||"当前范围"),1)]),o(F,{data:a.employee_rows,"row-key":"id","tree-props":{children:"children"},"default-expand-all":"",class:"stats-table"},{empty:i(()=>[o(k,{description:"当前权限与筛选范围内暂无医助数据"})]),default:i(()=>[o(m,{prop:"name",label:"部门 / 员工","min-width":"250",fixed:"left"},{default:i(({row:l})=>[t("div",{class:c(["name-cell",`is-${l.row_type}`])},[l.row_type==="department"?(r(),d("span",Zt)):(r(),w(tt,{key:1,size:26},{default:i(()=>[u(s(Q(l.name)),1)]),_:2},1024)),t("strong",null,s(l.name),1),l.row_type==="department"?(r(),d("em",Kt,s(l.member_count)+" 人",1)):D("",!0)],2)]),_:1}),o(m,{prop:"registration_count",label:`${a.meta.time_label||"当前"}挂号`,"min-width":"118",align:"right",sortable:""},null,8,["label"]),o(m,{prop:"appointment_count",label:`${a.meta.time_label||"当前"}预约`,"min-width":"118",align:"right",sortable:""},null,8,["label"]),o(m,{prop:"tomorrow_count",label:"明日预约","min-width":"105",align:"right",sortable:""}),o(m,{prop:"day_after_count",label:"后日预约","min-width":"105",align:"right",sortable:""}),o(m,{prop:"order_count",label:"诊单","min-width":"86",align:"right",sortable:""}),o(m,{label:"业绩","min-width":"128",align:"right",sortable:"","sort-method":W},{default:i(({row:l})=>[u(s(g(l.order_amount)),1)]),_:1}),o(m,{label:"挂号较上期","min-width":"112",align:"right"},{default:i(({row:l})=>[t("span",{class:c(["rate-text",h(l.registration_compare_rate)])},s(N(l.registration_compare_rate)),3)]),_:1}),o(m,{label:"预约较上期","min-width":"112",align:"right"},{default:i(({row:l})=>[t("span",{class:c(["rate-text",h(l.appointment_compare_rate)])},s(N(l.appointment_compare_rate)),3)]),_:1}),o(m,{label:"状态","min-width":"92",align:"center"},{default:i(()=>[...e[11]||(e[11]=[t("span",{class:"status-pill"},[t("i"),u("正常")],-1)])]),_:1})]),_:1},8,["data"])]),t("section",te,[t("div",ee,[t("div",null,[e[12]||(e[12]=t("h2",null,"一诊诊金目标追踪",-1)),t("p",null,s(a.target.year)+" 年 · "+s(a.target.scope_note),1)]),t("span",ae,s(a.target.department_count||0)+" 个目标部门",1)]),t("div",ne,[t("div",le,[t("div",se,[t("div",null,[e[13]||(e[13]=t("span",null,"年度目标",-1)),t("strong",null,s(g(a.target.target_amount)),1)]),t("div",null,[e[14]||(e[14]=t("span",null,"已完成",-1)),t("strong",null,s(g(a.target.actual_amount)),1)]),t("div",null,[e[15]||(e[15]=t("span",null,"完成率",-1)),t("strong",oe,s(G(a.target.completion_rate)),1)])]),o(et,{percentage:H(a.target.completion_rate),"show-text":!1,"stroke-width":13,color:"#139a8c"},null,8,["percentage"]),Number(a.target.target_amount)>0?(r(),d("p",ie," 尚差 "+s(g(Math.max(0,Number(a.target.target_amount)-Number(a.target.actual_amount))))+" 达成年度目标 ",1)):(r(),d("p",re,"当前范围未维护可用目标,实际业绩仍按统一口径正常统计。"))]),t("div",me,[e[16]||(e[16]=t("div",{class:"chart-legend"},[t("i",{class:"actual"}),u("累计完成 "),t("i",{class:"target"}),u("累计目标")],-1)),o(_(wt),{class:"target-chart",option:U.value,autoresize:""},null,8,["option"])])])]),t("section",de,[t("article",pe,[t("div",ue,[t("div",null,[t("h2",null,s(a.meta.time_label||"今日")+"业绩 TOP",1),e[17]||(e[17]=t("p",null,"按业务订单创建人排序",-1))]),e[18]||(e[18]=t("span",{class:"panel-badge"},"金额",-1))]),a.rankings.performance.length?(r(),d("div",ce,[(r(!0),d(S,null,M(a.rankings.performance,(l,b)=>(r(),d("div",{key:`performance-${l.admin_id}`,class:"ranking-row"},[t("b",{class:c({"is-top":b<3})},s(b+1),3),t("span",null,[u(s(l.name),1),t("small",null,s(l.count)+" 单",1)]),t("div",_e,[t("i",{style:V({width:C(l.value,B.value)})},null,4)]),t("strong",null,s(g(l.value)),1)]))),128))])):(r(),w(k,{key:1,"image-size":52,description:"暂无业绩数据"}))]),t("article",ge,[t("div",be,[t("div",null,[t("h2",null,s(a.meta.time_label||"今日")+"挂号 TOP",1),e[19]||(e[19]=t("p",null,"按低于 10 元的已支付订单笔数排序",-1))]),e[20]||(e[20]=t("span",{class:"panel-badge"},"挂号",-1))]),a.rankings.registrations.length?(r(),d("div",fe,[(r(!0),d(S,null,M(a.rankings.registrations,(l,b)=>(r(),d("div",{key:`registration-${l.admin_id}`,class:"ranking-row"},[t("b",{class:c({"is-top":b<3})},s(b+1),3),t("span",null,[u(s(l.name),1),e[21]||(e[21]=t("small",null,"已支付小额订单",-1))]),t("div",he,[t("i",{style:V({width:C(l.value,R.value)})},null,4)]),t("strong",null,s(v(l.value))+" 笔",1)]))),128))])):(r(),w(k,{key:1,"image-size":52,description:"暂无挂号数据"}))]),t("article",ye,[t("div",ve,[t("div",null,[t("h2",null,s(a.meta.time_label||"今日")+"预约 TOP",1),e[22]||(e[22]=t("p",null,"按有效预约记录数量排序",-1))]),e[23]||(e[23]=t("span",{class:"panel-badge"},"预约",-1))]),a.rankings.appointments.length?(r(),d("div",ke,[(r(!0),d(S,null,M(a.rankings.appointments,(l,b)=>(r(),d("div",{key:`appointment-${l.admin_id}`,class:"ranking-row"},[t("b",{class:c({"is-top":b<3})},s(b+1),3),t("span",null,[u(s(l.name),1),e[24]||(e[24]=t("small",null,"有效预约",-1))]),t("div",we,[t("i",{style:V({width:C(l.value,I.value)})},null,4)]),t("strong",null,s(v(l.value))+" 个",1)]))),128))])):(r(),w(k,{key:1,"image-size":52,description:"暂无预约数据"}))])]),t("section",xe,[t("div",Ne,[e[25]||(e[25]=t("div",null,[t("h2",null,"按部门统计"),t("p",null,"员工按最深层有效归属部门唯一计入,避免多部门重复累计")],-1)),t("span",Se,s(a.departments.length)+" 个部门",1)]),o(F,{data:a.departments,class:"stats-table department-table"},{empty:i(()=>[o(k,{description:"当前范围暂无部门汇总"})]),default:i(()=>[o(m,{prop:"name",label:"部门","min-width":"220"},{default:i(({row:l})=>[t("strong",null,s(l.name),1)]),_:1}),o(m,{prop:"member_count",label:"人数","min-width":"90",align:"right",sortable:""}),o(m,{prop:"registration_count",label:`${a.meta.time_label||"当前"}挂号`,"min-width":"118",align:"right",sortable:""},null,8,["label"]),o(m,{prop:"appointment_count",label:`${a.meta.time_label||"当前"}预约`,"min-width":"118",align:"right",sortable:""},null,8,["label"]),o(m,{prop:"tomorrow_count",label:"明日预约","min-width":"105",align:"right",sortable:""}),o(m,{prop:"order_count",label:"诊单","min-width":"90",align:"right",sortable:""}),o(m,{label:"业绩","min-width":"130",align:"right"},{default:i(({row:l})=>[u(s(g(l.order_amount)),1)]),_:1}),o(m,{label:"挂号环比","min-width":"110",align:"right"},{default:i(({row:l})=>[t("span",{class:c(["rate-text",h(l.registration_compare_rate)])},s(N(l.registration_compare_rate)),3)]),_:1}),o(m,{label:"预约环比","min-width":"110",align:"right"},{default:i(({row:l})=>[t("span",{class:c(["rate-text",h(l.appointment_compare_rate)])},s(N(l.appointment_compare_rate)),3)]),_:1})]),_:1},8,["data"])]),t("footer",Me,[o(f,null,{default:i(()=>[o(_(kt))]),_:1}),t("span",null,s(a.meta.registration_rule)+";"+s(a.meta.appointment_rule)+";"+s(a.meta.performance_rule)+"。",1)])])),[[at,x.value]])}}}),ba=$t(Ce,[["__scopeId","data-v-31f07bda"]]);export{ba as default}; diff --git a/server/public/admin/assets/index-MdTuu9az.js b/server/public/admin/assets/index-DX2H1tQM.js similarity index 99% rename from server/public/admin/assets/index-MdTuu9az.js rename to server/public/admin/assets/index-DX2H1tQM.js index 31c78b95f..cf2fb9573 100644 --- a/server/public/admin/assets/index-MdTuu9az.js +++ b/server/public/admin/assets/index-DX2H1tQM.js @@ -1 +1 @@ -import{E as g,M as Qt,d as Xt,i as ea,H as ta,L as aa,O as la,U as sa,g as na,X as ia,N as oa,B as da,Q as ra,R as ua,D as ma,V as ca,T as _a,C as pa,Z as fa,W as ba,G as ga,F as va,h as ya,S as ka,a as wa}from"./element-plus-DGP1XOrU.js";import{s as ha}from"./@vue/runtime-dom-DDAG46FW.js";import{ae as Na,a8 as Ca,M as nt,a7 as Va,aj as $a,S as Sa,ak as xa,al as it,am as ot,an as Aa,ai as ze,L as dt,Z as Oe,A as rt,g as Pa,d as ut,H as Ia,J as Ea,O as Da,ao as Ta}from"./@element-plus/icons-vue-CbYn5zW9.js";import{C as Ma,D as Ua,E as La,F as Fa,G as Ba,H as ja,I as za,J as Oa,K as qa,L as Ha}from"./first_visit-BYIyH6Y1.js";import Ja from"./WecomFloatingWidgetBuilder-BF_tetsw.js";import mt from"./PromotionAutomationForm-COkTGznv.js";import{d as Se,c as xe,i as ct,a as _t,s as pt}from"./WelcomeMessageEditor-A12mxrKO.js";import{f as bt,w as qe,b as Ra,aP as ft,ak as r,I as b,J as s,a as i,aN as o,O as _,H as C,F as ee,ap as te,G as V,at as Ka,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{y,r as W,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,o as D}from"./@vue/shared-mAAVTE9n.js";import{_ as Wa}from"./index-fRv3NTFQ.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ya={class:"promotion-page","element-loading-text":"正在加载推广配置"},Ga={class:"page-header"},Za={class:"heading-copy"},Qa={class:"heading-icon"},Xa={class:"heading-actions"},el={class:"scope-chip"},tl={key:0,class:"update-time"},al={class:"metric-grid"},ll={class:"metric-card"},sl={class:"metric-icon is-teal"},nl={class:"metric-card"},il={class:"metric-icon is-blue"},ol={class:"metric-card"},dl={class:"metric-icon is-green"},rl={class:"metric-card"},ul={class:"metric-icon is-orange"},ml={class:"workspace-card"},cl={class:"tab-nav","aria-label":"企业微信获客助手功能"},_l={key:0,class:"tab-content links-tab"},pl={class:"section-heading"},fl={class:"section-heading-actions"},bl={key:0,class:"selection-count"},gl={key:0,class:"pool-layout"},vl={class:"pool-sidebar"},yl=["onClick"],kl={class:"pool-main"},wl={key:0,class:"pool-toolbar"},hl={class:"pool-title-row"},Nl={class:"owner-tag"},Cl={class:"toolbar-actions"},Vl={class:"member-table-area"},$l={class:"member-cell"},Sl={key:0,class:"sync-retry-tip"},xl={key:1,class:"tab-content customer-stats-tab"},Al={class:"section-heading customer-stats-heading"},Pl={class:"customer-heading-actions"},Il={key:0,class:"update-time"},El={class:"customer-metric-grid","aria-label":"获客客户消息汇总"},Dl={class:"customer-metric-card"},Tl={class:"metric-icon is-teal"},Ml={class:"customer-metric-card"},Ul={class:"metric-icon is-blue"},Ll={class:"customer-metric-card"},Fl={class:"metric-icon is-green"},Bl={class:"customer-metric-card"},jl={class:"metric-icon is-orange"},zl={class:"customer-filter-bar"},Ol=["title"],ql={class:"member-cell"},Hl={class:"member-cell"},Jl={class:"customer-pagination"},Rl={key:2,class:"tab-content authorization-tab"},Kl={class:"configuration-state"},Wl={key:0},Yl={key:1},Gl={key:0,class:"missing-fields"},Zl={class:"callback-list"},Ql={class:"configuration-actions"},Xl={key:3,class:"tab-content install-tab"},es={class:"section-heading"},ts={class:"member-tree-option__label"},as={key:0,class:"member-tree-option__count"},ls={key:1,class:"member-tree-option__detail"},ss={class:"form-tip"},ns={key:0,class:"uploading-save-tip"},is={key:1,class:"batch-pool-summary"},os={key:0},ds={class:"batch-config-section"},rs={class:"batch-field-grid"},us={key:0,class:"batch-config-section automation-batch-section"},ms={class:"batch-section-selectors"},cs={key:0,class:"uploading-save-tip"},_s={key:0,class:"access-pool-preview"},ps={key:0},fs=bt({name:"firstVisitWecomPromotionPage"}),bs=bt({...fs,setup(gs){const He=()=>({meta:{admin_id:0,scope_label:"",generated_at:""},config:{mode:"internal",configured:!1,ready:!1,missing:[],corp_id_masked:"",agent_id:"",secret_configured:!1,callback_ready:!1,callback_url:"",official_doc:""},summary:{configured_apps:0,pool_count:0,online_links:0,today_clicks:0},pools:[],links:[],member_options:[],operator_options:[],department_options:[],automation_installed:!1,customer_acquisition_link_example:"https://work.weixin.qq.com/ca/xxxxxxxx"}),m=W(He()),ye=h(!1),L=h("links"),ae=h(),oe=h(),F=h([]),ue=h(!1),U=h(!1),ke=h(!1),me=h(!1),Y=h(!1),Ae=h(0),we=h(0),ce=h(!1),le=h(!1),_e=h(!1),A=h(!1),G=h(!1),Je=h(),pe=h(""),k=W({id:0,name:"",fallback_url:"",status:1,member_admin_ids:[],skip_verify:0,main_url:"",automation_config:Se()}),Pe=h(),se=h(""),Z=h(!1),P=W({pool_ids:[],operator_admin_ids:[],action:"grant"}),p=W({skip_verify:!1,fallback_url:!1,status:!1,reception:!1,customer:!1,welcome:!1}),I=W({pool_ids:[],skip_verify:0,fallback_url:"",status:1,automation_config:Se()}),T=W({id:0,name:"",userid:"",daily_limit:0,status:1,active_range:[],remark:""}),fe=h(!1),Re=h(!1),Ie=h(!1),M=W({link_id:"",userid:"",chat_status:""}),B=W({page_no:1,page_size:20,total:0}),x=W({summary:{customer_count:0,messaged_customer_count:0,message_customer_rate:0,received_message_count:0,message_count_known_count:0},rows:[],link_options:[],member_options:[],meta:{last_synced_at:""}}),N=j(()=>m.pools.find(t=>Number(t.id)===ae.value)),gt=j(()=>{var t;return Array.isArray((t=N.value)==null?void 0:t.member_rules)?N.value.member_rules:[]}),Ee=j(()=>m.pools.find(t=>Number(t.id)===oe.value)),he=j(()=>m.pools.filter(t=>P.pool_ids.includes(Number(t.id)))),be=j(()=>m.pools.filter(t=>I.pool_ids.includes(Number(t.id)))),Ke=j(()=>be.value.map(t=>new Set((Array.isArray(t.member_admin_ids)?t.member_admin_ids:[]).map(Number)))),We=j(()=>[...new Set(Ke.value.flatMap(t=>[...t]))]),De=j(()=>{const t=Ke.value;return t.length?[...t[0]].filter(e=>t.slice(1).every(l=>l.has(e))):[]}),vt=j(()=>["reception","customer","welcome"].filter(t=>!p[t])),yt={value:"value",label:"label",children:"children",disabled:"disabled"},Ye=j(()=>jt(m.department_options,m.member_options)),kt=j(()=>Ye.value.map(t=>t.value)),wt=j(()=>x.link_options.length?x.link_options:m.links.filter(t=>t.id).map(t=>({id:Number(t.id),name:t.name||t.remote_link_id||`链接 ${t.id}`}))),ht=j(()=>x.member_options.length?x.member_options:m.member_options.map(t=>({id:Number(t.id),userid:String(t.userid||""),name:t.name,department_name:Array.isArray(t.dept_names)?t.dept_names.join(" / "):t.department_name||t.dept_name||""})));qe(()=>m.pools.map(t=>`${Number(t.id)}:${t.can_manage_access?1:0}`).join(","),()=>{const t=m.pools.map(l=>Number(l.id)),e=new Set(m.pools.filter(l=>l.can_manage_access).map(l=>Number(l.id)));(!ae.value||!t.includes(ae.value))&&(ae.value=t[0]),(!oe.value||!t.includes(oe.value))&&(oe.value=t[0]),F.value=F.value.filter(l=>e.has(l))},{immediate:!0}),qe(L,t=>{t==="customer-stats"&&!Re.value&&ne()}),qe(()=>P.action,t=>{if(t!=="grant")return;const e=new Set(m.operator_options.filter(l=>l.can_grant).map(l=>Number(l.id)));P.operator_admin_ids=P.operator_admin_ids.filter(l=>e.has(Number(l)))});async function q(){ye.value=!0;try{const t=await Ua();Object.assign(m,He(),t||{})}catch(t){g.error((t==null?void 0:t.message)||"企业微信推广配置加载失败")}finally{ye.value=!1}}function Nt(t,e){if(!(t!=null&&t.can_manage_access))return;const l=Number(t.id),n=new Set(F.value);e?n.add(l):n.delete(l),F.value=[...n]}function Ct(t=F.value){const e=new Set(m.pools.filter(c=>c.can_manage_access).map(c=>Number(c.id))),l=[...new Set(t.map(Number).filter(c=>e.has(c)))];if(!l.length)return g.warning("请先选择可管理的分流方案");if(l.length>100)return g.warning("单次最多设置 100 个分流方案");const n=m.pools.find(c=>Number(c.id)===l[0]);Object.assign(p,{skip_verify:!1,fallback_url:!1,status:!1,reception:!1,customer:!1,welcome:!1}),Object.assign(I,{pool_ids:l,skip_verify:Number(n==null?void 0:n.skip_verify)===1?1:0,fallback_url:String((n==null?void 0:n.fallback_url)||""),status:Number(n==null?void 0:n.status)===1?1:0,automation_config:xe(n==null?void 0:n.automation_config)}),pe.value="",G.value=!1,_e.value=!0}function Te(t,e,l){const n=t,c=e;l.forEach(f=>{n[f]=JSON.parse(JSON.stringify(c[f]))})}function ge(t){var e;pe.value=t,(e=Je.value)==null||e.scrollTo({top:0,behavior:"smooth"}),g.warning(t)}async function Vt(){if(A.value||G.value)return;pe.value="";const t=m.automation_installed&&(p.reception||p.customer||p.welcome);if(!p.skip_verify&&!p.fallback_url&&!p.status&&!t)return ge("请至少勾选一项需要批量修改的配置");if(p.fallback_url&&I.fallback_url.trim()&&!ct(I.fallback_url.trim()))return ge("兜底获客助手链接必须为有效的 HTTP/HTTPS 地址");const e=xe(I.automation_config);if(p.reception&&e.reception_mode!=="scheduled"&&(e.reception_schedule=[]),p.welcome&&e.welcome_mode!=="channel"&&(e.welcome={text:"",attachments:[]}),p.welcome&&(e.welcome_mode!=="channel"||!e.welcome_schedule_enabled)&&(e.welcome_schedule=[]),t){const n=Se();p.reception&&Te(n,e,["reception_mode","reception_schedule","backup_member_admin_ids"]),p.customer&&Te(n,e,["tags_enabled","tag_ids","remark_enabled","remark_template","description_enabled","description"]),p.welcome&&Te(n,e,["welcome_mode","welcome","welcome_schedule_enabled","welcome_schedule"]);const f=p.reception&&e.backup_member_admin_ids.some(w=>We.value.includes(Number(w)))?"备用成员不能是任一所选方案的主接待成员":_t(n,De.value);if(f)return ge(f)}const l={};if(p.skip_verify&&(l.skip_verify=I.skip_verify===1?1:0),p.fallback_url&&(l.fallback_url=I.fallback_url.trim()),p.status&&(l.status=I.status===1?1:0),t){const n=pt(e),c={},f=w=>w.forEach($=>{c[$]=n[$]});p.reception&&f(["reception_mode","reception_schedule","backup_member_admin_ids"]),p.customer&&f(["tags_enabled","tag_ids","remark_enabled","remark_template","description_enabled","description"]),p.welcome&&f(["welcome_mode","welcome","welcome_schedule_enabled","welcome_schedule"]),l.automation_config=c}A.value=!0;try{const n=await La({pool_ids:[...I.pool_ids],changes:l});if(n.updated===0){const c=n.results.slice(0,2).map(f=>`${f.name||`方案 ${f.id}`}:${f.error||"保存失败"}`).join(";");return ge(c||"所选方案均未能保存,请检查配置后重试")}if(_e.value=!1,F.value=[],await q(),n.failed>0){const c=n.results.filter(f=>!f.success).slice(0,2).map(f=>`${f.name||`方案 ${f.id}`}:${f.error||"保存失败"}`).join(";");g.warning(`已更新 ${n.updated} 个方案,${n.failed} 个失败${c?`。${c}`:""}`)}else n.sync_error_count>0?g.warning(`已更新 ${n.updated} 个方案,其中 ${n.sync_error_count} 个企微范围将在后台自动重试同步`):n.sync_queued_count>0?g.success(`已批量更新 ${n.updated} 个分流方案,${n.sync_queued_count} 个企微链接配置将在后台同步`):g.success(`已批量更新 ${n.updated} 个分流方案`)}catch(n){ge((n==null?void 0:n.message)||"批量修改分流方案失败")}finally{A.value=!1}}function Ge(t=F.value){const e=new Set(m.pools.filter(n=>n.can_manage_access).map(n=>Number(n.id))),l=[...new Set(t.map(Number).filter(n=>e.has(n)))];if(!l.length)return g.warning("请先选择可管理的分流方案");Object.assign(P,{pool_ids:l,operator_admin_ids:[],action:"grant"}),ce.value=!0}async function $t(){if(!P.pool_ids.length)return g.warning("请至少选择一个分流方案");if(!P.operator_admin_ids.length)return g.warning("请至少选择一名操作人");le.value=!0;try{const t=await Fa({pool_ids:[...P.pool_ids],operator_admin_ids:[...P.operator_admin_ids],action:P.action});ce.value=!1,F.value=[],await q();const e=P.action==="grant"?"添加":"移除";g.success(t!=null&&t.affected?`已批量${e} ${t.affected} 条方案操作权限`:"权限设置已检查,没有需要变更的记录")}catch(t){g.error((t==null?void 0:t.message)||"批量设置访问操作失败")}finally{le.value=!1}}function St(t){const e=Array.isArray(t.dept_names)&&t.dept_names.length?t.dept_names.join(" / "):"未分部门",l=Number(t.disable)===1?" · 已禁用":"";return`${t.name} · ${e}${l}`}function xt(t){const e=Array.isArray(t==null?void 0:t.operators)?t.operators:[];return e.length?e.map(l=>`${l.name||`账号 ${l.id}`}${Number(l.disable)===1?"(已禁用)":""}`).join("、"):"仅原管理范围可操作"}function At(t){const e=t!=null&&t.main_url?"官方链接已生成":"待生成链接",l=Array.isArray(t==null?void 0:t.operator_admin_ids)?t.operator_admin_ids.length:0;return l>0?`${e} · ${l} 人可操作`:e}function Me(t){const e=new Set(m.member_options.map(l=>Number(l.id)));se.value="",Z.value=!1,Object.assign(k,t?{id:Number(t.id),name:t.name,fallback_url:t.fallback_url||"",status:Number(t.status),member_admin_ids:Array.isArray(t.member_admin_ids)?t.member_admin_ids.map(Number).filter(l=>e.has(l)):[],skip_verify:Number(t.skip_verify)===1?1:0,main_url:t.main_url||"",automation_config:xe(t.automation_config)}:{id:0,name:"",fallback_url:"",status:1,member_admin_ids:[],skip_verify:0,main_url:"",automation_config:Se()}),ue.value=!0}async function Pt(){var l,n;if(U.value||Z.value)return;se.value="";const t=xe(k.automation_config);t.reception_mode!=="scheduled"&&(t.reception_schedule=[]),t.welcome_mode!=="channel"&&(t.welcome={text:"",attachments:[]}),(t.welcome_mode!=="channel"||!t.welcome_schedule_enabled)&&(t.welcome_schedule=[]);const e=k.name.trim()?k.member_admin_ids.length?k.fallback_url.trim()&&!ct(k.fallback_url.trim())?"兜底获客助手链接必须为有效的 HTTP/HTTPS 地址":m.automation_installed?_t(t,k.member_admin_ids):"":"请至少选择一名主接待成员":"请输入分流方案名称";if(e)return se.value=e,(l=Pe.value)==null||l.scrollTo({top:0,behavior:"smooth"}),g.warning(e);U.value=!0;try{const{automation_config:c,...f}=k,w=await Ba({...f,name:k.name.trim(),fallback_url:k.fallback_url.trim(),...m.automation_installed?{automation_config:pt(t)}:{}});if(m.automation_installed&&(w==null?void 0:w.automation_saved)!==!0)throw new Error("方案已提交,但服务端未确认标签和欢迎语配置保存成功,请刷新后重试");ue.value=!1,await q(),w!=null&&w.id&&(ae.value=Number(w.id)),w!=null&&w.sync_error?g.warning("方案已保存,企业微信多人范围将在后台自动重试同步"):g.success(k.id?"分流方案已保存":"分流方案和官方获客链接已创建")}catch(c){se.value=(c==null?void 0:c.message)||(typeof c=="string"?c:"分流方案保存失败,请检查配置或稍后重试"),(n=Pe.value)==null||n.scrollTo({top:0,behavior:"smooth"}),g.error(se.value)}finally{U.value=!1}}async function It(t){try{await wa.confirm(`删除“${t.name}”将同时永久删除企业微信后台中的官方获客链接,已投放的链接会失效且无法恢复。确认继续?`,"永久删除分流方案",{type:"warning",confirmButtonText:"永久删除",cancelButtonText:"取消"})}catch{return}we.value=Number(t.id);try{await ja({id:Number(t.id)}),g.success("分流方案及企业微信官方获客链接已永久删除"),await q()}catch(e){g.error((e==null?void 0:e.message)||"删除失败")}finally{we.value=0}}function Et(t){const e=Number(t.active_start)>0&&Number(t.active_end)>0?[lt(t.active_start),lt(t.active_end)]:[];Object.assign(T,{id:Number(t.id),name:t.name||"",userid:t.userid||"",daily_limit:Number(t.daily_limit)||0,status:Number(t.enabled)===1?1:0,active_range:e,remark:t.remark||""}),me.value=!0}async function Dt(){var t,e;Y.value=!0;try{const l=await za({...T,active_start:((t=T.active_range)==null?void 0:t[0])||"",active_end:((e=T.active_range)==null?void 0:e[1])||""});me.value=!1,await q(),l!=null&&l.sync_error?g.warning("规则已保存,企业微信成员范围将在后台自动重试同步"):g.success("医助分流规则已保存")}catch(l){g.error((l==null?void 0:l.message)||"医助分流规则保存失败")}finally{Y.value=!1}}async function Tt(t,e){Ae.value=Number(t.id);try{const l=await Oa({id:Number(t.id),status:e?1:0});await q(),l!=null&&l.sync_error?g.warning("成员状态已保存,企业微信成员范围将在后台自动重试同步"):g.success("成员规则已保存,企微多人路由范围已重新计算")}catch(l){g.error((l==null?void 0:l.message)||"成员状态更新失败"),await q()}finally{Ae.value=0}}async function Ze(){ke.value=!0;try{const t=await qa();t!=null&&t.has_link?g.success((t==null?void 0:t.message)||"API 验证通过:应用凭证、可信 IP 与获客助手权限均可用"):g.warning((t==null?void 0:t.message)||"API 权限可用,但当前应用还没有创建官方获客链接")}catch(t){g.error((t==null?void 0:t.message)||"获客助手 API 验证失败")}finally{ke.value=!1}}async function Mt(){await q(),L.value==="customer-stats"&&await ne()}function de(t,e){for(const l of e)if((t==null?void 0:t[l])!==void 0&&(t==null?void 0:t[l])!==null&&(t==null?void 0:t[l])!==""){const n=Number(t[l]);return Number.isFinite(n)?n:0}return 0}async function ne(){var t,e;fe.value=!0;try{const l=await Ma({page_no:B.page_no,page_size:B.page_size,promotion_link_id:M.link_id?Number(M.link_id):void 0,userid:M.userid||void 0,chat_status:M.chat_status===""?void 0:M.chat_status==="messaged"?1:M.chat_status==="unknown"?2:0}),n=(l==null?void 0:l.summary)||(l==null?void 0:l.stats)||{},c=de(n,["customer_count","total_customers","customer_total","total"]),f=de(n,["messaged_customer_count","started_chat_count","chat_customer_count","message_customer_count","chatting_customers"]),w=["message_customer_rate","chat_customer_rate","messaged_rate","chat_rate"],$=w.some(d=>(n==null?void 0:n[d])!==void 0&&(n==null?void 0:n[d])!==null&&(n==null?void 0:n[d])!=="");Object.assign(x.summary,{customer_count:c,messaged_customer_count:f,message_customer_rate:$?de(n,w):c?f/c*100:0,received_message_count:de(n,["received_message_count","recv_msg_cnt","recv_msg_count","total_recv_msg_cnt","message_count"]),message_count_known_count:de(n,["message_count_known_count","exact_message_customer_count"])}),x.rows=Array.isArray(l==null?void 0:l.lists)?l.lists:Array.isArray(l==null?void 0:l.list)?l.list:Array.isArray(l==null?void 0:l.rows)?l.rows:[],B.total=Number((l==null?void 0:l.total)??(l==null?void 0:l.count)??((t=l==null?void 0:l.page)==null?void 0:t.total)??x.rows.length)||0;const S=(l==null?void 0:l.filters)||{},J=(l==null?void 0:l.link_options)||(S==null?void 0:S.link_options)||(S==null?void 0:S.links),Q=(l==null?void 0:l.member_options)||(S==null?void 0:S.member_options)||(S==null?void 0:S.members);Array.isArray(J)&&(x.link_options=J),Array.isArray(Q)&&(x.member_options=Q);const z=x.rows.reduce((d,v)=>{const E=v.last_synced_at||v.last_sync_time||v.synced_at||v.sync_time||"";return Number(E||0)>Number(d||0)?E:d},""),H=((e=l==null?void 0:l.meta)==null?void 0:e.last_synced_at)||(l==null?void 0:l.last_synced_at)||z||x.meta.last_synced_at||"";Object.assign(x.meta,(l==null?void 0:l.meta)||{},{last_synced_at:H?Be(H):""}),Re.value=!0}catch(l){g.error((l==null?void 0:l.message)||"获客客户统计加载失败")}finally{fe.value=!1}}function Ut(){B.page_no=1,ne()}function Lt(){Object.assign(M,{link_id:"",userid:"",chat_status:""}),B.page_no=1,ne()}function Ft(){B.page_no=1,ne()}async function Bt(){var t,e,l;Ie.value=!0;try{const n=await Ha({promotion_link_id:M.link_id?Number(M.link_id):void 0}),c=Number((n==null?void 0:n.scanned)??(n==null?void 0:n.customer_scanned)??((t=n==null?void 0:n.customers)==null?void 0:t.scanned)??0),f=Number((n==null?void 0:n.created)??(n==null?void 0:n.customer_created)??((e=n==null?void 0:n.customers)==null?void 0:e.created)??0),w=Number((n==null?void 0:n.updated)??(n==null?void 0:n.customer_updated)??((l=n==null?void 0:n.customers)==null?void 0:l.updated)??0);g.success((n==null?void 0:n.message)||`客户同步完成:扫描 ${R(c)} 位,新增 ${R(f)} 位,更新 ${R(w)} 位`),B.page_no=1,await Promise.all([q(),ne()])}catch(n){g.error((n==null?void 0:n.message)||"获客客户同步失败")}finally{Ie.value=!1}}function Ue(t){var l;const e=Math.floor(Date.now()/1e3);return Number(t.enabled)!==1?{label:"已禁用",className:"is-muted"}:Number(t.active_start)>0&&Number(t.active_start)>e?{label:"尚未生效",className:"is-waiting"}:Number(t.active_end)>0&&Number(t.active_end)0&&Xe(t)>=Number(t.daily_limit)?{label:"今日已达上限",className:"is-waiting"}:Number((l=N.value)==null?void 0:l.status)===0?{label:"方案已停用",className:"is-muted"}:t.reception_available===!1||t.reception_available===0?{label:t.is_backup?"备用待命":"非接待时段",className:"is-waiting"}:t.is_backup?{label:"备用接待中",className:"is-ok"}:{label:"可参与分流",className:"is-ok"}}function Qe(t){const e=Ue(t).className==="is-ok";return t.is_in_remote_range?{label:e?"企微路由中":"待移出",className:e?"is-online":"is-offline"}:{label:e?"待同步":"未在路由范围",className:"is-offline"}}function Xe(t){const e=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(new Date);return t.today_date===e?Number(t.today_count||0):0}function jt(t,e){const l=new Set,n=d=>{d.forEach(v=>{const E=Number(v.id);E>0&&l.add(E),Array.isArray(v.children)&&n(v.children)})};n(Array.isArray(t)?t:[]);const c=[],f=new Set;for(const d of Array.isArray(e)?e:[]){const v=Number(d.id);v<=0||f.has(v)||(f.add(v),c.push({id:v,name:String(d.name||d.userid||`成员 ${v}`),userid:String(d.userid||""),display_dept_id:Number(d.display_dept_id||0),dept_ids:Array.isArray(d.dept_ids)?Array.from(new Set(d.dept_ids.map(Number).filter(E=>E>0))):[],dept_names:Array.isArray(d.dept_names)?d.dept_names.map(String).filter(Boolean):[]}))}const w=new Map;c.forEach(d=>{var K;const v=Number(d.display_dept_id||0),E=l.has(v)?v:d.dept_ids.find(O=>l.has(O))||0;w.has(E)||w.set(E,[]),(K=w.get(E))==null||K.push(d)});const $=new Set,S=d=>{const v=d.dept_names.length?d.dept_names.join(" / "):"未分部门",E=d.userid?`${v} · ${d.userid}`:v;return{value:d.id,label:d.name,kind:"member",detail:E,search_text:`${d.name} ${d.userid} ${d.dept_names.join(" ")}`.toLocaleLowerCase()}},J=(d,v)=>d.name.localeCompare(v.name,"zh-CN"),Q=(d,v)=>{const E=[];for(const K of Array.isArray(d)?d:[]){const O=Number(K.id);if(O<=0)continue;const Ne=String(K.name||`部门 ${O}`),ie=[...v,Ne],Ce=Q(Array.isArray(K.children)?K.children:[],ie),Ve=[...w.get(O)||[]].sort(J);Ve.forEach(X=>$.add(X.id));const je=Ve.map(S),re=[...Ce,...je];if(!re.length)continue;const $e=re.reduce((X,a)=>X+(a.kind==="member"?1:Number(a.member_count||0)),0);E.push({value:`dept:${O}`,label:Ne,kind:"department",disabled:!0,member_count:$e,search_text:`${ie.join(" ")} ${re.map(X=>X.search_text).join(" ")}`.toLocaleLowerCase(),children:re})}return E},z=Q(Array.isArray(t)?t:[],[]),H=c.filter(d=>!$.has(d.id)).sort(J);if(H.length){const d=H.map(S);z.push({value:"dept:unassigned",label:"未分部门",kind:"department",disabled:!0,member_count:d.length,search_text:`未分部门 ${d.map(v=>v.search_text).join(" ")}`.toLocaleLowerCase(),children:d})}return z}function zt(t,e){const l=String(t||"").trim().toLocaleLowerCase();return l===""||e.search_text.includes(l)}function Ot(t){var n,c;const e=Array.isArray(t==null?void 0:t.member_admin_ids)?t.member_admin_ids:[],l=((c=(n=t==null?void 0:t.automation_config)==null?void 0:n.backup_member_admin_ids)==null?void 0:c.length)||0;return e.length?`${e.length} 名主接待${l?` · ${l} 名备用`:""}`:"未选择医助"}function qt(t){return`${Array.isArray(t.dept_names)&&t.dept_names.length?t.dept_names.join(" / "):"未分部门"} · ${t.userid||"未绑定 userid"}`}function Ht(t){const e=t.department_name||t.dept_name||"",l=t.userid?` · ${t.userid}`:"";return e?`${t.name} · ${e}${l}`:`${t.name}${l}`}function et(t){const e=t.external_userid_masked||t.customer_id_masked||t.customer_masked||t.customer_name_masked;return e?String(e):Jt(t.external_userid||t.customer_id||t.id)}function Jt(t){const e=String(t||"").trim();return e?e.includes("*")?e:e.length<=4?`${e.slice(0,1)}***`:e.length<=8?`${e.slice(0,2)}***${e.slice(-1)}`:`${e.slice(0,4)}****${e.slice(-4)}`:"-"}function Rt(t){return t.link_name||t.source_link_name||t.promotion_link_name||"未匹配来源链接"}function Kt(t){const e=t.link_id||t.remote_link_id||t.source_link_id;return e?`链接 ID:${e}`:"暂无链接 ID"}function Le(t){return de(t,["received_message_count","recv_msg_cnt","message_count","received_count"])}function tt(t){const e=t.message_count_known??t.message_count_exact??t.count_known;return e!=null?e===!0||e===1||e==="1"||e==="true":Le(t)>0}function Fe(t){const e=Number(t.chat_status);if(e===2)return"unknown";const l=t.has_messaged??t.has_message??t.messaged;return l!=null?l===!0||l===1||l==="1"||l==="true"||l==="messaged"?"messaged":"silent":e===1||Le(t)>0?"messaged":"silent"}function Wt(t){const e=Fe(t);return e==="messaged"?"已发消息":e==="unknown"?"状态未知":"未发消息"}function Yt(t){if(tt(t))return R(Le(t));const e=Fe(t);return e==="silent"?"0":e==="unknown"?"未知":"待回调"}function at(t){return t.last_message_at||t.last_chat_time||t.last_message_time||t.last_msg_time||t.event_time||""}function Be(t){if(t==null||t===""||t===0||t==="0")return"-";if(typeof t=="number"||/^\d+$/.test(String(t))){const e=Number(t),l=new Date(e>1e11?e:e*1e3);return Number.isNaN(l.getTime())?"-":l.toLocaleString("zh-CN",{hour12:!1}).replaceAll("/","-")}return String(t).replace("T"," ").replace(/Z$/,"").slice(0,19)}function Gt(t){return`${Number(t||0).toFixed(1)}%`}function R(t){return Number(t||0).toLocaleString("zh-CN")}function lt(t){const e=new Date(Number(t||0)*1e3),l=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${l(e.getMonth()+1)}-${l(e.getDate())} ${l(e.getHours())}:${l(e.getMinutes())}:${l(e.getSeconds())}`}async function st(t,e){if(!t)return g.warning(`${e}暂无内容`);try{await navigator.clipboard.writeText(t)}catch{const l=document.createElement("textarea");l.value=t,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.select();const n=document.execCommand("copy");if(l.remove(),!n)throw new Error("copy command failed")}g.success(`${e}已复制`)}async function Zt(){await q()}return Ra(async()=>{await q()}),(t,e)=>{var X;const l=Xt,n=ea,c=ta,f=aa,w=sa,$=la,S=na,J=ia,Q=oa,z=ua,H=ra,d=da,v=ma,E=ca,K=_a,O=pa,Ne=fa,ie=ba,Ce=va,Ve=ga,je=ya,re=ka,$e=Qt;return ft((r(),b("div",Ya,[s("header",Ga,[s("div",Za,[s("span",Qa,[i(l,null,{default:o(()=>[i(y(Na))]),_:1})]),e[52]||(e[52]=s("div",null,[s("h1",null,"企业微信获客助手"),s("p",null,"一个方案保留一条企业微信官方直链,由企业微信在多个可用医助之间原生路由")],-1))]),s("div",Xa,[s("span",el,[i(l,null,{default:o(()=>[i(y(Ca))]),_:1}),_(u(m.meta.scope_label||"当前数据范围"),1)]),m.meta.generated_at?(r(),b("span",tl,"更新于 "+u(m.meta.generated_at),1)):C("",!0),i(n,{icon:y(nt),loading:ye.value||fe.value,onClick:Mt},{default:o(()=>[...e[53]||(e[53]=[_("刷新",-1)])]),_:1},8,["icon","loading"])])]),s("section",al,[s("article",ll,[s("span",sl,[i(l,null,{default:o(()=>[i(y(Va))]),_:1})]),s("div",null,[e[54]||(e[54]=s("small",null,"内部应用",-1)),s("strong",null,u(m.summary.configured_apps),1),e[55]||(e[55]=s("p",null,"直接读取服务器环境配置",-1))])]),s("article",nl,[s("span",il,[i(l,null,{default:o(()=>[i(y($a))]),_:1})]),s("div",null,[e[56]||(e[56]=s("small",null,"分流方案",-1)),s("strong",null,u(m.summary.pool_count),1),e[57]||(e[57]=s("p",null,"每个方案对应一个官方链接",-1))])]),s("article",ol,[s("span",dl,[i(l,null,{default:o(()=>[i(y(Sa))]),_:1})]),s("div",null,[e[58]||(e[58]=s("small",null,"官方链接",-1)),s("strong",null,u(m.summary.online_links),1),e[59]||(e[59]=s("p",null,"链接不变,成员范围自动更新",-1))])]),s("article",rl,[s("span",ul,[i(l,null,{default:o(()=>[i(y(xa))]),_:1})]),s("div",null,[e[60]||(e[60]=s("small",null,"今日实际获客",-1)),s("strong",null,u(m.summary.today_clicks),1),e[61]||(e[61]=s("p",null,"按企业微信回调确认承接成员",-1))])])]),s("section",ml,[s("nav",cl,[s("button",{class:D({active:L.value==="links"}),onClick:e[0]||(e[0]=a=>L.value="links")},[i(l,null,{default:o(()=>[i(y(it))]),_:1}),e[62]||(e[62]=_("获客助手链接 ",-1))],2),s("button",{class:D({active:L.value==="customer-stats"}),onClick:e[1]||(e[1]=a=>L.value="customer-stats")},[i(l,null,{default:o(()=>[i(y(ot))]),_:1}),e[63]||(e[63]=_("获客客户统计 ",-1))],2),s("button",{class:D({active:L.value==="configuration"}),onClick:e[2]||(e[2]=a=>L.value="configuration")},[i(l,null,{default:o(()=>[i(y(Aa))]),_:1}),e[64]||(e[64]=_("应用配置 ",-1))],2),s("button",{class:D({active:L.value==="install"}),onClick:e[3]||(e[3]=a=>L.value="install")},[i(l,null,{default:o(()=>[i(y(ze))]),_:1}),e[65]||(e[65]=_("JS 安装 ",-1))],2)]),L.value==="links"?(r(),b("div",_l,[s("div",pl,[e[69]||(e[69]=s("div",null,[s("h2",null,"获客助手分流方案"),s("p",null,"选择几名医助就生成几条成员规则;官方链接只在方案顶部复制,成员行不重复展示链接。")],-1)),s("div",fl,[F.value.length?(r(),b("span",bl,"已选 "+u(F.value.length)+" 个方案",1)):C("",!0),i(n,{icon:y(dt),disabled:!F.value.length,onClick:e[4]||(e[4]=a=>Ct())},{default:o(()=>[...e[66]||(e[66]=[_("批量修改方案",-1)])]),_:1},8,["icon","disabled"]),i(n,{icon:y(Oe),disabled:!F.value.length,onClick:e[5]||(e[5]=a=>Ge())},{default:o(()=>[...e[67]||(e[67]=[_("批量设置访问操作",-1)])]),_:1},8,["icon","disabled"]),i(n,{type:"primary",icon:y(rt),onClick:e[6]||(e[6]=a=>Me())},{default:o(()=>[...e[68]||(e[68]=[_("新建分流方案",-1)])]),_:1},8,["icon"])])]),m.pools.length?(r(),b("div",gl,[s("aside",vl,[(r(!0),b(ee,null,te(m.pools,a=>(r(),b("div",{key:a.id,class:D(["pool-select-row",{active:Number(a.id)===ae.value}])},[i(c,{"model-value":F.value.includes(Number(a.id)),disabled:!a.can_manage_access,"aria-label":`选择方案 ${a.name}`,onChange:ve=>Nt(a,ve),onClick:e[7]||(e[7]=ha(()=>{},["stop"]))},null,8,["model-value","disabled","aria-label","onChange"]),s("button",{type:"button",class:"pool-item",onClick:ve=>ae.value=Number(a.id)},[s("span",{class:D(["pool-status",Number(a.status)===1?"online":"offline"])},null,2),s("span",null,[s("strong",null,u(a.name),1),s("small",null,u(Ot(a))+" · "+u(At(a)),1)]),i(l,null,{default:o(()=>[i(y(Pa))]),_:1})],8,yl)],2))),128))]),s("div",kl,[N.value?(r(),b("div",wl,[s("div",null,[s("div",hl,[s("h3",null,u(N.value.name),1),s("span",{class:D(["status-tag",Number(N.value.status)===1?"is-online":"is-offline"])},u(Number(N.value.status)===1?"运行中":"已停用"),3),s("span",Nl,u(N.value.dept_name||"未分部门")+" · "+u(N.value.owner_name||"系统"),1)]),s("p",null,"公开键:"+u(N.value.public_key),1)]),s("div",Cl,[i(n,{icon:y(ut),loading:ke.value,onClick:Ze},{default:o(()=>[...e[70]||(e[70]=[_("验证 API",-1)])]),_:1},8,["icon","loading"]),i(n,{icon:y(ze),disabled:!N.value.main_url,onClick:e[8]||(e[8]=a=>st(N.value.main_url,"官方获客链接"))},{default:o(()=>[...e[71]||(e[71]=[_("复制链接",-1)])]),_:1},8,["icon","disabled"]),i(n,{icon:y(ze),onClick:e[9]||(e[9]=a=>st(N.value.install_code,"JS 安装代码"))},{default:o(()=>[...e[72]||(e[72]=[_("复制 JS",-1)])]),_:1},8,["icon"]),N.value.can_manage_access?(r(),V(n,{key:0,icon:y(Oe),onClick:e[10]||(e[10]=a=>Ge([Number(N.value.id)]))},{default:o(()=>[...e[73]||(e[73]=[_("设置访问操作",-1)])]),_:1},8,["icon"])):C("",!0),N.value.can_operate?(r(),V(n,{key:1,icon:y(dt),onClick:e[11]||(e[11]=a=>Me(N.value))},{default:o(()=>[...e[74]||(e[74]=[_("编辑方案",-1)])]),_:1},8,["icon"])):C("",!0),N.value.can_delete?(r(),V(n,{key:2,type:"danger",plain:"",icon:y(Ia),loading:we.value===Number(N.value.id),disabled:we.value>0,onClick:e[12]||(e[12]=a=>It(N.value))},{default:o(()=>[...e[75]||(e[75]=[_("删除",-1)])]),_:1},8,["icon","loading","disabled"])):C("",!0)])])):C("",!0),N.value.migration_state==="needs_resolution"?(r(),V(f,{key:1,class:"legacy-sync-alert",type:"warning","show-icon":"",closable:!1,title:"检测到旧版方案存在多个官方链接",description:"当前显示最新链接;保存方案后,其余旧链接只会在本地下线,企业微信端与历史客户归因仍会保留。"})):C("",!0),i(f,{class:"legacy-sync-alert",type:"info","show-icon":"",closable:!1,title:"企业微信原生多人路由",description:"当前全部可用医助会同时写入官方链接的成员范围,由企业微信在打开和添加阶段直接进行多人路由。回调只用于统计实际承接结果,并在禁用、过期或达到上限后更新成员范围。"}),s("div",Vl,[i(Q,{data:gt.value,class:"link-table",height:"100%",stripe:""},{empty:o(()=>[i(J,{"image-size":72,description:"编辑方案并选择获客医助"})]),default:o(()=>[i($,{label:"推广成员","min-width":"210",fixed:"left"},{default:o(({row:a})=>[s("div",$l,[s("strong",null,[_(u(a.name||a.userid)+" ",1),a.is_backup?(r(),V(w,{key:0,size:"small",type:"warning",effect:"plain"},{default:o(()=>[...e[76]||(e[76]=[_("备用",-1)])]),_:1})):C("",!0)]),s("small",null,u(qt(a)),1)])]),_:1}),i($,{label:"企微范围同步",width:"130",align:"center"},{default:o(({row:a})=>[s("span",{class:D(["status-tag",Qe(a).className])},u(Qe(a).label),3),Number(a.sync_status)===3?(r(),b("div",Sl,"同步失败,后台重试中")):C("",!0)]),_:1}),i($,{label:"今日 / 上限",width:"125",align:"center"},{default:o(({row:a})=>[_(u(Xe(a))+" / "+u(Number(a.daily_limit)?a.daily_limit:"不限"),1)]),_:1}),i($,{label:"累计获客",prop:"total_count",width:"105",align:"center"}),i($,{label:"当前可用性","min-width":"130"},{default:o(({row:a})=>[s("span",{class:D(["availability",Ue(a).className])},u(Ue(a).label),3)]),_:1}),i($,{label:"上线",width:"90",align:"center"},{default:o(({row:a})=>[i(S,{"model-value":Number(a.enabled)===1,disabled:!N.value.can_operate,loading:Ae.value===Number(a.id),onChange:ve=>Tt(a,ve)},null,8,["model-value","disabled","loading","onChange"])]),_:1}),i($,{label:"操作","min-width":"100",fixed:"right"},{default:o(({row:a})=>[N.value.can_operate?(r(),V(n,{key:0,type:"primary",link:"",onClick:ve=>Et(a)},{default:o(()=>[...e[77]||(e[77]=[_("编辑规则",-1)])]),_:1},8,["onClick"])):C("",!0)]),_:1})]),_:1},8,["data"])])])])):(r(),V(J,{key:1,description:"创建方案并选择多个医助,保存后自动生成一个企业微信官方获客链接"},{default:o(()=>[i(n,{type:"primary",icon:y(rt),onClick:e[13]||(e[13]=a=>Me())},{default:o(()=>[...e[78]||(e[78]=[_("创建第一个方案",-1)])]),_:1},8,["icon"])]),_:1}))])):L.value==="customer-stats"?(r(),b("div",xl,[s("div",Al,[e[80]||(e[80]=s("div",null,[s("h2",null,"获客客户消息统计"),s("p",null,"统计当前权限范围内由获客助手链接添加的客户,以及客户向承接成员发送消息的情况。")],-1)),s("div",Pl,[x.meta.last_synced_at?(r(),b("span",Il,"最近同步 "+u(x.meta.last_synced_at),1)):C("",!0),i(n,{type:"primary",icon:y(nt),loading:Ie.value,onClick:Bt},{default:o(()=>[...e[79]||(e[79]=[_("同步客户",-1)])]),_:1},8,["icon","loading"])])]),s("section",El,[s("article",Dl,[s("span",Tl,[i(l,null,{default:o(()=>[i(y(Oe))]),_:1})]),s("div",null,[e[81]||(e[81]=s("small",null,"获客客户数",-1)),s("strong",null,u(R(x.summary.customer_count)),1),e[82]||(e[82]=s("p",null,"当前筛选范围内的去重客户",-1))])]),s("article",Ml,[s("span",Ul,[i(l,null,{default:o(()=>[i(y(Ea))]),_:1})]),s("div",null,[e[83]||(e[83]=s("small",null,"已发消息客户数",-1)),s("strong",null,u(R(x.summary.messaged_customer_count)),1),e[84]||(e[84]=s("p",null,"至少发送过一条消息",-1))])]),s("article",Ll,[s("span",Fl,[i(l,null,{default:o(()=>[i(y(ot))]),_:1})]),s("div",null,[e[85]||(e[85]=s("small",null,"消息客户率",-1)),s("strong",null,u(Gt(x.summary.message_customer_rate)),1),e[86]||(e[86]=s("p",null,"已发消息客户占获客客户比例",-1))])]),s("article",Bl,[s("span",jl,[i(l,null,{default:o(()=>[i(y(it))]),_:1})]),s("div",null,[e[87]||(e[87]=s("small",null,"累计接收消息数",-1)),s("strong",null,u(R(x.summary.received_message_count)),1),s("p",null,"已精确统计 "+u(R(x.summary.message_count_known_count))+" 位客户",1)])])]),m.config.callback_ready?C("",!0):(r(),V(f,{key:0,class:"chatkey-alert",type:"warning","show-icon":"",closable:!1,title:"消息次数回调尚未配置完成",description:"复用企业微信自建应用现有的“API 接收消息”地址即可,无需新增第二个回调;请确保该地址为 /api/qywx/external-contact/notify,且服务器 Token、AESKey 与企微后台一致。未完成前无法自动累计成员获客数量,也无法在成员达到上限后自动更新官方范围。"})),i(f,{class:"chatkey-alert",type:"info","show-icon":"",closable:!1,title:"获客助手通过事件与 ChatKey 返回收消息次数",description:"本功能复用现有回调并按事件类型处理 customer_acquisition,不会占用第二个回调。客户首次发消息会推送 customer_start_chat;累计第 3、5、10 次时推送 message_from_customer,服务端需在 30 分钟内用 ChatKey 查询成员、客户、获客链接和累计收消息次数。"}),s("div",zl,[i(v,{model:M,inline:"","label-position":"top"},{default:o(()=>[i(d,{label:"来源链接"},{default:o(()=>[i(H,{modelValue:M.link_id,"onUpdate:modelValue":e[14]||(e[14]=a=>M.link_id=a),clearable:"",filterable:"",placeholder:"全部链接"},{default:o(()=>[(r(!0),b(ee,null,te(wt.value,a=>(r(),V(z,{key:String(a.id),label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(d,{label:"承接成员"},{default:o(()=>[i(H,{modelValue:M.userid,"onUpdate:modelValue":e[15]||(e[15]=a=>M.userid=a),clearable:"",filterable:"",placeholder:"全部成员"},{default:o(()=>[(r(!0),b(ee,null,te(ht.value,a=>(r(),V(z,{key:a.userid||String(a.id),label:Ht(a),value:a.userid||String(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(d,{label:"聊天状态"},{default:o(()=>[i(H,{modelValue:M.chat_status,"onUpdate:modelValue":e[16]||(e[16]=a=>M.chat_status=a),clearable:"",placeholder:"全部状态"},{default:o(()=>[i(z,{label:"已发过消息",value:"messaged"}),i(z,{label:"未发过消息",value:"silent"}),i(z,{label:"状态未知",value:"unknown"})]),_:1},8,["modelValue"])]),_:1}),i(d,{class:"filter-actions"},{default:o(()=>[i(n,{type:"primary",icon:y(Da),loading:fe.value,onClick:Ut},{default:o(()=>[...e[88]||(e[88]=[_("查询",-1)])]),_:1},8,["icon","loading"]),i(n,{onClick:Lt},{default:o(()=>[...e[89]||(e[89]=[_("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),ft((r(),V(Q,{data:x.rows,class:"customer-table",stripe:""},{empty:o(()=>[i(J,{"image-size":72,description:"当前筛选范围暂无获客客户数据"})]),default:o(()=>[i($,{label:"客户标识(已脱敏)","min-width":"190",fixed:"left"},{default:o(({row:a})=>[s("span",{class:"customer-identifier",title:et(a)},u(et(a)),9,Ol)]),_:1}),i($,{label:"来源链接","min-width":"190"},{default:o(({row:a})=>[s("div",ql,[s("strong",null,u(Rt(a)),1),s("small",null,u(Kt(a)),1)])]),_:1}),i($,{label:"承接成员 / 部门","min-width":"175"},{default:o(({row:a})=>[s("div",Hl,[s("strong",null,u(a.member_name||a.owner_name||"未匹配成员"),1),s("small",null,u(a.department_name||a.dept_name||"未分部门")+" · "+u(a.userid||"未绑定企微账号"),1)])]),_:1}),i($,{label:"客户开口",width:"110",align:"center"},{default:o(({row:a})=>[s("span",{class:D(["message-state",`is-${Fe(a)}`])},u(Wt(a)),3)]),_:1}),i($,{label:"累计消息",width:"100",align:"right"},{default:o(({row:a})=>[s("strong",{class:D(["message-count",{muted:!tt(a)}])},u(Yt(a)),3)]),_:1}),i($,{label:"最近同步时间","min-width":"165"},{default:o(({row:a})=>[_(u(Be(a.last_synced_at||a.last_sync_time||a.synced_at||a.sync_time)),1)]),_:1}),i($,{label:"最近收消息事件","min-width":"165"},{default:o(({row:a})=>[s("span",{class:D({muted:!at(a)})},u(Be(at(a))),3)]),_:1})]),_:1},8,["data"])),[[$e,fe.value]]),s("div",Jl,[s("span",null,"共 "+u(R(B.total))+" 位客户",1),i(E,{"current-page":B.page_no,"onUpdate:currentPage":e[17]||(e[17]=a=>B.page_no=a),"page-size":B.page_size,"onUpdate:pageSize":e[18]||(e[18]=a=>B.page_size=a),background:"",layout:"sizes, prev, pager, next","page-sizes":[10,20,50,100],total:B.total,onCurrentChange:ne,onSizeChange:Ft},null,8,["current-page","page-size","total"])])])):L.value==="configuration"?(r(),b("div",Rl,[e[98]||(e[98]=s("div",{class:"section-heading"},[s("div",null,[s("h2",null,"企业微信内部应用配置"),s("p",null,"直接读取服务器现有的 work_wechat 配置,密钥不会返回浏览器,也不需要第三方应用授权。")])],-1)),s("div",{class:D(["configuration-panel",m.config.ready?"is-ready":"is-pending"])},[s("div",Kl,[s("span",null,[i(l,null,{default:o(()=>[(r(),V(Ka(m.config.ready?y(ut):y(Ta))))]),_:1})]),s("div",null,[s("strong",null,u(m.config.ready?"内部应用已就绪":"内部应用配置不完整"),1),m.config.ready?(r(),b("p",Wl,"已识别 CorpID 与应用 Secret;点击“验证 API”可同时检查可信 IP、获客助手开通状态和应用权限。")):(r(),b("p",Yl,"请补齐服务器 .env 的 [work_wechat] 配置;页面不会展示 Secret 内容。"))])]),(X=m.config.missing)!=null&&X.length?(r(),b("div",Gl,[e[90]||(e[90]=_(" 缺少:",-1)),(r(!0),b(ee,null,te(m.config.missing,a=>(r(),b("code",{key:a},u(a),1))),128))])):C("",!0),s("dl",Zl,[s("div",null,[e[91]||(e[91]=s("dt",null,"企业 CorpID",-1)),s("dd",null,u(m.config.corp_id_masked||"未配置"),1),s("span",null,u(m.config.corp_id_masked?"已识别":"缺失"),1)]),s("div",null,[e[92]||(e[92]=s("dt",null,"应用 AgentID",-1)),s("dd",null,u(m.config.agent_id||"未配置"),1),s("span",null,u(m.config.agent_id?"已识别":"缺失"),1)]),s("div",null,[e[93]||(e[93]=s("dt",null,"应用 Secret",-1)),e[94]||(e[94]=s("dd",null,"仅保存在服务器环境变量中",-1)),s("span",null,u(m.config.secret_configured?"已配置":"缺失"),1)]),s("div",null,[e[95]||(e[95]=s("dt",null,"消息回调地址",-1)),s("dd",null,u(m.config.callback_url||"未生成"),1),s("span",null,u(m.config.callback_ready?"已配置密钥":"待配置 Token/AESKey"),1)])]),s("div",Ql,[i(n,{type:"primary",loading:ke.value,onClick:Ze},{default:o(()=>[...e[96]||(e[96]=[_("验证获客助手 API",-1)])]),_:1},8,["loading"]),m.config.official_doc?(r(),V(K,{key:0,href:m.config.official_doc,target:"_blank",type:"primary"},{default:o(()=>[...e[97]||(e[97]=[_("查看企业微信官方文档",-1)])]),_:1},8,["href"])):C("",!0)])],2)])):(r(),b("div",Xl,[s("div",es,[e[99]||(e[99]=s("div",null,[s("h2",null,"安装 JS 与浮窗客服"),s("p",null,"为每个分流方案配置独立浮窗;基础脚本仍只负责展示入口、捕获点击并请求服务端分流。")],-1)),i(H,{modelValue:oe.value,"onUpdate:modelValue":e[19]||(e[19]=a=>oe.value=a),placeholder:"选择分流方案",class:"install-pool-select"},{default:o(()=>[(r(!0),b(ee,null,te(m.pools,a=>(r(),V(z,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),Ee.value?(r(),V(Ja,{key:Number(Ee.value.id),pool:Ee.value,onSaved:Zt},null,8,["pool"])):(r(),V(J,{key:1,description:"请先创建分流方案,系统会自动生成 JS 安装代码"}))]))]),i(ie,{modelValue:ue.value,"onUpdate:modelValue":e[28]||(e[28]=a=>ue.value=a),title:k.id?"编辑分流方案":"新建分流方案",width:"1000px",class:"promotion-pool-dialog","destroy-on-close":"","close-on-click-modal":!1,"close-on-press-escape":!U.value&&!Z.value,"show-close":!U.value&&!Z.value},{footer:o(()=>[Z.value?(r(),b("span",ns,"正在处理标签或素材,请稍候")):C("",!0),i(n,{disabled:U.value||Z.value,onClick:e[27]||(e[27]=a=>ue.value=!1)},{default:o(()=>[...e[101]||(e[101]=[_("取消",-1)])]),_:1},8,["disabled"]),i(n,{type:"primary",loading:U.value,disabled:Z.value,onClick:Pt},{default:o(()=>[_(u(k.id?"保存方案":"保存并生成链接"),1)]),_:1},8,["loading","disabled"])]),default:o(()=>[s("div",{ref_key:"poolFormScroll",ref:Pe,class:"pool-form-scroll"},[se.value?(r(),V(f,{key:0,class:"pool-form-error",title:se.value,type:"error","show-icon":"",closable:!1,role:"alert"},null,8,["title"])):C("",!0),i(v,{"label-position":"top",disabled:U.value},{default:o(()=>[i(d,{label:"方案名称",required:""},{default:o(()=>[i(O,{modelValue:k.name,"onUpdate:modelValue":e[20]||(e[20]=a=>k.name=a),disabled:U.value,maxlength:"60","show-word-limit":"",placeholder:"例如:官网咨询分流"},null,8,["modelValue","disabled"])]),_:1}),i(d,{label:"主接待成员(获客医助)",required:""},{default:o(()=>[i(Ne,{modelValue:k.member_admin_ids,"onUpdate:modelValue":e[21]||(e[21]=a=>k.member_admin_ids=a),data:Ye.value,props:yt,"default-expanded-keys":kt.value,"filter-node-method":zt,disabled:U.value,"node-key":"value",multiple:"",filterable:"",clearable:"","show-checkbox":"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":2,"multiple-limit":500,"render-after-expand":!1,placeholder:"按部门展开,或搜索姓名 / 部门 / 企微 userid",style:{width:"100%"}},{default:o(({data:a})=>[s("span",{class:D(["member-tree-option",`is-${a.kind}`])},[s("span",ts,u(a.label),1),a.kind==="department"?(r(),b("span",as,u(a.member_count)+" 人",1)):(r(),b("span",ls,u(a.detail),1))],2)]),_:1},8,["modelValue","data","default-expanded-keys","disabled"]),s("span",ss,"已选 "+u(k.member_admin_ids.length)+" 名;保存后会为每名医助生成一条成员规则,官方链接地址始终只有一个。",1)]),_:1}),i(d,{label:"添加客户时跳过验证"},{default:o(()=>[i(S,{modelValue:k.skip_verify,"onUpdate:modelValue":e[22]||(e[22]=a=>k.skip_verify=a),disabled:U.value,"active-value":1,"inactive-value":0,"active-text":"跳过验证","inactive-text":"需要验证"},null,8,["modelValue","disabled"])]),_:1}),i(d,{label:"兜底获客助手链接"},{default:o(()=>[i(O,{modelValue:k.fallback_url,"onUpdate:modelValue":e[23]||(e[23]=a=>k.fallback_url=a),disabled:U.value,placeholder:"可选;仅供旧版兼容跳转使用"},null,8,["modelValue","disabled"]),e[100]||(e[100]=s("span",{class:"form-tip"},"新生成的官方直链不经过本站跳转;此项仅兼容旧安装代码。",-1))]),_:1}),i(d,{label:"运行状态"},{default:o(()=>[i(S,{modelValue:k.status,"onUpdate:modelValue":e[24]||(e[24]=a=>k.status=a),disabled:U.value,"active-value":1,"inactive-value":0,"active-text":"运行","inactive-text":"停用"},null,8,["modelValue","disabled"])]),_:1}),m.automation_installed?(r(),V(mt,{key:0,modelValue:k.automation_config,"onUpdate:modelValue":e[25]||(e[25]=a=>k.automation_config=a),"main-member-ids":k.member_admin_ids,members:m.member_options,disabled:U.value,onBusy:e[26]||(e[26]=a=>Z.value=a)},null,8,["modelValue","main-member-ids","members","disabled"])):(r(),V(f,{key:1,type:"warning","show-icon":"",closable:!1,title:"自动化配置尚未安装",description:"请先在服务端执行 add_wecom_promotion_automation.sql 并部署消费进程及定时调度,即可设置接待时段、标签、备注和欢迎语。当前仍可保存原有分流方案。"}))]),_:1},8,["disabled"])],512)]),_:1},8,["modelValue","title","close-on-press-escape","show-close"]),i(ie,{modelValue:_e.value,"onUpdate:modelValue":e[41]||(e[41]=a=>_e.value=a),title:"批量修改分流方案",width:"1000px",class:"promotion-pool-dialog","destroy-on-close":"","close-on-click-modal":!1,"close-on-press-escape":!A.value&&!G.value,"show-close":!A.value&&!G.value},{footer:o(()=>[G.value?(r(),b("span",cs,"正在处理标签或素材,请稍候")):C("",!0),i(n,{disabled:A.value||G.value,onClick:e[40]||(e[40]=a=>_e.value=!1)},{default:o(()=>[...e[113]||(e[113]=[_("取消",-1)])]),_:1},8,["disabled"]),i(n,{type:"primary",loading:A.value,disabled:G.value,onClick:Vt},{default:o(()=>[...e[114]||(e[114]=[_("批量保存",-1)])]),_:1},8,["loading","disabled"])]),default:o(()=>[s("div",{ref_key:"batchConfigScroll",ref:Je,class:"pool-form-scroll batch-config-scroll"},[i(f,{type:"warning","show-icon":"",closable:!1,title:`将统一修改 ${I.pool_ids.length} 个分流方案`,description:"仅勾选的项目会覆盖到所选方案;未勾选项目保留各方案原值。表单初始值取第一个所选方案。"},null,8,["title"]),pe.value?(r(),V(f,{key:0,class:"pool-form-error batch-config-error",title:pe.value,type:"error","show-icon":"",closable:!1,role:"alert"},null,8,["title"])):C("",!0),be.value.length?(r(),b("div",is,[e[102]||(e[102]=s("strong",null,"已选方案",-1)),(r(!0),b(ee,null,te(be.value.slice(0,8),a=>(r(),b("span",{key:a.id},u(a.name),1))),128)),be.value.length>8?(r(),b("small",os,"另有 "+u(be.value.length-8)+" 个",1)):C("",!0)])):C("",!0),i(v,{class:"batch-config-form","label-position":"top",disabled:A.value},{default:o(()=>[s("section",ds,[e[107]||(e[107]=s("h3",null,"基础设置",-1)),s("div",rs,[s("div",{class:D(["batch-field",{"is-disabled":!p.skip_verify}])},[i(c,{modelValue:p.skip_verify,"onUpdate:modelValue":e[29]||(e[29]=a=>p.skip_verify=a),disabled:A.value},{default:o(()=>[...e[103]||(e[103]=[_("批量修改验证方式",-1)])]),_:1},8,["modelValue","disabled"]),i(d,{label:"添加客户时跳过验证"},{default:o(()=>[i(S,{modelValue:I.skip_verify,"onUpdate:modelValue":e[30]||(e[30]=a=>I.skip_verify=a),disabled:!p.skip_verify||A.value,"active-value":1,"inactive-value":0,"active-text":"跳过验证","inactive-text":"需要验证"},null,8,["modelValue","disabled"])]),_:1})],2),s("div",{class:D(["batch-field",{"is-disabled":!p.status}])},[i(c,{modelValue:p.status,"onUpdate:modelValue":e[31]||(e[31]=a=>p.status=a),disabled:A.value},{default:o(()=>[...e[104]||(e[104]=[_("批量修改运行状态",-1)])]),_:1},8,["modelValue","disabled"]),i(d,{label:"运行状态"},{default:o(()=>[i(S,{modelValue:I.status,"onUpdate:modelValue":e[32]||(e[32]=a=>I.status=a),disabled:!p.status||A.value,"active-value":1,"inactive-value":0,"active-text":"运行","inactive-text":"停用"},null,8,["modelValue","disabled"])]),_:1})],2)]),s("div",{class:D(["batch-field",{"is-disabled":!p.fallback_url}])},[i(c,{modelValue:p.fallback_url,"onUpdate:modelValue":e[33]||(e[33]=a=>p.fallback_url=a),disabled:A.value},{default:o(()=>[...e[105]||(e[105]=[_("批量修改兜底获客助手链接",-1)])]),_:1},8,["modelValue","disabled"]),i(d,{label:"兜底获客助手链接"},{default:o(()=>[i(O,{modelValue:I.fallback_url,"onUpdate:modelValue":e[34]||(e[34]=a=>I.fallback_url=a),disabled:!p.fallback_url||A.value,placeholder:"留空表示清除;仅供旧版兼容跳转使用"},null,8,["modelValue","disabled"]),e[106]||(e[106]=s("span",{class:"form-tip"},"新生成的官方直链不经过本站跳转;此项仅兼容旧安装代码。",-1))]),_:1})],2)]),m.automation_installed?(r(),b("section",us,[e[111]||(e[111]=s("h3",null,"自动化设置",-1)),e[112]||(e[112]=s("p",{class:"batch-section-tip"},"先选择要覆盖的分组。未选择的接待、客户或欢迎语设置不会随本次批量操作改变。",-1)),s("div",ms,[i(c,{modelValue:p.reception,"onUpdate:modelValue":e[35]||(e[35]=a=>p.reception=a),disabled:A.value,border:""},{default:o(()=>[...e[108]||(e[108]=[_("批量修改接待设置",-1)])]),_:1},8,["modelValue","disabled"]),i(c,{modelValue:p.customer,"onUpdate:modelValue":e[36]||(e[36]=a=>p.customer=a),disabled:A.value,border:""},{default:o(()=>[...e[109]||(e[109]=[_("批量修改客户设置",-1)])]),_:1},8,["modelValue","disabled"]),i(c,{modelValue:p.welcome,"onUpdate:modelValue":e[37]||(e[37]=a=>p.welcome=a),disabled:A.value,border:""},{default:o(()=>[...e[110]||(e[110]=[_("批量修改欢迎语设置",-1)])]),_:1},8,["modelValue","disabled"])]),p.reception&&!De.value.length?(r(),V(f,{key:0,type:"warning","show-icon":"",closable:!1,title:"所选方案没有共同主接待成员",description:"仍可统一改为全天接待;若使用按时段接待,时段成员必须同时属于全部所选方案。"})):C("",!0),i(mt,{modelValue:I.automation_config,"onUpdate:modelValue":e[38]||(e[38]=a=>I.automation_config=a),"main-member-ids":De.value,"backup-excluded-member-ids":We.value,members:m.member_options,disabled:A.value,"disabled-sections":vt.value,onBusy:e[39]||(e[39]=a=>G.value=a)},null,8,["modelValue","main-member-ids","backup-excluded-member-ids","members","disabled","disabled-sections"])])):(r(),V(f,{key:1,type:"warning","show-icon":"",closable:!1,title:"自动化配置尚未安装",description:"本次仍可批量修改验证方式、兜底链接和运行状态;安装自动化数据表后即可批量修改接待、客户和欢迎语设置。"}))]),_:1},8,["disabled"])],512)]),_:1},8,["modelValue","close-on-press-escape","show-close"]),i(ie,{modelValue:ce.value,"onUpdate:modelValue":e[45]||(e[45]=a=>ce.value=a),title:"批量设置他人访问操作",width:"620px","destroy-on-close":"","close-on-click-modal":!1,"close-on-press-escape":!le.value},{footer:o(()=>[i(n,{disabled:le.value,onClick:e[44]||(e[44]=a=>ce.value=!1)},{default:o(()=>[...e[120]||(e[120]=[_("取消",-1)])]),_:1},8,["disabled"]),i(n,{type:"primary",loading:le.value,onClick:$t},{default:o(()=>[_(u(P.action==="grant"?"批量添加":"批量移除"),1)]),_:1},8,["loading"])]),default:o(()=>[i(f,{type:"info","show-icon":"",closable:!1,title:`将设置 ${P.pool_ids.length} 个分流方案`,description:"被添加的账号可以查看并编辑方案、成员规则和浮窗配置;不能删除方案,也不能继续分配操作权限。"},null,8,["title"]),i(v,{class:"access-form","label-position":"top"},{default:o(()=>[i(d,{label:"设置方式",required:""},{default:o(()=>[i(Ve,{modelValue:P.action,"onUpdate:modelValue":e[42]||(e[42]=a=>P.action=a),disabled:le.value},{default:o(()=>[i(Ce,{value:"grant"},{default:o(()=>[...e[115]||(e[115]=[_("添加操作人",-1)])]),_:1}),i(Ce,{value:"revoke"},{default:o(()=>[...e[116]||(e[116]=[_("移除操作人",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]),e[117]||(e[117]=s("span",{class:"form-tip"},"批量添加不会覆盖各方案已有操作人;批量移除只撤销本次选中的账号。",-1))]),_:1}),i(d,{label:"选择账号",required:""},{default:o(()=>[i(H,{modelValue:P.operator_admin_ids,"onUpdate:modelValue":e[43]||(e[43]=a=>P.operator_admin_ids=a),multiple:"",filterable:"",clearable:"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":3,"multiple-limit":100,disabled:le.value,placeholder:"搜索姓名或部门",style:{width:"100%"}},{default:o(()=>[(r(!0),b(ee,null,te(m.operator_options,a=>(r(),V(z,{key:a.id,label:St(a),value:Number(a.id),disabled:P.action==="grant"&&!a.can_grant},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue","disabled"]),e[118]||(e[118]=s("span",{class:"form-tip"},"添加时可选择当前管理范围内的启用账号;授权后账号会自动获得本页面入口,且只能访问已授权方案。",-1))]),_:1}),he.value.length?(r(),b("div",_s,[e[119]||(e[119]=s("strong",null,"当前授权",-1)),(r(!0),b(ee,null,te(he.value.slice(0,5),a=>(r(),b("div",{key:a.id},[s("span",null,u(a.name),1),s("small",null,u(xt(a)),1)]))),128)),he.value.length>5?(r(),b("p",ps,"另有 "+u(he.value.length-5)+" 个方案",1)):C("",!0)])):C("",!0)]),_:1})]),_:1},8,["modelValue","close-on-press-escape"]),i(ie,{modelValue:me.value,"onUpdate:modelValue":e[51]||(e[51]=a=>me.value=a),title:"编辑医助分流规则",width:"560px","destroy-on-close":"","close-on-click-modal":!1},{footer:o(()=>[i(n,{disabled:Y.value,onClick:e[50]||(e[50]=a=>me.value=!1)},{default:o(()=>[...e[122]||(e[122]=[_("取消",-1)])]),_:1},8,["disabled"]),i(n,{type:"primary",loading:Y.value,onClick:Dt},{default:o(()=>[...e[123]||(e[123]=[_("保存规则",-1)])]),_:1},8,["loading"])]),default:o(()=>[i(v,{"label-position":"top"},{default:o(()=>[i(d,{label:"获客医助"},{default:o(()=>[i(O,{"model-value":T.name?`${T.name} · ${T.userid}`:T.userid,readonly:""},null,8,["model-value"])]),_:1}),i(d,{label:"每日获客上限"},{default:o(()=>[i(je,{modelValue:T.daily_limit,"onUpdate:modelValue":e[46]||(e[46]=a=>T.daily_limit=a),min:0,max:1e6,disabled:Y.value,style:{width:"100%"}},null,8,["modelValue","disabled"]),e[121]||(e[121]=s("span",{class:"form-tip"},"0 表示不限;数量按实际获客回调累计,达到上限后会从企微官方成员范围移除。",-1))]),_:1}),i(d,{label:"有效时间"},{default:o(()=>[i(re,{modelValue:T.active_range,"onUpdate:modelValue":e[47]||(e[47]=a=>T.active_range=a),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",disabled:Y.value,style:{width:"100%"}},null,8,["modelValue","disabled"])]),_:1}),i(d,{label:"上线状态"},{default:o(()=>[i(S,{modelValue:T.status,"onUpdate:modelValue":e[48]||(e[48]=a=>T.status=a),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用",disabled:Y.value},null,8,["modelValue","disabled"])]),_:1}),i(d,{label:"备注"},{default:o(()=>[i(O,{modelValue:T.remark,"onUpdate:modelValue":e[49]||(e[49]=a=>T.remark=a),type:"textarea",rows:2,maxlength:"255","show-word-limit":"",disabled:Y.value},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])),[[$e,ye.value]])}}}),nn=Wa(bs,[["__scopeId","data-v-31a86edd"]]);export{nn as default}; +import{E as g,M as Qt,d as Xt,i as ea,H as ta,L as aa,O as la,U as sa,g as na,X as ia,N as oa,B as da,Q as ra,R as ua,D as ma,V as ca,T as _a,C as pa,Z as fa,W as ba,G as ga,F as va,h as ya,S as ka,a as wa}from"./element-plus-DGP1XOrU.js";import{s as ha}from"./@vue/runtime-dom-DDAG46FW.js";import{ae as Na,a8 as Ca,M as nt,a7 as Va,aj as $a,S as Sa,ak as xa,al as it,am as ot,an as Aa,ai as ze,L as dt,Z as Oe,A as rt,g as Pa,d as ut,H as Ia,J as Ea,O as Da,ao as Ta}from"./@element-plus/icons-vue-CbYn5zW9.js";import{C as Ma,D as Ua,E as La,F as Fa,G as Ba,H as ja,I as za,J as Oa,K as qa,L as Ha}from"./first_visit-lwfDQsu4.js";import Ja from"./WecomFloatingWidgetBuilder-CeJ7tFnb.js";import mt from"./PromotionAutomationForm-C_8XR98S.js";import{d as Se,c as xe,i as ct,a as _t,s as pt}from"./WelcomeMessageEditor-CZ3lYeWY.js";import{f as bt,w as qe,b as Ra,aP as ft,ak as r,I as b,J as s,a as i,aN as o,O as _,H as C,F as ee,ap as te,G as V,at as Ka,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{y,r as W,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,o as D}from"./@vue/shared-mAAVTE9n.js";import{_ as Wa}from"./index-J_eFER10.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ya={class:"promotion-page","element-loading-text":"正在加载推广配置"},Ga={class:"page-header"},Za={class:"heading-copy"},Qa={class:"heading-icon"},Xa={class:"heading-actions"},el={class:"scope-chip"},tl={key:0,class:"update-time"},al={class:"metric-grid"},ll={class:"metric-card"},sl={class:"metric-icon is-teal"},nl={class:"metric-card"},il={class:"metric-icon is-blue"},ol={class:"metric-card"},dl={class:"metric-icon is-green"},rl={class:"metric-card"},ul={class:"metric-icon is-orange"},ml={class:"workspace-card"},cl={class:"tab-nav","aria-label":"企业微信获客助手功能"},_l={key:0,class:"tab-content links-tab"},pl={class:"section-heading"},fl={class:"section-heading-actions"},bl={key:0,class:"selection-count"},gl={key:0,class:"pool-layout"},vl={class:"pool-sidebar"},yl=["onClick"],kl={class:"pool-main"},wl={key:0,class:"pool-toolbar"},hl={class:"pool-title-row"},Nl={class:"owner-tag"},Cl={class:"toolbar-actions"},Vl={class:"member-table-area"},$l={class:"member-cell"},Sl={key:0,class:"sync-retry-tip"},xl={key:1,class:"tab-content customer-stats-tab"},Al={class:"section-heading customer-stats-heading"},Pl={class:"customer-heading-actions"},Il={key:0,class:"update-time"},El={class:"customer-metric-grid","aria-label":"获客客户消息汇总"},Dl={class:"customer-metric-card"},Tl={class:"metric-icon is-teal"},Ml={class:"customer-metric-card"},Ul={class:"metric-icon is-blue"},Ll={class:"customer-metric-card"},Fl={class:"metric-icon is-green"},Bl={class:"customer-metric-card"},jl={class:"metric-icon is-orange"},zl={class:"customer-filter-bar"},Ol=["title"],ql={class:"member-cell"},Hl={class:"member-cell"},Jl={class:"customer-pagination"},Rl={key:2,class:"tab-content authorization-tab"},Kl={class:"configuration-state"},Wl={key:0},Yl={key:1},Gl={key:0,class:"missing-fields"},Zl={class:"callback-list"},Ql={class:"configuration-actions"},Xl={key:3,class:"tab-content install-tab"},es={class:"section-heading"},ts={class:"member-tree-option__label"},as={key:0,class:"member-tree-option__count"},ls={key:1,class:"member-tree-option__detail"},ss={class:"form-tip"},ns={key:0,class:"uploading-save-tip"},is={key:1,class:"batch-pool-summary"},os={key:0},ds={class:"batch-config-section"},rs={class:"batch-field-grid"},us={key:0,class:"batch-config-section automation-batch-section"},ms={class:"batch-section-selectors"},cs={key:0,class:"uploading-save-tip"},_s={key:0,class:"access-pool-preview"},ps={key:0},fs=bt({name:"firstVisitWecomPromotionPage"}),bs=bt({...fs,setup(gs){const He=()=>({meta:{admin_id:0,scope_label:"",generated_at:""},config:{mode:"internal",configured:!1,ready:!1,missing:[],corp_id_masked:"",agent_id:"",secret_configured:!1,callback_ready:!1,callback_url:"",official_doc:""},summary:{configured_apps:0,pool_count:0,online_links:0,today_clicks:0},pools:[],links:[],member_options:[],operator_options:[],department_options:[],automation_installed:!1,customer_acquisition_link_example:"https://work.weixin.qq.com/ca/xxxxxxxx"}),m=W(He()),ye=h(!1),L=h("links"),ae=h(),oe=h(),F=h([]),ue=h(!1),U=h(!1),ke=h(!1),me=h(!1),Y=h(!1),Ae=h(0),we=h(0),ce=h(!1),le=h(!1),_e=h(!1),A=h(!1),G=h(!1),Je=h(),pe=h(""),k=W({id:0,name:"",fallback_url:"",status:1,member_admin_ids:[],skip_verify:0,main_url:"",automation_config:Se()}),Pe=h(),se=h(""),Z=h(!1),P=W({pool_ids:[],operator_admin_ids:[],action:"grant"}),p=W({skip_verify:!1,fallback_url:!1,status:!1,reception:!1,customer:!1,welcome:!1}),I=W({pool_ids:[],skip_verify:0,fallback_url:"",status:1,automation_config:Se()}),T=W({id:0,name:"",userid:"",daily_limit:0,status:1,active_range:[],remark:""}),fe=h(!1),Re=h(!1),Ie=h(!1),M=W({link_id:"",userid:"",chat_status:""}),B=W({page_no:1,page_size:20,total:0}),x=W({summary:{customer_count:0,messaged_customer_count:0,message_customer_rate:0,received_message_count:0,message_count_known_count:0},rows:[],link_options:[],member_options:[],meta:{last_synced_at:""}}),N=j(()=>m.pools.find(t=>Number(t.id)===ae.value)),gt=j(()=>{var t;return Array.isArray((t=N.value)==null?void 0:t.member_rules)?N.value.member_rules:[]}),Ee=j(()=>m.pools.find(t=>Number(t.id)===oe.value)),he=j(()=>m.pools.filter(t=>P.pool_ids.includes(Number(t.id)))),be=j(()=>m.pools.filter(t=>I.pool_ids.includes(Number(t.id)))),Ke=j(()=>be.value.map(t=>new Set((Array.isArray(t.member_admin_ids)?t.member_admin_ids:[]).map(Number)))),We=j(()=>[...new Set(Ke.value.flatMap(t=>[...t]))]),De=j(()=>{const t=Ke.value;return t.length?[...t[0]].filter(e=>t.slice(1).every(l=>l.has(e))):[]}),vt=j(()=>["reception","customer","welcome"].filter(t=>!p[t])),yt={value:"value",label:"label",children:"children",disabled:"disabled"},Ye=j(()=>jt(m.department_options,m.member_options)),kt=j(()=>Ye.value.map(t=>t.value)),wt=j(()=>x.link_options.length?x.link_options:m.links.filter(t=>t.id).map(t=>({id:Number(t.id),name:t.name||t.remote_link_id||`链接 ${t.id}`}))),ht=j(()=>x.member_options.length?x.member_options:m.member_options.map(t=>({id:Number(t.id),userid:String(t.userid||""),name:t.name,department_name:Array.isArray(t.dept_names)?t.dept_names.join(" / "):t.department_name||t.dept_name||""})));qe(()=>m.pools.map(t=>`${Number(t.id)}:${t.can_manage_access?1:0}`).join(","),()=>{const t=m.pools.map(l=>Number(l.id)),e=new Set(m.pools.filter(l=>l.can_manage_access).map(l=>Number(l.id)));(!ae.value||!t.includes(ae.value))&&(ae.value=t[0]),(!oe.value||!t.includes(oe.value))&&(oe.value=t[0]),F.value=F.value.filter(l=>e.has(l))},{immediate:!0}),qe(L,t=>{t==="customer-stats"&&!Re.value&&ne()}),qe(()=>P.action,t=>{if(t!=="grant")return;const e=new Set(m.operator_options.filter(l=>l.can_grant).map(l=>Number(l.id)));P.operator_admin_ids=P.operator_admin_ids.filter(l=>e.has(Number(l)))});async function q(){ye.value=!0;try{const t=await Ua();Object.assign(m,He(),t||{})}catch(t){g.error((t==null?void 0:t.message)||"企业微信推广配置加载失败")}finally{ye.value=!1}}function Nt(t,e){if(!(t!=null&&t.can_manage_access))return;const l=Number(t.id),n=new Set(F.value);e?n.add(l):n.delete(l),F.value=[...n]}function Ct(t=F.value){const e=new Set(m.pools.filter(c=>c.can_manage_access).map(c=>Number(c.id))),l=[...new Set(t.map(Number).filter(c=>e.has(c)))];if(!l.length)return g.warning("请先选择可管理的分流方案");if(l.length>100)return g.warning("单次最多设置 100 个分流方案");const n=m.pools.find(c=>Number(c.id)===l[0]);Object.assign(p,{skip_verify:!1,fallback_url:!1,status:!1,reception:!1,customer:!1,welcome:!1}),Object.assign(I,{pool_ids:l,skip_verify:Number(n==null?void 0:n.skip_verify)===1?1:0,fallback_url:String((n==null?void 0:n.fallback_url)||""),status:Number(n==null?void 0:n.status)===1?1:0,automation_config:xe(n==null?void 0:n.automation_config)}),pe.value="",G.value=!1,_e.value=!0}function Te(t,e,l){const n=t,c=e;l.forEach(f=>{n[f]=JSON.parse(JSON.stringify(c[f]))})}function ge(t){var e;pe.value=t,(e=Je.value)==null||e.scrollTo({top:0,behavior:"smooth"}),g.warning(t)}async function Vt(){if(A.value||G.value)return;pe.value="";const t=m.automation_installed&&(p.reception||p.customer||p.welcome);if(!p.skip_verify&&!p.fallback_url&&!p.status&&!t)return ge("请至少勾选一项需要批量修改的配置");if(p.fallback_url&&I.fallback_url.trim()&&!ct(I.fallback_url.trim()))return ge("兜底获客助手链接必须为有效的 HTTP/HTTPS 地址");const e=xe(I.automation_config);if(p.reception&&e.reception_mode!=="scheduled"&&(e.reception_schedule=[]),p.welcome&&e.welcome_mode!=="channel"&&(e.welcome={text:"",attachments:[]}),p.welcome&&(e.welcome_mode!=="channel"||!e.welcome_schedule_enabled)&&(e.welcome_schedule=[]),t){const n=Se();p.reception&&Te(n,e,["reception_mode","reception_schedule","backup_member_admin_ids"]),p.customer&&Te(n,e,["tags_enabled","tag_ids","remark_enabled","remark_template","description_enabled","description"]),p.welcome&&Te(n,e,["welcome_mode","welcome","welcome_schedule_enabled","welcome_schedule"]);const f=p.reception&&e.backup_member_admin_ids.some(w=>We.value.includes(Number(w)))?"备用成员不能是任一所选方案的主接待成员":_t(n,De.value);if(f)return ge(f)}const l={};if(p.skip_verify&&(l.skip_verify=I.skip_verify===1?1:0),p.fallback_url&&(l.fallback_url=I.fallback_url.trim()),p.status&&(l.status=I.status===1?1:0),t){const n=pt(e),c={},f=w=>w.forEach($=>{c[$]=n[$]});p.reception&&f(["reception_mode","reception_schedule","backup_member_admin_ids"]),p.customer&&f(["tags_enabled","tag_ids","remark_enabled","remark_template","description_enabled","description"]),p.welcome&&f(["welcome_mode","welcome","welcome_schedule_enabled","welcome_schedule"]),l.automation_config=c}A.value=!0;try{const n=await La({pool_ids:[...I.pool_ids],changes:l});if(n.updated===0){const c=n.results.slice(0,2).map(f=>`${f.name||`方案 ${f.id}`}:${f.error||"保存失败"}`).join(";");return ge(c||"所选方案均未能保存,请检查配置后重试")}if(_e.value=!1,F.value=[],await q(),n.failed>0){const c=n.results.filter(f=>!f.success).slice(0,2).map(f=>`${f.name||`方案 ${f.id}`}:${f.error||"保存失败"}`).join(";");g.warning(`已更新 ${n.updated} 个方案,${n.failed} 个失败${c?`。${c}`:""}`)}else n.sync_error_count>0?g.warning(`已更新 ${n.updated} 个方案,其中 ${n.sync_error_count} 个企微范围将在后台自动重试同步`):n.sync_queued_count>0?g.success(`已批量更新 ${n.updated} 个分流方案,${n.sync_queued_count} 个企微链接配置将在后台同步`):g.success(`已批量更新 ${n.updated} 个分流方案`)}catch(n){ge((n==null?void 0:n.message)||"批量修改分流方案失败")}finally{A.value=!1}}function Ge(t=F.value){const e=new Set(m.pools.filter(n=>n.can_manage_access).map(n=>Number(n.id))),l=[...new Set(t.map(Number).filter(n=>e.has(n)))];if(!l.length)return g.warning("请先选择可管理的分流方案");Object.assign(P,{pool_ids:l,operator_admin_ids:[],action:"grant"}),ce.value=!0}async function $t(){if(!P.pool_ids.length)return g.warning("请至少选择一个分流方案");if(!P.operator_admin_ids.length)return g.warning("请至少选择一名操作人");le.value=!0;try{const t=await Fa({pool_ids:[...P.pool_ids],operator_admin_ids:[...P.operator_admin_ids],action:P.action});ce.value=!1,F.value=[],await q();const e=P.action==="grant"?"添加":"移除";g.success(t!=null&&t.affected?`已批量${e} ${t.affected} 条方案操作权限`:"权限设置已检查,没有需要变更的记录")}catch(t){g.error((t==null?void 0:t.message)||"批量设置访问操作失败")}finally{le.value=!1}}function St(t){const e=Array.isArray(t.dept_names)&&t.dept_names.length?t.dept_names.join(" / "):"未分部门",l=Number(t.disable)===1?" · 已禁用":"";return`${t.name} · ${e}${l}`}function xt(t){const e=Array.isArray(t==null?void 0:t.operators)?t.operators:[];return e.length?e.map(l=>`${l.name||`账号 ${l.id}`}${Number(l.disable)===1?"(已禁用)":""}`).join("、"):"仅原管理范围可操作"}function At(t){const e=t!=null&&t.main_url?"官方链接已生成":"待生成链接",l=Array.isArray(t==null?void 0:t.operator_admin_ids)?t.operator_admin_ids.length:0;return l>0?`${e} · ${l} 人可操作`:e}function Me(t){const e=new Set(m.member_options.map(l=>Number(l.id)));se.value="",Z.value=!1,Object.assign(k,t?{id:Number(t.id),name:t.name,fallback_url:t.fallback_url||"",status:Number(t.status),member_admin_ids:Array.isArray(t.member_admin_ids)?t.member_admin_ids.map(Number).filter(l=>e.has(l)):[],skip_verify:Number(t.skip_verify)===1?1:0,main_url:t.main_url||"",automation_config:xe(t.automation_config)}:{id:0,name:"",fallback_url:"",status:1,member_admin_ids:[],skip_verify:0,main_url:"",automation_config:Se()}),ue.value=!0}async function Pt(){var l,n;if(U.value||Z.value)return;se.value="";const t=xe(k.automation_config);t.reception_mode!=="scheduled"&&(t.reception_schedule=[]),t.welcome_mode!=="channel"&&(t.welcome={text:"",attachments:[]}),(t.welcome_mode!=="channel"||!t.welcome_schedule_enabled)&&(t.welcome_schedule=[]);const e=k.name.trim()?k.member_admin_ids.length?k.fallback_url.trim()&&!ct(k.fallback_url.trim())?"兜底获客助手链接必须为有效的 HTTP/HTTPS 地址":m.automation_installed?_t(t,k.member_admin_ids):"":"请至少选择一名主接待成员":"请输入分流方案名称";if(e)return se.value=e,(l=Pe.value)==null||l.scrollTo({top:0,behavior:"smooth"}),g.warning(e);U.value=!0;try{const{automation_config:c,...f}=k,w=await Ba({...f,name:k.name.trim(),fallback_url:k.fallback_url.trim(),...m.automation_installed?{automation_config:pt(t)}:{}});if(m.automation_installed&&(w==null?void 0:w.automation_saved)!==!0)throw new Error("方案已提交,但服务端未确认标签和欢迎语配置保存成功,请刷新后重试");ue.value=!1,await q(),w!=null&&w.id&&(ae.value=Number(w.id)),w!=null&&w.sync_error?g.warning("方案已保存,企业微信多人范围将在后台自动重试同步"):g.success(k.id?"分流方案已保存":"分流方案和官方获客链接已创建")}catch(c){se.value=(c==null?void 0:c.message)||(typeof c=="string"?c:"分流方案保存失败,请检查配置或稍后重试"),(n=Pe.value)==null||n.scrollTo({top:0,behavior:"smooth"}),g.error(se.value)}finally{U.value=!1}}async function It(t){try{await wa.confirm(`删除“${t.name}”将同时永久删除企业微信后台中的官方获客链接,已投放的链接会失效且无法恢复。确认继续?`,"永久删除分流方案",{type:"warning",confirmButtonText:"永久删除",cancelButtonText:"取消"})}catch{return}we.value=Number(t.id);try{await ja({id:Number(t.id)}),g.success("分流方案及企业微信官方获客链接已永久删除"),await q()}catch(e){g.error((e==null?void 0:e.message)||"删除失败")}finally{we.value=0}}function Et(t){const e=Number(t.active_start)>0&&Number(t.active_end)>0?[lt(t.active_start),lt(t.active_end)]:[];Object.assign(T,{id:Number(t.id),name:t.name||"",userid:t.userid||"",daily_limit:Number(t.daily_limit)||0,status:Number(t.enabled)===1?1:0,active_range:e,remark:t.remark||""}),me.value=!0}async function Dt(){var t,e;Y.value=!0;try{const l=await za({...T,active_start:((t=T.active_range)==null?void 0:t[0])||"",active_end:((e=T.active_range)==null?void 0:e[1])||""});me.value=!1,await q(),l!=null&&l.sync_error?g.warning("规则已保存,企业微信成员范围将在后台自动重试同步"):g.success("医助分流规则已保存")}catch(l){g.error((l==null?void 0:l.message)||"医助分流规则保存失败")}finally{Y.value=!1}}async function Tt(t,e){Ae.value=Number(t.id);try{const l=await Oa({id:Number(t.id),status:e?1:0});await q(),l!=null&&l.sync_error?g.warning("成员状态已保存,企业微信成员范围将在后台自动重试同步"):g.success("成员规则已保存,企微多人路由范围已重新计算")}catch(l){g.error((l==null?void 0:l.message)||"成员状态更新失败"),await q()}finally{Ae.value=0}}async function Ze(){ke.value=!0;try{const t=await qa();t!=null&&t.has_link?g.success((t==null?void 0:t.message)||"API 验证通过:应用凭证、可信 IP 与获客助手权限均可用"):g.warning((t==null?void 0:t.message)||"API 权限可用,但当前应用还没有创建官方获客链接")}catch(t){g.error((t==null?void 0:t.message)||"获客助手 API 验证失败")}finally{ke.value=!1}}async function Mt(){await q(),L.value==="customer-stats"&&await ne()}function de(t,e){for(const l of e)if((t==null?void 0:t[l])!==void 0&&(t==null?void 0:t[l])!==null&&(t==null?void 0:t[l])!==""){const n=Number(t[l]);return Number.isFinite(n)?n:0}return 0}async function ne(){var t,e;fe.value=!0;try{const l=await Ma({page_no:B.page_no,page_size:B.page_size,promotion_link_id:M.link_id?Number(M.link_id):void 0,userid:M.userid||void 0,chat_status:M.chat_status===""?void 0:M.chat_status==="messaged"?1:M.chat_status==="unknown"?2:0}),n=(l==null?void 0:l.summary)||(l==null?void 0:l.stats)||{},c=de(n,["customer_count","total_customers","customer_total","total"]),f=de(n,["messaged_customer_count","started_chat_count","chat_customer_count","message_customer_count","chatting_customers"]),w=["message_customer_rate","chat_customer_rate","messaged_rate","chat_rate"],$=w.some(d=>(n==null?void 0:n[d])!==void 0&&(n==null?void 0:n[d])!==null&&(n==null?void 0:n[d])!=="");Object.assign(x.summary,{customer_count:c,messaged_customer_count:f,message_customer_rate:$?de(n,w):c?f/c*100:0,received_message_count:de(n,["received_message_count","recv_msg_cnt","recv_msg_count","total_recv_msg_cnt","message_count"]),message_count_known_count:de(n,["message_count_known_count","exact_message_customer_count"])}),x.rows=Array.isArray(l==null?void 0:l.lists)?l.lists:Array.isArray(l==null?void 0:l.list)?l.list:Array.isArray(l==null?void 0:l.rows)?l.rows:[],B.total=Number((l==null?void 0:l.total)??(l==null?void 0:l.count)??((t=l==null?void 0:l.page)==null?void 0:t.total)??x.rows.length)||0;const S=(l==null?void 0:l.filters)||{},J=(l==null?void 0:l.link_options)||(S==null?void 0:S.link_options)||(S==null?void 0:S.links),Q=(l==null?void 0:l.member_options)||(S==null?void 0:S.member_options)||(S==null?void 0:S.members);Array.isArray(J)&&(x.link_options=J),Array.isArray(Q)&&(x.member_options=Q);const z=x.rows.reduce((d,v)=>{const E=v.last_synced_at||v.last_sync_time||v.synced_at||v.sync_time||"";return Number(E||0)>Number(d||0)?E:d},""),H=((e=l==null?void 0:l.meta)==null?void 0:e.last_synced_at)||(l==null?void 0:l.last_synced_at)||z||x.meta.last_synced_at||"";Object.assign(x.meta,(l==null?void 0:l.meta)||{},{last_synced_at:H?Be(H):""}),Re.value=!0}catch(l){g.error((l==null?void 0:l.message)||"获客客户统计加载失败")}finally{fe.value=!1}}function Ut(){B.page_no=1,ne()}function Lt(){Object.assign(M,{link_id:"",userid:"",chat_status:""}),B.page_no=1,ne()}function Ft(){B.page_no=1,ne()}async function Bt(){var t,e,l;Ie.value=!0;try{const n=await Ha({promotion_link_id:M.link_id?Number(M.link_id):void 0}),c=Number((n==null?void 0:n.scanned)??(n==null?void 0:n.customer_scanned)??((t=n==null?void 0:n.customers)==null?void 0:t.scanned)??0),f=Number((n==null?void 0:n.created)??(n==null?void 0:n.customer_created)??((e=n==null?void 0:n.customers)==null?void 0:e.created)??0),w=Number((n==null?void 0:n.updated)??(n==null?void 0:n.customer_updated)??((l=n==null?void 0:n.customers)==null?void 0:l.updated)??0);g.success((n==null?void 0:n.message)||`客户同步完成:扫描 ${R(c)} 位,新增 ${R(f)} 位,更新 ${R(w)} 位`),B.page_no=1,await Promise.all([q(),ne()])}catch(n){g.error((n==null?void 0:n.message)||"获客客户同步失败")}finally{Ie.value=!1}}function Ue(t){var l;const e=Math.floor(Date.now()/1e3);return Number(t.enabled)!==1?{label:"已禁用",className:"is-muted"}:Number(t.active_start)>0&&Number(t.active_start)>e?{label:"尚未生效",className:"is-waiting"}:Number(t.active_end)>0&&Number(t.active_end)0&&Xe(t)>=Number(t.daily_limit)?{label:"今日已达上限",className:"is-waiting"}:Number((l=N.value)==null?void 0:l.status)===0?{label:"方案已停用",className:"is-muted"}:t.reception_available===!1||t.reception_available===0?{label:t.is_backup?"备用待命":"非接待时段",className:"is-waiting"}:t.is_backup?{label:"备用接待中",className:"is-ok"}:{label:"可参与分流",className:"is-ok"}}function Qe(t){const e=Ue(t).className==="is-ok";return t.is_in_remote_range?{label:e?"企微路由中":"待移出",className:e?"is-online":"is-offline"}:{label:e?"待同步":"未在路由范围",className:"is-offline"}}function Xe(t){const e=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(new Date);return t.today_date===e?Number(t.today_count||0):0}function jt(t,e){const l=new Set,n=d=>{d.forEach(v=>{const E=Number(v.id);E>0&&l.add(E),Array.isArray(v.children)&&n(v.children)})};n(Array.isArray(t)?t:[]);const c=[],f=new Set;for(const d of Array.isArray(e)?e:[]){const v=Number(d.id);v<=0||f.has(v)||(f.add(v),c.push({id:v,name:String(d.name||d.userid||`成员 ${v}`),userid:String(d.userid||""),display_dept_id:Number(d.display_dept_id||0),dept_ids:Array.isArray(d.dept_ids)?Array.from(new Set(d.dept_ids.map(Number).filter(E=>E>0))):[],dept_names:Array.isArray(d.dept_names)?d.dept_names.map(String).filter(Boolean):[]}))}const w=new Map;c.forEach(d=>{var K;const v=Number(d.display_dept_id||0),E=l.has(v)?v:d.dept_ids.find(O=>l.has(O))||0;w.has(E)||w.set(E,[]),(K=w.get(E))==null||K.push(d)});const $=new Set,S=d=>{const v=d.dept_names.length?d.dept_names.join(" / "):"未分部门",E=d.userid?`${v} · ${d.userid}`:v;return{value:d.id,label:d.name,kind:"member",detail:E,search_text:`${d.name} ${d.userid} ${d.dept_names.join(" ")}`.toLocaleLowerCase()}},J=(d,v)=>d.name.localeCompare(v.name,"zh-CN"),Q=(d,v)=>{const E=[];for(const K of Array.isArray(d)?d:[]){const O=Number(K.id);if(O<=0)continue;const Ne=String(K.name||`部门 ${O}`),ie=[...v,Ne],Ce=Q(Array.isArray(K.children)?K.children:[],ie),Ve=[...w.get(O)||[]].sort(J);Ve.forEach(X=>$.add(X.id));const je=Ve.map(S),re=[...Ce,...je];if(!re.length)continue;const $e=re.reduce((X,a)=>X+(a.kind==="member"?1:Number(a.member_count||0)),0);E.push({value:`dept:${O}`,label:Ne,kind:"department",disabled:!0,member_count:$e,search_text:`${ie.join(" ")} ${re.map(X=>X.search_text).join(" ")}`.toLocaleLowerCase(),children:re})}return E},z=Q(Array.isArray(t)?t:[],[]),H=c.filter(d=>!$.has(d.id)).sort(J);if(H.length){const d=H.map(S);z.push({value:"dept:unassigned",label:"未分部门",kind:"department",disabled:!0,member_count:d.length,search_text:`未分部门 ${d.map(v=>v.search_text).join(" ")}`.toLocaleLowerCase(),children:d})}return z}function zt(t,e){const l=String(t||"").trim().toLocaleLowerCase();return l===""||e.search_text.includes(l)}function Ot(t){var n,c;const e=Array.isArray(t==null?void 0:t.member_admin_ids)?t.member_admin_ids:[],l=((c=(n=t==null?void 0:t.automation_config)==null?void 0:n.backup_member_admin_ids)==null?void 0:c.length)||0;return e.length?`${e.length} 名主接待${l?` · ${l} 名备用`:""}`:"未选择医助"}function qt(t){return`${Array.isArray(t.dept_names)&&t.dept_names.length?t.dept_names.join(" / "):"未分部门"} · ${t.userid||"未绑定 userid"}`}function Ht(t){const e=t.department_name||t.dept_name||"",l=t.userid?` · ${t.userid}`:"";return e?`${t.name} · ${e}${l}`:`${t.name}${l}`}function et(t){const e=t.external_userid_masked||t.customer_id_masked||t.customer_masked||t.customer_name_masked;return e?String(e):Jt(t.external_userid||t.customer_id||t.id)}function Jt(t){const e=String(t||"").trim();return e?e.includes("*")?e:e.length<=4?`${e.slice(0,1)}***`:e.length<=8?`${e.slice(0,2)}***${e.slice(-1)}`:`${e.slice(0,4)}****${e.slice(-4)}`:"-"}function Rt(t){return t.link_name||t.source_link_name||t.promotion_link_name||"未匹配来源链接"}function Kt(t){const e=t.link_id||t.remote_link_id||t.source_link_id;return e?`链接 ID:${e}`:"暂无链接 ID"}function Le(t){return de(t,["received_message_count","recv_msg_cnt","message_count","received_count"])}function tt(t){const e=t.message_count_known??t.message_count_exact??t.count_known;return e!=null?e===!0||e===1||e==="1"||e==="true":Le(t)>0}function Fe(t){const e=Number(t.chat_status);if(e===2)return"unknown";const l=t.has_messaged??t.has_message??t.messaged;return l!=null?l===!0||l===1||l==="1"||l==="true"||l==="messaged"?"messaged":"silent":e===1||Le(t)>0?"messaged":"silent"}function Wt(t){const e=Fe(t);return e==="messaged"?"已发消息":e==="unknown"?"状态未知":"未发消息"}function Yt(t){if(tt(t))return R(Le(t));const e=Fe(t);return e==="silent"?"0":e==="unknown"?"未知":"待回调"}function at(t){return t.last_message_at||t.last_chat_time||t.last_message_time||t.last_msg_time||t.event_time||""}function Be(t){if(t==null||t===""||t===0||t==="0")return"-";if(typeof t=="number"||/^\d+$/.test(String(t))){const e=Number(t),l=new Date(e>1e11?e:e*1e3);return Number.isNaN(l.getTime())?"-":l.toLocaleString("zh-CN",{hour12:!1}).replaceAll("/","-")}return String(t).replace("T"," ").replace(/Z$/,"").slice(0,19)}function Gt(t){return`${Number(t||0).toFixed(1)}%`}function R(t){return Number(t||0).toLocaleString("zh-CN")}function lt(t){const e=new Date(Number(t||0)*1e3),l=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${l(e.getMonth()+1)}-${l(e.getDate())} ${l(e.getHours())}:${l(e.getMinutes())}:${l(e.getSeconds())}`}async function st(t,e){if(!t)return g.warning(`${e}暂无内容`);try{await navigator.clipboard.writeText(t)}catch{const l=document.createElement("textarea");l.value=t,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.select();const n=document.execCommand("copy");if(l.remove(),!n)throw new Error("copy command failed")}g.success(`${e}已复制`)}async function Zt(){await q()}return Ra(async()=>{await q()}),(t,e)=>{var X;const l=Xt,n=ea,c=ta,f=aa,w=sa,$=la,S=na,J=ia,Q=oa,z=ua,H=ra,d=da,v=ma,E=ca,K=_a,O=pa,Ne=fa,ie=ba,Ce=va,Ve=ga,je=ya,re=ka,$e=Qt;return ft((r(),b("div",Ya,[s("header",Ga,[s("div",Za,[s("span",Qa,[i(l,null,{default:o(()=>[i(y(Na))]),_:1})]),e[52]||(e[52]=s("div",null,[s("h1",null,"企业微信获客助手"),s("p",null,"一个方案保留一条企业微信官方直链,由企业微信在多个可用医助之间原生路由")],-1))]),s("div",Xa,[s("span",el,[i(l,null,{default:o(()=>[i(y(Ca))]),_:1}),_(u(m.meta.scope_label||"当前数据范围"),1)]),m.meta.generated_at?(r(),b("span",tl,"更新于 "+u(m.meta.generated_at),1)):C("",!0),i(n,{icon:y(nt),loading:ye.value||fe.value,onClick:Mt},{default:o(()=>[...e[53]||(e[53]=[_("刷新",-1)])]),_:1},8,["icon","loading"])])]),s("section",al,[s("article",ll,[s("span",sl,[i(l,null,{default:o(()=>[i(y(Va))]),_:1})]),s("div",null,[e[54]||(e[54]=s("small",null,"内部应用",-1)),s("strong",null,u(m.summary.configured_apps),1),e[55]||(e[55]=s("p",null,"直接读取服务器环境配置",-1))])]),s("article",nl,[s("span",il,[i(l,null,{default:o(()=>[i(y($a))]),_:1})]),s("div",null,[e[56]||(e[56]=s("small",null,"分流方案",-1)),s("strong",null,u(m.summary.pool_count),1),e[57]||(e[57]=s("p",null,"每个方案对应一个官方链接",-1))])]),s("article",ol,[s("span",dl,[i(l,null,{default:o(()=>[i(y(Sa))]),_:1})]),s("div",null,[e[58]||(e[58]=s("small",null,"官方链接",-1)),s("strong",null,u(m.summary.online_links),1),e[59]||(e[59]=s("p",null,"链接不变,成员范围自动更新",-1))])]),s("article",rl,[s("span",ul,[i(l,null,{default:o(()=>[i(y(xa))]),_:1})]),s("div",null,[e[60]||(e[60]=s("small",null,"今日实际获客",-1)),s("strong",null,u(m.summary.today_clicks),1),e[61]||(e[61]=s("p",null,"按企业微信回调确认承接成员",-1))])])]),s("section",ml,[s("nav",cl,[s("button",{class:D({active:L.value==="links"}),onClick:e[0]||(e[0]=a=>L.value="links")},[i(l,null,{default:o(()=>[i(y(it))]),_:1}),e[62]||(e[62]=_("获客助手链接 ",-1))],2),s("button",{class:D({active:L.value==="customer-stats"}),onClick:e[1]||(e[1]=a=>L.value="customer-stats")},[i(l,null,{default:o(()=>[i(y(ot))]),_:1}),e[63]||(e[63]=_("获客客户统计 ",-1))],2),s("button",{class:D({active:L.value==="configuration"}),onClick:e[2]||(e[2]=a=>L.value="configuration")},[i(l,null,{default:o(()=>[i(y(Aa))]),_:1}),e[64]||(e[64]=_("应用配置 ",-1))],2),s("button",{class:D({active:L.value==="install"}),onClick:e[3]||(e[3]=a=>L.value="install")},[i(l,null,{default:o(()=>[i(y(ze))]),_:1}),e[65]||(e[65]=_("JS 安装 ",-1))],2)]),L.value==="links"?(r(),b("div",_l,[s("div",pl,[e[69]||(e[69]=s("div",null,[s("h2",null,"获客助手分流方案"),s("p",null,"选择几名医助就生成几条成员规则;官方链接只在方案顶部复制,成员行不重复展示链接。")],-1)),s("div",fl,[F.value.length?(r(),b("span",bl,"已选 "+u(F.value.length)+" 个方案",1)):C("",!0),i(n,{icon:y(dt),disabled:!F.value.length,onClick:e[4]||(e[4]=a=>Ct())},{default:o(()=>[...e[66]||(e[66]=[_("批量修改方案",-1)])]),_:1},8,["icon","disabled"]),i(n,{icon:y(Oe),disabled:!F.value.length,onClick:e[5]||(e[5]=a=>Ge())},{default:o(()=>[...e[67]||(e[67]=[_("批量设置访问操作",-1)])]),_:1},8,["icon","disabled"]),i(n,{type:"primary",icon:y(rt),onClick:e[6]||(e[6]=a=>Me())},{default:o(()=>[...e[68]||(e[68]=[_("新建分流方案",-1)])]),_:1},8,["icon"])])]),m.pools.length?(r(),b("div",gl,[s("aside",vl,[(r(!0),b(ee,null,te(m.pools,a=>(r(),b("div",{key:a.id,class:D(["pool-select-row",{active:Number(a.id)===ae.value}])},[i(c,{"model-value":F.value.includes(Number(a.id)),disabled:!a.can_manage_access,"aria-label":`选择方案 ${a.name}`,onChange:ve=>Nt(a,ve),onClick:e[7]||(e[7]=ha(()=>{},["stop"]))},null,8,["model-value","disabled","aria-label","onChange"]),s("button",{type:"button",class:"pool-item",onClick:ve=>ae.value=Number(a.id)},[s("span",{class:D(["pool-status",Number(a.status)===1?"online":"offline"])},null,2),s("span",null,[s("strong",null,u(a.name),1),s("small",null,u(Ot(a))+" · "+u(At(a)),1)]),i(l,null,{default:o(()=>[i(y(Pa))]),_:1})],8,yl)],2))),128))]),s("div",kl,[N.value?(r(),b("div",wl,[s("div",null,[s("div",hl,[s("h3",null,u(N.value.name),1),s("span",{class:D(["status-tag",Number(N.value.status)===1?"is-online":"is-offline"])},u(Number(N.value.status)===1?"运行中":"已停用"),3),s("span",Nl,u(N.value.dept_name||"未分部门")+" · "+u(N.value.owner_name||"系统"),1)]),s("p",null,"公开键:"+u(N.value.public_key),1)]),s("div",Cl,[i(n,{icon:y(ut),loading:ke.value,onClick:Ze},{default:o(()=>[...e[70]||(e[70]=[_("验证 API",-1)])]),_:1},8,["icon","loading"]),i(n,{icon:y(ze),disabled:!N.value.main_url,onClick:e[8]||(e[8]=a=>st(N.value.main_url,"官方获客链接"))},{default:o(()=>[...e[71]||(e[71]=[_("复制链接",-1)])]),_:1},8,["icon","disabled"]),i(n,{icon:y(ze),onClick:e[9]||(e[9]=a=>st(N.value.install_code,"JS 安装代码"))},{default:o(()=>[...e[72]||(e[72]=[_("复制 JS",-1)])]),_:1},8,["icon"]),N.value.can_manage_access?(r(),V(n,{key:0,icon:y(Oe),onClick:e[10]||(e[10]=a=>Ge([Number(N.value.id)]))},{default:o(()=>[...e[73]||(e[73]=[_("设置访问操作",-1)])]),_:1},8,["icon"])):C("",!0),N.value.can_operate?(r(),V(n,{key:1,icon:y(dt),onClick:e[11]||(e[11]=a=>Me(N.value))},{default:o(()=>[...e[74]||(e[74]=[_("编辑方案",-1)])]),_:1},8,["icon"])):C("",!0),N.value.can_delete?(r(),V(n,{key:2,type:"danger",plain:"",icon:y(Ia),loading:we.value===Number(N.value.id),disabled:we.value>0,onClick:e[12]||(e[12]=a=>It(N.value))},{default:o(()=>[...e[75]||(e[75]=[_("删除",-1)])]),_:1},8,["icon","loading","disabled"])):C("",!0)])])):C("",!0),N.value.migration_state==="needs_resolution"?(r(),V(f,{key:1,class:"legacy-sync-alert",type:"warning","show-icon":"",closable:!1,title:"检测到旧版方案存在多个官方链接",description:"当前显示最新链接;保存方案后,其余旧链接只会在本地下线,企业微信端与历史客户归因仍会保留。"})):C("",!0),i(f,{class:"legacy-sync-alert",type:"info","show-icon":"",closable:!1,title:"企业微信原生多人路由",description:"当前全部可用医助会同时写入官方链接的成员范围,由企业微信在打开和添加阶段直接进行多人路由。回调只用于统计实际承接结果,并在禁用、过期或达到上限后更新成员范围。"}),s("div",Vl,[i(Q,{data:gt.value,class:"link-table",height:"100%",stripe:""},{empty:o(()=>[i(J,{"image-size":72,description:"编辑方案并选择获客医助"})]),default:o(()=>[i($,{label:"推广成员","min-width":"210",fixed:"left"},{default:o(({row:a})=>[s("div",$l,[s("strong",null,[_(u(a.name||a.userid)+" ",1),a.is_backup?(r(),V(w,{key:0,size:"small",type:"warning",effect:"plain"},{default:o(()=>[...e[76]||(e[76]=[_("备用",-1)])]),_:1})):C("",!0)]),s("small",null,u(qt(a)),1)])]),_:1}),i($,{label:"企微范围同步",width:"130",align:"center"},{default:o(({row:a})=>[s("span",{class:D(["status-tag",Qe(a).className])},u(Qe(a).label),3),Number(a.sync_status)===3?(r(),b("div",Sl,"同步失败,后台重试中")):C("",!0)]),_:1}),i($,{label:"今日 / 上限",width:"125",align:"center"},{default:o(({row:a})=>[_(u(Xe(a))+" / "+u(Number(a.daily_limit)?a.daily_limit:"不限"),1)]),_:1}),i($,{label:"累计获客",prop:"total_count",width:"105",align:"center"}),i($,{label:"当前可用性","min-width":"130"},{default:o(({row:a})=>[s("span",{class:D(["availability",Ue(a).className])},u(Ue(a).label),3)]),_:1}),i($,{label:"上线",width:"90",align:"center"},{default:o(({row:a})=>[i(S,{"model-value":Number(a.enabled)===1,disabled:!N.value.can_operate,loading:Ae.value===Number(a.id),onChange:ve=>Tt(a,ve)},null,8,["model-value","disabled","loading","onChange"])]),_:1}),i($,{label:"操作","min-width":"100",fixed:"right"},{default:o(({row:a})=>[N.value.can_operate?(r(),V(n,{key:0,type:"primary",link:"",onClick:ve=>Et(a)},{default:o(()=>[...e[77]||(e[77]=[_("编辑规则",-1)])]),_:1},8,["onClick"])):C("",!0)]),_:1})]),_:1},8,["data"])])])])):(r(),V(J,{key:1,description:"创建方案并选择多个医助,保存后自动生成一个企业微信官方获客链接"},{default:o(()=>[i(n,{type:"primary",icon:y(rt),onClick:e[13]||(e[13]=a=>Me())},{default:o(()=>[...e[78]||(e[78]=[_("创建第一个方案",-1)])]),_:1},8,["icon"])]),_:1}))])):L.value==="customer-stats"?(r(),b("div",xl,[s("div",Al,[e[80]||(e[80]=s("div",null,[s("h2",null,"获客客户消息统计"),s("p",null,"统计当前权限范围内由获客助手链接添加的客户,以及客户向承接成员发送消息的情况。")],-1)),s("div",Pl,[x.meta.last_synced_at?(r(),b("span",Il,"最近同步 "+u(x.meta.last_synced_at),1)):C("",!0),i(n,{type:"primary",icon:y(nt),loading:Ie.value,onClick:Bt},{default:o(()=>[...e[79]||(e[79]=[_("同步客户",-1)])]),_:1},8,["icon","loading"])])]),s("section",El,[s("article",Dl,[s("span",Tl,[i(l,null,{default:o(()=>[i(y(Oe))]),_:1})]),s("div",null,[e[81]||(e[81]=s("small",null,"获客客户数",-1)),s("strong",null,u(R(x.summary.customer_count)),1),e[82]||(e[82]=s("p",null,"当前筛选范围内的去重客户",-1))])]),s("article",Ml,[s("span",Ul,[i(l,null,{default:o(()=>[i(y(Ea))]),_:1})]),s("div",null,[e[83]||(e[83]=s("small",null,"已发消息客户数",-1)),s("strong",null,u(R(x.summary.messaged_customer_count)),1),e[84]||(e[84]=s("p",null,"至少发送过一条消息",-1))])]),s("article",Ll,[s("span",Fl,[i(l,null,{default:o(()=>[i(y(ot))]),_:1})]),s("div",null,[e[85]||(e[85]=s("small",null,"消息客户率",-1)),s("strong",null,u(Gt(x.summary.message_customer_rate)),1),e[86]||(e[86]=s("p",null,"已发消息客户占获客客户比例",-1))])]),s("article",Bl,[s("span",jl,[i(l,null,{default:o(()=>[i(y(it))]),_:1})]),s("div",null,[e[87]||(e[87]=s("small",null,"累计接收消息数",-1)),s("strong",null,u(R(x.summary.received_message_count)),1),s("p",null,"已精确统计 "+u(R(x.summary.message_count_known_count))+" 位客户",1)])])]),m.config.callback_ready?C("",!0):(r(),V(f,{key:0,class:"chatkey-alert",type:"warning","show-icon":"",closable:!1,title:"消息次数回调尚未配置完成",description:"复用企业微信自建应用现有的“API 接收消息”地址即可,无需新增第二个回调;请确保该地址为 /api/qywx/external-contact/notify,且服务器 Token、AESKey 与企微后台一致。未完成前无法自动累计成员获客数量,也无法在成员达到上限后自动更新官方范围。"})),i(f,{class:"chatkey-alert",type:"info","show-icon":"",closable:!1,title:"获客助手通过事件与 ChatKey 返回收消息次数",description:"本功能复用现有回调并按事件类型处理 customer_acquisition,不会占用第二个回调。客户首次发消息会推送 customer_start_chat;累计第 3、5、10 次时推送 message_from_customer,服务端需在 30 分钟内用 ChatKey 查询成员、客户、获客链接和累计收消息次数。"}),s("div",zl,[i(v,{model:M,inline:"","label-position":"top"},{default:o(()=>[i(d,{label:"来源链接"},{default:o(()=>[i(H,{modelValue:M.link_id,"onUpdate:modelValue":e[14]||(e[14]=a=>M.link_id=a),clearable:"",filterable:"",placeholder:"全部链接"},{default:o(()=>[(r(!0),b(ee,null,te(wt.value,a=>(r(),V(z,{key:String(a.id),label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(d,{label:"承接成员"},{default:o(()=>[i(H,{modelValue:M.userid,"onUpdate:modelValue":e[15]||(e[15]=a=>M.userid=a),clearable:"",filterable:"",placeholder:"全部成员"},{default:o(()=>[(r(!0),b(ee,null,te(ht.value,a=>(r(),V(z,{key:a.userid||String(a.id),label:Ht(a),value:a.userid||String(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(d,{label:"聊天状态"},{default:o(()=>[i(H,{modelValue:M.chat_status,"onUpdate:modelValue":e[16]||(e[16]=a=>M.chat_status=a),clearable:"",placeholder:"全部状态"},{default:o(()=>[i(z,{label:"已发过消息",value:"messaged"}),i(z,{label:"未发过消息",value:"silent"}),i(z,{label:"状态未知",value:"unknown"})]),_:1},8,["modelValue"])]),_:1}),i(d,{class:"filter-actions"},{default:o(()=>[i(n,{type:"primary",icon:y(Da),loading:fe.value,onClick:Ut},{default:o(()=>[...e[88]||(e[88]=[_("查询",-1)])]),_:1},8,["icon","loading"]),i(n,{onClick:Lt},{default:o(()=>[...e[89]||(e[89]=[_("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),ft((r(),V(Q,{data:x.rows,class:"customer-table",stripe:""},{empty:o(()=>[i(J,{"image-size":72,description:"当前筛选范围暂无获客客户数据"})]),default:o(()=>[i($,{label:"客户标识(已脱敏)","min-width":"190",fixed:"left"},{default:o(({row:a})=>[s("span",{class:"customer-identifier",title:et(a)},u(et(a)),9,Ol)]),_:1}),i($,{label:"来源链接","min-width":"190"},{default:o(({row:a})=>[s("div",ql,[s("strong",null,u(Rt(a)),1),s("small",null,u(Kt(a)),1)])]),_:1}),i($,{label:"承接成员 / 部门","min-width":"175"},{default:o(({row:a})=>[s("div",Hl,[s("strong",null,u(a.member_name||a.owner_name||"未匹配成员"),1),s("small",null,u(a.department_name||a.dept_name||"未分部门")+" · "+u(a.userid||"未绑定企微账号"),1)])]),_:1}),i($,{label:"客户开口",width:"110",align:"center"},{default:o(({row:a})=>[s("span",{class:D(["message-state",`is-${Fe(a)}`])},u(Wt(a)),3)]),_:1}),i($,{label:"累计消息",width:"100",align:"right"},{default:o(({row:a})=>[s("strong",{class:D(["message-count",{muted:!tt(a)}])},u(Yt(a)),3)]),_:1}),i($,{label:"最近同步时间","min-width":"165"},{default:o(({row:a})=>[_(u(Be(a.last_synced_at||a.last_sync_time||a.synced_at||a.sync_time)),1)]),_:1}),i($,{label:"最近收消息事件","min-width":"165"},{default:o(({row:a})=>[s("span",{class:D({muted:!at(a)})},u(Be(at(a))),3)]),_:1})]),_:1},8,["data"])),[[$e,fe.value]]),s("div",Jl,[s("span",null,"共 "+u(R(B.total))+" 位客户",1),i(E,{"current-page":B.page_no,"onUpdate:currentPage":e[17]||(e[17]=a=>B.page_no=a),"page-size":B.page_size,"onUpdate:pageSize":e[18]||(e[18]=a=>B.page_size=a),background:"",layout:"sizes, prev, pager, next","page-sizes":[10,20,50,100],total:B.total,onCurrentChange:ne,onSizeChange:Ft},null,8,["current-page","page-size","total"])])])):L.value==="configuration"?(r(),b("div",Rl,[e[98]||(e[98]=s("div",{class:"section-heading"},[s("div",null,[s("h2",null,"企业微信内部应用配置"),s("p",null,"直接读取服务器现有的 work_wechat 配置,密钥不会返回浏览器,也不需要第三方应用授权。")])],-1)),s("div",{class:D(["configuration-panel",m.config.ready?"is-ready":"is-pending"])},[s("div",Kl,[s("span",null,[i(l,null,{default:o(()=>[(r(),V(Ka(m.config.ready?y(ut):y(Ta))))]),_:1})]),s("div",null,[s("strong",null,u(m.config.ready?"内部应用已就绪":"内部应用配置不完整"),1),m.config.ready?(r(),b("p",Wl,"已识别 CorpID 与应用 Secret;点击“验证 API”可同时检查可信 IP、获客助手开通状态和应用权限。")):(r(),b("p",Yl,"请补齐服务器 .env 的 [work_wechat] 配置;页面不会展示 Secret 内容。"))])]),(X=m.config.missing)!=null&&X.length?(r(),b("div",Gl,[e[90]||(e[90]=_(" 缺少:",-1)),(r(!0),b(ee,null,te(m.config.missing,a=>(r(),b("code",{key:a},u(a),1))),128))])):C("",!0),s("dl",Zl,[s("div",null,[e[91]||(e[91]=s("dt",null,"企业 CorpID",-1)),s("dd",null,u(m.config.corp_id_masked||"未配置"),1),s("span",null,u(m.config.corp_id_masked?"已识别":"缺失"),1)]),s("div",null,[e[92]||(e[92]=s("dt",null,"应用 AgentID",-1)),s("dd",null,u(m.config.agent_id||"未配置"),1),s("span",null,u(m.config.agent_id?"已识别":"缺失"),1)]),s("div",null,[e[93]||(e[93]=s("dt",null,"应用 Secret",-1)),e[94]||(e[94]=s("dd",null,"仅保存在服务器环境变量中",-1)),s("span",null,u(m.config.secret_configured?"已配置":"缺失"),1)]),s("div",null,[e[95]||(e[95]=s("dt",null,"消息回调地址",-1)),s("dd",null,u(m.config.callback_url||"未生成"),1),s("span",null,u(m.config.callback_ready?"已配置密钥":"待配置 Token/AESKey"),1)])]),s("div",Ql,[i(n,{type:"primary",loading:ke.value,onClick:Ze},{default:o(()=>[...e[96]||(e[96]=[_("验证获客助手 API",-1)])]),_:1},8,["loading"]),m.config.official_doc?(r(),V(K,{key:0,href:m.config.official_doc,target:"_blank",type:"primary"},{default:o(()=>[...e[97]||(e[97]=[_("查看企业微信官方文档",-1)])]),_:1},8,["href"])):C("",!0)])],2)])):(r(),b("div",Xl,[s("div",es,[e[99]||(e[99]=s("div",null,[s("h2",null,"安装 JS 与浮窗客服"),s("p",null,"为每个分流方案配置独立浮窗;基础脚本仍只负责展示入口、捕获点击并请求服务端分流。")],-1)),i(H,{modelValue:oe.value,"onUpdate:modelValue":e[19]||(e[19]=a=>oe.value=a),placeholder:"选择分流方案",class:"install-pool-select"},{default:o(()=>[(r(!0),b(ee,null,te(m.pools,a=>(r(),V(z,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),Ee.value?(r(),V(Ja,{key:Number(Ee.value.id),pool:Ee.value,onSaved:Zt},null,8,["pool"])):(r(),V(J,{key:1,description:"请先创建分流方案,系统会自动生成 JS 安装代码"}))]))]),i(ie,{modelValue:ue.value,"onUpdate:modelValue":e[28]||(e[28]=a=>ue.value=a),title:k.id?"编辑分流方案":"新建分流方案",width:"1000px",class:"promotion-pool-dialog","destroy-on-close":"","close-on-click-modal":!1,"close-on-press-escape":!U.value&&!Z.value,"show-close":!U.value&&!Z.value},{footer:o(()=>[Z.value?(r(),b("span",ns,"正在处理标签或素材,请稍候")):C("",!0),i(n,{disabled:U.value||Z.value,onClick:e[27]||(e[27]=a=>ue.value=!1)},{default:o(()=>[...e[101]||(e[101]=[_("取消",-1)])]),_:1},8,["disabled"]),i(n,{type:"primary",loading:U.value,disabled:Z.value,onClick:Pt},{default:o(()=>[_(u(k.id?"保存方案":"保存并生成链接"),1)]),_:1},8,["loading","disabled"])]),default:o(()=>[s("div",{ref_key:"poolFormScroll",ref:Pe,class:"pool-form-scroll"},[se.value?(r(),V(f,{key:0,class:"pool-form-error",title:se.value,type:"error","show-icon":"",closable:!1,role:"alert"},null,8,["title"])):C("",!0),i(v,{"label-position":"top",disabled:U.value},{default:o(()=>[i(d,{label:"方案名称",required:""},{default:o(()=>[i(O,{modelValue:k.name,"onUpdate:modelValue":e[20]||(e[20]=a=>k.name=a),disabled:U.value,maxlength:"60","show-word-limit":"",placeholder:"例如:官网咨询分流"},null,8,["modelValue","disabled"])]),_:1}),i(d,{label:"主接待成员(获客医助)",required:""},{default:o(()=>[i(Ne,{modelValue:k.member_admin_ids,"onUpdate:modelValue":e[21]||(e[21]=a=>k.member_admin_ids=a),data:Ye.value,props:yt,"default-expanded-keys":kt.value,"filter-node-method":zt,disabled:U.value,"node-key":"value",multiple:"",filterable:"",clearable:"","show-checkbox":"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":2,"multiple-limit":500,"render-after-expand":!1,placeholder:"按部门展开,或搜索姓名 / 部门 / 企微 userid",style:{width:"100%"}},{default:o(({data:a})=>[s("span",{class:D(["member-tree-option",`is-${a.kind}`])},[s("span",ts,u(a.label),1),a.kind==="department"?(r(),b("span",as,u(a.member_count)+" 人",1)):(r(),b("span",ls,u(a.detail),1))],2)]),_:1},8,["modelValue","data","default-expanded-keys","disabled"]),s("span",ss,"已选 "+u(k.member_admin_ids.length)+" 名;保存后会为每名医助生成一条成员规则,官方链接地址始终只有一个。",1)]),_:1}),i(d,{label:"添加客户时跳过验证"},{default:o(()=>[i(S,{modelValue:k.skip_verify,"onUpdate:modelValue":e[22]||(e[22]=a=>k.skip_verify=a),disabled:U.value,"active-value":1,"inactive-value":0,"active-text":"跳过验证","inactive-text":"需要验证"},null,8,["modelValue","disabled"])]),_:1}),i(d,{label:"兜底获客助手链接"},{default:o(()=>[i(O,{modelValue:k.fallback_url,"onUpdate:modelValue":e[23]||(e[23]=a=>k.fallback_url=a),disabled:U.value,placeholder:"可选;仅供旧版兼容跳转使用"},null,8,["modelValue","disabled"]),e[100]||(e[100]=s("span",{class:"form-tip"},"新生成的官方直链不经过本站跳转;此项仅兼容旧安装代码。",-1))]),_:1}),i(d,{label:"运行状态"},{default:o(()=>[i(S,{modelValue:k.status,"onUpdate:modelValue":e[24]||(e[24]=a=>k.status=a),disabled:U.value,"active-value":1,"inactive-value":0,"active-text":"运行","inactive-text":"停用"},null,8,["modelValue","disabled"])]),_:1}),m.automation_installed?(r(),V(mt,{key:0,modelValue:k.automation_config,"onUpdate:modelValue":e[25]||(e[25]=a=>k.automation_config=a),"main-member-ids":k.member_admin_ids,members:m.member_options,disabled:U.value,onBusy:e[26]||(e[26]=a=>Z.value=a)},null,8,["modelValue","main-member-ids","members","disabled"])):(r(),V(f,{key:1,type:"warning","show-icon":"",closable:!1,title:"自动化配置尚未安装",description:"请先在服务端执行 add_wecom_promotion_automation.sql 并部署消费进程及定时调度,即可设置接待时段、标签、备注和欢迎语。当前仍可保存原有分流方案。"}))]),_:1},8,["disabled"])],512)]),_:1},8,["modelValue","title","close-on-press-escape","show-close"]),i(ie,{modelValue:_e.value,"onUpdate:modelValue":e[41]||(e[41]=a=>_e.value=a),title:"批量修改分流方案",width:"1000px",class:"promotion-pool-dialog","destroy-on-close":"","close-on-click-modal":!1,"close-on-press-escape":!A.value&&!G.value,"show-close":!A.value&&!G.value},{footer:o(()=>[G.value?(r(),b("span",cs,"正在处理标签或素材,请稍候")):C("",!0),i(n,{disabled:A.value||G.value,onClick:e[40]||(e[40]=a=>_e.value=!1)},{default:o(()=>[...e[113]||(e[113]=[_("取消",-1)])]),_:1},8,["disabled"]),i(n,{type:"primary",loading:A.value,disabled:G.value,onClick:Vt},{default:o(()=>[...e[114]||(e[114]=[_("批量保存",-1)])]),_:1},8,["loading","disabled"])]),default:o(()=>[s("div",{ref_key:"batchConfigScroll",ref:Je,class:"pool-form-scroll batch-config-scroll"},[i(f,{type:"warning","show-icon":"",closable:!1,title:`将统一修改 ${I.pool_ids.length} 个分流方案`,description:"仅勾选的项目会覆盖到所选方案;未勾选项目保留各方案原值。表单初始值取第一个所选方案。"},null,8,["title"]),pe.value?(r(),V(f,{key:0,class:"pool-form-error batch-config-error",title:pe.value,type:"error","show-icon":"",closable:!1,role:"alert"},null,8,["title"])):C("",!0),be.value.length?(r(),b("div",is,[e[102]||(e[102]=s("strong",null,"已选方案",-1)),(r(!0),b(ee,null,te(be.value.slice(0,8),a=>(r(),b("span",{key:a.id},u(a.name),1))),128)),be.value.length>8?(r(),b("small",os,"另有 "+u(be.value.length-8)+" 个",1)):C("",!0)])):C("",!0),i(v,{class:"batch-config-form","label-position":"top",disabled:A.value},{default:o(()=>[s("section",ds,[e[107]||(e[107]=s("h3",null,"基础设置",-1)),s("div",rs,[s("div",{class:D(["batch-field",{"is-disabled":!p.skip_verify}])},[i(c,{modelValue:p.skip_verify,"onUpdate:modelValue":e[29]||(e[29]=a=>p.skip_verify=a),disabled:A.value},{default:o(()=>[...e[103]||(e[103]=[_("批量修改验证方式",-1)])]),_:1},8,["modelValue","disabled"]),i(d,{label:"添加客户时跳过验证"},{default:o(()=>[i(S,{modelValue:I.skip_verify,"onUpdate:modelValue":e[30]||(e[30]=a=>I.skip_verify=a),disabled:!p.skip_verify||A.value,"active-value":1,"inactive-value":0,"active-text":"跳过验证","inactive-text":"需要验证"},null,8,["modelValue","disabled"])]),_:1})],2),s("div",{class:D(["batch-field",{"is-disabled":!p.status}])},[i(c,{modelValue:p.status,"onUpdate:modelValue":e[31]||(e[31]=a=>p.status=a),disabled:A.value},{default:o(()=>[...e[104]||(e[104]=[_("批量修改运行状态",-1)])]),_:1},8,["modelValue","disabled"]),i(d,{label:"运行状态"},{default:o(()=>[i(S,{modelValue:I.status,"onUpdate:modelValue":e[32]||(e[32]=a=>I.status=a),disabled:!p.status||A.value,"active-value":1,"inactive-value":0,"active-text":"运行","inactive-text":"停用"},null,8,["modelValue","disabled"])]),_:1})],2)]),s("div",{class:D(["batch-field",{"is-disabled":!p.fallback_url}])},[i(c,{modelValue:p.fallback_url,"onUpdate:modelValue":e[33]||(e[33]=a=>p.fallback_url=a),disabled:A.value},{default:o(()=>[...e[105]||(e[105]=[_("批量修改兜底获客助手链接",-1)])]),_:1},8,["modelValue","disabled"]),i(d,{label:"兜底获客助手链接"},{default:o(()=>[i(O,{modelValue:I.fallback_url,"onUpdate:modelValue":e[34]||(e[34]=a=>I.fallback_url=a),disabled:!p.fallback_url||A.value,placeholder:"留空表示清除;仅供旧版兼容跳转使用"},null,8,["modelValue","disabled"]),e[106]||(e[106]=s("span",{class:"form-tip"},"新生成的官方直链不经过本站跳转;此项仅兼容旧安装代码。",-1))]),_:1})],2)]),m.automation_installed?(r(),b("section",us,[e[111]||(e[111]=s("h3",null,"自动化设置",-1)),e[112]||(e[112]=s("p",{class:"batch-section-tip"},"先选择要覆盖的分组。未选择的接待、客户或欢迎语设置不会随本次批量操作改变。",-1)),s("div",ms,[i(c,{modelValue:p.reception,"onUpdate:modelValue":e[35]||(e[35]=a=>p.reception=a),disabled:A.value,border:""},{default:o(()=>[...e[108]||(e[108]=[_("批量修改接待设置",-1)])]),_:1},8,["modelValue","disabled"]),i(c,{modelValue:p.customer,"onUpdate:modelValue":e[36]||(e[36]=a=>p.customer=a),disabled:A.value,border:""},{default:o(()=>[...e[109]||(e[109]=[_("批量修改客户设置",-1)])]),_:1},8,["modelValue","disabled"]),i(c,{modelValue:p.welcome,"onUpdate:modelValue":e[37]||(e[37]=a=>p.welcome=a),disabled:A.value,border:""},{default:o(()=>[...e[110]||(e[110]=[_("批量修改欢迎语设置",-1)])]),_:1},8,["modelValue","disabled"])]),p.reception&&!De.value.length?(r(),V(f,{key:0,type:"warning","show-icon":"",closable:!1,title:"所选方案没有共同主接待成员",description:"仍可统一改为全天接待;若使用按时段接待,时段成员必须同时属于全部所选方案。"})):C("",!0),i(mt,{modelValue:I.automation_config,"onUpdate:modelValue":e[38]||(e[38]=a=>I.automation_config=a),"main-member-ids":De.value,"backup-excluded-member-ids":We.value,members:m.member_options,disabled:A.value,"disabled-sections":vt.value,onBusy:e[39]||(e[39]=a=>G.value=a)},null,8,["modelValue","main-member-ids","backup-excluded-member-ids","members","disabled","disabled-sections"])])):(r(),V(f,{key:1,type:"warning","show-icon":"",closable:!1,title:"自动化配置尚未安装",description:"本次仍可批量修改验证方式、兜底链接和运行状态;安装自动化数据表后即可批量修改接待、客户和欢迎语设置。"}))]),_:1},8,["disabled"])],512)]),_:1},8,["modelValue","close-on-press-escape","show-close"]),i(ie,{modelValue:ce.value,"onUpdate:modelValue":e[45]||(e[45]=a=>ce.value=a),title:"批量设置他人访问操作",width:"620px","destroy-on-close":"","close-on-click-modal":!1,"close-on-press-escape":!le.value},{footer:o(()=>[i(n,{disabled:le.value,onClick:e[44]||(e[44]=a=>ce.value=!1)},{default:o(()=>[...e[120]||(e[120]=[_("取消",-1)])]),_:1},8,["disabled"]),i(n,{type:"primary",loading:le.value,onClick:$t},{default:o(()=>[_(u(P.action==="grant"?"批量添加":"批量移除"),1)]),_:1},8,["loading"])]),default:o(()=>[i(f,{type:"info","show-icon":"",closable:!1,title:`将设置 ${P.pool_ids.length} 个分流方案`,description:"被添加的账号可以查看并编辑方案、成员规则和浮窗配置;不能删除方案,也不能继续分配操作权限。"},null,8,["title"]),i(v,{class:"access-form","label-position":"top"},{default:o(()=>[i(d,{label:"设置方式",required:""},{default:o(()=>[i(Ve,{modelValue:P.action,"onUpdate:modelValue":e[42]||(e[42]=a=>P.action=a),disabled:le.value},{default:o(()=>[i(Ce,{value:"grant"},{default:o(()=>[...e[115]||(e[115]=[_("添加操作人",-1)])]),_:1}),i(Ce,{value:"revoke"},{default:o(()=>[...e[116]||(e[116]=[_("移除操作人",-1)])]),_:1})]),_:1},8,["modelValue","disabled"]),e[117]||(e[117]=s("span",{class:"form-tip"},"批量添加不会覆盖各方案已有操作人;批量移除只撤销本次选中的账号。",-1))]),_:1}),i(d,{label:"选择账号",required:""},{default:o(()=>[i(H,{modelValue:P.operator_admin_ids,"onUpdate:modelValue":e[43]||(e[43]=a=>P.operator_admin_ids=a),multiple:"",filterable:"",clearable:"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":3,"multiple-limit":100,disabled:le.value,placeholder:"搜索姓名或部门",style:{width:"100%"}},{default:o(()=>[(r(!0),b(ee,null,te(m.operator_options,a=>(r(),V(z,{key:a.id,label:St(a),value:Number(a.id),disabled:P.action==="grant"&&!a.can_grant},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue","disabled"]),e[118]||(e[118]=s("span",{class:"form-tip"},"添加时可选择当前管理范围内的启用账号;授权后账号会自动获得本页面入口,且只能访问已授权方案。",-1))]),_:1}),he.value.length?(r(),b("div",_s,[e[119]||(e[119]=s("strong",null,"当前授权",-1)),(r(!0),b(ee,null,te(he.value.slice(0,5),a=>(r(),b("div",{key:a.id},[s("span",null,u(a.name),1),s("small",null,u(xt(a)),1)]))),128)),he.value.length>5?(r(),b("p",ps,"另有 "+u(he.value.length-5)+" 个方案",1)):C("",!0)])):C("",!0)]),_:1})]),_:1},8,["modelValue","close-on-press-escape"]),i(ie,{modelValue:me.value,"onUpdate:modelValue":e[51]||(e[51]=a=>me.value=a),title:"编辑医助分流规则",width:"560px","destroy-on-close":"","close-on-click-modal":!1},{footer:o(()=>[i(n,{disabled:Y.value,onClick:e[50]||(e[50]=a=>me.value=!1)},{default:o(()=>[...e[122]||(e[122]=[_("取消",-1)])]),_:1},8,["disabled"]),i(n,{type:"primary",loading:Y.value,onClick:Dt},{default:o(()=>[...e[123]||(e[123]=[_("保存规则",-1)])]),_:1},8,["loading"])]),default:o(()=>[i(v,{"label-position":"top"},{default:o(()=>[i(d,{label:"获客医助"},{default:o(()=>[i(O,{"model-value":T.name?`${T.name} · ${T.userid}`:T.userid,readonly:""},null,8,["model-value"])]),_:1}),i(d,{label:"每日获客上限"},{default:o(()=>[i(je,{modelValue:T.daily_limit,"onUpdate:modelValue":e[46]||(e[46]=a=>T.daily_limit=a),min:0,max:1e6,disabled:Y.value,style:{width:"100%"}},null,8,["modelValue","disabled"]),e[121]||(e[121]=s("span",{class:"form-tip"},"0 表示不限;数量按实际获客回调累计,达到上限后会从企微官方成员范围移除。",-1))]),_:1}),i(d,{label:"有效时间"},{default:o(()=>[i(re,{modelValue:T.active_range,"onUpdate:modelValue":e[47]||(e[47]=a=>T.active_range=a),type:"datetimerange","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间","value-format":"YYYY-MM-DD HH:mm:ss",disabled:Y.value,style:{width:"100%"}},null,8,["modelValue","disabled"])]),_:1}),i(d,{label:"上线状态"},{default:o(()=>[i(S,{modelValue:T.status,"onUpdate:modelValue":e[48]||(e[48]=a=>T.status=a),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用",disabled:Y.value},null,8,["modelValue","disabled"])]),_:1}),i(d,{label:"备注"},{default:o(()=>[i(O,{modelValue:T.remark,"onUpdate:modelValue":e[49]||(e[49]=a=>T.remark=a),type:"textarea",rows:2,maxlength:"255","show-word-limit":"",disabled:Y.value},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])),[[$e,ye.value]])}}}),nn=Wa(bs,[["__scopeId","data-v-31a86edd"]]);export{nn as default}; diff --git a/server/public/admin/assets/index-C8llQFXz.js b/server/public/admin/assets/index-DXf2y97-.js similarity index 99% rename from server/public/admin/assets/index-C8llQFXz.js rename to server/public/admin/assets/index-DXf2y97-.js index 5b295259d..bf370cab9 100644 --- a/server/public/admin/assets/index-C8llQFXz.js +++ b/server/public/admin/assets/index-DXf2y97-.js @@ -1,3 +1,3 @@ -import{M as ge,d as he,i as ye,aj as ke,S as we,Z as Ne,R as Ce,Q as xe,X as De,O as Ve,N as $e,E as R}from"./element-plus-DGP1XOrU.js";import{a3 as I,a8 as Se,M as Me,N as Ee,k as Le,Z as ze,a2 as Fe,a9 as Oe,d as W,w as Re,i as Te}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as Ue}from"./vue-echarts-BNtg2q_G.js";import{b as je}from"./first_visit-BYIyH6Y1.js";import{f as H,b as Be,aP as Pe,ak as d,I as u,J as e,a as s,aN as r,O as b,H as D,G as L,F as C,ap as V,A as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,r as Z,n as z}from"./@vue/reactivity-DiY1c2vO.js";import{Q as a,o as x,p as G}from"./@vue/shared-mAAVTE9n.js";import{_ as Ae}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ye={class:"doctor-dashboard","element-loading-text":"正在汇总医生经营数据"},Ie={class:"page-heading"},We={class:"heading-copy"},Ze={class:"heading-mark"},Ge={class:"heading-actions"},He={class:"scope-chip"},Qe={key:0,class:"update-time"},qe={class:"filter-strip"},Je={class:"filter-item filter-item--time"},Xe={key:0,class:"filter-item"},Ke={class:"filter-item"},et={class:"filter-item filter-item--status"},tt={class:"view-switch"},lt={class:"metric-grid","aria-label":"医生经营核心指标"},nt={class:"metric-card metric-card--teal"},at={class:"metric-icon"},ot={class:"metric-card metric-card--green"},st={class:"metric-icon"},it={class:"metric-card metric-card--indigo"},rt={class:"metric-icon"},dt={class:"metric-card metric-card--blue"},ut={class:"metric-icon"},ct={class:"metric-card metric-card--orange"},mt={class:"metric-icon"},_t={class:"metric-card metric-card--cyan"},pt={class:"metric-icon"},vt={class:"two-column-grid"},ft={class:"panel ranking-panel"},bt={class:"panel-heading"},gt={key:0,class:"bar-list"},ht=["title"],yt={class:"bar-track"},kt={class:"panel ranking-panel"},wt={class:"panel-heading"},Nt={key:0,class:"bar-list"},Ct=["title"],xt={class:"bar-track"},Dt={class:"analytics-grid"},Vt={class:"panel trend-panel"},$t={class:"panel-heading"},St={class:"panel-heading alert-heading"},Mt={class:"threshold-control"},Et={key:0,class:"alert-list"},Lt={class:"alert-doctor"},zt={class:"alert-data"},Ft={class:"alert-rate"},Ot={key:1,class:"alert-empty"},Rt={key:1,class:"panel detail-panel"},Tt={class:"panel-heading"},Ut={key:0,class:"warning-mark"},jt={class:"money-text"},Bt={class:"data-note"},Pt=H({name:"firstVisitDoctorDashboardPage"}),At=H({...Pt,setup(Yt){const T=()=>({meta:{time_type:"month",time_label:"本月",start_date:"",end_date:"",generated_at:"",scope_value:4,scope_label:"",scope_kind:"",selected_dept_name:"",selected_doctor_name:"",doctor_count:0,registration_rule:"",appointment_rule:"",performance_rule:""},filters:{departments:[],doctors:[],can_filter_department:!0},summary:{registration_total:0,appointment_total:0,interview_count:0,order_count:0,deal_amount:0,avg_order_amount:null,appointment_completion_rate:null,receive_conversion_rate:null,missed_count:0,cancelled_count:0},rankings:{amounts:[],conversion:[]},trend:{start_date:"",end_date:"",dates:[],labels:[],amounts:[]},alerts:[],alert_threshold:15,rows:[]}),o=Z(T()),S=z(!1),k=z("overview"),g=z(!1),i=Z({time_type:"month",active_only:1,alert_threshold:15}),h=z([]),Q=[{label:"今日",value:"today"},{label:"昨天",value:"yesterday"},{label:"本周",value:"week"},{label:"本月",value:"month"},{label:"自定义",value:"custom"}],q=[{label:"仅活跃医生",value:1},{label:"全部医生",value:0}],J=[10,15,20,30],X={label:"name",value:"id",children:"children"},K=$(()=>Math.max(0,...o.rankings.amounts.map(l=>Number(l.value)||0))),U=$(()=>o.rows.filter(l=>F(l))),j=$(()=>o.rows.filter(l=>!F(l))),ee=$(()=>i.doctor_id||g.value?o.rows:U.value),te=$(()=>({animationDuration:450,grid:{left:20,right:20,top:18,bottom:18,containLabel:!0},tooltip:{trigger:"axis",valueFormatter:l=>M(l)},xAxis:{type:"category",boundaryGap:!1,data:o.trend.labels,axisLine:{lineStyle:{color:"#dfe5eb"}},axisTick:{show:!1},axisLabel:{color:"#7e8a9b",fontSize:10,interval:4}},yAxis:{type:"value",splitNumber:4,axisLabel:{color:"#8793a2",fontSize:10,formatter:l=>re(l)},splitLine:{lineStyle:{color:"#eef2f5"}}},series:[{name:"成交金额",type:"line",smooth:!0,symbol:"circle",symbolSize:5,data:o.trend.amounts,lineStyle:{color:"#139a8c",width:3},itemStyle:{color:"#ffffff",borderColor:"#139a8c",borderWidth:2},areaStyle:{color:"rgba(19,154,140,.08)"}}]}));async function p(){S.value=!0;try{const l={time_type:i.time_type,active_only:i.active_only??1,alert_threshold:Number(i.alert_threshold||15)};if(i.time_type==="custom"&&(l.start_date=h.value[0]||"",l.end_date=h.value[1]||"",!l.start_date||!l.end_date)){R.warning("请选择自定义日期范围");return}i.dept_id&&(l.dept_id=Number(i.dept_id)),i.doctor_id&&(l.doctor_id=Number(i.doctor_id));const t=await je(l);Object.assign(o,T(),t||{})}catch(l){R.error((l==null?void 0:l.message)||"医生看板加载失败,请稍后重试")}finally{S.value=!1}}function le(){if(i.time_type!=="custom"){h.value=[],p();return}h.value.length===2&&p()}function ne(){i.time_type==="custom"&&h.value.length===2&&p()}function ae(){delete i.doctor_id,p()}function oe(){delete i.doctor_id,p()}function v(l){return Number(l||0).toLocaleString("zh-CN",{maximumFractionDigits:0})}function M(l){return`¥${Number(l||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function se(l){return`¥${Number(l||0).toLocaleString("zh-CN",{minimumFractionDigits:0,maximumFractionDigits:2})}`}function ie(l){return l==null?"—":M(l)}function y(l){return l==null?"—":`${Number(l).toFixed(1)}%`}function re(l){return Math.abs(l)>=1e4?`${(l/1e4).toFixed(l>=1e5?0:1)}万`:`${Math.round(l)}`}function de(l,t){return t<=0?"0%":`${Math.max(3,Math.min(100,Number(l||0)/t*100))}%`}function ue(l){return`${Math.max(0,Math.min(100,Number(l)||0))}%`}function ce(l){return l==null?"conversion-rate is-neutral":Number(l)0||Number(l.interview_count||0)>0||Number(l.order_count||0)>0||Number(l.deal_amount||0)>0||Number(l.appointment_missed||0)>0||Number(l.appointment_cancelled||0)>0}function B(l){return Number(l.interview_count||0)>0&&Number(l.receive_conversion_rate||0)[_.doctor_name,_.status==="disabled"?"停用":"活跃",_.appointment_total,_.interview_count,_.order_count,y(_.receive_conversion_rate),_.deal_amount,_.appointment_missed,_.appointment_cancelled].map(P).join(",")),m=new Blob([`\uFEFF${l.map(P).join(",")} +import{M as ge,d as he,i as ye,aj as ke,S as we,Z as Ne,R as Ce,Q as xe,X as De,O as Ve,N as $e,E as R}from"./element-plus-DGP1XOrU.js";import{a3 as I,a8 as Se,M as Me,N as Ee,k as Le,Z as ze,a2 as Fe,a9 as Oe,d as W,w as Re,i as Te}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as Ue}from"./vue-echarts-BNtg2q_G.js";import{b as je}from"./first_visit-lwfDQsu4.js";import{f as H,b as Be,aP as Pe,ak as d,I as u,J as e,a as s,aN as r,O as b,H as D,G as L,F as C,ap as V,A as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,r as Z,n as z}from"./@vue/reactivity-DiY1c2vO.js";import{Q as a,o as x,p as G}from"./@vue/shared-mAAVTE9n.js";import{_ as Ae}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ye={class:"doctor-dashboard","element-loading-text":"正在汇总医生经营数据"},Ie={class:"page-heading"},We={class:"heading-copy"},Ze={class:"heading-mark"},Ge={class:"heading-actions"},He={class:"scope-chip"},Qe={key:0,class:"update-time"},qe={class:"filter-strip"},Je={class:"filter-item filter-item--time"},Xe={key:0,class:"filter-item"},Ke={class:"filter-item"},et={class:"filter-item filter-item--status"},tt={class:"view-switch"},lt={class:"metric-grid","aria-label":"医生经营核心指标"},nt={class:"metric-card metric-card--teal"},at={class:"metric-icon"},ot={class:"metric-card metric-card--green"},st={class:"metric-icon"},it={class:"metric-card metric-card--indigo"},rt={class:"metric-icon"},dt={class:"metric-card metric-card--blue"},ut={class:"metric-icon"},ct={class:"metric-card metric-card--orange"},mt={class:"metric-icon"},_t={class:"metric-card metric-card--cyan"},pt={class:"metric-icon"},vt={class:"two-column-grid"},ft={class:"panel ranking-panel"},bt={class:"panel-heading"},gt={key:0,class:"bar-list"},ht=["title"],yt={class:"bar-track"},kt={class:"panel ranking-panel"},wt={class:"panel-heading"},Nt={key:0,class:"bar-list"},Ct=["title"],xt={class:"bar-track"},Dt={class:"analytics-grid"},Vt={class:"panel trend-panel"},$t={class:"panel-heading"},St={class:"panel-heading alert-heading"},Mt={class:"threshold-control"},Et={key:0,class:"alert-list"},Lt={class:"alert-doctor"},zt={class:"alert-data"},Ft={class:"alert-rate"},Ot={key:1,class:"alert-empty"},Rt={key:1,class:"panel detail-panel"},Tt={class:"panel-heading"},Ut={key:0,class:"warning-mark"},jt={class:"money-text"},Bt={class:"data-note"},Pt=H({name:"firstVisitDoctorDashboardPage"}),At=H({...Pt,setup(Yt){const T=()=>({meta:{time_type:"month",time_label:"本月",start_date:"",end_date:"",generated_at:"",scope_value:4,scope_label:"",scope_kind:"",selected_dept_name:"",selected_doctor_name:"",doctor_count:0,registration_rule:"",appointment_rule:"",performance_rule:""},filters:{departments:[],doctors:[],can_filter_department:!0},summary:{registration_total:0,appointment_total:0,interview_count:0,order_count:0,deal_amount:0,avg_order_amount:null,appointment_completion_rate:null,receive_conversion_rate:null,missed_count:0,cancelled_count:0},rankings:{amounts:[],conversion:[]},trend:{start_date:"",end_date:"",dates:[],labels:[],amounts:[]},alerts:[],alert_threshold:15,rows:[]}),o=Z(T()),S=z(!1),k=z("overview"),g=z(!1),i=Z({time_type:"month",active_only:1,alert_threshold:15}),h=z([]),Q=[{label:"今日",value:"today"},{label:"昨天",value:"yesterday"},{label:"本周",value:"week"},{label:"本月",value:"month"},{label:"自定义",value:"custom"}],q=[{label:"仅活跃医生",value:1},{label:"全部医生",value:0}],J=[10,15,20,30],X={label:"name",value:"id",children:"children"},K=$(()=>Math.max(0,...o.rankings.amounts.map(l=>Number(l.value)||0))),U=$(()=>o.rows.filter(l=>F(l))),j=$(()=>o.rows.filter(l=>!F(l))),ee=$(()=>i.doctor_id||g.value?o.rows:U.value),te=$(()=>({animationDuration:450,grid:{left:20,right:20,top:18,bottom:18,containLabel:!0},tooltip:{trigger:"axis",valueFormatter:l=>M(l)},xAxis:{type:"category",boundaryGap:!1,data:o.trend.labels,axisLine:{lineStyle:{color:"#dfe5eb"}},axisTick:{show:!1},axisLabel:{color:"#7e8a9b",fontSize:10,interval:4}},yAxis:{type:"value",splitNumber:4,axisLabel:{color:"#8793a2",fontSize:10,formatter:l=>re(l)},splitLine:{lineStyle:{color:"#eef2f5"}}},series:[{name:"成交金额",type:"line",smooth:!0,symbol:"circle",symbolSize:5,data:o.trend.amounts,lineStyle:{color:"#139a8c",width:3},itemStyle:{color:"#ffffff",borderColor:"#139a8c",borderWidth:2},areaStyle:{color:"rgba(19,154,140,.08)"}}]}));async function p(){S.value=!0;try{const l={time_type:i.time_type,active_only:i.active_only??1,alert_threshold:Number(i.alert_threshold||15)};if(i.time_type==="custom"&&(l.start_date=h.value[0]||"",l.end_date=h.value[1]||"",!l.start_date||!l.end_date)){R.warning("请选择自定义日期范围");return}i.dept_id&&(l.dept_id=Number(i.dept_id)),i.doctor_id&&(l.doctor_id=Number(i.doctor_id));const t=await je(l);Object.assign(o,T(),t||{})}catch(l){R.error((l==null?void 0:l.message)||"医生看板加载失败,请稍后重试")}finally{S.value=!1}}function le(){if(i.time_type!=="custom"){h.value=[],p();return}h.value.length===2&&p()}function ne(){i.time_type==="custom"&&h.value.length===2&&p()}function ae(){delete i.doctor_id,p()}function oe(){delete i.doctor_id,p()}function v(l){return Number(l||0).toLocaleString("zh-CN",{maximumFractionDigits:0})}function M(l){return`¥${Number(l||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function se(l){return`¥${Number(l||0).toLocaleString("zh-CN",{minimumFractionDigits:0,maximumFractionDigits:2})}`}function ie(l){return l==null?"—":M(l)}function y(l){return l==null?"—":`${Number(l).toFixed(1)}%`}function re(l){return Math.abs(l)>=1e4?`${(l/1e4).toFixed(l>=1e5?0:1)}万`:`${Math.round(l)}`}function de(l,t){return t<=0?"0%":`${Math.max(3,Math.min(100,Number(l||0)/t*100))}%`}function ue(l){return`${Math.max(0,Math.min(100,Number(l)||0))}%`}function ce(l){return l==null?"conversion-rate is-neutral":Number(l)0||Number(l.interview_count||0)>0||Number(l.order_count||0)>0||Number(l.deal_amount||0)>0||Number(l.appointment_missed||0)>0||Number(l.appointment_cancelled||0)>0}function B(l){return Number(l.interview_count||0)>0&&Number(l.receive_conversion_rate||0)[_.doctor_name,_.status==="disabled"?"停用":"活跃",_.appointment_total,_.interview_count,_.order_count,y(_.receive_conversion_rate),_.deal_amount,_.appointment_missed,_.appointment_cancelled].map(P).join(",")),m=new Blob([`\uFEFF${l.map(P).join(",")} ${t.join(` `)}`],{type:"text/csv;charset=utf-8"}),w=URL.createObjectURL(m),N=document.createElement("a");N.href=w,N.download=`医生看板_${o.meta.start_date}_${o.meta.end_date}.csv`,N.click(),URL.revokeObjectURL(w)}return Be(p),(l,t)=>{const m=he,w=ye,N=ke,_=we,ve=Ne,A=Ce,Y=xe,O=De,f=Ve,fe=$e,be=ge;return Pe((d(),u("div",Ye,[e("header",Ie,[e("div",We,[e("span",Ze,[s(m,null,{default:r(()=>[s(c(I))]),_:1})]),t[9]||(t[9]=e("div",null,[e("h1",null,"医生看板"),e("p",null,"从挂号、预约、面诊到接诊成交,统一观察医生经营表现")],-1))]),e("div",Ge,[e("span",He,[s(m,null,{default:r(()=>[s(c(Se))]),_:1}),b(a(o.meta.scope_label||"数据范围"),1)]),o.meta.generated_at?(d(),u("span",Qe,"更新于 "+a(o.meta.generated_at),1)):D("",!0),s(w,{icon:c(Me),loading:S.value,onClick:p},{default:r(()=>[...t[10]||(t[10]=[b("刷新",-1)])]),_:1},8,["icon","loading"]),s(w,{icon:c(Ee),onClick:pe},{default:r(()=>[...t[11]||(t[11]=[b("导出",-1)])]),_:1},8,["icon"])])]),e("section",qe,[e("div",Je,[t[12]||(t[12]=e("span",null,"时间范围",-1)),s(N,{modelValue:i.time_type,"onUpdate:modelValue":t[0]||(t[0]=n=>i.time_type=n),options:Q,onChange:le},null,8,["modelValue"]),i.time_type==="custom"?(d(),L(_,{key:0,modelValue:h.value,"onUpdate:modelValue":t[1]||(t[1]=n=>h.value=n),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"date-range-picker",clearable:!1,onChange:ne},null,8,["modelValue"])):D("",!0)]),o.filters.can_filter_department?(d(),u("div",Xe,[t[13]||(t[13]=e("span",null,"所属部门",-1)),s(ve,{modelValue:i.dept_id,"onUpdate:modelValue":t[2]||(t[2]=n=>i.dept_id=n),data:o.filters.departments,props:X,"node-key":"id",clearable:"",filterable:"","check-strictly":"","default-expand-all":"",placeholder:"全部可见部门",class:"dept-select",onChange:ae},null,8,["modelValue","data"])])):D("",!0),e("div",Ke,[t[14]||(t[14]=e("span",null,"医生",-1)),s(Y,{modelValue:i.doctor_id,"onUpdate:modelValue":t[3]||(t[3]=n=>i.doctor_id=n),clearable:"",filterable:"",placeholder:"全部医生",class:"doctor-select",onChange:p},{default:r(()=>[(d(!0),u(C,null,V(o.filters.doctors,n=>(d(),L(A,{key:n.id,value:Number(n.id),label:`${n.name}${Number(n.disable)===1?"(停用)":""}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),e("div",et,[t[15]||(t[15]=e("span",null,"医生范围",-1)),s(N,{modelValue:i.active_only,"onUpdate:modelValue":t[4]||(t[4]=n=>i.active_only=n),options:q,onChange:oe},null,8,["modelValue"])]),e("div",tt,[e("button",{class:x({active:k.value==="overview"}),onClick:t[5]||(t[5]=n=>k.value="overview")},"诊断总览",2),e("button",{class:x({active:k.value==="detail"}),onClick:t[6]||(t[6]=n=>k.value="detail")},"医生明细",2)])]),e("section",lt,[e("article",nt,[e("div",at,[s(m,null,{default:r(()=>[s(c(Le))]),_:1})]),e("div",null,[t[16]||(t[16]=e("span",null,"总预约",-1)),e("strong",null,a(v(o.summary.registration_total)),1),t[17]||(t[17]=e("small",null,"已支付且实收金额大于 0、低于 10 元的订单",-1))])]),e("article",ot,[e("div",st,[s(m,null,{default:r(()=>[s(c(ze))]),_:1})]),e("div",null,[t[18]||(t[18]=e("span",null,"总面诊",-1)),e("strong",null,a(v(o.summary.interview_count)),1),e("small",null,"过号 "+a(v(o.summary.missed_count))+" · 取消 "+a(v(o.summary.cancelled_count)),1)])]),e("article",it,[e("div",rt,[s(m,null,{default:r(()=>[s(c(Fe))]),_:1})]),e("div",null,[t[19]||(t[19]=e("span",null,"总诊单",-1)),e("strong",null,a(v(o.summary.order_count)),1),e("small",null,"接诊转化率 "+a(y(o.summary.receive_conversion_rate)),1)])]),e("article",dt,[e("div",ut,[s(m,null,{default:r(()=>[s(c(Oe))]),_:1})]),e("div",null,[t[20]||(t[20]=e("span",null,"总成交金额",-1)),e("strong",null,a(M(o.summary.deal_amount)),1),e("small",null,"客单价 "+a(ie(o.summary.avg_order_amount)),1)])]),e("article",ct,[e("div",mt,[s(m,null,{default:r(()=>[s(c(I))]),_:1})]),e("div",null,[t[21]||(t[21]=e("span",null,"总接诊率",-1)),e("strong",null,a(y(o.summary.receive_conversion_rate)),1),e("small",null,"总接诊 "+a(v(o.summary.order_count))+" ÷ 总面诊 "+a(v(o.summary.interview_count)),1)])]),e("article",_t,[e("div",pt,[s(m,null,{default:r(()=>[s(c(W))]),_:1})]),e("div",null,[t[22]||(t[22]=e("span",null,"预约完成率",-1)),e("strong",null,a(y(o.summary.appointment_completion_rate)),1),e("small",null,"总预约 "+a(v(o.summary.appointment_total))+" · "+a(o.meta.doctor_count)+" 位有数据医生",1)])])]),k.value==="overview"?(d(),u(C,{key:0},[e("section",vt,[e("article",ft,[e("div",bt,[t[23]||(t[23]=e("div",null,[e("h2",null,"成交金额 TOP"),e("p",null,"按有效诊单金额从高到低")],-1)),e("span",null,a(o.meta.time_label),1)]),o.rankings.amounts.length?(d(),u("div",gt,[(d(!0),u(C,null,V(o.rankings.amounts,(n,E)=>(d(),u("div",{key:`amount-${n.doctor_id}`,class:"bar-row"},[e("b",null,a(E+1),1),e("span",{title:n.name},a(n.name),9,ht),e("div",yt,[e("i",{class:"is-blue",style:G({width:de(n.value,K.value)})},null,4)]),e("strong",null,a(M(n.value)),1)]))),128))])):(d(),L(O,{key:1,"image-size":52,description:"当前范围暂无成交金额"}))]),e("article",kt,[e("div",wt,[t[24]||(t[24]=e("div",null,[e("h2",null,"接诊转化率 TOP"),e("p",null,"有效诊单数 ÷ 完成面诊数")],-1)),e("span",null,a(o.meta.time_label),1)]),o.rankings.conversion.length?(d(),u("div",Nt,[(d(!0),u(C,null,V(o.rankings.conversion,(n,E)=>(d(),u("div",{key:`rate-${n.doctor_id}`,class:"bar-row"},[e("b",null,a(E+1),1),e("span",{title:n.name},a(n.name),9,Ct),e("div",xt,[e("i",{class:"is-teal",style:G({width:ue(n.value)})},null,4)]),e("strong",null,a(y(n.value)),1)]))),128))])):(d(),L(O,{key:1,"image-size":52,description:"当前范围暂无转化数据"}))])]),e("section",Dt,[e("article",Vt,[e("div",$t,[e("div",null,[t[25]||(t[25]=e("h2",null,"近 30 天成交金额趋势",-1)),e("p",null,a(o.trend.start_date)+" 至 "+a(o.trend.end_date),1)]),t[26]||(t[26]=e("span",null,"单位:元",-1))]),s(c(Ue),{class:"trend-chart",option:te.value,autoresize:""},null,8,["option"])])]),e("section",{class:x(["panel alert-panel",{"has-alerts":o.alerts.length}])},[e("div",St,[e("div",null,[e("h2",null,[s(m,null,{default:r(()=>[s(c(Re))]),_:1}),t[27]||(t[27]=b("需关注医生",-1))]),t[28]||(t[28]=e("p",null,"仅对完成过面诊的医生计算接诊转化预警",-1))]),e("div",Mt,[t[29]||(t[29]=e("span",null,"接诊转化率低于",-1)),s(Y,{modelValue:i.alert_threshold,"onUpdate:modelValue":t[7]||(t[7]=n=>i.alert_threshold=n),class:"threshold-select",onChange:p},{default:r(()=>[(d(),u(C,null,V(J,n=>s(A,{key:n,label:`${n}%`,value:n},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])]),o.alerts.length?(d(),u("div",Et,[(d(!0),u(C,null,V(o.alerts,n=>(d(),u("div",{key:n.doctor_id,class:"alert-row"},[t[30]||(t[30]=e("span",{class:"alert-icon"},"!",-1)),e("div",Lt,[e("strong",null,a(n.doctor_name),1),e("small",null,a(n.department_name),1)]),e("span",{class:x(["severity",`is-${n.severity}`])},a(n.severity==="high"?"重点关注":"低于阈值"),3),e("span",zt,"面诊 "+a(n.interview_count)+" / 接诊 "+a(n.order_count),1),e("p",null,a(n.suggestion),1),e("strong",Ft,a(y(n.rate)),1)]))),128))])):(d(),u("div",Ot,[s(m,null,{default:r(()=>[s(c(W))]),_:1}),b(" 当前范围内暂无低于 "+a(i.alert_threshold)+"% 的医生 ",1)]))],2)],64)):(d(),u("section",Rt,[e("div",Tt,[t[31]||(t[31]=e("div",null,[e("h2",null,"医生明细 · 按成交金额排序"),e("p",null,"低于接诊率预警线的医生整行标红,过号与取消分别展示")],-1)),e("span",null,a(U.value.length)+" 位有数据医生",1)]),s(fe,{data:ee.value,class:"detail-table","default-sort":{prop:"deal_amount",order:"descending"},"row-class-name":me},{empty:r(()=>[s(O,{description:"当前权限和筛选范围内暂无医生数据"})]),default:r(()=>[s(f,{prop:"doctor_name",label:"医生","min-width":"130",fixed:"left",sortable:""},{default:r(({row:n})=>[e("strong",null,a(n.doctor_name),1)]),_:1}),s(f,{prop:"status",label:"状态","min-width":"90",sortable:""},{default:r(({row:n})=>[e("span",{class:x(["status-pill",{disabled:n.status==="disabled"}])},a(n.status==="disabled"?"停用":"活跃"),3)]),_:1}),s(f,{prop:"appointment_total",label:"预约","min-width":"90",sortable:""}),s(f,{prop:"interview_count",label:"面诊","min-width":"90",sortable:""}),s(f,{prop:"order_count",label:"接诊","min-width":"90",sortable:""}),s(f,{prop:"receive_conversion_rate",label:"接诊率","min-width":"110",sortable:""},{default:r(({row:n})=>[e("span",{class:x(ce(n.receive_conversion_rate))},[B(n)?(d(),u("span",Ut,"△")):D("",!0),b(a(y(n.receive_conversion_rate)),1)],2)]),_:1}),s(f,{prop:"deal_amount",label:"成交金额","min-width":"135",sortable:""},{default:r(({row:n})=>[e("strong",jt,a(se(n.deal_amount)),1)]),_:1}),s(f,{label:"过号/取消","min-width":"110"},{default:r(({row:n})=>[b(a(v(n.appointment_missed))+"/"+a(v(n.appointment_cancelled)),1)]),_:1}),s(f,{label:"操作","min-width":"90",fixed:"right"},{default:r(({row:n})=>[s(w,{class:"detail-action",type:"primary",link:"",onClick:E=>_e(n)},{default:r(()=>[...t[32]||(t[32]=[b("详情",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),!i.doctor_id&&j.value.length?(d(),u("button",{key:0,type:"button",class:"zero-doctor-toggle",onClick:t[8]||(t[8]=n=>g.value=!g.value)},[e("span",null,a(g.value?"▾":"▸"),1),b(" "+a(g.value?"收起":"已隐藏")+" "+a(j.value.length)+" 位无业务数据医生"+a(g.value?"":"(点击展开)"),1)])):D("",!0)])),e("footer",Bt,[s(m,null,{default:r(()=>[s(c(Te))]),_:1}),e("span",null,a(o.meta.registration_rule)+";"+a(o.meta.appointment_rule)+";"+a(o.meta.performance_rule)+"。",1)])])),[[be,S.value]])}}}),Ml=Ae(At,[["__scopeId","data-v-2e596eda"]]);export{Ml as default}; diff --git a/server/public/admin/assets/index-BxH3KBQI.js b/server/public/admin/assets/index-Dp3CdQ0Z.js similarity index 98% rename from server/public/admin/assets/index-BxH3KBQI.js rename to server/public/admin/assets/index-Dp3CdQ0Z.js index f0dc86ebb..02c55ff64 100644 --- a/server/public/admin/assets/index-BxH3KBQI.js +++ b/server/public/admin/assets/index-Dp3CdQ0Z.js @@ -1 +1 @@ -import{L as Qe,i as Je,d as We,r as Ge,R as Xe,q as Ye,Q as je,C as Ze,H as et,M as tt,X as st,Y as at,U as lt,l as nt,m as it,I as ot,N as rt,O as ut,W as dt}from"./element-plus-DGP1XOrU.js";import{w as ct}from"./@vue/runtime-dom-DDAG46FW.js";import{M as fe,N as mt,O as _t,J as ft}from"./@element-plus/icons-vue-CbYn5zW9.js";import{k as C,t as vt,_ as pt}from"./index-fRv3NTFQ.js";import{u as gt}from"./usePaging-DofycyjW.js";import yt from"./MessageBubble-CrQG9KfW.js";import{q as ht,S as kt,a as wt,b as bt,c as xt,d as St,e as ae,f as Tt,g as Mt,h as ve}from"./SendPanel-Bk_zumN5.js";import{f as zt,w as Et,b as Ct,ae as Vt,ak as o,I as u,G as x,H as _,J as a,a as l,aN as i,F as M,ap as B,O as f,aP as le,A as pe,n as ne}from"./@vue/runtime-core-C6bnekPw.js";import{y,n as m}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d,o as $t}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./file-FhuQj5ML.js";const Dt={class:"qywx-im"},Lt={class:"im-layout"},It={class:"col-session"},qt={class:"col-header"},At={class:"col-actions"},Bt={class:"col-filters"},Ht={class:"staff-option"},Nt={class:"staff-userid"},Pt={class:"session-list"},Ut={key:0,class:"empty-tip"},Rt=["onClick"],Ft={class:"session-meta"},Kt={class:"session-top"},Ot={class:"session-name"},Qt={class:"session-time"},Jt={class:"session-bottom"},Wt={class:"session-preview"},Gt={key:0,class:"session-staff"},Xt={key:1,class:"session-load-more"},Yt={class:"col-message"},jt={key:0,class:"no-session"},Zt={class:"col-header"},es={class:"msg-header-title"},ts={class:"msg-customer-name"},ss={class:"msg-customer-sub"},as={class:"col-actions"},ls={key:0,class:"load-history"},ns={key:1,class:"load-history end-tip"},is={key:2,class:"empty-tip"},os={class:"col-profile"},rs={class:"profile-panel"},us={class:"profile-name"},ds={class:"profile-fields"},cs={class:"field"},ms={class:"value"},_s={class:"field"},fs=["title"],vs={key:0,class:"field"},ps={class:"value"},gs={key:1,class:"field"},ys={class:"value"},hs={class:"field"},ks={class:"value"},ws={class:"field"},bs={class:"value"},xs={class:"tasks-panel"},Ss={key:0,class:"empty-tip"},Ts={class:"task-top"},Ms={class:"task-time"},zs={class:"task-body"},Es={key:0,class:"task-text"},Cs={key:1,class:"task-attachments"},Vs={key:2,class:"task-error"},$s={class:"task-actions"},Ds={key:1,class:"no-session"},Ls={class:"tips"},Is={key:1,class:"mt-2 text-center"},qs=zt({__name:"index",setup(As){const z=m(null),Q=m(!1),ge=pe(()=>{if(!z.value)return"";const t=z.value;return t.enabled?`会话存档 SDK 不可用:${t.error||"未知错误"}`:"「会话内容存档」未启用,实时消息不可用。请在后端 pay.php 中开启 msgaudit_enabled 并配置 SDK 动态库与 RSA 私钥。"});async function ye(){try{z.value=await wt()}catch{}}async function he(){Q.value=!0;try{await bt(5,!0),C.msgSuccess("已触发一次拉取,稍后刷新可见"),await S(!0),n.value&&await X()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"拉取失败")}finally{Q.value=!1}}const J=m([]);async function ke(){try{const t=await xt();J.value=Array.isArray(t)?t:(t==null?void 0:t.lists)||[]}catch{J.value=[]}}const E=m({staff_userid:"",keyword:"",only_unread:0}),W=m(!1);Et(W,t=>{E.value.only_unread=t?1:0});const{pager:g,getLists:G}=gt({fetchFun:ht,params:E.value,size:30});function S(t=!1){return t||(g.page=1),G()}async function we(){const t=[...g.lists||[]];g.page+=1;try{await G();const e=g.lists||[],r=new Set(t.map(v=>v.id)),c=[...t,...e.filter(v=>!r.has(v.id))];g.lists=c}catch{}}const n=m(null),h=m([]),H=m(!1),V=m(!1),$=m(!1),N=m(0),P=m(0),k=m(null),be=pe(()=>!!n.value&&n.value.session_type!==2);async function xe(t){var e;if(((e=n.value)==null?void 0:e.id)!==t.id){if(n.value=t,h.value=[],N.value=0,P.value=0,$.value=!1,await X(),await re(),t.unread_staff>0)try{await St(t.id),t.unread_staff=0}catch{}U.value="profile"}}async function X(){if(n.value){H.value=!0;try{const t=await ae({session_id:n.value.id,page_no:1,page_size:30}),e=(t==null?void 0:t.lists)||[];h.value=e,e.length&&(N.value=e[0].send_time,P.value=e[e.length-1].send_time),$.value=e.length>=30,await ne(),oe()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"加载消息失败")}finally{H.value=!1}}}async function ie(){var e;if(!n.value||V.value)return;V.value=!0;const t=((e=k.value)==null?void 0:e.scrollHeight)||0;try{const r=await ae({session_id:n.value.id,page_no:1,page_size:30,before_time:N.value}),c=(r==null?void 0:r.lists)||[];c.length&&(N.value=c[0].send_time,h.value=[...c,...h.value]),$.value=c.length>=30,await ne(),k.value&&(k.value.scrollTop=k.value.scrollHeight-t)}finally{V.value=!1}}async function Se(){if(n.value)try{const t=await ae({session_id:n.value.id,page_no:1,page_size:50,after_time:P.value}),e=(t==null?void 0:t.lists)||[];if(!e.length)return;const r=new Set(h.value.map(T=>T.id)),c=e.filter(T=>!r.has(T.id));if(!c.length)return;h.value=[...h.value,...c],P.value=c[c.length-1].send_time;const v=k.value;(v?v.scrollHeight-v.scrollTop-v.clientHeight<120:!0)&&(await ne(),oe())}catch{}}function Te(){const t=k.value;t&&t.scrollTop<40&&$.value&&!V.value&&ie()}function oe(){k.value&&(k.value.scrollTop=k.value.scrollHeight)}async function Me(t){if(n.value)try{await Tt({sender_userid:n.value.staff_userid,external_userids:[n.value.external_userid],msg_payload:t,chat_type:"single"}),C.msgSuccess("已创建群发任务,员工手机确认后送达客户"),await re(),U.value="tasks"}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"发送失败")}}const U=m("profile"),R=m([]),Y=m(!1);async function re(){if(n.value){Y.value=!0;try{const t=await Mt({sender_userid:n.value.staff_userid,page_no:1,page_size:50}),e=(t==null?void 0:t.lists)||[];R.value=e.filter(r=>(r.external_userids||[]).includes(n.value.external_userid))}finally{Y.value=!1}}}function ze(t){return{0:"待提交",1:"已提交",2:"已送达",3:"失败"}[t]??`状态${t}`}function Ee(t){return{0:"info",1:"primary",2:"success",3:"danger"}[t]??"info"}function Ce(t){return{image:"图片",video:"视频",file:"文件",link:"链接",miniprogram:"小程序"}[t]||t}const j=m(!1),D=m(!1),ue=m(0),w=m(null);async function Ve(t){ue.value=t.id,w.value={detail_list:[],next_cursor:""},j.value=!0,D.value=!0;try{const e=await ve(t.id,"");w.value={detail_list:(e==null?void 0:e.detail_list)||[],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{D.value=!1}}async function $e(){var t;if((t=w.value)!=null&&t.next_cursor){D.value=!0;try{const e=await ve(ue.value,w.value.next_cursor);w.value={detail_list:[...w.value.detail_list,...(e==null?void 0:e.detail_list)||[]],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}finally{D.value=!1}}}function De(t){switch(t){case 0:return"未发送";case 1:return"已送达";case 2:return"被拒收";case 3:return"已送达(未读)";default:return`状态${t}`}}function Le(t){return t===1?"success":t===2?"warning":t===3?"primary":"info"}function L(t){var e;return(e=t.customer)!=null&&e.name?t.customer.name:t.session_type===2?`群聊 ${t.roomid.slice(-6)}`:t.external_userid||"未命名客户"}function Ie(t){const e=t.last_msg_summary||"",r=t.last_msg_type;return e||(r==="image"?"[图片]":r==="video"?"[视频]":r==="voice"?"[语音]":r==="file"?"[文件]":r==="link"?"[链接]":r==="weapp"?"[小程序]":r==="chatrecord"?"[聊天记录]":r?`[${r}]`:"暂无消息")}function Z(t){return t?vt(t*1e3,"yyyy-mm-dd hh:MM"):"-"}function qe(t){if(!t)return"";const r=Math.floor(Date.now()/1e3)-t;if(r<60)return`${r}秒前`;if(r<3600)return`${Math.floor(r/60)}分前`;if(r<86400)return`${Math.floor(r/3600)}小时前`;const c=new Date(t*1e3);return`${c.getMonth()+1}-${c.getDate()}`}let ee=null,te=null;return Ct(async()=>{await Promise.all([ye(),ke()]),await S(),ee=window.setInterval(()=>{G({silent:!0}).catch(()=>{})},15e3),te=window.setInterval(()=>{Se()},8e3)}),Vt(()=>{ee&&window.clearInterval(ee),te&&window.clearInterval(te)}),(t,e)=>{var ce,me;const r=Qe,c=We,v=Je,F=Ge,T=Ye,Ae=Xe,Be=je,He=Ze,Ne=et,K=st,Pe=at,I=lt,de=nt,Ue=it,Re=ot,O=ut,Fe=rt,Ke=dt,se=tt;return o(),u("div",Dt,[z.value&&!z.value.available?(o(),x(r,{key:0,title:ge.value,type:"warning",closable:!1,"show-icon":"",class:"archive-warning"},null,8,["title"])):_("",!0),a("div",Lt,[a("section",It,[a("header",qt,[e[11]||(e[11]=a("div",{class:"col-title"},"会话",-1)),a("div",At,[l(F,{content:"刷新"},{default:i(()=>[l(v,{size:"small",link:"",loading:y(g).loading,onClick:e[0]||(e[0]=s=>S(!0))},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1}),l(F,{content:"手动拉一次存档"},{default:i(()=>{var s;return[l(v,{size:"small",link:"",disabled:!((s=z.value)!=null&&s.available),loading:Q.value,onClick:he},{default:i(()=>[l(c,null,{default:i(()=>[l(y(mt))]),_:1})]),_:1},8,["disabled","loading"])]}),_:1})])]),a("div",Bt,[l(Be,{modelValue:E.value.staff_userid,"onUpdate:modelValue":e[1]||(e[1]=s=>E.value.staff_userid=s),placeholder:"全部员工",clearable:"",filterable:"",size:"default",style:{width:"100%"},onChange:e[2]||(e[2]=s=>S())},{default:i(()=>[(o(!0),u(M,null,B(J.value,s=>(o(),x(Ae,{key:s.userid,label:(s.name||s.userid)+"("+s.userid+")",value:s.userid},{default:i(()=>[a("div",Ht,[l(T,{size:20,src:s.avatar},{default:i(()=>[f(d((s.name||"").slice(-2)),1)]),_:2},1032,["src"]),a("span",null,d(s.name),1),a("span",Nt,d(s.userid),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"]),l(He,{modelValue:E.value.keyword,"onUpdate:modelValue":e[3]||(e[3]=s=>E.value.keyword=s),placeholder:"搜索客户或消息",clearable:"",size:"default",onKeyup:e[4]||(e[4]=ct(s=>S(),["enter"])),onClear:e[5]||(e[5]=s=>S())},{prefix:i(()=>[l(c,null,{default:i(()=>[l(y(_t))]),_:1})]),_:1},8,["modelValue"]),l(Ne,{modelValue:W.value,"onUpdate:modelValue":e[6]||(e[6]=s=>W.value=s),onChange:e[7]||(e[7]=s=>S())},{default:i(()=>[...e[12]||(e[12]=[f(" 仅未读 ",-1)])]),_:1},8,["modelValue"])]),le((o(),u("div",Pt,[!y(g).lists.length&&!y(g).loading?(o(),u("div",Ut,[l(K,{description:"暂无会话","image-size":80})])):_("",!0),(o(!0),u(M,null,B(y(g).lists,s=>{var p;return o(),u("div",{key:s.id,class:$t(["session-item",{active:((p=n.value)==null?void 0:p.id)===s.id}]),onClick:b=>xe(s)},[l(Pe,{value:s.unread_staff,hidden:!s.unread_staff,max:99},{default:i(()=>{var b;return[l(T,{size:42,src:((b=s.customer)==null?void 0:b.avatar)||""},{default:i(()=>[f(d(L(s).slice(-2)),1)]),_:2},1032,["src"])]}),_:2},1032,["value","hidden"]),a("div",Ft,[a("div",Kt,[a("span",Ot,d(L(s)),1),a("span",Qt,d(qe(s.last_msg_time)),1)]),a("div",Jt,[a("span",Wt,d(Ie(s)),1),s.session_type===2?(o(),x(I,{key:0,size:"small",type:"info",class:"session-tag"},{default:i(()=>[...e[13]||(e[13]=[f(" 群 ",-1)])]),_:1})):_("",!0)]),s.staff?(o(),u("div",Gt," 员工: "+d(s.staff.name||s.staff_userid),1)):_("",!0)])],10,Rt)}),128)),y(g).lists.length[...e[14]||(e[14]=[f(" 加载更多 ",-1)])]),_:1})])):_("",!0)])),[[se,y(g).loading]])]),a("section",Yt,[n.value?(o(),u(M,{key:1},[a("header",Zt,[a("div",es,[a("div",ts,d(L(n.value)),1),a("div",ss,[(ce=n.value.customer)!=null&&ce.corp_name?(o(),u(M,{key:0},[f(d(n.value.customer.corp_name)+" · ",1)],64)):_("",!0),f(" 代发员工: "+d(((me=n.value.staff)==null?void 0:me.name)||n.value.staff_userid)+" ",1),n.value.session_type===2?(o(),x(I,{key:1,size:"small",type:"info",class:"ml-1"},{default:i(()=>[...e[15]||(e[15]=[f(" 群聊 ",-1)])]),_:1})):_("",!0)])]),a("div",as,[l(F,{content:"刷新消息"},{default:i(()=>[l(v,{link:"",size:"small",loading:H.value,onClick:e[8]||(e[8]=s=>X())},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1})])]),a("div",{ref_key:"messageListRef",ref:k,class:"message-list",onScroll:Te},[$.value?(o(),u("div",ls,[l(v,{link:"",type:"primary",loading:V.value,onClick:ie},{default:i(()=>[...e[16]||(e[16]=[f(" 加载更早的消息 ",-1)])]),_:1},8,["loading"])])):h.value.length?(o(),u("div",ns," —— 没有更早的消息了 —— ")):_("",!0),!h.value.length&&!H.value?(o(),u("div",is,[l(K,{description:"暂无消息","image-size":80})])):_("",!0),(o(!0),u(M,null,B(h.value,s=>(o(),x(yt,{key:s.id,message:s},null,8,["message"]))),128))],544),l(kt,{"can-send-message":be.value,onSend:Me},null,8,["can-send-message"])],64)):(o(),u("div",jt,[l(K,{description:"选择左侧会话查看消息"},{image:i(()=>[l(c,{size:60,color:"#ccc"},{default:i(()=>[l(y(ft))]),_:1})]),_:1})]))]),a("section",os,[n.value?(o(),x(Ue,{key:0,modelValue:U.value,"onUpdate:modelValue":e[9]||(e[9]=s=>U.value=s),class:"profile-tabs"},{default:i(()=>[l(de,{label:"客户资料",name:"profile"},{default:i(()=>{var s,p,b,q,A;return[a("div",rs,[l(T,{size:72,src:((s=n.value.customer)==null?void 0:s.avatar)||""},{default:i(()=>[f(d(L(n.value).slice(-2)),1)]),_:1},8,["src"]),a("div",us,d(L(n.value)),1),a("div",ds,[a("div",cs,[e[17]||(e[17]=a("span",{class:"label"},"客户类型",-1)),a("span",ms,d(((p=n.value.customer)==null?void 0:p.type)===2?"@微信":"@企业微信"),1)]),a("div",_s,[e[18]||(e[18]=a("span",{class:"label"},"外部 ID",-1)),a("span",{class:"value ellipsis",title:n.value.external_userid},d(n.value.external_userid||"-"),9,fs)]),(b=n.value.customer)!=null&&b.corp_name?(o(),u("div",vs,[e[19]||(e[19]=a("span",{class:"label"},"所属企业",-1)),a("span",ps,d(n.value.customer.corp_name),1)])):_("",!0),(q=n.value.customer)!=null&&q.gender?(o(),u("div",gs,[e[20]||(e[20]=a("span",{class:"label"},"性别",-1)),a("span",ys,d(n.value.customer.gender===1?"男":n.value.customer.gender===2?"女":"未知"),1)])):_("",!0),a("div",hs,[e[21]||(e[21]=a("span",{class:"label"},"代发员工",-1)),a("span",ks,d(((A=n.value.staff)==null?void 0:A.name)||n.value.staff_userid),1)]),a("div",ws,[e[22]||(e[22]=a("span",{class:"label"},"最近消息",-1)),a("span",bs,d(Z(n.value.last_msg_time)),1)])])])]}),_:1}),l(de,{label:`发送任务(${R.value.length})`,name:"tasks"},{default:i(()=>[le((o(),u("div",xs,[R.value.length?_("",!0):(o(),u("div",Ss,[l(K,{description:"暂无任务","image-size":80})])),(o(!0),u(M,null,B(R.value,s=>{var p,b,q,A;return o(),u("div",{key:s.id,class:"task-item"},[a("div",Ts,[l(I,{type:Ee(s.status),size:"small"},{default:i(()=>[f(d(ze(s.status)),1)]),_:2},1032,["type"]),a("span",Ms,d(Z(s.create_time)),1)]),a("div",zs,[(b=(p=s.msg_payload)==null?void 0:p.text)!=null&&b.content?(o(),u("div",Es,d(s.msg_payload.text.content),1)):_("",!0),(A=(q=s.msg_payload)==null?void 0:q.attachments)!=null&&A.length?(o(),u("div",Cs,[e[23]||(e[23]=f(" 附件: ",-1)),(o(!0),u(M,null,B(s.msg_payload.attachments,(_e,Oe)=>(o(),x(I,{key:Oe,size:"small",type:"info",class:"mr-1"},{default:i(()=>[f(d(Ce(_e.msgtype)),1)]),_:2},1024))),128))])):_("",!0),s.error?(o(),u("div",Vs,d(s.error),1)):_("",!0)]),a("div",$s,[l(v,{size:"small",link:"",type:"primary",onClick:_e=>Ve(s)},{default:i(()=>[...e[24]||(e[24]=[f(" 送达详情 ",-1)])]),_:1},8,["onClick"])])])}),128))])),[[se,Y.value]])]),_:1},8,["label"])]),_:1},8,["modelValue"])):(o(),u("div",Ds,[a("div",Ls,[e[25]||(e[25]=a("h4",null,"企业微信 IM",-1)),e[26]||(e[26]=a("p",null,"选择一个会话查看客户资料与群发任务",-1)),l(Re),e[27]||(e[27]=a("p",{class:"text-sm"}," · 实时消息依赖「会话内容存档」,由后台计划任务每 30 秒拉取一次。 ",-1)),e[28]||(e[28]=a("p",{class:"text-sm"}," · 发送使用「企业群发」能力,员工手机端确认后送达客户。 ",-1))])]))])]),l(Ke,{modelValue:j.value,"onUpdate:modelValue":e[10]||(e[10]=s=>j.value=s),title:"群发送达详情",width:"640px",top:"8vh"},{default:i(()=>{var s;return[w.value?le((o(),x(Fe,{key:0,data:w.value.detail_list,border:"",size:"small","max-height":"420"},{default:i(()=>[l(O,{label:"外部客户",prop:"external_userid","min-width":"200"}),l(O,{label:"员工",prop:"userid","min-width":"120"}),l(O,{label:"状态",width:"120"},{default:i(({row:p})=>[l(I,{type:Le(p.status),size:"small"},{default:i(()=>[f(d(De(p.status)),1)]),_:2},1032,["type"])]),_:1}),l(O,{label:"送达时间",width:"160"},{default:i(({row:p})=>[f(d(p.send_time?Z(p.send_time):"-"),1)]),_:1})]),_:1},8,["data"])),[[se,D.value]]):_("",!0),(s=w.value)!=null&&s.next_cursor?(o(),u("div",Is,[l(v,{link:"",type:"primary",onClick:$e},{default:i(()=>[...e[29]||(e[29]=[f(" 加载更多 ",-1)])]),_:1})])):_("",!0)]}),_:1},8,["modelValue"])])}}}),Sa=pt(qs,[["__scopeId","data-v-2107a11f"]]);export{Sa as default}; +import{L as Qe,i as Je,d as We,r as Ge,R as Xe,q as Ye,Q as je,C as Ze,H as et,M as tt,X as st,Y as at,U as lt,l as nt,m as it,I as ot,N as rt,O as ut,W as dt}from"./element-plus-DGP1XOrU.js";import{w as ct}from"./@vue/runtime-dom-DDAG46FW.js";import{M as fe,N as mt,O as _t,J as ft}from"./@element-plus/icons-vue-CbYn5zW9.js";import{k as C,t as vt,_ as pt}from"./index-J_eFER10.js";import{u as gt}from"./usePaging-DofycyjW.js";import yt from"./MessageBubble--o_EKRQx.js";import{q as ht,S as kt,a as wt,b as bt,c as xt,d as St,e as ae,f as Tt,g as Mt,h as ve}from"./SendPanel-Pp0Dm3Lr.js";import{f as zt,w as Et,b as Ct,ae as Vt,ak as o,I as u,G as x,H as _,J as a,a as l,aN as i,F as M,ap as B,O as f,aP as le,A as pe,n as ne}from"./@vue/runtime-core-C6bnekPw.js";import{y,n as m}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d,o as $t}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./file-D7g_w1vo.js";const Dt={class:"qywx-im"},Lt={class:"im-layout"},It={class:"col-session"},qt={class:"col-header"},At={class:"col-actions"},Bt={class:"col-filters"},Ht={class:"staff-option"},Nt={class:"staff-userid"},Pt={class:"session-list"},Ut={key:0,class:"empty-tip"},Rt=["onClick"],Ft={class:"session-meta"},Kt={class:"session-top"},Ot={class:"session-name"},Qt={class:"session-time"},Jt={class:"session-bottom"},Wt={class:"session-preview"},Gt={key:0,class:"session-staff"},Xt={key:1,class:"session-load-more"},Yt={class:"col-message"},jt={key:0,class:"no-session"},Zt={class:"col-header"},es={class:"msg-header-title"},ts={class:"msg-customer-name"},ss={class:"msg-customer-sub"},as={class:"col-actions"},ls={key:0,class:"load-history"},ns={key:1,class:"load-history end-tip"},is={key:2,class:"empty-tip"},os={class:"col-profile"},rs={class:"profile-panel"},us={class:"profile-name"},ds={class:"profile-fields"},cs={class:"field"},ms={class:"value"},_s={class:"field"},fs=["title"],vs={key:0,class:"field"},ps={class:"value"},gs={key:1,class:"field"},ys={class:"value"},hs={class:"field"},ks={class:"value"},ws={class:"field"},bs={class:"value"},xs={class:"tasks-panel"},Ss={key:0,class:"empty-tip"},Ts={class:"task-top"},Ms={class:"task-time"},zs={class:"task-body"},Es={key:0,class:"task-text"},Cs={key:1,class:"task-attachments"},Vs={key:2,class:"task-error"},$s={class:"task-actions"},Ds={key:1,class:"no-session"},Ls={class:"tips"},Is={key:1,class:"mt-2 text-center"},qs=zt({__name:"index",setup(As){const z=m(null),Q=m(!1),ge=pe(()=>{if(!z.value)return"";const t=z.value;return t.enabled?`会话存档 SDK 不可用:${t.error||"未知错误"}`:"「会话内容存档」未启用,实时消息不可用。请在后端 pay.php 中开启 msgaudit_enabled 并配置 SDK 动态库与 RSA 私钥。"});async function ye(){try{z.value=await wt()}catch{}}async function he(){Q.value=!0;try{await bt(5,!0),C.msgSuccess("已触发一次拉取,稍后刷新可见"),await S(!0),n.value&&await X()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"拉取失败")}finally{Q.value=!1}}const J=m([]);async function ke(){try{const t=await xt();J.value=Array.isArray(t)?t:(t==null?void 0:t.lists)||[]}catch{J.value=[]}}const E=m({staff_userid:"",keyword:"",only_unread:0}),W=m(!1);Et(W,t=>{E.value.only_unread=t?1:0});const{pager:g,getLists:G}=gt({fetchFun:ht,params:E.value,size:30});function S(t=!1){return t||(g.page=1),G()}async function we(){const t=[...g.lists||[]];g.page+=1;try{await G();const e=g.lists||[],r=new Set(t.map(v=>v.id)),c=[...t,...e.filter(v=>!r.has(v.id))];g.lists=c}catch{}}const n=m(null),h=m([]),H=m(!1),V=m(!1),$=m(!1),N=m(0),P=m(0),k=m(null),be=pe(()=>!!n.value&&n.value.session_type!==2);async function xe(t){var e;if(((e=n.value)==null?void 0:e.id)!==t.id){if(n.value=t,h.value=[],N.value=0,P.value=0,$.value=!1,await X(),await re(),t.unread_staff>0)try{await St(t.id),t.unread_staff=0}catch{}U.value="profile"}}async function X(){if(n.value){H.value=!0;try{const t=await ae({session_id:n.value.id,page_no:1,page_size:30}),e=(t==null?void 0:t.lists)||[];h.value=e,e.length&&(N.value=e[0].send_time,P.value=e[e.length-1].send_time),$.value=e.length>=30,await ne(),oe()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"加载消息失败")}finally{H.value=!1}}}async function ie(){var e;if(!n.value||V.value)return;V.value=!0;const t=((e=k.value)==null?void 0:e.scrollHeight)||0;try{const r=await ae({session_id:n.value.id,page_no:1,page_size:30,before_time:N.value}),c=(r==null?void 0:r.lists)||[];c.length&&(N.value=c[0].send_time,h.value=[...c,...h.value]),$.value=c.length>=30,await ne(),k.value&&(k.value.scrollTop=k.value.scrollHeight-t)}finally{V.value=!1}}async function Se(){if(n.value)try{const t=await ae({session_id:n.value.id,page_no:1,page_size:50,after_time:P.value}),e=(t==null?void 0:t.lists)||[];if(!e.length)return;const r=new Set(h.value.map(T=>T.id)),c=e.filter(T=>!r.has(T.id));if(!c.length)return;h.value=[...h.value,...c],P.value=c[c.length-1].send_time;const v=k.value;(v?v.scrollHeight-v.scrollTop-v.clientHeight<120:!0)&&(await ne(),oe())}catch{}}function Te(){const t=k.value;t&&t.scrollTop<40&&$.value&&!V.value&&ie()}function oe(){k.value&&(k.value.scrollTop=k.value.scrollHeight)}async function Me(t){if(n.value)try{await Tt({sender_userid:n.value.staff_userid,external_userids:[n.value.external_userid],msg_payload:t,chat_type:"single"}),C.msgSuccess("已创建群发任务,员工手机确认后送达客户"),await re(),U.value="tasks"}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"发送失败")}}const U=m("profile"),R=m([]),Y=m(!1);async function re(){if(n.value){Y.value=!0;try{const t=await Mt({sender_userid:n.value.staff_userid,page_no:1,page_size:50}),e=(t==null?void 0:t.lists)||[];R.value=e.filter(r=>(r.external_userids||[]).includes(n.value.external_userid))}finally{Y.value=!1}}}function ze(t){return{0:"待提交",1:"已提交",2:"已送达",3:"失败"}[t]??`状态${t}`}function Ee(t){return{0:"info",1:"primary",2:"success",3:"danger"}[t]??"info"}function Ce(t){return{image:"图片",video:"视频",file:"文件",link:"链接",miniprogram:"小程序"}[t]||t}const j=m(!1),D=m(!1),ue=m(0),w=m(null);async function Ve(t){ue.value=t.id,w.value={detail_list:[],next_cursor:""},j.value=!0,D.value=!0;try{const e=await ve(t.id,"");w.value={detail_list:(e==null?void 0:e.detail_list)||[],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{D.value=!1}}async function $e(){var t;if((t=w.value)!=null&&t.next_cursor){D.value=!0;try{const e=await ve(ue.value,w.value.next_cursor);w.value={detail_list:[...w.value.detail_list,...(e==null?void 0:e.detail_list)||[]],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}finally{D.value=!1}}}function De(t){switch(t){case 0:return"未发送";case 1:return"已送达";case 2:return"被拒收";case 3:return"已送达(未读)";default:return`状态${t}`}}function Le(t){return t===1?"success":t===2?"warning":t===3?"primary":"info"}function L(t){var e;return(e=t.customer)!=null&&e.name?t.customer.name:t.session_type===2?`群聊 ${t.roomid.slice(-6)}`:t.external_userid||"未命名客户"}function Ie(t){const e=t.last_msg_summary||"",r=t.last_msg_type;return e||(r==="image"?"[图片]":r==="video"?"[视频]":r==="voice"?"[语音]":r==="file"?"[文件]":r==="link"?"[链接]":r==="weapp"?"[小程序]":r==="chatrecord"?"[聊天记录]":r?`[${r}]`:"暂无消息")}function Z(t){return t?vt(t*1e3,"yyyy-mm-dd hh:MM"):"-"}function qe(t){if(!t)return"";const r=Math.floor(Date.now()/1e3)-t;if(r<60)return`${r}秒前`;if(r<3600)return`${Math.floor(r/60)}分前`;if(r<86400)return`${Math.floor(r/3600)}小时前`;const c=new Date(t*1e3);return`${c.getMonth()+1}-${c.getDate()}`}let ee=null,te=null;return Ct(async()=>{await Promise.all([ye(),ke()]),await S(),ee=window.setInterval(()=>{G({silent:!0}).catch(()=>{})},15e3),te=window.setInterval(()=>{Se()},8e3)}),Vt(()=>{ee&&window.clearInterval(ee),te&&window.clearInterval(te)}),(t,e)=>{var ce,me;const r=Qe,c=We,v=Je,F=Ge,T=Ye,Ae=Xe,Be=je,He=Ze,Ne=et,K=st,Pe=at,I=lt,de=nt,Ue=it,Re=ot,O=ut,Fe=rt,Ke=dt,se=tt;return o(),u("div",Dt,[z.value&&!z.value.available?(o(),x(r,{key:0,title:ge.value,type:"warning",closable:!1,"show-icon":"",class:"archive-warning"},null,8,["title"])):_("",!0),a("div",Lt,[a("section",It,[a("header",qt,[e[11]||(e[11]=a("div",{class:"col-title"},"会话",-1)),a("div",At,[l(F,{content:"刷新"},{default:i(()=>[l(v,{size:"small",link:"",loading:y(g).loading,onClick:e[0]||(e[0]=s=>S(!0))},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1}),l(F,{content:"手动拉一次存档"},{default:i(()=>{var s;return[l(v,{size:"small",link:"",disabled:!((s=z.value)!=null&&s.available),loading:Q.value,onClick:he},{default:i(()=>[l(c,null,{default:i(()=>[l(y(mt))]),_:1})]),_:1},8,["disabled","loading"])]}),_:1})])]),a("div",Bt,[l(Be,{modelValue:E.value.staff_userid,"onUpdate:modelValue":e[1]||(e[1]=s=>E.value.staff_userid=s),placeholder:"全部员工",clearable:"",filterable:"",size:"default",style:{width:"100%"},onChange:e[2]||(e[2]=s=>S())},{default:i(()=>[(o(!0),u(M,null,B(J.value,s=>(o(),x(Ae,{key:s.userid,label:(s.name||s.userid)+"("+s.userid+")",value:s.userid},{default:i(()=>[a("div",Ht,[l(T,{size:20,src:s.avatar},{default:i(()=>[f(d((s.name||"").slice(-2)),1)]),_:2},1032,["src"]),a("span",null,d(s.name),1),a("span",Nt,d(s.userid),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"]),l(He,{modelValue:E.value.keyword,"onUpdate:modelValue":e[3]||(e[3]=s=>E.value.keyword=s),placeholder:"搜索客户或消息",clearable:"",size:"default",onKeyup:e[4]||(e[4]=ct(s=>S(),["enter"])),onClear:e[5]||(e[5]=s=>S())},{prefix:i(()=>[l(c,null,{default:i(()=>[l(y(_t))]),_:1})]),_:1},8,["modelValue"]),l(Ne,{modelValue:W.value,"onUpdate:modelValue":e[6]||(e[6]=s=>W.value=s),onChange:e[7]||(e[7]=s=>S())},{default:i(()=>[...e[12]||(e[12]=[f(" 仅未读 ",-1)])]),_:1},8,["modelValue"])]),le((o(),u("div",Pt,[!y(g).lists.length&&!y(g).loading?(o(),u("div",Ut,[l(K,{description:"暂无会话","image-size":80})])):_("",!0),(o(!0),u(M,null,B(y(g).lists,s=>{var p;return o(),u("div",{key:s.id,class:$t(["session-item",{active:((p=n.value)==null?void 0:p.id)===s.id}]),onClick:b=>xe(s)},[l(Pe,{value:s.unread_staff,hidden:!s.unread_staff,max:99},{default:i(()=>{var b;return[l(T,{size:42,src:((b=s.customer)==null?void 0:b.avatar)||""},{default:i(()=>[f(d(L(s).slice(-2)),1)]),_:2},1032,["src"])]}),_:2},1032,["value","hidden"]),a("div",Ft,[a("div",Kt,[a("span",Ot,d(L(s)),1),a("span",Qt,d(qe(s.last_msg_time)),1)]),a("div",Jt,[a("span",Wt,d(Ie(s)),1),s.session_type===2?(o(),x(I,{key:0,size:"small",type:"info",class:"session-tag"},{default:i(()=>[...e[13]||(e[13]=[f(" 群 ",-1)])]),_:1})):_("",!0)]),s.staff?(o(),u("div",Gt," 员工: "+d(s.staff.name||s.staff_userid),1)):_("",!0)])],10,Rt)}),128)),y(g).lists.length[...e[14]||(e[14]=[f(" 加载更多 ",-1)])]),_:1})])):_("",!0)])),[[se,y(g).loading]])]),a("section",Yt,[n.value?(o(),u(M,{key:1},[a("header",Zt,[a("div",es,[a("div",ts,d(L(n.value)),1),a("div",ss,[(ce=n.value.customer)!=null&&ce.corp_name?(o(),u(M,{key:0},[f(d(n.value.customer.corp_name)+" · ",1)],64)):_("",!0),f(" 代发员工: "+d(((me=n.value.staff)==null?void 0:me.name)||n.value.staff_userid)+" ",1),n.value.session_type===2?(o(),x(I,{key:1,size:"small",type:"info",class:"ml-1"},{default:i(()=>[...e[15]||(e[15]=[f(" 群聊 ",-1)])]),_:1})):_("",!0)])]),a("div",as,[l(F,{content:"刷新消息"},{default:i(()=>[l(v,{link:"",size:"small",loading:H.value,onClick:e[8]||(e[8]=s=>X())},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1})])]),a("div",{ref_key:"messageListRef",ref:k,class:"message-list",onScroll:Te},[$.value?(o(),u("div",ls,[l(v,{link:"",type:"primary",loading:V.value,onClick:ie},{default:i(()=>[...e[16]||(e[16]=[f(" 加载更早的消息 ",-1)])]),_:1},8,["loading"])])):h.value.length?(o(),u("div",ns," —— 没有更早的消息了 —— ")):_("",!0),!h.value.length&&!H.value?(o(),u("div",is,[l(K,{description:"暂无消息","image-size":80})])):_("",!0),(o(!0),u(M,null,B(h.value,s=>(o(),x(yt,{key:s.id,message:s},null,8,["message"]))),128))],544),l(kt,{"can-send-message":be.value,onSend:Me},null,8,["can-send-message"])],64)):(o(),u("div",jt,[l(K,{description:"选择左侧会话查看消息"},{image:i(()=>[l(c,{size:60,color:"#ccc"},{default:i(()=>[l(y(ft))]),_:1})]),_:1})]))]),a("section",os,[n.value?(o(),x(Ue,{key:0,modelValue:U.value,"onUpdate:modelValue":e[9]||(e[9]=s=>U.value=s),class:"profile-tabs"},{default:i(()=>[l(de,{label:"客户资料",name:"profile"},{default:i(()=>{var s,p,b,q,A;return[a("div",rs,[l(T,{size:72,src:((s=n.value.customer)==null?void 0:s.avatar)||""},{default:i(()=>[f(d(L(n.value).slice(-2)),1)]),_:1},8,["src"]),a("div",us,d(L(n.value)),1),a("div",ds,[a("div",cs,[e[17]||(e[17]=a("span",{class:"label"},"客户类型",-1)),a("span",ms,d(((p=n.value.customer)==null?void 0:p.type)===2?"@微信":"@企业微信"),1)]),a("div",_s,[e[18]||(e[18]=a("span",{class:"label"},"外部 ID",-1)),a("span",{class:"value ellipsis",title:n.value.external_userid},d(n.value.external_userid||"-"),9,fs)]),(b=n.value.customer)!=null&&b.corp_name?(o(),u("div",vs,[e[19]||(e[19]=a("span",{class:"label"},"所属企业",-1)),a("span",ps,d(n.value.customer.corp_name),1)])):_("",!0),(q=n.value.customer)!=null&&q.gender?(o(),u("div",gs,[e[20]||(e[20]=a("span",{class:"label"},"性别",-1)),a("span",ys,d(n.value.customer.gender===1?"男":n.value.customer.gender===2?"女":"未知"),1)])):_("",!0),a("div",hs,[e[21]||(e[21]=a("span",{class:"label"},"代发员工",-1)),a("span",ks,d(((A=n.value.staff)==null?void 0:A.name)||n.value.staff_userid),1)]),a("div",ws,[e[22]||(e[22]=a("span",{class:"label"},"最近消息",-1)),a("span",bs,d(Z(n.value.last_msg_time)),1)])])])]}),_:1}),l(de,{label:`发送任务(${R.value.length})`,name:"tasks"},{default:i(()=>[le((o(),u("div",xs,[R.value.length?_("",!0):(o(),u("div",Ss,[l(K,{description:"暂无任务","image-size":80})])),(o(!0),u(M,null,B(R.value,s=>{var p,b,q,A;return o(),u("div",{key:s.id,class:"task-item"},[a("div",Ts,[l(I,{type:Ee(s.status),size:"small"},{default:i(()=>[f(d(ze(s.status)),1)]),_:2},1032,["type"]),a("span",Ms,d(Z(s.create_time)),1)]),a("div",zs,[(b=(p=s.msg_payload)==null?void 0:p.text)!=null&&b.content?(o(),u("div",Es,d(s.msg_payload.text.content),1)):_("",!0),(A=(q=s.msg_payload)==null?void 0:q.attachments)!=null&&A.length?(o(),u("div",Cs,[e[23]||(e[23]=f(" 附件: ",-1)),(o(!0),u(M,null,B(s.msg_payload.attachments,(_e,Oe)=>(o(),x(I,{key:Oe,size:"small",type:"info",class:"mr-1"},{default:i(()=>[f(d(Ce(_e.msgtype)),1)]),_:2},1024))),128))])):_("",!0),s.error?(o(),u("div",Vs,d(s.error),1)):_("",!0)]),a("div",$s,[l(v,{size:"small",link:"",type:"primary",onClick:_e=>Ve(s)},{default:i(()=>[...e[24]||(e[24]=[f(" 送达详情 ",-1)])]),_:1},8,["onClick"])])])}),128))])),[[se,Y.value]])]),_:1},8,["label"])]),_:1},8,["modelValue"])):(o(),u("div",Ds,[a("div",Ls,[e[25]||(e[25]=a("h4",null,"企业微信 IM",-1)),e[26]||(e[26]=a("p",null,"选择一个会话查看客户资料与群发任务",-1)),l(Re),e[27]||(e[27]=a("p",{class:"text-sm"}," · 实时消息依赖「会话内容存档」,由后台计划任务每 30 秒拉取一次。 ",-1)),e[28]||(e[28]=a("p",{class:"text-sm"}," · 发送使用「企业群发」能力,员工手机端确认后送达客户。 ",-1))])]))])]),l(Ke,{modelValue:j.value,"onUpdate:modelValue":e[10]||(e[10]=s=>j.value=s),title:"群发送达详情",width:"640px",top:"8vh"},{default:i(()=>{var s;return[w.value?le((o(),x(Fe,{key:0,data:w.value.detail_list,border:"",size:"small","max-height":"420"},{default:i(()=>[l(O,{label:"外部客户",prop:"external_userid","min-width":"200"}),l(O,{label:"员工",prop:"userid","min-width":"120"}),l(O,{label:"状态",width:"120"},{default:i(({row:p})=>[l(I,{type:Le(p.status),size:"small"},{default:i(()=>[f(d(De(p.status)),1)]),_:2},1032,["type"])]),_:1}),l(O,{label:"送达时间",width:"160"},{default:i(({row:p})=>[f(d(p.send_time?Z(p.send_time):"-"),1)]),_:1})]),_:1},8,["data"])),[[se,D.value]]):_("",!0),(s=w.value)!=null&&s.next_cursor?(o(),u("div",Is,[l(v,{link:"",type:"primary",onClick:$e},{default:i(()=>[...e[29]||(e[29]=[f(" 加载更多 ",-1)])]),_:1})])):_("",!0)]}),_:1},8,["modelValue"])])}}}),Sa=pt(qs,[["__scopeId","data-v-2107a11f"]]);export{Sa as default}; diff --git a/server/public/admin/assets/index-B0O0Dlpp.js b/server/public/admin/assets/index-Dq79cnN7.js similarity index 81% rename from server/public/admin/assets/index-B0O0Dlpp.js rename to server/public/admin/assets/index-Dq79cnN7.js index 829a21e65..21486c168 100644 --- a/server/public/admin/assets/index-B0O0Dlpp.js +++ b/server/public/admin/assets/index-Dq79cnN7.js @@ -1 +1 @@ -import{L as k,K as E,N as x,O as N,v as R,i as B}from"./element-plus-DGP1XOrU.js";import{a as V}from"./pay-C3f37fth.js";import{u as L}from"./getExposeType-MUpmx9zy.js";import d from"./edit-DKzh1wFK.js";import{f as T,as as D,ak as n,I as H,a as t,aN as e,J as I,aP as O,G as f,O as P,H as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,n as u,q}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./useLockFn-X4Qce5KO.js";const St=T({__name:"index",setup(A){const p=L(),s=u([]),w=q(),l=u(!1),m=async()=>{const{lists:r}=await V();s.value=r},y=async r=>{var o;(o=p.value)==null||o.openHandle(r.id,!1)};return m(),(r,o)=>{const h=k,c=E,i=N,v=R,b=B,g=x,C=D("perms");return n(),H("div",null,[t(c,{class:"!border-none",shadow:"never"},{default:e(()=>[t(h,{type:"warning",title:"温馨提示:设置系统支持的支付方式",closable:!1,"show-icon":""})]),_:1}),t(c,{shadow:"never",class:"mt-4 !border-none"},{default:e(()=>[I("div",null,[t(g,{data:_(s)},{default:e(()=>[t(i,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),t(i,{prop:"name",label:"显示名称","min-width":"150"}),t(i,{label:"图标","min-width":"150"},{default:e(({row:a})=>[t(v,{src:a.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),t(i,{prop:"sort",label:"排序","min-width":"150"}),t(i,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[O((n(),f(b,{link:"",type:"primary",onClick:G=>y(a)},{default:e(()=>[...o[1]||(o[1]=[P(" 配置 ",-1)])]),_:1},8,["onClick"])),[[C,["setting.pay.pay_config/setConfig"]]])]),_:1})]),_:1},8,["data"])])]),_:1}),_(l)?(n(),f(d,{key:0,ref_key:"editRef",ref:w,onSuccess:m,onClose:o[0]||(o[0]=a=>l.value=!1)},null,512)):$("",!0),t(d,{ref_key:"editNewRef",ref:p,onRefresh:m},null,512)])}}});export{St as default}; +import{L as k,K as E,N as x,O as N,v as R,i as B}from"./element-plus-DGP1XOrU.js";import{a as V}from"./pay-CM_epwkI.js";import{u as L}from"./getExposeType-MUpmx9zy.js";import d from"./edit-razgmSeC.js";import{f as T,as as D,ak as n,I as H,a as t,aN as e,J as I,aP as O,G as f,O as P,H as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,n as u,q}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./useLockFn-X4Qce5KO.js";const St=T({__name:"index",setup(A){const p=L(),s=u([]),w=q(),l=u(!1),m=async()=>{const{lists:r}=await V();s.value=r},y=async r=>{var o;(o=p.value)==null||o.openHandle(r.id,!1)};return m(),(r,o)=>{const h=k,c=E,i=N,v=R,b=B,g=x,C=D("perms");return n(),H("div",null,[t(c,{class:"!border-none",shadow:"never"},{default:e(()=>[t(h,{type:"warning",title:"温馨提示:设置系统支持的支付方式",closable:!1,"show-icon":""})]),_:1}),t(c,{shadow:"never",class:"mt-4 !border-none"},{default:e(()=>[I("div",null,[t(g,{data:_(s)},{default:e(()=>[t(i,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),t(i,{prop:"name",label:"显示名称","min-width":"150"}),t(i,{label:"图标","min-width":"150"},{default:e(({row:a})=>[t(v,{src:a.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),t(i,{prop:"sort",label:"排序","min-width":"150"}),t(i,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[O((n(),f(b,{link:"",type:"primary",onClick:G=>y(a)},{default:e(()=>[...o[1]||(o[1]=[P(" 配置 ",-1)])]),_:1},8,["onClick"])),[[C,["setting.pay.pay_config/setConfig"]]])]),_:1})]),_:1},8,["data"])])]),_:1}),_(l)?(n(),f(d,{key:0,ref_key:"editRef",ref:w,onSuccess:m,onClose:o[0]||(o[0]=a=>l.value=!1)},null,512)):$("",!0),t(d,{ref_key:"editNewRef",ref:p,onRefresh:m},null,512)])}}});export{St as default}; diff --git a/server/public/admin/assets/index-D6-2IW7r.js b/server/public/admin/assets/index-IvyoKa-e.js similarity index 97% rename from server/public/admin/assets/index-D6-2IW7r.js rename to server/public/admin/assets/index-IvyoKa-e.js index 7cea11c08..8d2441d38 100644 --- a/server/public/admin/assets/index-D6-2IW7r.js +++ b/server/public/admin/assets/index-IvyoKa-e.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{_ as il,E as rl}from"./jspdf-BsthCvR5.js";import{G as ul,F as dl,D as pl,B as ml,C as _l,Q as fl,R as cl,i as gl,K as bl,M as vl,N as yl,O as xl,U as Vl,L as kl,ab as hl,ac as wl,J as Sl,h as Cl,S as Nl,e as Ul,W as Pl,a4 as $l,a5 as El,ad as Dl,g as Rl,r as Ol,V as Al}from"./element-plus-DGP1XOrU.js";import{_ as Ll}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{u as zl,c as Tl,k as w,o as Il,_ as Fl}from"./index-fRv3NTFQ.js";import{w as ut,s as we,q as dt}from"./@vue/runtime-dom-DDAG46FW.js";import{g as jl,o as Ml,l as Hl,q as pt,r as ql,s as Wl,t as Bl,u as Yl,v as Gl,w as Kl,x as Jl,y as Ql}from"./tcm-CEIBuAeK.js";import{m as Xl}from"./medicine-CEgParOp.js";import{r as Zl}from"./role-B18Xi51b.js";import{u as es}from"./usePaging-DofycyjW.js";import{h as ts}from"./perm-CTlz8z1G.js";import{_ as as}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{M as zt}from"./index-C5r1a79q.js";import{P as ls}from"./index-VwsZ7VG0.js";import{V as ss,N as ns,W as os,O as is}from"./@element-plus/icons-vue-CbYn5zW9.js";import{a as rs}from"./vue-router-QlpZ4wdW.js";import us from"./html2canvas-QH1iLAAe.js";import{f as Tt,w as ze,b as ds,as as ps,ak as _,I as h,a as t,aN as s,J as d,O as f,F as I,ap as Z,G as c,aP as A,H as v,P as ms,A as Y,n as se}from"./@vue/runtime-core-C6bnekPw.js";import{y as j,a as _s,r as Se,n as g}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b,o as fs}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const cs={class:"prescription-list"},gs={class:"pl-toolbar"},bs={class:"pl-toolbar__line"},vs={class:"pl-toolbar__line pl-toolbar__line--second"},ys={class:"pl-toolbar__actions"},xs={class:"pl-table-head"},Vs={class:"flex items-center gap-2"},ks={class:"mt-3"},hs={class:"font-medium"},ws={class:"text-xs text-gray-400 mt-0.5"},Ss={key:1,class:"text-gray-400 text-sm"},Cs={class:"font-medium"},Ns={class:"text-xs text-gray-500 mt-0.5"},Us={class:"flex flex-col gap-1"},Ps={class:"flex flex-wrap items-center gap-1"},$s={key:0,class:"text-xs text-gray-500"},Es=["title"],Ds={key:1,class:"text-gray-400"},Rs={class:"font-medium"},Os={class:"text-xs text-gray-500 mt-0.5"},As={class:"text-sm"},Ls={class:"flex mt-2 justify-end"},zs={key:0,class:"rx-wrap"},Ts={class:"rx-toolbar"},Is={key:0,class:"rx-status rx-status-danger"},Fs={key:1,class:"rx-status rx-status-danger"},js={key:0,class:"mt-1"},Ms={key:2,class:"rx-status rx-status-danger"},Hs={key:0,class:"mt-1"},qs={key:4,class:"rx-audit"},Ws={key:0},Bs={key:0,class:"ml-2 text-gray-400"},Ys={key:1,class:"mt-1"},Gs={class:"text-sm mt-1"},Ks={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},Js={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},Qs={class:"text-xs text-gray-400"},Xs={class:"w-full"},Zs={class:"flex flex-wrap items-center gap-2"},en={key:0,class:"flex items-center gap-2 flex-wrap mt-2 text-xs text-[var(--el-color-danger)]"},tn={class:"herb-formula-block mt-3"},an={class:"herb-formula-block__head"},ln={key:1,class:"text-gray-400 text-xs"},sn={class:"herb-formula-block mt-4"},nn={class:"herb-formula-block__head"},on={key:1,class:"text-gray-400 text-xs"},rn={class:"text-sm mt-1 leading-relaxed"},un={key:0,class:"mb-1.5"},dn={class:"font-mono text-primary"},pn={class:"mb-1.5"},mn={class:"whitespace-pre-wrap"},_n={key:1,class:"text-gray-600"},fn={class:"signature-pad-wrap"},cn={class:"signature-actions"},gn={class:"text-gray-700"},bn={class:"create-order-dialog__inner"},vn={key:0,class:"create-order-rx-card"},yn={class:"create-order-rx-card__head"},xn={class:"create-order-rx-card__meta"},Vn={class:"create-order-rx-card__id"},kn={key:0,class:"create-order-rx-card__sn"},hn={class:"create-order-rx-card__patient"},wn={class:"create-order-step-lead"},Sn={class:"create-order-step-panel"},Cn={class:"create-order-step-panel"},Nn={class:"flex items-center gap-1 w-full"},Un={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Pn={class:"flex items-center justify-between"},$n={class:"font-medium text-[13px] text-gray-800"},En={class:"text-orange-500 font-medium ml-4"},Dn={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Rn={class:"truncate pr-2"},On={class:"shrink-0"},An={class:"create-order-pay-hint text-gray-500"},Ln={class:"text-amber-600 font-medium"},zn={class:"create-order-step-panel"},Tn={class:"create-order-deposit-bar__cell"},In={class:"create-order-deposit-bar__sub"},Fn={class:"create-order-deposit-bar__cell"},jn={class:"create-order-deposit-bar__sub"},Mn={class:"create-order-footer"},Hn={class:"create-order-footer__hint"},qn={class:"create-order-footer__step"},Wn={key:0,class:"create-order-footer__warn"},Bn={class:"create-order-footer__actions"},Yn={class:"mb-4 flex gap-3"},Gn={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Kn={key:0},Jn={key:1,class:"text-gray-400"},Qn={class:"flex justify-end mt-4"},Xn={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Zn=Tt({name:"prescriptionList"}),eo=Tt({...Zn,setup(to){const It=ms(()=>il(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103])));function Ce(a="浓缩水丸"){return a==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:a==="浓缩水丸"?{dosage_amount:5,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:{dosage_amount:1,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}}function Ft(a,e){const o=Ce(e);if(!a||typeof a!="object")return{...o};const r=a;return{dosage_amount:r.dosage_amount!==null&&r.dosage_amount!==void 0&&r.dosage_amount!==""?Number(r.dosage_amount):o.dosage_amount,dosage_bag_count:r.dosage_bag_count!=null?Number(r.dosage_bag_count)||1:o.dosage_bag_count,need_decoction:r.need_decoction===1||r.need_decoction===!0,bags_per_dose:r.bags_per_dose!=null?Number(r.bags_per_dose)||1:o.bags_per_dose,times_per_day:r.times_per_day!=null?Number(r.times_per_day)||3:o.times_per_day,usage_days:r.usage_days!=null?Number(r.usage_days)||7:o.usage_days,prescription_name:String(r.prescription_name??"").trim()}}function J(a){return a==="辅方"?"辅方":"主方"}function Te(a){const e={name:String((a==null?void 0:a.name)??"").trim(),dosage:Number(a==null?void 0:a.dosage)||0,formula_type:J(a==null?void 0:a.formula_type)},o=Number((a==null?void 0:a.medicine_id)??(a==null?void 0:a.id)??0);return Number.isInteger(o)&&o>0&&(e.medicine_id=o),((a==null?void 0:a.locked)===!0||(a==null?void 0:a.locked)===1)&&(e.locked=!0),e}function Ie(a){return a?Array.isArray(a)?a.map(e=>Te(e)):[]:[]}const de=zl(),mt=rs();function jt(){const a=mt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});a!=null&&a.path?mt.push(a.path):w.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const S=Se({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),Fe=g([]),G=g("all"),Q=g(!1),D=g("add"),je=g(!1),ee=g(),K=g(),pe=g(null),ne=560,oe=168,k=g(null),Me=g(!1),_t=g([]),me=g(!1),ft=g(0),ie=g(""),Ne=g(!1),_e=g(!1),He=g(!1),qe=g(),$=Se({id:0,patient_name:"",gender:1,phone:""}),Mt={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function Ht(a){$.id=Number(a.id)||0,$.patient_name=String(a.patient_name??"").trim();const e=Number(a.gender);$.gender=e===0||e===1?e:1,$.phone=String(a.phone??"").trim(),_e.value=!0}function qt(){var a;$.id=0,$.patient_name="",$.gender=1,$.phone="",(a=qe.value)==null||a.clearValidate()}async function Wt(){const a=qe.value;if(a){try{await a.validate()}catch{return}He.value=!0;try{await Ml({id:$.id,patient_name:$.patient_name.trim(),phone:$.phone.trim(),gender:$.gender}),w.msgSuccess("已保存"),_e.value=!1,te()}catch(e){const o=e&&typeof e=="object"&&"msg"in e?String(e.msg):"";w.msgError(o||"保存失败")}finally{He.value=!1}}}const fe=g(!1),R=g(0),Bt=Y(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][R.value]??""),Yt=["patient_id","recipient_name","recipient_phone","region","shipping_address"],B=g(null),ce=g(),We=g(!1),Be=g(!1),X=g([]),re=g([]),Ye=g(!1),E=g(0);function ue(a){const e=Number(a);return Number.isNaN(e)?"—":e.toFixed(2)}function ct(a){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(a)]||"未知"}const p=Se({patient_id:"",recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",ship_mode:"gancao",fee_type:3,amount:0,internal_cost:void 0,remark_extra:"",remark_assistant:"",pay_order_ids:[]}),Gt=Y(()=>ts(["tcm.prescriptionOrder/setShipMode"])),ge=g([]),Ge=g([]),Kt=a=>a.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(r=>{var m;return{name:r.city,code:r.code,children:((m=r.areas)==null?void 0:m.map(u=>({name:u.area,code:u.code})))||[]}}))||[]}}),Jt=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const o=await e.json();console.log("加载的数据条数:",o==null?void 0:o.length),ge.value=Kt(o),console.log("regionOptions 已设置,条数:",ge.value.length)}catch(a){console.error("加载省市区数据失败:",a),ge.value=[{name:"四川省",children:[{name:"成都市",children:[{name:"锦江区"},{name:"青羊区"},{name:"金牛区"},{name:"武侯区"},{name:"成华区"},{name:"龙泉驿区"},{name:"青白江区"},{name:"新都区"},{name:"温江区"},{name:"双流区"}]},{name:"绵阳市",children:[{name:"涪城区"},{name:"游仙区"},{name:"安州区"}]}]},{name:"北京市",children:[{name:"北京市",children:[{name:"东城区"},{name:"西城区"},{name:"朝阳区"},{name:"丰台区"},{name:"海淀区"}]}]},{name:"上海市",children:[{name:"上海市",children:[{name:"黄浦区"},{name:"徐汇区"},{name:"长宁区"},{name:"静安区"},{name:"普陀区"}]}]},{name:"广东省",children:[{name:"广州市",children:[{name:"荔湾区"},{name:"越秀区"},{name:"海珠区"},{name:"天河区"},{name:"白云区"}]},{name:"深圳市",children:[{name:"罗湖区"},{name:"福田区"},{name:"南山区"},{name:"宝安区"}]}]}],console.log("使用后备数据,条数:",ge.value.length)}},Qt=async()=>{try{const a=await Il({type:"server_order"});Ge.value=((a==null?void 0:a.server_order)||[]).filter(e=>e.status!==0)}catch{Ge.value=[]}},Xt=a=>{console.log("选择的省市区:",a)},Ke=Y(()=>{const a=new Set(p.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of re.value)a.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),Zt=Y(()=>{const a=E.value;return a>0?Math.round(a*100)/100:0}),ea=Y(()=>{const a={patient_id:[{required:!0,message:"请选择诊单患者",trigger:"change"}],recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,o,r)=>{const m=E.value,u=Number(o);if(m>0&&(!Number.isFinite(u)||u0){const e=`已开启关联支付门槛(¥${ue(E.value)}),请至少选择一笔支付单`;a.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return a});function gt(){var a;R.value=0,p.patient_id="",p.recipient_name="",p.recipient_phone="",p.shipping_address="",p.is_follow_up=0,p.medication_days=void 0,p.prev_staff="",p.service_channel="",p.service_package=[],p.express_company="auto",p.tracking_number="",p.ship_mode="gancao",p.fee_type=3,p.amount=0,p.internal_cost=void 0,p.remark_extra="",p.remark_assistant="",p.pay_order_ids=[],X.value=[],re.value=[],E.value=0,B.value=null,(a=ce.value)==null||a.clearValidate()}function ta(){const a=E.value;if(a<=0)return;const e=Math.round(a*100)/100;Number(p.amount)p.patient_id,()=>{p.pay_order_ids=[],bt()});async function aa(a){var m;if(Number(a==null?void 0:a.void_status)===1){w.msgWarning("已作废处方不可创建业务订单");return}gt(),B.value=a;const e=Number(a.diagnosis_id)||0;e>0&&(p.patient_id=e,p.recipient_name=a.patient_name||"",p.recipient_phone=String(a.phone||"").trim(),X.value=[{id:e,patient_name:a.patient_name||"",phone:String(a.phone||"").trim()}]);const o=Number(a.usage_days);o>0&&(p.medication_days=o),fe.value=!0,bt();const r=a.id;if(r&&!p.recipient_phone)try{const u=await pt({id:r}),i=u&&typeof u.phone=="string"?u.phone.trim():"";if(i&&((m=B.value)==null?void 0:m.id)===r){p.recipient_phone=i;const x=X.value[0];x&&Number(x.id)===e&&(x.phone=i)}}catch{}}async function la(a){if(!a){X.value=[];return}try{Be.value=!0;const e=await searchPatientsAPI({keyword:a,page_no:1,page_size:10});X.value=(e==null?void 0:e.lists)||[]}catch{X.value=[]}finally{Be.value=!1}}function sa(a){const e=X.value.find(o=>Number(o.id)===Number(a));e&&(p.recipient_name=e.patient_name||"",p.recipient_phone=e.phone||"")}function na(){R.value>0&&(R.value-=1)}async function oa(){const a=ce.value;if(a)try{R.value===0?await a.validateField([...Yt]):R.value===1&&E.value>0&&await a.validateField(["pay_order_ids"]),R.value<2&&(R.value+=1)}catch{}}async function ia(){if(!(!ce.value||!B.value)&&R.value===2)try{await ce.value.validate(),We.value=!0;const a=Number(p.patient_id),e={prescription_id:B.value.id,diagnosis_id:a,recipient_name:p.recipient_name,recipient_phone:p.recipient_phone,shipping_address:p.shipping_address,is_follow_up:p.is_follow_up,prev_staff:p.prev_staff||"",service_channel:p.service_channel||"",service_package:Array.isArray(p.service_package)&&p.service_package.length>0?p.service_package.join(","):"",express_company:p.express_company||"auto",tracking_number:p.tracking_number||"",ship_mode:p.ship_mode,fee_type:p.fee_type,amount:p.amount,remark_extra:p.remark_extra||"",remark_assistant:p.remark_assistant||""};p.region&&p.region.length>=3&&(e.shipping_province=p.region[0],e.shipping_city=p.region[1],e.shipping_district=p.region[2]),p.medication_days!=null&&p.medication_days>0&&(e.medication_days=p.medication_days),p.internal_cost!=null&&p.internal_cost>0&&(e.internal_cost=p.internal_cost),p.pay_order_ids.length&&(e.pay_order_ids=[...p.pay_order_ids]);const o=await ql(e),r=(o==null?void 0:o.data)??o,m=r==null?void 0:r.order_no;w.msgSuccess(m?`业务订单已创建,单号:${m}`:"业务订单已创建"),fe.value=!1,te()}catch(a){console.error(a)}finally{We.value=!1}}const Ue=g(!1),Pe=g(!1),vt=Y(()=>{const a=Ue.value,e=Pe.value;return!a&&!e?"":a&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":a?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),ra=Y(()=>n.herbs.map((a,e)=>({herb:a,index:e})).filter(({herb:a})=>J(a.formula_type)==="主方")),yt=Y(()=>n.herbs.map((a,e)=>({herb:a,index:e})).filter(({herb:a})=>J(a.formula_type)==="辅方")),M=Y(()=>n.herbs.some(a=>a.locked===!0)),xt=g(null),Je=g(!1);function ua(){const a=xt.value;return(a==null?void 0:a.paperEl)??null}function da(){k.value&&se(()=>{try{window.print()}catch(a){console.error(a)}})}async function pa(){var e,o,r;const a=ua();if(!a){w.msgWarning("处方笺尚未渲染完成");return}Je.value=!0;try{await se(),await new Promise(z=>requestAnimationFrame(()=>z(null))),await new Promise(z=>setTimeout(z,250));const m=await us(a,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:a.scrollWidth,windowHeight:a.scrollHeight,width:a.scrollWidth,height:a.scrollHeight,onclone:(z,L)=>{L instanceof HTMLElement&&(L.querySelectorAll(".rx-notice, .rx-notice-text, .rx-notice-meta").forEach(U=>{U.style.lineHeight="1.95",U.style.overflow="visible"}),L.querySelectorAll(".rx-notice").forEach(U=>{U.style.padding="10px 12px"}),L.querySelectorAll(".rx-info-cell, .rx-info-cell .rx-key, .rx-info-cell .rx-val").forEach(U=>{U.style.lineHeight="1.95",U.style.overflow="visible"}),L.querySelectorAll(".rx-info-cell").forEach(U=>{U.style.padding="10px 12px"}),L.querySelectorAll(".rx-herb-cell").forEach(U=>{U.style.lineHeight="2.5"}),L.querySelectorAll(".rx-herbs").forEach(U=>{U.style.rowGap="12px"}),L.querySelectorAll(".rx-text").forEach(U=>{U.style.lineHeight="2.1"}),L.querySelectorAll(".rx-bot-meta-val, .rx-hospital-line, .rx-bot-cell").forEach(U=>{U.style.overflow="visible",U.style.lineHeight="1.85"}),L.querySelectorAll(".rx-hospital-row").forEach(U=>{U.style.paddingTop="12px",U.style.paddingBottom="14px"}))}}),u=m.toDataURL("image/jpeg",.95),i=new rl({unit:"mm",format:"a4",orientation:"portrait"}),x=210,H=297,y=x,le=m.height*y/m.width;if(le<=H)i.addImage(u,"JPEG",0,0,y,le);else{let z=le,L=0;for(;z>0;)i.addImage(u,"JPEG",0,L,y,le),z-=H,L-=H,z>0&&i.addPage()}const ot=((e=k.value)==null?void 0:e.patient_name)||"处方",N=((o=k.value)==null?void 0:o.id)||"",O=((r=k.value)==null?void 0:r.prescription_date)||"";i.save(`处方-${ot}${O?"-"+O:""}${N?"-"+N:""}.pdf`)}catch(m){console.error("下载处方 PDF 失败:",m),w.msgError((m==null?void 0:m.message)||"下载失败,请重试")}finally{Je.value=!1}}const n=Se({id:0,prescription_type:"浓缩水丸",dosage_amount:1,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",doctor_signature:"",is_shared:0,visible_role_ids:[],audit_status:1,audit_time:null,audit_by_name:"",audit_remark:"",diagnosis_id:0,creator_id:0,is_system_auto:0,business_prescription_audit_rejected:0,business_prescription_audit_remark:"",times_per_day:2,aux_usage:Ce("浓缩水丸")}),P=Se({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function ma(){P.loading=!1,P.orderNo="",P.medicationDays=null,P.remarkAssistant=""}async function _a(a){if(P.orderNo="",P.medicationDays=null,P.remarkAssistant="",!a){P.loading=!1;return}P.loading=!0;try{const e=await Ql({page_no:1,page_size:5,prescription_id:a}),o=e==null?void 0:e.lists,r=Array.isArray(o)&&o.length?o[0]:null;if(r){P.orderNo=String(r.order_no||"").trim();const m=r.medication_days,u=m!=null&&String(m).trim()!==""?Number(m):NaN;P.medicationDays=Number.isFinite(u)&&u>0?u:null,P.remarkAssistant=String(r.remark_assistant||"").trim()}}catch{}finally{P.loading=!1}}const Vt=g(null);function fa(){var e;const a=Number(n.diagnosis_id);if(!a){w.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=Vt.value)==null||e.openViewOnly(a)}const $e=g(!1);ze(()=>n.prescription_type,a=>{$e.value||(a==="浓缩水丸"?(n.dosage_unit="g",n.dosage_amount=1,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1):a==="饮片"?(n.dosage_unit="ml",n.dosage_amount=50,n.dosage_bag_count=1,n.bags_per_dose=1):(n.dosage_unit="g",n.dosage_amount=void 0,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1),Object.assign(n.aux_usage,Ce(a)))});const ca={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}],doctor_signature:[{required:!0,validator:(a,e,o)=>{!e||!String(e).trim()?o(new Error("请使用电子签名板手写医师签名")):o()},trigger:"change"}]};async function ga(a){const{audit_filter:e,source_filter:o,creator_ids:r,...m}=a,u={...m,audit_filter:e==="all"||e===""?"":e,source_filter:o==="all"||o===""||o===void 0?"":o};return Array.isArray(r)&&r.length>0&&(u.creator_ids=r),Wl(u)}const{pager:be,getLists:te,resetPage:ae}=es({fetchFun:ga,params:S});function kt(a){return String(a).padStart(2,"0")}function ht(a){const e=a.getFullYear(),o=kt(a.getMonth()+1),r=kt(a.getDate()),m=`${e}-${o}-${r}`;return{start:`${m} 00:00:00`,end:`${m} 23:59:59`}}function ba(a){const e=String(a??"all");if(e==="all")S.start_time="",S.end_time="";else{const o=new Date,r=new Date(o.getFullYear(),o.getMonth(),o.getDate());e==="yesterday"?r.setDate(r.getDate()-1):e==="before_yesterday"&&r.setDate(r.getDate()-2);const{start:m,end:u}=ht(r);S.start_time=m,S.end_time=u}ae()}function va(){ae()}function ya(){ae()}let Qe=!1;ze(()=>[S.start_time,S.end_time],()=>{if(Qe)return;const a=S.start_time,e=S.end_time;if(!a&&!e){G.value="all";return}if(!a||!e){G.value="";return}const o=new Date,r=m=>{const u=new Date(o.getFullYear(),o.getMonth(),o.getDate()-m),{start:i,end:x}=ht(u);return a===i&&e===x};r(0)?G.value="today":r(1)?G.value="yesterday":r(2)?G.value="before_yesterday":G.value=""});function xa(a){if(a==null||a==="")return"—";if(typeof a=="number"&&a>=1e9&&a<1e11)return Ee(a);const e=String(a).trim();return/^\d{10}$/.test(e)?Ee(parseInt(e,10)):e}function Va(){Qe=!0,G.value="all",S.sn="",S.patient_name="",S.creator_ids=[],S.audit_filter="all",S.source_filter="all",S.start_time="",S.end_time="",Qe=!1,ae()}function ka(a){return a===0?"待审核":a===2?"已驳回":"已通过"}function ha(a){return a===0?"warning":a===2?"danger":"success"}function wa(a){return Number(a.business_prescription_audit_rejected)===1?"已驳回":ka(a.audit_status)}function Sa(a){return Number(a.business_prescription_audit_rejected)===1?"danger":ha(a.audit_status)}function wt(a){const e=[];if(Number(a.business_prescription_audit_rejected)===1){const o=String(a.business_prescription_audit_remark||"").trim();e.push(o?`业务订单审核驳回意见:${o}`:"业务订单审核驳回意见:—")}if(Number(a.audit_status)===2){const o=String(a.audit_remark||"").trim();e.push(o?`消费者处方审核驳回意见:${o}`:"消费者处方审核驳回意见:—")}return e}function St(a){return Number(a.audit_status)===1&&Number(a.void_status)!==1}function Ee(a){if(!a)return"";const e=new Date(a*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function Ca(a){return a?Ee(a):"—"}function Na(a){var m;const e=n.herbs[a];if(!e)return`第${a+1}味`;const o=J(e.formula_type);let r=0;for(let u=0;u<=a;u++)J((m=n.herbs[u])==null?void 0:m.formula_type)===o&&r++;return`${o}第${r}味`}function Ua(a){if(Number(a==null?void 0:a.has_prescription_order)!==1)return[];const o=Ie(a==null?void 0:a.herbs).map(i=>String((i==null?void 0:i.name)||"").trim()).filter(Boolean),r=[];if(!o.length)return r.push("请开方,当前处方药材为空白"),r;const m=new Set,u=new Set;for(const i of o){const x=i.replace(/\s+/g,"").toLowerCase();x&&(m.has(x)?u.add(i):m.add(x))}return u.size>0&&r.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(u).join("、")}`),r}function Pa(a){return{...a,herbs:Ie(a==null?void 0:a.herbs)}}function $a(){k.value=null,pe.value=null}function Ct(a){const e=K.value;if(!e)return{x:0,y:0};const o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)return{x:0,y:0};const r=(a.clientX-o.left)/o.width*ne,m=(a.clientY-o.top)/o.height*oe;return{x:Math.max(0,Math.min(ne,r)),y:Math.max(0,Math.min(oe,m))}}function Xe(){const a=K.value;a&&(n.doctor_signature=a.toDataURL("image/png")),se(()=>{var e;(e=ee.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function Ea(a){if(a.pointerType==="mouse"&&a.button!==0)return;const e=K.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(a.pointerId),pe.value=a.pointerId;const{x:r,y:m}=Ct(a);o.beginPath(),o.moveTo(r,m)}function Da(a){var m;if(pe.value!==a.pointerId)return;const e=(m=K.value)==null?void 0:m.getContext("2d");if(!e)return;const{x:o,y:r}=Ct(a);e.lineTo(o,r),e.stroke(),e.beginPath(),e.moveTo(o,r)}function Nt(a){if(pe.value!==a.pointerId)return;pe.value=null;const e=K.value;if(e)try{e.releasePointerCapture(a.pointerId)}catch{}Xe()}function Ra(){Ut(),n.doctor_signature="",se(()=>{var a;(a=ee.value)==null||a.validateField("doctor_signature").catch(()=>{})})}function Ut(){const a=K.value;if(!a)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);a.style.width=`${ne}px`,a.style.height=`${oe}px`,a.width=Math.round(ne*e),a.height=Math.round(oe*e);const o=a.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(e,e),o.fillStyle="#fff",o.fillRect(0,0,ne,oe),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")}function Pt(){D.value!=="view"&&se(()=>{setTimeout(()=>{Ut();const a=n.doctor_signature;if(a&&String(a).trim().startsWith("data:image")&&K.value){const e=new Image;e.onload=()=>{const o=K.value,r=o==null?void 0:o.getContext("2d");!o||!r||(r.drawImage(e,0,0,ne,oe),Xe())},e.onerror=()=>{Xe()},e.src=a}},100)})}function Oa(a){const e=a==null?void 0:a.visible_role_ids;return Array.isArray(e)?e.map(o=>Number(o)).filter(o=>!Number.isNaN(o)):typeof e=="string"&&e?e.split(",").map(o=>parseInt(o.trim(),10)).filter(o=>!Number.isNaN(o)):[]}function Aa(a){ft.value=a.id,ie.value="",me.value=!0}async function $t(a){if(a==="reject"&&!ie.value.trim()){w.msgError("驳回时请填写审核意见");return}Ne.value=!0;try{const e=await Bl({id:ft.value,action:a,remark:ie.value.trim()});w.msgSuccess(a==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&w.msgWarning(e.wecom_notify_hint),me.value=!1,te()}catch{}finally{Ne.value=!1}}async function La(){try{const a=await Zl({});_t.value=Array.isArray(a)?a:[]}catch{_t.value=[]}}const ve=g(!1),Ze=g(!1),et=g([]),De=g(""),Re=g(""),ye=g("replace"),xe=g(1),tt=g(15),at=g(0),Et=Y(()=>{var o;const a=Number(n.creator_id);if(a>0)return a;const e=Number((o=de.userInfo)==null?void 0:o.id);return e>0?e:0});function za(a){return String(a||"").trim().toLowerCase()}function Dt(){const a=new Map;for(const e of n.herbs){const o=za(e==null?void 0:e.name);o&&a.set(o,(a.get(o)??0)+1)}return[...a.entries()].filter(([,e])=>e>1).map(([e])=>e)}const Oe=async()=>{const a=Et.value;if(!a){w.msgWarning("无法确定开方医师,无法加载处方库"),et.value=[],at.value=0;return}Ze.value=!0;try{const e=await Yl({page_no:xe.value,page_size:tt.value,prescription_name:De.value,formula_type:Re.value,prescribing_creator_id:a});et.value=(e==null?void 0:e.lists)||[],at.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),w.msgError("加载处方库失败")}finally{Ze.value=!1}},Ae=()=>{xe.value=1,Oe()},Ta=()=>{if(!Et.value){w.msgWarning("无法确定开方医师,无法从处方库导入");return}ve.value=!0},Ia=a=>{Rt(a)},Rt=a=>{if(!a.herbs||a.herbs.length===0){w.msgWarning("该处方没有药材信息");return}const e=J(a.formula_type),o=Number(a==null?void 0:a.disable_edit)===1,r=JSON.parse(JSON.stringify(a.herbs)).map(u=>{const i=Te(u);return i.formula_type=e,o?i.locked=!0:delete i.locked,i});if(ye.value==="replace"){const u=n.herbs.filter(i=>J(i.formula_type)!==e);n.herbs=[...u,...r]}else n.herbs.push(...r);e==="辅方"&&(n.aux_usage.prescription_name=String(a.prescription_name??"").trim());const m=ye.value==="append"?"(已追加)":"";Dt().length?w.msgWarning(`已导入处方「${a.prescription_name}」${m},共${r.length}味药材。存在重复药名,请合并剂量或删除多余行`):w.msgSuccess(`已导入处方「${a.prescription_name}」${m},共${r.length}味药材`),ve.value=!1};ze(ve,a=>{a&&(De.value="",Re.value="",ye.value="replace",xe.value=1,Oe())});const Ve=g(!1),ke=g(""),lt=g("replace"),st=g(!1),Fa=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function ja(a){let e=a.replace(/\r\n/g,` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{_ as il,E as rl}from"./jspdf-BsthCvR5.js";import{G as ul,F as dl,D as pl,B as ml,C as _l,Q as fl,R as cl,i as gl,K as bl,M as vl,N as yl,O as xl,U as Vl,L as kl,ab as hl,ac as wl,J as Sl,h as Cl,S as Nl,e as Ul,W as Pl,a4 as $l,a5 as El,ad as Dl,g as Rl,r as Ol,V as Al}from"./element-plus-DGP1XOrU.js";import{_ as Ll}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{u as zl,c as Tl,k as w,o as Il,_ as Fl}from"./index-J_eFER10.js";import{w as ut,s as we,q as dt}from"./@vue/runtime-dom-DDAG46FW.js";import{g as jl,o as Ml,l as Hl,q as pt,r as ql,s as Wl,t as Bl,u as Yl,v as Gl,w as Kl,x as Jl,y as Ql}from"./tcm-D-ZRccbe.js";import{m as Xl}from"./medicine-DIQyk1R0.js";import{r as Zl}from"./role-hMw9X8iI.js";import{u as es}from"./usePaging-DofycyjW.js";import{h as ts}from"./perm-8cp9D7Ag.js";import{_ as as}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{M as zt}from"./index-D6w2Tfd_.js";import{P as ls}from"./index-qwVd4UhY.js";import{V as ss,N as ns,W as os,O as is}from"./@element-plus/icons-vue-CbYn5zW9.js";import{a as rs}from"./vue-router-QlpZ4wdW.js";import us from"./html2canvas-QH1iLAAe.js";import{f as Tt,w as ze,b as ds,as as ps,ak as _,I as h,a as t,aN as s,J as d,O as f,F as I,ap as Z,G as c,aP as A,H as v,P as ms,A as Y,n as se}from"./@vue/runtime-core-C6bnekPw.js";import{y as j,a as _s,r as Se,n as g}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b,o as fs}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const cs={class:"prescription-list"},gs={class:"pl-toolbar"},bs={class:"pl-toolbar__line"},vs={class:"pl-toolbar__line pl-toolbar__line--second"},ys={class:"pl-toolbar__actions"},xs={class:"pl-table-head"},Vs={class:"flex items-center gap-2"},ks={class:"mt-3"},hs={class:"font-medium"},ws={class:"text-xs text-gray-400 mt-0.5"},Ss={key:1,class:"text-gray-400 text-sm"},Cs={class:"font-medium"},Ns={class:"text-xs text-gray-500 mt-0.5"},Us={class:"flex flex-col gap-1"},Ps={class:"flex flex-wrap items-center gap-1"},$s={key:0,class:"text-xs text-gray-500"},Es=["title"],Ds={key:1,class:"text-gray-400"},Rs={class:"font-medium"},Os={class:"text-xs text-gray-500 mt-0.5"},As={class:"text-sm"},Ls={class:"flex mt-2 justify-end"},zs={key:0,class:"rx-wrap"},Ts={class:"rx-toolbar"},Is={key:0,class:"rx-status rx-status-danger"},Fs={key:1,class:"rx-status rx-status-danger"},js={key:0,class:"mt-1"},Ms={key:2,class:"rx-status rx-status-danger"},Hs={key:0,class:"mt-1"},qs={key:4,class:"rx-audit"},Ws={key:0},Bs={key:0,class:"ml-2 text-gray-400"},Ys={key:1,class:"mt-1"},Gs={class:"text-sm mt-1"},Ks={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},Js={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},Qs={class:"text-xs text-gray-400"},Xs={class:"w-full"},Zs={class:"flex flex-wrap items-center gap-2"},en={key:0,class:"flex items-center gap-2 flex-wrap mt-2 text-xs text-[var(--el-color-danger)]"},tn={class:"herb-formula-block mt-3"},an={class:"herb-formula-block__head"},ln={key:1,class:"text-gray-400 text-xs"},sn={class:"herb-formula-block mt-4"},nn={class:"herb-formula-block__head"},on={key:1,class:"text-gray-400 text-xs"},rn={class:"text-sm mt-1 leading-relaxed"},un={key:0,class:"mb-1.5"},dn={class:"font-mono text-primary"},pn={class:"mb-1.5"},mn={class:"whitespace-pre-wrap"},_n={key:1,class:"text-gray-600"},fn={class:"signature-pad-wrap"},cn={class:"signature-actions"},gn={class:"text-gray-700"},bn={class:"create-order-dialog__inner"},vn={key:0,class:"create-order-rx-card"},yn={class:"create-order-rx-card__head"},xn={class:"create-order-rx-card__meta"},Vn={class:"create-order-rx-card__id"},kn={key:0,class:"create-order-rx-card__sn"},hn={class:"create-order-rx-card__patient"},wn={class:"create-order-step-lead"},Sn={class:"create-order-step-panel"},Cn={class:"create-order-step-panel"},Nn={class:"flex items-center gap-1 w-full"},Un={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Pn={class:"flex items-center justify-between"},$n={class:"font-medium text-[13px] text-gray-800"},En={class:"text-orange-500 font-medium ml-4"},Dn={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Rn={class:"truncate pr-2"},On={class:"shrink-0"},An={class:"create-order-pay-hint text-gray-500"},Ln={class:"text-amber-600 font-medium"},zn={class:"create-order-step-panel"},Tn={class:"create-order-deposit-bar__cell"},In={class:"create-order-deposit-bar__sub"},Fn={class:"create-order-deposit-bar__cell"},jn={class:"create-order-deposit-bar__sub"},Mn={class:"create-order-footer"},Hn={class:"create-order-footer__hint"},qn={class:"create-order-footer__step"},Wn={key:0,class:"create-order-footer__warn"},Bn={class:"create-order-footer__actions"},Yn={class:"mb-4 flex gap-3"},Gn={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Kn={key:0},Jn={key:1,class:"text-gray-400"},Qn={class:"flex justify-end mt-4"},Xn={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Zn=Tt({name:"prescriptionList"}),eo=Tt({...Zn,setup(to){const It=ms(()=>il(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103])));function Ce(a="浓缩水丸"){return a==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:a==="浓缩水丸"?{dosage_amount:5,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:{dosage_amount:1,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}}function Ft(a,e){const o=Ce(e);if(!a||typeof a!="object")return{...o};const r=a;return{dosage_amount:r.dosage_amount!==null&&r.dosage_amount!==void 0&&r.dosage_amount!==""?Number(r.dosage_amount):o.dosage_amount,dosage_bag_count:r.dosage_bag_count!=null?Number(r.dosage_bag_count)||1:o.dosage_bag_count,need_decoction:r.need_decoction===1||r.need_decoction===!0,bags_per_dose:r.bags_per_dose!=null?Number(r.bags_per_dose)||1:o.bags_per_dose,times_per_day:r.times_per_day!=null?Number(r.times_per_day)||3:o.times_per_day,usage_days:r.usage_days!=null?Number(r.usage_days)||7:o.usage_days,prescription_name:String(r.prescription_name??"").trim()}}function J(a){return a==="辅方"?"辅方":"主方"}function Te(a){const e={name:String((a==null?void 0:a.name)??"").trim(),dosage:Number(a==null?void 0:a.dosage)||0,formula_type:J(a==null?void 0:a.formula_type)},o=Number((a==null?void 0:a.medicine_id)??(a==null?void 0:a.id)??0);return Number.isInteger(o)&&o>0&&(e.medicine_id=o),((a==null?void 0:a.locked)===!0||(a==null?void 0:a.locked)===1)&&(e.locked=!0),e}function Ie(a){return a?Array.isArray(a)?a.map(e=>Te(e)):[]:[]}const de=zl(),mt=rs();function jt(){const a=mt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});a!=null&&a.path?mt.push(a.path):w.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const S=Se({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),Fe=g([]),G=g("all"),Q=g(!1),D=g("add"),je=g(!1),ee=g(),K=g(),pe=g(null),ne=560,oe=168,k=g(null),Me=g(!1),_t=g([]),me=g(!1),ft=g(0),ie=g(""),Ne=g(!1),_e=g(!1),He=g(!1),qe=g(),$=Se({id:0,patient_name:"",gender:1,phone:""}),Mt={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function Ht(a){$.id=Number(a.id)||0,$.patient_name=String(a.patient_name??"").trim();const e=Number(a.gender);$.gender=e===0||e===1?e:1,$.phone=String(a.phone??"").trim(),_e.value=!0}function qt(){var a;$.id=0,$.patient_name="",$.gender=1,$.phone="",(a=qe.value)==null||a.clearValidate()}async function Wt(){const a=qe.value;if(a){try{await a.validate()}catch{return}He.value=!0;try{await Ml({id:$.id,patient_name:$.patient_name.trim(),phone:$.phone.trim(),gender:$.gender}),w.msgSuccess("已保存"),_e.value=!1,te()}catch(e){const o=e&&typeof e=="object"&&"msg"in e?String(e.msg):"";w.msgError(o||"保存失败")}finally{He.value=!1}}}const fe=g(!1),R=g(0),Bt=Y(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][R.value]??""),Yt=["patient_id","recipient_name","recipient_phone","region","shipping_address"],B=g(null),ce=g(),We=g(!1),Be=g(!1),X=g([]),re=g([]),Ye=g(!1),E=g(0);function ue(a){const e=Number(a);return Number.isNaN(e)?"—":e.toFixed(2)}function ct(a){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(a)]||"未知"}const p=Se({patient_id:"",recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",ship_mode:"gancao",fee_type:3,amount:0,internal_cost:void 0,remark_extra:"",remark_assistant:"",pay_order_ids:[]}),Gt=Y(()=>ts(["tcm.prescriptionOrder/setShipMode"])),ge=g([]),Ge=g([]),Kt=a=>a.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(r=>{var m;return{name:r.city,code:r.code,children:((m=r.areas)==null?void 0:m.map(u=>({name:u.area,code:u.code})))||[]}}))||[]}}),Jt=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const o=await e.json();console.log("加载的数据条数:",o==null?void 0:o.length),ge.value=Kt(o),console.log("regionOptions 已设置,条数:",ge.value.length)}catch(a){console.error("加载省市区数据失败:",a),ge.value=[{name:"四川省",children:[{name:"成都市",children:[{name:"锦江区"},{name:"青羊区"},{name:"金牛区"},{name:"武侯区"},{name:"成华区"},{name:"龙泉驿区"},{name:"青白江区"},{name:"新都区"},{name:"温江区"},{name:"双流区"}]},{name:"绵阳市",children:[{name:"涪城区"},{name:"游仙区"},{name:"安州区"}]}]},{name:"北京市",children:[{name:"北京市",children:[{name:"东城区"},{name:"西城区"},{name:"朝阳区"},{name:"丰台区"},{name:"海淀区"}]}]},{name:"上海市",children:[{name:"上海市",children:[{name:"黄浦区"},{name:"徐汇区"},{name:"长宁区"},{name:"静安区"},{name:"普陀区"}]}]},{name:"广东省",children:[{name:"广州市",children:[{name:"荔湾区"},{name:"越秀区"},{name:"海珠区"},{name:"天河区"},{name:"白云区"}]},{name:"深圳市",children:[{name:"罗湖区"},{name:"福田区"},{name:"南山区"},{name:"宝安区"}]}]}],console.log("使用后备数据,条数:",ge.value.length)}},Qt=async()=>{try{const a=await Il({type:"server_order"});Ge.value=((a==null?void 0:a.server_order)||[]).filter(e=>e.status!==0)}catch{Ge.value=[]}},Xt=a=>{console.log("选择的省市区:",a)},Ke=Y(()=>{const a=new Set(p.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of re.value)a.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),Zt=Y(()=>{const a=E.value;return a>0?Math.round(a*100)/100:0}),ea=Y(()=>{const a={patient_id:[{required:!0,message:"请选择诊单患者",trigger:"change"}],recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,o,r)=>{const m=E.value,u=Number(o);if(m>0&&(!Number.isFinite(u)||u0){const e=`已开启关联支付门槛(¥${ue(E.value)}),请至少选择一笔支付单`;a.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return a});function gt(){var a;R.value=0,p.patient_id="",p.recipient_name="",p.recipient_phone="",p.shipping_address="",p.is_follow_up=0,p.medication_days=void 0,p.prev_staff="",p.service_channel="",p.service_package=[],p.express_company="auto",p.tracking_number="",p.ship_mode="gancao",p.fee_type=3,p.amount=0,p.internal_cost=void 0,p.remark_extra="",p.remark_assistant="",p.pay_order_ids=[],X.value=[],re.value=[],E.value=0,B.value=null,(a=ce.value)==null||a.clearValidate()}function ta(){const a=E.value;if(a<=0)return;const e=Math.round(a*100)/100;Number(p.amount)p.patient_id,()=>{p.pay_order_ids=[],bt()});async function aa(a){var m;if(Number(a==null?void 0:a.void_status)===1){w.msgWarning("已作废处方不可创建业务订单");return}gt(),B.value=a;const e=Number(a.diagnosis_id)||0;e>0&&(p.patient_id=e,p.recipient_name=a.patient_name||"",p.recipient_phone=String(a.phone||"").trim(),X.value=[{id:e,patient_name:a.patient_name||"",phone:String(a.phone||"").trim()}]);const o=Number(a.usage_days);o>0&&(p.medication_days=o),fe.value=!0,bt();const r=a.id;if(r&&!p.recipient_phone)try{const u=await pt({id:r}),i=u&&typeof u.phone=="string"?u.phone.trim():"";if(i&&((m=B.value)==null?void 0:m.id)===r){p.recipient_phone=i;const x=X.value[0];x&&Number(x.id)===e&&(x.phone=i)}}catch{}}async function la(a){if(!a){X.value=[];return}try{Be.value=!0;const e=await searchPatientsAPI({keyword:a,page_no:1,page_size:10});X.value=(e==null?void 0:e.lists)||[]}catch{X.value=[]}finally{Be.value=!1}}function sa(a){const e=X.value.find(o=>Number(o.id)===Number(a));e&&(p.recipient_name=e.patient_name||"",p.recipient_phone=e.phone||"")}function na(){R.value>0&&(R.value-=1)}async function oa(){const a=ce.value;if(a)try{R.value===0?await a.validateField([...Yt]):R.value===1&&E.value>0&&await a.validateField(["pay_order_ids"]),R.value<2&&(R.value+=1)}catch{}}async function ia(){if(!(!ce.value||!B.value)&&R.value===2)try{await ce.value.validate(),We.value=!0;const a=Number(p.patient_id),e={prescription_id:B.value.id,diagnosis_id:a,recipient_name:p.recipient_name,recipient_phone:p.recipient_phone,shipping_address:p.shipping_address,is_follow_up:p.is_follow_up,prev_staff:p.prev_staff||"",service_channel:p.service_channel||"",service_package:Array.isArray(p.service_package)&&p.service_package.length>0?p.service_package.join(","):"",express_company:p.express_company||"auto",tracking_number:p.tracking_number||"",ship_mode:p.ship_mode,fee_type:p.fee_type,amount:p.amount,remark_extra:p.remark_extra||"",remark_assistant:p.remark_assistant||""};p.region&&p.region.length>=3&&(e.shipping_province=p.region[0],e.shipping_city=p.region[1],e.shipping_district=p.region[2]),p.medication_days!=null&&p.medication_days>0&&(e.medication_days=p.medication_days),p.internal_cost!=null&&p.internal_cost>0&&(e.internal_cost=p.internal_cost),p.pay_order_ids.length&&(e.pay_order_ids=[...p.pay_order_ids]);const o=await ql(e),r=(o==null?void 0:o.data)??o,m=r==null?void 0:r.order_no;w.msgSuccess(m?`业务订单已创建,单号:${m}`:"业务订单已创建"),fe.value=!1,te()}catch(a){console.error(a)}finally{We.value=!1}}const Ue=g(!1),Pe=g(!1),vt=Y(()=>{const a=Ue.value,e=Pe.value;return!a&&!e?"":a&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":a?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),ra=Y(()=>n.herbs.map((a,e)=>({herb:a,index:e})).filter(({herb:a})=>J(a.formula_type)==="主方")),yt=Y(()=>n.herbs.map((a,e)=>({herb:a,index:e})).filter(({herb:a})=>J(a.formula_type)==="辅方")),M=Y(()=>n.herbs.some(a=>a.locked===!0)),xt=g(null),Je=g(!1);function ua(){const a=xt.value;return(a==null?void 0:a.paperEl)??null}function da(){k.value&&se(()=>{try{window.print()}catch(a){console.error(a)}})}async function pa(){var e,o,r;const a=ua();if(!a){w.msgWarning("处方笺尚未渲染完成");return}Je.value=!0;try{await se(),await new Promise(z=>requestAnimationFrame(()=>z(null))),await new Promise(z=>setTimeout(z,250));const m=await us(a,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:a.scrollWidth,windowHeight:a.scrollHeight,width:a.scrollWidth,height:a.scrollHeight,onclone:(z,L)=>{L instanceof HTMLElement&&(L.querySelectorAll(".rx-notice, .rx-notice-text, .rx-notice-meta").forEach(U=>{U.style.lineHeight="1.95",U.style.overflow="visible"}),L.querySelectorAll(".rx-notice").forEach(U=>{U.style.padding="10px 12px"}),L.querySelectorAll(".rx-info-cell, .rx-info-cell .rx-key, .rx-info-cell .rx-val").forEach(U=>{U.style.lineHeight="1.95",U.style.overflow="visible"}),L.querySelectorAll(".rx-info-cell").forEach(U=>{U.style.padding="10px 12px"}),L.querySelectorAll(".rx-herb-cell").forEach(U=>{U.style.lineHeight="2.5"}),L.querySelectorAll(".rx-herbs").forEach(U=>{U.style.rowGap="12px"}),L.querySelectorAll(".rx-text").forEach(U=>{U.style.lineHeight="2.1"}),L.querySelectorAll(".rx-bot-meta-val, .rx-hospital-line, .rx-bot-cell").forEach(U=>{U.style.overflow="visible",U.style.lineHeight="1.85"}),L.querySelectorAll(".rx-hospital-row").forEach(U=>{U.style.paddingTop="12px",U.style.paddingBottom="14px"}))}}),u=m.toDataURL("image/jpeg",.95),i=new rl({unit:"mm",format:"a4",orientation:"portrait"}),x=210,H=297,y=x,le=m.height*y/m.width;if(le<=H)i.addImage(u,"JPEG",0,0,y,le);else{let z=le,L=0;for(;z>0;)i.addImage(u,"JPEG",0,L,y,le),z-=H,L-=H,z>0&&i.addPage()}const ot=((e=k.value)==null?void 0:e.patient_name)||"处方",N=((o=k.value)==null?void 0:o.id)||"",O=((r=k.value)==null?void 0:r.prescription_date)||"";i.save(`处方-${ot}${O?"-"+O:""}${N?"-"+N:""}.pdf`)}catch(m){console.error("下载处方 PDF 失败:",m),w.msgError((m==null?void 0:m.message)||"下载失败,请重试")}finally{Je.value=!1}}const n=Se({id:0,prescription_type:"浓缩水丸",dosage_amount:1,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",doctor_signature:"",is_shared:0,visible_role_ids:[],audit_status:1,audit_time:null,audit_by_name:"",audit_remark:"",diagnosis_id:0,creator_id:0,is_system_auto:0,business_prescription_audit_rejected:0,business_prescription_audit_remark:"",times_per_day:2,aux_usage:Ce("浓缩水丸")}),P=Se({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function ma(){P.loading=!1,P.orderNo="",P.medicationDays=null,P.remarkAssistant=""}async function _a(a){if(P.orderNo="",P.medicationDays=null,P.remarkAssistant="",!a){P.loading=!1;return}P.loading=!0;try{const e=await Ql({page_no:1,page_size:5,prescription_id:a}),o=e==null?void 0:e.lists,r=Array.isArray(o)&&o.length?o[0]:null;if(r){P.orderNo=String(r.order_no||"").trim();const m=r.medication_days,u=m!=null&&String(m).trim()!==""?Number(m):NaN;P.medicationDays=Number.isFinite(u)&&u>0?u:null,P.remarkAssistant=String(r.remark_assistant||"").trim()}}catch{}finally{P.loading=!1}}const Vt=g(null);function fa(){var e;const a=Number(n.diagnosis_id);if(!a){w.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=Vt.value)==null||e.openViewOnly(a)}const $e=g(!1);ze(()=>n.prescription_type,a=>{$e.value||(a==="浓缩水丸"?(n.dosage_unit="g",n.dosage_amount=1,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1):a==="饮片"?(n.dosage_unit="ml",n.dosage_amount=50,n.dosage_bag_count=1,n.bags_per_dose=1):(n.dosage_unit="g",n.dosage_amount=void 0,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1),Object.assign(n.aux_usage,Ce(a)))});const ca={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}],doctor_signature:[{required:!0,validator:(a,e,o)=>{!e||!String(e).trim()?o(new Error("请使用电子签名板手写医师签名")):o()},trigger:"change"}]};async function ga(a){const{audit_filter:e,source_filter:o,creator_ids:r,...m}=a,u={...m,audit_filter:e==="all"||e===""?"":e,source_filter:o==="all"||o===""||o===void 0?"":o};return Array.isArray(r)&&r.length>0&&(u.creator_ids=r),Wl(u)}const{pager:be,getLists:te,resetPage:ae}=es({fetchFun:ga,params:S});function kt(a){return String(a).padStart(2,"0")}function ht(a){const e=a.getFullYear(),o=kt(a.getMonth()+1),r=kt(a.getDate()),m=`${e}-${o}-${r}`;return{start:`${m} 00:00:00`,end:`${m} 23:59:59`}}function ba(a){const e=String(a??"all");if(e==="all")S.start_time="",S.end_time="";else{const o=new Date,r=new Date(o.getFullYear(),o.getMonth(),o.getDate());e==="yesterday"?r.setDate(r.getDate()-1):e==="before_yesterday"&&r.setDate(r.getDate()-2);const{start:m,end:u}=ht(r);S.start_time=m,S.end_time=u}ae()}function va(){ae()}function ya(){ae()}let Qe=!1;ze(()=>[S.start_time,S.end_time],()=>{if(Qe)return;const a=S.start_time,e=S.end_time;if(!a&&!e){G.value="all";return}if(!a||!e){G.value="";return}const o=new Date,r=m=>{const u=new Date(o.getFullYear(),o.getMonth(),o.getDate()-m),{start:i,end:x}=ht(u);return a===i&&e===x};r(0)?G.value="today":r(1)?G.value="yesterday":r(2)?G.value="before_yesterday":G.value=""});function xa(a){if(a==null||a==="")return"—";if(typeof a=="number"&&a>=1e9&&a<1e11)return Ee(a);const e=String(a).trim();return/^\d{10}$/.test(e)?Ee(parseInt(e,10)):e}function Va(){Qe=!0,G.value="all",S.sn="",S.patient_name="",S.creator_ids=[],S.audit_filter="all",S.source_filter="all",S.start_time="",S.end_time="",Qe=!1,ae()}function ka(a){return a===0?"待审核":a===2?"已驳回":"已通过"}function ha(a){return a===0?"warning":a===2?"danger":"success"}function wa(a){return Number(a.business_prescription_audit_rejected)===1?"已驳回":ka(a.audit_status)}function Sa(a){return Number(a.business_prescription_audit_rejected)===1?"danger":ha(a.audit_status)}function wt(a){const e=[];if(Number(a.business_prescription_audit_rejected)===1){const o=String(a.business_prescription_audit_remark||"").trim();e.push(o?`业务订单审核驳回意见:${o}`:"业务订单审核驳回意见:—")}if(Number(a.audit_status)===2){const o=String(a.audit_remark||"").trim();e.push(o?`消费者处方审核驳回意见:${o}`:"消费者处方审核驳回意见:—")}return e}function St(a){return Number(a.audit_status)===1&&Number(a.void_status)!==1}function Ee(a){if(!a)return"";const e=new Date(a*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function Ca(a){return a?Ee(a):"—"}function Na(a){var m;const e=n.herbs[a];if(!e)return`第${a+1}味`;const o=J(e.formula_type);let r=0;for(let u=0;u<=a;u++)J((m=n.herbs[u])==null?void 0:m.formula_type)===o&&r++;return`${o}第${r}味`}function Ua(a){if(Number(a==null?void 0:a.has_prescription_order)!==1)return[];const o=Ie(a==null?void 0:a.herbs).map(i=>String((i==null?void 0:i.name)||"").trim()).filter(Boolean),r=[];if(!o.length)return r.push("请开方,当前处方药材为空白"),r;const m=new Set,u=new Set;for(const i of o){const x=i.replace(/\s+/g,"").toLowerCase();x&&(m.has(x)?u.add(i):m.add(x))}return u.size>0&&r.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(u).join("、")}`),r}function Pa(a){return{...a,herbs:Ie(a==null?void 0:a.herbs)}}function $a(){k.value=null,pe.value=null}function Ct(a){const e=K.value;if(!e)return{x:0,y:0};const o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)return{x:0,y:0};const r=(a.clientX-o.left)/o.width*ne,m=(a.clientY-o.top)/o.height*oe;return{x:Math.max(0,Math.min(ne,r)),y:Math.max(0,Math.min(oe,m))}}function Xe(){const a=K.value;a&&(n.doctor_signature=a.toDataURL("image/png")),se(()=>{var e;(e=ee.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function Ea(a){if(a.pointerType==="mouse"&&a.button!==0)return;const e=K.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(a.pointerId),pe.value=a.pointerId;const{x:r,y:m}=Ct(a);o.beginPath(),o.moveTo(r,m)}function Da(a){var m;if(pe.value!==a.pointerId)return;const e=(m=K.value)==null?void 0:m.getContext("2d");if(!e)return;const{x:o,y:r}=Ct(a);e.lineTo(o,r),e.stroke(),e.beginPath(),e.moveTo(o,r)}function Nt(a){if(pe.value!==a.pointerId)return;pe.value=null;const e=K.value;if(e)try{e.releasePointerCapture(a.pointerId)}catch{}Xe()}function Ra(){Ut(),n.doctor_signature="",se(()=>{var a;(a=ee.value)==null||a.validateField("doctor_signature").catch(()=>{})})}function Ut(){const a=K.value;if(!a)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);a.style.width=`${ne}px`,a.style.height=`${oe}px`,a.width=Math.round(ne*e),a.height=Math.round(oe*e);const o=a.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(e,e),o.fillStyle="#fff",o.fillRect(0,0,ne,oe),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")}function Pt(){D.value!=="view"&&se(()=>{setTimeout(()=>{Ut();const a=n.doctor_signature;if(a&&String(a).trim().startsWith("data:image")&&K.value){const e=new Image;e.onload=()=>{const o=K.value,r=o==null?void 0:o.getContext("2d");!o||!r||(r.drawImage(e,0,0,ne,oe),Xe())},e.onerror=()=>{Xe()},e.src=a}},100)})}function Oa(a){const e=a==null?void 0:a.visible_role_ids;return Array.isArray(e)?e.map(o=>Number(o)).filter(o=>!Number.isNaN(o)):typeof e=="string"&&e?e.split(",").map(o=>parseInt(o.trim(),10)).filter(o=>!Number.isNaN(o)):[]}function Aa(a){ft.value=a.id,ie.value="",me.value=!0}async function $t(a){if(a==="reject"&&!ie.value.trim()){w.msgError("驳回时请填写审核意见");return}Ne.value=!0;try{const e=await Bl({id:ft.value,action:a,remark:ie.value.trim()});w.msgSuccess(a==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&w.msgWarning(e.wecom_notify_hint),me.value=!1,te()}catch{}finally{Ne.value=!1}}async function La(){try{const a=await Zl({});_t.value=Array.isArray(a)?a:[]}catch{_t.value=[]}}const ve=g(!1),Ze=g(!1),et=g([]),De=g(""),Re=g(""),ye=g("replace"),xe=g(1),tt=g(15),at=g(0),Et=Y(()=>{var o;const a=Number(n.creator_id);if(a>0)return a;const e=Number((o=de.userInfo)==null?void 0:o.id);return e>0?e:0});function za(a){return String(a||"").trim().toLowerCase()}function Dt(){const a=new Map;for(const e of n.herbs){const o=za(e==null?void 0:e.name);o&&a.set(o,(a.get(o)??0)+1)}return[...a.entries()].filter(([,e])=>e>1).map(([e])=>e)}const Oe=async()=>{const a=Et.value;if(!a){w.msgWarning("无法确定开方医师,无法加载处方库"),et.value=[],at.value=0;return}Ze.value=!0;try{const e=await Yl({page_no:xe.value,page_size:tt.value,prescription_name:De.value,formula_type:Re.value,prescribing_creator_id:a});et.value=(e==null?void 0:e.lists)||[],at.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),w.msgError("加载处方库失败")}finally{Ze.value=!1}},Ae=()=>{xe.value=1,Oe()},Ta=()=>{if(!Et.value){w.msgWarning("无法确定开方医师,无法从处方库导入");return}ve.value=!0},Ia=a=>{Rt(a)},Rt=a=>{if(!a.herbs||a.herbs.length===0){w.msgWarning("该处方没有药材信息");return}const e=J(a.formula_type),o=Number(a==null?void 0:a.disable_edit)===1,r=JSON.parse(JSON.stringify(a.herbs)).map(u=>{const i=Te(u);return i.formula_type=e,o?i.locked=!0:delete i.locked,i});if(ye.value==="replace"){const u=n.herbs.filter(i=>J(i.formula_type)!==e);n.herbs=[...u,...r]}else n.herbs.push(...r);e==="辅方"&&(n.aux_usage.prescription_name=String(a.prescription_name??"").trim());const m=ye.value==="append"?"(已追加)":"";Dt().length?w.msgWarning(`已导入处方「${a.prescription_name}」${m},共${r.length}味药材。存在重复药名,请合并剂量或删除多余行`):w.msgSuccess(`已导入处方「${a.prescription_name}」${m},共${r.length}味药材`),ve.value=!1};ze(ve,a=>{a&&(De.value="",Re.value="",ye.value="replace",xe.value=1,Oe())});const Ve=g(!1),ke=g(""),lt=g("replace"),st=g(!1),Fa=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function ja(a){let e=a.replace(/\r\n/g,` `).replace(/\r/g,` `);return e=e.replace(/[0-9]/g,o=>String.fromCharCode(o.charCodeAt(0)-65296+48)),e.trim()}function Ma(a){return a.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function nt(a){return a.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Ot(a){const e=a.trim();if(!e||Fa.test(e)||/^\d/.test(e)||/^\d+\s*剂$/.test(e))return null;const o=e.match(/^(.+)\s*各\s*(\d+(?:\.\d+)?)\s*(?:克|g|G)?$/i);if(o){const u=parseFloat(o[2]);if(!Number.isFinite(u)||u<=0)return null;const i=o[1].split(/[、,,\s]+/).map(x=>x.trim()).filter(Boolean);return i.length?i.map(x=>({name:nt(x),dosage:u})):null}const r=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(r){const u=nt(r[1].trim()),i=parseFloat(r[2]);return!u||!Number.isFinite(i)||i<=0?null:[{name:u,dosage:i}]}const m=nt(e);return m.length>=2&&m.length<=16?[{name:m,dosage:6}]:null}function Ha(a){const e=Ma(ja(a)),o=[];for(const r of e.split(/\n+/)){const m=r.trim();if(m)for(const u of m.split(/[、,,;;]/)){const i=u.trim();if(i)if(/\s/.test(i)&&!Ot(i)){const x=i.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const H of x){const y=H.trim();y&&o.push(y)}}else o.push(i)}}return o}function qa(a){const e=[];for(const o of Ha(a)){const r=Ot(o);r&&e.push(...r)}return e}async function Wa(a){const e=a.trim();if(!e)return null;try{const m=((await Xl({name:e,page_no:1,page_size:200,status:1})).lists||[]).filter(u=>(u.name??"").trim()===e);return m.length===1?{medicine_id:Number(m[0].id),name:m[0].name.trim()}:null}catch{return null}}function Ba(){Ve.value=!0}async function Ya(){const a=qa(ke.value);if(!a.length){w.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}st.value=!0;try{const e=[],o=[];for(const i of a){const x=await Wa(i.name);if(!x){o.push(i.name.trim());continue}e.push({...x,dosage:i.dosage,formula_type:"主方"})}const r=[...new Set(o.filter(Boolean))];if(e.length===0){w.msgWarning(r.length?`药品库中无以下完全同名药材,未录入:${r.join("、")}`:"未能匹配到药品库中的药材");return}if(lt.value==="replace"){const i=n.herbs.filter(x=>J(x.formula_type)==="辅方");n.herbs=[...i,...e]}else n.herbs.push(...e);const m=Dt(),u=r.length>0?`;药品库未收录已跳过:${r.join("、")}`:"";m.length?w.msgWarning(`已导入 ${e.length} 味药材${u}。存在重复药名:${m.join("、")},请合并剂量或删除多余行`):r.length?w.msgSuccess(`已导入 ${e.length} 味药材${u},请核对剂量`):w.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),Ve.value=!1,ke.value=""}finally{st.value=!1}}const At=(a="主方")=>{if(M.value){w.msgWarning("该处方含「禁用修改」模板,药材已锁定,请重新从处方库导入覆盖");return}n.herbs.push({name:"",dosage:0,formula_type:a})},Lt=a=>{if(M.value){w.msgWarning("该处方含「禁用修改」模板,药材已锁定,不可删除");return}n.herbs.splice(a,1)},Ga=()=>{var a;n.id=0,n.prescription_type="浓缩水丸",n.dosage_amount=1,n.dosage_unit="g",n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1,n.patient_name="",n.gender=1,n.age=0,n.visit_no="",n.prescription_date=new Date().toISOString().split("T")[0],n.tongue="",n.tongue_image="",n.pulse="",n.pulse_condition="",n.clinical_diagnosis="",n.herbs=[],n.dose_count=7,n.dose_unit="剂",n.usage_days=7,n.usage_instruction="",n.usage_time="饭后",n.usage_way="温水送服",n.dietary_taboo=[],n.usage_notes="",n.doctor_name="",n.doctor_signature="",n.is_shared=0,n.visible_role_ids=[],n.audit_status=1,n.audit_time=null,n.audit_by_name="",n.audit_remark="",n.diagnosis_id=0,n.creator_id=Number((a=de.userInfo)==null?void 0:a.id)||0,n.is_system_auto=0,n.business_prescription_audit_rejected=0,n.business_prescription_audit_remark="",n.times_per_day=2,Object.assign(n.aux_usage,Ce("浓缩水丸")),ma()},Ka=()=>{var a;Ga(),n.doctor_name=String(((a=de.userInfo)==null?void 0:a.name)||""),Ue.value=!1,Pe.value=!1,D.value="add",$e.value=!1,Q.value=!0,se(()=>{var e;(e=ee.value)==null||e.clearValidate(),Pt()})},Ja=async a=>{Ue.value=!1,Pe.value=!1,D.value="view",k.value=Pa(a),Q.value=!0,Me.value=!0;try{const e=await pt({id:a.id});e&&typeof e=="object"&&(k.value={...e,herbs:Ie(e.herbs)})}catch(e){w.msgError((e==null?void 0:e.msg)||"加载处方详情失败")}finally{Me.value=!1}},Qa=async a=>{Ue.value=Number(a.void_status)===1,Pe.value=Number(a.audit_status)===2,D.value="edit",$e.value=!0;let e=a;if(a!=null&&a.id&&!a.doctor_signature)try{const o=await pt({id:a.id});o&&typeof o=="object"&&(e={...a,...o})}catch{}n.id=e.id,n.prescription_type=e.prescription_type||"浓缩水丸",e.dosage_amount!==null&&e.dosage_amount!==void 0&&e.dosage_amount!==""?n.dosage_amount=Number(e.dosage_amount):n.dosage_amount=void 0,e.dosage_unit?n.dosage_unit=e.dosage_unit:n.prescription_type==="饮片"?n.dosage_unit="ml":n.dosage_unit="g",n.dosage_bag_count=e.dosage_bag_count?Number(e.dosage_bag_count):1,n.need_decoction=e.need_decoction===1||e.need_decoction===!0,n.bags_per_dose=e.bags_per_dose?Number(e.bags_per_dose):1,n.patient_name=e.patient_name||"",n.gender=e.gender??1,n.age=e.age??0,n.visit_no=e.visit_no||"",n.prescription_date=e.prescription_date||"",n.tongue=e.tongue||"",n.tongue_image=e.tongue_image||"",n.pulse=e.pulse||"",n.pulse_condition=e.pulse_condition||"",n.clinical_diagnosis=e.clinical_diagnosis||"",n.herbs=e.herbs?e.herbs.map(o=>Te(o)):[],n.dose_count=e.dose_count??7,n.dose_unit=e.dose_unit||"剂",n.usage_days=e.usage_days??7,n.times_per_day=e.times_per_day??2,n.usage_instruction=e.usage_instruction||"",n.usage_time=e.usage_time||"饭后",n.usage_way=e.usage_way||"温水送服",n.dietary_taboo=e.dietary_taboo?Array.isArray(e.dietary_taboo)?e.dietary_taboo:String(e.dietary_taboo).split(",").filter(o=>o):[],n.usage_notes=e.usage_notes||"",n.doctor_name=e.doctor_name||"",n.doctor_signature=String(e.doctor_signature||""),n.is_shared=e.is_shared??0,n.visible_role_ids=Oa(e),n.audit_status=e.audit_status??1,n.audit_time=e.audit_time??null,n.audit_by_name=e.audit_by_name||"",n.audit_remark=e.audit_remark||"",n.diagnosis_id=e.diagnosis_id??0,n.creator_id=Number(e.creator_id)>0?Number(e.creator_id):0,n.is_system_auto=Number(e.is_system_auto)===1?1:0,n.business_prescription_audit_rejected=Number(e.business_prescription_audit_rejected)===1?1:0,n.business_prescription_audit_remark=String(e.business_prescription_audit_remark||""),Object.assign(n.aux_usage,Ft(e.aux_usage,n.prescription_type)),setTimeout(()=>{$e.value=!1},0),Q.value=!0,_a(Number(n.id)),se(()=>{var o;(o=ee.value)==null||o.clearValidate(),Pt()})},Xa=async()=>{if(ee.value){try{await ee.value.validate()}catch{return}if(!n.herbs||n.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let a=0;a{await w.confirm("确定要删除该处方吗?"),await Jl({id:a}),w.msgSuccess("删除成功"),te()};return ds(async()=>{var a;await La(),await Jt(),await Qt();try{const e=await jl();Fe.value=Array.isArray(e)?e:[]}catch{Fe.value=[]}try{(a=de.userInfo)!=null&&a.id||await de.getUserInfo()}catch{}te()}),(a,e)=>{const o=dl,r=ul,m=_l,u=ml,i=cl,x=fl,H=pl,y=gl,le=bl,ot=Tl,N=xl,O=Vl,z=yl,L=Ll,U=kl,V=wl,q=hl,F=Sl,T=Cl,el=Nl,tl=Ul,he=Pl,it=El,al=$l,ll=Dl,sl=Rl,nl=Ol,ol=Al,W=ps("perms"),Le=vl;return _(),h("div",cs,[t(le,{class:"filter-toolbar",shadow:"never","body-style":{padding:"10px 14px"}},{default:s(()=>[d("div",gs,[d("div",bs,[e[102]||(e[102]=d("span",{class:"pl-toolbar__k",title:"按处方创建时间"},"创建时间",-1)),t(r,{modelValue:G.value,"onUpdate:modelValue":e[0]||(e[0]=l=>G.value=l),size:"small",class:"pl-toolbar__rg",onChange:ba},{default:s(()=>[t(o,{label:"all"},{default:s(()=>[...e[90]||(e[90]=[f("全部",-1)])]),_:1}),t(o,{label:"today"},{default:s(()=>[...e[91]||(e[91]=[f("今日",-1)])]),_:1}),t(o,{label:"yesterday"},{default:s(()=>[...e[92]||(e[92]=[f("昨日",-1)])]),_:1}),t(o,{label:"before_yesterday"},{default:s(()=>[...e[93]||(e[93]=[f("前天",-1)])]),_:1})]),_:1},8,["modelValue"]),t(as,{class:"pl-toolbar__range",startTime:S.start_time,"onUpdate:startTime":e[1]||(e[1]=l=>S.start_time=l),endTime:S.end_time,"onUpdate:endTime":e[2]||(e[2]=l=>S.end_time=l)},null,8,["startTime","endTime"]),e[103]||(e[103]=d("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[104]||(e[104]=d("span",{class:"pl-toolbar__k",title:"「未通过」含待审核与已驳回"},"审核",-1)),t(r,{modelValue:S.audit_filter,"onUpdate:modelValue":e[3]||(e[3]=l=>S.audit_filter=l),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--audit",onChange:va},{default:s(()=>[t(o,{label:"pending",class:"pl-audit-pending-btn"},{default:s(()=>[...e[94]||(e[94]=[f("待审核",-1)])]),_:1}),t(o,{label:"all"},{default:s(()=>[...e[95]||(e[95]=[f("全部",-1)])]),_:1}),t(o,{label:"passed"},{default:s(()=>[...e[96]||(e[96]=[f("已通过",-1)])]),_:1}),t(o,{label:"not_passed"},{default:s(()=>[...e[97]||(e[97]=[f("未通过",-1)])]),_:1}),t(o,{label:"rejected"},{default:s(()=>[...e[98]||(e[98]=[f("驳回",-1)])]),_:1})]),_:1},8,["modelValue"]),e[105]||(e[105]=d("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[106]||(e[106]=d("span",{class:"pl-toolbar__k",title:"与列表「来源」列一致:空白处方 / 手工"},"来源",-1)),t(r,{modelValue:S.source_filter,"onUpdate:modelValue":e[4]||(e[4]=l=>S.source_filter=l),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--source",onChange:ya},{default:s(()=>[t(o,{label:"all"},{default:s(()=>[...e[99]||(e[99]=[f("全部",-1)])]),_:1}),t(o,{label:"manual"},{default:s(()=>[...e[100]||(e[100]=[f("手工",-1)])]),_:1}),t(o,{label:"system"},{default:s(()=>[...e[101]||(e[101]=[f("空白处方",-1)])]),_:1})]),_:1},8,["modelValue"])]),d("div",vs,[t(H,{model:S,inline:"",class:"pl-toolbar__form"},{default:s(()=>[t(u,{label:"处方编号",class:"!mb-0"},{default:s(()=>[t(m,{modelValue:S.sn,"onUpdate:modelValue":e[5]||(e[5]=l=>S.sn=l),placeholder:"编号",clearable:"",class:"pl-toolbar__input",onKeyup:ut(j(ae),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(u,{label:"患者",class:"!mb-0"},{default:s(()=>[t(m,{modelValue:S.patient_name,"onUpdate:modelValue":e[6]||(e[6]=l=>S.patient_name=l),placeholder:"姓名",clearable:"",class:"pl-toolbar__input",onKeyup:ut(j(ae),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(u,{label:"医师",class:"!mb-0"},{default:s(()=>[t(x,{modelValue:S.creator_ids,"onUpdate:modelValue":e[7]||(e[7]=l=>S.creator_ids=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"",clearable:"",placeholder:"全部医师",class:"pl-toolbar__select pl-toolbar__select--doctors"},{default:s(()=>[(_(!0),h(I,null,Z(Fe.value,l=>(_(),c(i,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),d("div",ys,[t(y,{type:"primary",onClick:j(ae)},{default:s(()=>[...e[107]||(e[107]=[f("查询",-1)])]),_:1},8,["onClick"]),t(y,{onClick:Va},{default:s(()=>[...e[108]||(e[108]=[f("重置",-1)])]),_:1})])])])]),_:1}),A((_(),c(le,{class:"mt-3 table-card",shadow:"never"},{default:s(()=>[d("div",xs,[e[111]||(e[111]=d("span",{class:"pl-table-head__title"},"处方列表",-1)),d("div",Vs,[A((_(),c(y,{onClick:jt},{default:s(()=>[...e[109]||(e[109]=[f(" 业务订单 ",-1)])]),_:1})),[[W,["tcm.prescriptionOrder/lists"]]]),A((_(),c(y,{type:"primary",onClick:Ka},{icon:s(()=>[t(ot,{name:"el-icon-Plus"})]),default:s(()=>[e[110]||(e[110]=f(" 新增处方 ",-1))]),_:1})),[[W,["cf.prescription/add"]]])])]),d("div",ks,[t(z,{data:j(be).lists,size:"default",stripe:""},{default:s(()=>[t(N,{label:"处方编号","min-width":"160"},{default:s(({row:l})=>[d("span",hs,b(l.sn||"—"),1),d("div",ws,"ID: "+b(l.id),1),(_(!0),h(I,null,Z(Ua(l),(C,rt)=>(_(),h("div",{key:`rx-order-warn-${l.id}-${rt}`,class:"text-xs text-red-600 mt-0.5 leading-snug"},b(C),1))),128))]),_:1}),t(N,{label:"处方类型","min-width":"100"},{default:s(({row:l})=>[t(O,{type:"info",size:"small"},{default:s(()=>[f(b(l.prescription_type||"—"),1)]),_:2},1024)]),_:1}),t(N,{label:"来源","min-width":"92",align:"center"},{default:s(({row:l})=>[Number(l.is_system_auto)===1?(_(),c(O,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[112]||(e[112]=[f(" 空白处方 ",-1)])]),_:1})):(_(),h("span",Ss,"手工"))]),_:1}),t(N,{label:"患者信息","min-width":"110"},{default:s(({row:l})=>[d("div",Cs,b(l.patient_name||"—"),1),d("div",Ns,b(l.gender===1?"男":l.gender===0?"女":"未知")+" · "+b(l.age?l.age+"岁":"—"),1)]),_:1}),t(N,{label:"审核状态","min-width":"200"},{default:s(({row:l})=>[d("div",Us,[d("div",Ps,[t(O,{type:Sa(l)},{default:s(()=>[f(b(wa(l)),1)]),_:2},1032,["type"]),Number(l.business_prescription_audit_rejected)===1?(_(),h("span",$s," (业务订单审核) ")):v("",!0)]),wt(l).length?(_(!0),h(I,{key:0},Z(wt(l),(C,rt)=>(_(),h("div",{key:rt,class:"text-xs text-red-600 leading-snug line-clamp-3",title:C},b(C),9,Es))),128)):v("",!0)])]),_:1}),t(N,{label:"作废","min-width":"80",align:"center"},{default:s(({row:l})=>[l.void_status===1?(_(),c(O,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[113]||(e[113]=[f("作废",-1)])]),_:1})):(_(),h("span",Ds,"—"))]),_:1}),t(N,{label:"医师信息","min-width":"120"},{default:s(({row:l})=>[d("div",Rs,b(l.doctor_name||"—"),1),d("div",Os,b(l.prescription_date||"—"),1)]),_:1}),t(N,{label:"医助","min-width":"90"},{default:s(({row:l})=>[d("div",As,b(l.assistant_name||"—"),1)]),_:1}),t(N,{label:"创建时间","min-width":"160"},{default:s(({row:l})=>[f(b(xa(l.create_time)),1)]),_:1}),t(N,{label:"操作",width:"300",fixed:"right"},{default:s(({row:l})=>[A((_(),c(y,{type:"primary",link:"",onClick:C=>Ja(l)},{default:s(()=>[...e[114]||(e[114]=[f(" 查看 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/read"]]]),Number(l.void_status)!==1?A((_(),c(y,{key:0,type:"primary",link:"",onClick:C=>Ht(l)},{default:s(()=>[...e[115]||(e[115]=[f(" 改姓名手机 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescription/patchPatient"]]]):v("",!0),!Number(l.has_prescription_order)&&Number(l.void_status)!==1?A((_(),c(y,{key:1,type:"success",link:"",onClick:C=>aa(l)},{default:s(()=>[...e[116]||(e[116]=[f(" 创建订单 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescriptionOrder/create"]]]):v("",!0),St(l)?v("",!0):A((_(),c(y,{key:2,type:"primary",link:"",onClick:C=>Qa(l)},{default:s(()=>[...e[117]||(e[117]=[f(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/edit"]]]),l.audit_status===0&&l.void_status!==1?A((_(),c(y,{key:3,type:"warning",link:"",onClick:C=>Aa(l)},{default:s(()=>[...e[118]||(e[118]=[f(" 审核 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/audit"]]]):v("",!0),St(l)?v("",!0):A((_(),c(y,{key:4,type:"danger",link:"",onClick:C=>Za(l.id)},{default:s(()=>[...e[119]||(e[119]=[f(" 删除 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/del"]]])]),_:1})]),_:1},8,["data"])]),d("div",Ls,[t(L,{modelValue:j(be),"onUpdate:modelValue":e[8]||(e[8]=l=>_s(be)?be.value=l:null),onChange:j(te)},null,8,["modelValue","onChange"])])]),_:1})),[[Le,j(be).loading]]),t(tl,{modelValue:Q.value,"onUpdate:modelValue":e[48]||(e[48]=l=>Q.value=l),title:D.value==="add"?"新增处方":D.value==="edit"?"编辑处方":"查看处方",size:D.value==="view"?"920px":"860px",class:"cf-prescription-drawer","close-on-click-modal":!1,"destroy-on-close":"",onClosed:$a},{footer:s(()=>[D.value==="view"?(_(),c(y,{key:0,onClick:e[46]||(e[46]=l=>Q.value=!1)},{default:s(()=>[...e[162]||(e[162]=[f("关闭",-1)])]),_:1})):(_(),h(I,{key:1},[t(y,{onClick:e[47]||(e[47]=l=>Q.value=!1)},{default:s(()=>[...e[163]||(e[163]=[f("取消",-1)])]),_:1}),t(y,{type:"primary",onClick:Xa,loading:je.value},{default:s(()=>[...e[164]||(e[164]=[f(" 确定 ",-1)])]),_:1},8,["loading"])],64))]),default:s(()=>[D.value==="view"?A((_(),h("div",zs,[d("div",Ts,[k.value&&Number(k.value.is_system_auto)===1?(_(),c(O,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[120]||(e[120]=[f("空白处方",-1)])]),_:1})):v("",!0),k.value&&Number(k.value.void_status)===1?(_(),c(O,{key:1,type:"danger",size:"small"},{default:s(()=>[...e[121]||(e[121]=[f("已作废",-1)])]),_:1})):k.value&&Number(k.value.business_prescription_audit_rejected)===1?(_(),c(O,{key:2,type:"danger",size:"small"},{default:s(()=>[...e[122]||(e[122]=[f("业务订单已驳回",-1)])]),_:1})):k.value&&Number(k.value.audit_status)===1?(_(),c(O,{key:3,type:"success",size:"small"},{default:s(()=>[...e[123]||(e[123]=[f("已通过",-1)])]),_:1})):k.value&&Number(k.value.audit_status)===0?(_(),c(O,{key:4,type:"warning",size:"small"},{default:s(()=>[...e[124]||(e[124]=[f("待审核",-1)])]),_:1})):k.value?(_(),c(O,{key:5,type:"danger",size:"small"},{default:s(()=>[...e[125]||(e[125]=[f("已驳回",-1)])]),_:1})):v("",!0),e[128]||(e[128]=d("div",{class:"flex-1"},null,-1)),t(y,{icon:j(ss),size:"small",onClick:da},{default:s(()=>[...e[126]||(e[126]=[f("打印",-1)])]),_:1},8,["icon"]),t(y,{type:"primary",icon:j(ns),size:"small",loading:Je.value,onClick:pa},{default:s(()=>[...e[127]||(e[127]=[f(" 下载 PDF (A4) ",-1)])]),_:1},8,["icon","loading"])]),k.value&&Number(k.value.void_status)===1?(_(),h("div",Is," 作废人:"+b(k.value.void_by_name||"—")+",作废时间:"+b(Ca(k.value.void_time)),1)):k.value&&Number(k.value.business_prescription_audit_rejected)===1?(_(),h("div",Fs,[e[129]||(e[129]=d("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),k.value.business_prescription_audit_remark?(_(),h("div",js," 驳回意见:"+b(k.value.business_prescription_audit_remark),1)):v("",!0)])):k.value&&Number(k.value.audit_status)===2?(_(),h("div",Ms,[e[130]||(e[130]=d("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),k.value.audit_remark?(_(),h("div",Hs,"驳回意见:"+b(k.value.audit_remark),1)):v("",!0)])):v("",!0),k.value?(_(),c(ls,{key:3,ref_key:"rxSlipRef",ref:xt,data:k.value},null,8,["data"])):v("",!0),k.value&&(k.value.audit_by_name||k.value.audit_remark)?(_(),h("div",qs,[k.value.audit_by_name?(_(),h("div",Ws,[f(" 审核人:"+b(k.value.audit_by_name)+" ",1),k.value.audit_time?(_(),h("span",Bs,b(Ee(k.value.audit_time)),1)):v("",!0)])):v("",!0),k.value.audit_remark?(_(),h("div",Ys,"审核意见:"+b(k.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[Le,Me.value]]):(_(),c(H,{key:1,ref_key:"formRef",ref:ee,model:n,rules:ca,"label-width":"120px"},{default:s(()=>[D.value==="edit"&&Number(n.is_system_auto)===1?(_(),c(U,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:"本处方为系统自动生成(如挂号完成),默认无药材配方,请补充药材与诊断等信息后再保存。"})):v("",!0),D.value==="edit"?(_(),c(U,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"保存修改后,该处方将重新进入「待审核」,需审核人员再次通过后方可生效。"})):v("",!0),D.value==="edit"&&Number(n.audit_status)===2?(_(),c(U,{key:2,type:"error",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[131]||(e[131]=[f("当前消费者处方为「已驳回」",-1)])]),default:s(()=>[d("div",Gs," 保存修改后将清除驳回并变为「待审核」。"+b(n.audit_remark?`上次意见:${n.audit_remark}`:""),1)]),_:1})):v("",!0),D.value==="edit"&&Number(n.business_prescription_audit_rejected)===1&&Number(n.audit_status)===1?(_(),c(U,{key:3,type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[132]||(e[132]=[f("业务订单侧「处方审核」已驳回",-1)])]),default:s(()=>[e[133]||(e[133]=d("div",{class:"text-sm mt-1"}," 消费者处方仍为「已通过」;您修改并保存后,将重置关联业务订单的处方/支付单审核为「待审」,请在「处方业务订单」中继续处理。 ",-1)),String(n.business_prescription_audit_remark||"").trim()?(_(),h("div",Ks," 驳回意见:"+b(n.business_prescription_audit_remark),1)):v("",!0)]),_:1})):v("",!0),D.value==="edit"&&vt.value?(_(),c(U,{key:4,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:vt.value},null,8,["title"])):v("",!0),Number(n.diagnosis_id)>0?(_(),h("div",Js,[t(y,{type:"primary",size:"small",onClick:fa},{default:s(()=>[...e[134]||(e[134]=[f(" 查看患者诊单详情 ",-1)])]),_:1}),d("span",Qs,"关联诊单 #"+b(n.diagnosis_id),1)])):v("",!0),t(q,{gutter:20},{default:s(()=>[t(V,{span:12},{default:s(()=>[t(u,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[t(m,{modelValue:n.patient_name,"onUpdate:modelValue":e[9]||(e[9]=l=>n.patient_name=l),placeholder:"请输入患者姓名",disabled:D.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"门诊号",prop:"visit_no"},{default:s(()=>[t(m,{modelValue:n.visit_no,"onUpdate:modelValue":e[10]||(e[10]=l=>n.visit_no=l),placeholder:"自动生成或手动输入",disabled:D.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),t(q,{gutter:20},{default:s(()=>[t(V,{span:8},{default:s(()=>[t(u,{label:"性别",prop:"gender"},{default:s(()=>[t(r,{modelValue:n.gender,"onUpdate:modelValue":e[11]||(e[11]=l=>n.gender=l)},{default:s(()=>[t(F,{label:1},{default:s(()=>[...e[135]||(e[135]=[f("男",-1)])]),_:1}),t(F,{label:0},{default:s(()=>[...e[136]||(e[136]=[f("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(V,{span:8},{default:s(()=>[t(u,{label:"年龄",prop:"age"},{default:s(()=>[t(T,{modelValue:n.age,"onUpdate:modelValue":e[12]||(e[12]=l=>n.age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:8},{default:s(()=>[t(u,{label:"处方日期",prop:"prescription_date"},{default:s(()=>[t(el,{modelValue:n.prescription_date,"onUpdate:modelValue":e[13]||(e[13]=l=>n.prescription_date=l),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(q,{gutter:20},{default:s(()=>[t(V,{span:12},{default:s(()=>[t(u,{label:"面象",prop:"tongue"},{default:s(()=>[t(m,{modelValue:n.tongue,"onUpdate:modelValue":e[14]||(e[14]=l=>n.tongue=l),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"舌象",prop:"tongue_image"},{default:s(()=>[t(m,{modelValue:n.tongue_image,"onUpdate:modelValue":e[15]||(e[15]=l=>n.tongue_image=l),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(q,{gutter:20},{default:s(()=>[t(V,{span:12},{default:s(()=>[t(u,{label:"脉象",prop:"pulse"},{default:s(()=>[t(m,{modelValue:n.pulse,"onUpdate:modelValue":e[16]||(e[16]=l=>n.pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"脉象详情",prop:"pulse_condition"},{default:s(()=>[t(m,{modelValue:n.pulse_condition,"onUpdate:modelValue":e[17]||(e[17]=l=>n.pulse_condition=l),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(u,{label:"临床诊断",prop:"clinical_diagnosis"},{default:s(()=>[t(m,{modelValue:n.clinical_diagnosis,"onUpdate:modelValue":e[18]||(e[18]=l=>n.clinical_diagnosis=l),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(u,{label:"药材配方",prop:"herbs",required:""},{default:s(()=>[d("div",Xs,[d("div",Zs,[A((_(),c(y,{type:"success",size:"small",onClick:Ta},{default:s(()=>[...e[137]||(e[137]=[f(" 从处方库导入 ",-1)])]),_:1})),[[W,["cf.prescription/add","cf.prescription/edit","tcm.prescriptionLibrary/lists"]]]),t(y,{type:"warning",size:"small",plain:"",icon:j(os),onClick:Ba},{default:s(()=>[...e[138]||(e[138]=[f(" 导入药方 ",-1)])]),_:1},8,["icon"]),e[139]||(e[139]=d("span",{class:"text-xs text-gray-500"}," 粘贴文本解析药名与剂量;须与药品库名称完全一致才录入(导入至主方) ",-1))]),M.value?(_(),h("div",en,[t(O,{type:"danger",size:"small",effect:"plain"},{default:s(()=>[...e[140]||(e[140]=[f("禁用修改",-1)])]),_:1}),e[141]||(e[141]=f(" 含「禁用修改」处方库模板,药材已锁定,不可增删改,如需调整请重新「从处方库导入」覆盖 ",-1))])):v("",!0),d("div",tn,[d("div",an,[t(O,{type:"primary",size:"small"},{default:s(()=>[...e[142]||(e[142]=[f("主方",-1)])]),_:1}),t(y,{type:"primary",size:"small",disabled:M.value,onClick:e[19]||(e[19]=l=>At("主方"))},{default:s(()=>[...e[143]||(e[143]=[f("添加主方药材",-1)])]),_:1},8,["disabled"])]),t(z,{data:ra.value,class:"mt-2",border:"","empty-text":"暂无主方药材"},{default:s(()=>[t(N,{label:"序号",type:"index",width:"60"}),t(N,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[t(zt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":C=>n.herbs[l.index].name=C,"medicine-id":n.herbs[l.index].medicine_id,"onUpdate:medicineId":C=>n.herbs[l.index].medicine_id=C,disabled:M.value,class:"w-full"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),t(N,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[t(T,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":C=>n.herbs[l.index].dosage=C,min:0,precision:1,step:.5,disabled:M.value,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),t(N,{label:"操作",width:"80"},{default:s(({row:l})=>[M.value?(_(),h("span",ln,"已锁定")):(_(),c(y,{key:0,type:"danger",link:"",onClick:C=>Lt(l.index)},{default:s(()=>[...e[144]||(e[144]=[f("删除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])]),d("div",sn,[d("div",nn,[t(O,{type:"warning",size:"small"},{default:s(()=>[...e[145]||(e[145]=[f("辅方",-1)])]),_:1}),t(y,{type:"primary",size:"small",plain:"",disabled:M.value,onClick:e[20]||(e[20]=l=>At("辅方"))},{default:s(()=>[...e[146]||(e[146]=[f(" 添加辅方药材 ",-1)])]),_:1},8,["disabled"])]),t(z,{data:yt.value,class:"mt-2",border:"","empty-text":"暂无辅方药材"},{default:s(()=>[t(N,{label:"序号",type:"index",width:"60"}),t(N,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[t(zt,{modelValue:n.herbs[l.index].name,"onUpdate:modelValue":C=>n.herbs[l.index].name=C,"medicine-id":n.herbs[l.index].medicine_id,"onUpdate:medicineId":C=>n.herbs[l.index].medicine_id=C,disabled:M.value,class:"w-full"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),t(N,{label:"剂量(克)","min-width":"120"},{default:s(({row:l})=>[t(T,{modelValue:n.herbs[l.index].dosage,"onUpdate:modelValue":C=>n.herbs[l.index].dosage=C,min:0,precision:1,step:.5,disabled:M.value,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),t(N,{label:"操作",width:"80"},{default:s(({row:l})=>[M.value?(_(),h("span",on,"已锁定")):(_(),c(y,{key:0,type:"danger",link:"",onClick:C=>Lt(l.index)},{default:s(()=>[...e[147]||(e[147]=[f("删除",-1)])]),_:1},8,["onClick"]))]),_:1})]),_:1},8,["data"])]),D.value==="edit"?A((_(),c(U,{key:1,type:"warning",closable:!1,"show-icon":"",class:"mt-3"},{title:s(()=>[...e[148]||(e[148]=[f("业务订单要求(请与本处方保持一致)",-1)])]),default:s(()=>[d("div",rn,[P.orderNo||P.medicationDays!=null||P.remarkAssistant?(_(),h(I,{key:0},[P.orderNo?(_(),h("p",un,[e[149]||(e[149]=f(" 最近关联订单(按创建倒序): ",-1)),d("span",dn,b(P.orderNo),1)])):v("",!0),d("p",pn,[e[150]||(e[150]=d("span",{class:"font-semibold"},"服用天数(订单)",-1)),f(": "+b(P.medicationDays!=null?`${P.medicationDays} 天`:"— 订单未填写"),1)]),d("p",null,[e[151]||(e[151]=d("span",{class:"font-semibold"},"医助备注(订单)",-1)),e[152]||(e[152]=f(": ",-1)),d("span",mn,b(P.remarkAssistant||"— 无"),1)])],64)):P.loading?v("",!0):(_(),h("p",_n,[...e[153]||(e[153]=[f(" 当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内 ",-1),d("span",{class:"font-semibold"},"服用天数",-1),f("与 ",-1),d("span",{class:"font-semibold"},"医助备注",-1),f("。 ",-1)])]))])]),_:1})),[[Le,P.loading]]):v("",!0)])]),_:1}),t(q,{gutter:20},{default:s(()=>[t(V,{span:8},{default:s(()=>[t(u,{label:"剂数",prop:"dose_count"},{default:s(()=>[t(T,{modelValue:n.dose_count,"onUpdate:modelValue":e[21]||(e[21]=l=>n.dose_count=l),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:8},{default:s(()=>[t(u,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[t(x,{modelValue:n.dose_unit,"onUpdate:modelValue":e[22]||(e[22]=l=>n.dose_unit=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[t(i,{label:"剂",value:"剂"}),t(i,{label:"丸",value:"丸"}),t(i,{label:"袋",value:"袋"}),t(i,{label:"盒",value:"盒"}),t(i,{label:"瓶",value:"瓶"}),t(i,{label:"膏",value:"膏"}),t(i,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(V,{span:8},{default:s(()=>[t(u,{label:"处方类型",prop:"prescription_type"},{default:s(()=>[t(x,{modelValue:n.prescription_type,"onUpdate:modelValue":e[23]||(e[23]=l=>n.prescription_type=l),placeholder:"请选择处方类型",class:"w-full"},{default:s(()=>[t(i,{label:"浓缩水丸",value:"浓缩水丸"}),t(i,{label:"饮片",value:"饮片"}),t(i,{label:"颗粒",value:"颗粒"}),t(i,{label:"丸剂",value:"丸剂"}),t(i,{label:"散剂",value:"散剂"}),t(i,{label:"膏方",value:"膏方"}),t(i,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e[161]||(e[161]=d("div",{class:"usage-formula-title usage-formula-title--main"},"主方用法",-1)),t(q,{gutter:20},{default:s(()=>[t(V,{span:8},{default:s(()=>[t(u,{label:"用量",prop:"dosage_amount"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(_(),c(x,{key:0,modelValue:n.dosage_amount,"onUpdate:modelValue":e[24]||(e[24]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[t(i,{label:"1g",value:1}),t(i,{label:"2g",value:2}),t(i,{label:"3g",value:3}),t(i,{label:"4g",value:4}),t(i,{label:"5g",value:5}),t(i,{label:"6g",value:6}),t(i,{label:"7g",value:7}),t(i,{label:"8g",value:8}),t(i,{label:"9g",value:9}),t(i,{label:"10g",value:10})]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(_(),c(x,{key:1,modelValue:n.dosage_amount,"onUpdate:modelValue":e[25]||(e[25]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[t(i,{label:"50ml",value:50}),t(i,{label:"100ml",value:100}),t(i,{label:"120ml",value:120}),t(i,{label:"150ml",value:150}),t(i,{label:"180ml",value:180}),t(i,{label:"200ml",value:200}),t(i,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(_(),c(T,{key:2,modelValue:n.dosage_amount,"onUpdate:modelValue":e[26]||(e[26]=l=>n.dosage_amount=l),min:0,precision:2,class:"w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),n.prescription_type==="浓缩水丸"?(_(),c(V,{key:0,span:8},{default:s(()=>[t(u,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:s(()=>[t(x,{modelValue:n.dosage_bag_count,"onUpdate:modelValue":e[27]||(e[27]=l=>n.dosage_bag_count=l),placeholder:"请选择袋数",class:"w-[120px]"},{default:s(()=>[t(i,{label:"1袋",value:1}),t(i,{label:"2袋",value:2}),t(i,{label:"3袋",value:3}),t(i,{label:"4袋",value:4}),t(i,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(_(),c(V,{key:1,span:8},{default:s(()=>[t(u,{label:"是否代煎",prop:"need_decoction"},{default:s(()=>[t(r,{modelValue:n.need_decoction,"onUpdate:modelValue":e[28]||(e[28]=l=>n.need_decoction=l)},{default:s(()=>[t(F,{label:!0},{default:s(()=>[...e[154]||(e[154]=[f("代煎",-1)])]),_:1}),t(F,{label:!1},{default:s(()=>[...e[155]||(e[155]=[f("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(_(),c(V,{key:2,span:8},{default:s(()=>[t(u,{label:"每贴出包数",prop:"bags_per_dose"},{default:s(()=>[t(x,{modelValue:n.bags_per_dose,"onUpdate:modelValue":e[29]||(e[29]=l=>n.bags_per_dose=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[t(i,{label:"1包",value:1}),t(i,{label:"2包",value:2}),t(i,{label:"3包",value:3}),t(i,{label:"4包",value:4}),t(i,{label:"5包",value:5}),t(i,{label:"6包",value:6}),t(i,{label:"7包",value:7}),t(i,{label:"8包",value:8}),t(i,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),t(V,{span:8},{default:s(()=>[t(u,{label:"每天几次",prop:"times_per_day"},{default:s(()=>[t(T,{modelValue:n.times_per_day,"onUpdate:modelValue":e[30]||(e[30]=l=>n.times_per_day=l),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:8},{default:s(()=>[t(u,{label:"服用天数",prop:"usage_days"},{default:s(()=>[t(T,{modelValue:n.usage_days,"onUpdate:modelValue":e[31]||(e[31]=l=>n.usage_days=l),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),yt.value.length>0?(_(),h(I,{key:6},[e[158]||(e[158]=d("div",{class:"usage-formula-title usage-formula-title--aux"},"辅方用法",-1)),t(q,{gutter:20},{default:s(()=>[t(V,{span:8},{default:s(()=>[t(u,{label:"用量"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(_(),c(x,{key:0,modelValue:n.aux_usage.dosage_amount,"onUpdate:modelValue":e[32]||(e[32]=l=>n.aux_usage.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[(_(),h(I,null,Z(10,l=>t(i,{key:l,label:l+"g",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(_(),c(x,{key:1,modelValue:n.aux_usage.dosage_amount,"onUpdate:modelValue":e[33]||(e[33]=l=>n.aux_usage.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[t(i,{label:"50ml",value:50}),t(i,{label:"100ml",value:100}),t(i,{label:"120ml",value:120}),t(i,{label:"150ml",value:150}),t(i,{label:"180ml",value:180}),t(i,{label:"200ml",value:200}),t(i,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(_(),c(T,{key:2,modelValue:n.aux_usage.dosage_amount,"onUpdate:modelValue":e[34]||(e[34]=l=>n.aux_usage.dosage_amount=l),min:0,precision:2,class:"w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),n.prescription_type==="浓缩水丸"?(_(),c(V,{key:0,span:8},{default:s(()=>[t(u,{label:" ","label-width":"12px"},{default:s(()=>[t(x,{modelValue:n.aux_usage.dosage_bag_count,"onUpdate:modelValue":e[35]||(e[35]=l=>n.aux_usage.dosage_bag_count=l),placeholder:"请选择袋数",class:"w-[120px]"},{default:s(()=>[t(i,{label:"1袋",value:1}),t(i,{label:"2袋",value:2}),t(i,{label:"3袋",value:3}),t(i,{label:"4袋",value:4}),t(i,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(_(),c(V,{key:1,span:8},{default:s(()=>[t(u,{label:"是否代煎"},{default:s(()=>[t(r,{modelValue:n.aux_usage.need_decoction,"onUpdate:modelValue":e[36]||(e[36]=l=>n.aux_usage.need_decoction=l)},{default:s(()=>[t(F,{label:!0},{default:s(()=>[...e[156]||(e[156]=[f("代煎",-1)])]),_:1}),t(F,{label:!1},{default:s(()=>[...e[157]||(e[157]=[f("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),n.prescription_type==="饮片"?(_(),c(V,{key:2,span:8},{default:s(()=>[t(u,{label:"每贴出包数"},{default:s(()=>[t(x,{modelValue:n.aux_usage.bags_per_dose,"onUpdate:modelValue":e[37]||(e[37]=l=>n.aux_usage.bags_per_dose=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[(_(),h(I,null,Z(9,l=>t(i,{key:l,label:l+"包",value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),t(V,{span:8},{default:s(()=>[t(u,{label:"每天几次"},{default:s(()=>[t(T,{modelValue:n.aux_usage.times_per_day,"onUpdate:modelValue":e[38]||(e[38]=l=>n.aux_usage.times_per_day=l),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:8},{default:s(()=>[t(u,{label:"服用天数"},{default:s(()=>[t(T,{modelValue:n.aux_usage.usage_days,"onUpdate:modelValue":e[39]||(e[39]=l=>n.aux_usage.usage_days=l),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)):v("",!0),t(u,{label:"用法",prop:"usage_instruction"},{default:s(()=>[t(m,{modelValue:n.usage_instruction,"onUpdate:modelValue":e[40]||(e[40]=l=>n.usage_instruction=l),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(q,{gutter:20},{default:s(()=>[t(V,{span:12},{default:s(()=>[t(u,{label:"服用时间",prop:"usage_time"},{default:s(()=>[t(x,{modelValue:n.usage_time,"onUpdate:modelValue":e[41]||(e[41]=l=>n.usage_time=l),placeholder:"请选择服用时间",class:"w-full"},{default:s(()=>[t(i,{label:"饭前",value:"饭前"}),t(i,{label:"饭后",value:"饭后"}),t(i,{label:"饭中",value:"饭中"}),t(i,{label:"空腹",value:"空腹"}),t(i,{label:"睡前",value:"睡前"}),t(i,{label:"晨起",value:"晨起"}),t(i,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"服用方式",prop:"usage_way"},{default:s(()=>[t(x,{modelValue:n.usage_way,"onUpdate:modelValue":e[42]||(e[42]=l=>n.usage_way=l),placeholder:"请选择服用方式",class:"w-full"},{default:s(()=>[t(i,{label:"温水送服",value:"温水送服"}),t(i,{label:"开水冲服",value:"开水冲服"}),t(i,{label:"黄酒送服",value:"黄酒送服"}),t(i,{label:"淡盐水送服",value:"淡盐水送服"}),t(i,{label:"米汤送服",value:"米汤送服"}),t(i,{label:"嚼服",value:"嚼服"}),t(i,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),t(u,{label:"忌口",prop:"dietary_taboo"},{default:s(()=>[t(x,{modelValue:n.dietary_taboo,"onUpdate:modelValue":e[43]||(e[43]=l=>n.dietary_taboo=l),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:s(()=>[t(i,{label:"辛辣食物",value:"辛辣食物"}),t(i,{label:"生冷食物",value:"生冷食物"}),t(i,{label:"油腻食物",value:"油腻食物"}),t(i,{label:"海鲜",value:"海鲜"}),t(i,{label:"牛羊肉",value:"牛羊肉"}),t(i,{label:"鸡蛋",value:"鸡蛋"}),t(i,{label:"豆制品",value:"豆制品"}),t(i,{label:"酒类",value:"酒类"}),t(i,{label:"浓茶",value:"浓茶"}),t(i,{label:"咖啡",value:"咖啡"}),t(i,{label:"烟草",value:"烟草"}),t(i,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),t(u,{label:"其他说明",prop:"usage_notes"},{default:s(()=>[t(m,{modelValue:n.usage_notes,"onUpdate:modelValue":e[44]||(e[44]=l=>n.usage_notes=l),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(u,{label:"医师姓名",prop:"doctor_name"},{default:s(()=>[t(m,{modelValue:n.doctor_name,"onUpdate:modelValue":e[45]||(e[45]=l=>n.doctor_name=l),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),t(u,{label:"医师签名",prop:"doctor_signature",required:""},{default:s(()=>[d("div",fn,[d("canvas",{ref_key:"signatureCanvasRef",ref:K,class:"signature-canvas",onPointerdown:we(Ea,["prevent"]),onPointermove:we(Da,["prevent"]),onPointerup:we(Nt,["prevent"]),onPointercancel:we(Nt,["prevent"])},null,544),d("div",cn,[t(y,{size:"small",onClick:Ra},{default:s(()=>[...e[159]||(e[159]=[f("清空签名",-1)])]),_:1})])]),e[160]||(e[160]=d("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title","size"]),t(he,{modelValue:_e.value,"onUpdate:modelValue":e[53]||(e[53]=l=>_e.value=l),title:"修正姓名、性别与手机号",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:qt},{footer:s(()=>[t(y,{onClick:e[52]||(e[52]=l=>_e.value=!1)},{default:s(()=>[...e[167]||(e[167]=[f("取消",-1)])]),_:1}),t(y,{type:"primary",loading:He.value,onClick:Wt},{default:s(()=>[...e[168]||(e[168]=[f(" 保存 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[t(H,{ref_key:"patchPatientFormRef",ref:qe,model:$,rules:Mt,"label-width":"88px"},{default:s(()=>[t(u,{label:"处方编号"},{default:s(()=>[d("span",gn,"#"+b($.id||"—"),1)]),_:1}),t(u,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[t(m,{modelValue:$.patient_name,"onUpdate:modelValue":e[49]||(e[49]=l=>$.patient_name=l),maxlength:"50","show-word-limit":"",placeholder:"处方笺展示姓名"},null,8,["modelValue"])]),_:1}),t(u,{label:"性别",prop:"gender"},{default:s(()=>[t(r,{modelValue:$.gender,"onUpdate:modelValue":e[50]||(e[50]=l=>$.gender=l)},{default:s(()=>[t(F,{label:1},{default:s(()=>[...e[165]||(e[165]=[f("男",-1)])]),_:1}),t(F,{label:0},{default:s(()=>[...e[166]||(e[166]=[f("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(u,{label:"手机号",prop:"phone"},{default:s(()=>[t(m,{modelValue:$.phone,"onUpdate:modelValue":e[51]||(e[51]=l=>$.phone=l),maxlength:"20",placeholder:"处方笺展示手机号"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),e[169]||(e[169]=d("p",{class:"text-xs text-gray-500 -mt-2 mb-2"}," 仅更新处方表 patient_name、gender、phone,不改变审核状态;记录写入业务订单操作日志(有关联订单时可在此订单日志中查看)。 ",-1))]),_:1},8,["modelValue"]),t(he,{modelValue:fe.value,"onUpdate:modelValue":e[72]||(e[72]=l=>fe.value=l),title:"创建业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,onClosed:gt,class:"create-order-dialog"},{footer:s(()=>[d("div",Mn,[d("div",Hn,[d("span",qn,"第 "+b(R.value+1)+" / 3 步",1),R.value===2&&E.value>0?(_(),h("span",Wn," 订单金额与关联支付单合计须 ≥ ¥"+b(ue(E.value)),1)):v("",!0)]),d("div",Bn,[t(y,{size:"large",onClick:e[71]||(e[71]=l=>fe.value=!1)},{default:s(()=>[...e[180]||(e[180]=[f("取消",-1)])]),_:1}),R.value>0?(_(),c(y,{key:0,size:"large",onClick:na},{default:s(()=>[...e[181]||(e[181]=[f("上一步",-1)])]),_:1})):v("",!0),R.value<2?(_(),c(y,{key:1,type:"primary",size:"large",onClick:oa},{default:s(()=>[...e[182]||(e[182]=[f(" 下一步 ",-1)])]),_:1})):v("",!0),R.value===2?(_(),c(y,{key:2,type:"primary",size:"large",loading:We.value,onClick:ia},{default:s(()=>[...e[183]||(e[183]=[f(" 创建业务订单 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:s(()=>[d("div",bn,[B.value?(_(),h("div",vn,[d("div",yn,[e[170]||(e[170]=d("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),d("div",xn,[d("span",Vn,"#"+b(B.value.id),1),B.value.sn?(_(),h("span",kn,b(B.value.sn),1)):v("",!0),d("span",hn,b(B.value.patient_name||"—"),1)])])])):v("",!0),t(al,{active:R.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[t(it,{title:"患者与收货",description:"诊单与物流地址"}),t(it,{title:"服务与支付单",description:"套餐与关联收款"}),t(it,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),d("p",wn,b(Bt.value),1),t(H,{ref_key:"createOrderFormRef",ref:ce,model:p,rules:ea.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[A(d("div",Sn,[t(q,{gutter:20},{default:s(()=>[t(V,{span:24},{default:s(()=>[t(u,{label:"诊单患者",prop:"patient_id"},{default:s(()=>[t(x,{modelValue:p.patient_id,"onUpdate:modelValue":e[54]||(e[54]=l=>p.patient_id=l),class:"w-full",placeholder:"搜索姓名/手机/身份证",filterable:"",remote:"","remote-method":la,loading:Be.value,onChange:sa},{default:s(()=>[(_(!0),h(I,null,Z(X.value,l=>(_(),c(i,{key:l.id,label:`${l.patient_name} (${l.phone||"无手机"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"收货人",prop:"recipient_name"},{default:s(()=>[t(m,{modelValue:p.recipient_name,"onUpdate:modelValue":e[55]||(e[55]=l=>p.recipient_name=l),placeholder:"姓名",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[t(m,{modelValue:p.recipient_phone,"onUpdate:modelValue":e[56]||(e[56]=l=>p.recipient_phone=l),placeholder:"物流联系",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:24},{default:s(()=>[t(u,{label:"省市区",prop:"region"},{default:s(()=>[t(ll,{modelValue:p.region,"onUpdate:modelValue":e[57]||(e[57]=l=>p.region=l),options:ge.value,props:{value:"name",label:"name",children:"children",emitPath:!0,checkStrictly:!1},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full",onChange:Xt},null,8,["modelValue","options"])]),_:1})]),_:1}),t(V,{span:24},{default:s(()=>[t(u,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[t(m,{modelValue:p.shipping_address,"onUpdate:modelValue":e[58]||(e[58]=l=>p.shipping_address=l),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[dt,R.value===0]]),A(d("div",Cn,[t(q,{gutter:20},{default:s(()=>[Gt.value?(_(),c(V,{key:0,span:24},{default:s(()=>[t(u,{label:"发货药房",prop:"ship_mode"},{default:s(()=>[t(r,{modelValue:p.ship_mode,"onUpdate:modelValue":e[59]||(e[59]=l=>p.ship_mode=l)},{default:s(()=>[t(o,{label:"gancao"},{default:s(()=>[...e[171]||(e[171]=[f("甘草药房",-1)])]),_:1}),t(o,{label:"direct"},{default:s(()=>[...e[172]||(e[172]=[f("洛阳药房",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):v("",!0),t(V,{xs:24,sm:8},{default:s(()=>[t(u,{label:"复诊"},{default:s(()=>[t(sl,{modelValue:p.is_follow_up,"onUpdate:modelValue":e[60]||(e[60]=l=>p.is_follow_up=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{xs:24,sm:8},{default:s(()=>[t(u,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:s(()=>[d("div",Nn,[t(T,{modelValue:p.medication_days,"onUpdate:modelValue":e[61]||(e[61]=l=>p.medication_days=l),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[173]||(e[173]=d("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),t(V,{xs:24,sm:8},{default:s(()=>[t(u,{label:"上次医生"},{default:s(()=>[t(m,{modelValue:p.prev_staff,"onUpdate:modelValue":e[62]||(e[62]=l=>p.prev_staff=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"服务渠道"},{default:s(()=>[t(m,{modelValue:p.service_channel,"onUpdate:modelValue":e[63]||(e[63]=l=>p.service_channel=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"服务套餐"},{default:s(()=>[t(x,{modelValue:p.service_package,"onUpdate:modelValue":e[64]||(e[64]=l=>p.service_package=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:s(()=>[(_(!0),h(I,null,Z(Ge.value,l=>(_(),c(i,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(V,{span:24},{default:s(()=>[t(u,{label:"关联支付单",prop:"pay_order_ids"},{default:s(()=>[t(x,{modelValue:p.pay_order_ids,"onUpdate:modelValue":e[65]||(e[65]=l=>p.pay_order_ids=l),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:E.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Ye.value},{default:s(()=>[(_(!0),h(I,null,Z(re.value,l=>(_(),c(i,{key:l.id,label:`${l.order_no} · ¥${l.amount} · ${ct(l.order_type)}`,value:l.id,class:"!h-auto py-1.5"},{default:s(()=>[d("div",Un,[d("div",Pn,[d("span",$n,b(l.order_no),1),d("span",En,"¥"+b(l.amount),1)]),d("div",Dn,[d("span",Rn,[f(b(ct(l.order_type)),1),l.remark?(_(),h(I,{key:0},[f(" · "+b(l.remark),1)],64)):v("",!0)]),d("span",On,b(String(l.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),d("div",An,[E.value>0?(_(),h(I,{key:0},[d("span",Ln,"当前已开启关联支付门槛(¥"+b(ue(E.value))+"),须至少选择一笔支付单。",1),e[174]||(e[174]=d("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[176]||(e[176]=f(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),t(nl,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[175]||(e[175]=[d("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1})]),_:1})]),_:1})],512),[[dt,R.value===1]]),A(d("div",zn,[d("div",{class:fs(["create-order-deposit-bar",Ke.value>=E.value?"is-ok":"is-warn"])},[d("div",Tn,[e[177]||(e[177]=d("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),d("strong",null,"¥"+b(ue(E.value)),1),d("span",In,b(E.value>0?"须 ≥ 此值":"未设置"),1)]),e[179]||(e[179]=d("div",{class:"create-order-deposit-bar__sep"},null,-1)),d("div",Fn,[e[178]||(e[178]=d("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),d("strong",null,"¥"+b(ue(Ke.value)),1),d("span",jn,b(Ke.value>=E.value?"已达标":"未达标"),1)])],2),t(q,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:s(()=>[t(V,{span:12},{default:s(()=>[t(u,{label:"费用类别",prop:"fee_type"},{default:s(()=>[t(x,{modelValue:p.fee_type,"onUpdate:modelValue":e[66]||(e[66]=l=>p.fee_type=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t(V,{span:12},{default:s(()=>[t(u,{label:"总金额",prop:"amount"},{default:s(()=>[t(T,{modelValue:p.amount,"onUpdate:modelValue":e[67]||(e[67]=l=>p.amount=l),min:Zt.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),A((_(),c(V,{span:12},{default:s(()=>[t(u,{label:"内部成本"},{default:s(()=>[t(T,{modelValue:p.internal_cost,"onUpdate:modelValue":e[68]||(e[68]=l=>p.internal_cost=l),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[W,["finance.account_log/lists"]]]),t(V,{span:24},{default:s(()=>[A((_(),c(u,{label:"药房备注"},{default:s(()=>[t(m,{modelValue:p.remark_extra,"onUpdate:modelValue":e[69]||(e[69]=l=>p.remark_extra=l),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[W,["tcm.prescriptionOrder/editRemarkExtra"]]]),t(u,{label:"医助备注"},{default:s(()=>[t(m,{modelValue:p.remark_assistant,"onUpdate:modelValue":e[70]||(e[70]=l=>p.remark_assistant=l),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[dt,R.value===2]])]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]),t(he,{modelValue:ve.value,"onUpdate:modelValue":e[78]||(e[78]=l=>ve.value=l),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:s(()=>[d("div",Yn,[t(m,{modelValue:De.value,"onUpdate:modelValue":e[73]||(e[73]=l=>De.value=l),class:"flex-1",placeholder:"请输入处方名称搜索",clearable:"",onKeyup:ut(Ae,["enter"]),onClear:Ae},{append:s(()=>[t(y,{icon:j(is),onClick:Ae},null,8,["icon"])]),_:1},8,["modelValue"]),t(x,{modelValue:Re.value,"onUpdate:modelValue":e[74]||(e[74]=l=>Re.value=l),placeholder:"处方类型",clearable:"",class:"w-[140px]",onChange:Ae},{default:s(()=>[t(i,{label:"全部",value:""}),t(i,{label:"主方",value:"主方"}),t(i,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),d("div",Gn,[e[186]||(e[186]=d("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),t(r,{modelValue:ye.value,"onUpdate:modelValue":e[75]||(e[75]=l=>ye.value=l)},{default:s(()=>[t(F,{label:"replace"},{default:s(()=>[...e[184]||(e[184]=[f("覆盖现有药材",-1)])]),_:1}),t(F,{label:"append"},{default:s(()=>[...e[185]||(e[185]=[f("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])]),A((_(),c(z,{data:et.value,height:"400",style:{cursor:"pointer"},onRowClick:Ia},{default:s(()=>[t(N,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),t(N,{label:"处方类型",width:"90"},{default:s(({row:l})=>[t(O,{type:l.formula_type==="辅方"?"warning":"primary",size:"small"},{default:s(()=>[f(b(l.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),t(N,{label:"药材数量",width:"100"},{default:s(({row:l})=>{var C;return[f(b(((C=l.herbs)==null?void 0:C.length)||0)+"味 ",1)]}),_:1}),t(N,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:s(({row:l})=>[l.herbs&&l.herbs.length>0?(_(),h("span",Kn,b(l.herbs.map(C=>`${C.name} ${C.dosage}g`).join("、")),1)):(_(),h("span",Jn,"暂无药材"))]),_:1}),t(N,{label:"是否公开",width:"110"},{default:s(({row:l})=>[t(O,{type:l.is_public?"success":"info",size:"small"},{default:s(()=>[f(b(l.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),t(N,{label:"创建人",prop:"creator_name",width:"100"}),t(N,{label:"操作",width:"100",fixed:"right"},{default:s(({row:l})=>[t(y,{type:"primary",link:"",onClick:we(C=>Rt(l),["stop"])},{default:s(()=>[...e[187]||(e[187]=[f("导入",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Le,Ze.value]]),d("div",Qn,[t(ol,{"current-page":xe.value,"onUpdate:currentPage":e[76]||(e[76]=l=>xe.value=l),"page-size":tt.value,"onUpdate:pageSize":e[77]||(e[77]=l=>tt.value=l),total:at.value,"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:Oe,onSizeChange:Oe},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),t(he,{modelValue:Ve.value,"onUpdate:modelValue":e[82]||(e[82]=l=>Ve.value=l),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[83]||(e[83]=l=>ke.value="")},{footer:s(()=>[t(y,{onClick:e[81]||(e[81]=l=>Ve.value=!1)},{default:s(()=>[...e[191]||(e[191]=[f("取消",-1)])]),_:1}),t(y,{type:"primary",loading:st.value,onClick:Ya},{default:s(()=>[...e[192]||(e[192]=[f(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[193]||(e[193]=d("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),t(m,{modelValue:ke.value,"onUpdate:modelValue":e[79]||(e[79]=l=>ke.value=l),type:"textarea",rows:10,placeholder:`示例: 黄芪15 党参12 茯苓10 diff --git a/server/public/admin/assets/index-fRv3NTFQ.js b/server/public/admin/assets/index-J_eFER10.js similarity index 90% rename from server/public/admin/assets/index-fRv3NTFQ.js rename to server/public/admin/assets/index-J_eFER10.js index 64f5d55b5..159ecda9a 100644 --- a/server/public/admin/assets/index-fRv3NTFQ.js +++ b/server/public/admin/assets/index-J_eFER10.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/404-DrIunG4L.js","assets/error-BU0Zs3ny.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/vue-router-QlpZ4wdW.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/error-BuAQ7kny.css","assets/403-CYRAU9T7.js","assets/login-qHMv5bBU.js","assets/useLockFn-X4Qce5KO.js","assets/footer.vue_vue_type_script_setup_true_lang-COsLLTkC.js","assets/login-NzKmT1-_.css","assets/change-password-tLKGtc83.js","assets/change-password-CsrB35aU.css","assets/bind-work-wechat-C-tP8cIn.js","assets/wecomOauthPostMessage-C_e6VGrO.js","assets/bind-work-wechat-BX1gqwq1.css","assets/setting-C4t4bQUw.js","assets/index-D6hiZISU.js","assets/index-B2JO0Jot.css","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/setting-PFzaCySP.css","assets/progress-zIFnwUAT.js","assets/doctor-BVLBwYIX.js","assets/progress-CQXIT7YT.css","assets/pc_details-C8AaBSI5.js","assets/decoration-HusoyoI3.js","assets/preview-pc-Bjp7P5eB.js","assets/index-BTh_xBKj.js","assets/attr-DaHTqGGt.js","assets/picker-8l5NOLQi.js","assets/article-BsGgZfIu.js","assets/picker-DlyQ_D1Y.css","assets/attr-DW0KLy-Z.css","assets/content.vue_vue_type_script_setup_true_lang-DdNcvOry.js","assets/decoration-img-63yHTKq5.js","assets/decoration-img-BEoaJ08y.css","assets/attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js","assets/content-Dbr1CmpF.js","assets/content-CaNRXt_A.css","assets/attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js","assets/content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js","assets/attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js","assets/add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js","assets/content-8Zehp_Rk.js","assets/content-B97u18ca.css","assets/attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js","assets/content.vue_vue_type_script_setup_true_lang-CN32u1VP.js","assets/attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js","assets/content-BKtyOCcY.js","assets/content-DVwelkMc.css","assets/attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js","assets/index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js","assets/content-BTqw4mI0.js","assets/content.vue_vue_type_script_setup_true_lang-B83-RT4p.js","assets/attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js","assets/content-DNPcBCfo.js","assets/content-rjMVvng7.css","assets/attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js","assets/content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js","assets/attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js","assets/content-lVo8M4Zt.js","assets/content-C-ankp9I.css","assets/preview-pc-C2MmXj4j.css","assets/pc_details-CGxd9KrI.css","assets/h5-DoZ33CNA.js","assets/fans-C45r_J_N.js","assets/h5-C0FVYPR8.css","assets/index_h5-DDGgBKsJ.js","assets/tcm-CEIBuAeK.js","assets/order-L3Ma3_1N.js","assets/weapp-B8uox-3Q.js","assets/perm-CTlz8z1G.js","assets/index_h5-CWq8J0dT.css","assets/readonly-CZaNTA70.js","assets/patient-DzLGoG87.js","assets/diag-display-DCz_VAqj.js","assets/PatientInfoCard-Bub1uklL.js","assets/PatientInfoCard-CDG1zjKv.css","assets/PatientCaseCard-B9RReKmk.js","assets/blood-thresholds-CJ1fqMjh.js","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/PatientCaseCard-Ch4X4VSu.css","assets/DailyMatrix-UhX8pyGC.js","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/DailyMatrix-WsQb1Wsi.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/NoteTimeline-DVNRRysO.js","assets/NoteTimeline-ICZA393r.css","assets/readonly-DnD8_EF-.css","assets/index-WB60onBZ.js","assets/edit-DB0EuTxq.js","assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BL1KmfvV.js","assets/index-Dd-Ko9om.js","assets/edit-CX0gtA17.js","assets/index.vue_vue_type_style_index_0_lang-DZ1VD0du.js","assets/@wangeditor/editor-Cyf37SuL.js","assets/@wangeditor/editor-nHDhGvq6.css","assets/@wangeditor/editor-for-vue-D1vSph3l.js","assets/index-DX96drV3.css","assets/useDictOptions-Cx2-jvcM.js","assets/index-4oQVMwE8.js","assets/index-CmItFXin.js","assets/asset-BIi7JiAC.js","assets/index-BxX_XfwR.js","assets/h5-D2fV4g_7.js","assets/open_setting-57AAYHuJ.js","assets/weapp-CSCB4Ihm.js","assets/config-BcjsSE7D.js","assets/wx_oa-BuVhGwqh.js","assets/menu-Cz3DbxDt.js","assets/oa-attr-DN37hWLr.js","assets/oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js","assets/useMenuOa-TRPv5Mx7.js","assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CH8fn-SB.js","assets/oa-phone-B-CHUk5L.js","assets/oa-phone-Drs4Fq6t.css","assets/oa-menu-form-edit-Ds9NXO6M.js","assets/oa-menu-form-C-7mO0su.js","assets/default_reply-Bh_u2uBi.js","assets/edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js","assets/edit-BlUxS5DU.js","assets/follow_reply-BiptAGAB.js","assets/keyword_reply-BfjuIFuE.js","assets/MessageBubble-CrQG9KfW.js","assets/MessageBubble-DkeWvgLd.css","assets/SendPanel-Bk_zumN5.js","assets/SendPanel-QEthGFL7.css","assets/index-BxH3KBQI.js","assets/index-e8vonoAk.css","assets/edit-DUrq1LLZ.js","assets/admin-BiglL3bM.js","assets/department-OHG8LTQz.js","assets/post-CPnP1Klt.js","assets/edit-CObVTcPU.css","assets/index-BjiA8CzE.js","assets/index-Csf8JQMa.css","assets/account-adjust-uROIj6YI.js","assets/account-adjust.vue_vue_type_script_setup_true_lang-BKavIhtU.js","assets/edit-hvqOlY5P.js","assets/edit-D-D8bVPM.css","assets/index-X1ZWiNaa.js","assets/index-Oppei429.css","assets/paiban-usln5zIm.js","assets/paiban-BTUHWpUu.css","assets/detail-DXs5F4gI.js","assets/consumer-CPi0_UIB.js","assets/index-BCCk5TAv.js","assets/index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js","assets/index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js","assets/GancaoSubmissionReconcileButton-sjmE0pP5.js","assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DPPpLv5I.js","assets/PrescriptionAiBatchGenerateDialog-DeSq7Ovs.js","assets/PrescriptionAiBatchGenerateDialog-B29j-rDJ.css","assets/PrescriptionAiReportDialog-B4Gc5TXr.js","assets/PrescriptionAiReportDialog-ov1eangx.css","assets/guahao-D0JIJ2D5.js","assets/index-D6-2IW7r.js","assets/medicine-CEgParOp.js","assets/role-B18Xi51b.js","assets/index-C5r1a79q.js","assets/index-C_LxAEkS.css","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-BhGufVKL.css","assets/list-DyOdEEM6.js","assets/list-BluNBZln.css","assets/order_list-7zm3KguG.js","assets/useListTimeFilter-Btvmdejx.js","assets/useListTimeFilter-DkLI1bQ_.css","assets/order_list-CrNvpDFC.css","assets/order_list_h5-CSk24Nh-.js","assets/order_list_h5-DT-fNh_i.css","assets/add-nav-D7qVIdmR.js","assets/attr-setting-Dy-rYL12.js","assets/attr-setting.vue_vue_type_script_setup_true_lang-pfZYH5mS.js","assets/menu-CVaxMLtS.js","assets/menu-usw4ITBD.css","assets/preview-C1B_KeTu.js","assets/preview-DTbrEc-5.css","assets/attr-DNYOqt8u.js","assets/attr.vue_vue_type_script_setup_true_lang-BEMWfwi1.js","assets/content-C12ui3Qz.js","assets/content-DUDcoKtN.css","assets/attr-CvYF9HcW.js","assets/menu-set.vue_vue_type_script_setup_true_lang-Dugyuqkl.js","assets/content-9uaH4o7Z.js","assets/content-s9ZqO9iW.css","assets/menu-set-BuJ09Hlb.js","assets/content-Des7r1Cn.js","assets/attr-Bzl3ZUvo.js","assets/attr-xKBSWMjX.js","assets/content-DCZ1xcL7.js","assets/attr-BbYRgiEK.js","assets/attr-C15UeEgF.js","assets/content-CImZycXn.js","assets/attr-Db6EuK6T.js","assets/attr-DOkeFgW2.js","assets/content-DtEMpPXD.js","assets/attr-BS21VV6Q.js","assets/attr-CIQncvn9.js","assets/content-D28o1htD.js","assets/attr-gr_OE7on.js","assets/index-ziRsjY9I.js","assets/index-CEjQCdOu.css","assets/pc-COJePt-7.js","assets/mobile-style-CdEh2jmr.js","assets/mobile-style.vue_vue_type_script_setup_true_lang-BPf5hzWL.js","assets/theme-picker-DBEHQPAJ.js","assets/theme-picker-CUrGwaPq.css","assets/style-CFK9MlRr.js","assets/tabbar-BqLXyGAa.js","assets/tabbar-C1KhM4wz.css","assets/edit-D0eJRzXo.js","assets/menu-jRNdRy5r.js","assets/dict-CCNMoFEY.js","assets/code-DhkjCxGq.js","assets/relations-add.vue_vue_type_script_setup_true_lang-B8EGM77l.js","assets/edit-DoIT1twe.css","assets/index-APM3wetz.js","assets/code-preview.vue_vue_type_script_setup_true_lang-BzWV3a9Y.js","assets/data-table.vue_vue_type_script_setup_true_lang-diW1kYKK.js","assets/code-preview-DBWqxZs9.js","assets/data-table-CP3b6bk7.js","assets/relations-add-Wufgegpo.js","assets/dept-tongji-BGdl-ZuM.js","assets/dept-tongji-StHhDqY7.css","assets/medicine-DxV1j6hZ.js","assets/medicine-B6iX5TnL.css","assets/roster-CFwVYkME.js","assets/roster-CqNlv_rj.css","assets/tongji-8jva5VKb.js","assets/tongji-DSE3xMau.css","assets/commission-settlement-BIUQKhV2.js","assets/stats-D2lwBNks.js","assets/commission-settlement-BNUWNZPv.css","assets/index-BFqDZyjI.js","assets/qywx-B3yPQRKG.js","assets/qywx-Dym8iFe0.css","assets/yeji-CjbxhW8j.js","assets/finance-BnbY_luA.js","assets/yeji-DHJg1Acp.css","assets/edit-DhPDggz8.js","assets/edit-pY5KlSAv.css","assets/index-CNdV-UFb.js","assets/index-BvLgvj8J.css","assets/balance_details-CewPWsE5.js","assets/refund-log-BQONpIM2.js","assets/refund-log.vue_vue_type_script_setup_true_lang-7r7Aq5OJ.js","assets/mubiao-dept-card-2mhD6goO.js","assets/mubiao-dept-card-naMqyghz.css","assets/mubiao-dept-node-B8lRK-e1.js","assets/mubiao-dept-node-CANQUVWv.css","assets/mubiao-B0CIVglk.js","assets/mubiao-3I8h622-.css","assets/recharge_record-DUGG7Fe5.js","assets/refund_record-db8KZnbz.js","assets/index-BoXnkMeQ.js","assets/first_visit-BYIyH6Y1.js","assets/index-VQ442-Fo.css","assets/index-C8llQFXz.js","assets/index-Dy4Wsc6v.css","assets/OrderActionHost-B3ThVYvr.js","assets/OrderActionHost-MCeToytn.css","assets/OrderPanel-BCRcd5lr.js","assets/OrderPanel-BiwYHoSA.css","assets/PaibanPanel-BETrahUR.js","assets/PaibanPanel-aqm8azGc.css","assets/ProgressPanel-BvPmp3XS.js","assets/ProgressPanel-DAF-FohF.css","assets/index-D9lWZuU2.js","assets/index-BCK3lodp.css","assets/index-Ds14Yyfh.js","assets/index-CHaj38jg.css","assets/PromotionAutomationForm-COkTGznv.js","assets/WelcomeMessageEditor-A12mxrKO.js","assets/WelcomeMessageEditor-DiKqm3T9.css","assets/PromotionAutomationForm-CzR0bpUd.css","assets/WecomFloatingWidgetBuilder-BF_tetsw.js","assets/WecomFloatingWidgetBuilder-BZMBgDqB.css","assets/index-MdTuu9az.js","assets/index-CZe6kgsS.css","assets/index-D53G6fzu.js","assets/index-DNCpQzcN.css","assets/edit-B8eFIqdD.js","assets/message-DOlfHejJ.js","assets/index-Q5Ek1In8.js","assets/edit-C3Dfhz08.js","assets/edit.vue_vue_type_script_setup_true_lang-BbtSbzTO.js","assets/index-DM8wou5M.js","assets/index-YlXDfCLx.js","assets/index-CmFE2aZQ.css","assets/edit-B86t9jbn.js","assets/edit.vue_vue_type_script_setup_true_lang-BRlch2LV.js","assets/index-C0TmyDi6.js","assets/edit-DvbnA_Iw.js","assets/edit.vue_vue_type_script_setup_true_lang-ob5lYdp3.js","assets/index-BuoDXKR5.js","assets/index-BTlyUNCl.js","assets/index-DWhVPfZC.css","assets/edit-D5E4IGLO.js","assets/edit.vue_vue_type_script_setup_true_lang-DPPpbCfy.js","assets/index-B9Q0OYI5.js","assets/edit-Cezi5UCT.js","assets/edit.vue_vue_type_script_setup_true_lang-D6zueV1n.js","assets/picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js","assets/index-c6l5F9Wm.js","assets/auth-Cq56kTJb.js","assets/auth.vue_vue_type_script_setup_true_lang-B51KH8Bx.js","assets/edit-BN7xhPW7.js","assets/edit.vue_vue_type_script_setup_true_lang-BvK-Tfoj.js","assets/index-wP2rzNak.js","assets/index-0MmkT8Lc.js","assets/index-Dm-pQxZ-.css","assets/index-BrWEzRo9.js","assets/edit-BtPgqFvb.js","assets/edit.vue_vue_type_script_setup_true_lang-CFD_TYnI.js","assets/index-B-4XfG4i.js","assets/edit-DI6xYbut.js","assets/edit.vue_vue_type_script_setup_true_lang-JR5eebf3.js","assets/index-CDzfJx8p.js","assets/edit-DKzh1wFK.js","assets/pay-C3f37fth.js","assets/getExposeType-MUpmx9zy.js","assets/edit-C9lyE4Yw.css","assets/index-B0O0Dlpp.js","assets/index-D7__UvHo.js","assets/index-nUSE5ReJ.js","assets/index-C-vrObNh.css","assets/edit-Cr_KB7Uj.js","assets/edit.vue_vue_type_script_setup_true_lang-_2sKDGdl.js","assets/index-ADsqVpLj.js","assets/cache-D_vN465x.js","assets/environment-ByMIQ2-e.js","assets/journal-5h3b-rKa.js","assets/edit-EVe-rvDl.js","assets/index-DAuHO-PF.js","assets/login_register-CC_WxvcF.js","assets/user-BEhg7-Z3.js","assets/setup-BE7_lWZ-.js","assets/filing-AgGjXE6m.js","assets/website-CUzsflNy.js","assets/information-BPMYpBuF.js","assets/protocol-0nHxkgVv.js","assets/statistics-Cs8S-p71.js","assets/index-Dp25xzkX.js","assets/index-BWKbVls9.css","assets/index-uhLoGVNB.js","assets/index-DBNvK3ZK.css","assets/index-CguMPd65.js","assets/index-C2F2QIu1.css","assets/index-Vc0qWDyq.js","assets/index-DvHjwixo.css","assets/index-J4t9UnEx.js","assets/index-Yr_JizPl.css","assets/MediaSourceSelect-D2O2xTjc.js","assets/MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js","assets/account_cost-Cu7HRXZ4.js","assets/self_input_stats-VfgnRjmU.js","assets/cost-edit.vue_vue_type_script_setup_true_lang-BSDLDO6E.js","assets/useMediaSourceOptions-B5yhXJl7.js","assets/account_cost-DtatZw1q.css","assets/cost-edit-BkHmQaQh.js","assets/index-CXKP4IpU.js","assets/yeji-edit.vue_vue_type_script_setup_true_lang-Do3QS6R1.js","assets/index-DTWieVTb.css","assets/yeji-edit-DNKGXffJ.js","assets/prescription-drawer-BZnGD-lY.js","assets/prescription-drawer-BjwiqvPc.css","assets/list-BY4Dc_F3.js","assets/list-Beqv0vqM.css","assets/list_h5-D1GNR55p.js","assets/list_h5-Be882vvL.css","assets/add-DUPS86dc.js","assets/add-D6GVcDKr.css","assets/appointment-aTSV_XED.js","assets/appointment-JDceTxKO.css","assets/AssistantWatchCallDialog-BLaY2Gyh.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css","assets/BloodRecordList-EQkADV67.js","assets/BloodRecordList-DhVK-Y_e.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/DietRecordList-DiOY_-B_.js","assets/DietRecordList-Cc-xUr2B.css","assets/ExerciseRecordList-BcbsP5MM.js","assets/ExerciseRecordList-DGtgtzou.css","assets/TrackingMatrix-DM20myFS.js","assets/TrackingMatrix-CFaje3R8.css","assets/TrackingNoteTimeline-BN_PykOB.js","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-BzY4w_V9.js","assets/edit-BhCPKHfV.js","assets/index-B6hZ4N_9.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/index-hyZhgnYU.js","assets/index-nUsN4URL.css","assets/index-BqygYdeI.js","assets/index-Cmf8QBsF.css","assets/file-BDJxuISl.js","assets/icon-CPBsEowB.js","assets/link-CGojB-wX.js","assets/overflow-dVvSdRur.js","assets/popover_input-CuE6I06A.js","assets/rich_text-ocUaHwdI.js","assets/upload-DeI6j3R7.js","assets/patient-call-BVrmqt06.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/rtc-detect-Chu-fZvE.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/patient-call-BRSvBZIt.css","assets/index-DI1J3EW8.js","assets/index-DtDaTXOB.css"])))=>i.map(i=>d[i]); -var x1=Object.defineProperty;var H1=(a,o,e)=>o in a?x1(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e;var $=(a,o,e)=>H1(a,typeof o!="symbol"?o+"":o,e);import{_ as t}from"./jspdf-BsthCvR5.js";import{u as A3,a as s3,c as T1,b as O1,R as O3}from"./vue-router-QlpZ4wdW.js";import{d as V3,c as I1}from"./pinia-B8cvXbiZ.js";import{a as J3,A as p3}from"./axios-C80V62Fs.js";import{l as S}from"./lodash-D3kF6u-c.js";import{y as m,a as j,n as c3,q as P1}from"./@vue/reactivity-DiY1c2vO.js";import{E as u3,a as Z,b as d3,c as R1,d as Q3,e as a1,f as D1,g as B1,h as C1,i as S1,j as k1,k as j1,l as N1,m as q1,n as o1,o as e1,p as t1,q as W1,r as i1,s as l1,u as G1,t as $1,v as U1,w as F1,x as Y1,y as Z1,z as X1,A as K1}from"./element-plus-DGP1XOrU.js";import{u as c1,a as s1,b as J1,c as Q1}from"./@vueuse/core-1S4fJlii.js";import{n as a0,f as L,A as b,ak as h,I as g,J as d,a as u,ar as n3,i as o0,aN as z,F as D,ap as K,O as I,G as A,H as C,w as n1,K as e0,at as r1,ab as k3,aP as m1,Z as t0,aq as i0,b as u1,d as l0,T as c0}from"./@vue/runtime-core-C6bnekPw.js";import{a as d1,p as r3,Q as P,o as b3,P as s0}from"./@vue/shared-mAAVTE9n.js";import{c as n0}from"./css-color-function-DI01JAaZ.js";import{I as h1,J as r0,d as m0,K as u0,c as d0}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as h0,h as _0}from"./@vueuse/shared-Cl3lVqjz.js";import{T as v0,q as _1,s as p0,a as z0,c as b0}from"./@vue/runtime-dom-DDAG46FW.js";import{u as y0}from"./vue-clipboard3-DByT_rEQ.js";import{u as g0,a as w0,b as f0,c as A0,d as V0,e as L0,f as E0,g as M0,h as x0,j as H0,k as T0,l as O0,m as I0,n as P0,o as R0,p as D0,q as B0,r as C0,s as S0,v as k0,w as j0,x as N0,y as q0,z as W0,A as G0,B as $0}from"./echarts-CNLwa9wG.js";import{a as U0}from"./highlight.js-Bxt7hFFy.js";import{o as F0}from"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./clipboard-CHgxszqY.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))i(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const s of c.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).observe(document,{childList:!0,subtree:!0});function e(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(l){if(l.ep)return;l.ep=!0;const c=e(l);fetch(l.href,c)}})();const B={terminal:1,title:"后台管理系统",version:"1.9.4",baseUrl:"/",urlPrefix:"adminapi",timeout:30*1e3};var T=(a=>(a.LOGIN="/login",a.ERROR_403="/403",a.INDEX="/",a))(T||{}),v1=(a=>(a.LIGHT="light",a.DARK="dark",a))(v1||{}),y3=(a=>(a.CATALOGUE="M",a.MENU="C",a.BUTTON="A",a))(y3||{}),I3=(a=>(a[a.SM=640]="SM",a[a.MD=768]="MD",a[a.LG=1024]="LG",a[a.XL=1280]="XL",a[a["2XL"]=1536]="2XL",a))(I3||{});const n7={1:"微信小程序",2:"微信公众号",3:"手机H5",4:"电脑PC",5:"苹果APP",6:"安卓APP"};var p1=(a=>(a.JSON="application/json;charset=UTF-8",a.FORM_DATA="multipart/form-data;charset=UTF-8",a))(p1||{}),e3=(a=>(a.GET="GET",a.POST="POST",a))(e3||{}),U=(a=>(a[a.NOT_INSTALL=-2]="NOT_INSTALL",a[a.LOGIN_FAILURE=-1]="LOGIN_FAILURE",a[a.FAIL=0]="FAIL",a[a.SUCCESS=1]="SUCCESS",a[a.OPEN_NEW_PAGE=2]="OPEN_NEW_PAGE",a[a.NEED_BIND_WORK_WECHAT=10]="NEED_BIND_WORK_WECHAT",a))(U||{});const j3="token",r7="account",g3="setting";function J(a){return/^(https?:|mailto:|tel:)/.test(a)}const Y0=(a,o)=>o.findIndex(e=>e.fullPath==a),N3=a=>a.name==null||a.name===""?"":`${String(a.name)}::${a.path}`,Z0=(a,o)=>{const{path:e,meta:i,name:l}=a;return!!(!e||J(e)||i!=null&&i.hideTab||!o.hasRoute(l)||[T.LOGIN,T.ERROR_403].includes(e))},X0=(a,o)=>o.findIndex(e=>e.fullPath===a),M3=a=>{var o,e,i;return(i=(e=(o=a.matched.at(-1))==null?void 0:o.components)==null?void 0:e.default)==null?void 0:i.name},z1=a=>{const{params:o,path:e,query:i}=a;return{params:o||{},path:e,query:i||{}}},m3=V3({id:"tabs",state:()=>({cacheTabList:new Set,tabList:[],tasMap:{},indexRouteName:""}),getters:{getTabList(){return this.tabList},getCacheTabList(){return Array.from(this.cacheTabList)}},actions:{setRouteName(a){this.indexRouteName=a},addCache(a){a&&this.cacheTabList.add(a)},removeCache(a){a&&this.cacheTabList.has(a)&&this.cacheTabList.delete(a)},clearCache(){this.cacheTabList.clear()},resetState(){this.cacheTabList=new Set,this.tabList=[],this.tasMap={},this.indexRouteName=""},addTab(a){const o=m(a.currentRoute),{name:e,query:i,meta:l,params:c,fullPath:s,path:r}=o;if(Z0(o,a))return;const n=Y0(s,this.tabList),v=M3(o),p={name:e,path:r,fullPath:s,title:l==null?void 0:l.title,query:i,params:c};if(l!=null&&l.keepAlive&&this.addCache(v),n!==-1){this.tabList[n]=p,this.tasMap[s]=p;return}const _=N3(p);if(_){const w=[];if(this.tabList.forEach((O,E)=>{N3(O)===_&&w.push(E)}),w.length>0){const O=w[0];for(let x=w.length-1;x>=1;x--){const f=w[x];delete this.tasMap[this.tabList[f].fullPath],this.tabList.splice(f,1)}const E=this.tabList[O];E.fullPath!==s&&delete this.tasMap[E.fullPath],this.tabList[O]=p,this.tasMap[s]=p;return}}this.tasMap[s]=p,this.tabList.push(p)},removeTab(a,o){const{currentRoute:e,push:i}=o,l=X0(a,this.tabList);this.tabList.length>1&&l!==-1&&this.tabList.splice(l,1);const c=M3(e.value);if(this.removeCache(c),a!==e.value.fullPath)return;let s=null;l===0?s=this.tabList[l]:s=this.tabList[l-1];const r=z1(s);i(r)},removeOtherTab(a){this.tabList=this.tabList.filter(e=>e.fullPath==a.fullPath);const o=M3(a);this.cacheTabList.forEach(e=>{o!==e&&this.removeCache(e)})},removeAllTab(a){const{push:o,currentRoute:e}=a,{name:i}=m(e);if(i==this.indexRouteName){this.removeOtherTab(e.value);return}this.tabList=[],this.clearCache(),o(T.INDEX)}}}),F={key:"like_admin_",set(a,o,e){a=this.getKey(a);let i={expire:e?this.time()+e:"",value:o};typeof i=="object"&&(i=JSON.stringify(i));try{window.localStorage.setItem(a,i)}catch{return null}},get(a){a=this.getKey(a);try{const o=window.localStorage.getItem(a);if(!o)return null;const{value:e,expire:i}=JSON.parse(o);return i&&i{a3.has(e)||a3.set(e,i)})}remove(o){if(a3.has(o)){const e=a3.get(o);e&&e(o),a3.delete(o)}}};$(f3,"instance");let R3=f3;const q3=R3.createInstance();class J0{constructor(o){$(this,"axiosInstance");$(this,"config");$(this,"options");this.config=o,this.options=o.requestOptions,this.axiosInstance=J3.create(o),this.setupInterceptors()}getAxiosInstance(){return this.axiosInstance}setupInterceptors(){if(!this.config.axiosHooks)return;const{requestInterceptorsHook:o,requestInterceptorsCatchHook:e,responseInterceptorsHook:i,responseInterceptorsCatchHook:l}=this.config.axiosHooks;this.axiosInstance.interceptors.request.use(c=>(this.addCancelToken(c),S.isFunction(o)&&(c=o(c)),c),c=>(S.isFunction(e)&&e(c),c)),this.axiosInstance.interceptors.response.use(c=>(this.removeCancelToken(c.config.url),S.isFunction(i)&&(c=i(c)),c),c=>{var s;return S.isFunction(l)&&l(c),c.code!=p3.ERR_CANCELED&&this.removeCancelToken((s=c.config)==null?void 0:s.url),c.code==p3.ECONNABORTED||c.code==p3.ERR_NETWORK?new Promise(r=>setTimeout(r,500)).then(()=>this.retryRequest(c)):Promise.reject(c)})}addCancelToken(o){const{ignoreCancelToken:e}=o.requestOptions;!e&&q3.add(o)}removeCancelToken(o){q3.remove(o)}retryRequest(o){var c;const e=o.config,{retryCount:i,isOpenRetry:l}=e.requestOptions;return!l||((c=e.method)==null?void 0:c.toUpperCase())==e3.POST||(e.retryCount=e.retryCount??0,e.retryCount>=i)?Promise.reject(o):(e.retryCount++,this.axiosInstance.request(e))}get(o,e){return this.request({...o,method:e3.GET},e)}post(o,e){return this.request({...o,method:e3.POST},e)}request(o,e){const i=S.merge({},this.options,e),l={...S.cloneDeep(o),requestOptions:i},{urlPrefix:c}=i;return c&&(l.url=`${c}${o.url}`),new Promise((s,r)=>{this.axiosInstance.request(l).then(n=>{s(n)}).catch(n=>{r(n)})})}}function Q0(){if(typeof window>"u")return!1;const{pathname:a,search:o}=window.location;return a.includes("bind-work-wechat")?/(?:^|[?&])code=/.test(o):!1}const W3="/bind-work-wechat";let G3=0;const a2={requestInterceptorsHook(a){var c;const{withToken:o,isParamsToData:e}=a.requestOptions,i=a.params||{},l=a.headers||{};if(o){const s=b1();l.token=s}return e&&!Reflect.has(a,"data")&&((c=a.method)==null?void 0:c.toUpperCase())===e3.POST&&(a.data=i,a.params={}),a.headers=l,a},requestInterceptorsCatchHook(a){return a},async responseInterceptorsHook(a){const{isTransformResponse:o,isReturnDefaultResponse:e}=a.config.requestOptions;if(e)return a;if(!o)return a.data;const{code:i,data:l,show:c,msg:s}=a.data;switch(i){case U.SUCCESS:return c&&s&&X.msgSuccess(s),l;case U.FAIL:return c&&s&&X.msgError(s),Promise.reject(l);case U.LOGIN_FAILURE:return t3(),H.push(T.LOGIN),Promise.reject();case U.NEED_BIND_WORK_WECHAT:if(H.currentRoute.value.path===W3||Q0())return Promise.reject(l);{const r=Date.now();r-G3>400&&(G3=r,H.replace(W3).catch(()=>{}))}return Promise.reject(l);case U.OPEN_NEW_PAGE:return window.location.href=l.url,l;case U.NOT_INSTALL:window.location.replace("/install/install.php");break;default:return l}},responseInterceptorsCatchHook(a){return a.code!==p3.ERR_CANCELED&&a.message&&X.msgError(a.message),Promise.reject(a)}},o2={timeout:B.timeout,baseURL:B.baseUrl,headers:{"Content-Type":p1.JSON,version:B.version},axiosHooks:a2,requestOptions:{isParamsToData:!0,isReturnDefaultResponse:!1,isTransformResponse:!0,urlPrefix:B.urlPrefix,ignoreCancelToken:!1,withToken:!0,isOpenRetry:!0,retryCount:2}};function e2(a){return new J0(S.merge(o2,{}))}const V=e2();function t2(a){return V.post({url:"/login/account",params:{...a,terminal:B.terminal}})}function i2(){return V.post({url:"/login/logout"})}function l2(){return V.get({url:"/auth.admin/mySelf"})}function m7(a){return V.post({url:"/auth.admin/editSelf",params:a})}function u7(){return V.get({url:"/login/workWechatConfig"})}function c2(a){return V.post({url:"/login/workWechatLogin",params:{...a,terminal:B.terminal}})}function d7(){return V.get({url:"/login/iamConfig"})}function s2(a){return V.post({url:"/login/iamExchange",params:a})}function h7(){return`${B.baseUrl.replace(/\/+$/,"")}/${B.urlPrefix}/login/iamStart`}function _7(a){return V.post({url:"/auth.admin/bindWorkWechat",params:a})}function v7(){return V.post({url:"/auth.admin/unbindWorkWechat"})}function p7(a){return V.post({url:"/login/changeFirstPassword",params:a})}const Y=V3({id:"user",state:()=>({token:b1()||"",userInfo:{},routes:[],perms:[],isPaw:1}),getters:{},actions:{applyLoginResult(a){return this.token=a.token,this.isPaw=a.is_paw??1,F.set(j3,a.token),a},resetState(){this.token="",this.userInfo={},this.perms=[],this.isPaw=1},login(a){const{account:o,password:e}=a;return new Promise((i,l)=>{t2({account:o.trim(),password:e}).then(c=>{i(this.applyLoginResult(c))}).catch(c=>{l(c)})})},logout(){return new Promise((a,o)=>{i2().then(async e=>{this.token="",await H.push(T.LOGIN),t3(),a(e)}).catch(e=>{o(e)})})},workWechatLogin(a){return new Promise((o,e)=>{c2({code:a}).then(i=>{o(this.applyLoginResult(i))}).catch(i=>{e(i)})})},iamHubLogin(a){return new Promise((o,e)=>{s2({code:a}).then(i=>o(this.applyLoginResult(i))).catch(e)})},getUserInfo(){return new Promise((a,o)=>{l2().then(e=>{this.userInfo=e.user,this.perms=e.permissions,this.routes=f1(e.menu),this.isPaw=e.user.is_paw??1,a(e)}).catch(e=>{o(e)})})}}});function y1(){return V.get({url:"/config/getConfig"})}function z7(){return V.get({url:"/workbench/index"})}function b7(a){return V.get({url:"/config/dict",params:a})}const k=V3({id:"app",state:()=>({config:{},configFetchAttempted:!1,isMobile:!0,isCollapsed:!1,isRouteShow:!0}),actions:{getImageUrl(a){if(!a||typeof a!="string")return"";if(a.startsWith("http://")||a.startsWith("https://"))return a;const o=a.startsWith("/")?a:"/"+a,e=String(this.config.oss_domain||"").replace(/\/$/,"");if(e)return`${e}${o}`;const i=String(B.baseUrl||"/").replace(/\/+$/,"");if(i.startsWith("http://")||i.startsWith("https://"))try{return new URL(o,`${i}/`).href}catch{return`${i}${o}`}const l=typeof window<"u"?window.location.origin:"";return l?`${l}${o}`:o},getConfig(){return new Promise((a,o)=>{y1().then(e=>{this.config=e,a(e)}).catch(e=>{o(e)})})},setMobile(a){this.isMobile=a},toggleCollapsed(a){this.isCollapsed=a??!this.isCollapsed},refreshView(){this.isRouteShow=!1,a0(()=>{this.isRouteShow=!0})}}}),z3={showCrumb:!0,showLogo:!1,isUniqueOpened:!0,sideWidth:183,sideTheme:"dark",sideDarkColor:"#1d2124",openMultipleTabs:!0,theme:"#4A5DFF",successTheme:"#67c23a",warningTheme:"#e6a23c",dangerTheme:"#f56c6c",errorTheme:"#f56c6c",infoTheme:"#909399"},N=1,n2={1:["sideTheme","sideDarkColor"]},r2={"dark-2":"shade(20%)","light-3":"tint(30%)","light-5":"tint(50%)","light-7":"tint(70%)","light-8":"tint(80%)","light-9":"tint(90%)"},m2={"light-3":"shade(20%)","light-5":"shade(30%)","light-7":"shade(50%)","light-8":"shade(60%)","light-9":"shade(70%)","dark-2":"tint(20%)"},$3="theme-vars",u2=(a,o="primary",e=!1)=>{const i={[`--el-color-${o}`]:a},l=e?m2:r2;for(const c in l)i[`--el-color-${o}-${c}`]=`color(${a} ${l[c]})`;return i},d2=(a,o=!1)=>{const e=Object.keys(a).reduce((c,s)=>Object.assign(c,u2(a[s],s,o)),{});let i=Object.keys(e).reduce((c,s)=>{const r=n0.convert(e[s]);return`${c}${s}:${r};`},"");i=`:root{${i}}`;let l=document.getElementById($3);if(l){l.innerHTML=i;return}l=document.createElement("style"),l.setAttribute("type","text/css"),l.setAttribute("id",$3),l.innerHTML=i,document.head.append(l)},h3=F.get(g3);function h2(a,o){if(o>=N)return;for(let l=o+1;l<=N;l++){const c=n2[l];if(c)for(const s of c)a[s]=z3[s]}a._settingSchemaVersion=N;const{showDrawer:e,...i}=a;F.set(g3,i)}const q=V3({id:"setting",state:()=>{const a={showDrawer:!1,...z3};let o=N;return d1(h3)&&(o=typeof h3._settingSchemaVersion=="number"?h3._settingSchemaVersion:0,Object.assign(a,h3),oObject.is(Number(a),NaN)?a:`${a}${o}`,U3=a=>a==null&&typeof a>"u",w7=(a,o={children:"children"})=>{a=S.cloneDeep(a);const{children:e}=o,i=[],l=[];for(a.forEach(c=>l.push(c));l.length;){const c=l.shift();c[e]&&(c[e].forEach(s=>l.push(s)),delete c[e]),i.push(c)}return i},f7=(a,o={id:"id",parentId:"pid",children:"children"})=>{a=S.cloneDeep(a);const{id:e,parentId:i,children:l}=o,c=[],s=new Map;return a.forEach(r=>{s.set(r[e],r);const n=s.get(r[i]);n?(n[l]=n[l]??[],n[l].push(r)):c.push(r)}),c};function p2(a){if(a.length===0||!a||a=="undefined")return a;const o=a.replace("//","/"),e=o.length;return o[e-1]==="/"?o.slice(0,e-1):o}function z2(a){let o="";for(const e of Object.keys(a)){const i=a[e],l=encodeURIComponent(e)+"=";if(!U3(i))if(d1(i)){for(const c of Object.keys(i))if(!U3(i[c])){const s=e+"["+c+"]",r=encodeURIComponent(s)+"=";o+=r+encodeURIComponent(i[c])+"&"}}else o+=l+encodeURIComponent(i)+"&"}return o.slice(0,-1)}const A7=(a,o="yyyy-mm-dd")=>{a||(a=Number(new Date)),a.toString().length==10&&(a*=1e3);const e=new Date(a);let i;const l={"y+":e.getFullYear().toString(),"m+":(e.getMonth()+1).toString(),"d+":e.getDate().toString(),"h+":e.getHours().toString(),"M+":e.getMinutes().toString(),"s+":e.getSeconds().toString()};for(const c in l)i=new RegExp("("+c+")").exec(o),i&&(o=o.replace(i[1],i[1].length==1?l[c]:l[c].padStart(i[1].length,"0")));return o},V7=(a=8)=>{let o=Date.now().toString(36);return o+=Math.random().toString(36).substring(3,a),o},L7=(a,o)=>{o=Math.min(1,Math.max(0,o));const e=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,i=/^rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)$/,l=/^rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[0-9.]+\s*\)$/;let c=0,s=0,r=0;if(e.test(a)){const n=a.slice(1),v=n.length===3?n.split("").map(p=>p+p).join(""):n;c=parseInt(v.substring(0,2),16),s=parseInt(v.substring(2,4),16),r=parseInt(v.substring(4,6),16)}else if(i.test(a)){const n=a.match(/\d+/g);n&&(c=parseInt(n[0]),s=parseInt(n[1]),r=parseInt(n[2]))}else if(l.test(a)){const n=a.match(/\d+(\.\d+)?/g);n&&(c=parseInt(n[0]),s=parseInt(n[1]),r=parseInt(n[2]))}else throw new Error("Unsupported color format");return`rgba(${c}, ${s}, ${r}, ${o})`},b2=L({props:{name:{type:String,required:!0},size:{type:[Number,String],default:16},color:{type:String,default:"inherit"}},setup(a){const o=b(()=>`#${a.name}`),e=b(()=>({width:i3(a.size),height:i3(a.size),color:a.color}));return{symbolId:o,styles:e}}}),R=(a,o)=>{const e=a.__vccOpts||a;for(const[i,l]of o)e[i]=l;return e},y2=["xlink:href"];function g2(a,o,e,i,l,c){return h(),g("svg",{"aria-hidden":"true",style:r3(a.styles)},[d("use",{"xlink:href":a.symbolId,fill:"currentColor"},null,8,y2)],4)}const w2=R(b2,[["render",g2]]),W=L({name:"Icon",props:{name:{type:String,required:!0},size:{type:[String,Number],default:"14px"},color:{type:String,default:"inherit"}},setup(a){return()=>a.name.indexOf(D3)===0?u(Q3,{size:a.size,color:a.color},{default:()=>u(n3(a.name.replace(D3,"")))}):a.name.indexOf(v2)===0?o0("i",{class:["local-icon"]},u(w2,{...a})):null}}),f2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAACHCAYAAABUFMgyAAAABHNCSVQICAgIfAhkiAAACbtJREFUeF7tm39olVUYx++92wo0ZiL0V2v/SKMcVMzUtMTyjzL/KUpwWCpuzbZVxpikIWQLBIMUnLiMSWXYJhSYsiA1dNaQCSqkadGGOQdj/dpubM79uPf2nts9l7Oz8/66976/nvsdXO6v957zPM/53A/Pe967cAh/qADRCoSJ5oW0UIEQ4AYEZCsAuMkuLRJzC2635sGKBqcCCadDzRV0uRrH6XwxfnAqkDX8uYLSaJxczRGcZUGkVitgBLCncMvQGj0H4FaXO3+OE+GVQTZ7bqlKdqFTHc9fE9/Te2wpKByUNxXQA9wO+LrFyhZu9nkRbhXobHK78+TN6uZxonp2Zq/z9+R7Vi7L7Yod6GRwZaiToLe0fP5wJBJu/HsounhqcrLQjcV7fNFj/65YvmTYjbkwR+YVCIfDKjAnx8fHu3p6er6oqKi4lYKXA64HuSXArcCtajG4sdOA72s+dPK7k+eW37jRZ2XMzCuk+GR93YZQXe2GnI6JwdyvQDweH79z587h2bNnvyHZW4TcqGWZFrQVEFXGTsPd2npkSdf5S6e6uy/d5X45/p+xrnZ9qL5uo1fTY94cVyAWiw329vY+W1ZWdl0yOW9LVO3KjCjM4DYCO3LgwGdfHWk7tnpoKGo2To7Tnz4c4Ha0vJ4Mnkgk4iMjI7uLi4vfTwEeN7C5MkYzKJV9tTZSRLuFN25qiF64cNkzY/OMALcn/Dk+6dTU1F9FRUUlEtx6/XhW5magJ6Fm93v2Hvyh9VD7QscztDAB4LZQpIAeMjY2dnTWrFms5+Tm1jN4RnCLJ48c8Miq1a+O3rzZb2Z+V0oKuF0psyeTaO3JRCQSuTcFNwdbtLfuzokZnCLYaWvv39+6qOXgl2e1ic0+70pBALcrZfZqksTFixcXan/XFPY2PLE0glNpbNaStHx8+JPm/Z+u8ypbeV7A7ZeVcCaO4eHhprlz5+4W7C0bnE08w+B6cMsnkmlrM7ibPth7vf3o8QecScX+qIDbfs2C9Amt7/5R67ufk+AWAc8Y7mlgp+C+BriDhEewY9WBm/fdDPKs4GaAp2+auX8G3MEGJkjRp+B+Xos5pmhNbMEtX26fBrY2eIEG91XAHSQ8gh2rADcDWQSc2ZvDPcPeqp5bfE1uSQpSbQngDjYvgYr+9u3bXdrvTVYJ1uaAZww33y0RAWdwa+beo8F9gl058sUfTih9sQyOBZGCW2xLGNwcbNVPZJOxGJlbhFtsTQC3Y8uIgVUVUMDNWhG9K5bpITKBu3Db9l1dx0+cWuCXpYC5/bISzsSRgnt1qt9W9dzKizl24U62JW+9vePk6dNdi5xJxf6ogNt+zYL0CVfhrq3f1tHZ2b3MLwUC3H5ZCWfikOAWd0zEvptNPu0qZUbmBtzOLCJGVVcAcOM/cch+NwA34AbcaEvIMkA2MZgb5gbcFM29uWZdaHPNK2QXN98TGx0dbZ83b97rqX3u/Notqa5aG6quqsx3BsjmPzQ09GFpaekuwE12ifM3McANc5OlH3ADbsBN8YQSPTdZrpOJwdwwN1nCATfgBtxoS8gyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmzhe4Y1qi8dQtIdyz/Nnz9F9YURH+Grtnt4h0K6yt39bR2dm9zC/VrK5aG6oG3H5ZjpzHIZnbUbgLNLi/Bdw5X0MMqFOBaDS6u6SkZJf2tgg2s3dOzM0NXqANWLD1naatHR1ndvhlNWBuv6yEM3H09fW9XF5efkqAm0Eugs3bEcttCYuUtSRia5KEu66uofzsuctdzqRif1TAbb9mQfpEe3t7WU1NzYAWM++1ucEZzPzGUrIFt9xzM7iTPfjSJ1/4Z3g4yh57/ge4PV8CxwJIJBJ/zJkz50EF2GJbwuc3hZsdKJ5UivZOmpvBXf/mu1+fOXN+pWNZ2RgYcNsoVsAO1U4mm0pLS/ek4GbGlq3NIJ9hbRFiOWU9uPnOSUFxcXHhiqdfutnT+/s9XtcLcHu9As7MPz4+3jl//vwXtRNKEWpxG5D33RnDzVsTufeObNmy/anz3Ve+GRkZ9bQ9AdzOwOXlqPF4fLi1tfWJxsZGsdfmYMuAZwW3ar87afH1mzY/NDEWOfbTlV/u86oYgNuryjsz79jY2PctLS11O3fu/FNoQ/TAVu6UGLUlct+tsne6RWE9ekPDex9dvfZbZX//wN3OpKw/6mvVlaGqTWvdnhbz5bgCk5OTvw4MDOzTtv2OpnpsBrTYY1vaAuRhqa5QiiHzq5TivXzFctp24Zo1G+/XNtwrJyZji2OxWBEfLBFKmM2VcakefWRB/8pnlt7KeAB80NUKhMPh9K6G9nhicHDwSltb24Xm5uaoFgjvo2VTy62IvA04Iwcz4DjU3OTyvjd/LrYt4heBf85sHleLi8l8UQF5f1qEVf7tiNFvSaZt/8lmNspU/p2J+HsTsVWRH8tfCsDtC558FYQZ3Px9+TK74YWbTOAWDSwDrnouG1uEG6D7ijFXgxEtK54Iyo850LLNVa1IxuZWnViqQBfNDbBd5SVwk2UDOEtW93K7XAkrFpWtK7cqcj8ufiGMHgduVRBwTiqggptDy++5uVUw633e9gmlqoUR4VZZXAYagOeECRKDmIEtwqwytO6etqo6Vsyt16PrQW4GN4lVQhJZV8AIdBliy7bWg9VKtPKXQQYcYFupIo7hFZBPBlVm1jvGtIp2zc0H1INcBbfea6bB4QDSFVDtcui1Hbo7IkYVyhRueUyjcXI1B+mVzuPk9MDNCOhs2hK9NQDAeUynQ6n7Bm6z/AC/WYXy7/2s4TUrGaAzqxDeD2wFAHdglw6Bm1UAcJtVCO8HtgKAO7BLh8DNKvAfR+rWAIVxGVEAAAAASUVORK5CYII=",A2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAACHCAYAAABUFMgyAAAABHNCSVQICAgIfAhkiAAACbZJREFUeF7t201oXFUUB/DMRyJNpE0JuJqYTWtQs2pLqxSzcWGiK8FNceOqiLiMOxe1i0IFXdhFIXSli6agoJS6aBEM2o2QlbXFfkBNhRBNbRIyTTOTzHjv8O5wc3Pf55x578y7/0LI1+S8c8/95eTMfdNCH/6hAjmtQCGn68KyUIE+4AaC3FYAuHO7tVhYWrjTug52tHcq0Ox2qlToqOJ0e72I3zsV6Bg/FcqgOFTX6J1tQaZRKxAEOFPcJtqgzwE86na78zgdrwk57PNIVYqLzvZ49TX9e34fR0oKD3KmAn7A48D3LVanuOXP67ht0OXF417Hmd11eKF+3Vl+XX3PfC/LFXlciYPOhGuibkG/d+/eK5VKZWZgYOBEs9ksp7F5Ozs7641GYzWNa+EayStQKBRsMOtbW1s379+//83Ro0cfeXgVcD/kkYBHwW0bMVTHbgOv1WrXy+XypFhAlJjJK4SfzG0FRIPaevbs2ddDQ0MfG91bRx40suyqTRSIto7dxr24uPia6NQ3hOmB3FYdC0u1AuIv8fKDBw/eGh8fv2N0cjWW2MaVPTmG4Q6CXRR/Tr4V48c7mKlT3XsnLiZG2sbGxsb5/fv3f+YBbwR0c2tN4uDWR5GiBC3+jKyhYzthLZNFbm9vr/T3948auP3m8Y46t8TdQi3f1+v1X8SMfSyTVeOizlRgc3PzyuDg4Adiwapz+3XwRLj1jq2AF8WfjSrGEWeMZbZQ4axWLBaHPdwKtt69fU9OoowlCne7a9+9e/f44cOHfwbuzPbcpQs3FxYWjol/ty3dO/CJZRBua8eWI8nTp09n9+3b975LFcZas6vA6urq2YMHD57XurfZwWVyezq4H27zBk27a0vcYtC/UyqVXsxuubiySxUQc/evYu6eMnDrwBPj3gXbw30buF3ile1afXCruVsi7wi3BN5+E537D+DOdsNdurqH+22x5h3LaBILt3m7fRdsEbwkcN8Cbpd4ZbtWDbeErAOX3Vvh3tO9bTO3/jVzJCl5YwlwZ7vfTl1dHGDcFK83mda6tgKeGPeeI0DZteWbeJHULe/OkVNFxmKzqYCHWx9LJG4F2/YS2VaiQZ1bx62PJsCdzR47e1ULbjmK+N2xbNcpCe6yfP2teMHUq85WGwtPtQIebvkCPdmxbTO39WZOXNytsURc7Lq4iXM81RXiYs5WIFXc1Wr1mjhUP+lstbHwVCtg4NZPTPS5O9ZpiW3mbnVu4E51b52/GHA7TyC/BQDu/O6t8ysDbucJ5LcAwJ3fvXV+ZU7jFv9buk+83sV5BHktgDjAmBsZGflQO+M2b7/TnXNzOy0RLwfoEzeW8rq3zq/ryZMnn4+NjZ0Dbucp5K8AwI3OnT/V3oqAG7iB2/h/lIleW4KZO7eOWC4MnRudmyVMiqSAG7gpHLGMAdzAzRImRVLADdwUjljGAG7gZgmTIingBm4KRyxjADdws4RJkRRwAzeFI5YxgBu4WcKkSAq4gZvCEcsYwA3cLGFSJAXcwE3hiGUM4AZuljApkgJu4KZwxDIGcAM3S5gUSQE3cFM4YhkDuIGbJUyKpIAbuCkcsYwB3MDNEiZFUsAN3BSOWMYAbuBmCZMiKeAGbgpHLGMAN3CzhEmRFHADN4UjljGAG7hZwqRICriBm8IRyxjADdwsYVIkBdzATeGIZQzgBm6WMCmSAm7gpnDEMgZwAzdLmBRJATdwUzhiGQO4gZslTIqkgBu4KRyxjAHcwM0SJkVSwA3cFI5YxgBu4GYJkyIp4AZuCkcsYwA3cLOESZEUcAM3hSOWMYAbuFnCpEgKuIGbwhHLGMAN3CxhUiQF3MBN4YhlDOAGbpYwKZICbuCmcMQyBnADN0uYFEkBN3BTOGIZA7iBmyVMiqSAG7gpHLGMAdzAzRImRVLADdwUjljGAG7gZgmTIingBm4KRyxjADdws4RJkRRwAzeFI5YxgBu4WcKkSAq4gZvCEcsYwA3cLGFSJAXcwE3hiGUM4AZuljApkgJu4KZwxDIGcAM3S5gUSQE3cFM4YhkDuIGbJUyKpIAbuCkcsYwB3MDNEiZFUsAN3BSOWMYwcO+IJBveW1N7L3OXn7f/FSyrUV+T7+Vb0XgrV6vVa4ODgye5VKJWq/VtATeX7SDPI03cJYH7R+Am30ME9KnA2tra+dHR0XPi23rXlt2bpHOrDl4SAUsrKyufjIyMfMplN9C5uexEd/JYXFx8b2Ji4oaGWyLXYatxJPJYIjOVI4k+mrRwz8/PT0xOTt7szlLiRwXu+DXrpZ+Ym5sbP3369JLIWc3aqoNLzOpNLikWbnPmlrhbM3ij0fivUCjIjzP/B9yZb0HXEmg2m/8cOHDgJQtsfSxR1w/FLR+oP6nUu3erc0vcGxsb3w0NDb3ZtVXFCAzcMYrVYw8VTybPjo2Nfenhlh3b7NoS+Z6urSM2l+yHW52clCqVSvnhw4d/lUql57OuF3BnvQPdub44AZs/dOjQu+IJpY5aPwZUc3di3Go0MWfv4sLCwhtHjhz5wRtVurPCCFGBO0KReuwhYuxdvXTp0uszMzP6rK1gm8A7wm0772518atXr748NTX1fblcfiGr+gF3VpXvznU3Nzd/unjx4kdnzpz5VxtD/GBbT0qCxhJz7rZ17/aIImf0x48ffzE8PHyqWCw+150l+0cF7rQr3p3r1ev1P5eWlr4Sx35XvBlbgtZn7EhHgCo72x1KPXN1l1J/b96x3HVcODs7W5menj4loJ8QgfpVMPGsN+xaiSsmftP/Xl9ff5Q4AH4w1QqIU7b2qYb4uLa8vPz75cuXf7tw4cKaSETN0WanNkcR8xhwzxrCwCnUqpOb597qc31s0X8R1M+FXSfV4uJiLCpgnk/rWM3XjgS9lmTX8Z/ZmYNWar7ORH+9iT6qmB+bvxTAzcITqyTCcKvvm7fZA2/cJMGtd2ATuO1zs2PruAGdlbFUk9G7rP5E0PxYgTa7uW0USdy5bU8sbdD1zg3YqXrpuYt1Alwu1vd2u1mJKF3U7LrmqGLO4/ovRNDHPbcrSJikAjbcCq16rzq3DbPfz8d+QmkbYXTcti5uggZwEhO5CBIGW8ds69C+Z9q26kTp3H4zuh/yMNy52CUsouMKBEE3EUfu1n5Yo2Rr/jKYwAE7ShXxGFUB88mgrTP7PSa0inE7twroh9yG2+9rocnhAbmugO2Uw2/s8D0RCapQUtxmzKA4VNfI9U47vDg/uIlAdzKW+O0BADuss0tLZ4M7bH3AH1Yh977fMd6wkgFdWIXw/Z6tAHD37NYh8bAKAHdYhfD9nq0AcPfs1iHxsAr8D7xvfQ8bZ0PpAAAAAElFTkSuQmCC",V2={class:"setting-drawer"},L2={class:"h-full flex flex-col"},E2={class:"setting-item mb-5"},M2={class:"flex mt-4 cursor-pointer"},x2=["onClick"],H2=["src"],T2={class:"setting-item mb-5 flex justify-between items-center"},O2={class:"setting-item mb-5 flex justify-between items-center"},I2={class:"setting-item mb-5 flex justify-between items-center"},P2={class:"setting-item mb-5 flex justify-between items-center"},R2={class:"setting-item mb-5 flex justify-between items-center"},D2={class:"setting-item mb-5 flex justify-between items-center"},B2={class:"setting-item mb-5 flex justify-between items-center"},C2={class:"setting-item flex justify-between items-center mt-auto"},S2=L({__name:"drawer",setup(a){const o=q(),e=c3(["#409EFF","#28C76F","#EA5455","#FF9F43","#01CFE8","#4A5DFF"]),i=[{type:"dark",image:f2},{type:"light",image:A2}],l=b({get(){return o.sideTheme},set(f){o.setSetting({key:"sideTheme",value:f})}}),c=b({get(){return o.openMultipleTabs},set(f){o.setSetting({key:"openMultipleTabs",value:f})}}),s=b({get(){return o.isUniqueOpened},set(f){o.setSetting({key:"isUniqueOpened",value:f})}}),r=b({get(){return o.sideWidth},set(f){o.setSetting({key:"sideWidth",value:f})}}),n=b({get(){return o.showDrawer},set(f){o.setSetting({key:"showDrawer",value:f})}}),v=b({get(){return o.theme},set(f){o.setSetting({key:"theme",value:f}),O()}}),p=b({get(){return o.showLogo},set(f){o.setSetting({key:"showLogo",value:f})}}),_=b({get(){return o.showCrumb},set(f){o.setSetting({key:"showCrumb",value:f})}}),w=c1(),O=()=>{o.setTheme(w.value)},E=()=>{h0(w)(),O()},x=()=>{w.value=!1,o.resetTheme(),O()};return(f,y)=>{const E3=W,G=D1,Q=B1,L1=C1,E1=S1,M1=a1;return h(),g("div",V2,[u(M1,{modelValue:m(n),"onUpdate:modelValue":y[6]||(y[6]=M=>j(n)?n.value=M:null),"append-to-body":"",direction:"rtl",size:"250px",title:"主题设置"},{default:z(()=>[d("div",L2,[d("div",E2,[y[7]||(y[7]=d("span",{class:"text-tx-secondary"},"风格设置",-1)),d("div",M2,[(h(),g(D,null,K(i,M=>d("div",{class:"mr-4 flex relative text-primary",key:M.type,onClick:V4=>l.value=M.type},[d("img",{src:M.image,width:"52",height:"36"},null,8,H2),m(l)==M.type?(h(),A(E3,{key:0,class:"icon-select",name:"el-icon-Select"})):C("",!0)],8,x2)),64))])]),d("div",T2,[y[8]||(y[8]=d("span",{class:"text-tx-secondary"},"主题颜色",-1)),d("div",null,[u(G,{modelValue:m(v),"onUpdate:modelValue":y[0]||(y[0]=M=>j(v)?v.value=M:null),predefine:m(e)},null,8,["modelValue","predefine"])])]),d("div",O2,[y[9]||(y[9]=d("span",{class:"text-tx-secondary"},"开启黑暗模式",-1)),d("div",null,[u(Q,{"model-value":m(w),onChange:E},null,8,["model-value"])])]),d("div",I2,[y[10]||(y[10]=d("span",{class:"text-tx-secondary"},"开启多页签栏",-1)),d("div",null,[u(Q,{modelValue:m(c),"onUpdate:modelValue":y[1]||(y[1]=M=>j(c)?c.value=M:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",P2,[y[11]||(y[11]=d("span",{class:"text-tx-secondary"},"只展开一个一级菜单",-1)),d("div",null,[u(Q,{modelValue:m(s),"onUpdate:modelValue":y[2]||(y[2]=M=>j(s)?s.value=M:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",R2,[y[12]||(y[12]=d("div",{class:"text-tx-secondary flex-none mr-3"},"菜单栏宽度",-1)),d("div",null,[u(L1,{modelValue:m(r),"onUpdate:modelValue":y[3]||(y[3]=M=>j(r)?r.value=M:null),min:180,max:250},null,8,["modelValue"])])]),d("div",D2,[y[13]||(y[13]=d("div",{class:"text-tx-secondary flex-none mr-3"},"显示LOGO",-1)),d("div",null,[u(Q,{modelValue:m(p),"onUpdate:modelValue":y[4]||(y[4]=M=>j(p)?p.value=M:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",B2,[y[14]||(y[14]=d("div",{class:"text-tx-secondary flex-none mr-3"},"显示面包屑",-1)),d("div",null,[u(Q,{modelValue:m(_),"onUpdate:modelValue":y[5]||(y[5]=M=>j(_)?_.value=M:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",C2,[u(E1,{onClick:x,class:"w-full"},{default:z(()=>[...y[15]||(y[15]=[I("重置主题",-1)])]),_:1})])])]),_:1},8,["modelValue"])])}}}),k2=R(S2,[["__scopeId","data-v-01a1636b"]]),j2=L({__name:"index",setup(a){const o=q(),e=()=>{o.setSetting({key:"showDrawer",value:!0})};return(i,l)=>{const c=W;return h(),g("div",{class:"setting flex cursor-pointer h-full items-center px-2",onClick:e},[u(c,{size:16,name:"el-icon-Setting"}),u(k2)])}}});function w1(a){const o=A3();return n1(o,()=>{a(o)},{immediate:!0}),{route:o}}const N2=L({__name:"breadcrumb",setup(a){const o=c3([]),e=i=>{const l=i.matched.filter(c=>c.meta&&c.meta.title);o.value=l};return w1(i=>{e(i)}),(i,l)=>{const c=k1,s=j1;return h(),A(s,{class:"app-breadcrumb"},{default:z(()=>[(h(!0),g(D,null,K(m(o),r=>(h(),A(c,{key:r.path},{default:z(()=>[I(P(r.meta.title),1)]),_:2},1024))),128))]),_:1})}}}),q2=R(N2,[["__scopeId","data-v-df2b2450"]]),W2=L({__name:"fold",setup(a){const o=k(),e=b(()=>o.isCollapsed),i=()=>{o.toggleCollapsed()};return(l,c)=>{const s=W;return h(),g("div",{class:"fold h-full cursor-pointer flex items-center px-2",onClick:i},[u(s,{name:`local-icon-${m(e)?"expand":"collapse"}`,size:18},null,8,["name"])])}}}),G2=L({__name:"full-screen",setup(a){const{toggle:o,isFullscreen:e}=s1();return(i,l)=>{const c=W;return h(),g("div",{class:"full-screen h-full cursor-pointer flex items-center px-2",onClick:l[0]||(l[0]=(...s)=>m(o)&&m(o)(...s))},[u(c,{size:16,name:`local-icon-${m(e)?"fullscreen-exit":"fullscreen"}`},null,8,["name"])])}}});function $2(){const a=s3(),o=A3(),e=m3(),i=q(),l=b(()=>e.getTabList),c=b(()=>o.fullPath);return{tabsLists:l,currentTab:c,addTab:()=>{i.openMultipleTabs&&e.addTab(a)},removeTab:p=>{i.openMultipleTabs&&(p=p??o.fullPath,e.removeTab(p,a))},removeOtherTab:()=>{i.openMultipleTabs&&e.removeOtherTab(o)},removeAllTab:()=>{i.openMultipleTabs&&e.removeAllTab(a)}}}const U2={class:"app-tabs pl-4 flex bg-body"},F2={class:"flex-1 min-w-0"},Y2={class:"flex items-center px-3"},Z2=L({__name:"multiple-tabs",setup(a){const o=s3(),e=m3(),{removeOtherTab:i,addTab:l,removeAllTab:c,removeTab:s,tabsLists:r,currentTab:n}=$2();w1(()=>{l()});const v=_=>{const w=e.tasMap[_];o.push(z1(w))},p=_=>{switch(_){case"closeCurrent":s();break;case"closeOther":i();break;case"closeAll":c();break}};return(_,w)=>{const O=N1,E=q1,x=W,f=e1,y=o1,E3=t1;return h(),g("div",U2,[d("div",F2,[u(E,{"model-value":m(n),closable:m(r).length>1,onTabChange:v,onTabRemove:w[0]||(w[0]=G=>m(s)(G))},{default:z(()=>[(h(!0),g(D,null,K(m(r),G=>(h(),A(O,{key:G.fullPath,label:G.title,name:G.fullPath},null,8,["label","name"]))),128))]),_:1},8,["model-value","closable"])]),u(E3,{onCommand:p},{dropdown:z(()=>[u(y,null,{default:z(()=>[u(f,{command:"closeCurrent"},{default:z(()=>[...w[1]||(w[1]=[I(" 关闭当前 ",-1)])]),_:1}),u(f,{command:"closeOther"},{default:z(()=>[...w[2]||(w[2]=[I(" 关闭其他 ",-1)])]),_:1}),u(f,{command:"closeAll"},{default:z(()=>[...w[3]||(w[3]=[I(" 关闭全部 ",-1)])]),_:1})]),_:1})]),default:z(()=>[d("span",Y2,[u(x,{size:16,name:"el-icon-arrow-down"})])]),_:1})])}}}),X2=R(Z2,[["__scopeId","data-v-66704b8d"]]),K2=L({__name:"refresh",setup(a){const o=k(),e=()=>{o.refreshView()};return(i,l)=>{const c=W;return h(),g("div",{class:"refresh cursor-pointer h-full flex items-center px-2",onClick:e},[u(c,{name:"el-icon-RefreshRight",size:18})])}}});function E7(){return V.get({url:"/setting.system.system/info"})}function M7(a){return V.get({url:"/setting.system.log/lists",params:a},{ignoreCancelToken:!0})}function J2(){return V.post({url:"/setting.system.cache/clear"})}function x7(a){return V.get({url:"/crontab.crontab/lists",params:a})}function H7(a){return V.post({url:"/crontab.crontab/add",params:a})}function T7(a){return V.get({url:"/crontab.crontab/detail",params:a})}function O7(a){return V.post({url:"/crontab.crontab/edit",params:a})}function I7(a){return V.post({url:"/crontab.crontab/delete",params:a})}function P7(a){return V.get({url:"/crontab.crontab/expression",params:a})}const Q2={class:"flex items-center"},a6={class:"ml-3 mr-1"},o6=L({__name:"user-drop-down",setup(a){const o=Y(),e=b(()=>o.userInfo),i=async l=>{switch(l){case"logout":await X.confirm("确定退出登录吗?"),o.logout();break;case"cache":await J2(),window.location.reload();break}};return(l,c)=>{const s=W1,r=W,n=e1,v=n3("router-link"),p=o1,_=t1;return h(),A(_,{class:"px-2",onCommand:i},{dropdown:z(()=>[u(p,null,{default:z(()=>[u(v,{to:"/user/setting"},{default:z(()=>[u(n,null,{default:z(()=>[...c[0]||(c[0]=[I("个人设置",-1)])]),_:1})]),_:1}),u(n,{command:"cache"},{default:z(()=>[...c[1]||(c[1]=[I("清除缓存",-1)])]),_:1}),u(n,{command:"logout"},{default:z(()=>[...c[2]||(c[2]=[I("退出登录",-1)])]),_:1})]),_:1})]),default:z(()=>[d("div",Q2,[u(s,{size:34,src:m(e).avatar},null,8,["src"]),d("div",a6,P(m(e).name),1),u(r,{name:"el-icon-ArrowDown"})])]),_:1})}}}),e6={class:"header"},t6={class:"navbar"},i6={class:"flex-1 flex"},l6={class:"navbar-item"},c6={class:"navbar-item"},s6={key:0,class:"flex items-center px-2"},n6={class:"flex"},r6={key:0,class:"navbar-item"},m6={class:"navbar-item"},u6={class:"navbar-item"},d6=L({__name:"index",setup(a){const o=k(),e=b(()=>o.isMobile),i=b(()=>o.isCollapsed),l=q(),{isFullscreen:c}=s1();return(s,r)=>{const n=i1;return h(),g("header",e6,[d("div",t6,[d("div",i6,[d("div",l6,[u(n,{class:"box-item",effect:"dark",content:m(i)?"展开菜单":"收起菜单",placement:"bottom"},{default:z(()=>[u(W2)]),_:1},8,["content"])]),d("div",c6,[u(n,{class:"box-item",effect:"dark",content:"刷新",placement:"bottom"},{default:z(()=>[u(K2)]),_:1})]),!m(e)&&m(l).showCrumb?(h(),g("div",s6,[u(q2)])):C("",!0)]),d("div",n6,[m(e)?C("",!0):(h(),g("div",r6,[u(n,{class:"box-item",effect:"dark",content:m(c)?"退出全屏":"全屏模式",placement:"bottom"},{default:z(()=>[u(G2)]),_:1},8,["content"])])),d("div",m6,[u(o6)]),d("div",u6,[u(n,{class:"box-item",effect:"dark",content:"主题设置",placement:"bottom"},{default:z(()=>[u(j2)]),_:1})])])]),m(l).openMultipleTabs?(h(),A(X2,{key:0})):C("",!0)])}}}),h6={class:"main-wrap h-full bg-page"},_6={class:"px-2 py-4"},v6=L({__name:"main",setup(a){const o=k(),e=m3(),i=q(),l=b(()=>o.isRouteShow),c=b(()=>i.openMultipleTabs?e.getCacheTabList:[]);return(s,r)=>{const n=n3("router-view"),v=l1;return h(),g("main",h6,[u(v,null,{default:z(()=>[d("div",_6,[m(l)?(h(),A(n,{key:0},{default:z(({Component:p,route:_})=>[(h(),A(e0,{include:m(c),max:20},[(h(),A(r1(p),{key:_.fullPath}))],1032,["include"]))]),_:1})):C("",!0)])]),_:1})])}}}),p6=L({__name:"index",props:{...G1,teleported:{type:Boolean,default:!1},placement:{type:String,default:"top"},overfloType:{type:String,default:"ellipsis"}},setup(a){const o=a,e=P1(),i=c3(!1);return J1(e,"mouseenter",()=>{var l,c;((l=e.value)==null?void 0:l.scrollWidth)>((c=e.value)==null?void 0:c.offsetWidth)?i.value=!1:i.value=!0}),(l,c)=>{const s=i1;return h(),g("div",null,[u(s,k3(o,{disabled:m(i)}),{default:z(()=>[d("div",{ref_key:"textRef",ref:e,class:"overflow-text truncate",style:r3({textOverflow:a.overfloType})},P(l.content),5)]),_:1},16,["disabled"])])}}}),z6=L({__name:"index",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...$1},setup(a){const o=a,e=b(()=>({width:i3(o.width),height:i3(o.height),borderRadius:i3(o.radius)}));return(i,l)=>{const c=U1;return h(),A(c,k3({style:e.value},o),null,16,["style"])}}}),b6=R(z6,[["__scopeId","data-v-548a4c36"]]),y6=L({__name:"logo",props:{szie:{type:Number,default:34},title:{type:String},theme:{type:String},showTitle:{type:Boolean,default:!0}},setup(a){const o=k(),e=b(()=>o.config),i=s3(),l=()=>{i.push("/")};return(c,s)=>{const r=b6,n=p6;return h(),g("div",{class:"logo",onClick:l},[u(r,{width:a.szie,height:a.szie,src:m(e).web_logo},null,8,["width","height","src"]),u(v0,{name:"title-width"},{default:z(()=>[m1(d("div",{class:b3(["logo-title overflow-hidden whitespace-nowrap",{"text-white":a.theme==m(v1).DARK}]),style:r3({left:`${a.szie+16}px`})},[u(n,{content:a.title||m(e).web_name,teleported:!0,placement:"bottom","overflo-type":"unset"},null,8,["content"])],6),[[_1,a.showTitle]])]),_:1})])}}}),g6=R(y6,[["__scopeId","data-v-c7305beb"]]),w6=L({__name:"index",props:{to:{},replace:{type:Boolean}},setup(a){const o=a,e=b(()=>typeof o.to!="object"&&J(o.to)),i=b(()=>e.value?"a":"router-link"),l=b(()=>e.value?{href:o.to,target:"_blank"}:o);return(c,s)=>(h(),A(r1(m(i)),s0(t0(m(l))),{default:z(()=>[i0(c.$slots,"default")]),_:3},16))}}),f6=L({__name:"menu-item",props:{route:{},routePath:{},popperClass:{}},setup(a){const o=a,e=b(()=>!!(o.route.children??[]).filter(r=>{var n;return!((n=r.meta)!=null&&n.hidden)}).length),i=b(()=>o.route.meta),l=s=>J(s)?s:p2(`${o.routePath}/${s}`),c=b(()=>{var r;const s=(r=o.route.meta)==null?void 0:r.query;try{const n=JSON.parse(s);return z2(n)}catch{return s}});return(s,r)=>{var O;const n=W,v=F1,p=w6,_=n3("menu-item",!0),w=Y1;return(O=a.route.meta)!=null&&O.hidden?C("",!0):(h(),g(D,{key:0},[m(e)?(h(),A(w,{key:1,index:a.routePath,"popper-class":a.popperClass},{title:z(()=>{var E,x,f;return[(E=m(i))!=null&&E.icon?(h(),A(n,{key:0,class:"menu-item-icon",size:16,name:(x=m(i))==null?void 0:x.icon},null,8,["name"])):C("",!0),d("span",null,P((f=m(i))==null?void 0:f.title),1)]}),default:z(()=>{var E;return[(h(!0),g(D,null,K((E=a.route)==null?void 0:E.children,x=>(h(),A(_,{key:l(x.path),route:x,"route-path":l(x.path),"popper-class":a.popperClass},null,8,["route","route-path","popper-class"]))),128))]}),_:1},8,["index","popper-class"])):(h(),A(p,{key:0,to:`${a.routePath}?${m(c)}`},{default:z(()=>[u(v,{index:a.routePath},{title:z(()=>{var E;return[d("span",null,P((E=m(i))==null?void 0:E.title),1)]}),default:z(()=>{var E,x;return[(E=m(i))!=null&&E.icon?(h(),A(n,{key:0,class:"menu-item-icon",size:16,name:(x=m(i))==null?void 0:x.icon},null,8,["name"])):C("",!0)]}),_:1},8,["index"])]),_:1},8,["to"]))],64))}}}),A6=R(f6,[["__scopeId","data-v-78e8d91a"]]),V6=L({__name:"menu",props:{routes:{type:Object},config:{type:Object},uniqueOpened:{type:Boolean,default:!1},isCollapsed:{type:Boolean,default:!1},theme:{type:String},width:{type:Number,default:200}},emits:["select"],setup(a){const o=a,e=A3(),i=b(()=>{var c;return((c=e.meta)==null?void 0:c.activeMenu)||e.path}),l=b(()=>`theme-${o.theme}`);return(c,s)=>{const r=Z1,n=l1;return h(),g("div",{class:b3(["menu flex-1 min-h-0",m(l)]),style:r3(a.isCollapsed?"":`--aside-width: ${a.width}px`)},[u(n,null,{default:z(()=>[u(r,k3(a.config,{"default-active":m(i),collapse:a.isCollapsed,mode:"vertical","unique-opened":a.uniqueOpened,onSelect:s[0]||(s[0]=v=>c.$emit("select"))}),{default:z(()=>[(h(!0),g(D,null,K(a.routes,v=>(h(),A(A6,{key:v.path,route:v,"route-path":v.path,"popper-class":m(l)},null,8,["route","route-path","popper-class"]))),128))]),_:1},16,["default-active","collapse","unique-opened"])]),_:1})],6)}}}),L6=R(V6,[["__scopeId","data-v-9e48e026"]]),E6=L({__name:"side",setup(a){const o=k(),e=b(()=>o.isMobile?!1:o.isCollapsed),i=q(),l=b(()=>i.sideTheme),c=Y(),s=b(()=>c.routes),r=b(()=>l.value=="dark"?{"--side-dark-color":i.sideDarkColor}:""),n=b(()=>({backgroundColor:l.value=="dark"?i.sideDarkColor:"",textColor:l.value=="dark"?"var(--el-color-white)":"",activeTextColor:l.value=="dark"?"var(--el-color-white)":""})),v=()=>{o.isMobile&&o.toggleCollapsed(!0)};return(p,_)=>(h(),g("div",{class:"side",style:r3(m(r))},[m(i).showLogo?(h(),A(g6,{key:0,"show-title":!m(e),theme:m(l)},null,8,["show-title","theme"])):C("",!0),u(L6,{routes:m(s),"is-collapsed":m(e),width:m(i).sideWidth,"unique-opened":m(i).isUniqueOpened,config:m(n),theme:m(l),onSelect:v},null,8,["routes","is-collapsed","width","unique-opened","config","theme"])],4))}}),F3=R(E6,[["__scopeId","data-v-a571d29a"]]),M6={class:"sidebar h-full"},x6=L({__name:"index",setup(a){const o=k(),e=q(),i=b(()=>o.isMobile),l=b({get(){return!o.isCollapsed&&i.value},set(s){o.toggleCollapsed(!s)}}),c=b(()=>`${e.sideWidth+1}px`);return(s,r)=>{const n=a1;return h(),g("aside",M6,[u(n,{modelValue:m(l),"onUpdate:modelValue":r[0]||(r[0]=v=>j(l)?l.value=v:null),direction:"ltr",size:m(c),title:"主题设置","with-header":!1},{default:z(()=>[u(F3)]),_:1},8,["modelValue","size"]),m1(u(F3,null,null,512),[[_1,!m(i)]])])}}}),H6=R(x6,[["__scopeId","data-v-ceedff60"]]),T6={class:"layout-default flex h-screen w-full"},O6={class:"app-aside shrink-0"},I6={class:"flex-1 flex flex-col min-w-0"},P6={class:"app-header"},R6={class:"app-main flex-1 min-h-0"},D6=L({__name:"index",setup(a){return(o,e)=>(h(),g("div",T6,[d("div",O6,[u(H6)]),d("div",I6,[d("div",P6,[u(d6)]),d("div",R6,[u(v6)])])]))}}),l3=()=>Promise.resolve(D6),L3=Symbol(),B6=[{path:"/:pathMatch(.*)*",component:()=>t(()=>import("./404-DrIunG4L.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]))},{path:T.ERROR_403,component:()=>t(()=>import("./403-CYRAU9T7.js"),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]))},{path:T.LOGIN,component:()=>t(()=>import("./login-qHMv5bBU.js"),__vite__mapDeps([42,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,45]))},{path:"/change-password",component:()=>t(()=>import("./change-password-tLKGtc83.js"),__vite__mapDeps([46,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,47]))},{path:"/bind-work-wechat",component:()=>t(()=>import("./bind-work-wechat-C-tP8cIn.js"),__vite__mapDeps([48,2,3,4,5,6,7,8,9,10,11,12,13,14,15,44,49,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,50]))},{path:"/user",component:l3,children:[{path:"setting",component:()=>t(()=>import("./setting-C4t4bQUw.js"),__vite__mapDeps([51,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,49,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,73])),name:Symbol(),meta:{title:"个人设置"}}]},{path:"/doctor",component:l3,children:[{path:"progress",component:()=>t(()=>import("./progress-zIFnwUAT.js"),__vite__mapDeps([74,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,75,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,76])),name:"doctorFaceProgress",meta:{title:"面诊进度"}}]},{path:"/decoration/pc_details",component:()=>t(()=>import("./pc_details-C8AaBSI5.js"),__vite__mapDeps([77,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,79,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116]))},{path:"/fans/h5",component:()=>t(()=>import("./h5-DoZ33CNA.js"),__vite__mapDeps([117,2,3,4,5,6,7,8,9,10,11,12,13,14,15,118,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,119]))},{path:"/tcm/diagnosis/h5",component:()=>t(()=>import("./index_h5-DDGgBKsJ.js"),__vite__mapDeps([120,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,122,75,123,65,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,125]))},{path:"/tcm/diagnosis-readonly",component:l3,meta:{hidden:!0},children:[{path:"",component:()=>t(()=>import("./readonly-CZaNTA70.js"),__vite__mapDeps([126,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,121,127,128,124,129,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130,131,132,133,134,135,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,75,153,154,155,156,157,158,159,160,161])),name:"tcmDiagnosisReadonly",meta:{title:"患者信息详情",hidden:!0,activeMenu:"/tcm/diagnosis"}}]}],_3={path:T.INDEX,component:l3,name:L3},B3=Object.assign({"/src/views/account/bind-work-wechat.vue":()=>t(()=>import("./bind-work-wechat-C-tP8cIn.js"),__vite__mapDeps([48,2,3,4,5,6,7,8,9,10,11,12,13,14,15,44,49,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,50])),"/src/views/account/change-password.vue":()=>t(()=>import("./change-password-tLKGtc83.js"),__vite__mapDeps([46,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,47])),"/src/views/account/login.vue":()=>t(()=>import("./login-qHMv5bBU.js"),__vite__mapDeps([42,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,45])),"/src/views/app/recharge/index.vue":()=>t(()=>import("./index-WB60onBZ.js"),__vite__mapDeps([162,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/column/edit.vue":()=>t(()=>import("./edit-DB0EuTxq.js"),__vite__mapDeps([163,164,2,3,4,5,6,7,8,9,10,11,12,13,14,15,83,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/column/index.vue":()=>t(()=>import("./index-Dd-Ko9om.js"),__vite__mapDeps([165,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,83,65,164,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/lists/edit.vue":()=>t(()=>import("./edit-CX0gtA17.js"),__vite__mapDeps([166,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,167,168,169,170,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,171,83,172,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/lists/index.vue":()=>t(()=>import("./index-4oQVMwE8.js"),__vite__mapDeps([173,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,83,172,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/asset/resource/index.vue":()=>t(()=>import("./index-CmItFXin.js"),__vite__mapDeps([174,2,3,4,5,6,7,8,9,10,11,12,13,14,15,175,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/asset/user/index.vue":()=>t(()=>import("./index-BxX_XfwR.js"),__vite__mapDeps([176,2,3,4,5,6,7,8,9,10,11,12,13,14,15,175,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/h5.vue":()=>t(()=>import("./h5-D2fV4g_7.js"),__vite__mapDeps([177,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/open_setting.vue":()=>t(()=>import("./open_setting-57AAYHuJ.js"),__vite__mapDeps([178,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/weapp.vue":()=>t(()=>import("./weapp-CSCB4Ihm.js"),__vite__mapDeps([179,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,123,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/config.vue":()=>t(()=>import("./config-BcjsSE7D.js"),__vite__mapDeps([180,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,181,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu.vue":()=>t(()=>import("./menu-Cz3DbxDt.js"),__vite__mapDeps([182,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,183,59,60,55,56,184,185,181,186,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,187,188])),"/src/views/channel/wx_oa/menu_com/oa-attr.vue":()=>t(()=>import("./oa-attr-DN37hWLr.js"),__vite__mapDeps([183,59,5,6,7,4,3,60,55,2,8,9,10,11,12,13,14,15,56,184,185,181,186,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-menu-form-edit.vue":()=>t(()=>import("./oa-menu-form-edit-Ds9NXO6M.js"),__vite__mapDeps([189,186,55,2,3,4,5,6,7,8,9,10,11,12,13,14,15,56,184,185,181,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-menu-form.vue":()=>t(()=>import("./oa-menu-form-C-7mO0su.js"),__vite__mapDeps([190,184,2,3,4,5,6,7,8,9,10,11,12,13,14,15,185,181,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-phone.vue":()=>t(()=>import("./oa-phone-B-CHUk5L.js"),__vite__mapDeps([187,2,3,4,5,6,7,8,9,10,11,12,13,14,15,185,181,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,188])),"/src/views/channel/wx_oa/reply/default_reply.vue":()=>t(()=>import("./default_reply-Bh_u2uBi.js"),__vite__mapDeps([191,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,181,65,192,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/edit.vue":()=>t(()=>import("./edit-BlUxS5DU.js"),__vite__mapDeps([193,192,2,3,4,5,6,7,8,9,10,11,12,13,14,15,181,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/follow_reply.vue":()=>t(()=>import("./follow_reply-BiptAGAB.js"),__vite__mapDeps([194,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,181,65,192,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/keyword_reply.vue":()=>t(()=>import("./keyword_reply-BfjuIFuE.js"),__vite__mapDeps([195,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,181,65,192,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/chat/components/MessageBubble.vue":()=>t(()=>import("./MessageBubble-CrQG9KfW.js"),__vite__mapDeps([196,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,197])),"/src/views/chat/components/SendPanel.vue":()=>t(()=>import("./SendPanel-Bk_zumN5.js").then(a=>a.i),__vite__mapDeps([198,2,3,4,5,6,7,8,9,10,11,12,13,14,15,63,199])),"/src/views/chat/index.vue":()=>t(()=>import("./index-BxH3KBQI.js"),__vite__mapDeps([200,2,3,4,5,6,7,8,9,10,11,12,13,14,15,65,196,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,197,198,63,199,201])),"/src/views/consumer/assistant/edit.vue":()=>t(()=>import("./edit-DUrq1LLZ.js"),__vite__mapDeps([202,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,203,204,205,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,206])),"/src/views/consumer/assistant/index.vue":()=>t(()=>import("./index-BjiA8CzE.js"),__vite__mapDeps([207,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,203,65,202,54,55,56,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,204,205,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,206,208])),"/src/views/consumer/components/account-adjust.vue":()=>t(()=>import("./account-adjust-uROIj6YI.js"),__vite__mapDeps([209,210,2,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/doctor/edit.vue":()=>t(()=>import("./edit-hvqOlY5P.js"),__vite__mapDeps([211,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,203,204,205,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,212])),"/src/views/consumer/doctor/index.vue":()=>t(()=>import("./index-X1ZWiNaa.js"),__vite__mapDeps([213,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,203,65,211,54,55,56,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,204,205,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,212,214])),"/src/views/consumer/doctor/paiban.vue":()=>t(()=>import("./paiban-usln5zIm.js"),__vite__mapDeps([215,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,216])),"/src/views/consumer/lists/detail.vue":()=>t(()=>import("./detail-DXs5F4gI.js"),__vite__mapDeps([217,2,3,4,5,6,7,8,9,10,11,12,13,14,15,64,22,23,218,210,55,56,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/lists/index.vue":()=>t(()=>import("./index-BCCk5TAv.js"),__vite__mapDeps([219,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,221,218,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/components/GancaoSubmissionReconcileButton.vue":()=>t(()=>import("./GancaoSubmissionReconcileButton-sjmE0pP5.js"),__vite__mapDeps([222,223,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/components/PrescriptionAiBatchGenerateDialog.vue":()=>t(()=>import("./PrescriptionAiBatchGenerateDialog-DeSq7Ovs.js"),__vite__mapDeps([224,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,225])),"/src/views/consumer/prescription/components/PrescriptionAiReportDialog.vue":()=>t(()=>import("./PrescriptionAiReportDialog-B4Gc5TXr.js"),__vite__mapDeps([226,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,227])),"/src/views/consumer/prescription/components/PrescriptionOrderDetailDrawer.vue":()=>t(()=>import("./PrescriptionOrderDetailDrawer-O5Yv7ynk.js"),__vite__mapDeps([155,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,156,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157])),"/src/views/consumer/prescription/guahao.vue":()=>t(()=>import("./guahao-D0JIJ2D5.js"),__vite__mapDeps([228,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,221,75,121,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/index.vue":()=>t(()=>import("./index-D6-2IW7r.js"),__vite__mapDeps([229,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,230,231,65,124,221,232,233,234,235,16,236,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,237])),"/src/views/consumer/prescription/list.vue":()=>t(()=>import("./list-DyOdEEM6.js"),__vite__mapDeps([238,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,65,232,230,233,224,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,225,226,227,239])),"/src/views/consumer/prescription/order_list.vue":()=>t(()=>import("./order_list-7zm3KguG.js"),__vite__mapDeps([240,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,16,241,242,155,121,156,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,223,234,235,236,204,65,243])),"/src/views/consumer/prescription/order_list_h5.vue":()=>t(()=>import("./order_list_h5-CSk24Nh-.js"),__vite__mapDeps([244,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,241,242,223,121,156,234,235,236,204,65,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,245])),"/src/views/decoration/component/add-nav.vue":()=>t(()=>import("./add-nav-D7qVIdmR.js"),__vite__mapDeps([246,95,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/decoration-img.vue":()=>t(()=>import("./decoration-img-63yHTKq5.js"),__vite__mapDeps([87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/pages/attr-setting.vue":()=>t(()=>import("./attr-setting-Dy-rYL12.js"),__vite__mapDeps([247,248,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114])),"/src/views/decoration/component/pages/menu.vue":()=>t(()=>import("./menu-CVaxMLtS.js"),__vite__mapDeps([249,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,250])),"/src/views/decoration/component/pages/preview-pc.vue":()=>t(()=>import("./preview-pc-Bjp7P5eB.js"),__vite__mapDeps([79,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114,115])),"/src/views/decoration/component/pages/preview.vue":()=>t(()=>import("./preview-C1B_KeTu.js"),__vite__mapDeps([251,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114,252])),"/src/views/decoration/component/tabbar/mobile/attr.vue":()=>t(()=>import("./attr-DNYOqt8u.js"),__vite__mapDeps([253,254,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,104,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/tabbar/mobile/content.vue":()=>t(()=>import("./content-C12ui3Qz.js"),__vite__mapDeps([255,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,256])),"/src/views/decoration/component/tabbar/pc/attr.vue":()=>t(()=>import("./attr-CvYF9HcW.js"),__vite__mapDeps([257,2,3,4,5,6,7,8,9,10,11,12,13,14,15,258,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/tabbar/pc/content.vue":()=>t(()=>import("./content-9uaH4o7Z.js"),__vite__mapDeps([259,2,3,4,5,6,7,8,9,10,11,12,13,14,15,87,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,260])),"/src/views/decoration/component/tabbar/pc/menu-set.vue":()=>t(()=>import("./menu-set-BuJ09Hlb.js"),__vite__mapDeps([261,258,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/banner/attr.vue":()=>t(()=>import("./attr-DaHTqGGt.js"),__vite__mapDeps([81,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85])),"/src/views/decoration/component/widgets/banner/content.vue":()=>t(()=>import("./content-Des7r1Cn.js"),__vite__mapDeps([262,86,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/customer-service/attr.vue":()=>t(()=>import("./attr-Bzl3ZUvo.js"),__vite__mapDeps([263,89,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/customer-service/content.vue":()=>t(()=>import("./content-Dbr1CmpF.js"),__vite__mapDeps([90,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,91])),"/src/views/decoration/component/widgets/middle-banner/attr.vue":()=>t(()=>import("./attr-xKBSWMjX.js"),__vite__mapDeps([264,92,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/middle-banner/content.vue":()=>t(()=>import("./content-DCZ1xcL7.js"),__vite__mapDeps([265,93,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/my-service/attr.vue":()=>t(()=>import("./attr-BbYRgiEK.js"),__vite__mapDeps([266,94,2,3,4,5,6,7,8,9,10,11,12,13,14,15,95,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/my-service/content.vue":()=>t(()=>import("./content-8Zehp_Rk.js"),__vite__mapDeps([96,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,97])),"/src/views/decoration/component/widgets/nav/attr.vue":()=>t(()=>import("./attr-C15UeEgF.js"),__vite__mapDeps([267,98,2,3,4,5,6,7,8,9,10,11,12,13,14,15,95,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/nav/content.vue":()=>t(()=>import("./content-CImZycXn.js"),__vite__mapDeps([268,99,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/news/attr.vue":()=>t(()=>import("./attr-Db6EuK6T.js"),__vite__mapDeps([269,100,5,6,7,4])),"/src/views/decoration/component/widgets/news/content.vue":()=>t(()=>import("./content-BKtyOCcY.js"),__vite__mapDeps([101,78,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,102])),"/src/views/decoration/component/widgets/page-meta/attr.vue":()=>t(()=>import("./attr-DOkeFgW2.js"),__vite__mapDeps([270,103,2,3,4,5,6,7,8,9,10,11,12,13,14,15,104,22,23,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/page-meta/content.vue":()=>t(()=>import("./content-BTqw4mI0.js"),__vite__mapDeps([105,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/pc-banner/content.vue":()=>t(()=>import("./content-DtEMpPXD.js"),__vite__mapDeps([271,106,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/search/attr.vue":()=>t(()=>import("./attr-BS21VV6Q.js"),__vite__mapDeps([272,107,5,6,7,4])),"/src/views/decoration/component/widgets/search/content.vue":()=>t(()=>import("./content-DNPcBCfo.js"),__vite__mapDeps([108,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,109])),"/src/views/decoration/component/widgets/user-banner/attr.vue":()=>t(()=>import("./attr-CIQncvn9.js"),__vite__mapDeps([273,110,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/user-banner/content.vue":()=>t(()=>import("./content-D28o1htD.js"),__vite__mapDeps([274,111,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/user-info/attr.vue":()=>t(()=>import("./attr-gr_OE7on.js"),__vite__mapDeps([275,112,5,6,7,4])),"/src/views/decoration/component/widgets/user-info/content.vue":()=>t(()=>import("./content-lVo8M4Zt.js"),__vite__mapDeps([113,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,114])),"/src/views/decoration/pages/index.vue":()=>t(()=>import("./index-ziRsjY9I.js"),__vite__mapDeps([276,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,248,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,249,250,251,252,277])),"/src/views/decoration/pc.vue":()=>t(()=>import("./pc-COJePt-7.js"),__vite__mapDeps([278,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/pc_details.vue":()=>t(()=>import("./pc_details-C8AaBSI5.js"),__vite__mapDeps([77,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,79,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116])),"/src/views/decoration/style/components/mobile-style.vue":()=>t(()=>import("./mobile-style-CdEh2jmr.js"),__vite__mapDeps([279,280,2,3,4,5,6,7,8,9,10,11,12,13,14,15,104,22,23,281,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,282])),"/src/views/decoration/style/components/theme-picker.vue":()=>t(()=>import("./theme-picker-DBEHQPAJ.js"),__vite__mapDeps([281,22,23,6,7,4,5,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,282])),"/src/views/decoration/style/style.vue":()=>t(()=>import("./style-CFK9MlRr.js"),__vite__mapDeps([283,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,280,104,22,23,281,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,282])),"/src/views/decoration/tabbar.vue":()=>t(()=>import("./tabbar-BqLXyGAa.js"),__vite__mapDeps([284,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,249,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,250,254,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,66,67,68,69,70,71,72,104,255,87,88,256,285])),"/src/views/dev_tools/code/edit.vue":()=>t(()=>import("./edit-D0eJRzXo.js"),__vite__mapDeps([286,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,287,288,289,172,290,55,56,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,291])),"/src/views/dev_tools/code/index.vue":()=>t(()=>import("./index-APM3wetz.js"),__vite__mapDeps([292,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,289,65,293,32,33,294,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39])),"/src/views/dev_tools/components/code-preview.vue":()=>t(()=>import("./code-preview-DBWqxZs9.js"),__vite__mapDeps([295,293,2,3,4,5,6,7,8,9,10,11,12,13,14,15,32,33,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39])),"/src/views/dev_tools/components/data-table.vue":()=>t(()=>import("./data-table-CP3b6bk7.js"),__vite__mapDeps([296,294,2,3,4,5,6,7,8,9,10,11,12,13,14,15,289,58,55,56,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/dev_tools/components/relations-add.vue":()=>t(()=>import("./relations-add-Wufgegpo.js"),__vite__mapDeps([297,290,2,3,4,5,6,7,8,9,10,11,12,13,14,15,289,55,56,172,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/doctor/dept-tongji.vue":()=>t(()=>import("./dept-tongji-BGdl-ZuM.js"),__vite__mapDeps([298,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,299])),"/src/views/doctor/medicine.vue":()=>t(()=>import("./medicine-DxV1j6hZ.js"),__vite__mapDeps([300,2,3,4,5,6,7,8,9,10,11,12,13,14,15,230,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,301])),"/src/views/doctor/progress.vue":()=>t(()=>import("./progress-zIFnwUAT.js"),__vite__mapDeps([74,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,75,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,76])),"/src/views/doctor/roster.vue":()=>t(()=>import("./roster-CFwVYkME.js"),__vite__mapDeps([302,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,303])),"/src/views/doctor/tongji.vue":()=>t(()=>import("./tongji-8jva5VKb.js"),__vite__mapDeps([304,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,305])),"/src/views/error/403.vue":()=>t(()=>import("./403-CYRAU9T7.js"),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/error/404.vue":()=>t(()=>import("./404-DrIunG4L.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/error/components/error.vue":()=>t(()=>import("./error-BU0Zs3ny.js"),__vite__mapDeps([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/fans/commission-settlement.vue":()=>t(()=>import("./commission-settlement-BIUQKhV2.js"),__vite__mapDeps([306,2,3,4,5,6,7,8,9,10,11,12,13,14,15,307,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,308])),"/src/views/fans/h5.vue":()=>t(()=>import("./h5-DoZ33CNA.js"),__vite__mapDeps([117,2,3,4,5,6,7,8,9,10,11,12,13,14,15,118,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,119])),"/src/views/fans/index.vue":()=>t(()=>import("./index-BFqDZyjI.js"),__vite__mapDeps([309,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,118,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/fans/qywx.vue":()=>t(()=>import("./qywx-B3yPQRKG.js"),__vite__mapDeps([310,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,311])),"/src/views/fans/yeji.vue":()=>t(()=>import("./yeji-CjbxhW8j.js"),__vite__mapDeps([312,2,3,4,5,6,7,8,9,10,11,12,13,14,15,21,136,137,34,35,36,307,313,121,124,17,18,19,16,20,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,314])),"/src/views/finance/account_cost/edit.vue":()=>t(()=>import("./edit-DhPDggz8.js"),__vite__mapDeps([315,2,3,4,5,6,7,8,9,10,11,12,13,14,15,313,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,316])),"/src/views/finance/account_cost/index.vue":()=>t(()=>import("./index-CNdV-UFb.js"),__vite__mapDeps([317,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,313,65,241,242,315,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,316,318])),"/src/views/finance/balance_details.vue":()=>t(()=>import("./balance_details-CewPWsE5.js"),__vite__mapDeps([319,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,221,313,172,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/component/refund-log.vue":()=>t(()=>import("./refund-log-BQONpIM2.js"),__vite__mapDeps([320,321,2,3,4,5,6,7,8,9,10,11,12,13,14,15,313,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/mubiao-dept-card.vue":()=>t(()=>import("./mubiao-dept-card-2mhD6goO.js"),__vite__mapDeps([322,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,323])),"/src/views/finance/mubiao-dept-node.vue":()=>t(()=>import("./mubiao-dept-node-B8lRK-e1.js"),__vite__mapDeps([324,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,325])),"/src/views/finance/mubiao.vue":()=>t(()=>import("./mubiao-B0CIVglk.js"),__vite__mapDeps([326,2,3,4,5,6,7,8,9,10,11,12,13,14,15,322,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,323,313,327])),"/src/views/finance/recharge_record.vue":()=>t(()=>import("./recharge_record-DUGG7Fe5.js"),__vite__mapDeps([328,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,221,313,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/refund_record.vue":()=>t(()=>import("./refund_record-db8KZnbz.js"),__vite__mapDeps([329,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,221,313,65,321,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/first_visit/conversion/index.vue":()=>t(()=>import("./index-BoXnkMeQ.js"),__vite__mapDeps([330,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,332])),"/src/views/first_visit/doctor_dashboard/index.vue":()=>t(()=>import("./index-C8llQFXz.js"),__vite__mapDeps([333,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,334])),"/src/views/first_visit/my_patients/components/OrderActionHost.vue":()=>t(()=>import("./OrderActionHost-B3ThVYvr.js").then(a=>a.a),__vite__mapDeps([335,2,3,4,5,6,7,8,9,10,11,12,13,14,15,155,121,156,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,331,124,336])),"/src/views/first_visit/my_patients/components/OrderPanel.vue":()=>t(()=>import("./OrderPanel-BCRcd5lr.js"),__vite__mapDeps([337,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,331,335,155,121,156,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,124,336,338])),"/src/views/first_visit/my_patients/components/PaibanPanel.vue":()=>t(()=>import("./PaibanPanel-BETrahUR.js"),__vite__mapDeps([339,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,340])),"/src/views/first_visit/my_patients/components/ProgressPanel.vue":()=>t(()=>import("./ProgressPanel-BvPmp3XS.js"),__vite__mapDeps([341,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,342])),"/src/views/first_visit/my_patients/index.vue":()=>t(()=>import("./index-D9lWZuU2.js"),__vite__mapDeps([343,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,16,65,124,331,121,123,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,344])),"/src/views/first_visit/registration_stats/index.vue":()=>t(()=>import("./index-Ds14Yyfh.js"),__vite__mapDeps([345,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,346])),"/src/views/first_visit/wecom_promotion/components/PromotionAutomationForm.vue":()=>t(()=>import("./PromotionAutomationForm-COkTGznv.js"),__vite__mapDeps([347,2,3,4,5,6,7,8,9,10,11,12,13,14,15,331,348,349,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,350])),"/src/views/first_visit/wecom_promotion/components/WecomFloatingWidgetBuilder.vue":()=>t(()=>import("./WecomFloatingWidgetBuilder-BF_tetsw.js"),__vite__mapDeps([351,2,3,4,5,6,7,8,9,10,11,12,13,14,15,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,352])),"/src/views/first_visit/wecom_promotion/components/WelcomeMessageEditor.vue":()=>t(()=>import("./WelcomeMessageEditor-A12mxrKO.js").then(a=>a.b),__vite__mapDeps([348,2,3,4,5,6,7,8,9,10,11,12,13,14,15,331,349])),"/src/views/first_visit/wecom_promotion/index.vue":()=>t(()=>import("./index-MdTuu9az.js"),__vite__mapDeps([353,2,3,4,5,6,7,8,9,10,11,12,13,14,15,331,351,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,352,347,348,349,350,354])),"/src/views/material/index.vue":()=>t(()=>import("./index-D53G6fzu.js"),__vite__mapDeps([355,2,3,4,5,6,7,8,9,10,11,12,13,14,15,57,58,59,60,55,56,61,62,63,64,22,23,65,66,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,356])),"/src/views/message/notice/edit.vue":()=>t(()=>import("./edit-B8eFIqdD.js"),__vite__mapDeps([357,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,358,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/notice/index.vue":()=>t(()=>import("./index-Q5Ek1In8.js"),__vite__mapDeps([359,2,3,4,5,6,7,8,9,10,11,12,13,14,15,358,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/short_letter/edit.vue":()=>t(()=>import("./edit-C3Dfhz08.js"),__vite__mapDeps([360,361,2,3,4,5,6,7,8,9,10,11,12,13,14,15,358,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/short_letter/index.vue":()=>t(()=>import("./index-DM8wou5M.js"),__vite__mapDeps([362,2,3,4,5,6,7,8,9,10,11,12,13,14,15,358,361,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/order/index.vue":()=>t(()=>import("./index-YlXDfCLx.js"),__vite__mapDeps([363,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,221,65,124,122,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,364])),"/src/views/organization/department/edit.vue":()=>t(()=>import("./edit-B86t9jbn.js"),__vite__mapDeps([365,366,2,3,4,5,6,7,8,9,10,11,12,13,14,15,204,55,56,172,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/department/index.vue":()=>t(()=>import("./index-C0TmyDi6.js"),__vite__mapDeps([367,2,3,4,5,6,7,8,9,10,11,12,13,14,15,204,366,55,56,172,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/post/edit.vue":()=>t(()=>import("./edit-DvbnA_Iw.js"),__vite__mapDeps([368,369,2,3,4,5,6,7,8,9,10,11,12,13,14,15,205,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/post/index.vue":()=>t(()=>import("./index-BuoDXKR5.js"),__vite__mapDeps([370,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,205,65,369,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/patient/reception/components/NoteTimeline.vue":()=>t(()=>import("./NoteTimeline-DVNRRysO.js"),__vite__mapDeps([159,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,127,124,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,160])),"/src/views/patient/reception/index.vue":()=>t(()=>import("./index-BTlyUNCl.js"),__vite__mapDeps([371,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,127,159,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,124,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,160,129,128,130,131,132,133,134,135,136,137,138,121,139,140,75,372])),"/src/views/permission/admin/edit.vue":()=>t(()=>import("./edit-D5E4IGLO.js"),__vite__mapDeps([373,374,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,204,205,203,231,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/admin/index.vue":()=>t(()=>import("./index-B9Q0OYI5.js"),__vite__mapDeps([375,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,203,231,172,65,374,54,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,204,205,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/menu/edit.vue":()=>t(()=>import("./edit-Cezi5UCT.js"),__vite__mapDeps([376,377,2,3,4,5,6,7,8,9,10,11,12,13,14,15,378,22,23,287,55,56,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/menu/index.vue":()=>t(()=>import("./index-c6l5F9Wm.js"),__vite__mapDeps([379,2,3,4,5,6,7,8,9,10,11,12,13,14,15,287,65,377,378,22,23,55,56,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/auth.vue":()=>t(()=>import("./auth-Cq56kTJb.js"),__vite__mapDeps([380,381,2,3,4,5,6,7,8,9,10,11,12,13,14,15,287,231,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/edit.vue":()=>t(()=>import("./edit-BN7xhPW7.js"),__vite__mapDeps([382,383,2,3,4,5,6,7,8,9,10,11,12,13,14,15,231,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/index.vue":()=>t(()=>import("./index-wP2rzNak.js"),__vite__mapDeps([384,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,231,65,381,287,55,56,383,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/pharmacy/medicine_mapping/index.vue":()=>t(()=>import("./index-0MmkT8Lc.js"),__vite__mapDeps([385,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,386])),"/src/views/setting/desktop_workstation/index.vue":()=>t(()=>import("./index-BrWEzRo9.js"),__vite__mapDeps([387,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,61,62,63,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/data/edit.vue":()=>t(()=>import("./edit-BtPgqFvb.js"),__vite__mapDeps([388,389,2,3,4,5,6,7,8,9,10,11,12,13,14,15,288,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/data/index.vue":()=>t(()=>import("./index-B-4XfG4i.js"),__vite__mapDeps([390,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,288,65,389,55,56,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/type/edit.vue":()=>t(()=>import("./edit-DI6xYbut.js"),__vite__mapDeps([391,392,2,3,4,5,6,7,8,9,10,11,12,13,14,15,288,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/type/index.vue":()=>t(()=>import("./index-CDzfJx8p.js"),__vite__mapDeps([393,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,288,65,392,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/pay/config/edit.vue":()=>t(()=>import("./edit-DKzh1wFK.js"),__vite__mapDeps([394,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,395,43,396,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,397])),"/src/views/setting/pay/config/index.vue":()=>t(()=>import("./index-B0O0Dlpp.js"),__vite__mapDeps([398,2,3,4,5,6,7,8,9,10,11,12,13,14,15,395,396,394,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,43,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,397])),"/src/views/setting/pay/method/index.vue":()=>t(()=>import("./index-D7__UvHo.js"),__vite__mapDeps([399,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,395,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/search/index.vue":()=>t(()=>import("./index-nUSE5ReJ.js"),__vite__mapDeps([400,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,401])),"/src/views/setting/storage/edit.vue":()=>t(()=>import("./edit-Cr_KB7Uj.js"),__vite__mapDeps([402,403,2,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/storage/index.vue":()=>t(()=>import("./index-ADsqVpLj.js"),__vite__mapDeps([404,2,3,4,5,6,7,8,9,10,11,12,13,14,15,403,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/cache.vue":()=>t(()=>import("./cache-D_vN465x.js"),__vite__mapDeps([405,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/environment.vue":()=>t(()=>import("./environment-ByMIQ2-e.js"),__vite__mapDeps([406,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/journal.vue":()=>t(()=>import("./journal-5h3b-rKa.js"),__vite__mapDeps([407,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,221,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/scheduled_task/edit.vue":()=>t(()=>import("./edit-EVe-rvDl.js"),__vite__mapDeps([408,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/scheduled_task/index.vue":()=>t(()=>import("./index-DAuHO-PF.js"),__vite__mapDeps([409,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/user/login_register.vue":()=>t(()=>import("./login_register-CC_WxvcF.js"),__vite__mapDeps([410,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,411,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/user/setup.vue":()=>t(()=>import("./setup-BE7_lWZ-.js"),__vite__mapDeps([412,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,411,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/filing.vue":()=>t(()=>import("./filing-AgGjXE6m.js"),__vite__mapDeps([413,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,59,60,414,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/information.vue":()=>t(()=>import("./information-BPMYpBuF.js"),__vite__mapDeps([415,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,414,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/protocol.vue":()=>t(()=>import("./protocol-0nHxkgVv.js"),__vite__mapDeps([416,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,167,168,169,170,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,171,414,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/statistics.vue":()=>t(()=>import("./statistics-Cs8S-p71.js"),__vite__mapDeps([417,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,414,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/stats/assistant-performance/index.vue":()=>t(()=>import("./index-Dp25xzkX.js"),__vite__mapDeps([418,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,307,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,419])),"/src/views/stats/auto_assign_log/index.vue":()=>t(()=>import("./index-uhLoGVNB.js"),__vite__mapDeps([420,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,307,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,421])),"/src/views/stats/conversion/index.vue":()=>t(()=>import("./index-CguMPd65.js"),__vite__mapDeps([422,58,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,307,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,423])),"/src/views/stats/performance-dashboard/index.vue":()=>t(()=>import("./index-Vc0qWDyq.js"),__vite__mapDeps([424,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,307,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,425])),"/src/views/stats/revisit_rate/index.vue":()=>t(()=>import("./index-J4t9UnEx.js"),__vite__mapDeps([426,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,307,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,427])),"/src/views/stats/self_input/MediaSourceSelect.vue":()=>t(()=>import("./MediaSourceSelect-D2O2xTjc.js"),__vite__mapDeps([428,429,2,3,4,5,6,7,8,9,10,11,12,13,14,15])),"/src/views/stats/self_input/account_cost.vue":()=>t(()=>import("./account_cost-Cu7HRXZ4.js"),__vite__mapDeps([430,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,431,204,65,432,55,56,429,433,241,242,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,434])),"/src/views/stats/self_input/cost-edit.vue":()=>t(()=>import("./cost-edit-BkHmQaQh.js"),__vite__mapDeps([435,432,2,3,4,5,6,7,8,9,10,11,12,13,14,15,431,55,56,429,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/stats/self_input/index.vue":()=>t(()=>import("./index-CXKP4IpU.js"),__vite__mapDeps([436,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,431,204,65,429,437,55,56,433,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,438])),"/src/views/stats/self_input/yeji-edit.vue":()=>t(()=>import("./yeji-edit-DNKGXffJ.js"),__vite__mapDeps([439,437,2,3,4,5,6,7,8,9,10,11,12,13,14,15,431,55,56,429,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/tcm/appointment/components/prescription-drawer.vue":()=>t(()=>import("./prescription-drawer-BZnGD-lY.js"),__vite__mapDeps([440,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,232,230,233,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,441])),"/src/views/tcm/appointment/list.vue":()=>t(()=>import("./list-BY4Dc_F3.js"),__vite__mapDeps([442,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,221,65,75,204,121,127,124,133,123,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,443])),"/src/views/tcm/appointment/list_h5.vue":()=>t(()=>import("./list_h5-D1GNR55p.js"),__vite__mapDeps([444,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,123,121,127,65,133,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,445])),"/src/views/tcm/diagnosis/add.vue":()=>t(()=>import("./add-DUPS86dc.js"),__vite__mapDeps([446,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,447])),"/src/views/tcm/diagnosis/appointment.vue":()=>t(()=>import("./appointment-aTSV_XED.js"),__vite__mapDeps([448,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,449])),"/src/views/tcm/diagnosis/components/AppointmentRecordPanel.vue":()=>t(()=>import("./AppointmentRecordPanel-D32UIqUN.js"),__vite__mapDeps([152,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,153])),"/src/views/tcm/diagnosis/components/AssignLogPanel.vue":()=>t(()=>import("./AssignLogPanel-Dye0u9va.js"),__vite__mapDeps([150,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,151])),"/src/views/tcm/diagnosis/components/AssistantWatchCallDialog.vue":()=>t(()=>import("./AssistantWatchCallDialog-BLaY2Gyh.js"),__vite__mapDeps([450,2,3,4,5,6,7,8,9,10,11,12,13,14,15,451,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,452])),"/src/views/tcm/diagnosis/components/BloodRecordList.vue":()=>t(()=>import("./BloodRecordList-EQkADV67.js"),__vite__mapDeps([453,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,34,35,36,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,454])),"/src/views/tcm/diagnosis/components/CallRecordPanel.vue":()=>t(()=>import("./CallRecordPanel-D0IuoeiU.js"),__vite__mapDeps([141,2,3,4,5,6,7,8,9,10,11,12,13,14,15,142,143,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144,145,61,62,63,121,146])),"/src/views/tcm/diagnosis/components/CaseRecordList.vue":()=>t(()=>import("./CaseRecordList-B8mV3RcM.js"),__vite__mapDeps([455,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,456])),"/src/views/tcm/diagnosis/components/DailyMatrix.vue":()=>t(()=>import("./DailyMatrix-UhX8pyGC.js"),__vite__mapDeps([135,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,136,137,34,35,36,138,121,124,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,37,38,39,139,132,140])),"/src/views/tcm/diagnosis/components/DiagnosisTodoList.vue":()=>t(()=>import("./DiagnosisTodoList-CFEYln83.js"),__vite__mapDeps([138,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,124,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,139])),"/src/views/tcm/diagnosis/components/DietRecordList.vue":()=>t(()=>import("./DietRecordList-DiOY_-B_.js"),__vite__mapDeps([457,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,121,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,458])),"/src/views/tcm/diagnosis/components/ExerciseRecordList.vue":()=>t(()=>import("./ExerciseRecordList-BcbsP5MM.js"),__vite__mapDeps([459,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,121,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,460])),"/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue":()=>t(()=>import("./ImChatRecordPanel-Dfh8REJx.js"),__vite__mapDeps([147,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,148,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,149])),"/src/views/tcm/diagnosis/components/PatientCaseCard.vue":()=>t(()=>import("./PatientCaseCard-B9RReKmk.js"),__vite__mapDeps([131,132,128,133,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,134])),"/src/views/tcm/diagnosis/components/PatientInfoCard.vue":()=>t(()=>import("./PatientInfoCard-Bub1uklL.js"),__vite__mapDeps([129,128,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130])),"/src/views/tcm/diagnosis/components/PatientOrderList.vue":()=>t(()=>import("./PatientOrderList-hgIlFF0m.js"),__vite__mapDeps([154,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,121,155,156,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,158])),"/src/views/tcm/diagnosis/components/RecordingPlaybackBlock.vue":()=>t(()=>import("./RecordingPlaybackBlock-CTkcYK3L.js"),__vite__mapDeps([142,2,3,4,5,6,7,8,9,10,11,12,13,14,15,143,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144,145])),"/src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue":()=>t(()=>import("./RecordingVideoPlayer-VBMST9fm.js"),__vite__mapDeps([143,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144])),"/src/views/tcm/diagnosis/components/TrackingMatrix.vue":()=>t(()=>import("./TrackingMatrix-DM20myFS.js"),__vite__mapDeps([461,2,3,4,5,6,7,8,9,10,11,12,13,14,15,132,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,462])),"/src/views/tcm/diagnosis/components/TrackingNoteTimeline.vue":()=>t(()=>import("./TrackingNoteTimeline-BN_PykOB.js"),__vite__mapDeps([463,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,464])),"/src/views/tcm/diagnosis/detail.vue":()=>t(()=>import("./detail-BzY4w_V9.js"),__vite__mapDeps([465,55,2,3,4,5,6,7,8,9,10,11,12,13,14,15,56,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/tcm/diagnosis/edit.vue":()=>t(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([466,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,124,135,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,136,137,34,35,36,138,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,37,38,39,139,132,140,455,456,141,142,143,144,145,146,147,148,149,150,151,152,75,153,159,127,160,154,155,156,157,158,467,232,230,233,133,234,235,236,468,469,464])),"/src/views/tcm/diagnosis/index.vue":()=>t(()=>import("./index-hyZhgnYU.js"),__vite__mapDeps([470,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,122,75,65,123,124,16,221,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,471])),"/src/views/tcm/diagnosis/index_h5.vue":()=>t(()=>import("./index_h5-DDGgBKsJ.js"),__vite__mapDeps([120,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,122,75,123,65,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,125])),"/src/views/tcm/diagnosis/readonly.vue":()=>t(()=>import("./readonly-CZaNTA70.js"),__vite__mapDeps([126,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,121,127,128,124,129,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130,131,132,133,134,135,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,75,153,154,155,156,157,158,159,160,161])),"/src/views/tcm/follow/index.vue":()=>t(()=>import("./index-BqygYdeI.js"),__vite__mapDeps([472,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,204,122,75,65,123,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,473])),"/src/views/template/component/file.vue":()=>t(()=>import("./file-BDJxuISl.js"),__vite__mapDeps([474,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/icon.vue":()=>t(()=>import("./icon-CPBsEowB.js"),__vite__mapDeps([475,2,3,4,5,6,7,8,9,10,11,12,13,14,15,378,22,23,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/link.vue":()=>t(()=>import("./link-CGojB-wX.js"),__vite__mapDeps([476,2,3,4,5,6,7,8,9,10,11,12,13,14,15,82,55,56,58,83,65,84,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/overflow.vue":()=>t(()=>import("./overflow-dVvSdRur.js"),__vite__mapDeps([477,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/popover_input.vue":()=>t(()=>import("./popover_input-CuE6I06A.js"),__vite__mapDeps([478,2,3,4,5,6,7,8,9,10,11,12,13,14,15,64,22,23])),"/src/views/template/component/rich_text.vue":()=>t(()=>import("./rich_text-ocUaHwdI.js"),__vite__mapDeps([479,2,3,4,5,6,7,8,9,10,11,12,13,14,15,167,168,169,170,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,171,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/upload.vue":()=>t(()=>import("./upload-DeI6j3R7.js"),__vite__mapDeps([480,2,3,4,5,6,7,8,9,10,11,12,13,14,15,61,62,63,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/test/patient-call.vue":()=>t(()=>import("./patient-call-BVrmqt06.js"),__vite__mapDeps([481,2,3,4,5,6,7,8,9,10,11,12,13,14,15,482,483,484,485,486,487,488,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,489])),"/src/views/user/setting.vue":()=>t(()=>import("./setting-C4t4bQUw.js"),__vite__mapDeps([51,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,49,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,73])),"/src/views/workbench/index.vue":()=>t(()=>import("./index-DI1J3EW8.js"),__vite__mapDeps([490,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,121,122,396,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,491]))});function R7(){return Object.keys(B3).map(a=>a.replace("/src/views/","").replace(".vue",""))}function f1(a,o=!0){return a.map(e=>{const i=C6(e,o);return e.children!=null&&e.children&&e.children.length&&(i.children=f1(e.children,!1)),i})}function C6(a,o){const e=A1(a.paths),i={path:J(a.paths)?a.paths:o?`/${e}`:e,name:Symbol(a.paths),meta:{hidden:!a.is_show,keepAlive:!!a.is_cache,title:a.name,perms:a.perms,query:a.params,icon:a.icon,type:a.type,activeMenu:a.selected}};switch(a.type){case y3.CATALOGUE:i.component=o?l3:O3,a.children||(i.component=O3);break;case y3.MENU:i.component=S6(a.component);break}return i}function S6(a){try{const o=A1(a),e=Object.keys(B3).find(i=>i.includes(`/${o}.vue`));if(e)return B3[e];throw Error(`找不到组件${a},请确保组件路径正确`)}catch(o){return console.error(o),O3}}function A1(a){return String(a||"").replace(/^\/+/,"").replace(/\/+$/,"")}function C3(a){var o,e;for(const i of a){if(((o=i.meta)==null?void 0:o.type)==y3.MENU&&!((e=i.meta)!=null&&e.hidden)&&!J(i.path))return i.name;if(i.children){const l=C3(i.children);if(l)return l}}}function D7(a){var e;return((e=(s3()||H).getRoutes().find(i=>{var l;return((l=i.meta)==null?void 0:l.perms)==a}))==null?void 0:e.path)||""}function k6(){H.removeRoute(L3);const{routes:a}=Y();a.forEach(o=>{const e=o.name;e&&H.hasRoute(e)&&H.removeRoute(e)})}const H=T1({history:O1("/admin/"),routes:B6});function x3(a){if(a==null)return"";if(Array.isArray(a)){const o=a[0];return o==null?"":String(o).trim()}return String(a).trim()}function Y3(a){if(!x3(a.query.code))return!1;const e=x3(a.query.state);return e==="bind_wxwork"||e==="admin_bind_wx"?!0:x3(a.query.bind_wxwork)==="1"}const S3=(a,o="")=>{try{a.forEach(e=>{if(J(e.path))return;const i=o+e.path,l={...e,path:i,name:e.name||i.replace(/\//g,"_").replace("_","")};e.children?H.addRoute(l):H.addRoute(L3,l),e.children&&e.children.length>0&&S3(e.children,i+"/")})}catch(e){console.error("Error adding routes:",e)}},o3=T.LOGIN,j6=T.INDEX,H3="/change-password",v3="/bind-work-wechat",N6=[T.LOGIN,T.ERROR_403];H.beforeEach(async(a,o,e)=>{var c,s,r,n;document.title=a.meta.title??B.title;const i=Y(),l=m3();if(a.path===v3){if(!i.token){e({path:o3});return}e();return}if(a.path===H3){if(!i.token){e({path:o3});return}e();return}if(N6.includes(a.path))e();else if(i.token)if(Object.keys(i.userInfo).length!==0){if(i.isPaw===0){e({path:H3});return}if((c=i.userInfo)!=null&&c.need_bind_work_wechat&&a.path!==v3){if(Y3(a)){e();return}e({path:v3});return}if(!((s=i.userInfo)!=null&&s.need_bind_work_wechat)&&((r=i.routes)==null?void 0:r.length)>0&&!H.hasRoute(L3)){const p=C3(i.routes);if(!p){t3(),e(T.ERROR_403);return}l.setRouteName(p),_3.redirect={name:p},H.addRoute(_3),S3(i.routes),e({...a,replace:!0});return}a.path===o3?e({path:j6}):e()}else try{if(await i.getUserInfo(),i.isPaw===0){e({path:H3});return}if((n=i.userInfo)!=null&&n.need_bind_work_wechat){if(Y3(a)){e({...a,replace:!0});return}e({path:v3});return}const p=i.routes,_=C3(p);if(!_){t3(),e(T.ERROR_403);return}l.setRouteName(_),_3.redirect={name:_},H.addRoute(_3),S3(p),e({...a,replace:!0})}catch{t3(),e({path:o3,query:{redirect:a.fullPath}})}else e({path:o3,query:{redirect:a.fullPath}})});if(typeof window<"u"){let a=function(){var o=document.body,e=document.getElementById("__svg__icons__dom__");e||(e=document.createElementNS("http://www.w3.org/2000/svg","svg"),e.style.position="absolute",e.style.width="0",e.style.height="0",e.id="__svg__icons__dom__",e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("xmlns:link","http://www.w3.org/1999/xlink")),e.innerHTML='',o.insertBefore(e,o.lastChild)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",a):a()}function q6(){return V.get({url:"/chat/notifications"})}const W6=["onClick"],G6={class:"chat-notify-body"},$6={class:"chat-notify-title"},U6={class:"chat-notify-desc"},F6={class:"patient-name"},Y6={class:"doctor-name"},Z6={class:"patient-name"},X6={class:"patient-name"},K6={class:"chat-notify-time"},J6=["onClick"],Q6=5e3,a4=L({__name:"index",setup(a){const o=s3(),e=c3([]),i=c3(null);function l(n){if(!n)return"";const v=new Date(n*1e3),_=new Date().getTime()-v.getTime();return _<6e4?"刚刚":_<36e5?`${Math.floor(_/6e4)} 分钟前`:_<864e5?`${Math.floor(_/36e5)} 小时前`:v.toLocaleDateString("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"})}function c(n){e.value=e.value.filter(v=>v.id!==n)}function s(n){c(n.id),n.type==="consultation_complete"&&n.diagnosis_id&&o.push({path:"/tcm/diagnosis",query:{id:n.diagnosis_id}})}async function r(){try{const n=await q6();Array.isArray(n)&&n.length>0&&(e.value=[...n,...e.value].slice(0,10))}catch{}}return u1(()=>{r(),i.value=setInterval(r,Q6)}),l0(()=>{i.value&&clearInterval(i.value)}),(n,v)=>{const p=Q3;return h(),A(c0,{to:"body"},[u(z0,{name:"chat-notify-slide",tag:"div",class:"chat-notify-container"},{default:z(()=>[(h(!0),g(D,null,K(e.value,_=>(h(),g("div",{key:_.id,class:b3(["chat-notify-card",{"chat-notify-card-complete":_.type==="consultation_complete","chat-notify-card-left":_.type==="patient_left_chat"}]),onClick:w=>s(_)},[d("div",{class:b3(["chat-notify-icon",{"chat-notify-icon-complete":_.type==="consultation_complete","chat-notify-icon-left":_.type==="patient_left_chat"}])},[u(p,{size:22},{default:z(()=>[_.type!=="consultation_complete"&&_.type!=="patient_left_chat"?(h(),A(m(r0),{key:0})):_.type==="consultation_complete"?(h(),A(m(m0),{key:1})):(h(),A(m(u0),{key:2}))]),_:2},1024)],2),d("div",G6,[d("div",$6,P(_.type==="consultation_complete"?"面诊结束":_.type==="patient_left_chat"?"患者离开会话":"患者打开会话"),1),d("div",U6,[_.type==="consultation_complete"?(h(),g(D,{key:0},[d("span",F6,P(_.patient_name||"患者"),1),v[0]||(v[0]=I(" 的面诊已由 ",-1)),d("span",Y6,P(_.doctor_name||"医生"),1),v[1]||(v[1]=I(" 完成,请及时跟进 ",-1))],64)):_.type==="patient_left_chat"?(h(),g(D,{key:1},[d("span",Z6,P(_.patient_name||"患者"),1),v[2]||(v[2]=I(" 已离开问诊会话页面 ",-1))],64)):(h(),g(D,{key:2},[d("span",X6,P(_.patient_name||"患者"),1),v[3]||(v[3]=I(" 已打开与您的会话,请及时查看 ",-1))],64))]),d("div",K6,P(l(_.created_at)),1)]),d("button",{class:"chat-notify-close",onClick:p0(w=>c(_.id),["stop"]),"aria-label":"关闭"},[u(p,{size:14},{default:z(()=>[u(m(d0))]),_:1})],8,J6)],10,W6))),128))]),_:1})])}}}),o4=R(a4,[["__scopeId","data-v-2fb1f024"]]),e4=L({__name:"App",setup(a){const o=k(),e=q(),i=Y(),l=A3(),c=b(()=>{var v;return!!i.token&&l.path!=="/bind-work-wechat"&&!((v=i.userInfo)!=null&&v.need_bind_work_wechat)}),s={zIndex:2e3,locale:K1},r=c1();u1(async()=>{console.log("主题颜色",r.value),e.setTheme(r.value)});const{width:n}=Q1();return n1(n,_0(v=>{v>I3.SM?(o.setMobile(!1),o.toggleCollapsed(!1)):(o.setMobile(!0),o.toggleCollapsed(!0)),v{const _=n3("router-view"),w=X1;return h(),A(w,{locale:s.locale,"z-index":s.zIndex},{default:z(()=>[u(_),c.value?(h(),A(o4,{key:0})):C("",!0)]),_:1},8,["locale","z-index"])}}}),T3="data-clipboard-text",t4={mounted:(a,o)=>{a.setAttribute(T3,o.value);const{toClipboard:e}=y0();a.onclick=()=>{e(a.getAttribute(T3)).then(()=>{X.msgSuccess("复制成功")}).catch(()=>{X.msgError("复制失败")})}},updated:(a,o)=>{a.setAttribute(T3,o.value)}},i4=Object.freeze(Object.defineProperty({__proto__:null,default:t4},Symbol.toStringTag,{value:"Module"}));function Z3(a,o){const{value:e}=o,l=Y().perms||[],c="*";if(!Array.isArray(e))throw new Error(`like v-perms="['auth.menu/edit']"`);if(e.length===0){a.style.removeProperty("display");return}l.some(r=>c==r||e.includes(r))?a.style.removeProperty("display"):a.style.display="none"}const l4={mounted:(a,o)=>{Z3(a,o)},updated:(a,o)=>{Z3(a,o)}},c4=Object.freeze(Object.defineProperty({__proto__:null,default:l4},Symbol.toStringTag,{value:"Module"}));g0([w0,f0,A0,V0,L0,E0,M0,x0,H0,T0,O0,I0,P0,R0,D0,B0,C0,S0,k0,j0,N0,q0,W0,G0,$0]);const s4=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),n4=a=>{for(const[o,e]of Object.entries(h1))a.component(o,e)},r4=Object.freeze(Object.defineProperty({__proto__:null,default:n4},Symbol.toStringTag,{value:"Module"}));console.log(U0);const m4=a=>{a.use(F0)},u4=Object.freeze(Object.defineProperty({__proto__:null,default:m4},Symbol.toStringTag,{value:"Module"})),d4=I1(),h4=a=>{a.use(d4)},_4=Object.freeze(Object.defineProperty({__proto__:null,default:h4},Symbol.toStringTag,{value:"Module"}));function v4(a){a.beforeEach(async()=>{const o=k();if(!o.configFetchAttempted){o.$patch({configFetchAttempted:!0});try{const e=await o.getConfig();let i=document.querySelector('link[rel="icon"]');i&&(e!=null&&e.web_favicon)&&(i.href=e.web_favicon),e!=null&&e.web_favicon&&(i=document.createElement("link"),i.rel="icon",i.href=e.web_favicon,document.head.appendChild(i))}catch{}}})}const p4=Object.freeze(Object.defineProperty({__proto__:null,default:v4},Symbol.toStringTag,{value:"Module"})),X3=Object.assign({"./init.ts":p4});function z4(a){Object.keys(X3).forEach(o=>{const e=X3[o].default;typeof e=="function"&&e(a)})}const b4=a=>{z4(H),a.use(H)},y4=Object.freeze(Object.defineProperty({__proto__:null,default:b4},Symbol.toStringTag,{value:"Module"}));function g4(a){typeof window<"u"&&(window.__TUIKIT_INITIALIZED__=!0)}const w4=Object.freeze(Object.defineProperty({__proto__:null,default:g4},Symbol.toStringTag,{value:"Module"})),K3=Object.assign({"./directives/copy.ts":i4,"./directives/perms.ts":c4,"./plugins/echart.ts":s4,"./plugins/element.ts":r4,"./plugins/hljs.ts":u4,"./plugins/pinia.ts":_4,"./plugins/router.ts":y4,"./plugins/tuikit.ts":w4});function f4(a){Object.keys(K3).forEach(o=>{const e=o.replace(/(.*\/)*([^.]+).*/gi,"$2"),i=o.replace(/^\.\/([\w-]+).*/gi,"$1"),l=K3[o];if(l.default)switch(i){case"directives":a.directive(e,l.default);break;case"plugins":typeof l.default=="function"&&l.default(a);break}})}const A4={install:f4},V1=b0(e4);V1.use(A4);V1.mount("#app");y1().then(a=>{console.log(`%c likeadmin %c v${a.version} `,"padding: 4px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #bbb; font-weight: bold;","padding: 4px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #4A5DFF; font-weight: bold;")});export{r7 as A,y7 as B,n7 as C,g7 as D,J2 as E,E7 as F,M7 as G,T7 as H,P7 as I,O7 as J,H7 as K,x7 as L,y3 as M,I7 as N,v7 as O,T as P,m7 as Q,U as R,L7 as S,z7 as T,R as _,u7 as a,_7 as b,W as c,p7 as d,k as e,F as f,b1 as g,d7 as h,b6 as i,h7 as j,X as k,$2 as l,D7 as m,q as n,b7 as o,i3 as p,p6 as q,V as r,B as s,A7 as t,Y as u,U3 as v,V7 as w,R7 as x,f7 as y,w7 as z}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/404-B5k2zNS_.js","assets/error-D1FuDlMf.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/vue-router-QlpZ4wdW.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/error-BuAQ7kny.css","assets/403-CPnePqbE.js","assets/login-BhxpzyyI.js","assets/useLockFn-X4Qce5KO.js","assets/footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js","assets/login-B9ZNdsU2.css","assets/change-password-x7Sz_3GB.js","assets/change-password-CsrB35aU.css","assets/bind-work-wechat-CvAePHuu.js","assets/wecomOauthPostMessage-C_e6VGrO.js","assets/bind-work-wechat-BX1gqwq1.css","assets/setting-M6wAI_0P.js","assets/index-UGD9wxNK.js","assets/index-B2JO0Jot.css","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/setting-PFzaCySP.css","assets/progress-Crqw_SbF.js","assets/doctor-BZKBQu9t.js","assets/progress-CQXIT7YT.css","assets/pc_details-Cv9JlnxV.js","assets/decoration-BRUlzC1v.js","assets/preview-pc-B5scFioi.js","assets/index-B48jKD3-.js","assets/attr-U0WNIueQ.js","assets/picker-CeVtQr2X.js","assets/article-D7twg9M1.js","assets/picker-DlyQ_D1Y.css","assets/attr-DW0KLy-Z.css","assets/content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js","assets/decoration-img-cJ3sOJu-.js","assets/decoration-img-BEoaJ08y.css","assets/attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js","assets/content-CuE78Set.js","assets/content-CaNRXt_A.css","assets/attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js","assets/content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js","assets/attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js","assets/add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js","assets/content-CC1w-xAd.js","assets/content-B97u18ca.css","assets/attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js","assets/content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js","assets/attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js","assets/content-CjkrN-kA.js","assets/content-DVwelkMc.css","assets/attr.vue_vue_type_script_setup_true_lang-InluY_es.js","assets/index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js","assets/content-CQZwJIUc.js","assets/content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js","assets/attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js","assets/content-BzNveTg-.js","assets/content-rjMVvng7.css","assets/attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js","assets/content.vue_vue_type_script_setup_true_lang-DsMOey0g.js","assets/attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js","assets/content-DrZ0HxYf.js","assets/content-C-ankp9I.css","assets/preview-pc-C2MmXj4j.css","assets/pc_details-CGxd9KrI.css","assets/h5-AaliMZBI.js","assets/fans-xWTU7WTj.js","assets/h5-C0FVYPR8.css","assets/index_h5-DbYby-js.js","assets/tcm-D-ZRccbe.js","assets/order-B5S0jULN.js","assets/weapp-CBd1nTel.js","assets/perm-8cp9D7Ag.js","assets/index_h5-CWq8J0dT.css","assets/readonly-DyVEs7Ql.js","assets/patient-L-xV50Pi.js","assets/diag-display-DCz_VAqj.js","assets/PatientInfoCard-CRgOOFEE.js","assets/PatientInfoCard-CDG1zjKv.css","assets/PatientCaseCard-BUE1F6Xk.js","assets/blood-thresholds-CJ1fqMjh.js","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/PatientCaseCard-Ch4X4VSu.css","assets/DailyMatrix-DtyPece3.js","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/DailyMatrix-WsQb1Wsi.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/NoteTimeline-DqVO9iO4.js","assets/NoteTimeline-ICZA393r.css","assets/readonly-DnD8_EF-.css","assets/index-BK-C1S78.js","assets/edit-VO7XkV1v.js","assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CVNsiWtw.js","assets/index-CkBa3fm7.js","assets/edit-BbPz3ZH3.js","assets/index.vue_vue_type_style_index_0_lang-54f2yh7y.js","assets/@wangeditor/editor-Cyf37SuL.js","assets/@wangeditor/editor-nHDhGvq6.css","assets/@wangeditor/editor-for-vue-D1vSph3l.js","assets/index-DX96drV3.css","assets/useDictOptions-CU1TLMPn.js","assets/index-CDpyEmx0.js","assets/index-1N_0IK2C.js","assets/asset-D3abx9VD.js","assets/index-yfT8lnLY.js","assets/h5-DeQqnrDf.js","assets/open_setting-DuOTXegB.js","assets/weapp-BdK7SbhR.js","assets/config-CybBa6W7.js","assets/wx_oa-Bi2y5vRS.js","assets/menu-JxKcZi6I.js","assets/oa-attr-B8Vj6nQj.js","assets/oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js","assets/useMenuOa-C_WMnKf2.js","assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js","assets/oa-phone-88iTfWtw.js","assets/oa-phone-Drs4Fq6t.css","assets/oa-menu-form-edit-Dfe5nrsm.js","assets/oa-menu-form-MVK6-70i.js","assets/default_reply-Ck6UCxZe.js","assets/edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js","assets/edit-EtrEBhIY.js","assets/follow_reply-BICtf8oP.js","assets/keyword_reply-DeGdWnXE.js","assets/MessageBubble--o_EKRQx.js","assets/MessageBubble-DkeWvgLd.css","assets/SendPanel-Pp0Dm3Lr.js","assets/SendPanel-QEthGFL7.css","assets/index-Dp3CdQ0Z.js","assets/index-e8vonoAk.css","assets/edit-Do5cfT8q.js","assets/admin-RUE9duOm.js","assets/department-DdhKHNS-.js","assets/post-BjyIxcyn.js","assets/edit-CObVTcPU.css","assets/index-BaMnb-iR.js","assets/index-Csf8JQMa.css","assets/account-adjust-Dl4mrGMe.js","assets/account-adjust.vue_vue_type_script_setup_true_lang-CWDqkmPn.js","assets/edit-B_P_HVx3.js","assets/edit-D-D8bVPM.css","assets/index-Be83ib0W.js","assets/index-Oppei429.css","assets/paiban-CqRd7vZl.js","assets/paiban-BTUHWpUu.css","assets/detail-8xtYeAhn.js","assets/consumer-csfCIN0w.js","assets/index-CZc257FO.js","assets/index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js","assets/index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js","assets/GancaoSubmissionReconcileButton-DpfLEmHk.js","assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js","assets/PrescriptionAiBatchGenerateDialog-BUnLbCPn.js","assets/PrescriptionAiBatchGenerateDialog-B29j-rDJ.css","assets/PrescriptionAiReportDialog-COU5n7OO.js","assets/PrescriptionAiReportDialog-ov1eangx.css","assets/guahao-BPV84ZcO.js","assets/index-IvyoKa-e.js","assets/medicine-DIQyk1R0.js","assets/role-hMw9X8iI.js","assets/index-D6w2Tfd_.js","assets/index-C_LxAEkS.css","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-BhGufVKL.css","assets/list-CMCIptz5.js","assets/list-BluNBZln.css","assets/order_list-BYpnig_B.js","assets/useListTimeFilter-BquUtCH_.js","assets/useListTimeFilter-DkLI1bQ_.css","assets/order_list-CrNvpDFC.css","assets/order_list_h5-CU96gk7f.js","assets/order_list_h5-DT-fNh_i.css","assets/add-nav-Dng94uAB.js","assets/attr-setting-DE1D6Xw2.js","assets/attr-setting.vue_vue_type_script_setup_true_lang-CkQbp3IP.js","assets/menu-Czs2_ERZ.js","assets/menu-usw4ITBD.css","assets/preview-C9cY2eYG.js","assets/preview-DTbrEc-5.css","assets/attr-Desfmq-O.js","assets/attr.vue_vue_type_script_setup_true_lang-s3MjTyMz.js","assets/content-C_Os7VUy.js","assets/content-DUDcoKtN.css","assets/attr-CSIASRLW.js","assets/menu-set.vue_vue_type_script_setup_true_lang-B71z3XWb.js","assets/content-CVZfwvS8.js","assets/content-s9ZqO9iW.css","assets/menu-set-Cg8wW997.js","assets/content-tnscaIhs.js","assets/attr-DGALZxxM.js","assets/attr-CjhU9F4P.js","assets/content-BJiGIc_u.js","assets/attr-BZJ196vG.js","assets/attr-DWqsQPnI.js","assets/content-BGq-Uuuc.js","assets/attr-Db6EuK6T.js","assets/attr-CGTrPtXp.js","assets/content-Dtk1yPl3.js","assets/attr-BS21VV6Q.js","assets/attr-BwA_74Bu.js","assets/content-DVKuEpqI.js","assets/attr-gr_OE7on.js","assets/index-COzAj1fq.js","assets/index-CEjQCdOu.css","assets/pc-Bsl4ZcLO.js","assets/mobile-style-FEnJ57u3.js","assets/mobile-style.vue_vue_type_script_setup_true_lang-BkY-Hl4A.js","assets/theme-picker-4kexhjea.js","assets/theme-picker-CUrGwaPq.css","assets/style-B1g_bg_k.js","assets/tabbar-BYrAmmq1.js","assets/tabbar-C1KhM4wz.css","assets/edit-BXwhN0TR.js","assets/menu-Bn6AOgrY.js","assets/dict-19er6a3L.js","assets/code-MrNYrKx7.js","assets/relations-add.vue_vue_type_script_setup_true_lang-BdFhe7ij.js","assets/edit-DoIT1twe.css","assets/index-C0I0jubD.js","assets/code-preview.vue_vue_type_script_setup_true_lang-BqAwrR8R.js","assets/data-table.vue_vue_type_script_setup_true_lang-BuGcAuLn.js","assets/code-preview-DF2sZaPh.js","assets/data-table-CLWy4za8.js","assets/relations-add-BrrivRhR.js","assets/dept-tongji-Bu-jXIks.js","assets/dept-tongji-StHhDqY7.css","assets/medicine-Cw2sIjNS.js","assets/medicine-B6iX5TnL.css","assets/roster-BL5e33GP.js","assets/roster-CqNlv_rj.css","assets/tongji-BOx1xRac.js","assets/tongji-DSE3xMau.css","assets/commission-settlement-C8uEBqVH.js","assets/stats-DXRw03Ae.js","assets/commission-settlement-BNUWNZPv.css","assets/index-Ct43fb_P.js","assets/qywx-Dwa2dhw9.js","assets/qywx-Dym8iFe0.css","assets/yeji-D0yhxsrU.js","assets/finance-Dc98hQLW.js","assets/yeji-DHJg1Acp.css","assets/edit-Cp8PlYx-.js","assets/edit-pY5KlSAv.css","assets/index-CcMLMPNz.js","assets/index-BvLgvj8J.css","assets/balance_details-C-e-XZQ4.js","assets/refund-log-yhGQ0xn1.js","assets/refund-log.vue_vue_type_script_setup_true_lang-Dtrt6_4q.js","assets/mubiao-dept-card-DfnzTPJO.js","assets/mubiao-dept-card-naMqyghz.css","assets/mubiao-dept-node-Ds3E7lF2.js","assets/mubiao-dept-node-CANQUVWv.css","assets/mubiao-Dv-wql71.js","assets/mubiao-3I8h622-.css","assets/recharge_record-DGzsXulv.js","assets/refund_record-CZUgsvAx.js","assets/index-BX_8clc1.js","assets/first_visit-lwfDQsu4.js","assets/index-VQ442-Fo.css","assets/index-DXf2y97-.js","assets/index-Dy4Wsc6v.css","assets/OrderActionHost-C510XVGT.js","assets/OrderActionHost-MCeToytn.css","assets/OrderPanel-BxRj5r_p.js","assets/OrderPanel-BiwYHoSA.css","assets/PaibanPanel-2RDEzQLo.js","assets/PaibanPanel-aqm8azGc.css","assets/ProgressPanel-Cz93PB3z.js","assets/ProgressPanel-DAF-FohF.css","assets/index-CrOviIg_.js","assets/index-BCK3lodp.css","assets/index-DScosua5.js","assets/index-CHaj38jg.css","assets/PromotionAutomationForm-C_8XR98S.js","assets/WelcomeMessageEditor-CZ3lYeWY.js","assets/WelcomeMessageEditor-DiKqm3T9.css","assets/PromotionAutomationForm-CzR0bpUd.css","assets/WecomFloatingWidgetBuilder-CeJ7tFnb.js","assets/WecomFloatingWidgetBuilder-BZMBgDqB.css","assets/index-DX2H1tQM.js","assets/index-CZe6kgsS.css","assets/index-CwAaH8wu.js","assets/index-DNCpQzcN.css","assets/edit-ZQ7tSM9h.js","assets/message-BwLlJSkW.js","assets/index-ex2TBIDl.js","assets/edit-BXwpNDY-.js","assets/edit.vue_vue_type_script_setup_true_lang-Csd8PIFD.js","assets/index-CsdJJZcj.js","assets/index-BDHpYY_Z.js","assets/index-CmFE2aZQ.css","assets/edit-CF2O2Fit.js","assets/edit.vue_vue_type_script_setup_true_lang-B0HIfaxe.js","assets/index-CC7Q2x1w.js","assets/edit-ZZMCozF8.js","assets/edit.vue_vue_type_script_setup_true_lang-DNryuqHs.js","assets/index-BNoaqcOd.js","assets/index-6fpUcIGz.js","assets/index-DWhVPfZC.css","assets/edit-BMFiZk9J.js","assets/edit.vue_vue_type_script_setup_true_lang-Cmw9LYbk.js","assets/index-ryG0bJRe.js","assets/edit-yL8EpC5L.js","assets/edit.vue_vue_type_script_setup_true_lang-Bfkmk0Oj.js","assets/picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js","assets/index-C7ZHkyPf.js","assets/auth-BPryrCi7.js","assets/auth.vue_vue_type_script_setup_true_lang-CFoWU2Bs.js","assets/edit-2Xl3Ar7O.js","assets/edit.vue_vue_type_script_setup_true_lang-Bp1OE_d6.js","assets/index-BzSyPKus.js","assets/index-BQOPfZw4.js","assets/index-Dm-pQxZ-.css","assets/index-CUuHlzOy.js","assets/edit-CpXNGceA.js","assets/edit.vue_vue_type_script_setup_true_lang-DM3yy7QA.js","assets/index-BiFi2OpS.js","assets/edit-BI0tWG2X.js","assets/edit.vue_vue_type_script_setup_true_lang-Dog1IeKU.js","assets/index-cqZKn1MG.js","assets/edit-razgmSeC.js","assets/pay-CM_epwkI.js","assets/getExposeType-MUpmx9zy.js","assets/edit-C9lyE4Yw.css","assets/index-Dq79cnN7.js","assets/index-BeY5SVIg.js","assets/index-ClUiIVBA.js","assets/index-C-vrObNh.css","assets/edit-Bwbysg4y.js","assets/edit.vue_vue_type_script_setup_true_lang-C-Q6zJAz.js","assets/index-Bu073uwT.js","assets/cache-CmGeN_d9.js","assets/environment-DWZ8fjr8.js","assets/journal-CqwEgx0b.js","assets/edit-DQ82mXcF.js","assets/index-rpLvWLk-.js","assets/login_register-BZlioH_J.js","assets/user-DLPA6EUk.js","assets/setup-D9r44yec.js","assets/filing-XM5KxFed.js","assets/website-CeVKwoPS.js","assets/information-DAb-88JQ.js","assets/protocol-DhEGqCSu.js","assets/statistics-CIPjXJvE.js","assets/index-M0N4i9Vc.js","assets/index-BWKbVls9.css","assets/index-CuYTaQIf.js","assets/index-DBNvK3ZK.css","assets/index-CCmH8maL.js","assets/index-C2F2QIu1.css","assets/index-BZK6_Fam.js","assets/index-DvHjwixo.css","assets/index-BcWKucza.js","assets/index-Yr_JizPl.css","assets/MediaSourceSelect-D2O2xTjc.js","assets/MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js","assets/account_cost-B9kmgGu7.js","assets/self_input_stats-BfVTp8QE.js","assets/cost-edit.vue_vue_type_script_setup_true_lang-GDC8DpIL.js","assets/useMediaSourceOptions-Ct8BjvKG.js","assets/account_cost-DtatZw1q.css","assets/cost-edit-pZVZpDGY.js","assets/index-aSZlGdY5.js","assets/yeji-edit.vue_vue_type_script_setup_true_lang-D8Hjw379.js","assets/index-DTWieVTb.css","assets/yeji-edit-ChIyC1vo.js","assets/prescription-drawer-FyoeLrYk.js","assets/prescription-drawer-BjwiqvPc.css","assets/list-BTbA_aY2.js","assets/list-Beqv0vqM.css","assets/list_h5-DFZTD_No.js","assets/list_h5-Be882vvL.css","assets/add-B2VOi4Qw.js","assets/add-D6GVcDKr.css","assets/appointment-CWzTZ9VV.js","assets/appointment-JDceTxKO.css","assets/AssistantWatchCallDialog-BoEGWQ09.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css","assets/BloodRecordList-P_n1Kvlm.js","assets/BloodRecordList-DhVK-Y_e.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/DietRecordList-C2B7kp6Z.js","assets/DietRecordList-Cc-xUr2B.css","assets/ExerciseRecordList-BKFY7oPA.js","assets/ExerciseRecordList-DGtgtzou.css","assets/TrackingMatrix-BfgpwCge.js","assets/TrackingMatrix-CFaje3R8.css","assets/TrackingNoteTimeline--NTL4w6T.js","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-CsM6bOnd.js","assets/edit-DL6Vxw1r.js","assets/index-ns6fHpFi.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/index-BIVqDwVE.js","assets/index-nUsN4URL.css","assets/index-kLHJyqVF.js","assets/index-Cmf8QBsF.css","assets/file-iKPEqCPr.js","assets/icon-Cq9aWCMz.js","assets/link-ChL3YoyQ.js","assets/overflow-CAop_L2e.js","assets/popover_input-CuE6I06A.js","assets/rich_text-Cx8Gf7bM.js","assets/upload-Bhiyuxj5.js","assets/patient-call-DNgQ3_bn.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/rtc-detect-Chu-fZvE.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/patient-call-BRSvBZIt.css","assets/index-LYNm1TDi.js","assets/index-DtDaTXOB.css"])))=>i.map(i=>d[i]); +var x1=Object.defineProperty;var H1=(a,o,e)=>o in a?x1(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e;var $=(a,o,e)=>H1(a,typeof o!="symbol"?o+"":o,e);import{_ as t}from"./jspdf-BsthCvR5.js";import{u as A3,a as s3,c as T1,b as O1,R as O3}from"./vue-router-QlpZ4wdW.js";import{d as V3,c as I1}from"./pinia-B8cvXbiZ.js";import{a as J3,A as p3}from"./axios-C80V62Fs.js";import{l as S}from"./lodash-D3kF6u-c.js";import{y as m,a as j,n as c3,q as P1}from"./@vue/reactivity-DiY1c2vO.js";import{E as u3,a as Z,b as d3,c as R1,d as Q3,e as a1,f as D1,g as B1,h as C1,i as S1,j as k1,k as j1,l as N1,m as q1,n as o1,o as e1,p as t1,q as W1,r as i1,s as l1,u as G1,t as $1,v as U1,w as F1,x as Y1,y as Z1,z as X1,A as K1}from"./element-plus-DGP1XOrU.js";import{u as c1,a as s1,b as J1,c as Q1}from"./@vueuse/core-1S4fJlii.js";import{n as a0,f as L,A as b,ak as h,I as g,J as d,a as u,ar as n3,i as o0,aN as z,F as D,ap as K,O as I,G as A,H as C,w as n1,K as e0,at as r1,ab as k3,aP as m1,Z as t0,aq as i0,b as u1,d as l0,T as c0}from"./@vue/runtime-core-C6bnekPw.js";import{a as d1,p as r3,Q as P,o as b3,P as s0}from"./@vue/shared-mAAVTE9n.js";import{c as n0}from"./css-color-function-DI01JAaZ.js";import{I as h1,J as r0,d as m0,K as u0,c as d0}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as h0,h as _0}from"./@vueuse/shared-Cl3lVqjz.js";import{T as v0,q as _1,s as p0,a as z0,c as b0}from"./@vue/runtime-dom-DDAG46FW.js";import{u as y0}from"./vue-clipboard3-DByT_rEQ.js";import{u as g0,a as w0,b as f0,c as A0,d as V0,e as L0,f as E0,g as M0,h as x0,j as H0,k as T0,l as O0,m as I0,n as P0,o as R0,p as D0,q as B0,r as C0,s as S0,v as k0,w as j0,x as N0,y as q0,z as W0,A as G0,B as $0}from"./echarts-CNLwa9wG.js";import{a as U0}from"./highlight.js-Bxt7hFFy.js";import{o as F0}from"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./clipboard-CHgxszqY.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))i(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const s of c.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).observe(document,{childList:!0,subtree:!0});function e(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(l){if(l.ep)return;l.ep=!0;const c=e(l);fetch(l.href,c)}})();const B={terminal:1,title:"后台管理系统",version:"1.9.4",baseUrl:"/",urlPrefix:"adminapi",timeout:30*1e3};var T=(a=>(a.LOGIN="/login",a.ERROR_403="/403",a.INDEX="/",a))(T||{}),v1=(a=>(a.LIGHT="light",a.DARK="dark",a))(v1||{}),y3=(a=>(a.CATALOGUE="M",a.MENU="C",a.BUTTON="A",a))(y3||{}),I3=(a=>(a[a.SM=640]="SM",a[a.MD=768]="MD",a[a.LG=1024]="LG",a[a.XL=1280]="XL",a[a["2XL"]=1536]="2XL",a))(I3||{});const n7={1:"微信小程序",2:"微信公众号",3:"手机H5",4:"电脑PC",5:"苹果APP",6:"安卓APP"};var p1=(a=>(a.JSON="application/json;charset=UTF-8",a.FORM_DATA="multipart/form-data;charset=UTF-8",a))(p1||{}),e3=(a=>(a.GET="GET",a.POST="POST",a))(e3||{}),U=(a=>(a[a.NOT_INSTALL=-2]="NOT_INSTALL",a[a.LOGIN_FAILURE=-1]="LOGIN_FAILURE",a[a.FAIL=0]="FAIL",a[a.SUCCESS=1]="SUCCESS",a[a.OPEN_NEW_PAGE=2]="OPEN_NEW_PAGE",a[a.NEED_BIND_WORK_WECHAT=10]="NEED_BIND_WORK_WECHAT",a))(U||{});const j3="token",r7="account",g3="setting";function J(a){return/^(https?:|mailto:|tel:)/.test(a)}const Y0=(a,o)=>o.findIndex(e=>e.fullPath==a),N3=a=>a.name==null||a.name===""?"":`${String(a.name)}::${a.path}`,Z0=(a,o)=>{const{path:e,meta:i,name:l}=a;return!!(!e||J(e)||i!=null&&i.hideTab||!o.hasRoute(l)||[T.LOGIN,T.ERROR_403].includes(e))},X0=(a,o)=>o.findIndex(e=>e.fullPath===a),M3=a=>{var o,e,i;return(i=(e=(o=a.matched.at(-1))==null?void 0:o.components)==null?void 0:e.default)==null?void 0:i.name},z1=a=>{const{params:o,path:e,query:i}=a;return{params:o||{},path:e,query:i||{}}},m3=V3({id:"tabs",state:()=>({cacheTabList:new Set,tabList:[],tasMap:{},indexRouteName:""}),getters:{getTabList(){return this.tabList},getCacheTabList(){return Array.from(this.cacheTabList)}},actions:{setRouteName(a){this.indexRouteName=a},addCache(a){a&&this.cacheTabList.add(a)},removeCache(a){a&&this.cacheTabList.has(a)&&this.cacheTabList.delete(a)},clearCache(){this.cacheTabList.clear()},resetState(){this.cacheTabList=new Set,this.tabList=[],this.tasMap={},this.indexRouteName=""},addTab(a){const o=m(a.currentRoute),{name:e,query:i,meta:l,params:c,fullPath:s,path:r}=o;if(Z0(o,a))return;const n=Y0(s,this.tabList),v=M3(o),p={name:e,path:r,fullPath:s,title:l==null?void 0:l.title,query:i,params:c};if(l!=null&&l.keepAlive&&this.addCache(v),n!==-1){this.tabList[n]=p,this.tasMap[s]=p;return}const _=N3(p);if(_){const w=[];if(this.tabList.forEach((O,E)=>{N3(O)===_&&w.push(E)}),w.length>0){const O=w[0];for(let x=w.length-1;x>=1;x--){const f=w[x];delete this.tasMap[this.tabList[f].fullPath],this.tabList.splice(f,1)}const E=this.tabList[O];E.fullPath!==s&&delete this.tasMap[E.fullPath],this.tabList[O]=p,this.tasMap[s]=p;return}}this.tasMap[s]=p,this.tabList.push(p)},removeTab(a,o){const{currentRoute:e,push:i}=o,l=X0(a,this.tabList);this.tabList.length>1&&l!==-1&&this.tabList.splice(l,1);const c=M3(e.value);if(this.removeCache(c),a!==e.value.fullPath)return;let s=null;l===0?s=this.tabList[l]:s=this.tabList[l-1];const r=z1(s);i(r)},removeOtherTab(a){this.tabList=this.tabList.filter(e=>e.fullPath==a.fullPath);const o=M3(a);this.cacheTabList.forEach(e=>{o!==e&&this.removeCache(e)})},removeAllTab(a){const{push:o,currentRoute:e}=a,{name:i}=m(e);if(i==this.indexRouteName){this.removeOtherTab(e.value);return}this.tabList=[],this.clearCache(),o(T.INDEX)}}}),F={key:"like_admin_",set(a,o,e){a=this.getKey(a);let i={expire:e?this.time()+e:"",value:o};typeof i=="object"&&(i=JSON.stringify(i));try{window.localStorage.setItem(a,i)}catch{return null}},get(a){a=this.getKey(a);try{const o=window.localStorage.getItem(a);if(!o)return null;const{value:e,expire:i}=JSON.parse(o);return i&&i{a3.has(e)||a3.set(e,i)})}remove(o){if(a3.has(o)){const e=a3.get(o);e&&e(o),a3.delete(o)}}};$(f3,"instance");let R3=f3;const q3=R3.createInstance();class J0{constructor(o){$(this,"axiosInstance");$(this,"config");$(this,"options");this.config=o,this.options=o.requestOptions,this.axiosInstance=J3.create(o),this.setupInterceptors()}getAxiosInstance(){return this.axiosInstance}setupInterceptors(){if(!this.config.axiosHooks)return;const{requestInterceptorsHook:o,requestInterceptorsCatchHook:e,responseInterceptorsHook:i,responseInterceptorsCatchHook:l}=this.config.axiosHooks;this.axiosInstance.interceptors.request.use(c=>(this.addCancelToken(c),S.isFunction(o)&&(c=o(c)),c),c=>(S.isFunction(e)&&e(c),c)),this.axiosInstance.interceptors.response.use(c=>(this.removeCancelToken(c.config.url),S.isFunction(i)&&(c=i(c)),c),c=>{var s;return S.isFunction(l)&&l(c),c.code!=p3.ERR_CANCELED&&this.removeCancelToken((s=c.config)==null?void 0:s.url),c.code==p3.ECONNABORTED||c.code==p3.ERR_NETWORK?new Promise(r=>setTimeout(r,500)).then(()=>this.retryRequest(c)):Promise.reject(c)})}addCancelToken(o){const{ignoreCancelToken:e}=o.requestOptions;!e&&q3.add(o)}removeCancelToken(o){q3.remove(o)}retryRequest(o){var c;const e=o.config,{retryCount:i,isOpenRetry:l}=e.requestOptions;return!l||((c=e.method)==null?void 0:c.toUpperCase())==e3.POST||(e.retryCount=e.retryCount??0,e.retryCount>=i)?Promise.reject(o):(e.retryCount++,this.axiosInstance.request(e))}get(o,e){return this.request({...o,method:e3.GET},e)}post(o,e){return this.request({...o,method:e3.POST},e)}request(o,e){const i=S.merge({},this.options,e),l={...S.cloneDeep(o),requestOptions:i},{urlPrefix:c}=i;return c&&(l.url=`${c}${o.url}`),new Promise((s,r)=>{this.axiosInstance.request(l).then(n=>{s(n)}).catch(n=>{r(n)})})}}function Q0(){if(typeof window>"u")return!1;const{pathname:a,search:o}=window.location;return a.includes("bind-work-wechat")?/(?:^|[?&])code=/.test(o):!1}const W3="/bind-work-wechat";let G3=0;const a2={requestInterceptorsHook(a){var c;const{withToken:o,isParamsToData:e}=a.requestOptions,i=a.params||{},l=a.headers||{};if(o){const s=b1();l.token=s}return e&&!Reflect.has(a,"data")&&((c=a.method)==null?void 0:c.toUpperCase())===e3.POST&&(a.data=i,a.params={}),a.headers=l,a},requestInterceptorsCatchHook(a){return a},async responseInterceptorsHook(a){const{isTransformResponse:o,isReturnDefaultResponse:e}=a.config.requestOptions;if(e)return a;if(!o)return a.data;const{code:i,data:l,show:c,msg:s}=a.data;switch(i){case U.SUCCESS:return c&&s&&X.msgSuccess(s),l;case U.FAIL:return c&&s&&X.msgError(s),Promise.reject(l);case U.LOGIN_FAILURE:return t3(),H.push(T.LOGIN),Promise.reject();case U.NEED_BIND_WORK_WECHAT:if(H.currentRoute.value.path===W3||Q0())return Promise.reject(l);{const r=Date.now();r-G3>400&&(G3=r,H.replace(W3).catch(()=>{}))}return Promise.reject(l);case U.OPEN_NEW_PAGE:return window.location.href=l.url,l;case U.NOT_INSTALL:window.location.replace("/install/install.php");break;default:return l}},responseInterceptorsCatchHook(a){return a.code!==p3.ERR_CANCELED&&a.message&&X.msgError(a.message),Promise.reject(a)}},o2={timeout:B.timeout,baseURL:B.baseUrl,headers:{"Content-Type":p1.JSON,version:B.version},axiosHooks:a2,requestOptions:{isParamsToData:!0,isReturnDefaultResponse:!1,isTransformResponse:!0,urlPrefix:B.urlPrefix,ignoreCancelToken:!1,withToken:!0,isOpenRetry:!0,retryCount:2}};function e2(a){return new J0(S.merge(o2,{}))}const V=e2();function t2(a){return V.post({url:"/login/account",params:{...a,terminal:B.terminal}})}function i2(){return V.post({url:"/login/logout"})}function l2(){return V.get({url:"/auth.admin/mySelf"})}function m7(a){return V.post({url:"/auth.admin/editSelf",params:a})}function u7(){return V.get({url:"/login/workWechatConfig"})}function c2(a){return V.post({url:"/login/workWechatLogin",params:{...a,terminal:B.terminal}})}function d7(){return V.get({url:"/login/iamConfig"})}function s2(a){return V.post({url:"/login/iamExchange",params:a})}function h7(){return`${B.baseUrl.replace(/\/+$/,"")}/${B.urlPrefix}/login/iamStart`}function _7(a){return V.post({url:"/auth.admin/bindWorkWechat",params:a})}function v7(){return V.post({url:"/auth.admin/unbindWorkWechat"})}function p7(a){return V.post({url:"/login/changeFirstPassword",params:a})}const Y=V3({id:"user",state:()=>({token:b1()||"",userInfo:{},routes:[],perms:[],isPaw:1}),getters:{},actions:{applyLoginResult(a){return this.token=a.token,this.isPaw=a.is_paw??1,F.set(j3,a.token),a},resetState(){this.token="",this.userInfo={},this.perms=[],this.isPaw=1},login(a){const{account:o,password:e}=a;return new Promise((i,l)=>{t2({account:o.trim(),password:e}).then(c=>{i(this.applyLoginResult(c))}).catch(c=>{l(c)})})},logout(){return new Promise((a,o)=>{i2().then(async e=>{this.token="",await H.push(T.LOGIN),t3(),a(e)}).catch(e=>{o(e)})})},workWechatLogin(a){return new Promise((o,e)=>{c2({code:a}).then(i=>{o(this.applyLoginResult(i))}).catch(i=>{e(i)})})},iamHubLogin(a){return new Promise((o,e)=>{s2({code:a}).then(i=>o(this.applyLoginResult(i))).catch(e)})},getUserInfo(){return new Promise((a,o)=>{l2().then(e=>{this.userInfo=e.user,this.perms=e.permissions,this.routes=f1(e.menu),this.isPaw=e.user.is_paw??1,a(e)}).catch(e=>{o(e)})})}}});function y1(){return V.get({url:"/config/getConfig"})}function z7(){return V.get({url:"/workbench/index"})}function b7(a){return V.get({url:"/config/dict",params:a})}const k=V3({id:"app",state:()=>({config:{},configFetchAttempted:!1,isMobile:!0,isCollapsed:!1,isRouteShow:!0}),actions:{getImageUrl(a){if(!a||typeof a!="string")return"";if(a.startsWith("http://")||a.startsWith("https://"))return a;const o=a.startsWith("/")?a:"/"+a,e=String(this.config.oss_domain||"").replace(/\/$/,"");if(e)return`${e}${o}`;const i=String(B.baseUrl||"/").replace(/\/+$/,"");if(i.startsWith("http://")||i.startsWith("https://"))try{return new URL(o,`${i}/`).href}catch{return`${i}${o}`}const l=typeof window<"u"?window.location.origin:"";return l?`${l}${o}`:o},getConfig(){return new Promise((a,o)=>{y1().then(e=>{this.config=e,a(e)}).catch(e=>{o(e)})})},setMobile(a){this.isMobile=a},toggleCollapsed(a){this.isCollapsed=a??!this.isCollapsed},refreshView(){this.isRouteShow=!1,a0(()=>{this.isRouteShow=!0})}}}),z3={showCrumb:!0,showLogo:!1,isUniqueOpened:!0,sideWidth:183,sideTheme:"dark",sideDarkColor:"#1d2124",openMultipleTabs:!0,theme:"#4A5DFF",successTheme:"#67c23a",warningTheme:"#e6a23c",dangerTheme:"#f56c6c",errorTheme:"#f56c6c",infoTheme:"#909399"},N=1,n2={1:["sideTheme","sideDarkColor"]},r2={"dark-2":"shade(20%)","light-3":"tint(30%)","light-5":"tint(50%)","light-7":"tint(70%)","light-8":"tint(80%)","light-9":"tint(90%)"},m2={"light-3":"shade(20%)","light-5":"shade(30%)","light-7":"shade(50%)","light-8":"shade(60%)","light-9":"shade(70%)","dark-2":"tint(20%)"},$3="theme-vars",u2=(a,o="primary",e=!1)=>{const i={[`--el-color-${o}`]:a},l=e?m2:r2;for(const c in l)i[`--el-color-${o}-${c}`]=`color(${a} ${l[c]})`;return i},d2=(a,o=!1)=>{const e=Object.keys(a).reduce((c,s)=>Object.assign(c,u2(a[s],s,o)),{});let i=Object.keys(e).reduce((c,s)=>{const r=n0.convert(e[s]);return`${c}${s}:${r};`},"");i=`:root{${i}}`;let l=document.getElementById($3);if(l){l.innerHTML=i;return}l=document.createElement("style"),l.setAttribute("type","text/css"),l.setAttribute("id",$3),l.innerHTML=i,document.head.append(l)},h3=F.get(g3);function h2(a,o){if(o>=N)return;for(let l=o+1;l<=N;l++){const c=n2[l];if(c)for(const s of c)a[s]=z3[s]}a._settingSchemaVersion=N;const{showDrawer:e,...i}=a;F.set(g3,i)}const q=V3({id:"setting",state:()=>{const a={showDrawer:!1,...z3};let o=N;return d1(h3)&&(o=typeof h3._settingSchemaVersion=="number"?h3._settingSchemaVersion:0,Object.assign(a,h3),oObject.is(Number(a),NaN)?a:`${a}${o}`,U3=a=>a==null&&typeof a>"u",w7=(a,o={children:"children"})=>{a=S.cloneDeep(a);const{children:e}=o,i=[],l=[];for(a.forEach(c=>l.push(c));l.length;){const c=l.shift();c[e]&&(c[e].forEach(s=>l.push(s)),delete c[e]),i.push(c)}return i},f7=(a,o={id:"id",parentId:"pid",children:"children"})=>{a=S.cloneDeep(a);const{id:e,parentId:i,children:l}=o,c=[],s=new Map;return a.forEach(r=>{s.set(r[e],r);const n=s.get(r[i]);n?(n[l]=n[l]??[],n[l].push(r)):c.push(r)}),c};function p2(a){if(a.length===0||!a||a=="undefined")return a;const o=a.replace("//","/"),e=o.length;return o[e-1]==="/"?o.slice(0,e-1):o}function z2(a){let o="";for(const e of Object.keys(a)){const i=a[e],l=encodeURIComponent(e)+"=";if(!U3(i))if(d1(i)){for(const c of Object.keys(i))if(!U3(i[c])){const s=e+"["+c+"]",r=encodeURIComponent(s)+"=";o+=r+encodeURIComponent(i[c])+"&"}}else o+=l+encodeURIComponent(i)+"&"}return o.slice(0,-1)}const A7=(a,o="yyyy-mm-dd")=>{a||(a=Number(new Date)),a.toString().length==10&&(a*=1e3);const e=new Date(a);let i;const l={"y+":e.getFullYear().toString(),"m+":(e.getMonth()+1).toString(),"d+":e.getDate().toString(),"h+":e.getHours().toString(),"M+":e.getMinutes().toString(),"s+":e.getSeconds().toString()};for(const c in l)i=new RegExp("("+c+")").exec(o),i&&(o=o.replace(i[1],i[1].length==1?l[c]:l[c].padStart(i[1].length,"0")));return o},V7=(a=8)=>{let o=Date.now().toString(36);return o+=Math.random().toString(36).substring(3,a),o},L7=(a,o)=>{o=Math.min(1,Math.max(0,o));const e=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,i=/^rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)$/,l=/^rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[0-9.]+\s*\)$/;let c=0,s=0,r=0;if(e.test(a)){const n=a.slice(1),v=n.length===3?n.split("").map(p=>p+p).join(""):n;c=parseInt(v.substring(0,2),16),s=parseInt(v.substring(2,4),16),r=parseInt(v.substring(4,6),16)}else if(i.test(a)){const n=a.match(/\d+/g);n&&(c=parseInt(n[0]),s=parseInt(n[1]),r=parseInt(n[2]))}else if(l.test(a)){const n=a.match(/\d+(\.\d+)?/g);n&&(c=parseInt(n[0]),s=parseInt(n[1]),r=parseInt(n[2]))}else throw new Error("Unsupported color format");return`rgba(${c}, ${s}, ${r}, ${o})`},b2=L({props:{name:{type:String,required:!0},size:{type:[Number,String],default:16},color:{type:String,default:"inherit"}},setup(a){const o=b(()=>`#${a.name}`),e=b(()=>({width:i3(a.size),height:i3(a.size),color:a.color}));return{symbolId:o,styles:e}}}),R=(a,o)=>{const e=a.__vccOpts||a;for(const[i,l]of o)e[i]=l;return e},y2=["xlink:href"];function g2(a,o,e,i,l,c){return h(),g("svg",{"aria-hidden":"true",style:r3(a.styles)},[d("use",{"xlink:href":a.symbolId,fill:"currentColor"},null,8,y2)],4)}const w2=R(b2,[["render",g2]]),W=L({name:"Icon",props:{name:{type:String,required:!0},size:{type:[String,Number],default:"14px"},color:{type:String,default:"inherit"}},setup(a){return()=>a.name.indexOf(D3)===0?u(Q3,{size:a.size,color:a.color},{default:()=>u(n3(a.name.replace(D3,"")))}):a.name.indexOf(v2)===0?o0("i",{class:["local-icon"]},u(w2,{...a})):null}}),f2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAACHCAYAAABUFMgyAAAABHNCSVQICAgIfAhkiAAACbtJREFUeF7tm39olVUYx++92wo0ZiL0V2v/SKMcVMzUtMTyjzL/KUpwWCpuzbZVxpikIWQLBIMUnLiMSWXYJhSYsiA1dNaQCSqkadGGOQdj/dpubM79uPf2nts9l7Oz8/66976/nvsdXO6v957zPM/53A/Pe967cAh/qADRCoSJ5oW0UIEQ4AYEZCsAuMkuLRJzC2635sGKBqcCCadDzRV0uRrH6XwxfnAqkDX8uYLSaJxczRGcZUGkVitgBLCncMvQGj0H4FaXO3+OE+GVQTZ7bqlKdqFTHc9fE9/Te2wpKByUNxXQA9wO+LrFyhZu9nkRbhXobHK78+TN6uZxonp2Zq/z9+R7Vi7L7Yod6GRwZaiToLe0fP5wJBJu/HsounhqcrLQjcV7fNFj/65YvmTYjbkwR+YVCIfDKjAnx8fHu3p6er6oqKi4lYKXA64HuSXArcCtajG4sdOA72s+dPK7k+eW37jRZ2XMzCuk+GR93YZQXe2GnI6JwdyvQDweH79z587h2bNnvyHZW4TcqGWZFrQVEFXGTsPd2npkSdf5S6e6uy/d5X45/p+xrnZ9qL5uo1fTY94cVyAWiw329vY+W1ZWdl0yOW9LVO3KjCjM4DYCO3LgwGdfHWk7tnpoKGo2To7Tnz4c4Ha0vJ4Mnkgk4iMjI7uLi4vfTwEeN7C5MkYzKJV9tTZSRLuFN25qiF64cNkzY/OMALcn/Dk+6dTU1F9FRUUlEtx6/XhW5magJ6Fm93v2Hvyh9VD7QscztDAB4LZQpIAeMjY2dnTWrFms5+Tm1jN4RnCLJ48c8Miq1a+O3rzZb2Z+V0oKuF0psyeTaO3JRCQSuTcFNwdbtLfuzokZnCLYaWvv39+6qOXgl2e1ic0+70pBALcrZfZqksTFixcXan/XFPY2PLE0glNpbNaStHx8+JPm/Z+u8ypbeV7A7ZeVcCaO4eHhprlz5+4W7C0bnE08w+B6cMsnkmlrM7ibPth7vf3o8QecScX+qIDbfs2C9Amt7/5R67ufk+AWAc8Y7mlgp+C+BriDhEewY9WBm/fdDPKs4GaAp2+auX8G3MEGJkjRp+B+Xos5pmhNbMEtX26fBrY2eIEG91XAHSQ8gh2rADcDWQSc2ZvDPcPeqp5bfE1uSQpSbQngDjYvgYr+9u3bXdrvTVYJ1uaAZww33y0RAWdwa+beo8F9gl058sUfTih9sQyOBZGCW2xLGNwcbNVPZJOxGJlbhFtsTQC3Y8uIgVUVUMDNWhG9K5bpITKBu3Db9l1dx0+cWuCXpYC5/bISzsSRgnt1qt9W9dzKizl24U62JW+9vePk6dNdi5xJxf6ogNt+zYL0CVfhrq3f1tHZ2b3MLwUC3H5ZCWfikOAWd0zEvptNPu0qZUbmBtzOLCJGVVcAcOM/cch+NwA34AbcaEvIMkA2MZgb5gbcFM29uWZdaHPNK2QXN98TGx0dbZ83b97rqX3u/Notqa5aG6quqsx3BsjmPzQ09GFpaekuwE12ifM3McANc5OlH3ADbsBN8YQSPTdZrpOJwdwwN1nCATfgBtxoS8gyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmzhe4Y1qi8dQtIdyz/Nnz9F9YURH+Grtnt4h0K6yt39bR2dm9zC/VrK5aG6oG3H5ZjpzHIZnbUbgLNLi/Bdw5X0MMqFOBaDS6u6SkZJf2tgg2s3dOzM0NXqANWLD1naatHR1ndvhlNWBuv6yEM3H09fW9XF5efkqAm0Eugs3bEcttCYuUtSRia5KEu66uofzsuctdzqRif1TAbb9mQfpEe3t7WU1NzYAWM++1ucEZzPzGUrIFt9xzM7iTPfjSJ1/4Z3g4yh57/ge4PV8CxwJIJBJ/zJkz50EF2GJbwuc3hZsdKJ5UivZOmpvBXf/mu1+fOXN+pWNZ2RgYcNsoVsAO1U4mm0pLS/ek4GbGlq3NIJ9hbRFiOWU9uPnOSUFxcXHhiqdfutnT+/s9XtcLcHu9As7MPz4+3jl//vwXtRNKEWpxG5D33RnDzVsTufeObNmy/anz3Ve+GRkZ9bQ9AdzOwOXlqPF4fLi1tfWJxsZGsdfmYMuAZwW3ar87afH1mzY/NDEWOfbTlV/u86oYgNuryjsz79jY2PctLS11O3fu/FNoQ/TAVu6UGLUlct+tsne6RWE9ekPDex9dvfZbZX//wN3OpKw/6mvVlaGqTWvdnhbz5bgCk5OTvw4MDOzTtv2OpnpsBrTYY1vaAuRhqa5QiiHzq5TivXzFctp24Zo1G+/XNtwrJyZji2OxWBEfLBFKmM2VcakefWRB/8pnlt7KeAB80NUKhMPh9K6G9nhicHDwSltb24Xm5uaoFgjvo2VTy62IvA04Iwcz4DjU3OTyvjd/LrYt4heBf85sHleLi8l8UQF5f1qEVf7tiNFvSaZt/8lmNspU/p2J+HsTsVWRH8tfCsDtC558FYQZ3Px9+TK74YWbTOAWDSwDrnouG1uEG6D7ijFXgxEtK54Iyo850LLNVa1IxuZWnViqQBfNDbBd5SVwk2UDOEtW93K7XAkrFpWtK7cqcj8ufiGMHgduVRBwTiqggptDy++5uVUw633e9gmlqoUR4VZZXAYagOeECRKDmIEtwqwytO6etqo6Vsyt16PrQW4GN4lVQhJZV8AIdBliy7bWg9VKtPKXQQYcYFupIo7hFZBPBlVm1jvGtIp2zc0H1INcBbfea6bB4QDSFVDtcui1Hbo7IkYVyhRueUyjcXI1B+mVzuPk9MDNCOhs2hK9NQDAeUynQ6n7Bm6z/AC/WYXy7/2s4TUrGaAzqxDeD2wFAHdglw6Bm1UAcJtVCO8HtgKAO7BLh8DNKvAfR+rWAIVxGVEAAAAASUVORK5CYII=",A2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAACHCAYAAABUFMgyAAAABHNCSVQICAgIfAhkiAAACbZJREFUeF7t201oXFUUB/DMRyJNpE0JuJqYTWtQs2pLqxSzcWGiK8FNceOqiLiMOxe1i0IFXdhFIXSli6agoJS6aBEM2o2QlbXFfkBNhRBNbRIyTTOTzHjv8O5wc3Pf55x578y7/0LI1+S8c8/95eTMfdNCH/6hAjmtQCGn68KyUIE+4AaC3FYAuHO7tVhYWrjTug52tHcq0Ox2qlToqOJ0e72I3zsV6Bg/FcqgOFTX6J1tQaZRKxAEOFPcJtqgzwE86na78zgdrwk57PNIVYqLzvZ49TX9e34fR0oKD3KmAn7A48D3LVanuOXP67ht0OXF417Hmd11eKF+3Vl+XX3PfC/LFXlciYPOhGuibkG/d+/eK5VKZWZgYOBEs9ksp7F5Ozs7641GYzWNa+EayStQKBRsMOtbW1s379+//83Ro0cfeXgVcD/kkYBHwW0bMVTHbgOv1WrXy+XypFhAlJjJK4SfzG0FRIPaevbs2ddDQ0MfG91bRx40suyqTRSIto7dxr24uPia6NQ3hOmB3FYdC0u1AuIv8fKDBw/eGh8fv2N0cjWW2MaVPTmG4Q6CXRR/Tr4V48c7mKlT3XsnLiZG2sbGxsb5/fv3f+YBbwR0c2tN4uDWR5GiBC3+jKyhYzthLZNFbm9vr/T3948auP3m8Y46t8TdQi3f1+v1X8SMfSyTVeOizlRgc3PzyuDg4Adiwapz+3XwRLj1jq2AF8WfjSrGEWeMZbZQ4axWLBaHPdwKtt69fU9OoowlCne7a9+9e/f44cOHfwbuzPbcpQs3FxYWjol/ty3dO/CJZRBua8eWI8nTp09n9+3b975LFcZas6vA6urq2YMHD57XurfZwWVyezq4H27zBk27a0vcYtC/UyqVXsxuubiySxUQc/evYu6eMnDrwBPj3gXbw30buF3ile1afXCruVsi7wi3BN5+E537D+DOdsNdurqH+22x5h3LaBILt3m7fRdsEbwkcN8Cbpd4ZbtWDbeErAOX3Vvh3tO9bTO3/jVzJCl5YwlwZ7vfTl1dHGDcFK83mda6tgKeGPeeI0DZteWbeJHULe/OkVNFxmKzqYCHWx9LJG4F2/YS2VaiQZ1bx62PJsCdzR47e1ULbjmK+N2xbNcpCe6yfP2teMHUq85WGwtPtQIebvkCPdmxbTO39WZOXNytsURc7Lq4iXM81RXiYs5WIFXc1Wr1mjhUP+lstbHwVCtg4NZPTPS5O9ZpiW3mbnVu4E51b52/GHA7TyC/BQDu/O6t8ysDbucJ5LcAwJ3fvXV+ZU7jFv9buk+83sV5BHktgDjAmBsZGflQO+M2b7/TnXNzOy0RLwfoEzeW8rq3zq/ryZMnn4+NjZ0Dbucp5K8AwI3OnT/V3oqAG7iB2/h/lIleW4KZO7eOWC4MnRudmyVMiqSAG7gpHLGMAdzAzRImRVLADdwUjljGAG7gZgmTIingBm4KRyxjADdws4RJkRRwAzeFI5YxgBu4WcKkSAq4gZvCEcsYwA3cLGFSJAXcwE3hiGUM4AZuljApkgJu4KZwxDIGcAM3S5gUSQE3cFM4YhkDuIGbJUyKpIAbuCkcsYwB3MDNEiZFUsAN3BSOWMYAbuBmCZMiKeAGbgpHLGMAN3CzhEmRFHADN4UjljGAG7hZwqRICriBm8IRyxjADdwsYVIkBdzATeGIZQzgBm6WMCmSAm7gpnDEMgZwAzdLmBRJATdwUzhiGQO4gZslTIqkgBu4KRyxjAHcwM0SJkVSwA3cFI5YxgBu4GYJkyIp4AZuCkcsYwA3cLOESZEUcAM3hSOWMYAbuFnCpEgKuIGbwhHLGMAN3CxhUiQF3MBN4YhlDOAGbpYwKZICbuCmcMQyBnADN0uYFEkBN3BTOGIZA7iBmyVMiqSAG7gpHLGMAdzAzRImRVLADdwUjljGAG7gZgmTIingBm4KRyxjADdws4RJkRRwAzeFI5YxgBu4WcKkSAq4gZvCEcsYwA3cLGFSJAXcwE3hiGUM4AZuljApkgJu4KZwxDIGcAM3S5gUSQE3cFM4YhkDuIGbJUyKpIAbuCkcsYwB3MDNEiZFUsAN3BSOWMYwcO+IJBveW1N7L3OXn7f/FSyrUV+T7+Vb0XgrV6vVa4ODgye5VKJWq/VtATeX7SDPI03cJYH7R+Am30ME9KnA2tra+dHR0XPi23rXlt2bpHOrDl4SAUsrKyufjIyMfMplN9C5uexEd/JYXFx8b2Ji4oaGWyLXYatxJPJYIjOVI4k+mrRwz8/PT0xOTt7szlLiRwXu+DXrpZ+Ym5sbP3369JLIWc3aqoNLzOpNLikWbnPmlrhbM3ij0fivUCjIjzP/B9yZb0HXEmg2m/8cOHDgJQtsfSxR1w/FLR+oP6nUu3erc0vcGxsb3w0NDb3ZtVXFCAzcMYrVYw8VTybPjo2Nfenhlh3b7NoS+Z6urSM2l+yHW52clCqVSvnhw4d/lUql57OuF3BnvQPdub44AZs/dOjQu+IJpY5aPwZUc3di3Go0MWfv4sLCwhtHjhz5wRtVurPCCFGBO0KReuwhYuxdvXTp0uszMzP6rK1gm8A7wm0772518atXr748NTX1fblcfiGr+gF3VpXvznU3Nzd/unjx4kdnzpz5VxtD/GBbT0qCxhJz7rZ17/aIImf0x48ffzE8PHyqWCw+150l+0cF7rQr3p3r1ev1P5eWlr4Sx35XvBlbgtZn7EhHgCo72x1KPXN1l1J/b96x3HVcODs7W5menj4loJ8QgfpVMPGsN+xaiSsmftP/Xl9ff5Q4AH4w1QqIU7b2qYb4uLa8vPz75cuXf7tw4cKaSETN0WanNkcR8xhwzxrCwCnUqpOb597qc31s0X8R1M+FXSfV4uJiLCpgnk/rWM3XjgS9lmTX8Z/ZmYNWar7ORH+9iT6qmB+bvxTAzcITqyTCcKvvm7fZA2/cJMGtd2ATuO1zs2PruAGdlbFUk9G7rP5E0PxYgTa7uW0USdy5bU8sbdD1zg3YqXrpuYt1Alwu1vd2u1mJKF3U7LrmqGLO4/ovRNDHPbcrSJikAjbcCq16rzq3DbPfz8d+QmkbYXTcti5uggZwEhO5CBIGW8ds69C+Z9q26kTp3H4zuh/yMNy52CUsouMKBEE3EUfu1n5Yo2Rr/jKYwAE7ShXxGFUB88mgrTP7PSa0inE7twroh9yG2+9rocnhAbmugO2Uw2/s8D0RCapQUtxmzKA4VNfI9U47vDg/uIlAdzKW+O0BADuss0tLZ4M7bH3AH1Yh977fMd6wkgFdWIXw/Z6tAHD37NYh8bAKAHdYhfD9nq0AcPfs1iHxsAr8D7xvfQ8bZ0PpAAAAAElFTkSuQmCC",V2={class:"setting-drawer"},L2={class:"h-full flex flex-col"},E2={class:"setting-item mb-5"},M2={class:"flex mt-4 cursor-pointer"},x2=["onClick"],H2=["src"],T2={class:"setting-item mb-5 flex justify-between items-center"},O2={class:"setting-item mb-5 flex justify-between items-center"},I2={class:"setting-item mb-5 flex justify-between items-center"},P2={class:"setting-item mb-5 flex justify-between items-center"},R2={class:"setting-item mb-5 flex justify-between items-center"},D2={class:"setting-item mb-5 flex justify-between items-center"},B2={class:"setting-item mb-5 flex justify-between items-center"},C2={class:"setting-item flex justify-between items-center mt-auto"},S2=L({__name:"drawer",setup(a){const o=q(),e=c3(["#409EFF","#28C76F","#EA5455","#FF9F43","#01CFE8","#4A5DFF"]),i=[{type:"dark",image:f2},{type:"light",image:A2}],l=b({get(){return o.sideTheme},set(f){o.setSetting({key:"sideTheme",value:f})}}),c=b({get(){return o.openMultipleTabs},set(f){o.setSetting({key:"openMultipleTabs",value:f})}}),s=b({get(){return o.isUniqueOpened},set(f){o.setSetting({key:"isUniqueOpened",value:f})}}),r=b({get(){return o.sideWidth},set(f){o.setSetting({key:"sideWidth",value:f})}}),n=b({get(){return o.showDrawer},set(f){o.setSetting({key:"showDrawer",value:f})}}),v=b({get(){return o.theme},set(f){o.setSetting({key:"theme",value:f}),O()}}),p=b({get(){return o.showLogo},set(f){o.setSetting({key:"showLogo",value:f})}}),_=b({get(){return o.showCrumb},set(f){o.setSetting({key:"showCrumb",value:f})}}),w=c1(),O=()=>{o.setTheme(w.value)},E=()=>{h0(w)(),O()},x=()=>{w.value=!1,o.resetTheme(),O()};return(f,y)=>{const E3=W,G=D1,Q=B1,L1=C1,E1=S1,M1=a1;return h(),g("div",V2,[u(M1,{modelValue:m(n),"onUpdate:modelValue":y[6]||(y[6]=M=>j(n)?n.value=M:null),"append-to-body":"",direction:"rtl",size:"250px",title:"主题设置"},{default:z(()=>[d("div",L2,[d("div",E2,[y[7]||(y[7]=d("span",{class:"text-tx-secondary"},"风格设置",-1)),d("div",M2,[(h(),g(D,null,K(i,M=>d("div",{class:"mr-4 flex relative text-primary",key:M.type,onClick:V4=>l.value=M.type},[d("img",{src:M.image,width:"52",height:"36"},null,8,H2),m(l)==M.type?(h(),A(E3,{key:0,class:"icon-select",name:"el-icon-Select"})):C("",!0)],8,x2)),64))])]),d("div",T2,[y[8]||(y[8]=d("span",{class:"text-tx-secondary"},"主题颜色",-1)),d("div",null,[u(G,{modelValue:m(v),"onUpdate:modelValue":y[0]||(y[0]=M=>j(v)?v.value=M:null),predefine:m(e)},null,8,["modelValue","predefine"])])]),d("div",O2,[y[9]||(y[9]=d("span",{class:"text-tx-secondary"},"开启黑暗模式",-1)),d("div",null,[u(Q,{"model-value":m(w),onChange:E},null,8,["model-value"])])]),d("div",I2,[y[10]||(y[10]=d("span",{class:"text-tx-secondary"},"开启多页签栏",-1)),d("div",null,[u(Q,{modelValue:m(c),"onUpdate:modelValue":y[1]||(y[1]=M=>j(c)?c.value=M:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",P2,[y[11]||(y[11]=d("span",{class:"text-tx-secondary"},"只展开一个一级菜单",-1)),d("div",null,[u(Q,{modelValue:m(s),"onUpdate:modelValue":y[2]||(y[2]=M=>j(s)?s.value=M:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",R2,[y[12]||(y[12]=d("div",{class:"text-tx-secondary flex-none mr-3"},"菜单栏宽度",-1)),d("div",null,[u(L1,{modelValue:m(r),"onUpdate:modelValue":y[3]||(y[3]=M=>j(r)?r.value=M:null),min:180,max:250},null,8,["modelValue"])])]),d("div",D2,[y[13]||(y[13]=d("div",{class:"text-tx-secondary flex-none mr-3"},"显示LOGO",-1)),d("div",null,[u(Q,{modelValue:m(p),"onUpdate:modelValue":y[4]||(y[4]=M=>j(p)?p.value=M:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",B2,[y[14]||(y[14]=d("div",{class:"text-tx-secondary flex-none mr-3"},"显示面包屑",-1)),d("div",null,[u(Q,{modelValue:m(_),"onUpdate:modelValue":y[5]||(y[5]=M=>j(_)?_.value=M:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",C2,[u(E1,{onClick:x,class:"w-full"},{default:z(()=>[...y[15]||(y[15]=[I("重置主题",-1)])]),_:1})])])]),_:1},8,["modelValue"])])}}}),k2=R(S2,[["__scopeId","data-v-01a1636b"]]),j2=L({__name:"index",setup(a){const o=q(),e=()=>{o.setSetting({key:"showDrawer",value:!0})};return(i,l)=>{const c=W;return h(),g("div",{class:"setting flex cursor-pointer h-full items-center px-2",onClick:e},[u(c,{size:16,name:"el-icon-Setting"}),u(k2)])}}});function w1(a){const o=A3();return n1(o,()=>{a(o)},{immediate:!0}),{route:o}}const N2=L({__name:"breadcrumb",setup(a){const o=c3([]),e=i=>{const l=i.matched.filter(c=>c.meta&&c.meta.title);o.value=l};return w1(i=>{e(i)}),(i,l)=>{const c=k1,s=j1;return h(),A(s,{class:"app-breadcrumb"},{default:z(()=>[(h(!0),g(D,null,K(m(o),r=>(h(),A(c,{key:r.path},{default:z(()=>[I(P(r.meta.title),1)]),_:2},1024))),128))]),_:1})}}}),q2=R(N2,[["__scopeId","data-v-df2b2450"]]),W2=L({__name:"fold",setup(a){const o=k(),e=b(()=>o.isCollapsed),i=()=>{o.toggleCollapsed()};return(l,c)=>{const s=W;return h(),g("div",{class:"fold h-full cursor-pointer flex items-center px-2",onClick:i},[u(s,{name:`local-icon-${m(e)?"expand":"collapse"}`,size:18},null,8,["name"])])}}}),G2=L({__name:"full-screen",setup(a){const{toggle:o,isFullscreen:e}=s1();return(i,l)=>{const c=W;return h(),g("div",{class:"full-screen h-full cursor-pointer flex items-center px-2",onClick:l[0]||(l[0]=(...s)=>m(o)&&m(o)(...s))},[u(c,{size:16,name:`local-icon-${m(e)?"fullscreen-exit":"fullscreen"}`},null,8,["name"])])}}});function $2(){const a=s3(),o=A3(),e=m3(),i=q(),l=b(()=>e.getTabList),c=b(()=>o.fullPath);return{tabsLists:l,currentTab:c,addTab:()=>{i.openMultipleTabs&&e.addTab(a)},removeTab:p=>{i.openMultipleTabs&&(p=p??o.fullPath,e.removeTab(p,a))},removeOtherTab:()=>{i.openMultipleTabs&&e.removeOtherTab(o)},removeAllTab:()=>{i.openMultipleTabs&&e.removeAllTab(a)}}}const U2={class:"app-tabs pl-4 flex bg-body"},F2={class:"flex-1 min-w-0"},Y2={class:"flex items-center px-3"},Z2=L({__name:"multiple-tabs",setup(a){const o=s3(),e=m3(),{removeOtherTab:i,addTab:l,removeAllTab:c,removeTab:s,tabsLists:r,currentTab:n}=$2();w1(()=>{l()});const v=_=>{const w=e.tasMap[_];o.push(z1(w))},p=_=>{switch(_){case"closeCurrent":s();break;case"closeOther":i();break;case"closeAll":c();break}};return(_,w)=>{const O=N1,E=q1,x=W,f=e1,y=o1,E3=t1;return h(),g("div",U2,[d("div",F2,[u(E,{"model-value":m(n),closable:m(r).length>1,onTabChange:v,onTabRemove:w[0]||(w[0]=G=>m(s)(G))},{default:z(()=>[(h(!0),g(D,null,K(m(r),G=>(h(),A(O,{key:G.fullPath,label:G.title,name:G.fullPath},null,8,["label","name"]))),128))]),_:1},8,["model-value","closable"])]),u(E3,{onCommand:p},{dropdown:z(()=>[u(y,null,{default:z(()=>[u(f,{command:"closeCurrent"},{default:z(()=>[...w[1]||(w[1]=[I(" 关闭当前 ",-1)])]),_:1}),u(f,{command:"closeOther"},{default:z(()=>[...w[2]||(w[2]=[I(" 关闭其他 ",-1)])]),_:1}),u(f,{command:"closeAll"},{default:z(()=>[...w[3]||(w[3]=[I(" 关闭全部 ",-1)])]),_:1})]),_:1})]),default:z(()=>[d("span",Y2,[u(x,{size:16,name:"el-icon-arrow-down"})])]),_:1})])}}}),X2=R(Z2,[["__scopeId","data-v-66704b8d"]]),K2=L({__name:"refresh",setup(a){const o=k(),e=()=>{o.refreshView()};return(i,l)=>{const c=W;return h(),g("div",{class:"refresh cursor-pointer h-full flex items-center px-2",onClick:e},[u(c,{name:"el-icon-RefreshRight",size:18})])}}});function E7(){return V.get({url:"/setting.system.system/info"})}function M7(a){return V.get({url:"/setting.system.log/lists",params:a},{ignoreCancelToken:!0})}function J2(){return V.post({url:"/setting.system.cache/clear"})}function x7(a){return V.get({url:"/crontab.crontab/lists",params:a})}function H7(a){return V.post({url:"/crontab.crontab/add",params:a})}function T7(a){return V.get({url:"/crontab.crontab/detail",params:a})}function O7(a){return V.post({url:"/crontab.crontab/edit",params:a})}function I7(a){return V.post({url:"/crontab.crontab/delete",params:a})}function P7(a){return V.get({url:"/crontab.crontab/expression",params:a})}const Q2={class:"flex items-center"},a6={class:"ml-3 mr-1"},o6=L({__name:"user-drop-down",setup(a){const o=Y(),e=b(()=>o.userInfo),i=async l=>{switch(l){case"logout":await X.confirm("确定退出登录吗?"),o.logout();break;case"cache":await J2(),window.location.reload();break}};return(l,c)=>{const s=W1,r=W,n=e1,v=n3("router-link"),p=o1,_=t1;return h(),A(_,{class:"px-2",onCommand:i},{dropdown:z(()=>[u(p,null,{default:z(()=>[u(v,{to:"/user/setting"},{default:z(()=>[u(n,null,{default:z(()=>[...c[0]||(c[0]=[I("个人设置",-1)])]),_:1})]),_:1}),u(n,{command:"cache"},{default:z(()=>[...c[1]||(c[1]=[I("清除缓存",-1)])]),_:1}),u(n,{command:"logout"},{default:z(()=>[...c[2]||(c[2]=[I("退出登录",-1)])]),_:1})]),_:1})]),default:z(()=>[d("div",Q2,[u(s,{size:34,src:m(e).avatar},null,8,["src"]),d("div",a6,P(m(e).name),1),u(r,{name:"el-icon-ArrowDown"})])]),_:1})}}}),e6={class:"header"},t6={class:"navbar"},i6={class:"flex-1 flex"},l6={class:"navbar-item"},c6={class:"navbar-item"},s6={key:0,class:"flex items-center px-2"},n6={class:"flex"},r6={key:0,class:"navbar-item"},m6={class:"navbar-item"},u6={class:"navbar-item"},d6=L({__name:"index",setup(a){const o=k(),e=b(()=>o.isMobile),i=b(()=>o.isCollapsed),l=q(),{isFullscreen:c}=s1();return(s,r)=>{const n=i1;return h(),g("header",e6,[d("div",t6,[d("div",i6,[d("div",l6,[u(n,{class:"box-item",effect:"dark",content:m(i)?"展开菜单":"收起菜单",placement:"bottom"},{default:z(()=>[u(W2)]),_:1},8,["content"])]),d("div",c6,[u(n,{class:"box-item",effect:"dark",content:"刷新",placement:"bottom"},{default:z(()=>[u(K2)]),_:1})]),!m(e)&&m(l).showCrumb?(h(),g("div",s6,[u(q2)])):C("",!0)]),d("div",n6,[m(e)?C("",!0):(h(),g("div",r6,[u(n,{class:"box-item",effect:"dark",content:m(c)?"退出全屏":"全屏模式",placement:"bottom"},{default:z(()=>[u(G2)]),_:1},8,["content"])])),d("div",m6,[u(o6)]),d("div",u6,[u(n,{class:"box-item",effect:"dark",content:"主题设置",placement:"bottom"},{default:z(()=>[u(j2)]),_:1})])])]),m(l).openMultipleTabs?(h(),A(X2,{key:0})):C("",!0)])}}}),h6={class:"main-wrap h-full bg-page"},_6={class:"px-2 py-4"},v6=L({__name:"main",setup(a){const o=k(),e=m3(),i=q(),l=b(()=>o.isRouteShow),c=b(()=>i.openMultipleTabs?e.getCacheTabList:[]);return(s,r)=>{const n=n3("router-view"),v=l1;return h(),g("main",h6,[u(v,null,{default:z(()=>[d("div",_6,[m(l)?(h(),A(n,{key:0},{default:z(({Component:p,route:_})=>[(h(),A(e0,{include:m(c),max:20},[(h(),A(r1(p),{key:_.fullPath}))],1032,["include"]))]),_:1})):C("",!0)])]),_:1})])}}}),p6=L({__name:"index",props:{...G1,teleported:{type:Boolean,default:!1},placement:{type:String,default:"top"},overfloType:{type:String,default:"ellipsis"}},setup(a){const o=a,e=P1(),i=c3(!1);return J1(e,"mouseenter",()=>{var l,c;((l=e.value)==null?void 0:l.scrollWidth)>((c=e.value)==null?void 0:c.offsetWidth)?i.value=!1:i.value=!0}),(l,c)=>{const s=i1;return h(),g("div",null,[u(s,k3(o,{disabled:m(i)}),{default:z(()=>[d("div",{ref_key:"textRef",ref:e,class:"overflow-text truncate",style:r3({textOverflow:a.overfloType})},P(l.content),5)]),_:1},16,["disabled"])])}}}),z6=L({__name:"index",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...$1},setup(a){const o=a,e=b(()=>({width:i3(o.width),height:i3(o.height),borderRadius:i3(o.radius)}));return(i,l)=>{const c=U1;return h(),A(c,k3({style:e.value},o),null,16,["style"])}}}),b6=R(z6,[["__scopeId","data-v-548a4c36"]]),y6=L({__name:"logo",props:{szie:{type:Number,default:34},title:{type:String},theme:{type:String},showTitle:{type:Boolean,default:!0}},setup(a){const o=k(),e=b(()=>o.config),i=s3(),l=()=>{i.push("/")};return(c,s)=>{const r=b6,n=p6;return h(),g("div",{class:"logo",onClick:l},[u(r,{width:a.szie,height:a.szie,src:m(e).web_logo},null,8,["width","height","src"]),u(v0,{name:"title-width"},{default:z(()=>[m1(d("div",{class:b3(["logo-title overflow-hidden whitespace-nowrap",{"text-white":a.theme==m(v1).DARK}]),style:r3({left:`${a.szie+16}px`})},[u(n,{content:a.title||m(e).web_name,teleported:!0,placement:"bottom","overflo-type":"unset"},null,8,["content"])],6),[[_1,a.showTitle]])]),_:1})])}}}),g6=R(y6,[["__scopeId","data-v-c7305beb"]]),w6=L({__name:"index",props:{to:{},replace:{type:Boolean}},setup(a){const o=a,e=b(()=>typeof o.to!="object"&&J(o.to)),i=b(()=>e.value?"a":"router-link"),l=b(()=>e.value?{href:o.to,target:"_blank"}:o);return(c,s)=>(h(),A(r1(m(i)),s0(t0(m(l))),{default:z(()=>[i0(c.$slots,"default")]),_:3},16))}}),f6=L({__name:"menu-item",props:{route:{},routePath:{},popperClass:{}},setup(a){const o=a,e=b(()=>!!(o.route.children??[]).filter(r=>{var n;return!((n=r.meta)!=null&&n.hidden)}).length),i=b(()=>o.route.meta),l=s=>J(s)?s:p2(`${o.routePath}/${s}`),c=b(()=>{var r;const s=(r=o.route.meta)==null?void 0:r.query;try{const n=JSON.parse(s);return z2(n)}catch{return s}});return(s,r)=>{var O;const n=W,v=F1,p=w6,_=n3("menu-item",!0),w=Y1;return(O=a.route.meta)!=null&&O.hidden?C("",!0):(h(),g(D,{key:0},[m(e)?(h(),A(w,{key:1,index:a.routePath,"popper-class":a.popperClass},{title:z(()=>{var E,x,f;return[(E=m(i))!=null&&E.icon?(h(),A(n,{key:0,class:"menu-item-icon",size:16,name:(x=m(i))==null?void 0:x.icon},null,8,["name"])):C("",!0),d("span",null,P((f=m(i))==null?void 0:f.title),1)]}),default:z(()=>{var E;return[(h(!0),g(D,null,K((E=a.route)==null?void 0:E.children,x=>(h(),A(_,{key:l(x.path),route:x,"route-path":l(x.path),"popper-class":a.popperClass},null,8,["route","route-path","popper-class"]))),128))]}),_:1},8,["index","popper-class"])):(h(),A(p,{key:0,to:`${a.routePath}?${m(c)}`},{default:z(()=>[u(v,{index:a.routePath},{title:z(()=>{var E;return[d("span",null,P((E=m(i))==null?void 0:E.title),1)]}),default:z(()=>{var E,x;return[(E=m(i))!=null&&E.icon?(h(),A(n,{key:0,class:"menu-item-icon",size:16,name:(x=m(i))==null?void 0:x.icon},null,8,["name"])):C("",!0)]}),_:1},8,["index"])]),_:1},8,["to"]))],64))}}}),A6=R(f6,[["__scopeId","data-v-78e8d91a"]]),V6=L({__name:"menu",props:{routes:{type:Object},config:{type:Object},uniqueOpened:{type:Boolean,default:!1},isCollapsed:{type:Boolean,default:!1},theme:{type:String},width:{type:Number,default:200}},emits:["select"],setup(a){const o=a,e=A3(),i=b(()=>{var c;return((c=e.meta)==null?void 0:c.activeMenu)||e.path}),l=b(()=>`theme-${o.theme}`);return(c,s)=>{const r=Z1,n=l1;return h(),g("div",{class:b3(["menu flex-1 min-h-0",m(l)]),style:r3(a.isCollapsed?"":`--aside-width: ${a.width}px`)},[u(n,null,{default:z(()=>[u(r,k3(a.config,{"default-active":m(i),collapse:a.isCollapsed,mode:"vertical","unique-opened":a.uniqueOpened,onSelect:s[0]||(s[0]=v=>c.$emit("select"))}),{default:z(()=>[(h(!0),g(D,null,K(a.routes,v=>(h(),A(A6,{key:v.path,route:v,"route-path":v.path,"popper-class":m(l)},null,8,["route","route-path","popper-class"]))),128))]),_:1},16,["default-active","collapse","unique-opened"])]),_:1})],6)}}}),L6=R(V6,[["__scopeId","data-v-9e48e026"]]),E6=L({__name:"side",setup(a){const o=k(),e=b(()=>o.isMobile?!1:o.isCollapsed),i=q(),l=b(()=>i.sideTheme),c=Y(),s=b(()=>c.routes),r=b(()=>l.value=="dark"?{"--side-dark-color":i.sideDarkColor}:""),n=b(()=>({backgroundColor:l.value=="dark"?i.sideDarkColor:"",textColor:l.value=="dark"?"var(--el-color-white)":"",activeTextColor:l.value=="dark"?"var(--el-color-white)":""})),v=()=>{o.isMobile&&o.toggleCollapsed(!0)};return(p,_)=>(h(),g("div",{class:"side",style:r3(m(r))},[m(i).showLogo?(h(),A(g6,{key:0,"show-title":!m(e),theme:m(l)},null,8,["show-title","theme"])):C("",!0),u(L6,{routes:m(s),"is-collapsed":m(e),width:m(i).sideWidth,"unique-opened":m(i).isUniqueOpened,config:m(n),theme:m(l),onSelect:v},null,8,["routes","is-collapsed","width","unique-opened","config","theme"])],4))}}),F3=R(E6,[["__scopeId","data-v-a571d29a"]]),M6={class:"sidebar h-full"},x6=L({__name:"index",setup(a){const o=k(),e=q(),i=b(()=>o.isMobile),l=b({get(){return!o.isCollapsed&&i.value},set(s){o.toggleCollapsed(!s)}}),c=b(()=>`${e.sideWidth+1}px`);return(s,r)=>{const n=a1;return h(),g("aside",M6,[u(n,{modelValue:m(l),"onUpdate:modelValue":r[0]||(r[0]=v=>j(l)?l.value=v:null),direction:"ltr",size:m(c),title:"主题设置","with-header":!1},{default:z(()=>[u(F3)]),_:1},8,["modelValue","size"]),m1(u(F3,null,null,512),[[_1,!m(i)]])])}}}),H6=R(x6,[["__scopeId","data-v-ceedff60"]]),T6={class:"layout-default flex h-screen w-full"},O6={class:"app-aside shrink-0"},I6={class:"flex-1 flex flex-col min-w-0"},P6={class:"app-header"},R6={class:"app-main flex-1 min-h-0"},D6=L({__name:"index",setup(a){return(o,e)=>(h(),g("div",T6,[d("div",O6,[u(H6)]),d("div",I6,[d("div",P6,[u(d6)]),d("div",R6,[u(v6)])])]))}}),l3=()=>Promise.resolve(D6),L3=Symbol(),B6=[{path:"/:pathMatch(.*)*",component:()=>t(()=>import("./404-B5k2zNS_.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]))},{path:T.ERROR_403,component:()=>t(()=>import("./403-CPnePqbE.js"),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]))},{path:T.LOGIN,component:()=>t(()=>import("./login-BhxpzyyI.js"),__vite__mapDeps([42,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,45]))},{path:"/change-password",component:()=>t(()=>import("./change-password-x7Sz_3GB.js"),__vite__mapDeps([46,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,47]))},{path:"/bind-work-wechat",component:()=>t(()=>import("./bind-work-wechat-CvAePHuu.js"),__vite__mapDeps([48,2,3,4,5,6,7,8,9,10,11,12,13,14,15,44,49,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,50]))},{path:"/user",component:l3,children:[{path:"setting",component:()=>t(()=>import("./setting-M6wAI_0P.js"),__vite__mapDeps([51,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,49,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,73])),name:Symbol(),meta:{title:"个人设置"}}]},{path:"/doctor",component:l3,children:[{path:"progress",component:()=>t(()=>import("./progress-Crqw_SbF.js"),__vite__mapDeps([74,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,75,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,76])),name:"doctorFaceProgress",meta:{title:"面诊进度"}}]},{path:"/decoration/pc_details",component:()=>t(()=>import("./pc_details-Cv9JlnxV.js"),__vite__mapDeps([77,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,79,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116]))},{path:"/fans/h5",component:()=>t(()=>import("./h5-AaliMZBI.js"),__vite__mapDeps([117,2,3,4,5,6,7,8,9,10,11,12,13,14,15,118,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,119]))},{path:"/tcm/diagnosis/h5",component:()=>t(()=>import("./index_h5-DbYby-js.js"),__vite__mapDeps([120,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,122,75,123,65,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,125]))},{path:"/tcm/diagnosis-readonly",component:l3,meta:{hidden:!0},children:[{path:"",component:()=>t(()=>import("./readonly-DyVEs7Ql.js"),__vite__mapDeps([126,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,121,127,128,124,129,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130,131,132,133,134,135,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,75,153,154,155,156,157,158,159,160,161])),name:"tcmDiagnosisReadonly",meta:{title:"患者信息详情",hidden:!0,activeMenu:"/tcm/diagnosis"}}]}],_3={path:T.INDEX,component:l3,name:L3},B3=Object.assign({"/src/views/account/bind-work-wechat.vue":()=>t(()=>import("./bind-work-wechat-CvAePHuu.js"),__vite__mapDeps([48,2,3,4,5,6,7,8,9,10,11,12,13,14,15,44,49,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,50])),"/src/views/account/change-password.vue":()=>t(()=>import("./change-password-x7Sz_3GB.js"),__vite__mapDeps([46,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,47])),"/src/views/account/login.vue":()=>t(()=>import("./login-BhxpzyyI.js"),__vite__mapDeps([42,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,45])),"/src/views/app/recharge/index.vue":()=>t(()=>import("./index-BK-C1S78.js"),__vite__mapDeps([162,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/column/edit.vue":()=>t(()=>import("./edit-VO7XkV1v.js"),__vite__mapDeps([163,164,2,3,4,5,6,7,8,9,10,11,12,13,14,15,83,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/column/index.vue":()=>t(()=>import("./index-CkBa3fm7.js"),__vite__mapDeps([165,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,83,65,164,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/lists/edit.vue":()=>t(()=>import("./edit-BbPz3ZH3.js"),__vite__mapDeps([166,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,167,168,169,170,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,171,83,172,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/lists/index.vue":()=>t(()=>import("./index-CDpyEmx0.js"),__vite__mapDeps([173,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,83,172,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/asset/resource/index.vue":()=>t(()=>import("./index-1N_0IK2C.js"),__vite__mapDeps([174,2,3,4,5,6,7,8,9,10,11,12,13,14,15,175,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/asset/user/index.vue":()=>t(()=>import("./index-yfT8lnLY.js"),__vite__mapDeps([176,2,3,4,5,6,7,8,9,10,11,12,13,14,15,175,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/h5.vue":()=>t(()=>import("./h5-DeQqnrDf.js"),__vite__mapDeps([177,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/open_setting.vue":()=>t(()=>import("./open_setting-DuOTXegB.js"),__vite__mapDeps([178,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/weapp.vue":()=>t(()=>import("./weapp-BdK7SbhR.js"),__vite__mapDeps([179,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,123,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/config.vue":()=>t(()=>import("./config-CybBa6W7.js"),__vite__mapDeps([180,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,181,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu.vue":()=>t(()=>import("./menu-JxKcZi6I.js"),__vite__mapDeps([182,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,183,59,60,55,56,184,185,181,186,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,187,188])),"/src/views/channel/wx_oa/menu_com/oa-attr.vue":()=>t(()=>import("./oa-attr-B8Vj6nQj.js"),__vite__mapDeps([183,59,5,6,7,4,3,60,55,2,8,9,10,11,12,13,14,15,56,184,185,181,186,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-menu-form-edit.vue":()=>t(()=>import("./oa-menu-form-edit-Dfe5nrsm.js"),__vite__mapDeps([189,186,55,2,3,4,5,6,7,8,9,10,11,12,13,14,15,56,184,185,181,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-menu-form.vue":()=>t(()=>import("./oa-menu-form-MVK6-70i.js"),__vite__mapDeps([190,184,2,3,4,5,6,7,8,9,10,11,12,13,14,15,185,181,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-phone.vue":()=>t(()=>import("./oa-phone-88iTfWtw.js"),__vite__mapDeps([187,2,3,4,5,6,7,8,9,10,11,12,13,14,15,185,181,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,188])),"/src/views/channel/wx_oa/reply/default_reply.vue":()=>t(()=>import("./default_reply-Ck6UCxZe.js"),__vite__mapDeps([191,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,181,65,192,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/edit.vue":()=>t(()=>import("./edit-EtrEBhIY.js"),__vite__mapDeps([193,192,2,3,4,5,6,7,8,9,10,11,12,13,14,15,181,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/follow_reply.vue":()=>t(()=>import("./follow_reply-BICtf8oP.js"),__vite__mapDeps([194,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,181,65,192,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/keyword_reply.vue":()=>t(()=>import("./keyword_reply-DeGdWnXE.js"),__vite__mapDeps([195,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,181,65,192,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/chat/components/MessageBubble.vue":()=>t(()=>import("./MessageBubble--o_EKRQx.js"),__vite__mapDeps([196,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,197])),"/src/views/chat/components/SendPanel.vue":()=>t(()=>import("./SendPanel-Pp0Dm3Lr.js").then(a=>a.i),__vite__mapDeps([198,2,3,4,5,6,7,8,9,10,11,12,13,14,15,63,199])),"/src/views/chat/index.vue":()=>t(()=>import("./index-Dp3CdQ0Z.js"),__vite__mapDeps([200,2,3,4,5,6,7,8,9,10,11,12,13,14,15,65,196,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,197,198,63,199,201])),"/src/views/consumer/assistant/edit.vue":()=>t(()=>import("./edit-Do5cfT8q.js"),__vite__mapDeps([202,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,203,204,205,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,206])),"/src/views/consumer/assistant/index.vue":()=>t(()=>import("./index-BaMnb-iR.js"),__vite__mapDeps([207,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,203,65,202,54,55,56,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,204,205,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,206,208])),"/src/views/consumer/components/account-adjust.vue":()=>t(()=>import("./account-adjust-Dl4mrGMe.js"),__vite__mapDeps([209,210,2,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/doctor/edit.vue":()=>t(()=>import("./edit-B_P_HVx3.js"),__vite__mapDeps([211,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,203,204,205,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,212])),"/src/views/consumer/doctor/index.vue":()=>t(()=>import("./index-Be83ib0W.js"),__vite__mapDeps([213,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,203,65,211,54,55,56,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,204,205,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,212,214])),"/src/views/consumer/doctor/paiban.vue":()=>t(()=>import("./paiban-CqRd7vZl.js"),__vite__mapDeps([215,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,216])),"/src/views/consumer/lists/detail.vue":()=>t(()=>import("./detail-8xtYeAhn.js"),__vite__mapDeps([217,2,3,4,5,6,7,8,9,10,11,12,13,14,15,64,22,23,218,210,55,56,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/lists/index.vue":()=>t(()=>import("./index-CZc257FO.js"),__vite__mapDeps([219,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,221,218,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/components/GancaoSubmissionReconcileButton.vue":()=>t(()=>import("./GancaoSubmissionReconcileButton-DpfLEmHk.js"),__vite__mapDeps([222,223,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/components/PrescriptionAiBatchGenerateDialog.vue":()=>t(()=>import("./PrescriptionAiBatchGenerateDialog-BUnLbCPn.js"),__vite__mapDeps([224,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,225])),"/src/views/consumer/prescription/components/PrescriptionAiReportDialog.vue":()=>t(()=>import("./PrescriptionAiReportDialog-COU5n7OO.js"),__vite__mapDeps([226,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,227])),"/src/views/consumer/prescription/components/PrescriptionOrderDetailDrawer.vue":()=>t(()=>import("./PrescriptionOrderDetailDrawer-C30zC4to.js"),__vite__mapDeps([155,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,156,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157])),"/src/views/consumer/prescription/guahao.vue":()=>t(()=>import("./guahao-BPV84ZcO.js"),__vite__mapDeps([228,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,221,75,121,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/index.vue":()=>t(()=>import("./index-IvyoKa-e.js"),__vite__mapDeps([229,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,230,231,65,124,221,232,233,234,235,16,236,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,237])),"/src/views/consumer/prescription/list.vue":()=>t(()=>import("./list-CMCIptz5.js"),__vite__mapDeps([238,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,65,232,230,233,224,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,225,226,227,239])),"/src/views/consumer/prescription/order_list.vue":()=>t(()=>import("./order_list-BYpnig_B.js"),__vite__mapDeps([240,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,16,241,242,155,121,156,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,223,234,235,236,204,65,243])),"/src/views/consumer/prescription/order_list_h5.vue":()=>t(()=>import("./order_list_h5-CU96gk7f.js"),__vite__mapDeps([244,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,241,242,223,121,156,234,235,236,204,65,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,245])),"/src/views/decoration/component/add-nav.vue":()=>t(()=>import("./add-nav-Dng94uAB.js"),__vite__mapDeps([246,95,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/decoration-img.vue":()=>t(()=>import("./decoration-img-cJ3sOJu-.js"),__vite__mapDeps([87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/pages/attr-setting.vue":()=>t(()=>import("./attr-setting-DE1D6Xw2.js"),__vite__mapDeps([247,248,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114])),"/src/views/decoration/component/pages/menu.vue":()=>t(()=>import("./menu-Czs2_ERZ.js"),__vite__mapDeps([249,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,250])),"/src/views/decoration/component/pages/preview-pc.vue":()=>t(()=>import("./preview-pc-B5scFioi.js"),__vite__mapDeps([79,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114,115])),"/src/views/decoration/component/pages/preview.vue":()=>t(()=>import("./preview-C9cY2eYG.js"),__vite__mapDeps([251,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114,252])),"/src/views/decoration/component/tabbar/mobile/attr.vue":()=>t(()=>import("./attr-Desfmq-O.js"),__vite__mapDeps([253,254,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,104,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/tabbar/mobile/content.vue":()=>t(()=>import("./content-C_Os7VUy.js"),__vite__mapDeps([255,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,256])),"/src/views/decoration/component/tabbar/pc/attr.vue":()=>t(()=>import("./attr-CSIASRLW.js"),__vite__mapDeps([257,2,3,4,5,6,7,8,9,10,11,12,13,14,15,258,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/tabbar/pc/content.vue":()=>t(()=>import("./content-CVZfwvS8.js"),__vite__mapDeps([259,2,3,4,5,6,7,8,9,10,11,12,13,14,15,87,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,260])),"/src/views/decoration/component/tabbar/pc/menu-set.vue":()=>t(()=>import("./menu-set-Cg8wW997.js"),__vite__mapDeps([261,258,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/banner/attr.vue":()=>t(()=>import("./attr-U0WNIueQ.js"),__vite__mapDeps([81,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85])),"/src/views/decoration/component/widgets/banner/content.vue":()=>t(()=>import("./content-tnscaIhs.js"),__vite__mapDeps([262,86,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/customer-service/attr.vue":()=>t(()=>import("./attr-DGALZxxM.js"),__vite__mapDeps([263,89,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/customer-service/content.vue":()=>t(()=>import("./content-CuE78Set.js"),__vite__mapDeps([90,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,91])),"/src/views/decoration/component/widgets/middle-banner/attr.vue":()=>t(()=>import("./attr-CjhU9F4P.js"),__vite__mapDeps([264,92,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/middle-banner/content.vue":()=>t(()=>import("./content-BJiGIc_u.js"),__vite__mapDeps([265,93,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/my-service/attr.vue":()=>t(()=>import("./attr-BZJ196vG.js"),__vite__mapDeps([266,94,2,3,4,5,6,7,8,9,10,11,12,13,14,15,95,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/my-service/content.vue":()=>t(()=>import("./content-CC1w-xAd.js"),__vite__mapDeps([96,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,97])),"/src/views/decoration/component/widgets/nav/attr.vue":()=>t(()=>import("./attr-DWqsQPnI.js"),__vite__mapDeps([267,98,2,3,4,5,6,7,8,9,10,11,12,13,14,15,95,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/nav/content.vue":()=>t(()=>import("./content-BGq-Uuuc.js"),__vite__mapDeps([268,99,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/news/attr.vue":()=>t(()=>import("./attr-Db6EuK6T.js"),__vite__mapDeps([269,100,5,6,7,4])),"/src/views/decoration/component/widgets/news/content.vue":()=>t(()=>import("./content-CjkrN-kA.js"),__vite__mapDeps([101,78,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,102])),"/src/views/decoration/component/widgets/page-meta/attr.vue":()=>t(()=>import("./attr-CGTrPtXp.js"),__vite__mapDeps([270,103,2,3,4,5,6,7,8,9,10,11,12,13,14,15,104,22,23,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/page-meta/content.vue":()=>t(()=>import("./content-CQZwJIUc.js"),__vite__mapDeps([105,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/pc-banner/content.vue":()=>t(()=>import("./content-Dtk1yPl3.js"),__vite__mapDeps([271,106,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/search/attr.vue":()=>t(()=>import("./attr-BS21VV6Q.js"),__vite__mapDeps([272,107,5,6,7,4])),"/src/views/decoration/component/widgets/search/content.vue":()=>t(()=>import("./content-BzNveTg-.js"),__vite__mapDeps([108,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,109])),"/src/views/decoration/component/widgets/user-banner/attr.vue":()=>t(()=>import("./attr-BwA_74Bu.js"),__vite__mapDeps([273,110,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/user-banner/content.vue":()=>t(()=>import("./content-DVKuEpqI.js"),__vite__mapDeps([274,111,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/user-info/attr.vue":()=>t(()=>import("./attr-gr_OE7on.js"),__vite__mapDeps([275,112,5,6,7,4])),"/src/views/decoration/component/widgets/user-info/content.vue":()=>t(()=>import("./content-DrZ0HxYf.js"),__vite__mapDeps([113,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,114])),"/src/views/decoration/pages/index.vue":()=>t(()=>import("./index-COzAj1fq.js"),__vite__mapDeps([276,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,248,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,249,250,251,252,277])),"/src/views/decoration/pc.vue":()=>t(()=>import("./pc-Bsl4ZcLO.js"),__vite__mapDeps([278,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/pc_details.vue":()=>t(()=>import("./pc_details-Cv9JlnxV.js"),__vite__mapDeps([77,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,79,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116])),"/src/views/decoration/style/components/mobile-style.vue":()=>t(()=>import("./mobile-style-FEnJ57u3.js"),__vite__mapDeps([279,280,2,3,4,5,6,7,8,9,10,11,12,13,14,15,104,22,23,281,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,282])),"/src/views/decoration/style/components/theme-picker.vue":()=>t(()=>import("./theme-picker-4kexhjea.js"),__vite__mapDeps([281,22,23,6,7,4,5,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,282])),"/src/views/decoration/style/style.vue":()=>t(()=>import("./style-B1g_bg_k.js"),__vite__mapDeps([283,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,280,104,22,23,281,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,282])),"/src/views/decoration/tabbar.vue":()=>t(()=>import("./tabbar-BYrAmmq1.js"),__vite__mapDeps([284,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,249,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,250,254,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,66,67,68,69,70,71,72,104,255,87,88,256,285])),"/src/views/dev_tools/code/edit.vue":()=>t(()=>import("./edit-BXwhN0TR.js"),__vite__mapDeps([286,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,287,288,289,172,290,55,56,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,291])),"/src/views/dev_tools/code/index.vue":()=>t(()=>import("./index-C0I0jubD.js"),__vite__mapDeps([292,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,289,65,293,32,33,294,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39])),"/src/views/dev_tools/components/code-preview.vue":()=>t(()=>import("./code-preview-DF2sZaPh.js"),__vite__mapDeps([295,293,2,3,4,5,6,7,8,9,10,11,12,13,14,15,32,33,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39])),"/src/views/dev_tools/components/data-table.vue":()=>t(()=>import("./data-table-CLWy4za8.js"),__vite__mapDeps([296,294,2,3,4,5,6,7,8,9,10,11,12,13,14,15,289,58,55,56,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/dev_tools/components/relations-add.vue":()=>t(()=>import("./relations-add-BrrivRhR.js"),__vite__mapDeps([297,290,2,3,4,5,6,7,8,9,10,11,12,13,14,15,289,55,56,172,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/doctor/dept-tongji.vue":()=>t(()=>import("./dept-tongji-Bu-jXIks.js"),__vite__mapDeps([298,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,299])),"/src/views/doctor/medicine.vue":()=>t(()=>import("./medicine-Cw2sIjNS.js"),__vite__mapDeps([300,2,3,4,5,6,7,8,9,10,11,12,13,14,15,230,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,301])),"/src/views/doctor/progress.vue":()=>t(()=>import("./progress-Crqw_SbF.js"),__vite__mapDeps([74,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,75,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,76])),"/src/views/doctor/roster.vue":()=>t(()=>import("./roster-BL5e33GP.js"),__vite__mapDeps([302,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,303])),"/src/views/doctor/tongji.vue":()=>t(()=>import("./tongji-BOx1xRac.js"),__vite__mapDeps([304,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,305])),"/src/views/error/403.vue":()=>t(()=>import("./403-CPnePqbE.js"),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/error/404.vue":()=>t(()=>import("./404-B5k2zNS_.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/error/components/error.vue":()=>t(()=>import("./error-D1FuDlMf.js"),__vite__mapDeps([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/fans/commission-settlement.vue":()=>t(()=>import("./commission-settlement-C8uEBqVH.js"),__vite__mapDeps([306,2,3,4,5,6,7,8,9,10,11,12,13,14,15,307,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,308])),"/src/views/fans/h5.vue":()=>t(()=>import("./h5-AaliMZBI.js"),__vite__mapDeps([117,2,3,4,5,6,7,8,9,10,11,12,13,14,15,118,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,119])),"/src/views/fans/index.vue":()=>t(()=>import("./index-Ct43fb_P.js"),__vite__mapDeps([309,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,118,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/fans/qywx.vue":()=>t(()=>import("./qywx-Dwa2dhw9.js"),__vite__mapDeps([310,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,311])),"/src/views/fans/yeji.vue":()=>t(()=>import("./yeji-D0yhxsrU.js"),__vite__mapDeps([312,2,3,4,5,6,7,8,9,10,11,12,13,14,15,21,136,137,34,35,36,307,313,121,124,17,18,19,16,20,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,314])),"/src/views/finance/account_cost/edit.vue":()=>t(()=>import("./edit-Cp8PlYx-.js"),__vite__mapDeps([315,2,3,4,5,6,7,8,9,10,11,12,13,14,15,313,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,316])),"/src/views/finance/account_cost/index.vue":()=>t(()=>import("./index-CcMLMPNz.js"),__vite__mapDeps([317,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,313,65,241,242,315,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,316,318])),"/src/views/finance/balance_details.vue":()=>t(()=>import("./balance_details-C-e-XZQ4.js"),__vite__mapDeps([319,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,221,313,172,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/component/refund-log.vue":()=>t(()=>import("./refund-log-yhGQ0xn1.js"),__vite__mapDeps([320,321,2,3,4,5,6,7,8,9,10,11,12,13,14,15,313,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/mubiao-dept-card.vue":()=>t(()=>import("./mubiao-dept-card-DfnzTPJO.js"),__vite__mapDeps([322,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,323])),"/src/views/finance/mubiao-dept-node.vue":()=>t(()=>import("./mubiao-dept-node-Ds3E7lF2.js"),__vite__mapDeps([324,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,325])),"/src/views/finance/mubiao.vue":()=>t(()=>import("./mubiao-Dv-wql71.js"),__vite__mapDeps([326,2,3,4,5,6,7,8,9,10,11,12,13,14,15,322,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,323,313,327])),"/src/views/finance/recharge_record.vue":()=>t(()=>import("./recharge_record-DGzsXulv.js"),__vite__mapDeps([328,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,221,313,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/refund_record.vue":()=>t(()=>import("./refund_record-CZUgsvAx.js"),__vite__mapDeps([329,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,221,313,65,321,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/first_visit/conversion/index.vue":()=>t(()=>import("./index-BX_8clc1.js"),__vite__mapDeps([330,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,332])),"/src/views/first_visit/doctor_dashboard/index.vue":()=>t(()=>import("./index-DXf2y97-.js"),__vite__mapDeps([333,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,334])),"/src/views/first_visit/my_patients/components/OrderActionHost.vue":()=>t(()=>import("./OrderActionHost-C510XVGT.js").then(a=>a.a),__vite__mapDeps([335,2,3,4,5,6,7,8,9,10,11,12,13,14,15,155,121,156,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,331,124,336])),"/src/views/first_visit/my_patients/components/OrderPanel.vue":()=>t(()=>import("./OrderPanel-BxRj5r_p.js"),__vite__mapDeps([337,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,331,335,155,121,156,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,124,336,338])),"/src/views/first_visit/my_patients/components/PaibanPanel.vue":()=>t(()=>import("./PaibanPanel-2RDEzQLo.js"),__vite__mapDeps([339,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,340])),"/src/views/first_visit/my_patients/components/ProgressPanel.vue":()=>t(()=>import("./ProgressPanel-Cz93PB3z.js"),__vite__mapDeps([341,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,342])),"/src/views/first_visit/my_patients/index.vue":()=>t(()=>import("./index-CrOviIg_.js"),__vite__mapDeps([343,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,16,65,124,331,121,123,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,344])),"/src/views/first_visit/registration_stats/index.vue":()=>t(()=>import("./index-DScosua5.js"),__vite__mapDeps([345,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,346])),"/src/views/first_visit/wecom_promotion/components/PromotionAutomationForm.vue":()=>t(()=>import("./PromotionAutomationForm-C_8XR98S.js"),__vite__mapDeps([347,2,3,4,5,6,7,8,9,10,11,12,13,14,15,331,348,349,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,350])),"/src/views/first_visit/wecom_promotion/components/WecomFloatingWidgetBuilder.vue":()=>t(()=>import("./WecomFloatingWidgetBuilder-CeJ7tFnb.js"),__vite__mapDeps([351,2,3,4,5,6,7,8,9,10,11,12,13,14,15,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,352])),"/src/views/first_visit/wecom_promotion/components/WelcomeMessageEditor.vue":()=>t(()=>import("./WelcomeMessageEditor-CZ3lYeWY.js").then(a=>a.b),__vite__mapDeps([348,2,3,4,5,6,7,8,9,10,11,12,13,14,15,331,349])),"/src/views/first_visit/wecom_promotion/index.vue":()=>t(()=>import("./index-DX2H1tQM.js"),__vite__mapDeps([353,2,3,4,5,6,7,8,9,10,11,12,13,14,15,331,351,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,352,347,348,349,350,354])),"/src/views/material/index.vue":()=>t(()=>import("./index-CwAaH8wu.js"),__vite__mapDeps([355,2,3,4,5,6,7,8,9,10,11,12,13,14,15,57,58,59,60,55,56,61,62,63,64,22,23,65,66,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,356])),"/src/views/message/notice/edit.vue":()=>t(()=>import("./edit-ZQ7tSM9h.js"),__vite__mapDeps([357,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,358,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/notice/index.vue":()=>t(()=>import("./index-ex2TBIDl.js"),__vite__mapDeps([359,2,3,4,5,6,7,8,9,10,11,12,13,14,15,358,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/short_letter/edit.vue":()=>t(()=>import("./edit-BXwpNDY-.js"),__vite__mapDeps([360,361,2,3,4,5,6,7,8,9,10,11,12,13,14,15,358,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/short_letter/index.vue":()=>t(()=>import("./index-CsdJJZcj.js"),__vite__mapDeps([362,2,3,4,5,6,7,8,9,10,11,12,13,14,15,358,361,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/order/index.vue":()=>t(()=>import("./index-BDHpYY_Z.js"),__vite__mapDeps([363,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,221,65,124,122,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,364])),"/src/views/organization/department/edit.vue":()=>t(()=>import("./edit-CF2O2Fit.js"),__vite__mapDeps([365,366,2,3,4,5,6,7,8,9,10,11,12,13,14,15,204,55,56,172,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/department/index.vue":()=>t(()=>import("./index-CC7Q2x1w.js"),__vite__mapDeps([367,2,3,4,5,6,7,8,9,10,11,12,13,14,15,204,366,55,56,172,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/post/edit.vue":()=>t(()=>import("./edit-ZZMCozF8.js"),__vite__mapDeps([368,369,2,3,4,5,6,7,8,9,10,11,12,13,14,15,205,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/post/index.vue":()=>t(()=>import("./index-BNoaqcOd.js"),__vite__mapDeps([370,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,205,65,369,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/patient/reception/components/NoteTimeline.vue":()=>t(()=>import("./NoteTimeline-DqVO9iO4.js"),__vite__mapDeps([159,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,127,124,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,160])),"/src/views/patient/reception/index.vue":()=>t(()=>import("./index-6fpUcIGz.js"),__vite__mapDeps([371,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,127,159,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,124,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,160,129,128,130,131,132,133,134,135,136,137,138,121,139,140,75,372])),"/src/views/permission/admin/edit.vue":()=>t(()=>import("./edit-BMFiZk9J.js"),__vite__mapDeps([373,374,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,204,205,203,231,172,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/admin/index.vue":()=>t(()=>import("./index-ryG0bJRe.js"),__vite__mapDeps([375,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,203,231,172,65,374,54,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,204,205,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/menu/edit.vue":()=>t(()=>import("./edit-yL8EpC5L.js"),__vite__mapDeps([376,377,2,3,4,5,6,7,8,9,10,11,12,13,14,15,378,22,23,287,55,56,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/menu/index.vue":()=>t(()=>import("./index-C7ZHkyPf.js"),__vite__mapDeps([379,2,3,4,5,6,7,8,9,10,11,12,13,14,15,287,65,377,378,22,23,55,56,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/auth.vue":()=>t(()=>import("./auth-BPryrCi7.js"),__vite__mapDeps([380,381,2,3,4,5,6,7,8,9,10,11,12,13,14,15,287,231,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/edit.vue":()=>t(()=>import("./edit-2Xl3Ar7O.js"),__vite__mapDeps([382,383,2,3,4,5,6,7,8,9,10,11,12,13,14,15,231,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/index.vue":()=>t(()=>import("./index-BzSyPKus.js"),__vite__mapDeps([384,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,231,65,381,287,55,56,383,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/pharmacy/medicine_mapping/index.vue":()=>t(()=>import("./index-BQOPfZw4.js"),__vite__mapDeps([385,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,386])),"/src/views/setting/desktop_workstation/index.vue":()=>t(()=>import("./index-CUuHlzOy.js"),__vite__mapDeps([387,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,61,62,63,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/data/edit.vue":()=>t(()=>import("./edit-CpXNGceA.js"),__vite__mapDeps([388,389,2,3,4,5,6,7,8,9,10,11,12,13,14,15,288,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/data/index.vue":()=>t(()=>import("./index-BiFi2OpS.js"),__vite__mapDeps([390,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,288,65,389,55,56,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/type/edit.vue":()=>t(()=>import("./edit-BI0tWG2X.js"),__vite__mapDeps([391,392,2,3,4,5,6,7,8,9,10,11,12,13,14,15,288,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/type/index.vue":()=>t(()=>import("./index-cqZKn1MG.js"),__vite__mapDeps([393,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,288,65,392,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/pay/config/edit.vue":()=>t(()=>import("./edit-razgmSeC.js"),__vite__mapDeps([394,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,395,43,396,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,397])),"/src/views/setting/pay/config/index.vue":()=>t(()=>import("./index-Dq79cnN7.js"),__vite__mapDeps([398,2,3,4,5,6,7,8,9,10,11,12,13,14,15,395,396,394,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,43,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,397])),"/src/views/setting/pay/method/index.vue":()=>t(()=>import("./index-BeY5SVIg.js"),__vite__mapDeps([399,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,395,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/search/index.vue":()=>t(()=>import("./index-ClUiIVBA.js"),__vite__mapDeps([400,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,401])),"/src/views/setting/storage/edit.vue":()=>t(()=>import("./edit-Bwbysg4y.js"),__vite__mapDeps([402,403,2,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/storage/index.vue":()=>t(()=>import("./index-Bu073uwT.js"),__vite__mapDeps([404,2,3,4,5,6,7,8,9,10,11,12,13,14,15,403,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/cache.vue":()=>t(()=>import("./cache-CmGeN_d9.js"),__vite__mapDeps([405,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/environment.vue":()=>t(()=>import("./environment-DWZ8fjr8.js"),__vite__mapDeps([406,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/journal.vue":()=>t(()=>import("./journal-CqwEgx0b.js"),__vite__mapDeps([407,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,220,55,56,221,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/scheduled_task/edit.vue":()=>t(()=>import("./edit-DQ82mXcF.js"),__vite__mapDeps([408,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/scheduled_task/index.vue":()=>t(()=>import("./index-rpLvWLk-.js"),__vite__mapDeps([409,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/user/login_register.vue":()=>t(()=>import("./login_register-BZlioH_J.js"),__vite__mapDeps([410,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,411,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/user/setup.vue":()=>t(()=>import("./setup-D9r44yec.js"),__vite__mapDeps([412,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,411,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/filing.vue":()=>t(()=>import("./filing-XM5KxFed.js"),__vite__mapDeps([413,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,59,60,414,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/information.vue":()=>t(()=>import("./information-DAb-88JQ.js"),__vite__mapDeps([415,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,414,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/protocol.vue":()=>t(()=>import("./protocol-DhEGqCSu.js"),__vite__mapDeps([416,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,167,168,169,170,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,171,414,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/statistics.vue":()=>t(()=>import("./statistics-CIPjXJvE.js"),__vite__mapDeps([417,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,414,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/stats/assistant-performance/index.vue":()=>t(()=>import("./index-M0N4i9Vc.js"),__vite__mapDeps([418,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,307,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,419])),"/src/views/stats/auto_assign_log/index.vue":()=>t(()=>import("./index-CuYTaQIf.js"),__vite__mapDeps([420,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,307,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,421])),"/src/views/stats/conversion/index.vue":()=>t(()=>import("./index-CCmH8maL.js"),__vite__mapDeps([422,58,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,307,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,423])),"/src/views/stats/performance-dashboard/index.vue":()=>t(()=>import("./index-BZK6_Fam.js"),__vite__mapDeps([424,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,307,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,425])),"/src/views/stats/revisit_rate/index.vue":()=>t(()=>import("./index-BcWKucza.js"),__vite__mapDeps([426,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,307,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,427])),"/src/views/stats/self_input/MediaSourceSelect.vue":()=>t(()=>import("./MediaSourceSelect-D2O2xTjc.js"),__vite__mapDeps([428,429,2,3,4,5,6,7,8,9,10,11,12,13,14,15])),"/src/views/stats/self_input/account_cost.vue":()=>t(()=>import("./account_cost-B9kmgGu7.js"),__vite__mapDeps([430,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,431,204,65,432,55,56,429,433,241,242,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,434])),"/src/views/stats/self_input/cost-edit.vue":()=>t(()=>import("./cost-edit-pZVZpDGY.js"),__vite__mapDeps([435,432,2,3,4,5,6,7,8,9,10,11,12,13,14,15,431,55,56,429,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/stats/self_input/index.vue":()=>t(()=>import("./index-aSZlGdY5.js"),__vite__mapDeps([436,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,431,204,65,429,437,55,56,433,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,438])),"/src/views/stats/self_input/yeji-edit.vue":()=>t(()=>import("./yeji-edit-ChIyC1vo.js"),__vite__mapDeps([439,437,2,3,4,5,6,7,8,9,10,11,12,13,14,15,431,55,56,429,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/tcm/appointment/components/prescription-drawer.vue":()=>t(()=>import("./prescription-drawer-FyoeLrYk.js"),__vite__mapDeps([440,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,232,230,233,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,441])),"/src/views/tcm/appointment/list.vue":()=>t(()=>import("./list-BTbA_aY2.js"),__vite__mapDeps([442,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,221,65,75,204,121,127,124,133,123,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,443])),"/src/views/tcm/appointment/list_h5.vue":()=>t(()=>import("./list_h5-DFZTD_No.js"),__vite__mapDeps([444,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,123,121,127,65,133,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,445])),"/src/views/tcm/diagnosis/add.vue":()=>t(()=>import("./add-B2VOi4Qw.js"),__vite__mapDeps([446,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,447])),"/src/views/tcm/diagnosis/appointment.vue":()=>t(()=>import("./appointment-CWzTZ9VV.js"),__vite__mapDeps([448,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,331,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,449])),"/src/views/tcm/diagnosis/components/AppointmentRecordPanel.vue":()=>t(()=>import("./AppointmentRecordPanel-DzDHAY3k.js"),__vite__mapDeps([152,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,153])),"/src/views/tcm/diagnosis/components/AssignLogPanel.vue":()=>t(()=>import("./AssignLogPanel-CDRHljLe.js"),__vite__mapDeps([150,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,151])),"/src/views/tcm/diagnosis/components/AssistantWatchCallDialog.vue":()=>t(()=>import("./AssistantWatchCallDialog-BoEGWQ09.js"),__vite__mapDeps([450,2,3,4,5,6,7,8,9,10,11,12,13,14,15,451,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,452])),"/src/views/tcm/diagnosis/components/BloodRecordList.vue":()=>t(()=>import("./BloodRecordList-P_n1Kvlm.js"),__vite__mapDeps([453,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,34,35,36,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,454])),"/src/views/tcm/diagnosis/components/CallRecordPanel.vue":()=>t(()=>import("./CallRecordPanel-C1Otf2Df.js"),__vite__mapDeps([141,2,3,4,5,6,7,8,9,10,11,12,13,14,15,142,143,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144,145,61,62,63,121,146])),"/src/views/tcm/diagnosis/components/CaseRecordList.vue":()=>t(()=>import("./CaseRecordList-UyYqRkBS.js"),__vite__mapDeps([455,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,456])),"/src/views/tcm/diagnosis/components/DailyMatrix.vue":()=>t(()=>import("./DailyMatrix-DtyPece3.js"),__vite__mapDeps([135,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,136,137,34,35,36,138,121,124,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,37,38,39,139,132,140])),"/src/views/tcm/diagnosis/components/DiagnosisTodoList.vue":()=>t(()=>import("./DiagnosisTodoList-CqxCRYim.js"),__vite__mapDeps([138,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,124,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,139])),"/src/views/tcm/diagnosis/components/DietRecordList.vue":()=>t(()=>import("./DietRecordList-C2B7kp6Z.js"),__vite__mapDeps([457,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,121,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,458])),"/src/views/tcm/diagnosis/components/ExerciseRecordList.vue":()=>t(()=>import("./ExerciseRecordList-BKFY7oPA.js"),__vite__mapDeps([459,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,121,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,460])),"/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue":()=>t(()=>import("./ImChatRecordPanel-CsDITo98.js"),__vite__mapDeps([147,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,148,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,149])),"/src/views/tcm/diagnosis/components/PatientCaseCard.vue":()=>t(()=>import("./PatientCaseCard-BUE1F6Xk.js"),__vite__mapDeps([131,132,128,133,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,134])),"/src/views/tcm/diagnosis/components/PatientInfoCard.vue":()=>t(()=>import("./PatientInfoCard-CRgOOFEE.js"),__vite__mapDeps([129,128,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130])),"/src/views/tcm/diagnosis/components/PatientOrderList.vue":()=>t(()=>import("./PatientOrderList-Bq3jWUKy.js"),__vite__mapDeps([154,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,121,155,156,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,158])),"/src/views/tcm/diagnosis/components/RecordingPlaybackBlock.vue":()=>t(()=>import("./RecordingPlaybackBlock-Llmd2S_t.js"),__vite__mapDeps([142,2,3,4,5,6,7,8,9,10,11,12,13,14,15,143,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144,145])),"/src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue":()=>t(()=>import("./RecordingVideoPlayer-D28GF4NK.js"),__vite__mapDeps([143,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144])),"/src/views/tcm/diagnosis/components/TrackingMatrix.vue":()=>t(()=>import("./TrackingMatrix-BfgpwCge.js"),__vite__mapDeps([461,2,3,4,5,6,7,8,9,10,11,12,13,14,15,132,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,462])),"/src/views/tcm/diagnosis/components/TrackingNoteTimeline.vue":()=>t(()=>import("./TrackingNoteTimeline--NTL4w6T.js"),__vite__mapDeps([463,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,464])),"/src/views/tcm/diagnosis/detail.vue":()=>t(()=>import("./detail-CsM6bOnd.js"),__vite__mapDeps([465,55,2,3,4,5,6,7,8,9,10,11,12,13,14,15,56,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/tcm/diagnosis/edit.vue":()=>t(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([466,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,124,135,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,136,137,34,35,36,138,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,37,38,39,139,132,140,455,456,141,142,143,144,145,146,147,148,149,150,151,152,75,153,159,127,160,154,155,156,157,158,467,232,230,233,133,234,235,236,468,469,464])),"/src/views/tcm/diagnosis/index.vue":()=>t(()=>import("./index-BIVqDwVE.js"),__vite__mapDeps([470,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,122,75,65,123,124,16,221,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,471])),"/src/views/tcm/diagnosis/index_h5.vue":()=>t(()=>import("./index_h5-DbYby-js.js"),__vite__mapDeps([120,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,122,75,123,65,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,125])),"/src/views/tcm/diagnosis/readonly.vue":()=>t(()=>import("./readonly-DyVEs7Ql.js"),__vite__mapDeps([126,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,121,127,128,124,129,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130,131,132,133,134,135,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,75,153,154,155,156,157,158,159,160,161])),"/src/views/tcm/follow/index.vue":()=>t(()=>import("./index-kLHJyqVF.js"),__vite__mapDeps([472,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,204,122,75,65,123,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,473])),"/src/views/template/component/file.vue":()=>t(()=>import("./file-iKPEqCPr.js"),__vite__mapDeps([474,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/icon.vue":()=>t(()=>import("./icon-Cq9aWCMz.js"),__vite__mapDeps([475,2,3,4,5,6,7,8,9,10,11,12,13,14,15,378,22,23,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/link.vue":()=>t(()=>import("./link-ChL3YoyQ.js"),__vite__mapDeps([476,2,3,4,5,6,7,8,9,10,11,12,13,14,15,82,55,56,58,83,65,84,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/overflow.vue":()=>t(()=>import("./overflow-CAop_L2e.js"),__vite__mapDeps([477,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/popover_input.vue":()=>t(()=>import("./popover_input-CuE6I06A.js"),__vite__mapDeps([478,2,3,4,5,6,7,8,9,10,11,12,13,14,15,64,22,23])),"/src/views/template/component/rich_text.vue":()=>t(()=>import("./rich_text-Cx8Gf7bM.js"),__vite__mapDeps([479,2,3,4,5,6,7,8,9,10,11,12,13,14,15,167,168,169,170,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,171,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/upload.vue":()=>t(()=>import("./upload-Bhiyuxj5.js"),__vite__mapDeps([480,2,3,4,5,6,7,8,9,10,11,12,13,14,15,61,62,63,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/test/patient-call.vue":()=>t(()=>import("./patient-call-DNgQ3_bn.js"),__vite__mapDeps([481,2,3,4,5,6,7,8,9,10,11,12,13,14,15,482,483,484,485,486,487,488,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,489])),"/src/views/user/setting.vue":()=>t(()=>import("./setting-M6wAI_0P.js"),__vite__mapDeps([51,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,49,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,73])),"/src/views/workbench/index.vue":()=>t(()=>import("./index-LYNm1TDi.js"),__vite__mapDeps([490,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,121,122,396,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,491]))});function R7(){return Object.keys(B3).map(a=>a.replace("/src/views/","").replace(".vue",""))}function f1(a,o=!0){return a.map(e=>{const i=C6(e,o);return e.children!=null&&e.children&&e.children.length&&(i.children=f1(e.children,!1)),i})}function C6(a,o){const e=A1(a.paths),i={path:J(a.paths)?a.paths:o?`/${e}`:e,name:Symbol(a.paths),meta:{hidden:!a.is_show,keepAlive:!!a.is_cache,title:a.name,perms:a.perms,query:a.params,icon:a.icon,type:a.type,activeMenu:a.selected}};switch(a.type){case y3.CATALOGUE:i.component=o?l3:O3,a.children||(i.component=O3);break;case y3.MENU:i.component=S6(a.component);break}return i}function S6(a){try{const o=A1(a),e=Object.keys(B3).find(i=>i.includes(`/${o}.vue`));if(e)return B3[e];throw Error(`找不到组件${a},请确保组件路径正确`)}catch(o){return console.error(o),O3}}function A1(a){return String(a||"").replace(/^\/+/,"").replace(/\/+$/,"")}function C3(a){var o,e;for(const i of a){if(((o=i.meta)==null?void 0:o.type)==y3.MENU&&!((e=i.meta)!=null&&e.hidden)&&!J(i.path))return i.name;if(i.children){const l=C3(i.children);if(l)return l}}}function D7(a){var e;return((e=(s3()||H).getRoutes().find(i=>{var l;return((l=i.meta)==null?void 0:l.perms)==a}))==null?void 0:e.path)||""}function k6(){H.removeRoute(L3);const{routes:a}=Y();a.forEach(o=>{const e=o.name;e&&H.hasRoute(e)&&H.removeRoute(e)})}const H=T1({history:O1("/admin/"),routes:B6});function x3(a){if(a==null)return"";if(Array.isArray(a)){const o=a[0];return o==null?"":String(o).trim()}return String(a).trim()}function Y3(a){if(!x3(a.query.code))return!1;const e=x3(a.query.state);return e==="bind_wxwork"||e==="admin_bind_wx"?!0:x3(a.query.bind_wxwork)==="1"}const S3=(a,o="")=>{try{a.forEach(e=>{if(J(e.path))return;const i=o+e.path,l={...e,path:i,name:e.name||i.replace(/\//g,"_").replace("_","")};e.children?H.addRoute(l):H.addRoute(L3,l),e.children&&e.children.length>0&&S3(e.children,i+"/")})}catch(e){console.error("Error adding routes:",e)}},o3=T.LOGIN,j6=T.INDEX,H3="/change-password",v3="/bind-work-wechat",N6=[T.LOGIN,T.ERROR_403];H.beforeEach(async(a,o,e)=>{var c,s,r,n;document.title=a.meta.title??B.title;const i=Y(),l=m3();if(a.path===v3){if(!i.token){e({path:o3});return}e();return}if(a.path===H3){if(!i.token){e({path:o3});return}e();return}if(N6.includes(a.path))e();else if(i.token)if(Object.keys(i.userInfo).length!==0){if(i.isPaw===0){e({path:H3});return}if((c=i.userInfo)!=null&&c.need_bind_work_wechat&&a.path!==v3){if(Y3(a)){e();return}e({path:v3});return}if(!((s=i.userInfo)!=null&&s.need_bind_work_wechat)&&((r=i.routes)==null?void 0:r.length)>0&&!H.hasRoute(L3)){const p=C3(i.routes);if(!p){t3(),e(T.ERROR_403);return}l.setRouteName(p),_3.redirect={name:p},H.addRoute(_3),S3(i.routes),e({...a,replace:!0});return}a.path===o3?e({path:j6}):e()}else try{if(await i.getUserInfo(),i.isPaw===0){e({path:H3});return}if((n=i.userInfo)!=null&&n.need_bind_work_wechat){if(Y3(a)){e({...a,replace:!0});return}e({path:v3});return}const p=i.routes,_=C3(p);if(!_){t3(),e(T.ERROR_403);return}l.setRouteName(_),_3.redirect={name:_},H.addRoute(_3),S3(p),e({...a,replace:!0})}catch{t3(),e({path:o3,query:{redirect:a.fullPath}})}else e({path:o3,query:{redirect:a.fullPath}})});if(typeof window<"u"){let a=function(){var o=document.body,e=document.getElementById("__svg__icons__dom__");e||(e=document.createElementNS("http://www.w3.org/2000/svg","svg"),e.style.position="absolute",e.style.width="0",e.style.height="0",e.id="__svg__icons__dom__",e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("xmlns:link","http://www.w3.org/1999/xlink")),e.innerHTML='',o.insertBefore(e,o.lastChild)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",a):a()}function q6(){return V.get({url:"/chat/notifications"})}const W6=["onClick"],G6={class:"chat-notify-body"},$6={class:"chat-notify-title"},U6={class:"chat-notify-desc"},F6={class:"patient-name"},Y6={class:"doctor-name"},Z6={class:"patient-name"},X6={class:"patient-name"},K6={class:"chat-notify-time"},J6=["onClick"],Q6=5e3,a4=L({__name:"index",setup(a){const o=s3(),e=c3([]),i=c3(null);function l(n){if(!n)return"";const v=new Date(n*1e3),_=new Date().getTime()-v.getTime();return _<6e4?"刚刚":_<36e5?`${Math.floor(_/6e4)} 分钟前`:_<864e5?`${Math.floor(_/36e5)} 小时前`:v.toLocaleDateString("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"})}function c(n){e.value=e.value.filter(v=>v.id!==n)}function s(n){c(n.id),n.type==="consultation_complete"&&n.diagnosis_id&&o.push({path:"/tcm/diagnosis",query:{id:n.diagnosis_id}})}async function r(){try{const n=await q6();Array.isArray(n)&&n.length>0&&(e.value=[...n,...e.value].slice(0,10))}catch{}}return u1(()=>{r(),i.value=setInterval(r,Q6)}),l0(()=>{i.value&&clearInterval(i.value)}),(n,v)=>{const p=Q3;return h(),A(c0,{to:"body"},[u(z0,{name:"chat-notify-slide",tag:"div",class:"chat-notify-container"},{default:z(()=>[(h(!0),g(D,null,K(e.value,_=>(h(),g("div",{key:_.id,class:b3(["chat-notify-card",{"chat-notify-card-complete":_.type==="consultation_complete","chat-notify-card-left":_.type==="patient_left_chat"}]),onClick:w=>s(_)},[d("div",{class:b3(["chat-notify-icon",{"chat-notify-icon-complete":_.type==="consultation_complete","chat-notify-icon-left":_.type==="patient_left_chat"}])},[u(p,{size:22},{default:z(()=>[_.type!=="consultation_complete"&&_.type!=="patient_left_chat"?(h(),A(m(r0),{key:0})):_.type==="consultation_complete"?(h(),A(m(m0),{key:1})):(h(),A(m(u0),{key:2}))]),_:2},1024)],2),d("div",G6,[d("div",$6,P(_.type==="consultation_complete"?"面诊结束":_.type==="patient_left_chat"?"患者离开会话":"患者打开会话"),1),d("div",U6,[_.type==="consultation_complete"?(h(),g(D,{key:0},[d("span",F6,P(_.patient_name||"患者"),1),v[0]||(v[0]=I(" 的面诊已由 ",-1)),d("span",Y6,P(_.doctor_name||"医生"),1),v[1]||(v[1]=I(" 完成,请及时跟进 ",-1))],64)):_.type==="patient_left_chat"?(h(),g(D,{key:1},[d("span",Z6,P(_.patient_name||"患者"),1),v[2]||(v[2]=I(" 已离开问诊会话页面 ",-1))],64)):(h(),g(D,{key:2},[d("span",X6,P(_.patient_name||"患者"),1),v[3]||(v[3]=I(" 已打开与您的会话,请及时查看 ",-1))],64))]),d("div",K6,P(l(_.created_at)),1)]),d("button",{class:"chat-notify-close",onClick:p0(w=>c(_.id),["stop"]),"aria-label":"关闭"},[u(p,{size:14},{default:z(()=>[u(m(d0))]),_:1})],8,J6)],10,W6))),128))]),_:1})])}}}),o4=R(a4,[["__scopeId","data-v-2fb1f024"]]),e4=L({__name:"App",setup(a){const o=k(),e=q(),i=Y(),l=A3(),c=b(()=>{var v;return!!i.token&&l.path!=="/bind-work-wechat"&&!((v=i.userInfo)!=null&&v.need_bind_work_wechat)}),s={zIndex:2e3,locale:K1},r=c1();u1(async()=>{console.log("主题颜色",r.value),e.setTheme(r.value)});const{width:n}=Q1();return n1(n,_0(v=>{v>I3.SM?(o.setMobile(!1),o.toggleCollapsed(!1)):(o.setMobile(!0),o.toggleCollapsed(!0)),v{const _=n3("router-view"),w=X1;return h(),A(w,{locale:s.locale,"z-index":s.zIndex},{default:z(()=>[u(_),c.value?(h(),A(o4,{key:0})):C("",!0)]),_:1},8,["locale","z-index"])}}}),T3="data-clipboard-text",t4={mounted:(a,o)=>{a.setAttribute(T3,o.value);const{toClipboard:e}=y0();a.onclick=()=>{e(a.getAttribute(T3)).then(()=>{X.msgSuccess("复制成功")}).catch(()=>{X.msgError("复制失败")})}},updated:(a,o)=>{a.setAttribute(T3,o.value)}},i4=Object.freeze(Object.defineProperty({__proto__:null,default:t4},Symbol.toStringTag,{value:"Module"}));function Z3(a,o){const{value:e}=o,l=Y().perms||[],c="*";if(!Array.isArray(e))throw new Error(`like v-perms="['auth.menu/edit']"`);if(e.length===0){a.style.removeProperty("display");return}l.some(r=>c==r||e.includes(r))?a.style.removeProperty("display"):a.style.display="none"}const l4={mounted:(a,o)=>{Z3(a,o)},updated:(a,o)=>{Z3(a,o)}},c4=Object.freeze(Object.defineProperty({__proto__:null,default:l4},Symbol.toStringTag,{value:"Module"}));g0([w0,f0,A0,V0,L0,E0,M0,x0,H0,T0,O0,I0,P0,R0,D0,B0,C0,S0,k0,j0,N0,q0,W0,G0,$0]);const s4=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),n4=a=>{for(const[o,e]of Object.entries(h1))a.component(o,e)},r4=Object.freeze(Object.defineProperty({__proto__:null,default:n4},Symbol.toStringTag,{value:"Module"}));console.log(U0);const m4=a=>{a.use(F0)},u4=Object.freeze(Object.defineProperty({__proto__:null,default:m4},Symbol.toStringTag,{value:"Module"})),d4=I1(),h4=a=>{a.use(d4)},_4=Object.freeze(Object.defineProperty({__proto__:null,default:h4},Symbol.toStringTag,{value:"Module"}));function v4(a){a.beforeEach(async()=>{const o=k();if(!o.configFetchAttempted){o.$patch({configFetchAttempted:!0});try{const e=await o.getConfig();let i=document.querySelector('link[rel="icon"]');i&&(e!=null&&e.web_favicon)&&(i.href=e.web_favicon),e!=null&&e.web_favicon&&(i=document.createElement("link"),i.rel="icon",i.href=e.web_favicon,document.head.appendChild(i))}catch{}}})}const p4=Object.freeze(Object.defineProperty({__proto__:null,default:v4},Symbol.toStringTag,{value:"Module"})),X3=Object.assign({"./init.ts":p4});function z4(a){Object.keys(X3).forEach(o=>{const e=X3[o].default;typeof e=="function"&&e(a)})}const b4=a=>{z4(H),a.use(H)},y4=Object.freeze(Object.defineProperty({__proto__:null,default:b4},Symbol.toStringTag,{value:"Module"}));function g4(a){typeof window<"u"&&(window.__TUIKIT_INITIALIZED__=!0)}const w4=Object.freeze(Object.defineProperty({__proto__:null,default:g4},Symbol.toStringTag,{value:"Module"})),K3=Object.assign({"./directives/copy.ts":i4,"./directives/perms.ts":c4,"./plugins/echart.ts":s4,"./plugins/element.ts":r4,"./plugins/hljs.ts":u4,"./plugins/pinia.ts":_4,"./plugins/router.ts":y4,"./plugins/tuikit.ts":w4});function f4(a){Object.keys(K3).forEach(o=>{const e=o.replace(/(.*\/)*([^.]+).*/gi,"$2"),i=o.replace(/^\.\/([\w-]+).*/gi,"$1"),l=K3[o];if(l.default)switch(i){case"directives":a.directive(e,l.default);break;case"plugins":typeof l.default=="function"&&l.default(a);break}})}const A4={install:f4},V1=b0(e4);V1.use(A4);V1.mount("#app");y1().then(a=>{console.log(`%c likeadmin %c v${a.version} `,"padding: 4px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #bbb; font-weight: bold;","padding: 4px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #4A5DFF; font-weight: bold;")});export{r7 as A,y7 as B,n7 as C,g7 as D,J2 as E,E7 as F,M7 as G,T7 as H,P7 as I,O7 as J,H7 as K,x7 as L,y3 as M,I7 as N,v7 as O,T as P,m7 as Q,U as R,L7 as S,z7 as T,R as _,u7 as a,_7 as b,W as c,p7 as d,k as e,F as f,b1 as g,d7 as h,b6 as i,h7 as j,X as k,$2 as l,D7 as m,q as n,b7 as o,i3 as p,p6 as q,V as r,B as s,A7 as t,Y as u,U3 as v,V7 as w,R7 as x,f7 as y,w7 as z}; diff --git a/server/public/admin/assets/index-DI1J3EW8.js b/server/public/admin/assets/index-LYNm1TDi.js similarity index 99% rename from server/public/admin/assets/index-DI1J3EW8.js rename to server/public/admin/assets/index-LYNm1TDi.js index cc6de3bb3..a4ed0b3b4 100644 --- a/server/public/admin/assets/index-DI1J3EW8.js +++ b/server/public/admin/assets/index-LYNm1TDi.js @@ -1,4 +1,4 @@ -import{i as nt,d as dt,R as ct,Q as pt,ac as ut,ab as bt,X as mt}from"./element-plus-DGP1XOrU.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{M,aa as _t,am as ht,a6 as yt}from"./@element-plus/icons-vue-CbYn5zW9.js";import{n as wt,S as L,T as ft,_ as vt}from"./index-fRv3NTFQ.js";import{aG as gt}from"./tcm-CEIBuAeK.js";import{u as kt}from"./order-L3Ma3_1N.js";import{u as U}from"./getExposeType-MUpmx9zy.js";import{f as X,w as xt,b as St,ak as l,I as c,J as t,a,aN as r,O as C,F as A,ap as D,G as w,H as B,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as G,y as f,n as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ot={class:"workbench-page"},Ct={class:"wb-hero"},At={class:"wb-section wb-section--order"},Dt={class:"wb-section-head"},Nt={class:"wb-section-title"},$t={class:"wb-section-icon wb-section-icon--violet"},zt={class:"wb-section-sub"},Et={class:"wb-toolbar"},Vt={class:"wb-section-body"},Lt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Ft={class:"wb-kpi wb-kpi--amber"},Pt={class:"wb-kpi-value wb-kpi-value--sm"},Wt={class:"wb-rank-strip wb-rank-strip--compact"},Bt={key:0,class:"wb-rank-chips"},Ht={key:1,class:"wb-rank-empty"},Tt={class:"wb-chart-card"},It={class:"wb-chart-card"},Mt={class:"wb-chart-card"},Ut={class:"wb-chart-card wb-ranking-card"},Gt={key:0,class:"wb-ranking-list"},Qt={class:"wb-ranking-rank"},jt={class:"wb-ranking-name"},Jt={class:"wb-ranking-meta"},Xt={class:"wb-ranking-money"},Yt={key:0,class:"wb-dept-block"},qt={class:"wb-dept-card wb-dept-card--order"},Kt={class:"wb-dept-card-head"},Zt={class:"wb-dept-total"},te={class:"wb-dept-list"},ee={class:"wb-dept-num"},se={key:0,class:"wb-dept-empty"},ae={class:"wb-section wb-section--diagnosis"},oe={class:"wb-section-head"},le={class:"wb-section-title"},re={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},ne={class:"wb-toolbar"},de={class:"wb-section-body"},ce={class:"wb-kpi wb-kpi--blue"},pe={class:"wb-kpi-value"},ue={class:"wb-rank-strip"},be={key:0,class:"wb-rank-chips"},me={key:1,class:"wb-rank-empty"},_e={class:"wb-chart-card"},he={class:"wb-chart-card"},ye={key:0,class:"wb-dept-block"},we={class:"wb-dept-card"},fe={class:"wb-dept-card-head"},ve={class:"wb-dept-total"},ge={class:"wb-dept-list"},ke={class:"wb-dept-num"},xe={key:0,class:"wb-dept-empty"},Se={class:"wb-section wb-section--trend"},Oe={class:"wb-section-head"},Ce={class:"wb-section-title"},Ae={class:"wb-section-icon wb-section-icon--teal"},De={class:"wb-section-body wb-trend-body"},Ne={class:"wb-chart-card wb-trend-card"},$e={class:"wb-chart-card wb-trend-card"},ze=X({name:"workbench"}),Ee=X({...ze,setup(Ve){const g=wt(),H=U(),T=U(),Y=U(),I=["#5b7cfa","#36cfc9","#ffc53d","#ff7a45","#b37feb","#597ef7","#73d13d","#ff85c0"];function Q(s){if(s==null)return 0;const e=parseFloat(String(s).replace(/,/g,""));return Number.isFinite(e)?e:0}const p=G({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),q=S(()=>(p.departments||[]).some(s=>Number(s.total)>0)),K=S(()=>{const s=(p.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} +import{i as nt,d as dt,R as ct,Q as pt,ac as ut,ab as bt,X as mt}from"./element-plus-DGP1XOrU.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{M,aa as _t,am as ht,a6 as yt}from"./@element-plus/icons-vue-CbYn5zW9.js";import{n as wt,S as L,T as ft,_ as vt}from"./index-J_eFER10.js";import{aG as gt}from"./tcm-D-ZRccbe.js";import{u as kt}from"./order-B5S0jULN.js";import{u as U}from"./getExposeType-MUpmx9zy.js";import{f as X,w as xt,b as St,ak as l,I as c,J as t,a,aN as r,O as C,F as A,ap as D,G as w,H as B,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as G,y as f,n as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ot={class:"workbench-page"},Ct={class:"wb-hero"},At={class:"wb-section wb-section--order"},Dt={class:"wb-section-head"},Nt={class:"wb-section-title"},$t={class:"wb-section-icon wb-section-icon--violet"},zt={class:"wb-section-sub"},Et={class:"wb-toolbar"},Vt={class:"wb-section-body"},Lt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Ft={class:"wb-kpi wb-kpi--amber"},Pt={class:"wb-kpi-value wb-kpi-value--sm"},Wt={class:"wb-rank-strip wb-rank-strip--compact"},Bt={key:0,class:"wb-rank-chips"},Ht={key:1,class:"wb-rank-empty"},Tt={class:"wb-chart-card"},It={class:"wb-chart-card"},Mt={class:"wb-chart-card"},Ut={class:"wb-chart-card wb-ranking-card"},Gt={key:0,class:"wb-ranking-list"},Qt={class:"wb-ranking-rank"},jt={class:"wb-ranking-name"},Jt={class:"wb-ranking-meta"},Xt={class:"wb-ranking-money"},Yt={key:0,class:"wb-dept-block"},qt={class:"wb-dept-card wb-dept-card--order"},Kt={class:"wb-dept-card-head"},Zt={class:"wb-dept-total"},te={class:"wb-dept-list"},ee={class:"wb-dept-num"},se={key:0,class:"wb-dept-empty"},ae={class:"wb-section wb-section--diagnosis"},oe={class:"wb-section-head"},le={class:"wb-section-title"},re={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},ne={class:"wb-toolbar"},de={class:"wb-section-body"},ce={class:"wb-kpi wb-kpi--blue"},pe={class:"wb-kpi-value"},ue={class:"wb-rank-strip"},be={key:0,class:"wb-rank-chips"},me={key:1,class:"wb-rank-empty"},_e={class:"wb-chart-card"},he={class:"wb-chart-card"},ye={key:0,class:"wb-dept-block"},we={class:"wb-dept-card"},fe={class:"wb-dept-card-head"},ve={class:"wb-dept-total"},ge={class:"wb-dept-list"},ke={class:"wb-dept-num"},xe={key:0,class:"wb-dept-empty"},Se={class:"wb-section wb-section--trend"},Oe={class:"wb-section-head"},Ce={class:"wb-section-title"},Ae={class:"wb-section-icon wb-section-icon--teal"},De={class:"wb-section-body wb-trend-body"},Ne={class:"wb-chart-card wb-trend-card"},$e={class:"wb-chart-card wb-trend-card"},ze=X({name:"workbench"}),Ee=X({...ze,setup(Ve){const g=wt(),H=U(),T=U(),Y=U(),I=["#5b7cfa","#36cfc9","#ffc53d","#ff7a45","#b37feb","#597ef7","#73d13d","#ff85c0"];function Q(s){if(s==null)return 0;const e=parseFloat(String(s).replace(/,/g,""));return Number.isFinite(e)?e:0}const p=G({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),q=S(()=>(p.departments||[]).some(s=>Number(s.total)>0)),K=S(()=>{const s=(p.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} {c}`},data:s}]}}),Z=S(()=>{var b;const s=g.theme,e=(p.chart.series||[]).map(i=>({...i,name:i.name||"诊单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:L(s,.75)},{offset:1,color:s}]}}})),h=((b=e[0])==null?void 0:b.data)||[];return{color:[s,"#f0b429"],legend:{data:["诊单数","趋势"],top:4},xAxis:{type:"category",data:p.chart.xAxis||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"诊单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#f0b429"},itemStyle:{color:"#f0b429"},data:h}]}}),R=()=>{gt({days:p.days}).then(s=>{p.date_range=s.date_range,p.today_total=s.today_total??0,p.today_ranking=s.today_ranking||[],p.departments=s.departments||[],p.ranking=s.ranking||[],p.chart=s.chart||{xAxis:[],series:[]}}).catch(()=>{})},F=J(-1),P=J(0),_=G({order_type_name:"",date_range:[],today_total:0,today_amount:"0.00",today_ranking:[],departments:[],ranking:[],chart:{xAxis:[],series:[]}}),tt=S(()=>(_.departments||[]).some(s=>Number(s.total)>0)),et=S(()=>(_.departments||[]).some(s=>Q(s.amount)>0)),st=S(()=>{const s=(_.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"单数",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} {c}`},data:s}]}}),at=S(()=>{const s=(_.departments||[]).map(e=>({name:e.dept_name||"—",value:Q(e.amount)})).filter(e=>e.value>0);return{color:I,tooltip:{trigger:"item",formatter:e=>{const h=e.value;return`${e.name}
¥${Number(h).toFixed(2)} (${e.percent}%)`}},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"金额",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:e=>`${e.name} ¥${Number(e.value).toFixed(0)}`},data:s}]}}),ot=S(()=>{const s=_.date_range;if((s==null?void 0:s.length)>=2)return`${s[0]} 至 ${s[1]}`;const e=P.value,h=new Date,b=new Date;return e===0?(b.setHours(0,0,0,0),`${W(b)} 至 ${W(h)}`):(b.setDate(b.getDate()-(e||7)),`${W(b)} 至 ${W(h)}`)});function W(s){return s.getFullYear()+"-"+String(s.getMonth()+1).padStart(2,"0")+"-"+String(s.getDate()).padStart(2,"0")}const lt=S(()=>{var b,i,k;const s=g.theme,e=(((b=_.chart)==null?void 0:b.series)||[]).map(m=>({...m,name:m.name||"单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:L(s,.72)},{offset:1,color:s}]}}})),h=((i=e[0])==null?void 0:i.data)||[];return{color:[s,"#fa8c16"],legend:{data:["单数","趋势"],top:4},xAxis:{type:"category",data:((k=_.chart)==null?void 0:k.xAxis)||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#fa8c16"},itemStyle:{color:"#fa8c16"},data:h}]}}),N=()=>{kt({order_type:F.value,days:P.value}).then(s=>{Object.assign(_,{order_type_name:s.order_type_name??"",date_range:s.date_range||[],today_total:s.today_total??0,today_amount:s.today_amount??"0.00",today_ranking:s.today_ranking||[],departments:s.departments||[],ranking:s.ranking||[],chart:s.chart||{xAxis:[],series:[]}})}).catch(()=>{})},rt=()=>{j(),R(),N()};xt(()=>g.theme,()=>{it()});const u=G({version:{version:"",website:"",based:"",channel:{gitee:"",website:""}},support:[],today:{},menu:[],visitor:[],article:[],visitorOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value"},legend:{data:["访问量"],top:8},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:40,containLabel:!0},series:[{name:"访问量",data:[],type:"line",smooth:!0,color:g.theme,lineStyle:{color:g.theme,width:2},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:g.theme},{offset:1,color:g.theme}]},opacity:.12}}]},saleOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value",name:"万"},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:36,containLabel:!0},series:[{name:"销售量",data:[],type:"bar",showBackground:!0,backgroundStyle:{color:"rgba(120, 130, 150, 0.08)",borderRadius:[10,10,0,0]},barWidth:"42%",itemStyle:{borderRadius:[10,10,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:L(g.theme,.65)},{offset:1,color:g.theme}]}}}]}}),j=()=>{ft().then(s=>{var e,h,b,i,k,m,v,x,$,z,E,V;u.version=s.version,u.today=s.today,u.menu=s.menu,u.visitor=s.visitor,u.support=s.support,u.visitorOption.xAxis.data=[],u.visitorOption.series[0].data=[],u.saleOption.xAxis.data=[],u.saleOption.series[0].data=[],(h=(e=s.visitor)==null?void 0:e.date)==null||h.reverse().forEach(o=>{u.visitorOption.xAxis.data.push(o)}),(m=(k=(i=(b=s.visitor)==null?void 0:b.list)==null?void 0:i[0])==null?void 0:k.data)==null||m.forEach(o=>{u.visitorOption.series[0].data.push(o)}),(x=(v=s.sale)==null?void 0:v.date)==null||x.reverse().forEach(o=>{u.saleOption.xAxis.data.push(o)}),(V=(E=(z=($=s.sale)==null?void 0:$.list)==null?void 0:z[0])==null?void 0:E.data)==null||V.forEach(o=>{let d=o;o<=50&&(d={value:o,itemStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:L("#ff8729",.7)},{offset:1,color:"#ff8729"}]}}}),u.saleOption.series[0].data.push(d)})}).catch(s=>{console.log("err",s)})},it=()=>{var e,h,b,i;const s=g.theme;u.visitorOption.series[0].color=s,u.visitorOption.series[0].lineStyle.color=s,u.visitorOption.series[0].areaStyle.color.colorStops=[{offset:0,color:s},{offset:1,color:s}],u.saleOption.series[0].itemStyle.color.colorStops=[{offset:0,color:L(s,.65)},{offset:1,color:s}],(e=H.value)==null||e.clear(),(h=T.value)==null||h.clear(),(b=H.value)==null||b.setOption(u.saleOption),(i=T.value)==null||i.setOption(u.visitorOption)};return St(()=>{j(),R(),N()}),(s,e)=>{var $,z,E,V;const h=nt,b=dt,i=ct,k=pt,m=ut,v=bt,x=mt;return l(),c("div",Ot,[t("header",Ct,[e[4]||(e[4]=t("div",{class:"wb-hero-text"},[t("h1",{class:"wb-hero-title"},"数据工作台"),t("p",{class:"wb-hero-desc"},"医助诊单、订单营收与运营趋势一屏掌握")],-1)),a(h,{type:"primary",icon:f(M),round:"",class:"wb-refresh-btn",onClick:rt},{default:r(()=>[...e[3]||(e[3]=[C(" 刷新全部 ",-1)])]),_:1},8,["icon"])]),t("section",At,[t("div",Dt,[t("div",Nt,[t("span",$t,[a(b,null,{default:r(()=>[a(f(_t))]),_:1})]),t("div",null,[e[5]||(e[5]=t("div",{class:"wb-section-name"},"订单统计",-1)),t("div",zt,n(ot.value)+" · "+n(_.order_type_name||"—"),1)])]),t("div",Et,[a(k,{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=o=>F.value=o),class:"wb-select wb-select--wide",onChange:N},{default:r(()=>[a(i,{label:"全部(已支付)",value:-1}),a(i,{label:"挂号费",value:1}),a(i,{label:"问诊费",value:2}),a(i,{label:"药品费用",value:3}),a(i,{label:"首付费用",value:4}),a(i,{label:"尾款费用",value:5}),a(i,{label:"其他费用",value:6}),a(i,{label:"全部费用",value:7}),a(i,{label:"驼奶费用",value:8}),a(i,{label:"退款统计",value:0})]),_:1},8,["modelValue"]),a(k,{modelValue:P.value,"onUpdate:modelValue":e[1]||(e[1]=o=>P.value=o),class:"wb-select",onChange:N},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(M),circle:"",onClick:N},null,8,["icon"])])]),t("div",Vt,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8},{default:r(()=>[t("div",Lt,[e[6]||(e[6]=t("div",{class:"wb-kpi-label"},"今日单数",-1)),t("div",Rt,n(_.today_total??0),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>[t("div",Ft,[e[7]||(e[7]=t("div",{class:"wb-kpi-label"},"今日金额",-1)),t("div",Pt,"¥"+n(_.today_amount??"0.00"),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>{var o;return[t("div",Wt,[e[8]||(e[8]=t("span",{class:"wb-rank-strip-label"},"今日 TOP",-1)),(o=_.today_ranking)!=null&&o.length?(l(),c("div",Bt,[(l(!0),c(A,null,D(_.today_ranking.slice(0,4),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip wb-rank-chip--dense"},[t("em",null,n(Number(y)+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1),t("small",null,"¥"+n(d.amount),1)]))),128))])):(l(),c("span",Ht,"暂无"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Tt,[e[9]||(e[9]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门单数占比")],-1)),tt.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:st.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o,d;return[t("div",It,[e[10]||(e[10]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"开单人 · 单数排行"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势")],-1)),(d=(o=_.chart)==null?void 0:o.xAxis)!=null&&d.length?(l(),w(f(O),{key:"order-bar-"+F.value,class:"wb-chart",style:{height:"300px"},option:lt.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Mt,[e[11]||(e[11]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门金额占比")],-1)),et.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:at.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o;return[t("div",Ut,[e[13]||(e[13]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"周期内排行"),t("span",{class:"wb-chart-hint"},"单数 / 金额")],-1)),(o=_.ranking)!=null&&o.length?(l(),c("div",Gt,[(l(!0),c(A,null,D(_.ranking,(d,y)=>(l(),c("div",{key:d.id,class:"wb-ranking-item"},[t("span",Qt,n(Number(y)+1),1),t("span",jt,n(d.name),1),t("span",Jt,[t("b",null,n(d.count),1),e[12]||(e[12]=C(" 单 ",-1)),t("span",Xt,"¥"+n(d.amount),1)])]))),128))])):(l(),w(x,{key:1,description:"暂无排行"}))])]}),_:1})]),_:1}),($=_.departments)!=null&&$.length?(l(),c("div",Yt,[e[14]||(e[14]=t("div",{class:"wb-dept-title"},"按部门统计",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(_.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",qt,[t("div",Kt,[C(n(o.dept_name)+" ",1),t("span",Zt,n(o.total)+" 单 · ¥"+n(o.amount),1)]),t("div",te,[(l(!0),c(A,null,D(o.members,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ee,[C(n(y.count)+" ",1),t("small",null,"¥"+n(y.amount),1)])]))),128)),(d=o.members)!=null&&d.length?B("",!0):(l(),c("div",se,"暂无"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",ae,[t("div",oe,[t("div",le,[t("span",re,[a(b,null,{default:r(()=>[a(f(ht))]),_:1})]),t("div",null,[e[15]||(e[15]=t("div",{class:"wb-section-name"},"医助理诊单统计",-1)),t("div",ie,n((z=p.date_range)==null?void 0:z[0])+" 至 "+n((E=p.date_range)==null?void 0:E[1]),1)])]),t("div",ne,[a(k,{modelValue:p.days,"onUpdate:modelValue":e[2]||(e[2]=o=>p.days=o),class:"wb-select",onChange:R},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近14天",value:14}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(M),circle:"",onClick:R},null,8,["icon"])])]),t("div",de,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8,lg:6},{default:r(()=>[t("div",ce,[e[16]||(e[16]=t("div",{class:"wb-kpi-label"},"今日创建诊单",-1)),t("div",pe,n(p.today_total??0),1),e[17]||(e[17]=t("div",{class:"wb-kpi-hint"},"当日新增总量",-1))])]),_:1}),a(m,{xs:24,sm:16,lg:18},{default:r(()=>{var o;return[t("div",ue,[e[18]||(e[18]=t("span",{class:"wb-rank-strip-label"},"今日排行",-1)),(o=p.today_ranking)!=null&&o.length?(l(),c("div",be,[(l(!0),c(A,null,D(p.today_ranking.slice(0,6),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip"},[t("em",null,n(y+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1)]))),128))])):(l(),c("span",me,"暂无排行数据"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:15},{default:r(()=>{var o;return[t("div",_e,[e[19]||(e[19]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"诊单量分布"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势线")],-1)),(o=p.chart.xAxis)!=null&&o.length?(l(),w(f(O),{key:0,ref_key:"assistantChart",ref:Y,class:"wb-chart",style:{height:"340px"},option:Z.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1}),a(m,{xs:24,lg:9},{default:r(()=>[t("div",he,[e[20]||(e[20]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门占比"),t("span",{class:"wb-chart-hint"},"按诊单数")],-1)),q.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"340px"},option:K.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无部门数据"}))])]),_:1})]),_:1}),(V=p.departments)!=null&&V.length?(l(),c("div",ye,[e[21]||(e[21]=t("div",{class:"wb-dept-title"},"按部门明细",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(p.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",we,[t("div",fe,[C(n(o.dept_name)+" ",1),t("span",ve,"共 "+n(o.total),1)]),t("div",ge,[(l(!0),c(A,null,D(o.assistants,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ke,n(y.count),1)]))),128)),(d=o.assistants)!=null&&d.length?B("",!0):(l(),c("div",xe,"暂无医助"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",Se,[t("div",Oe,[t("div",Ce,[t("span",Ae,[a(b,null,{default:r(()=>[a(f(yt))]),_:1})]),e[22]||(e[22]=t("div",null,[t("div",{class:"wb-section-name"},"运营趋势"),t("div",{class:"wb-section-sub"},"访问量与销售额走势")],-1))])]),t("div",De,[a(v,{gutter:20},{default:r(()=>[a(m,{xs:24,lg:14},{default:r(()=>[t("div",Ne,[e[23]||(e[23]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"访问量趋势")],-1)),a(f(O),{ref_key:"visitorChart",ref:T,class:"wb-chart",style:{height:"320px"},option:u.visitorOption,autoresize:!0},null,8,["option"])])]),_:1}),a(m,{xs:24,lg:10},{default:r(()=>[t("div",$e,[e[24]||(e[24]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"销售额趋势"),t("span",{class:"wb-chart-hint"},"单位(万)")],-1)),a(f(O),{ref_key:"saleChart",ref:H,class:"wb-chart",style:{height:"320px"},option:u.saleOption,autoresize:!0},null,8,["option"])])]),_:1})]),_:1})])])])}}}),ks=vt(Ee,[["__scopeId","data-v-2f6eaa33"]]);export{ks as default}; diff --git a/server/public/admin/assets/index-Dp25xzkX.js b/server/public/admin/assets/index-M0N4i9Vc.js similarity index 97% rename from server/public/admin/assets/index-Dp25xzkX.js rename to server/public/admin/assets/index-M0N4i9Vc.js index b2aa6edb3..0a90a08e6 100644 --- a/server/public/admin/assets/index-Dp25xzkX.js +++ b/server/public/admin/assets/index-M0N4i9Vc.js @@ -1 +1 @@ -import{D as T,B as Y,G as z,F as A,S as G,i as H,K as I,X as L,E as U}from"./element-plus-DGP1XOrU.js";import{H as j}from"./vue-echarts-BNtg2q_G.js";import{r as q}from"./stats-D2lwBNks.js";import{f as V,b as J,ak as u,I as k,a as o,aN as a,O as m,G as y,H as K,J as p,F as Q,ap as X,A as g}from"./@vue/runtime-core-C6bnekPw.js";import{o as x,Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as W,n as C,r as E}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Z}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const tt={class:"assistant-performance-page"},et={class:"stats-kpi-grid"},at={class:"stats-kpi-label"},ot={class:"card-header"},rt={class:"card-hint"},st=V({name:"assistantPerformancePage"}),nt=V({...st,setup(lt){const _=C(!1),l=C([]),i=E({time_type:"month",start_date:"",end_date:""}),r=E({date_range:[],summary:{total_amount:0,total_count:0},chart:{dates:[],amounts:[],counts:[]}}),w=[{key:"total_amount",label:"业绩",type:"money",cardClass:""},{key:"total_count",label:"有效订单数",type:"count",cardClass:""}],S=g(()=>{var e;return(e=r.date_range)!=null&&e.length?`${r.date_range[0]} 至 ${r.date_range[1]}`:"未选择"}),D=g(()=>r.chart.dates.length>0&&r.chart.amounts.some(e=>e>0)),F=g(()=>({tooltip:{trigger:"axis",formatter:e=>{const t=e[0];return`${t.axisValue}
${t.marker}${t.seriesName}: ¥${Number(t.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:r.chart.dates,axisLabel:{interval:r.chart.dates.length>15?"auto":0,rotate:r.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:e=>e>=1e4?(e/1e4).toFixed(1)+"万":String(e)}},series:[{name:"业绩",type:"line",smooth:!0,showSymbol:!0,symbolSize:6,lineStyle:{width:3,color:"#4a78ff"},itemStyle:{color:"#4a78ff"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(74, 120, 255, 0.25)"},{offset:1,color:"rgba(74, 120, 255, 0.02)"}]}},data:r.chart.amounts}]})),N=(e,t)=>{var c;const n=((c=r.summary)==null?void 0:c[e])??0;return t==="money"?`¥${Number(n).toFixed(2)}`:String(n)},d=async()=>{_.value=!0;try{const e={time_type:i.time_type};i.time_type==="custom"&&(e.start_date=l.value[0]||"",e.end_date=l.value[1]||"");const t=await q(e);Object.assign(r,t||{})}catch(e){console.error("获取业绩数据失败:",e),U.error((e==null?void 0:e.msg)||"获取业绩数据失败")}finally{_.value=!1}},B=()=>{i.time_type!=="custom"&&(l.value=[],d())},$=()=>{var e;((e=l.value)==null?void 0:e.length)===2&&d()},P=()=>{i.time_type="month",l.value=[],d()};return J(()=>{d()}),(e,t)=>{const n=A,c=z,f=Y,R=G,b=H,M=T,h=I,O=L;return u(),k("div",tt,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(M,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(f,{label:"时间范围"},{default:a(()=>[o(c,{modelValue:i.time_type,"onUpdate:modelValue":t[0]||(t[0]=s=>i.time_type=s),onChange:B},{default:a(()=>[o(n,{label:"today"},{default:a(()=>[...t[2]||(t[2]=[m("今天",-1)])]),_:1}),o(n,{label:"yesterday"},{default:a(()=>[...t[3]||(t[3]=[m("昨天",-1)])]),_:1}),o(n,{label:"week"},{default:a(()=>[...t[4]||(t[4]=[m("最近7天",-1)])]),_:1}),o(n,{label:"month"},{default:a(()=>[...t[5]||(t[5]=[m("最近30天",-1)])]),_:1}),o(n,{label:"custom"},{default:a(()=>[...t[6]||(t[6]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i.time_type==="custom"?(u(),y(f,{key:0},{default:a(()=>[o(R,{modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=s=>l.value=s),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):K("",!0),o(f,null,{default:a(()=>[o(b,{type:"primary",loading:_.value,onClick:d},{default:a(()=>[...t[7]||(t[7]=[m("查询",-1)])]),_:1},8,["loading"]),o(b,{onClick:P},{default:a(()=>[...t[8]||(t[8]=[m("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),p("div",et,[(u(),k(Q,null,X(w,s=>p("div",{key:s.key,class:x(["stats-kpi-card",s.cardClass])},[p("div",at,v(s.label),1),p("div",{class:x(["stats-kpi-value",{"is-money":s.type==="money"}])},v(N(s.key,s.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[p("div",ot,[t[9]||(t[9]=p("span",{class:"card-title"},"业绩趋势",-1)),p("span",rt,v(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(u(),y(W(j),{key:0,class:"stats-chart",option:F.value,autoresize:""},null,8,["option"])):(u(),y(O,{key:1,description:"暂无数据"}))]),_:1})])}}}),Jt=Z(nt,[["__scopeId","data-v-52e20881"]]);export{Jt as default}; +import{D as T,B as Y,G as z,F as A,S as G,i as H,K as I,X as L,E as U}from"./element-plus-DGP1XOrU.js";import{H as j}from"./vue-echarts-BNtg2q_G.js";import{r as q}from"./stats-DXRw03Ae.js";import{f as V,b as J,ak as u,I as k,a as o,aN as a,O as m,G as y,H as K,J as p,F as Q,ap as X,A as g}from"./@vue/runtime-core-C6bnekPw.js";import{o as x,Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as W,n as C,r as E}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Z}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const tt={class:"assistant-performance-page"},et={class:"stats-kpi-grid"},at={class:"stats-kpi-label"},ot={class:"card-header"},rt={class:"card-hint"},st=V({name:"assistantPerformancePage"}),nt=V({...st,setup(lt){const _=C(!1),l=C([]),i=E({time_type:"month",start_date:"",end_date:""}),r=E({date_range:[],summary:{total_amount:0,total_count:0},chart:{dates:[],amounts:[],counts:[]}}),w=[{key:"total_amount",label:"业绩",type:"money",cardClass:""},{key:"total_count",label:"有效订单数",type:"count",cardClass:""}],S=g(()=>{var e;return(e=r.date_range)!=null&&e.length?`${r.date_range[0]} 至 ${r.date_range[1]}`:"未选择"}),D=g(()=>r.chart.dates.length>0&&r.chart.amounts.some(e=>e>0)),F=g(()=>({tooltip:{trigger:"axis",formatter:e=>{const t=e[0];return`${t.axisValue}
${t.marker}${t.seriesName}: ¥${Number(t.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:r.chart.dates,axisLabel:{interval:r.chart.dates.length>15?"auto":0,rotate:r.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:e=>e>=1e4?(e/1e4).toFixed(1)+"万":String(e)}},series:[{name:"业绩",type:"line",smooth:!0,showSymbol:!0,symbolSize:6,lineStyle:{width:3,color:"#4a78ff"},itemStyle:{color:"#4a78ff"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(74, 120, 255, 0.25)"},{offset:1,color:"rgba(74, 120, 255, 0.02)"}]}},data:r.chart.amounts}]})),N=(e,t)=>{var c;const n=((c=r.summary)==null?void 0:c[e])??0;return t==="money"?`¥${Number(n).toFixed(2)}`:String(n)},d=async()=>{_.value=!0;try{const e={time_type:i.time_type};i.time_type==="custom"&&(e.start_date=l.value[0]||"",e.end_date=l.value[1]||"");const t=await q(e);Object.assign(r,t||{})}catch(e){console.error("获取业绩数据失败:",e),U.error((e==null?void 0:e.msg)||"获取业绩数据失败")}finally{_.value=!1}},B=()=>{i.time_type!=="custom"&&(l.value=[],d())},$=()=>{var e;((e=l.value)==null?void 0:e.length)===2&&d()},P=()=>{i.time_type="month",l.value=[],d()};return J(()=>{d()}),(e,t)=>{const n=A,c=z,f=Y,R=G,b=H,M=T,h=I,O=L;return u(),k("div",tt,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(M,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(f,{label:"时间范围"},{default:a(()=>[o(c,{modelValue:i.time_type,"onUpdate:modelValue":t[0]||(t[0]=s=>i.time_type=s),onChange:B},{default:a(()=>[o(n,{label:"today"},{default:a(()=>[...t[2]||(t[2]=[m("今天",-1)])]),_:1}),o(n,{label:"yesterday"},{default:a(()=>[...t[3]||(t[3]=[m("昨天",-1)])]),_:1}),o(n,{label:"week"},{default:a(()=>[...t[4]||(t[4]=[m("最近7天",-1)])]),_:1}),o(n,{label:"month"},{default:a(()=>[...t[5]||(t[5]=[m("最近30天",-1)])]),_:1}),o(n,{label:"custom"},{default:a(()=>[...t[6]||(t[6]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i.time_type==="custom"?(u(),y(f,{key:0},{default:a(()=>[o(R,{modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=s=>l.value=s),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):K("",!0),o(f,null,{default:a(()=>[o(b,{type:"primary",loading:_.value,onClick:d},{default:a(()=>[...t[7]||(t[7]=[m("查询",-1)])]),_:1},8,["loading"]),o(b,{onClick:P},{default:a(()=>[...t[8]||(t[8]=[m("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),p("div",et,[(u(),k(Q,null,X(w,s=>p("div",{key:s.key,class:x(["stats-kpi-card",s.cardClass])},[p("div",at,v(s.label),1),p("div",{class:x(["stats-kpi-value",{"is-money":s.type==="money"}])},v(N(s.key,s.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[p("div",ot,[t[9]||(t[9]=p("span",{class:"card-title"},"业绩趋势",-1)),p("span",rt,v(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(u(),y(W(j),{key:0,class:"stats-chart",option:F.value,autoresize:""},null,8,["option"])):(u(),y(O,{key:1,description:"暂无数据"}))]),_:1})])}}}),Jt=Z(nt,[["__scopeId","data-v-52e20881"]]);export{Jt as default}; diff --git a/server/public/admin/assets/index-D6hiZISU.js b/server/public/admin/assets/index-UGD9wxNK.js similarity index 86% rename from server/public/admin/assets/index-D6hiZISU.js rename to server/public/admin/assets/index-UGD9wxNK.js index 2048e394d..30353580f 100644 --- a/server/public/admin/assets/index-D6hiZISU.js +++ b/server/public/admin/assets/index-UGD9wxNK.js @@ -1 +1 @@ -import{f as t,ak as s,I as n,J as a,aq as r}from"./@vue/runtime-core-C6bnekPw.js";import{p as _}from"./@vue/shared-mAAVTE9n.js";import{_ as i}from"./index-fRv3NTFQ.js";const c={class:"footer-btns"},p=t({__name:"index",props:{fixed:{type:Boolean,default:!0}},setup(e){return(o,d)=>(s(),n("div",c,[a("div",{class:"footer-btns__content",style:_(e.fixed?"position: fixed":"")},[r(o.$slots,"default",{},void 0,!0)],4)]))}}),u=i(p,[["__scopeId","data-v-0b44b424"]]);export{u as _}; +import{f as t,ak as s,I as n,J as a,aq as r}from"./@vue/runtime-core-C6bnekPw.js";import{p as _}from"./@vue/shared-mAAVTE9n.js";import{_ as i}from"./index-J_eFER10.js";const c={class:"footer-btns"},p=t({__name:"index",props:{fixed:{type:Boolean,default:!0}},setup(e){return(o,d)=>(s(),n("div",c,[a("div",{class:"footer-btns__content",style:_(e.fixed?"position: fixed":"")},[r(o.$slots,"default",{},void 0,!0)],4)]))}}),u=i(p,[["__scopeId","data-v-0b44b424"]]);export{u as _}; diff --git a/server/public/admin/assets/index-CXKP4IpU.js b/server/public/admin/assets/index-aSZlGdY5.js similarity index 96% rename from server/public/admin/assets/index-CXKP4IpU.js rename to server/public/admin/assets/index-aSZlGdY5.js index 058ecd5e9..8645fb745 100644 --- a/server/public/admin/assets/index-CXKP4IpU.js +++ b/server/public/admin/assets/index-aSZlGdY5.js @@ -1 +1 @@ -import{D as he,B as we,G as Ce,F as Ee,S as Ve,Z as xe,i as Se,K as je,N as Oe,O as De,r as Re,M as We,E as Fe}from"./element-plus-DGP1XOrU.js";import{_ as Ne}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as Te,m as Ye,k as $e,_ as Me}from"./index-fRv3NTFQ.js";import{d as Be,e as Ie}from"./self_input_stats-VfgnRjmU.js";import{d as Pe}from"./department-OHG8LTQz.js";import{u as Ae}from"./usePaging-DofycyjW.js";import{_ as Le}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";import{_ as Ue}from"./yeji-edit.vue_vue_type_script_setup_true_lang-Do3QS6R1.js";import{u as ze}from"./useMediaSourceOptions-B5yhXJl7.js";import{a as Ge}from"./vue-router-QlpZ4wdW.js";import{f as K,b as A,as as qe,ak as i,I as v,a as n,aN as o,O as p,G as c,H as W,J as m,F as L,ap as U,aP as w,A as C,n as z}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as G,q as Ke,n as F,r as q}from"./@vue/reactivity-DiY1c2vO.js";import{Q as g,o as Qe}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const He={class:"self-input-stats-page"},Je={class:"stats-kpi-grid"},Ze={class:"stats-kpi-label"},Xe={class:"card-header"},et={class:"card-header-main"},tt={class:"card-hint"},at={class:"card-header-actions"},ot={class:"dept-cell"},nt={key:1},lt={key:2,class:"text-gray-400"},it={class:"flex justify-end mt-4"},st=K({name:"selfInputStats"}),rt=K({...st,setup(pt){const Q=Ge(),E=Ke(),V=F(!1),u=F([]),S=F([]),{mediaSourceOptions:N,mediaSourceLoading:T,loadMediaSourceOptions:H,refreshMediaSourceOptions:j}=ze(),J={value:"id",label:"name",children:"children"},f=q({date_range:[],summary:{},can_view_finance:!1}),Y=new Set(["account_cost","cash_cost","roi"]),$=C(()=>!!f.can_view_finance),s=q({media_source:"",dept_id:void 0,time_type:"today",start_date:"",end_date:""}),O=C(()=>Ye("stats.personal_account_cost/lists")||""),Z=()=>{O.value&&Q.push(O.value)},X=async t=>{s.time_type==="custom"&&(t.start_date=u.value[0]||"",t.end_date=u.value[1]||"");const e=await Be(t);return Object.assign(f,(e==null?void 0:e.extend)||{}),e},ee=async()=>{try{const t=await Pe({apply_data_scope:1});Array.isArray(t)&&(S.value=t)}catch{S.value=[]}},te=t=>{t&&j()},ae=async()=>{await j(),await _()};A(()=>{ee(),H()});const{pager:d,getLists:oe}=Ae({fetchFun:X,params:s,firstLoading:!0}),M=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"total_open_count",label:"总开口",type:"count"},{key:"unreplied_count",label:"未回复",type:"count"},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"order_amount",label:"订单金额",type:"money"},{key:"account_cost",label:"账户消耗",type:"money"},{key:"total_open_rate",label:"总开口率",type:"percent"},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent"},{key:"open_appointment_rate",label:"开口挂号率",type:"percent"},{key:"interview_rate",label:"面诊率",type:"percent"},{key:"receive_rate",label:"接诊率",type:"percent"},{key:"open_receive_rate",label:"开口接诊率",type:"percent"},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent"},{key:"avg_unit_price",label:"平均单价",type:"money"},{key:"cash_cost",label:"现金成本",type:"money"},{key:"roi",label:"ROI",type:"ratio"}],B=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"total_open_count",label:"总开口",type:"count"},{key:"unreplied_count",label:"未回复",type:"count"},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"appointment_total_count",label:"挂号总数",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"order_amount",label:"订单金额",type:"money",minWidth:110},{key:"account_cost",label:"账户消耗",type:"money",minWidth:110},{key:"total_open_rate",label:"总开口率",type:"percent",minWidth:100},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent",minWidth:110},{key:"open_appointment_rate",label:"开口挂号率",type:"percent",minWidth:110},{key:"interview_rate",label:"面诊率",type:"percent",minWidth:100},{key:"receive_rate",label:"接诊率",type:"percent",minWidth:100},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent",minWidth:120},{key:"open_receive_rate",label:"开口接诊率",type:"percent",minWidth:110},{key:"avg_unit_price",label:"平均单价",type:"money",minWidth:100},{key:"cash_cost",label:"现金成本",type:"money",minWidth:100},{key:"roi",label:"ROI",type:"ratio",minWidth:80}],ne=C(()=>$.value?M:M.filter(t=>!Y.has(t.key))),le=C(()=>$.value?B:B.filter(t=>!Y.has(t.key))),ie=C(()=>{var t;return(t=f.date_range)!=null&&t.length?`${f.date_range[0]} 至 ${f.date_range[1]}`:"未选择"}),_=async()=>{try{await oe()}catch(t){console.error("获取自录转化统计失败:",t),Fe.error((t==null?void 0:t.msg)||"获取统计数据失败")}},se=()=>{s.time_type!=="custom"&&(u.value=[],d.page=1,_())},re=()=>{u.value.length===2&&(d.page=1,_())},D=()=>{d.page=1,_()},pe=()=>{s.media_source="",s.dept_id=void 0,s.time_type="today",u.value=[],d.page=1,d.size=15,_()},I=(t,e,r="count")=>{const b=(e==null?void 0:e[t])??0;return r==="money"?`¥${Number(b||0).toFixed(2)}`:r==="percent"?`${Number(b||0).toFixed(2)}%`:r==="ratio"?Number(b||0).toFixed(2):String(b??0)},de=async()=>{var t;await j(),V.value=!0,await z(),(t=E.value)==null||t.open("add")},me=async t=>{var e,r;V.value=!0,await z(),(e=E.value)==null||e.open("edit"),(r=E.value)==null||r.setFormData(t)},ce=async t=>{await $e.confirm("确定删除该业绩记录?"),await Ie({id:t}),_()};return A(async()=>{await _()}),(t,e)=>{const r=Ee,b=Ce,h=we,ue=Ve,_e=xe,k=Se,ye=he,P=je,fe=Te,y=De,be=Re,ke=Oe,ve=Ne,x=qe("perms"),ge=We;return i(),v("div",He,[n(P,{class:"!border-none",shadow:"never"},{default:o(()=>[n(ye,{inline:!0,model:l(s),class:"stats-filter-form"},{default:o(()=>[n(h,{label:"时间范围"},{default:o(()=>[n(b,{modelValue:l(s).time_type,"onUpdate:modelValue":e[0]||(e[0]=a=>l(s).time_type=a),onChange:se},{default:o(()=>[n(r,{label:"today"},{default:o(()=>[...e[6]||(e[6]=[p("今天",-1)])]),_:1}),n(r,{label:"yesterday"},{default:o(()=>[...e[7]||(e[7]=[p("昨天",-1)])]),_:1}),n(r,{label:"week"},{default:o(()=>[...e[8]||(e[8]=[p("最近7天",-1)])]),_:1}),n(r,{label:"month"},{default:o(()=>[...e[9]||(e[9]=[p("最近30天",-1)])]),_:1}),n(r,{label:"custom"},{default:o(()=>[...e[10]||(e[10]=[p("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(s).time_type==="custom"?(i(),c(h,{key:0},{default:o(()=>[n(ue,{modelValue:l(u),"onUpdate:modelValue":e[1]||(e[1]=a=>G(u)?u.value=a:null),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:re},null,8,["modelValue"])]),_:1})):W("",!0),n(h,{label:"部门"},{default:o(()=>[n(_e,{modelValue:l(s).dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>l(s).dept_id=a),data:l(S),"node-key":"id",props:J,"default-expand-all":!0,"check-strictly":"",placeholder:"全部部门",clearable:"",filterable:"",style:{width:"220px"},onChange:D},null,8,["modelValue","data"])]),_:1}),n(h,{label:"自媒体来源"},{default:o(()=>[n(Le,{modelValue:l(s).media_source,"onUpdate:modelValue":e[3]||(e[3]=a=>l(s).media_source=a),options:l(N),loading:l(T),placeholder:"全部来源","allow-create":!1,"select-style":"width: 220px",onChange:D,onVisibleChange:te},null,8,["modelValue","options","loading"])]),_:1}),n(h,null,{default:o(()=>[n(k,{type:"primary",loading:l(d).loading,onClick:D},{default:o(()=>[...e[11]||(e[11]=[p("查询",-1)])]),_:1},8,["loading"]),n(k,{onClick:pe},{default:o(()=>[...e[12]||(e[12]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),m("div",Je,[(i(!0),v(L,null,U(l(ne),a=>(i(),v("div",{key:a.key,class:"stats-kpi-card"},[m("div",Ze,g(a.label),1),m("div",{class:Qe(["stats-kpi-value",{"is-money":a.type==="money"}])},g(I(a.key,l(f).summary,a.type)),3)]))),128))]),n(P,{class:"!border-none mt-4 stats-detail-card",shadow:"never"},{header:o(()=>[m("div",Xe,[m("div",et,[e[13]||(e[13]=m("span",{class:"card-title"},"业绩明细",-1)),m("span",tt,g(l(ie)),1)]),m("div",at,[w((i(),c(k,{type:"primary",onClick:de},{icon:o(()=>[n(fe,{name:"el-icon-Plus"})]),default:o(()=>[e[14]||(e[14]=p(" 新增业绩 ",-1))]),_:1})),[[x,["stats.personal_yeji/add"]]]),l(O)?w((i(),c(k,{key:0,onClick:Z},{default:o(()=>[...e[15]||(e[15]=[p(" 账户消耗录入 ",-1)])]),_:1})),[[x,["stats.personal_account_cost/lists"]]]):W("",!0)])])]),default:o(()=>[w((i(),c(ke,{data:l(d).lists,border:"",size:"large","max-height":"640"},{default:o(()=>[n(y,{label:"日期",prop:"yeji_date","min-width":"110",fixed:"left"}),n(y,{label:"自媒体来源",prop:"media_source","min-width":"140","show-overflow-tooltip":""}),n(y,{label:"录入人",prop:"creator_name","min-width":"100"}),n(y,{label:"部门",prop:"dept_name","min-width":"140"},{default:o(({row:a})=>[a.dept_path?(i(),c(be,{key:0,content:a.dept_path,placement:"top",effect:"dark"},{default:o(()=>[m("span",ot,g(a.dept_name||"未分配"),1)]),_:2},1032,["content"])):a.dept_name?(i(),v("span",nt,g(a.dept_name),1)):(i(),v("span",lt,"未分配"))]),_:1}),(i(!0),v(L,null,U(l(le),a=>(i(),c(y,{key:a.key,label:a.label,"min-width":a.minWidth||100,align:"right"},{default:o(({row:R})=>[p(g(I(a.key,R,a.type)),1)]),_:2},1032,["label","min-width"]))),128)),n(y,{label:"备注",prop:"remark","min-width":"160","show-overflow-tooltip":""}),n(y,{label:"操作",width:"140",fixed:"right"},{default:o(({row:a})=>[w((i(),c(k,{type:"primary",link:"",onClick:R=>me(a)},{default:o(()=>[...e[16]||(e[16]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[x,["stats.personal_yeji/edit"]]]),w((i(),c(k,{type:"danger",link:"",onClick:R=>ce(a.id)},{default:o(()=>[...e[17]||(e[17]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[x,["stats.personal_yeji/delete"]]])]),_:1})]),_:1},8,["data"])),[[ge,l(d).loading]]),m("div",it,[n(ve,{modelValue:l(d),"onUpdate:modelValue":e[4]||(e[4]=a=>G(d)?d.value=a:null),onChange:_},null,8,["modelValue"])])]),_:1}),l(V)?(i(),c(Ue,{key:0,ref_key:"yejiEditRef",ref:E,"media-source-options":l(N),"media-source-loading":l(T),onSuccess:ae,onClose:e[5]||(e[5]=a=>V.value=!1)},null,8,["media-source-options","media-source-loading"])):W("",!0)])}}}),ta=Me(rt,[["__scopeId","data-v-2bc87824"]]);export{ta as default}; +import{D as he,B as we,G as Ce,F as Ee,S as Ve,Z as xe,i as Se,K as je,N as Oe,O as De,r as Re,M as We,E as Fe}from"./element-plus-DGP1XOrU.js";import{_ as Ne}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as Te,m as Ye,k as $e,_ as Me}from"./index-J_eFER10.js";import{d as Be,e as Ie}from"./self_input_stats-BfVTp8QE.js";import{d as Pe}from"./department-DdhKHNS-.js";import{u as Ae}from"./usePaging-DofycyjW.js";import{_ as Le}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";import{_ as Ue}from"./yeji-edit.vue_vue_type_script_setup_true_lang-D8Hjw379.js";import{u as ze}from"./useMediaSourceOptions-Ct8BjvKG.js";import{a as Ge}from"./vue-router-QlpZ4wdW.js";import{f as K,b as A,as as qe,ak as i,I as v,a as n,aN as o,O as p,G as c,H as W,J as m,F as L,ap as U,aP as w,A as C,n as z}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as G,q as Ke,n as F,r as q}from"./@vue/reactivity-DiY1c2vO.js";import{Q as g,o as Qe}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const He={class:"self-input-stats-page"},Je={class:"stats-kpi-grid"},Ze={class:"stats-kpi-label"},Xe={class:"card-header"},et={class:"card-header-main"},tt={class:"card-hint"},at={class:"card-header-actions"},ot={class:"dept-cell"},nt={key:1},lt={key:2,class:"text-gray-400"},it={class:"flex justify-end mt-4"},st=K({name:"selfInputStats"}),rt=K({...st,setup(pt){const Q=Ge(),E=Ke(),V=F(!1),u=F([]),S=F([]),{mediaSourceOptions:N,mediaSourceLoading:T,loadMediaSourceOptions:H,refreshMediaSourceOptions:j}=ze(),J={value:"id",label:"name",children:"children"},f=q({date_range:[],summary:{},can_view_finance:!1}),Y=new Set(["account_cost","cash_cost","roi"]),$=C(()=>!!f.can_view_finance),s=q({media_source:"",dept_id:void 0,time_type:"today",start_date:"",end_date:""}),O=C(()=>Ye("stats.personal_account_cost/lists")||""),Z=()=>{O.value&&Q.push(O.value)},X=async t=>{s.time_type==="custom"&&(t.start_date=u.value[0]||"",t.end_date=u.value[1]||"");const e=await Be(t);return Object.assign(f,(e==null?void 0:e.extend)||{}),e},ee=async()=>{try{const t=await Pe({apply_data_scope:1});Array.isArray(t)&&(S.value=t)}catch{S.value=[]}},te=t=>{t&&j()},ae=async()=>{await j(),await _()};A(()=>{ee(),H()});const{pager:d,getLists:oe}=Ae({fetchFun:X,params:s,firstLoading:!0}),M=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"total_open_count",label:"总开口",type:"count"},{key:"unreplied_count",label:"未回复",type:"count"},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"order_amount",label:"订单金额",type:"money"},{key:"account_cost",label:"账户消耗",type:"money"},{key:"total_open_rate",label:"总开口率",type:"percent"},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent"},{key:"open_appointment_rate",label:"开口挂号率",type:"percent"},{key:"interview_rate",label:"面诊率",type:"percent"},{key:"receive_rate",label:"接诊率",type:"percent"},{key:"open_receive_rate",label:"开口接诊率",type:"percent"},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent"},{key:"avg_unit_price",label:"平均单价",type:"money"},{key:"cash_cost",label:"现金成本",type:"money"},{key:"roi",label:"ROI",type:"ratio"}],B=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"total_open_count",label:"总开口",type:"count"},{key:"unreplied_count",label:"未回复",type:"count"},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"appointment_total_count",label:"挂号总数",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"order_amount",label:"订单金额",type:"money",minWidth:110},{key:"account_cost",label:"账户消耗",type:"money",minWidth:110},{key:"total_open_rate",label:"总开口率",type:"percent",minWidth:100},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent",minWidth:110},{key:"open_appointment_rate",label:"开口挂号率",type:"percent",minWidth:110},{key:"interview_rate",label:"面诊率",type:"percent",minWidth:100},{key:"receive_rate",label:"接诊率",type:"percent",minWidth:100},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent",minWidth:120},{key:"open_receive_rate",label:"开口接诊率",type:"percent",minWidth:110},{key:"avg_unit_price",label:"平均单价",type:"money",minWidth:100},{key:"cash_cost",label:"现金成本",type:"money",minWidth:100},{key:"roi",label:"ROI",type:"ratio",minWidth:80}],ne=C(()=>$.value?M:M.filter(t=>!Y.has(t.key))),le=C(()=>$.value?B:B.filter(t=>!Y.has(t.key))),ie=C(()=>{var t;return(t=f.date_range)!=null&&t.length?`${f.date_range[0]} 至 ${f.date_range[1]}`:"未选择"}),_=async()=>{try{await oe()}catch(t){console.error("获取自录转化统计失败:",t),Fe.error((t==null?void 0:t.msg)||"获取统计数据失败")}},se=()=>{s.time_type!=="custom"&&(u.value=[],d.page=1,_())},re=()=>{u.value.length===2&&(d.page=1,_())},D=()=>{d.page=1,_()},pe=()=>{s.media_source="",s.dept_id=void 0,s.time_type="today",u.value=[],d.page=1,d.size=15,_()},I=(t,e,r="count")=>{const b=(e==null?void 0:e[t])??0;return r==="money"?`¥${Number(b||0).toFixed(2)}`:r==="percent"?`${Number(b||0).toFixed(2)}%`:r==="ratio"?Number(b||0).toFixed(2):String(b??0)},de=async()=>{var t;await j(),V.value=!0,await z(),(t=E.value)==null||t.open("add")},me=async t=>{var e,r;V.value=!0,await z(),(e=E.value)==null||e.open("edit"),(r=E.value)==null||r.setFormData(t)},ce=async t=>{await $e.confirm("确定删除该业绩记录?"),await Ie({id:t}),_()};return A(async()=>{await _()}),(t,e)=>{const r=Ee,b=Ce,h=we,ue=Ve,_e=xe,k=Se,ye=he,P=je,fe=Te,y=De,be=Re,ke=Oe,ve=Ne,x=qe("perms"),ge=We;return i(),v("div",He,[n(P,{class:"!border-none",shadow:"never"},{default:o(()=>[n(ye,{inline:!0,model:l(s),class:"stats-filter-form"},{default:o(()=>[n(h,{label:"时间范围"},{default:o(()=>[n(b,{modelValue:l(s).time_type,"onUpdate:modelValue":e[0]||(e[0]=a=>l(s).time_type=a),onChange:se},{default:o(()=>[n(r,{label:"today"},{default:o(()=>[...e[6]||(e[6]=[p("今天",-1)])]),_:1}),n(r,{label:"yesterday"},{default:o(()=>[...e[7]||(e[7]=[p("昨天",-1)])]),_:1}),n(r,{label:"week"},{default:o(()=>[...e[8]||(e[8]=[p("最近7天",-1)])]),_:1}),n(r,{label:"month"},{default:o(()=>[...e[9]||(e[9]=[p("最近30天",-1)])]),_:1}),n(r,{label:"custom"},{default:o(()=>[...e[10]||(e[10]=[p("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(s).time_type==="custom"?(i(),c(h,{key:0},{default:o(()=>[n(ue,{modelValue:l(u),"onUpdate:modelValue":e[1]||(e[1]=a=>G(u)?u.value=a:null),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:re},null,8,["modelValue"])]),_:1})):W("",!0),n(h,{label:"部门"},{default:o(()=>[n(_e,{modelValue:l(s).dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>l(s).dept_id=a),data:l(S),"node-key":"id",props:J,"default-expand-all":!0,"check-strictly":"",placeholder:"全部部门",clearable:"",filterable:"",style:{width:"220px"},onChange:D},null,8,["modelValue","data"])]),_:1}),n(h,{label:"自媒体来源"},{default:o(()=>[n(Le,{modelValue:l(s).media_source,"onUpdate:modelValue":e[3]||(e[3]=a=>l(s).media_source=a),options:l(N),loading:l(T),placeholder:"全部来源","allow-create":!1,"select-style":"width: 220px",onChange:D,onVisibleChange:te},null,8,["modelValue","options","loading"])]),_:1}),n(h,null,{default:o(()=>[n(k,{type:"primary",loading:l(d).loading,onClick:D},{default:o(()=>[...e[11]||(e[11]=[p("查询",-1)])]),_:1},8,["loading"]),n(k,{onClick:pe},{default:o(()=>[...e[12]||(e[12]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),m("div",Je,[(i(!0),v(L,null,U(l(ne),a=>(i(),v("div",{key:a.key,class:"stats-kpi-card"},[m("div",Ze,g(a.label),1),m("div",{class:Qe(["stats-kpi-value",{"is-money":a.type==="money"}])},g(I(a.key,l(f).summary,a.type)),3)]))),128))]),n(P,{class:"!border-none mt-4 stats-detail-card",shadow:"never"},{header:o(()=>[m("div",Xe,[m("div",et,[e[13]||(e[13]=m("span",{class:"card-title"},"业绩明细",-1)),m("span",tt,g(l(ie)),1)]),m("div",at,[w((i(),c(k,{type:"primary",onClick:de},{icon:o(()=>[n(fe,{name:"el-icon-Plus"})]),default:o(()=>[e[14]||(e[14]=p(" 新增业绩 ",-1))]),_:1})),[[x,["stats.personal_yeji/add"]]]),l(O)?w((i(),c(k,{key:0,onClick:Z},{default:o(()=>[...e[15]||(e[15]=[p(" 账户消耗录入 ",-1)])]),_:1})),[[x,["stats.personal_account_cost/lists"]]]):W("",!0)])])]),default:o(()=>[w((i(),c(ke,{data:l(d).lists,border:"",size:"large","max-height":"640"},{default:o(()=>[n(y,{label:"日期",prop:"yeji_date","min-width":"110",fixed:"left"}),n(y,{label:"自媒体来源",prop:"media_source","min-width":"140","show-overflow-tooltip":""}),n(y,{label:"录入人",prop:"creator_name","min-width":"100"}),n(y,{label:"部门",prop:"dept_name","min-width":"140"},{default:o(({row:a})=>[a.dept_path?(i(),c(be,{key:0,content:a.dept_path,placement:"top",effect:"dark"},{default:o(()=>[m("span",ot,g(a.dept_name||"未分配"),1)]),_:2},1032,["content"])):a.dept_name?(i(),v("span",nt,g(a.dept_name),1)):(i(),v("span",lt,"未分配"))]),_:1}),(i(!0),v(L,null,U(l(le),a=>(i(),c(y,{key:a.key,label:a.label,"min-width":a.minWidth||100,align:"right"},{default:o(({row:R})=>[p(g(I(a.key,R,a.type)),1)]),_:2},1032,["label","min-width"]))),128)),n(y,{label:"备注",prop:"remark","min-width":"160","show-overflow-tooltip":""}),n(y,{label:"操作",width:"140",fixed:"right"},{default:o(({row:a})=>[w((i(),c(k,{type:"primary",link:"",onClick:R=>me(a)},{default:o(()=>[...e[16]||(e[16]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[x,["stats.personal_yeji/edit"]]]),w((i(),c(k,{type:"danger",link:"",onClick:R=>ce(a.id)},{default:o(()=>[...e[17]||(e[17]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[x,["stats.personal_yeji/delete"]]])]),_:1})]),_:1},8,["data"])),[[ge,l(d).loading]]),m("div",it,[n(ve,{modelValue:l(d),"onUpdate:modelValue":e[4]||(e[4]=a=>G(d)?d.value=a:null),onChange:_},null,8,["modelValue"])])]),_:1}),l(V)?(i(),c(Ue,{key:0,ref_key:"yejiEditRef",ref:E,"media-source-options":l(N),"media-source-loading":l(T),onSuccess:ae,onClose:e[5]||(e[5]=a=>V.value=!1)},null,8,["media-source-options","media-source-loading"])):W("",!0)])}}}),ta=Me(rt,[["__scopeId","data-v-2bc87824"]]);export{ta as default}; diff --git a/server/public/admin/assets/index-CDzfJx8p.js b/server/public/admin/assets/index-cqZKn1MG.js similarity index 94% rename from server/public/admin/assets/index-CDzfJx8p.js rename to server/public/admin/assets/index-cqZKn1MG.js index 99069ef9e..ba5f7e875 100644 --- a/server/public/admin/assets/index-CDzfJx8p.js +++ b/server/public/admin/assets/index-cqZKn1MG.js @@ -1 +1 @@ -import{D as A,B as G,C as H,Q as J,R as M,i as Q,K as W,N as X,O as Y,U as Z,M as ee}from"./element-plus-DGP1XOrU.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as oe,m as le,k as ae}from"./index-fRv3NTFQ.js";import{w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{f as ne,i as ie}from"./dict-CCNMoFEY.js";import{u as se}from"./usePaging-DofycyjW.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-JR5eebf3.js";import{f as K,ar as me,as as de,ak as n,I as R,a as t,aN as o,O as s,J as V,aP as u,G as d,H as pe,n as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as ue,q as ce,n as B,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const fe={class:"dict-type"},ye={class:"mt-4"},ve={class:"flex justify-end mt-4"},ge=K({name:"dictType"}),rt=K({...ge,setup(ke){const y=ce(),v=B(!1),r=_e({name:"",type:"",status:""}),{pager:c,getLists:g,resetPage:b,resetParams:N}=se({fetchFun:ne,params:r}),C=B([]),S=i=>{C.value=i.map(({id:e})=>e)},U=async()=>{var i;v.value=!0,await $(),(i=y.value)==null||i.open("add")},F=async i=>{var e,_;v.value=!0,await $(),(e=y.value)==null||e.open("edit"),(_=y.value)==null||_.setFormData(i)},E=async i=>{await ae.confirm("确定要删除?"),await ie({id:i}),g()};return g(),(i,e)=>{const _=H,k=G,w=M,I=J,p=Q,q=A,x=W,D=oe,m=Y,T=Z,L=me("router-link"),O=X,h=te,f=de("perms"),j=ee;return n(),R("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:o(()=>[t(q,{ref:"formRef",class:"mb-[-16px]",model:l(r),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"字典名称"},{default:o(()=>[t(_,{modelValue:l(r).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(r).name=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"字典类型"},{default:o(()=>[t(_,{modelValue:l(r).type,"onUpdate:modelValue":e[1]||(e[1]=a=>l(r).type=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"状态"},{default:o(()=>[t(I,{modelValue:l(r).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(r).status=a)},{default:o(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(k,null,{default:o(()=>[t(p,{type:"primary",onClick:l(b)},{default:o(()=>[...e[6]||(e[6]=[s("查询",-1)])]),_:1},8,["onClick"]),t(p,{onClick:l(N)},{default:o(()=>[...e[7]||(e[7]=[s("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[V("div",null,[u((n(),d(p,{type:"primary",onClick:U},{icon:o(()=>[t(D,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=s(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),u((n(),d(p,{disabled:!l(C).length,type:"danger",onClick:e[3]||(e[3]=a=>E(l(C)))},{icon:o(()=>[t(D,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=s(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),u((n(),R("div",ye,[V("div",null,[t(O,{data:l(c).lists,size:"large",onSelectionChange:S},{default:o(()=>[t(m,{type:"selection",width:"55"}),t(m,{label:"ID",prop:"id"}),t(m,{label:"字典名称",prop:"name","min-width":"120"}),t(m,{label:"字典类型",prop:"type","min-width":"120"}),t(m,{label:"状态"},{default:o(({row:a})=>[a.status==1?(n(),d(T,{key:0},{default:o(()=>[...e[10]||(e[10]=[s("正常",-1)])]),_:1})):(n(),d(T,{key:1,type:"danger"},{default:o(()=>[...e[11]||(e[11]=[s("停用",-1)])]),_:1}))]),_:1}),t(m,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(m,{label:"创建时间",prop:"create_time","min-width":"180"}),t(m,{label:"操作",width:"190",fixed:"right"},{default:o(({row:a})=>[u((n(),d(p,{link:"",type:"primary",onClick:z=>F(a)},{default:o(()=>[...e[12]||(e[12]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),u((n(),d(p,{type:"primary",link:""},{default:o(()=>[t(L,{to:{path:l(le)("setting.dict.dict_data/lists"),query:{id:a.id}}},{default:o(()=>[...e[13]||(e[13]=[s(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),u((n(),d(p,{link:"",type:"danger",onClick:z=>E(a.id)},{default:o(()=>[...e[14]||(e[14]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ve,[t(h,{modelValue:l(c),"onUpdate:modelValue":e[4]||(e[4]=a=>ue(c)?c.value=a:null),onChange:l(g)},null,8,["modelValue","onChange"])])])),[[j,l(c).loading]])]),_:1}),l(v)?(n(),d(re,{key:0,ref_key:"editRef",ref:y,onSuccess:l(g),onClose:e[5]||(e[5]=a=>v.value=!1)},null,8,["onSuccess"])):pe("",!0)])}}});export{rt as default}; +import{D as A,B as G,C as H,Q as J,R as M,i as Q,K as W,N as X,O as Y,U as Z,M as ee}from"./element-plus-DGP1XOrU.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as oe,m as le,k as ae}from"./index-J_eFER10.js";import{w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{f as ne,i as ie}from"./dict-19er6a3L.js";import{u as se}from"./usePaging-DofycyjW.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-Dog1IeKU.js";import{f as K,ar as me,as as de,ak as n,I as R,a as t,aN as o,O as s,J as V,aP as u,G as d,H as pe,n as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as ue,q as ce,n as B,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const fe={class:"dict-type"},ye={class:"mt-4"},ve={class:"flex justify-end mt-4"},ge=K({name:"dictType"}),rt=K({...ge,setup(ke){const y=ce(),v=B(!1),r=_e({name:"",type:"",status:""}),{pager:c,getLists:g,resetPage:b,resetParams:N}=se({fetchFun:ne,params:r}),C=B([]),S=i=>{C.value=i.map(({id:e})=>e)},U=async()=>{var i;v.value=!0,await $(),(i=y.value)==null||i.open("add")},F=async i=>{var e,_;v.value=!0,await $(),(e=y.value)==null||e.open("edit"),(_=y.value)==null||_.setFormData(i)},E=async i=>{await ae.confirm("确定要删除?"),await ie({id:i}),g()};return g(),(i,e)=>{const _=H,k=G,w=M,I=J,p=Q,q=A,x=W,D=oe,m=Y,T=Z,L=me("router-link"),O=X,h=te,f=de("perms"),j=ee;return n(),R("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:o(()=>[t(q,{ref:"formRef",class:"mb-[-16px]",model:l(r),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"字典名称"},{default:o(()=>[t(_,{modelValue:l(r).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(r).name=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"字典类型"},{default:o(()=>[t(_,{modelValue:l(r).type,"onUpdate:modelValue":e[1]||(e[1]=a=>l(r).type=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"状态"},{default:o(()=>[t(I,{modelValue:l(r).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(r).status=a)},{default:o(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(k,null,{default:o(()=>[t(p,{type:"primary",onClick:l(b)},{default:o(()=>[...e[6]||(e[6]=[s("查询",-1)])]),_:1},8,["onClick"]),t(p,{onClick:l(N)},{default:o(()=>[...e[7]||(e[7]=[s("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[V("div",null,[u((n(),d(p,{type:"primary",onClick:U},{icon:o(()=>[t(D,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=s(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),u((n(),d(p,{disabled:!l(C).length,type:"danger",onClick:e[3]||(e[3]=a=>E(l(C)))},{icon:o(()=>[t(D,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=s(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),u((n(),R("div",ye,[V("div",null,[t(O,{data:l(c).lists,size:"large",onSelectionChange:S},{default:o(()=>[t(m,{type:"selection",width:"55"}),t(m,{label:"ID",prop:"id"}),t(m,{label:"字典名称",prop:"name","min-width":"120"}),t(m,{label:"字典类型",prop:"type","min-width":"120"}),t(m,{label:"状态"},{default:o(({row:a})=>[a.status==1?(n(),d(T,{key:0},{default:o(()=>[...e[10]||(e[10]=[s("正常",-1)])]),_:1})):(n(),d(T,{key:1,type:"danger"},{default:o(()=>[...e[11]||(e[11]=[s("停用",-1)])]),_:1}))]),_:1}),t(m,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(m,{label:"创建时间",prop:"create_time","min-width":"180"}),t(m,{label:"操作",width:"190",fixed:"right"},{default:o(({row:a})=>[u((n(),d(p,{link:"",type:"primary",onClick:z=>F(a)},{default:o(()=>[...e[12]||(e[12]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),u((n(),d(p,{type:"primary",link:""},{default:o(()=>[t(L,{to:{path:l(le)("setting.dict.dict_data/lists"),query:{id:a.id}}},{default:o(()=>[...e[13]||(e[13]=[s(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),u((n(),d(p,{link:"",type:"danger",onClick:z=>E(a.id)},{default:o(()=>[...e[14]||(e[14]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ve,[t(h,{modelValue:l(c),"onUpdate:modelValue":e[4]||(e[4]=a=>ue(c)?c.value=a:null),onChange:l(g)},null,8,["modelValue","onChange"])])])),[[j,l(c).loading]])]),_:1}),l(v)?(n(),d(re,{key:0,ref_key:"editRef",ref:y,onSuccess:l(g),onClose:e[5]||(e[5]=a=>v.value=!1)},null,8,["onSuccess"])):pe("",!0)])}}});export{rt as default}; diff --git a/server/public/admin/assets/index-Q5Ek1In8.js b/server/public/admin/assets/index-ex2TBIDl.js similarity index 94% rename from server/public/admin/assets/index-Q5Ek1In8.js rename to server/public/admin/assets/index-ex2TBIDl.js index 6b0072592..9e4a80670 100644 --- a/server/public/admin/assets/index-Q5Ek1In8.js +++ b/server/public/admin/assets/index-ex2TBIDl.js @@ -1 +1 @@ -import{L as A,K as F,m as V,l as B,N as M,O,U,i as z,M as D}from"./element-plus-DGP1XOrU.js";import{a as N}from"./message-DOlfHejJ.js";import{u as S}from"./usePaging-DofycyjW.js";import{m as q}from"./index-fRv3NTFQ.js";import{f as y,ac as G,ar as I,as as K,ak as n,I as g,a as t,aN as e,F as j,ap as H,aP as v,G as p,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as J,n as Q,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const X=y({name:"notice"}),zt=y({...X,setup(Y){let d;(r=>{r[r.USER=1]="USER",r[r.PLATFORM=2]="PLATFORM"})(d||(d={}));const s=Q(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],w=W({recipient:s}),{pager:u,getLists:_}=S({fetchFun:N,params:w});return G(()=>{_()}),_(),(r,o)=>{const T=A,f=F,E=B,h=V,l=O,b=U,C=I("router-link"),L=z,P=M,R=K("perms"),x=D;return n(),g("div",null,[t(f,{class:"!border-none",shadow:"never"},{default:e(()=>[t(T,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),t(f,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[t(h,{modelValue:i(s),"onUpdate:modelValue":o[0]||(o[0]=a=>J(s)?s.value=a:null),onTabChange:i(_)},{default:e(()=>[(n(),g(j,null,H(k,(a,m)=>t(E,{key:m,label:a.name,name:a.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((n(),p(P,{size:"large",data:i(u).lists},{default:e(()=>[t(l,{label:"通知场景",prop:"scene_name","min-width":"120"}),t(l,{label:"通知类型",prop:"type_desc","min-width":"160"}),t(l,{label:"短信通知","min-width":"80"},{default:e(({row:a})=>{var m;return[((m=a.sms_notice)==null?void 0:m.status)==1?(n(),p(b,{key:0},{default:e(()=>[...o[1]||(o[1]=[c("开启",-1)])]),_:1})):(n(),p(b,{key:1,type:"danger"},{default:e(()=>[...o[2]||(o[2]=[c("关闭",-1)])]),_:1}))]}),_:1}),t(l,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[v((n(),p(L,{type:"primary",link:""},{default:e(()=>[t(C,{to:{path:i(q)("notice.notice/set"),query:{id:a.id}}},{default:e(()=>[...o[3]||(o[3]=[c(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[x,i(u).loading]])]),_:1})])}}});export{zt as default}; +import{L as A,K as F,m as V,l as B,N as M,O,U,i as z,M as D}from"./element-plus-DGP1XOrU.js";import{a as N}from"./message-BwLlJSkW.js";import{u as S}from"./usePaging-DofycyjW.js";import{m as q}from"./index-J_eFER10.js";import{f as y,ac as G,ar as I,as as K,ak as n,I as g,a as t,aN as e,F as j,ap as H,aP as v,G as p,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as J,n as Q,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const X=y({name:"notice"}),zt=y({...X,setup(Y){let d;(r=>{r[r.USER=1]="USER",r[r.PLATFORM=2]="PLATFORM"})(d||(d={}));const s=Q(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],w=W({recipient:s}),{pager:u,getLists:_}=S({fetchFun:N,params:w});return G(()=>{_()}),_(),(r,o)=>{const T=A,f=F,E=B,h=V,l=O,b=U,C=I("router-link"),L=z,P=M,R=K("perms"),x=D;return n(),g("div",null,[t(f,{class:"!border-none",shadow:"never"},{default:e(()=>[t(T,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),t(f,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[t(h,{modelValue:i(s),"onUpdate:modelValue":o[0]||(o[0]=a=>J(s)?s.value=a:null),onTabChange:i(_)},{default:e(()=>[(n(),g(j,null,H(k,(a,m)=>t(E,{key:m,label:a.name,name:a.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((n(),p(P,{size:"large",data:i(u).lists},{default:e(()=>[t(l,{label:"通知场景",prop:"scene_name","min-width":"120"}),t(l,{label:"通知类型",prop:"type_desc","min-width":"160"}),t(l,{label:"短信通知","min-width":"80"},{default:e(({row:a})=>{var m;return[((m=a.sms_notice)==null?void 0:m.status)==1?(n(),p(b,{key:0},{default:e(()=>[...o[1]||(o[1]=[c("开启",-1)])]),_:1})):(n(),p(b,{key:1,type:"danger"},{default:e(()=>[...o[2]||(o[2]=[c("关闭",-1)])]),_:1}))]}),_:1}),t(l,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[v((n(),p(L,{type:"primary",link:""},{default:e(()=>[t(C,{to:{path:i(q)("notice.notice/set"),query:{id:a.id}}},{default:e(()=>[...o[3]||(o[3]=[c(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[x,i(u).loading]])]),_:1})])}}});export{zt as default}; diff --git a/server/public/admin/assets/index-BqygYdeI.js b/server/public/admin/assets/index-kLHJyqVF.js similarity index 94% rename from server/public/admin/assets/index-BqygYdeI.js rename to server/public/admin/assets/index-kLHJyqVF.js index 7de53bf17..52cdcf1e5 100644 --- a/server/public/admin/assets/index-BqygYdeI.js +++ b/server/public/admin/assets/index-kLHJyqVF.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-BzY4w_V9.js","assets/appointment-aTSV_XED.js","assets/first_visit-BYIyH6Y1.js","assets/appointment-JDceTxKO.css","assets/AssistantWatchCallDialog-BLaY2Gyh.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); -import{_ as he}from"./jspdf-BsthCvR5.js";import{C as Da,i as wa,d as Ea,Q as Aa,R as Ra,K as Ia,N as Na,O as $a,U as Sa,r as za,p as Ta,n as Pa,o as La,M as Wa,W as Fa,D as Oa,B as Ua,H as qa,h as Ma,a6 as Qa,a7 as Ya,I as Ba,v as Ha,e as Ka}from"./element-plus-DGP1XOrU.js";import{_ as ja}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as Ga,q as Xa}from"./@vue/runtime-dom-DDAG46FW.js";import{aw as be,n as Ja,X as Za,ax as lt,az as en,W as st,aA as it,aB as tn,aC as an,aD as nn,aE as ln}from"./tcm-CEIBuAeK.js";import{d as sn}from"./department-OHG8LTQz.js";import{i as on}from"./order-L3Ma3_1N.js";import{m as dn}from"./doctor-BVLBwYIX.js";import{u as rn}from"./usePaging-DofycyjW.js";import{u as un,o as ot,k as v,_ as mn}from"./index-fRv3NTFQ.js";import{g as dt}from"./weapp-B8uox-3Q.js";import{h as B}from"./perm-CTlz8z1G.js";import{e as rt,Z as pn,P as ut,b as cn,G as _n,H as fn,l as vn}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as gn}from"./vue-router-QlpZ4wdW.js";import{d as mt}from"./dayjs-DG77mNTn.js";import{f as pt,w as yn,b as hn,d as bn,as as kn,ak as i,I as u,a as l,aN as s,J as r,F as D,ap as I,O as m,H as h,aP as q,G as g,P as ke,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{o as ie,Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as M,r as Pe,n as p}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Cn={class:"tcm-diagnosis"},Vn={class:"filter-main"},xn={class:"date-chips"},Dn=["onClick"],wn={key:0},En={class:"search-row"},An={class:"filter-chips"},Rn=["onClick"],In=["onClick"],Nn={class:"filter-more"},$n={class:"list-header"},Sn={class:"list-actions"},zn={key:0,class:"list-selected"},Tn={class:"table-wrap px-4"},Pn={class:"patient-cell"},Ln={class:"patient-info"},Wn={class:"patient-name"},Fn={class:"patient-cell"},On={class:"patient-info"},Un={class:"patient-name"},qn={class:"apt-badge"},Mn={class:"apt-doctor"},Qn={class:"apt-time"},Yn={key:1,class:"apt-none"},Bn={key:0,class:"status-confirmed"},Hn={key:1,class:"status-unconfirmed"},Kn={key:0,class:"followup-cell"},jn={class:"followup-time"},Gn={class:"followup-doctor"},Xn={key:0,class:"followup-count"},Jn={key:1,class:"followup-none"},Zn={class:"assistant-cell"},el={class:"assistant-name"},tl={key:0,class:"assistant-dept"},al={key:0,class:"prescription-status-cell"},nl={class:"prescription-times"},ll={key:1,class:"status-unprescribed"},sl={class:"video-watch-col"},il={class:"video-watch-trigger"},ol={key:1,class:"video-watch-muted"},dl={key:1,class:"video-watch-muted"},rl={class:"action-cell"},ul={class:"pagination-wrap"},ml={class:"flex flex-col items-center justify-center py-4"},pl={key:0,class:"text-center"},cl={key:1,class:"text-center"},_l=["src"],fl={class:"mt-4 text-sm text-gray-600"},vl={class:"mt-2"},gl={key:2,class:"text-center text-gray-500"},yl={class:"text-gray-500"},hl={class:"text-gray-500"},bl={class:"font-medium"},kl={class:"font-medium"},Cl={key:0,class:"mb-4"},Vl={key:0},xl={key:0,class:"mt-2"},Dl={key:1,class:"mt-2"},wl={class:"mb-4"},El={class:"flex gap-2"},Al={key:0,class:"text-center text-gray-400 py-10"},Rl={key:1,class:"record-list"},Il={class:"record-header"},Nl={class:"flex items-center gap-2"},$l={class:"font-medium text-sm"},Sl={class:"flex items-center gap-2"},zl={class:"text-xs text-gray-400"},Tl={class:"record-content"},Pl={key:0,class:"mt-1"},Ll={key:2,class:"text-center mt-4"},Wl=pt({name:"tcmDiagnosis"}),Fl=pt({...Wl,setup(Ol){const ct=ke(()=>he(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),_t=ke(()=>he(()=>import("./detail-BzY4w_V9.js"),__vite__mapDeps([104,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),ft=ke(()=>he(()=>import("./appointment-aTSV_XED.js"),__vite__mapDeps([105,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,106,107]))),vt=ke(()=>he(()=>import("./AssistantWatchCallDialog-BLaY2Gyh.js"),__vite__mapDeps([108,1,2,3,4,5,6,7,8,9,10,11,12,13,14,109,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,110]))),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return mt(e).format("YYYY-MM-DD HH:mm:ss")},Le={only_has_prescription:"1"},_=Pe({patient_name:"",diagnosis_type:"",syndrome_type:"",assistant_dept_id:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",...Le}),yt=p("all"),Z=p(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],bt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=t=>{_.has_appointment=t,w.page=1,b(),S()},Ct=t=>{_.diagnosis_confirmed=t,w.page=1,b(),S()},ee=()=>{w.page=1,b(),S()},Vt=J(()=>[{label:"当天挂号",value:de.value},{label:"明天挂号",value:xe.value},{label:"后天挂号",value:De.value},{label:"全部",value:""}]),Ce=p({}),xt=async t=>{_.appointment_date=t,w.page=1,await b(),S()},Ve=t=>({...Le,patient_name:_.patient_name,diagnosis_type:_.diagnosis_type,syndrome_type:_.syndrome_type,diagnosis_confirmed:_.diagnosis_confirmed,has_appointment:_.has_appointment,assistant_dept_id:_.assistant_dept_id,assistant_id:_.assistant_id,appointment_date:t,page_no:1,page_size:1}),S=async()=>{try{const[t,e,d]=await Promise.all([be(Ve(de.value)),be(Ve(xe.value)),be(Ve(De.value))]);Ce.value={[de.value]:(t==null?void 0:t.count)??0,[xe.value]:(e==null?void 0:e.count)??0,[De.value]:(d==null?void 0:d.count)??0}}catch(t){console.error("获取日期数量失败",t)}};function Dt(){const t=()=>S();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const wt=1e4;let oe=null;function Et(){typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),S())}const H=t=>String(t).padStart(2,"0"),de=J(()=>{const t=new Date;return`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),xe=J(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),De=J(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),We=p([]),Fe=p([]),P=p([]),Oe=p([]);function Ue(t,e="",d=[]){for(const o of t||[]){if(o==null)continue;const V=Number(o.id);if(!Number.isFinite(V))continue;const k=e?`${e} / ${o.name}`:String(o.name??"");d.push({id:V,label:k}),Array.isArray(o.children)&&o.children.length&&Ue(o.children,k,d)}return d}const qe=J(()=>{const t=_.assistant_dept_id;if(t===""||t==null)return P.value;const e=Number(t);return Number.isFinite(e)?P.value.filter(d=>{const o=d.dept_ids;return!Array.isArray(o)||o.length===0?!1:o.map(Number).includes(e)}):P.value}),At=()=>{const t=_.assistant_id;if(t!==""&&t!=null){const e=Number(t);qe.value.some(o=>Number(o.id)===e)||(_.assistant_id="")}w.page=1,b(),S()},Rt=async()=>{try{const[t,e,d,o]=await Promise.all([ot({type:"diagnosis_type"}),ot({type:"syndrome_type"}),Ja(),sn()]);We.value=(t==null?void 0:t.diagnosis_type)||[],Fe.value=(e==null?void 0:e.syndrome_type)||[],P.value=d||[],Oe.value=Ue(Array.isArray(o)?o:[])}catch(t){console.error("获取字典数据失败:",t)}},Me=t=>{if(t!==0&&!t)return null;const e=typeof t=="string"?parseInt(t,10):t;return P.value.find(d=>(typeof d.id=="string"?parseInt(d.id,10):d.id)===e)??null},Qe=t=>{if(!t&&t!==0||P.value.length===0)return"-";const e=Me(t);return e?e.name:"-"},Ye=t=>{const e=t.assistant_id||t.assistant,d=Qe(e),o=we(e);return d==="-"&&!o?"":o?`${d} / ${o}`:d},we=t=>{if(!t&&t!==0||P.value.length===0)return"";const e=Me(t),d=e==null?void 0:e.dept_names;return typeof d=="string"?d.trim():""},{pager:w,getLists:b}=rn({fetchFun:be,params:_}),Be=()=>b({silent:!0}),It=()=>{yt.value="all",_.patient_name="",_.diagnosis_type="",_.syndrome_type="",_.assistant_dept_id="",_.assistant_id="",_.diagnosis_confirmed="",_.appointment_date="",_.has_appointment="",w.page=1,b(),S()},He=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(d=>d.is_confirmed==1)},Nt=({row:t})=>He(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",te=p(),$t=p(),Ke=p(),re=p(null),ue=un();yn([te,re],()=>{const t=re.value,e=te.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),re.value=null)},{flush:"post"});const me=p(!1),je=p(0),St=t=>{var d;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((d=ue.userInfo)==null?void 0:d.id)},zt=t=>{je.value=Number(t.id)||0,me.value=!0},Tt=t=>St(t)&&B(["tcm.diagnosis/watchCall"]),pe=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Pt=t=>{const e=t.video_call_hint,d="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${d}。开始时间:${gt(e.start_time)}`:d},Lt=t=>{const e=pe(t);return e==="live"||e==="pending_room"},Wt=t=>pe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":Pt(t),Ft=t=>{if(pe(t)!=="live"){v.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}zt(t)},Ot=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ut=t=>{const e=pe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const d=t.video_call_hint;return(d==null?void 0:d.label)||"—"},K=p(!1),ce=p(),Ee=p(!1),f=Pe({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),qt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Mt=t=>{var e;f.patient_id=t.patient_id||t.id,f.patient_name=t.patient_name,f.phone=t.phone||"",f.order_type="",f.amount=0,f.remark="",f.has_appointment=!!t.has_appointment,f.appointment_time_text=t.appointment_time_text||"",(e=ce.value)==null||e.clearValidate(),K.value=!0},Qt=()=>{var t;f.patient_id="",f.patient_name="",f.phone="",f.order_type="",f.amount=0,f.remark="",f.has_appointment=!1,f.appointment_time_text="",(t=ce.value)==null||t.clearValidate()},Yt=async()=>{var t;try{await((t=ce.value)==null?void 0:t.validate()),Ee.value=!0;const e=await on({patient_id:f.patient_id,order_type:f.order_type,amount:f.amount,remark:f.remark});K.value=!1,b();const d=e==null?void 0:e.order_no;if(d){z.value=!0,L.value=!0,W.value="",F.value={patient_name:f.patient_name,has_appointment:f.has_appointment,appointment_time_text:f.appointment_time_text};try{const o=await Za({order_no:d});o!=null&&o.qrcode_url?W.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(o){v.msgError((o==null?void 0:o.msg)||"生成二维码失败")}finally{L.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ee.value=!1}},z=p(!1),L=p(!1),W=p(""),F=p(null),Bt=J(()=>{const t=F.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ae=p("小程序二维码"),Re=p("confirm"),O=p([]),Q=p(!1),Ie=p(!1),ae=p("batch"),ne=p(null),C=p({assistant_id:null,is_inherit:!1}),Ht=t=>{O.value=t.map(e=>e.id)},Kt=t=>{ae.value="single",ne.value=t,C.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,C.value.is_inherit=!1,Q.value=!0},jt=()=>{if(O.value.length===0){v.msgWarning("请先选择要指派的诊单");return}ae.value="batch",ne.value=null,C.value.assistant_id=null,C.value.is_inherit=!1,Q.value=!0},Gt=async()=>{if(!C.value.assistant_id){v.msgWarning("请选择医助");return}Ie.value=!0;try{if(ae.value==="single")await lt({id:ne.value.id,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0});else{const t=O.value.map(e=>lt({id:e,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0}));await Promise.all(t),O.value=[]}Q.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Ie.value=!1}},Xt=()=>{te.value.open("add")},Jt=t=>{te.value.open("edit",t)},Zt=async t=>{await v.confirm("确定要删除该诊单吗?"),await nn({id:t}),b()},ea=(t,e)=>{switch(t){case"assign":Kt(e);break;case"videoQr":if(!le(e)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}Je(e);break;case"confirmQr":Ze(e);break;case"cancelApt":na(e);break;case"order":Mt(e);break;case"delete":Zt(e.id);break}},ta=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},aa=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},le=t=>t.has_appointment&&Number(t.appointment_status)===1,Ge=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},na=async t=>{if(!Ge(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?v.msgWarning("已完成就诊,无法取消挂号"):v.msgWarning("该诊单未挂号或挂号信息异常");return}try{await v.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await dn({id:t.appointment_id}),v.msgSuccess("取消挂号成功"),b(),S()}catch(e){e!=="cancel"&&v.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},la=t=>{var e;if(!t.patient_id){v.msgWarning("患者信息不完整");return}(e=Ke.value)==null||e.open(t)},j=p(!1),Ne=p(!1),Xe=p(),N=Pe({id:0,patient_name:"",id_card:""}),sa={id_card:[{required:!0,validator:(t,e,d)=>{if(!e){d(new Error("请输入身份证号"));return}const o=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),V=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);o||V?d():d(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},ia=t=>{N.id=t.id,N.patient_name=t.patient_name||"-",N.id_card=t.id_card||"",j.value=!0},oa=async()=>{var t;await((t=Xe.value)==null?void 0:t.validate()),Ne.value=!0;try{await en({id:N.id,id_card:N.id_card}),v.msgSuccess("补全成功,年龄已自动更新"),j.value=!1,b()}catch(e){v.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ne.value=!1}},Je=async t=>{var e;if(!le(t)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="video",F.value=t,z.value=!0,L.value=!0,W.value="",Ae.value="视频二维码";try{const d=await dt();if(!(d!=null&&d.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),z.value=!1;return}const o=await st({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ue.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});o!=null&&o.qrcode_url?W.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(d){v.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{L.value=!1}},Ze=async t=>{if(!le(t)){v.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="confirm",F.value=t,z.value=!0,L.value=!0,W.value="",Ae.value="诊单二维码";try{const e=await dt();if(!(e!=null&&e.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),z.value=!1;return}const d=ue.userInfo,o=await st({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(d==null?void 0:d.id)||""});o!=null&&o.qrcode_url?W.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),v.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{L.value=!1}},da=()=>{F.value&&(Re.value==="video"?Je(F.value):Ze(F.value))},_e=p(!1),E=p(null),U=p([]),fe=p(0),$e=p(!1),A=p(null),Y=p(""),Se=p(!1),ze=p(1),ra=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return mt(e).format("YYYY-MM-DD HH:mm")},ua=async t=>{E.value=t,_e.value=!0,U.value=[],fe.value=0,A.value=null,Y.value="",ze.value=1,$e.value=!0;try{const[e,d]=await Promise.all([it({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),ln({patient_id:t.patient_id||t.id}).catch(()=>null)]);U.value=(e==null?void 0:e.lists)||[],fe.value=(e==null?void 0:e.count)||0,A.value=d}catch(e){console.error("加载企业微信记录失败:",e)}finally{$e.value=!1}},ma=async()=>{if(E.value){ze.value++;try{const t=await it({diagnosis_id:E.value.id,patient_id:E.value.patient_id,page_no:ze.value,page_size:20});U.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},pa=async()=>{var t;if(!Y.value.trim()){v.msgWarning("请输入内容");return}Se.value=!0;try{await tn({diagnosis_id:E.value.id,patient_id:E.value.patient_id,content:Y.value.trim(),msg_type:"note",staff_name:((t=ue.userInfo)==null?void 0:t.name)||"",external_name:E.value.patient_name||""}),Y.value="",ua(E.value)}catch(e){v.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Se.value=!1}},ca=async t=>{await v.confirm("确定删除该记录吗?");try{await an({id:t}),U.value=U.value.filter(e=>e.id!==t),fe.value--}catch(e){v.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=gn();return hn(()=>{_.appointment_date=de.value,Rt(),b(),Dt(),oe=setInterval(Et,wt);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(re.value=e)}}),bn(()=>{oe!=null&&(clearInterval(oe),oe=null)}),(t,e)=>{var nt;const d=Da,o=wa,V=Ea,k=Ra,G=Aa,et=Ia,R=$a,T=Sa,tt=za,X=La,fa=Pa,va=Ta,ga=Na,ya=ja,ve=Fa,$=Ua,ha=qa,Te=Oa,ba=Ma,ge=Ya,ka=Qa,Ca=Ba,Va=Ha,xa=Ka,se=kn("perms"),at=Wa;return i(),u("div",Cn,[l(et,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[r("div",Vn,[r("div",xn,[(i(!0),u(D,null,I(Vt.value,a=>(i(),u("span",{key:a.value,class:ie(["chip",{active:n(_).appointment_date===a.value}]),onClick:x=>xt(a.value)},[m(c(a.label)+" ",1),a.value&&n(Ce)[a.value]!==void 0?(i(),u("em",wn,c(n(Ce)[a.value]),1)):h("",!0)],10,Dn))),128))]),r("div",En,[l(d,{modelValue:n(_).patient_name,"onUpdate:modelValue":e[0]||(e[0]=a=>n(_).patient_name=a),placeholder:"患者姓名",clearable:"",class:"search-input",onKeyup:Ga(ee,["enter"])},null,8,["modelValue"]),l(o,{type:"primary",onClick:ee},{default:s(()=>[...e[25]||(e[25]=[m("查询",-1)])]),_:1})])]),r("div",An,[e[26]||(e[26]=r("span",{class:"chip-label"},"挂号:",-1)),(i(),u(D,null,I(ht,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).has_appointment===a.value}]),onClick:x=>kt(a.value)},c(a.label),11,Rn)),64)),e[27]||(e[27]=r("span",{class:"chip-divider"},null,-1)),e[28]||(e[28]=r("span",{class:"chip-label"},"确认:",-1)),(i(),u(D,null,I(bt,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).diagnosis_confirmed===a.value}]),onClick:x=>Ct(a.value)},c(a.label),11,In)),64)),l(o,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[1]||(e[1]=a=>Z.value=!n(Z))},{default:s(()=>[m(c(n(Z)?"收起":"更多筛选")+" ",1),l(V,{class:ie({"rotate-180":n(Z)})},{default:s(()=>[l(n(rt))]),_:1},8,["class"])]),_:1})]),q(r("div",Nn,[l(G,{modelValue:n(_).assistant_dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>n(_).assistant_dept_id=a),placeholder:"医助部门",clearable:"",filterable:"",size:"small",class:"filter-dept-select",onChange:At},{default:s(()=>[(i(!0),u(D,null,I(n(Oe),a=>(i(),g(k,{key:a.id,label:a.label,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).diagnosis_type,"onUpdate:modelValue":e[3]||(e[3]=a=>n(_).diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,I(n(We),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).syndrome_type,"onUpdate:modelValue":e[4]||(e[4]=a=>n(_).syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,I(n(Fe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).assistant_id,"onUpdate:modelValue":e[5]||(e[5]=a=>n(_).assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,I(qe.value,a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(o,{size:"small",onClick:It},{default:s(()=>[...e[29]||(e[29]=[m("重置",-1)])]),_:1})],512),[[Xa,n(Z)]])]),_:1}),l(et,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[r("div",$n,[r("div",Sn,[q((i(),g(o,{type:"primary",onClick:Xt},{default:s(()=>[...e[30]||(e[30]=[m("新增诊单",-1)])]),_:1})),[[se,["tcm.diagnosis/add"]]]),q((i(),g(o,{type:"success",onClick:jt,disabled:n(O).length===0},{default:s(()=>[...e[31]||(e[31]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[se,["tcm.diagnosis/assign"]]])]),n(O).length>0?(i(),u("div",zn,"已选 "+c(n(O).length)+" 条",1)):h("",!0)]),r("div",Tn,[q((i(),g(ga,{data:n(w).lists,size:"default",onSelectionChange:Ht,"row-class-name":Nt,class:"diagnosis-table",stripe:""},{default:s(()=>[l(R,{type:"selection",width:"48",align:"center"}),l(R,{label:"ID","min-width":"70"},{default:s(({row:a})=>[r("div",Pn,[r("div",Ln,[r("div",Wn,[m(c(a.id)+" ",1),a.assign_read_at===null&&a.assistant_id>0?(i(),g(T,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[32]||(e[32]=[m("NEW",-1)])]),_:1})):h("",!0)])])])]),_:1}),l(R,{label:"患者","min-width":"60"},{default:s(({row:a})=>[r("div",Fn,[r("div",On,[r("div",Un,c(a.patient_name),1)])])]),_:1}),l(R,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:a})=>[r("div",null,c(a.gender_desc||"-")+" · "+c(a.age??"-")+"岁",1)]),_:1}),l(R,{label:"挂号","min-width":"180"},{default:s(({row:a})=>[r("div",{class:ie(["appointment-cell",aa(a)])},[a.has_appointment?(i(),u(D,{key:0},[r("div",qn,c(ta(a)),1),r("div",Mn,c(a.appointment_doctor_name||"-"),1),r("div",Qn,c(a.appointment_time_text||"-"),1)],64)):(i(),u("span",Yn,"未挂号"))],2)]),_:1}),l(R,{label:"确认",width:"88",align:"center"},{default:s(({row:a})=>[He(a)?(i(),u("span",Bn,"已确认")):(i(),u("span",Hn,"未确认"))]),_:1}),l(R,{label:"复诊","min-width":"150"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",Kn,[r("div",jn,c(a.followup_time_text||"—"),1),r("div",Gn,c(a.followup_doctor_name||"—"),1),a.followup_prescription_count>0?(i(),u("div",Xn," 第"+c(a.followup_prescription_count)+"次复诊 ",1)):h("",!0),a.followup_rx_voided?(i(),g(T,{key:1,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[33]||(e[33]=[m(" 处方已作废 ",-1)])]),_:1})):h("",!0)])):(i(),u("span",Jn,"无"))]),_:1}),l(R,{label:"助理","min-width":"120"},{default:s(({row:a})=>[l(tt,{disabled:!Ye(a),content:Ye(a),placement:"top"},{default:s(()=>[r("div",Zn,[r("div",el,c(Qe(a.assistant_id||a.assistant)),1),we(a.assistant_id||a.assistant)?(i(),u("div",tl,c(we(a.assistant_id||a.assistant)),1)):h("",!0)])]),_:2},1032,["disabled","content"])]),_:1}),l(R,{label:"开方","min-width":"96",align:"center"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",al,[e[34]||(e[34]=r("span",{class:"status-prescribed"},"已开方",-1)),r("span",nl,"("+c(a.followup_prescription_count||1)+"次)",1)])):(i(),u("span",ll,"未开方"))]),_:1}),l(R,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:a})=>[r("div",sl,[Tt(a)?(i(),u(D,{key:0},[Lt(a)?(i(),g(tt,{key:0,content:Wt(a),placement:"top"},{default:s(()=>[r("span",il,[l(o,{type:"primary",link:"",size:"small",onClick:x=>Ft(a)},{default:s(()=>[...e[35]||(e[35]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),u("span",ol,c(Ot(a)),1))],64)):(i(),u("span",dl,c(Ut(a)),1))])]),_:1}),l(R,{label:"操作",width:"260",fixed:"right",align:"left"},{default:s(({row:a})=>[r("div",rl,[q((i(),g(o,{type:"primary",link:"",size:"small",onClick:x=>Jt(a.id)},{default:s(()=>[...e[36]||(e[36]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),q((i(),g(o,{type:"success",link:"",size:"small",onClick:x=>la(a)},{default:s(()=>[...e[37]||(e[37]=[m("预约",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/guahao"]]]),q((i(),g(o,{type:"warning",link:"",size:"small",onClick:x=>ia(a)},{default:s(()=>[...e[38]||(e[38]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),l(va,{trigger:"click",onCommand:x=>ea(x,a),placement:"bottom-end"},{dropdown:s(()=>[l(fa,null,{default:s(()=>[n(B)(["tcm.diagnosis/assign"])?(i(),g(X,{key:0,command:"assign"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(pn))]),_:1}),e[40]||(e[40]=m("指派",-1))]),_:1})):h("",!0),le(a)&&n(B)(["tcm.diagnosis/videoQr"])?(i(),g(X,{key:1,command:"videoQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ut))]),_:1}),e[41]||(e[41]=m("视频二维码",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/guahao"])&&le(a)?(i(),g(X,{key:2,command:"confirmQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ut))]),_:1}),e[42]||(e[42]=m("二维码",-1))]),_:1})):h("",!0),Ge(a)&&n(B)(["tcm.diagnosis/guahao"])?(i(),g(X,{key:3,command:"cancelApt"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(cn))]),_:1}),e[43]||(e[43]=m("取消挂号",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/order"])?(i(),g(X,{key:4,command:"order"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(_n))]),_:1}),e[44]||(e[44]=m("创建订单",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/delete"])?(i(),g(X,{key:5,command:"delete",divided:""},{default:s(()=>[l(V,null,{default:s(()=>[l(n(fn))]),_:1}),e[45]||(e[45]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):h("",!0)]),_:2},1024)]),default:s(()=>[l(o,{type:"info",link:"",size:"small"},{default:s(()=>[e[39]||(e[39]=m("更多",-1)),l(V,{class:"el-icon--right"},{default:s(()=>[l(n(rt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[at,n(w).loading]]),r("div",ul,[l(ya,{modelValue:n(w),"onUpdate:modelValue":e[6]||(e[6]=a=>M(w)?w.value=a:null),onChange:n(b)},null,8,["modelValue","onChange"])])])]),_:1}),l(n(ct),{ref_key:"editRef",ref:te,onSuccess:Be},null,512),l(n(_t),{ref_key:"detailRef",ref:$t},null,512),l(n(ft),{ref_key:"appointmentRef",ref:Ke,onSuccess:Be},null,512),l(n(vt),{modelValue:n(me),"onUpdate:modelValue":e[7]||(e[7]=a=>M(me)?me.value=a:null),"diagnosis-id":n(je),onClosed:n(b)},null,8,["modelValue","diagnosis-id","onClosed"]),l(ve,{modelValue:n(z),"onUpdate:modelValue":e[9]||(e[9]=a=>M(z)?z.value=a:null),title:n(Ae),width:"400px","close-on-click-modal":!1},{footer:s(()=>[l(o,{onClick:e[8]||(e[8]=a=>z.value=!1)},{default:s(()=>[...e[48]||(e[48]=[m("关闭",-1)])]),_:1}),n(L)?h("",!0):(i(),g(o,{key:0,type:"primary",onClick:da},{default:s(()=>[...e[49]||(e[49]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var a;return[r("div",ml,[n(L)?(i(),u("div",pl,[l(V,{class:"is-loading",size:40},{default:s(()=>[l(n(vn))]),_:1}),e[46]||(e[46]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(W)?(i(),u("div",cl,[r("img",{src:n(W),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,_l),r("div",fl,[r("div",null,"患者:"+c((a=n(F))==null?void 0:a.patient_name),1),r("div",vl,"挂号时间:"+c(Bt.value),1),e[47]||(e[47]=r("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(i(),u("div",gl," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(Q),"onUpdate:modelValue":e[13]||(e[13]=a=>M(Q)?Q.value=a:null),title:n(ae)==="batch"?"批量指派医助":"指派医助",width:"500px"},{footer:s(()=>[l(o,{onClick:e[12]||(e[12]=a=>Q.value=!1)},{default:s(()=>[...e[52]||(e[52]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Gt,loading:n(Ie)},{default:s(()=>[...e[53]||(e[53]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Te,{model:n(C),"label-width":"100px"},{default:s(()=>[l($,{label:"选择医助",required:""},{default:s(()=>[l(G,{modelValue:n(C).assistant_id,"onUpdate:modelValue":e[10]||(e[10]=a=>n(C).assistant_id=a),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:"","value-key":"id"},{default:s(()=>[(i(!0),u(D,null,I(n(P),a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l($,{label:"继承"},{default:s(()=>[l(ha,{modelValue:n(C).is_inherit,"onUpdate:modelValue":e[11]||(e[11]=a=>n(C).is_inherit=a)},{default:s(()=>[...e[50]||(e[50]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[51]||(e[51]=r("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(ae)==="batch"?(i(),g($,{key:0,label:"已选择"},{default:s(()=>[r("div",yl,c(n(O).length)+" 条诊单记录",1)]),_:1})):(i(),g($,{key:1,label:"诊单信息"},{default:s(()=>{var a,x;return[r("div",hl,[r("div",null,"患者:"+c((a=n(ne))==null?void 0:a.patient_name),1),r("div",null,"诊断日期:"+c((x=n(ne))==null?void 0:x.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(K),"onUpdate:modelValue":e[18]||(e[18]=a=>M(K)?K.value=a:null),title:"创建订单",width:"600px",onClose:Qt},{footer:s(()=>[l(o,{onClick:e[17]||(e[17]=a=>K.value=!1)},{default:s(()=>[...e[54]||(e[54]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Yt,loading:n(Ee)},{default:s(()=>[...e[55]||(e[55]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Te,{ref_key:"orderFormRef",ref:ce,model:n(f),rules:qt,"label-width":"100px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",bl,c(n(f).patient_name)+" ("+c(n(f).phone)+")",1)]),_:1}),l($,{label:"订单类型",prop:"order_type"},{default:s(()=>[l(G,{modelValue:n(f).order_type,"onUpdate:modelValue":e[14]||(e[14]=a=>n(f).order_type=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[l(k,{label:"挂号费",value:1}),l(k,{label:"问诊费",value:2}),l(k,{label:"药品费用",value:3}),l(k,{label:"首付费用",value:4}),l(k,{label:"尾款费用",value:5}),l(k,{label:"其他费用",value:6}),l(k,{label:"全部费用",value:7}),l(k,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l($,{label:"订单金额",prop:"amount"},{default:s(()=>[l(ba,{modelValue:n(f).amount,"onUpdate:modelValue":e[15]||(e[15]=a=>n(f).amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),l($,{label:"备注",prop:"remark"},{default:s(()=>[l(d,{modelValue:n(f).remark,"onUpdate:modelValue":e[16]||(e[16]=a=>n(f).remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ve,{modelValue:n(j),"onUpdate:modelValue":e[21]||(e[21]=a=>M(j)?j.value=a:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[22]||(e[22]=a=>n(N).id_card="")},{footer:s(()=>[l(o,{onClick:e[20]||(e[20]=a=>j.value=!1)},{default:s(()=>[...e[56]||(e[56]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:oa,loading:n(Ne)},{default:s(()=>[...e[57]||(e[57]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Te,{ref_key:"fillIdCardFormRef",ref:Xe,model:n(N),rules:sa,"label-width":"80px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",kl,c(n(N).patient_name),1)]),_:1}),l($,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(d,{modelValue:n(N).id_card,"onUpdate:modelValue":e[19]||(e[19]=a=>n(N).id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(xa,{modelValue:n(_e),"onUpdate:modelValue":e[24]||(e[24]=a=>M(_e)?_e.value=a:null),title:`企业微信记录 - ${((nt=n(E))==null?void 0:nt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var a,x;return[n(A)?(i(),u("div",Cl,[l(ka,{column:2,border:"",size:"small"},{default:s(()=>[l(ge,{label:"患者姓名"},{default:s(()=>{var y;return[m(c((y=n(E))==null?void 0:y.patient_name),1)]}),_:1}),l(ge,{label:"手机号"},{default:s(()=>[m(c(n(A).phone||"-"),1)]),_:1}),l(ge,{label:"企微联系人ID"},{default:s(()=>[n(A).external_userid?(i(),u("span",Vl,c(n(A).external_userid),1)):(i(),g(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[58]||(e[58]=[m("未关联",-1)])]),_:1}))]),_:1}),l(ge,{label:"会话存档"},{default:s(()=>[n(A).msgaudit_enabled?(i(),g(T,{key:0,type:"success",size:"small"},{default:s(()=>[...e[59]||(e[59]=[m("已开通",-1)])]),_:1})):(i(),g(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[60]||(e[60]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(a=n(A).permit_users)!=null&&a.length?(i(),u("div",xl,[e[61]||(e[61]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(i(!0),u(D,null,I(n(A).permit_users,y=>(i(),g(T,{key:y,size:"small",class:"mr-1"},{default:s(()=>[m(c(y),1)]),_:2},1024))),128))])):h("",!0),(x=n(A).msgaudit_agree)!=null&&x.length?(i(),u("div",Dl,[e[62]||(e[62]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(i(!0),u(D,null,I(n(A).msgaudit_agree,(y,ye)=>(i(),g(T,{key:ye,type:y.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(c(y.userid)+": "+c(y.agree_status==="Agree"?"已同意":y.agree_status),1)]),_:2},1032,["type"]))),128))])):h("",!0)])):h("",!0),l(Ca),r("div",wl,[r("div",El,[l(d,{modelValue:n(Y),"onUpdate:modelValue":e[23]||(e[23]=y=>M(Y)?Y.value=y:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(o,{type:"primary",onClick:pa,loading:n(Se),class:"self-end"},{default:s(()=>[...e[63]||(e[63]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),q((i(),u("div",null,[n(U).length===0?(i(),u("div",Al," 暂无聊天记录 ")):(i(),u("div",Rl,[(i(!0),u(D,null,I(n(U),y=>{var ye;return i(),u("div",{key:y.id,class:"record-item"},[r("div",Il,[r("div",Nl,[l(T,{type:y.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(c(y.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",$l,c(y.direction===0?y.staff_name:y.external_name||((ye=n(E))==null?void 0:ye.patient_name)),1),y.msg_type==="note"?(i(),g(T,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[64]||(e[64]=[m("备注",-1)])]),_:1})):h("",!0)]),r("div",Sl,[r("span",zl,c(ra(y.chat_time)),1),l(o,{type:"danger",link:"",size:"small",onClick:ql=>ca(y.id)},{default:s(()=>[...e[65]||(e[65]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",Tl,c(y.content),1),y.media_url?(i(),u("div",Pl,[l(Va,{src:y.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[y.media_url]},null,8,["src","preview-src-list"])])):h("",!0)])}),128))])),n(fe)>n(U).length?(i(),u("div",Ll,[l(o,{link:"",type:"primary",onClick:ma},{default:s(()=>[...e[66]||(e[66]=[m("加载更多",-1)])]),_:1})])):h("",!0)])),[[at,n($e)]])]}),_:1},8,["modelValue","title"])])}}}),zs=mn(Fl,[["__scopeId","data-v-5f089050"]]);export{zs as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-CsM6bOnd.js","assets/appointment-CWzTZ9VV.js","assets/first_visit-lwfDQsu4.js","assets/appointment-JDceTxKO.css","assets/AssistantWatchCallDialog-BoEGWQ09.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); +import{_ as he}from"./jspdf-BsthCvR5.js";import{C as Da,i as wa,d as Ea,Q as Aa,R as Ra,K as Ia,N as Na,O as $a,U as Sa,r as za,p as Ta,n as Pa,o as La,M as Wa,W as Fa,D as Oa,B as Ua,H as qa,h as Ma,a6 as Qa,a7 as Ya,I as Ba,v as Ha,e as Ka}from"./element-plus-DGP1XOrU.js";import{_ as ja}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as Ga,q as Xa}from"./@vue/runtime-dom-DDAG46FW.js";import{aw as be,n as Ja,X as Za,ax as lt,az as en,W as st,aA as it,aB as tn,aC as an,aD as nn,aE as ln}from"./tcm-D-ZRccbe.js";import{d as sn}from"./department-DdhKHNS-.js";import{i as on}from"./order-B5S0jULN.js";import{m as dn}from"./doctor-BZKBQu9t.js";import{u as rn}from"./usePaging-DofycyjW.js";import{u as un,o as ot,k as v,_ as mn}from"./index-J_eFER10.js";import{g as dt}from"./weapp-CBd1nTel.js";import{h as B}from"./perm-8cp9D7Ag.js";import{e as rt,Z as pn,P as ut,b as cn,G as _n,H as fn,l as vn}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as gn}from"./vue-router-QlpZ4wdW.js";import{d as mt}from"./dayjs-DG77mNTn.js";import{f as pt,w as yn,b as hn,d as bn,as as kn,ak as i,I as u,a as l,aN as s,J as r,F as D,ap as I,O as m,H as h,aP as q,G as g,P as ke,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{o as ie,Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as M,r as Pe,n as p}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Cn={class:"tcm-diagnosis"},Vn={class:"filter-main"},xn={class:"date-chips"},Dn=["onClick"],wn={key:0},En={class:"search-row"},An={class:"filter-chips"},Rn=["onClick"],In=["onClick"],Nn={class:"filter-more"},$n={class:"list-header"},Sn={class:"list-actions"},zn={key:0,class:"list-selected"},Tn={class:"table-wrap px-4"},Pn={class:"patient-cell"},Ln={class:"patient-info"},Wn={class:"patient-name"},Fn={class:"patient-cell"},On={class:"patient-info"},Un={class:"patient-name"},qn={class:"apt-badge"},Mn={class:"apt-doctor"},Qn={class:"apt-time"},Yn={key:1,class:"apt-none"},Bn={key:0,class:"status-confirmed"},Hn={key:1,class:"status-unconfirmed"},Kn={key:0,class:"followup-cell"},jn={class:"followup-time"},Gn={class:"followup-doctor"},Xn={key:0,class:"followup-count"},Jn={key:1,class:"followup-none"},Zn={class:"assistant-cell"},el={class:"assistant-name"},tl={key:0,class:"assistant-dept"},al={key:0,class:"prescription-status-cell"},nl={class:"prescription-times"},ll={key:1,class:"status-unprescribed"},sl={class:"video-watch-col"},il={class:"video-watch-trigger"},ol={key:1,class:"video-watch-muted"},dl={key:1,class:"video-watch-muted"},rl={class:"action-cell"},ul={class:"pagination-wrap"},ml={class:"flex flex-col items-center justify-center py-4"},pl={key:0,class:"text-center"},cl={key:1,class:"text-center"},_l=["src"],fl={class:"mt-4 text-sm text-gray-600"},vl={class:"mt-2"},gl={key:2,class:"text-center text-gray-500"},yl={class:"text-gray-500"},hl={class:"text-gray-500"},bl={class:"font-medium"},kl={class:"font-medium"},Cl={key:0,class:"mb-4"},Vl={key:0},xl={key:0,class:"mt-2"},Dl={key:1,class:"mt-2"},wl={class:"mb-4"},El={class:"flex gap-2"},Al={key:0,class:"text-center text-gray-400 py-10"},Rl={key:1,class:"record-list"},Il={class:"record-header"},Nl={class:"flex items-center gap-2"},$l={class:"font-medium text-sm"},Sl={class:"flex items-center gap-2"},zl={class:"text-xs text-gray-400"},Tl={class:"record-content"},Pl={key:0,class:"mt-1"},Ll={key:2,class:"text-center mt-4"},Wl=pt({name:"tcmDiagnosis"}),Fl=pt({...Wl,setup(Ol){const ct=ke(()=>he(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),_t=ke(()=>he(()=>import("./detail-CsM6bOnd.js"),__vite__mapDeps([104,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),ft=ke(()=>he(()=>import("./appointment-CWzTZ9VV.js"),__vite__mapDeps([105,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,106,107]))),vt=ke(()=>he(()=>import("./AssistantWatchCallDialog-BoEGWQ09.js"),__vite__mapDeps([108,1,2,3,4,5,6,7,8,9,10,11,12,13,14,109,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,110]))),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return mt(e).format("YYYY-MM-DD HH:mm:ss")},Le={only_has_prescription:"1"},_=Pe({patient_name:"",diagnosis_type:"",syndrome_type:"",assistant_dept_id:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",...Le}),yt=p("all"),Z=p(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],bt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=t=>{_.has_appointment=t,w.page=1,b(),S()},Ct=t=>{_.diagnosis_confirmed=t,w.page=1,b(),S()},ee=()=>{w.page=1,b(),S()},Vt=J(()=>[{label:"当天挂号",value:de.value},{label:"明天挂号",value:xe.value},{label:"后天挂号",value:De.value},{label:"全部",value:""}]),Ce=p({}),xt=async t=>{_.appointment_date=t,w.page=1,await b(),S()},Ve=t=>({...Le,patient_name:_.patient_name,diagnosis_type:_.diagnosis_type,syndrome_type:_.syndrome_type,diagnosis_confirmed:_.diagnosis_confirmed,has_appointment:_.has_appointment,assistant_dept_id:_.assistant_dept_id,assistant_id:_.assistant_id,appointment_date:t,page_no:1,page_size:1}),S=async()=>{try{const[t,e,d]=await Promise.all([be(Ve(de.value)),be(Ve(xe.value)),be(Ve(De.value))]);Ce.value={[de.value]:(t==null?void 0:t.count)??0,[xe.value]:(e==null?void 0:e.count)??0,[De.value]:(d==null?void 0:d.count)??0}}catch(t){console.error("获取日期数量失败",t)}};function Dt(){const t=()=>S();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const wt=1e4;let oe=null;function Et(){typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),S())}const H=t=>String(t).padStart(2,"0"),de=J(()=>{const t=new Date;return`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),xe=J(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),De=J(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),We=p([]),Fe=p([]),P=p([]),Oe=p([]);function Ue(t,e="",d=[]){for(const o of t||[]){if(o==null)continue;const V=Number(o.id);if(!Number.isFinite(V))continue;const k=e?`${e} / ${o.name}`:String(o.name??"");d.push({id:V,label:k}),Array.isArray(o.children)&&o.children.length&&Ue(o.children,k,d)}return d}const qe=J(()=>{const t=_.assistant_dept_id;if(t===""||t==null)return P.value;const e=Number(t);return Number.isFinite(e)?P.value.filter(d=>{const o=d.dept_ids;return!Array.isArray(o)||o.length===0?!1:o.map(Number).includes(e)}):P.value}),At=()=>{const t=_.assistant_id;if(t!==""&&t!=null){const e=Number(t);qe.value.some(o=>Number(o.id)===e)||(_.assistant_id="")}w.page=1,b(),S()},Rt=async()=>{try{const[t,e,d,o]=await Promise.all([ot({type:"diagnosis_type"}),ot({type:"syndrome_type"}),Ja(),sn()]);We.value=(t==null?void 0:t.diagnosis_type)||[],Fe.value=(e==null?void 0:e.syndrome_type)||[],P.value=d||[],Oe.value=Ue(Array.isArray(o)?o:[])}catch(t){console.error("获取字典数据失败:",t)}},Me=t=>{if(t!==0&&!t)return null;const e=typeof t=="string"?parseInt(t,10):t;return P.value.find(d=>(typeof d.id=="string"?parseInt(d.id,10):d.id)===e)??null},Qe=t=>{if(!t&&t!==0||P.value.length===0)return"-";const e=Me(t);return e?e.name:"-"},Ye=t=>{const e=t.assistant_id||t.assistant,d=Qe(e),o=we(e);return d==="-"&&!o?"":o?`${d} / ${o}`:d},we=t=>{if(!t&&t!==0||P.value.length===0)return"";const e=Me(t),d=e==null?void 0:e.dept_names;return typeof d=="string"?d.trim():""},{pager:w,getLists:b}=rn({fetchFun:be,params:_}),Be=()=>b({silent:!0}),It=()=>{yt.value="all",_.patient_name="",_.diagnosis_type="",_.syndrome_type="",_.assistant_dept_id="",_.assistant_id="",_.diagnosis_confirmed="",_.appointment_date="",_.has_appointment="",w.page=1,b(),S()},He=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(d=>d.is_confirmed==1)},Nt=({row:t})=>He(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",te=p(),$t=p(),Ke=p(),re=p(null),ue=un();yn([te,re],()=>{const t=re.value,e=te.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),re.value=null)},{flush:"post"});const me=p(!1),je=p(0),St=t=>{var d;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((d=ue.userInfo)==null?void 0:d.id)},zt=t=>{je.value=Number(t.id)||0,me.value=!0},Tt=t=>St(t)&&B(["tcm.diagnosis/watchCall"]),pe=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Pt=t=>{const e=t.video_call_hint,d="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${d}。开始时间:${gt(e.start_time)}`:d},Lt=t=>{const e=pe(t);return e==="live"||e==="pending_room"},Wt=t=>pe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":Pt(t),Ft=t=>{if(pe(t)!=="live"){v.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}zt(t)},Ot=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ut=t=>{const e=pe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const d=t.video_call_hint;return(d==null?void 0:d.label)||"—"},K=p(!1),ce=p(),Ee=p(!1),f=Pe({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),qt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Mt=t=>{var e;f.patient_id=t.patient_id||t.id,f.patient_name=t.patient_name,f.phone=t.phone||"",f.order_type="",f.amount=0,f.remark="",f.has_appointment=!!t.has_appointment,f.appointment_time_text=t.appointment_time_text||"",(e=ce.value)==null||e.clearValidate(),K.value=!0},Qt=()=>{var t;f.patient_id="",f.patient_name="",f.phone="",f.order_type="",f.amount=0,f.remark="",f.has_appointment=!1,f.appointment_time_text="",(t=ce.value)==null||t.clearValidate()},Yt=async()=>{var t;try{await((t=ce.value)==null?void 0:t.validate()),Ee.value=!0;const e=await on({patient_id:f.patient_id,order_type:f.order_type,amount:f.amount,remark:f.remark});K.value=!1,b();const d=e==null?void 0:e.order_no;if(d){z.value=!0,L.value=!0,W.value="",F.value={patient_name:f.patient_name,has_appointment:f.has_appointment,appointment_time_text:f.appointment_time_text};try{const o=await Za({order_no:d});o!=null&&o.qrcode_url?W.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(o){v.msgError((o==null?void 0:o.msg)||"生成二维码失败")}finally{L.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ee.value=!1}},z=p(!1),L=p(!1),W=p(""),F=p(null),Bt=J(()=>{const t=F.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ae=p("小程序二维码"),Re=p("confirm"),O=p([]),Q=p(!1),Ie=p(!1),ae=p("batch"),ne=p(null),C=p({assistant_id:null,is_inherit:!1}),Ht=t=>{O.value=t.map(e=>e.id)},Kt=t=>{ae.value="single",ne.value=t,C.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,C.value.is_inherit=!1,Q.value=!0},jt=()=>{if(O.value.length===0){v.msgWarning("请先选择要指派的诊单");return}ae.value="batch",ne.value=null,C.value.assistant_id=null,C.value.is_inherit=!1,Q.value=!0},Gt=async()=>{if(!C.value.assistant_id){v.msgWarning("请选择医助");return}Ie.value=!0;try{if(ae.value==="single")await lt({id:ne.value.id,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0});else{const t=O.value.map(e=>lt({id:e,assistant_id:C.value.assistant_id,is_inherit:C.value.is_inherit?1:0}));await Promise.all(t),O.value=[]}Q.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Ie.value=!1}},Xt=()=>{te.value.open("add")},Jt=t=>{te.value.open("edit",t)},Zt=async t=>{await v.confirm("确定要删除该诊单吗?"),await nn({id:t}),b()},ea=(t,e)=>{switch(t){case"assign":Kt(e);break;case"videoQr":if(!le(e)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}Je(e);break;case"confirmQr":Ze(e);break;case"cancelApt":na(e);break;case"order":Mt(e);break;case"delete":Zt(e.id);break}},ta=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},aa=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},le=t=>t.has_appointment&&Number(t.appointment_status)===1,Ge=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},na=async t=>{if(!Ge(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?v.msgWarning("已完成就诊,无法取消挂号"):v.msgWarning("该诊单未挂号或挂号信息异常");return}try{await v.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await dn({id:t.appointment_id}),v.msgSuccess("取消挂号成功"),b(),S()}catch(e){e!=="cancel"&&v.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},la=t=>{var e;if(!t.patient_id){v.msgWarning("患者信息不完整");return}(e=Ke.value)==null||e.open(t)},j=p(!1),Ne=p(!1),Xe=p(),N=Pe({id:0,patient_name:"",id_card:""}),sa={id_card:[{required:!0,validator:(t,e,d)=>{if(!e){d(new Error("请输入身份证号"));return}const o=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),V=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);o||V?d():d(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},ia=t=>{N.id=t.id,N.patient_name=t.patient_name||"-",N.id_card=t.id_card||"",j.value=!0},oa=async()=>{var t;await((t=Xe.value)==null?void 0:t.validate()),Ne.value=!0;try{await en({id:N.id,id_card:N.id_card}),v.msgSuccess("补全成功,年龄已自动更新"),j.value=!1,b()}catch(e){v.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ne.value=!1}},Je=async t=>{var e;if(!le(t)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="video",F.value=t,z.value=!0,L.value=!0,W.value="",Ae.value="视频二维码";try{const d=await dt();if(!(d!=null&&d.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),z.value=!1;return}const o=await st({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ue.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});o!=null&&o.qrcode_url?W.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(d){v.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{L.value=!1}},Ze=async t=>{if(!le(t)){v.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="confirm",F.value=t,z.value=!0,L.value=!0,W.value="",Ae.value="诊单二维码";try{const e=await dt();if(!(e!=null&&e.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),z.value=!1;return}const d=ue.userInfo,o=await st({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(d==null?void 0:d.id)||""});o!=null&&o.qrcode_url?W.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),v.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{L.value=!1}},da=()=>{F.value&&(Re.value==="video"?Je(F.value):Ze(F.value))},_e=p(!1),E=p(null),U=p([]),fe=p(0),$e=p(!1),A=p(null),Y=p(""),Se=p(!1),ze=p(1),ra=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return mt(e).format("YYYY-MM-DD HH:mm")},ua=async t=>{E.value=t,_e.value=!0,U.value=[],fe.value=0,A.value=null,Y.value="",ze.value=1,$e.value=!0;try{const[e,d]=await Promise.all([it({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),ln({patient_id:t.patient_id||t.id}).catch(()=>null)]);U.value=(e==null?void 0:e.lists)||[],fe.value=(e==null?void 0:e.count)||0,A.value=d}catch(e){console.error("加载企业微信记录失败:",e)}finally{$e.value=!1}},ma=async()=>{if(E.value){ze.value++;try{const t=await it({diagnosis_id:E.value.id,patient_id:E.value.patient_id,page_no:ze.value,page_size:20});U.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},pa=async()=>{var t;if(!Y.value.trim()){v.msgWarning("请输入内容");return}Se.value=!0;try{await tn({diagnosis_id:E.value.id,patient_id:E.value.patient_id,content:Y.value.trim(),msg_type:"note",staff_name:((t=ue.userInfo)==null?void 0:t.name)||"",external_name:E.value.patient_name||""}),Y.value="",ua(E.value)}catch(e){v.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Se.value=!1}},ca=async t=>{await v.confirm("确定删除该记录吗?");try{await an({id:t}),U.value=U.value.filter(e=>e.id!==t),fe.value--}catch(e){v.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=gn();return hn(()=>{_.appointment_date=de.value,Rt(),b(),Dt(),oe=setInterval(Et,wt);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(re.value=e)}}),bn(()=>{oe!=null&&(clearInterval(oe),oe=null)}),(t,e)=>{var nt;const d=Da,o=wa,V=Ea,k=Ra,G=Aa,et=Ia,R=$a,T=Sa,tt=za,X=La,fa=Pa,va=Ta,ga=Na,ya=ja,ve=Fa,$=Ua,ha=qa,Te=Oa,ba=Ma,ge=Ya,ka=Qa,Ca=Ba,Va=Ha,xa=Ka,se=kn("perms"),at=Wa;return i(),u("div",Cn,[l(et,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[r("div",Vn,[r("div",xn,[(i(!0),u(D,null,I(Vt.value,a=>(i(),u("span",{key:a.value,class:ie(["chip",{active:n(_).appointment_date===a.value}]),onClick:x=>xt(a.value)},[m(c(a.label)+" ",1),a.value&&n(Ce)[a.value]!==void 0?(i(),u("em",wn,c(n(Ce)[a.value]),1)):h("",!0)],10,Dn))),128))]),r("div",En,[l(d,{modelValue:n(_).patient_name,"onUpdate:modelValue":e[0]||(e[0]=a=>n(_).patient_name=a),placeholder:"患者姓名",clearable:"",class:"search-input",onKeyup:Ga(ee,["enter"])},null,8,["modelValue"]),l(o,{type:"primary",onClick:ee},{default:s(()=>[...e[25]||(e[25]=[m("查询",-1)])]),_:1})])]),r("div",An,[e[26]||(e[26]=r("span",{class:"chip-label"},"挂号:",-1)),(i(),u(D,null,I(ht,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).has_appointment===a.value}]),onClick:x=>kt(a.value)},c(a.label),11,Rn)),64)),e[27]||(e[27]=r("span",{class:"chip-divider"},null,-1)),e[28]||(e[28]=r("span",{class:"chip-label"},"确认:",-1)),(i(),u(D,null,I(bt,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).diagnosis_confirmed===a.value}]),onClick:x=>Ct(a.value)},c(a.label),11,In)),64)),l(o,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[1]||(e[1]=a=>Z.value=!n(Z))},{default:s(()=>[m(c(n(Z)?"收起":"更多筛选")+" ",1),l(V,{class:ie({"rotate-180":n(Z)})},{default:s(()=>[l(n(rt))]),_:1},8,["class"])]),_:1})]),q(r("div",Nn,[l(G,{modelValue:n(_).assistant_dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>n(_).assistant_dept_id=a),placeholder:"医助部门",clearable:"",filterable:"",size:"small",class:"filter-dept-select",onChange:At},{default:s(()=>[(i(!0),u(D,null,I(n(Oe),a=>(i(),g(k,{key:a.id,label:a.label,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).diagnosis_type,"onUpdate:modelValue":e[3]||(e[3]=a=>n(_).diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,I(n(We),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).syndrome_type,"onUpdate:modelValue":e[4]||(e[4]=a=>n(_).syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,I(n(Fe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(G,{modelValue:n(_).assistant_id,"onUpdate:modelValue":e[5]||(e[5]=a=>n(_).assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(D,null,I(qe.value,a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(o,{size:"small",onClick:It},{default:s(()=>[...e[29]||(e[29]=[m("重置",-1)])]),_:1})],512),[[Xa,n(Z)]])]),_:1}),l(et,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[r("div",$n,[r("div",Sn,[q((i(),g(o,{type:"primary",onClick:Xt},{default:s(()=>[...e[30]||(e[30]=[m("新增诊单",-1)])]),_:1})),[[se,["tcm.diagnosis/add"]]]),q((i(),g(o,{type:"success",onClick:jt,disabled:n(O).length===0},{default:s(()=>[...e[31]||(e[31]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[se,["tcm.diagnosis/assign"]]])]),n(O).length>0?(i(),u("div",zn,"已选 "+c(n(O).length)+" 条",1)):h("",!0)]),r("div",Tn,[q((i(),g(ga,{data:n(w).lists,size:"default",onSelectionChange:Ht,"row-class-name":Nt,class:"diagnosis-table",stripe:""},{default:s(()=>[l(R,{type:"selection",width:"48",align:"center"}),l(R,{label:"ID","min-width":"70"},{default:s(({row:a})=>[r("div",Pn,[r("div",Ln,[r("div",Wn,[m(c(a.id)+" ",1),a.assign_read_at===null&&a.assistant_id>0?(i(),g(T,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[32]||(e[32]=[m("NEW",-1)])]),_:1})):h("",!0)])])])]),_:1}),l(R,{label:"患者","min-width":"60"},{default:s(({row:a})=>[r("div",Fn,[r("div",On,[r("div",Un,c(a.patient_name),1)])])]),_:1}),l(R,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:a})=>[r("div",null,c(a.gender_desc||"-")+" · "+c(a.age??"-")+"岁",1)]),_:1}),l(R,{label:"挂号","min-width":"180"},{default:s(({row:a})=>[r("div",{class:ie(["appointment-cell",aa(a)])},[a.has_appointment?(i(),u(D,{key:0},[r("div",qn,c(ta(a)),1),r("div",Mn,c(a.appointment_doctor_name||"-"),1),r("div",Qn,c(a.appointment_time_text||"-"),1)],64)):(i(),u("span",Yn,"未挂号"))],2)]),_:1}),l(R,{label:"确认",width:"88",align:"center"},{default:s(({row:a})=>[He(a)?(i(),u("span",Bn,"已确认")):(i(),u("span",Hn,"未确认"))]),_:1}),l(R,{label:"复诊","min-width":"150"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",Kn,[r("div",jn,c(a.followup_time_text||"—"),1),r("div",Gn,c(a.followup_doctor_name||"—"),1),a.followup_prescription_count>0?(i(),u("div",Xn," 第"+c(a.followup_prescription_count)+"次复诊 ",1)):h("",!0),a.followup_rx_voided?(i(),g(T,{key:1,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[33]||(e[33]=[m(" 处方已作废 ",-1)])]),_:1})):h("",!0)])):(i(),u("span",Jn,"无"))]),_:1}),l(R,{label:"助理","min-width":"120"},{default:s(({row:a})=>[l(tt,{disabled:!Ye(a),content:Ye(a),placement:"top"},{default:s(()=>[r("div",Zn,[r("div",el,c(Qe(a.assistant_id||a.assistant)),1),we(a.assistant_id||a.assistant)?(i(),u("div",tl,c(we(a.assistant_id||a.assistant)),1)):h("",!0)])]),_:2},1032,["disabled","content"])]),_:1}),l(R,{label:"开方","min-width":"96",align:"center"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",al,[e[34]||(e[34]=r("span",{class:"status-prescribed"},"已开方",-1)),r("span",nl,"("+c(a.followup_prescription_count||1)+"次)",1)])):(i(),u("span",ll,"未开方"))]),_:1}),l(R,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:a})=>[r("div",sl,[Tt(a)?(i(),u(D,{key:0},[Lt(a)?(i(),g(tt,{key:0,content:Wt(a),placement:"top"},{default:s(()=>[r("span",il,[l(o,{type:"primary",link:"",size:"small",onClick:x=>Ft(a)},{default:s(()=>[...e[35]||(e[35]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),u("span",ol,c(Ot(a)),1))],64)):(i(),u("span",dl,c(Ut(a)),1))])]),_:1}),l(R,{label:"操作",width:"260",fixed:"right",align:"left"},{default:s(({row:a})=>[r("div",rl,[q((i(),g(o,{type:"primary",link:"",size:"small",onClick:x=>Jt(a.id)},{default:s(()=>[...e[36]||(e[36]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),q((i(),g(o,{type:"success",link:"",size:"small",onClick:x=>la(a)},{default:s(()=>[...e[37]||(e[37]=[m("预约",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/guahao"]]]),q((i(),g(o,{type:"warning",link:"",size:"small",onClick:x=>ia(a)},{default:s(()=>[...e[38]||(e[38]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),l(va,{trigger:"click",onCommand:x=>ea(x,a),placement:"bottom-end"},{dropdown:s(()=>[l(fa,null,{default:s(()=>[n(B)(["tcm.diagnosis/assign"])?(i(),g(X,{key:0,command:"assign"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(pn))]),_:1}),e[40]||(e[40]=m("指派",-1))]),_:1})):h("",!0),le(a)&&n(B)(["tcm.diagnosis/videoQr"])?(i(),g(X,{key:1,command:"videoQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ut))]),_:1}),e[41]||(e[41]=m("视频二维码",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/guahao"])&&le(a)?(i(),g(X,{key:2,command:"confirmQr"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(ut))]),_:1}),e[42]||(e[42]=m("二维码",-1))]),_:1})):h("",!0),Ge(a)&&n(B)(["tcm.diagnosis/guahao"])?(i(),g(X,{key:3,command:"cancelApt"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(cn))]),_:1}),e[43]||(e[43]=m("取消挂号",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/order"])?(i(),g(X,{key:4,command:"order"},{default:s(()=>[l(V,null,{default:s(()=>[l(n(_n))]),_:1}),e[44]||(e[44]=m("创建订单",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/delete"])?(i(),g(X,{key:5,command:"delete",divided:""},{default:s(()=>[l(V,null,{default:s(()=>[l(n(fn))]),_:1}),e[45]||(e[45]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):h("",!0)]),_:2},1024)]),default:s(()=>[l(o,{type:"info",link:"",size:"small"},{default:s(()=>[e[39]||(e[39]=m("更多",-1)),l(V,{class:"el-icon--right"},{default:s(()=>[l(n(rt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[at,n(w).loading]]),r("div",ul,[l(ya,{modelValue:n(w),"onUpdate:modelValue":e[6]||(e[6]=a=>M(w)?w.value=a:null),onChange:n(b)},null,8,["modelValue","onChange"])])])]),_:1}),l(n(ct),{ref_key:"editRef",ref:te,onSuccess:Be},null,512),l(n(_t),{ref_key:"detailRef",ref:$t},null,512),l(n(ft),{ref_key:"appointmentRef",ref:Ke,onSuccess:Be},null,512),l(n(vt),{modelValue:n(me),"onUpdate:modelValue":e[7]||(e[7]=a=>M(me)?me.value=a:null),"diagnosis-id":n(je),onClosed:n(b)},null,8,["modelValue","diagnosis-id","onClosed"]),l(ve,{modelValue:n(z),"onUpdate:modelValue":e[9]||(e[9]=a=>M(z)?z.value=a:null),title:n(Ae),width:"400px","close-on-click-modal":!1},{footer:s(()=>[l(o,{onClick:e[8]||(e[8]=a=>z.value=!1)},{default:s(()=>[...e[48]||(e[48]=[m("关闭",-1)])]),_:1}),n(L)?h("",!0):(i(),g(o,{key:0,type:"primary",onClick:da},{default:s(()=>[...e[49]||(e[49]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var a;return[r("div",ml,[n(L)?(i(),u("div",pl,[l(V,{class:"is-loading",size:40},{default:s(()=>[l(n(vn))]),_:1}),e[46]||(e[46]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(W)?(i(),u("div",cl,[r("img",{src:n(W),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,_l),r("div",fl,[r("div",null,"患者:"+c((a=n(F))==null?void 0:a.patient_name),1),r("div",vl,"挂号时间:"+c(Bt.value),1),e[47]||(e[47]=r("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(i(),u("div",gl," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(Q),"onUpdate:modelValue":e[13]||(e[13]=a=>M(Q)?Q.value=a:null),title:n(ae)==="batch"?"批量指派医助":"指派医助",width:"500px"},{footer:s(()=>[l(o,{onClick:e[12]||(e[12]=a=>Q.value=!1)},{default:s(()=>[...e[52]||(e[52]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Gt,loading:n(Ie)},{default:s(()=>[...e[53]||(e[53]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Te,{model:n(C),"label-width":"100px"},{default:s(()=>[l($,{label:"选择医助",required:""},{default:s(()=>[l(G,{modelValue:n(C).assistant_id,"onUpdate:modelValue":e[10]||(e[10]=a=>n(C).assistant_id=a),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:"","value-key":"id"},{default:s(()=>[(i(!0),u(D,null,I(n(P),a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l($,{label:"继承"},{default:s(()=>[l(ha,{modelValue:n(C).is_inherit,"onUpdate:modelValue":e[11]||(e[11]=a=>n(C).is_inherit=a)},{default:s(()=>[...e[50]||(e[50]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[51]||(e[51]=r("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(ae)==="batch"?(i(),g($,{key:0,label:"已选择"},{default:s(()=>[r("div",yl,c(n(O).length)+" 条诊单记录",1)]),_:1})):(i(),g($,{key:1,label:"诊单信息"},{default:s(()=>{var a,x;return[r("div",hl,[r("div",null,"患者:"+c((a=n(ne))==null?void 0:a.patient_name),1),r("div",null,"诊断日期:"+c((x=n(ne))==null?void 0:x.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(K),"onUpdate:modelValue":e[18]||(e[18]=a=>M(K)?K.value=a:null),title:"创建订单",width:"600px",onClose:Qt},{footer:s(()=>[l(o,{onClick:e[17]||(e[17]=a=>K.value=!1)},{default:s(()=>[...e[54]||(e[54]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Yt,loading:n(Ee)},{default:s(()=>[...e[55]||(e[55]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Te,{ref_key:"orderFormRef",ref:ce,model:n(f),rules:qt,"label-width":"100px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",bl,c(n(f).patient_name)+" ("+c(n(f).phone)+")",1)]),_:1}),l($,{label:"订单类型",prop:"order_type"},{default:s(()=>[l(G,{modelValue:n(f).order_type,"onUpdate:modelValue":e[14]||(e[14]=a=>n(f).order_type=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[l(k,{label:"挂号费",value:1}),l(k,{label:"问诊费",value:2}),l(k,{label:"药品费用",value:3}),l(k,{label:"首付费用",value:4}),l(k,{label:"尾款费用",value:5}),l(k,{label:"其他费用",value:6}),l(k,{label:"全部费用",value:7}),l(k,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l($,{label:"订单金额",prop:"amount"},{default:s(()=>[l(ba,{modelValue:n(f).amount,"onUpdate:modelValue":e[15]||(e[15]=a=>n(f).amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),l($,{label:"备注",prop:"remark"},{default:s(()=>[l(d,{modelValue:n(f).remark,"onUpdate:modelValue":e[16]||(e[16]=a=>n(f).remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ve,{modelValue:n(j),"onUpdate:modelValue":e[21]||(e[21]=a=>M(j)?j.value=a:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[22]||(e[22]=a=>n(N).id_card="")},{footer:s(()=>[l(o,{onClick:e[20]||(e[20]=a=>j.value=!1)},{default:s(()=>[...e[56]||(e[56]=[m("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:oa,loading:n(Ne)},{default:s(()=>[...e[57]||(e[57]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Te,{ref_key:"fillIdCardFormRef",ref:Xe,model:n(N),rules:sa,"label-width":"80px"},{default:s(()=>[l($,{label:"患者"},{default:s(()=>[r("span",kl,c(n(N).patient_name),1)]),_:1}),l($,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(d,{modelValue:n(N).id_card,"onUpdate:modelValue":e[19]||(e[19]=a=>n(N).id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(xa,{modelValue:n(_e),"onUpdate:modelValue":e[24]||(e[24]=a=>M(_e)?_e.value=a:null),title:`企业微信记录 - ${((nt=n(E))==null?void 0:nt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var a,x;return[n(A)?(i(),u("div",Cl,[l(ka,{column:2,border:"",size:"small"},{default:s(()=>[l(ge,{label:"患者姓名"},{default:s(()=>{var y;return[m(c((y=n(E))==null?void 0:y.patient_name),1)]}),_:1}),l(ge,{label:"手机号"},{default:s(()=>[m(c(n(A).phone||"-"),1)]),_:1}),l(ge,{label:"企微联系人ID"},{default:s(()=>[n(A).external_userid?(i(),u("span",Vl,c(n(A).external_userid),1)):(i(),g(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[58]||(e[58]=[m("未关联",-1)])]),_:1}))]),_:1}),l(ge,{label:"会话存档"},{default:s(()=>[n(A).msgaudit_enabled?(i(),g(T,{key:0,type:"success",size:"small"},{default:s(()=>[...e[59]||(e[59]=[m("已开通",-1)])]),_:1})):(i(),g(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[60]||(e[60]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(a=n(A).permit_users)!=null&&a.length?(i(),u("div",xl,[e[61]||(e[61]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(i(!0),u(D,null,I(n(A).permit_users,y=>(i(),g(T,{key:y,size:"small",class:"mr-1"},{default:s(()=>[m(c(y),1)]),_:2},1024))),128))])):h("",!0),(x=n(A).msgaudit_agree)!=null&&x.length?(i(),u("div",Dl,[e[62]||(e[62]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(i(!0),u(D,null,I(n(A).msgaudit_agree,(y,ye)=>(i(),g(T,{key:ye,type:y.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(c(y.userid)+": "+c(y.agree_status==="Agree"?"已同意":y.agree_status),1)]),_:2},1032,["type"]))),128))])):h("",!0)])):h("",!0),l(Ca),r("div",wl,[r("div",El,[l(d,{modelValue:n(Y),"onUpdate:modelValue":e[23]||(e[23]=y=>M(Y)?Y.value=y:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(o,{type:"primary",onClick:pa,loading:n(Se),class:"self-end"},{default:s(()=>[...e[63]||(e[63]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),q((i(),u("div",null,[n(U).length===0?(i(),u("div",Al," 暂无聊天记录 ")):(i(),u("div",Rl,[(i(!0),u(D,null,I(n(U),y=>{var ye;return i(),u("div",{key:y.id,class:"record-item"},[r("div",Il,[r("div",Nl,[l(T,{type:y.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(c(y.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",$l,c(y.direction===0?y.staff_name:y.external_name||((ye=n(E))==null?void 0:ye.patient_name)),1),y.msg_type==="note"?(i(),g(T,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[64]||(e[64]=[m("备注",-1)])]),_:1})):h("",!0)]),r("div",Sl,[r("span",zl,c(ra(y.chat_time)),1),l(o,{type:"danger",link:"",size:"small",onClick:ql=>ca(y.id)},{default:s(()=>[...e[65]||(e[65]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",Tl,c(y.content),1),y.media_url?(i(),u("div",Pl,[l(Va,{src:y.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[y.media_url]},null,8,["src","preview-src-list"])])):h("",!0)])}),128))])),n(fe)>n(U).length?(i(),u("div",Ll,[l(o,{link:"",type:"primary",onClick:ma},{default:s(()=>[...e[66]||(e[66]=[m("加载更多",-1)])]),_:1})])):h("",!0)])),[[at,n($e)]])]}),_:1},8,["modelValue","title"])])}}}),zs=mn(Fl,[["__scopeId","data-v-5f089050"]]);export{zs as default}; diff --git a/server/public/admin/assets/index-B6hZ4N_9.js b/server/public/admin/assets/index-ns6fHpFi.js similarity index 99% rename from server/public/admin/assets/index-B6hZ4N_9.js rename to server/public/admin/assets/index-ns6fHpFi.js index 4803922de..d13bd21e4 100644 --- a/server/public/admin/assets/index-B6hZ4N_9.js +++ b/server/public/admin/assets/index-ns6fHpFi.js @@ -1,4 +1,4 @@ -import{e as ts,i as ss,D as as,ab as ls,ac as os,B as ns,C as is,U as rs,h as ds,Q as us,R as cs,G as ps,J as ms,g as _s,d as gs,r as fs,W as bs,M as vs,O as ys,N as xs,V as ks}from"./element-plus-DGP1XOrU.js";import{s as se,w as Vs}from"./@vue/runtime-dom-DDAG46FW.js";import{M as ut}from"./index-C5r1a79q.js";import{u as hs,e as ws,k,o as C,_ as Ss}from"./index-fRv3NTFQ.js";import{f as Us}from"./diabetes-discovery-display-B_wmGXQJ.js";import{a9 as Cs,q as _e,aa as ct,u as Rs,v as Ns,av as Ds}from"./tcm-CEIBuAeK.js";import{m as Is}from"./medicine-CEgParOp.js";import{P as $s}from"./index-VwsZ7VG0.js";import pt from"./html2canvas-QH1iLAAe.js";import{E as Ps}from"./jspdf-BsthCvR5.js";import{au as Es,a4 as Os,W as Ts,N as zs,G as Ls,O as Ws}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Hs,w as mt,ak as b,I as V,F as j,a as l,M as Ms,aN as n,J as o,O as p,H as h,ap as ae,G as w,aP as As,A as O}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as P,n as v,r as _t}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _,o as gt}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";const js={key:0,class:"prescription-edit"},Fs={class:"info-section"},Bs={class:"info-section"},Gs={class:"info-section info-section--rp"},qs={class:"rp-toolbar",role:"region","aria-label":"中药处方"},Js={class:"rp-toolbar__lead"},Ks={class:"rp-toolbar__text"},Ys={class:"rp-toolbar__meta"},Qs={key:0,class:"rp-toolbar__lock-tip"},Xs={class:"rp-toolbar__actions",role:"toolbar","aria-label":"处方药材快捷操作"},Zs={class:"mb-3"},ea={class:"herb-formula-block"},ta={class:"herb-formula-block__head"},sa={class:"herbs-editor-grid"},aa={class:"herb-editor-card__title"},la={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},oa={class:"herb-editor-card__row"},na={class:"herb-formula-block mt-4"},ia={class:"herb-formula-block__head"},ra={class:"herbs-editor-grid"},da={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},ua={class:"herb-editor-card__row"},ca={key:0,class:"text-sm text-gray-400 py-2"},pa={class:"info-section"},ma={key:3,class:"ml-2"},_a={class:"signature-pad-wrap"},ga={class:"signature-actions"},fa={key:1,class:"rx-wrap"},ba={class:"rx-toolbar"},va={key:0,class:"rx-status rx-status-danger"},ya={key:1,class:"rx-status rx-status-danger"},xa={key:0,class:"mt-1"},ka={class:"prescription-preview-content"},Va={class:"case-record-a3-inner"},ha={class:"case-record-a3-title"},wa={class:"case-record-a3-body"},Sa={class:"cr-section"},Ua={class:"cr-grid"},Ca={class:"cr-item"},Ra={class:"cr-item"},Na={class:"cr-item"},Da={class:"cr-item"},Ia={class:"cr-item"},$a={class:"cr-item"},Pa={class:"cr-item"},Ea={class:"cr-item"},Oa={class:"cr-item"},Ta={class:"cr-item"},za={class:"cr-section"},La={class:"cr-grid"},Wa={class:"cr-item"},Ha={class:"cr-item"},Ma={class:"cr-section"},Aa={class:"cr-grid"},ja={class:"cr-item"},Fa={class:"cr-item"},Ba={class:"cr-item"},Ga={class:"cr-item"},qa={class:"cr-item"},Ja={class:"cr-item cr-full"},Ka={class:"cr-item cr-full"},Ya={class:"cr-section"},Qa={class:"cr-grid"},Xa={class:"cr-item cr-full"},Za={class:"cr-item cr-full"},el={class:"cr-item cr-full"},tl={class:"cr-item cr-full"},sl={class:"cr-item cr-full"},al={class:"cr-item cr-full"},ll={class:"cr-item cr-full"},ol={class:"cr-item cr-full"},nl={class:"cr-item cr-full"},il={class:"cr-item cr-full"},rl={class:"cr-item cr-full"},dl={class:"cr-item cr-full"},ul={class:"cr-item cr-full"},cl={class:"cr-item cr-full"},pl={class:"cr-item cr-full"},ml={class:"cr-section"},_l={class:"cr-item cr-full"},gl={class:"cr-section"},fl={class:"cr-grid"},bl={class:"cr-item"},vl={class:"cr-item"},yl={class:"cr-item"},xl={class:"cr-item"},kl={class:"cr-item"},Vl={class:"cr-section"},hl={key:0,class:"cr-grid"},wl={class:"cr-item cr-full"},Sl={class:"cr-images"},Ul=["src"],Cl={class:"cr-grid"},Rl={class:"cr-item cr-full"},Nl={key:2,class:"rx-audit"},Dl={key:0},Il={key:0,class:"ml-2 text-gray-400"},$l={key:1,class:"mt-1"},Pl={class:"flex justify-end gap-2 mt-4"},El={class:"inline-block"},Ol={class:"flex justify-end gap-2"},Tl={class:"mb-4 flex gap-3"},zl={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Ll={key:0},Wl={key:1,class:"text-gray-400"},Hl={class:"flex justify-end mt-4"},Ml={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},le=560,oe=168,Al=Hs({__name:"index",emits:["success"],setup(jl,{expose:ft,emit:bt}){function F(s){return s==="辅方"?"辅方":"主方"}function Ie(s){const e={name:String((s==null?void 0:s.name)??"").trim(),dosage:Number(s==null?void 0:s.dosage)||0,formula_type:F(s==null?void 0:s.formula_type)},i=Number((s==null?void 0:s.medicine_id)??(s==null?void 0:s.id)??0);return Number.isInteger(i)&&i>0&&(e.medicine_id=i),((s==null?void 0:s.locked)===!0||(s==null?void 0:s.locked)===1)&&(e.locked=!0),e}function ne(s="浓缩水丸"){return s==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:s==="浓缩水丸"?{dosage_amount:5,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:{dosage_amount:1,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}}const $e=bt,z=v(!1),vt=v(),ge=v(!1),fe=v(!1),Pe=v(null),Ee=v(),L=v(),ie=v(null),c=v(null),Oe=v("internal"),be=v(!1),re=O(()=>{const s=c.value;return s?Number(s.audit_status)===1&&Number(s.void_status)!==1:!1}),Te=O(()=>{const s=c.value;return s?Number(s.has_prescription_order)===1:!1}),yt=O(()=>re.value?"查看处方":"中医处方单");function xt(s){if(!s)return"";const e=new Date(s*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}const ze=O(()=>t.herbs.map((s,e)=>({herb:s,index:e})).filter(({herb:s})=>F(s.formula_type)==="主方")),Q=O(()=>t.herbs.map((s,e)=>({herb:s,index:e})).filter(({herb:s})=>F(s.formula_type)==="辅方")),kt=O(()=>ze.value.length),Vt=O(()=>Q.value.length),I=O(()=>t.herbs.some(s=>s.locked===!0)),ve=O(()=>{var e;const s=Number((e=we.userInfo)==null?void 0:e.id);return s>0?s:0}),W=v(!1),ye=v(!1),xe=v([]),X=v(""),Z=v(""),B=v("replace"),G=v(!1),q=v(1),de=v(15),ke=v(0),J=v(!1),K=v(""),ue=v("replace"),Ve=v(!1),ht=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function wt(s){let e=s.replace(/\r\n/g,` +import{e as ts,i as ss,D as as,ab as ls,ac as os,B as ns,C as is,U as rs,h as ds,Q as us,R as cs,G as ps,J as ms,g as _s,d as gs,r as fs,W as bs,M as vs,O as ys,N as xs,V as ks}from"./element-plus-DGP1XOrU.js";import{s as se,w as Vs}from"./@vue/runtime-dom-DDAG46FW.js";import{M as ut}from"./index-D6w2Tfd_.js";import{u as hs,e as ws,k,o as C,_ as Ss}from"./index-J_eFER10.js";import{f as Us}from"./diabetes-discovery-display-B_wmGXQJ.js";import{a9 as Cs,q as _e,aa as ct,u as Rs,v as Ns,av as Ds}from"./tcm-D-ZRccbe.js";import{m as Is}from"./medicine-DIQyk1R0.js";import{P as $s}from"./index-qwVd4UhY.js";import pt from"./html2canvas-QH1iLAAe.js";import{E as Ps}from"./jspdf-BsthCvR5.js";import{au as Es,a4 as Os,W as Ts,N as zs,G as Ls,O as Ws}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Hs,w as mt,ak as b,I as V,F as j,a as l,M as Ms,aN as n,J as o,O as p,H as h,ap as ae,G as w,aP as As,A as O}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as P,n as v,r as _t}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _,o as gt}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";const js={key:0,class:"prescription-edit"},Fs={class:"info-section"},Bs={class:"info-section"},Gs={class:"info-section info-section--rp"},qs={class:"rp-toolbar",role:"region","aria-label":"中药处方"},Js={class:"rp-toolbar__lead"},Ks={class:"rp-toolbar__text"},Ys={class:"rp-toolbar__meta"},Qs={key:0,class:"rp-toolbar__lock-tip"},Xs={class:"rp-toolbar__actions",role:"toolbar","aria-label":"处方药材快捷操作"},Zs={class:"mb-3"},ea={class:"herb-formula-block"},ta={class:"herb-formula-block__head"},sa={class:"herbs-editor-grid"},aa={class:"herb-editor-card__title"},la={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},oa={class:"herb-editor-card__row"},na={class:"herb-formula-block mt-4"},ia={class:"herb-formula-block__head"},ra={class:"herbs-editor-grid"},da={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},ua={class:"herb-editor-card__row"},ca={key:0,class:"text-sm text-gray-400 py-2"},pa={class:"info-section"},ma={key:3,class:"ml-2"},_a={class:"signature-pad-wrap"},ga={class:"signature-actions"},fa={key:1,class:"rx-wrap"},ba={class:"rx-toolbar"},va={key:0,class:"rx-status rx-status-danger"},ya={key:1,class:"rx-status rx-status-danger"},xa={key:0,class:"mt-1"},ka={class:"prescription-preview-content"},Va={class:"case-record-a3-inner"},ha={class:"case-record-a3-title"},wa={class:"case-record-a3-body"},Sa={class:"cr-section"},Ua={class:"cr-grid"},Ca={class:"cr-item"},Ra={class:"cr-item"},Na={class:"cr-item"},Da={class:"cr-item"},Ia={class:"cr-item"},$a={class:"cr-item"},Pa={class:"cr-item"},Ea={class:"cr-item"},Oa={class:"cr-item"},Ta={class:"cr-item"},za={class:"cr-section"},La={class:"cr-grid"},Wa={class:"cr-item"},Ha={class:"cr-item"},Ma={class:"cr-section"},Aa={class:"cr-grid"},ja={class:"cr-item"},Fa={class:"cr-item"},Ba={class:"cr-item"},Ga={class:"cr-item"},qa={class:"cr-item"},Ja={class:"cr-item cr-full"},Ka={class:"cr-item cr-full"},Ya={class:"cr-section"},Qa={class:"cr-grid"},Xa={class:"cr-item cr-full"},Za={class:"cr-item cr-full"},el={class:"cr-item cr-full"},tl={class:"cr-item cr-full"},sl={class:"cr-item cr-full"},al={class:"cr-item cr-full"},ll={class:"cr-item cr-full"},ol={class:"cr-item cr-full"},nl={class:"cr-item cr-full"},il={class:"cr-item cr-full"},rl={class:"cr-item cr-full"},dl={class:"cr-item cr-full"},ul={class:"cr-item cr-full"},cl={class:"cr-item cr-full"},pl={class:"cr-item cr-full"},ml={class:"cr-section"},_l={class:"cr-item cr-full"},gl={class:"cr-section"},fl={class:"cr-grid"},bl={class:"cr-item"},vl={class:"cr-item"},yl={class:"cr-item"},xl={class:"cr-item"},kl={class:"cr-item"},Vl={class:"cr-section"},hl={key:0,class:"cr-grid"},wl={class:"cr-item cr-full"},Sl={class:"cr-images"},Ul=["src"],Cl={class:"cr-grid"},Rl={class:"cr-item cr-full"},Nl={key:2,class:"rx-audit"},Dl={key:0},Il={key:0,class:"ml-2 text-gray-400"},$l={key:1,class:"mt-1"},Pl={class:"flex justify-end gap-2 mt-4"},El={class:"inline-block"},Ol={class:"flex justify-end gap-2"},Tl={class:"mb-4 flex gap-3"},zl={class:"mb-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Ll={key:0},Wl={key:1,class:"text-gray-400"},Hl={class:"flex justify-end mt-4"},Ml={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},le=560,oe=168,Al=Hs({__name:"index",emits:["success"],setup(jl,{expose:ft,emit:bt}){function F(s){return s==="辅方"?"辅方":"主方"}function Ie(s){const e={name:String((s==null?void 0:s.name)??"").trim(),dosage:Number(s==null?void 0:s.dosage)||0,formula_type:F(s==null?void 0:s.formula_type)},i=Number((s==null?void 0:s.medicine_id)??(s==null?void 0:s.id)??0);return Number.isInteger(i)&&i>0&&(e.medicine_id=i),((s==null?void 0:s.locked)===!0||(s==null?void 0:s.locked)===1)&&(e.locked=!0),e}function ne(s="浓缩水丸"){return s==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:s==="浓缩水丸"?{dosage_amount:5,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:{dosage_amount:1,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}}const $e=bt,z=v(!1),vt=v(),ge=v(!1),fe=v(!1),Pe=v(null),Ee=v(),L=v(),ie=v(null),c=v(null),Oe=v("internal"),be=v(!1),re=O(()=>{const s=c.value;return s?Number(s.audit_status)===1&&Number(s.void_status)!==1:!1}),Te=O(()=>{const s=c.value;return s?Number(s.has_prescription_order)===1:!1}),yt=O(()=>re.value?"查看处方":"中医处方单");function xt(s){if(!s)return"";const e=new Date(s*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}const ze=O(()=>t.herbs.map((s,e)=>({herb:s,index:e})).filter(({herb:s})=>F(s.formula_type)==="主方")),Q=O(()=>t.herbs.map((s,e)=>({herb:s,index:e})).filter(({herb:s})=>F(s.formula_type)==="辅方")),kt=O(()=>ze.value.length),Vt=O(()=>Q.value.length),I=O(()=>t.herbs.some(s=>s.locked===!0)),ve=O(()=>{var e;const s=Number((e=we.userInfo)==null?void 0:e.id);return s>0?s:0}),W=v(!1),ye=v(!1),xe=v([]),X=v(""),Z=v(""),B=v("replace"),G=v(!1),q=v(1),de=v(15),ke=v(0),J=v(!1),K=v(""),ue=v("replace"),Ve=v(!1),ht=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function wt(s){let e=s.replace(/\r\n/g,` `).replace(/\r/g,` `);return e=e.replace(/[0-9]/g,i=>String.fromCharCode(i.charCodeAt(0)-65296+48)),e.trim()}function St(s){return s.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function he(s){return s.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Le(s){const e=s.trim();if(!e||ht.test(e)||/^\d/.test(e)||/^\d+\s*剂$/.test(e))return null;const i=e.match(/^(.+)\s*各\s*(\d+(?:\.\d+)?)\s*(?:克|g|G)?$/i);if(i){const y=parseFloat(i[2]);if(!Number.isFinite(y)||y<=0)return null;const g=i[1].split(/[、,,\s]+/).map(f=>f.trim()).filter(Boolean);return g.length?g.map(f=>({name:he(f),dosage:y})):null}const r=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(r){const y=he(r[1].trim()),g=parseFloat(r[2]);return!y||!Number.isFinite(g)||g<=0?null:[{name:y,dosage:g}]}const m=he(e);return m.length>=2&&m.length<=16?[{name:m,dosage:6}]:null}function Ut(s){const e=St(wt(s)),i=[];for(const r of e.split(/\n+/)){const m=r.trim();if(m)for(const y of m.split(/[、,,;;]/)){const g=y.trim();if(g)if(/\s/.test(g)&&!Le(g)){const f=g.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const S of f){const d=S.trim();d&&i.push(d)}}else i.push(g)}}return i}function Ct(s){const e=[];for(const i of Ut(s)){const r=Le(i);r&&e.push(...r)}return e}async function Rt(s){const e=s.trim();if(!e)return null;try{const m=((await Is({name:e,page_no:1,page_size:200,status:1})).lists||[]).filter(y=>(y.name??"").trim()===e);return m.length===1?{medicine_id:Number(m[0].id),name:m[0].name.trim()}:null}catch{return null}}function Nt(){J.value=!0}async function Dt(){const s=Ct(K.value);if(!s.length){k.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}Ve.value=!0;try{const e=[],i=[];for(const g of s){const f=await Rt(g.name);if(!f){i.push(g.name.trim());continue}e.push({...f,dosage:g.dosage,formula_type:"主方"})}const r=[...new Set(i.filter(Boolean))];if(e.length===0){k.msgWarning(r.length?`药品库中无以下完全同名药材,未录入:${r.join("、")}`:"未能匹配到药品库中的药材");return}if(ue.value==="replace"){const g=t.herbs.filter(f=>F(f.formula_type)==="辅方");t.herbs=[...g,...e]}else t.herbs.push(...e);const m=De(),y=r.length>0?`;药品库未收录已跳过:${r.join("、")}`:"";m.length?k.msgWarning(`已导入 ${e.length} 味药材${y}。存在重复药名:${m.join("、")},请合并剂量或删除多余行`):r.length?k.msgSuccess(`已导入 ${e.length} 味药材${y},请核对剂量`):k.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),J.value=!1,K.value=""}finally{Ve.value=!1}}const We=_t({stationName:"成都双流甄养堂互联网医院",showDisclaimer:!0,disclaimer:""}),t=_t({diagnosis_id:0,appointment_id:0,prescription_name:"",prescription_type:"浓缩水丸",dosage_amount:10,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:0,gender_desc:"女",age:0,phone:"",visit_no:"",prescription_date:"",pulse:"",tongue:"",tongue_image:"",pulse_condition:"",clinical_diagnosis:"",case_record:null,herbs:[],dose_count:1,dose_unit:"剂",usage_days:7,times_per_day:2,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",amount:0,doctor_name:"",doctor_signature:"",is_shared:0,aux_usage:ne("浓缩水丸")}),we=hs(),It=ws(),$t=s=>{const e=typeof s=="string"?s:(s==null?void 0:s.url)??(s==null?void 0:s.uri)??(s==null?void 0:s.path)??"";return e?String(e).startsWith("http")?e:It.getImageUrl(e):""},Se=v([]),Ue=v([]),He=v([]),Me=v([]),Ae=v([]),je=v([]),Fe=v([]),Be=v([]),Ge=v([]),qe=v([]),Je=v([]),Ke=v([]),Ye=v([]),Qe=v([]),Xe=v([]),Ze=v([]),et=v([]),tt=v([]),T=(s,e)=>{if(!e)return"";const i=s.find(r=>r.value===e);return i?i.name:e},st=async()=>{try{const[s,e,i,r,m,y,g,f,S,d,U,N,$,H,M,Y,ee,te]=await Promise.all([C({type:"diagnosis_type"}),C({type:"syndrome_type"}),C({type:"diabetes_type"}),C({type:"past_history"}),C({type:"appetite"}),C({type:"water_intake"}),C({type:"diet_condition"}),C({type:"weight_change"}),C({type:"body_feeling"}),C({type:"sleep_condition"}),C({type:"eye_condition"}),C({type:"head_feeling"}),C({type:"sweat_condition"}),C({type:"skin_condition"}),C({type:"urine_condition"}),C({type:"stool_condition"}),C({type:"kidney_condition"}),C({type:"fatty_liver_degree"})]);Se.value=(s==null?void 0:s.diagnosis_type)||[],Ue.value=(e==null?void 0:e.syndrome_type)||[],He.value=(i==null?void 0:i.diabetes_type)||[],Me.value=(r==null?void 0:r.past_history)||[],Ae.value=(m==null?void 0:m.appetite)||[],je.value=(y==null?void 0:y.water_intake)||[],Fe.value=(g==null?void 0:g.diet_condition)||[],Be.value=(f==null?void 0:f.weight_change)||[],Ge.value=(S==null?void 0:S.body_feeling)||[],qe.value=(d==null?void 0:d.sleep_condition)||[],Je.value=(U==null?void 0:U.eye_condition)||[],Ke.value=(N==null?void 0:N.head_feeling)||[],Ye.value=($==null?void 0:$.sweat_condition)||[],Qe.value=(H==null?void 0:H.skin_condition)||[],Xe.value=(M==null?void 0:M.urine_condition)||[],Ze.value=(Y==null?void 0:Y.stool_condition)||[],et.value=(ee==null?void 0:ee.kidney_condition)||[],tt.value=(te==null?void 0:te.fatty_liver_degree)||[]}catch{}},D=(s,e)=>{if(!e||Array.isArray(e)&&e.length===0)return"—";const r=(Array.isArray(e)?e:typeof e=="string"?e.split(","):[]).map(m=>{const y=s.find(g=>g.value===m);return y?y.name:m}).filter(Boolean);return r.length?r.join("、"):"—"},Pt=s=>!s||Array.isArray(s)&&s.length===0?"—":(Array.isArray(s)?s:typeof s=="string"?s.split(","):[]).filter(Boolean).join("、")||"—",Et=s=>{var m;if((m=s==null?void 0:s.symptoms)!=null&&m.trim())return s.symptoms.trim();const e=T(Se.value,s==null?void 0:s.diagnosis_type),i=T(Ue.value,s==null?void 0:s.syndrome_type),r=[e,i].filter(Boolean);return r.length?r.join(" "):""},Ot=async(s,e)=>{var i;if(G.value){console.warn("处方正在打开中,请勿重复点击");return}G.value=!0;try{e!=null&&e.stationName&&(We.stationName=e.stationName);const r=s.diagnosis||s,m=s.diagnosis_id??(r==null?void 0:r.id)??s.id;if(!m){k.msgWarning("缺少诊单信息");return}await st();const y=Number(s.id??s.appointment_id??0);if(y)try{const f=await Cs({appointment_id:y});if(console.log("-----------",f),f!=null&&f.id){const S=await _e({id:f.id});c.value=S,z.value=!0;return}}catch{}let g=s.case_record&&Object.keys(s.case_record).length>0?s.case_record:null;if(!g&&m)try{const f=await ct({id:Number(m)});g=f&&typeof f=="object"?f:null}catch(f){console.warn("获取诊单详情失败:",f)}t.diagnosis_id=Number(m),t.appointment_id=y,t.prescription_name="",t.prescription_type="浓缩水丸",t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1,t.patient_name=s.patient_name||r.patient_name||"",t.gender=s.patient_gender??r.gender??0,t.gender_desc=t.gender===1?"男":"女",t.age=s.patient_age??r.age??0,t.phone=s.patient_phone||r.phone||"",t.visit_no=s.id?`1K${String(s.id).padStart(8,"0")}`:"",t.prescription_date=new Date().toISOString().slice(0,10),t.pulse=r.pulse||"",t.tongue=r.tongue_coating||r.tongue||"",t.tongue_image="",t.pulse_condition="",t.clinical_diagnosis=Et(r),t.case_record=g,t.herbs=[],t.dose_count=1,t.dose_unit="剂",t.usage_days=7,t.usage_instruction="",t.usage_time="饭后",t.usage_way="温水送服",t.dietary_taboo=[],t.usage_notes="",t.amount=0,t.doctor_name=((i=we.userInfo)==null?void 0:i.name)||"",t.doctor_signature="",t.is_shared=0,t.need_decoction=!1,t.bags_per_dose=1,t.times_per_day=2,Object.assign(t.aux_usage,ne("浓缩水丸")),c.value=null,z.value=!0,setTimeout(()=>Re(),100)}finally{setTimeout(()=>{G.value=!1},500)}},Tt=async(s,e)=>{if(G.value){console.warn("处方正在打开中,请勿重复点击");return}G.value=!0,Oe.value=(e==null?void 0:e.slipType)??"internal",be.value=(e==null?void 0:e.hideCaseRecord)??!1;try{const i=await _e({id:s});c.value=i,i!=null&&i.case_record&&Object.keys(i.case_record).length>0&&await st(),z.value=!0}catch{k.msgError("加载处方失败")}finally{setTimeout(()=>{G.value=!1},500)}},Ce=()=>{z.value=!1,c.value=null,Oe.value="internal",be.value=!1},at=s=>{const e=L.value;if(!e)return{x:0,y:0};const i=e.getBoundingClientRect();if(i.width<=0||i.height<=0)return{x:0,y:0};const r=(s.clientX-i.left)/i.width*le,m=(s.clientY-i.top)/i.height*oe;return{x:Math.max(0,Math.min(le,r)),y:Math.max(0,Math.min(oe,m))}},zt=()=>{const s=L.value;s&&(t.doctor_signature=s.toDataURL("image/png"))},Lt=s=>{if(s.pointerType==="mouse"&&s.button!==0)return;const e=L.value,i=e==null?void 0:e.getContext("2d");if(!e||!i)return;e.setPointerCapture(s.pointerId),ie.value=s.pointerId;const{x:r,y:m}=at(s);i.beginPath(),i.moveTo(r,m)},Wt=s=>{var m;if(ie.value!==s.pointerId)return;const e=(m=L.value)==null?void 0:m.getContext("2d");if(!e)return;const{x:i,y:r}=at(s);e.lineTo(i,r),e.stroke(),e.beginPath(),e.moveTo(i,r)},lt=s=>{if(ie.value!==s.pointerId)return;ie.value=null;const e=L.value;if(e)try{e.releasePointerCapture(s.pointerId)}catch{}zt()},Ht=()=>{Re(),t.doctor_signature=""},Re=()=>{const s=L.value;if(!s)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);s.style.width=`${le}px`,s.style.height=`${oe}px`,s.width=Math.round(le*e),s.height=Math.round(oe*e);const i=s.getContext("2d");i&&(i.setTransform(1,0,0,1,0,0),i.scale(e,e),i.fillStyle="#fff",i.fillRect(0,0,le,oe),i.strokeStyle="#333",i.lineWidth=2.5,i.lineCap="round",i.lineJoin="round")};function Ne(s){return(s??"").trim()}function ce(s){var m,y;const e=t.herbs,i=Ne((m=e[s])==null?void 0:m.name);if(!i)return!1;let r=0;for(let g=0;g1}function De(){const s=new Map;for(const e of t.herbs){const i=Ne(e==null?void 0:e.name);i&&s.set(i,(s.get(i)??0)+1)}return[...s.entries()].filter(([,e])=>e>1).map(([e])=>e)}const ot=(s="主方")=>{if(I.value){k.msgWarning("该处方含「禁用修改」模板,药材已锁定,请重新从处方库导入覆盖");return}t.herbs.push({name:"",dosage:6,formula_type:s})},nt=s=>{if(I.value){k.msgWarning("该处方含「禁用修改」模板,药材已锁定,不可删除");return}t.herbs.splice(s,1)},pe=async()=>{const s=ve.value;if(!s){k.msgWarning("无法确定开方医师,无法加载处方库"),xe.value=[],ke.value=0;return}ye.value=!0;try{const e=await Rs({page_no:q.value,page_size:de.value,prescription_name:X.value,formula_type:Z.value,prescribing_creator_id:s});xe.value=e.lists||[],ke.value=e.count||0}catch(e){console.error("加载处方库失败:",e),k.msgError("加载处方库失败")}finally{ye.value=!1}},me=()=>{q.value=1,pe()},Mt=()=>{if(!ve.value){k.msgWarning("无法确定开方医师,无法从处方库导入");return}W.value=!0},At=s=>{it(s)},it=s=>{if(!s.herbs||s.herbs.length===0){k.msgWarning("该处方没有药材信息");return}const e=F(s.formula_type),i=Number(s==null?void 0:s.disable_edit)===1,r=JSON.parse(JSON.stringify(s.herbs)).map(y=>{const g=Ie(y);return g.formula_type=e,i?g.locked=!0:delete g.locked,g});if(B.value==="replace"){const y=t.herbs.filter(g=>F(g.formula_type)!==e);t.herbs=[...y,...r]}else t.herbs.push(...r);const m=B.value==="append"?"(已追加)":"";De().length?k.msgWarning(`已导入处方「${s.prescription_name}」${m},共${r.length}味药材。存在重复药名,请合并剂量或删除多余行`):k.msgSuccess(`已导入处方「${s.prescription_name}」${m},共${r.length}味药材`),W.value=!1};mt(W,s=>{if(s){if(!ve.value){k.msgWarning("无法确定开方医师,无法从处方库导入"),W.value=!1;return}X.value="",Z.value="",B.value="replace",q.value=1,pe()}}),mt(()=>t.prescription_type,s=>{s==="浓缩水丸"?(t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1,t.need_decoction=!1,t.bags_per_dose=1):s==="饮片"?(t.dosage_unit="ml",t.dosage_amount=50,t.dosage_bag_count=1,t.bags_per_dose=1):(t.dosage_unit="g",t.dosage_amount=void 0,t.dosage_bag_count=1,t.need_decoction=!1,t.bags_per_dose=1),Object.assign(t.aux_usage,ne(s))});const jt=async()=>{var e,i,r;if(!((e=t.clinical_diagnosis)!=null&&e.trim())){k.msgWarning("请输入临床诊断");return}if(t.herbs.length===0){k.msgWarning("请至少添加一味中药");return}const s=De();if(s.length){k.msgWarning(`存在重复药名:${s.join("、")},请合并剂量或删除多余行后再保存`);return}for(const m of t.herbs){if(!((i=m.name)!=null&&i.trim())){k.msgWarning("请填写中药名称");return}if(!m.dosage||m.dosage<=0){k.msgWarning(`请填写「${m.name}」的剂量`);return}}if(!((r=t.doctor_signature)!=null&&r.trim())){k.msgWarning("请使用电子签名板手写医师签名");return}ge.value=!0;try{const m=await Ns({diagnosis_id:t.diagnosis_id,appointment_id:t.appointment_id,prescription_name:t.prescription_name,prescription_type:t.prescription_type,patient_name:t.patient_name,gender:t.gender,age:t.age,phone:t.phone,visit_no:t.visit_no,prescription_date:t.prescription_date,pulse:t.pulse,tongue:t.tongue,tongue_image:t.tongue_image,pulse_condition:t.pulse_condition,clinical_diagnosis:t.clinical_diagnosis,case_record:t.case_record,herbs:t.herbs.map(g=>Ie(g)),aux_usage:Q.value.length>0?{...t.aux_usage}:null,dose_count:t.dose_count,dose_unit:t.dose_unit,dosage_amount:t.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:t.dosage_bag_count,need_decoction:t.need_decoction,bags_per_dose:t.bags_per_dose,usage_days:t.usage_days,times_per_day:t.times_per_day,usage_instruction:t.usage_instruction,usage_time:t.usage_time,usage_way:t.usage_way,dietary_taboo:t.dietary_taboo,usage_notes:t.usage_notes,amount:t.amount,doctor_name:t.doctor_name,doctor_signature:t.doctor_signature,is_shared:t.is_shared}),y=m==null?void 0:m.id;if(y){const g=await _e({id:y});c.value=g,$e("success")}else k.msgError("保存失败")}catch(m){k.msgError((m==null?void 0:m.msg)||"保存失败")}finally{ge.value=!1}},Ft=s=>{if(!s)return"—";const e=new Date(s*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},Bt=async()=>{var e,i;const s=(e=c.value)==null?void 0:e.id;if(s){if(Number((i=c.value)==null?void 0:i.has_prescription_order)===1){k.msgWarning("该处方已存在业务订单,无法作废");return}try{await k.confirm("确定要作废该处方吗?作废后不可恢复。"),fe.value=!0,await Ds({id:s}),k.msgSuccess("作废成功");const r=await _e({id:s});c.value=r,$e("success")}catch(r){r!=="cancel"&&(r==null?void 0:r.message)!=="cancel"&&k.msgError((r==null?void 0:r.msg)||"作废失败")}finally{fe.value=!1}}},Gt=async s=>{if(!s)return null;try{const e=await ct({id:s});return e&&typeof e=="object"?e:null}catch(e){return console.warn("获取诊单详情失败:",e),null}},qt=async()=>{var e;const s=c.value;s&&(t.diagnosis_id=s.diagnosis_id??t.diagnosis_id,t.appointment_id=s.appointment_id??t.appointment_id,t.prescription_name="",t.prescription_type=s.prescription_type||"浓缩水丸",t.prescription_type==="浓缩水丸"?(t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1):t.prescription_type==="饮片"?(t.dosage_unit="ml",t.dosage_amount=50,t.dosage_bag_count=1):(t.dosage_unit="g",t.dosage_amount=void 0,t.dosage_bag_count=1),t.patient_name=s.patient_name||"",t.gender=s.gender??0,t.gender_desc=s.gender===1?"男":"女",t.age=s.age??0,t.phone=s.phone||"",t.visit_no=s.visit_no||"",t.prescription_date=new Date().toISOString().slice(0,10),t.pulse=s.pulse||"",t.tongue=s.tongue||"",t.tongue_image="",t.pulse_condition="",t.clinical_diagnosis=s.clinical_diagnosis||"",t.dose_count=1,t.dose_unit=s.dose_unit||"剂",t.usage_days=7,t.usage_instruction="",t.usage_time="饭后",t.usage_way="温水送服",t.dietary_taboo=[],t.usage_notes="",t.amount=0,t.doctor_name=((e=we.userInfo)==null?void 0:e.name)||s.doctor_name||"",t.doctor_signature="",t.is_shared=0,t.herbs=[],Object.assign(t.aux_usage,ne(t.prescription_type||"浓缩水丸")),t.case_record=s.case_record&&Object.keys(s.case_record).length>0?s.case_record:await Gt(Number(t.diagnosis_id)),setTimeout(()=>Re(),100)),c.value=null},rt=async()=>{var e;const s=((e=Pe.value)==null?void 0:e.paperEl)??null;if(!s)throw new Error("未找到处方内容");return pt(s,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})},Jt=async s=>{const e=s.querySelectorAll('img[src^="http"]'),i=Array.from(e).map(async r=>{try{const m=await fetch(r.src,{mode:"cors"});if(!m.ok)return;const y=await m.blob(),g=await new Promise((f,S)=>{const d=new FileReader;d.onload=()=>f(d.result),d.onerror=S,d.readAsDataURL(y)});r.src=g}catch{}});await Promise.allSettled(i)},Kt=async()=>{const s=Ee.value;return s?(s.scrollIntoView({behavior:"instant",block:"nearest"}),await Jt(s),await new Promise(e=>setTimeout(e,200)),pt(s,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})):null},Yt=async()=>{var s;try{const e=await rt(),i=document.createElement("a");i.download=`处方_${((s=c.value)==null?void 0:s.patient_name)||"未命名"}_${Date.now()}.png`,i.href=e.toDataURL("image/png"),i.click(),k.msgSuccess("图片已下载")}catch{k.msgError("下载图片失败")}},Qt=async()=>{var s;try{const e=await rt(),i=e.toDataURL("image/png"),r=new Ps({orientation:"portrait",unit:"mm",format:"a5"}),m=r.internal.pageSize.getWidth(),y=r.internal.pageSize.getHeight(),g=Math.min(m/e.width,y/e.height),f=e.width*g,S=e.height*g;r.addImage(i,"PNG",0,0,f,S);const d=await Kt();if(d){r.addPage("a3","p");const $=Math.min(297/d.width,420/d.height),H=d.width*$,M=d.height*$;r.addImage(d.toDataURL("image/png"),"PNG",0,0,H,M)}r.save(`处方_${((s=c.value)==null?void 0:s.patient_name)||"未命名"}_${Date.now()}.pdf`),k.msgSuccess("PDF已下载")}catch{k.msgError("下载PDF失败")}};return ft({open:Ot,openById:Tt}),(s,e)=>{const i=ns,r=os,m=is,y=ls,g=rs,f=ss,S=ds,d=cs,U=us,N=ms,$=ps,H=_s,M=as,Y=gs,ee=fs,te=ts,A=ys,Xt=xs,Zt=ks,dt=bs,es=vs;return b(),V(j,null,[l(te,{modelValue:a(z),"onUpdate:modelValue":e[31]||(e[31]=x=>P(z)?z.value=x:null),title:a(yt),size:"1200px","close-on-click-modal":!1,onClose:Ce},Ms({default:n(()=>{var x,E;return[a(c)?(b(),V("div",fa,[o("div",ba,[a(c).void_status===1?(b(),w(g,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[70]||(e[70]=[p("已作废",-1)])]),_:1})):a(re)?(b(),w(g,{key:1,type:"success",size:"small"},{default:n(()=>[...e[71]||(e[71]=[p("已通过",-1)])]),_:1})):Number(a(c).audit_status)===0?(b(),w(g,{key:2,type:"warning",size:"small"},{default:n(()=>[...e[72]||(e[72]=[p("待审核",-1)])]),_:1})):Number(a(c).audit_status)===2?(b(),w(g,{key:3,type:"danger",size:"small"},{default:n(()=>[...e[73]||(e[73]=[p("已驳回",-1)])]),_:1})):h("",!0),e[74]||(e[74]=o("div",{class:"flex-1"},null,-1))]),a(c).void_status===1?(b(),V("div",va," 作废人:"+_(a(c).void_by_name||"—")+",作废时间:"+_(Ft(a(c).void_time)),1)):Number(a(c).audit_status)===2?(b(),V("div",ya,[e[75]||(e[75]=o("div",{class:"font-medium"},"处方审核:已驳回",-1)),a(c).audit_remark?(b(),V("div",xa,"驳回意见:"+_(a(c).audit_remark),1)):h("",!0)])):h("",!0),o("div",ka,[a(c)?(b(),w($s,{key:0,ref_key:"rxSlipRef",ref:Pe,data:a(c)},null,8,["data"])):h("",!0),a(c).case_record&&!a(be)?(b(),V("div",{key:1,ref_key:"caseRecordPrintRef",ref:Ee,class:"case-record-a3"},[o("div",Va,[o("h2",ha,_(a(We).stationName)+" 详细病历",1),o("div",wa,[o("div",Sa,[e[86]||(e[86]=o("div",{class:"cr-section-title"},"基本信息",-1)),o("div",Ua,[o("div",Ca,[e[76]||(e[76]=o("span",{class:"cr-label"},"诊单ID",-1)),p(_(a(c).case_record.patient_id||"—"),1)]),o("div",Ra,[e[77]||(e[77]=o("span",{class:"cr-label"},"姓名",-1)),p(_(a(c).case_record.patient_name||"—"),1)]),o("div",Na,[e[78]||(e[78]=o("span",{class:"cr-label"},"身份证号",-1)),p(_(a(c).case_record.id_card||"—"),1)]),o("div",Da,[e[79]||(e[79]=o("span",{class:"cr-label"},"手机号",-1)),p(_(a(c).case_record.phone||"—"),1)]),o("div",Ia,[e[80]||(e[80]=o("span",{class:"cr-label"},"性别",-1)),p(_(a(c).gender_desc),1)]),o("div",$a,[e[81]||(e[81]=o("span",{class:"cr-label"},"年龄",-1)),p(_(a(c).case_record.age??"—")+"岁",1)]),o("div",Pa,[e[82]||(e[82]=o("span",{class:"cr-label"},"婚姻状态",-1)),p(_(["未婚","已婚","离异"][a(c).case_record.marital_status]??"—"),1)]),o("div",Ea,[e[83]||(e[83]=o("span",{class:"cr-label"},"身高",-1)),p(_(a(c).case_record.height??"—")+"cm",1)]),o("div",Oa,[e[84]||(e[84]=o("span",{class:"cr-label"},"体重",-1)),p(_(a(c).case_record.weight??"—")+"kg",1)]),o("div",Ta,[e[85]||(e[85]=o("span",{class:"cr-label"},"地区",-1)),p(_(a(c).case_record.region||"—"),1)])])]),o("div",za,[e[89]||(e[89]=o("div",{class:"cr-section-title"},"生命体征",-1)),o("div",La,[o("div",Wa,[e[87]||(e[87]=o("span",{class:"cr-label"},"血压",-1)),p(_(a(c).case_record.systolic_pressure!=null&&a(c).case_record.diastolic_pressure!=null?a(c).case_record.systolic_pressure+"/"+a(c).case_record.diastolic_pressure+" mmHg":"—"),1)]),o("div",Ha,[e[88]||(e[88]=o("span",{class:"cr-label"},"空腹血糖",-1)),p(_(a(c).case_record.fasting_blood_sugar!=null?a(c).case_record.fasting_blood_sugar+" mmol/L":"—"),1)])])]),o("div",Ma,[e[97]||(e[97]=o("div",{class:"cr-section-title"},"主诉",-1)),o("div",Aa,[o("div",ja,[e[90]||(e[90]=o("span",{class:"cr-label"},"诊断日期",-1)),p(_(a(c).case_record.diagnosis_date||"—"),1)]),o("div",Fa,[e[91]||(e[91]=o("span",{class:"cr-label"},"诊断类型",-1)),p(_(T(a(Se),a(c).case_record.diagnosis_type)||"—"),1)]),o("div",Ba,[e[92]||(e[92]=o("span",{class:"cr-label"},"证型",-1)),p(_(T(a(Ue),a(c).case_record.syndrome_type)||"—"),1)]),o("div",Ga,[e[93]||(e[93]=o("span",{class:"cr-label"},"糖尿病期数",-1)),p(_(T(a(He),a(c).case_record.diabetes_type)||"—"),1)]),o("div",qa,[e[94]||(e[94]=o("span",{class:"cr-label"},"发现糖尿病患病史",-1)),p(_(a(Us)((x=a(c).case_record)==null?void 0:x.diabetes_discovery_year)),1)]),o("div",Ja,[e[95]||(e[95]=o("span",{class:"cr-label"},"当地医院诊断",-1)),p(_(Pt(a(c).case_record.local_hospital_diagnosis)),1)]),o("div",Ka,[e[96]||(e[96]=o("span",{class:"cr-label"},"当地就诊医院",-1)),p(_(a(c).case_record.local_hospital_name||"—"),1)])])]),o("div",Ya,[e[113]||(e[113]=o("div",{class:"cr-section-title"},"现病史",-1)),o("div",Qa,[o("div",Xa,[e[98]||(e[98]=o("span",{class:"cr-label"},"口腔感觉",-1)),p(_(D(a(Ae),a(c).case_record.appetite)),1)]),o("div",Za,[e[99]||(e[99]=o("span",{class:"cr-label"},"每日饮水量",-1)),p(_(T(a(je),a(c).case_record.water_intake)||"—"),1)]),o("div",el,[e[100]||(e[100]=o("span",{class:"cr-label"},"体重变化",-1)),p(_(T(a(Be),a(c).case_record.weight_change)||"—"),1)]),o("div",tl,[e[101]||(e[101]=o("span",{class:"cr-label"},"脂肪肝程度",-1)),p(_(T(a(tt),a(c).case_record.fatty_liver_degree)||"—"),1)]),o("div",sl,[e[102]||(e[102]=o("span",{class:"cr-label"},"饮食情况",-1)),p(_(D(a(Fe),a(c).case_record.diet_condition)),1)]),o("div",al,[e[103]||(e[103]=o("span",{class:"cr-label"},"肢体感觉",-1)),p(_(D(a(Ge),a(c).case_record.body_feeling)),1)]),o("div",ll,[e[104]||(e[104]=o("span",{class:"cr-label"},"睡眠情况",-1)),p(_(D(a(qe),a(c).case_record.sleep_condition)),1)]),o("div",ol,[e[105]||(e[105]=o("span",{class:"cr-label"},"眼睛情况",-1)),p(_(D(a(Je),a(c).case_record.eye_condition)),1)]),o("div",nl,[e[106]||(e[106]=o("span",{class:"cr-label"},"头部感觉",-1)),p(_(D(a(Ke),a(c).case_record.head_feeling)),1)]),o("div",il,[e[107]||(e[107]=o("span",{class:"cr-label"},"出汗情况",-1)),p(_(D(a(Ye),a(c).case_record.sweat_condition)),1)]),o("div",rl,[e[108]||(e[108]=o("span",{class:"cr-label"},"皮肤情况",-1)),p(_(D(a(Qe),a(c).case_record.skin_condition)),1)]),o("div",dl,[e[109]||(e[109]=o("span",{class:"cr-label"},"小便情况",-1)),p(_(D(a(Xe),a(c).case_record.urine_condition)),1)]),o("div",ul,[e[110]||(e[110]=o("span",{class:"cr-label"},"大便情况",-1)),p(_(D(a(Ze),a(c).case_record.stool_condition)),1)]),o("div",cl,[e[111]||(e[111]=o("span",{class:"cr-label"},"腰肾情况",-1)),p(_(D(a(et),a(c).case_record.kidney_condition)),1)]),o("div",pl,[e[112]||(e[112]=o("span",{class:"cr-label"},"其他补充",-1)),p(_(a(c).case_record.symptoms||"—"),1)])])]),o("div",ml,[e[115]||(e[115]=o("div",{class:"cr-section-title"},"既往史",-1)),o("div",_l,[e[114]||(e[114]=o("span",{class:"cr-label"},null,-1)),p(_(D(a(Me),a(c).case_record.past_history)),1)])]),o("div",gl,[e[121]||(e[121]=o("div",{class:"cr-section-title"},"其他病史",-1)),o("div",fl,[o("div",bl,[e[116]||(e[116]=o("span",{class:"cr-label"},"外伤史",-1)),p(_(a(c).case_record.trauma_history===1?"有":"无"),1)]),o("div",vl,[e[117]||(e[117]=o("span",{class:"cr-label"},"手术史",-1)),p(_(a(c).case_record.surgery_history===1?"有":"无"),1)]),o("div",yl,[e[118]||(e[118]=o("span",{class:"cr-label"},"过敏史",-1)),p(_(a(c).case_record.allergy_history===1?"有":"无"),1)]),o("div",xl,[e[119]||(e[119]=o("span",{class:"cr-label"},"家族病史",-1)),p(_(a(c).case_record.family_history===1?"有":"无"),1)]),o("div",kl,[e[120]||(e[120]=o("span",{class:"cr-label"},"妊娠哺乳史",-1)),p(_(a(c).case_record.pregnancy_history===1?"有":"无"),1)])])]),o("div",Vl,[e[124]||(e[124]=o("div",{class:"cr-section-title"},"诊断信息",-1)),(E=a(c).case_record.tongue_images)!=null&&E.length?(b(),V("div",hl,[o("div",wl,[e[122]||(e[122]=o("span",{class:"cr-label"},"舌苔照片",-1)),o("div",Sl,[(b(!0),V(j,null,ae(a(c).case_record.tongue_images,(u,R)=>(b(),V("img",{key:R,src:$t(u),class:"cr-img",crossorigin:"anonymous"},null,8,Ul))),128))])])])):h("",!0),o("div",Cl,[o("div",Rl,[e[123]||(e[123]=o("span",{class:"cr-label"},"舌象",-1)),p(_(a(c).case_record.tongue_coating||"—"),1)])])])])])],512)):h("",!0)]),a(c)&&(a(c).audit_by_name||a(c).audit_remark)?(b(),V("div",Nl,[a(c).audit_by_name?(b(),V("div",Dl,[p(" 审核人:"+_(a(c).audit_by_name)+" ",1),a(c).audit_time?(b(),V("span",Il,_(xt(a(c).audit_time)),1)):h("",!0)])):h("",!0),a(c).audit_remark?(b(),V("div",$l,"审核意见:"+_(a(c).audit_remark),1)):h("",!0)])):h("",!0),o("div",Pl,[l(f,{onClick:Yt},{default:n(()=>[l(Y,null,{default:n(()=>[l(a(zs))]),_:1}),e[125]||(e[125]=p(" 下载图片 ",-1))]),_:1}),l(f,{type:"primary",onClick:Qt},{default:n(()=>[l(Y,null,{default:n(()=>[l(a(Ls))]),_:1}),e[126]||(e[126]=p(" 下载PDF ",-1))]),_:1}),a(c).void_status!==1&&!a(re)?(b(),w(ee,{key:0,disabled:!a(Te),content:"该处方已存在业务订单,无法作废,请前往已开处方里修改",placement:"top"},{default:n(()=>[o("span",El,[l(f,{type:"danger",plain:"",disabled:a(Te),loading:a(fe),onClick:Bt},{default:n(()=>[...e[127]||(e[127]=[p(" 作废处方 ",-1)])]),_:1},8,["disabled","loading"])])]),_:1},8,["disabled"])):h("",!0),a(re)?h("",!0):(b(),w(f,{key:1,onClick:qt},{default:n(()=>[...e[128]||(e[128]=[p("新建处方",-1)])]),_:1})),l(f,{onClick:Ce},{default:n(()=>[...e[129]||(e[129]=[p("关闭",-1)])]),_:1})])])):(b(),V("div",js,[l(M,{ref_key:"formRef",ref:vt,model:a(t),"label-width":"100px",class:"prescription-form"},{default:n(()=>[o("div",Fs,[e[43]||(e[43]=o("div",{class:"section-title"},"患者信息",-1)),l(y,{gutter:16},{default:n(()=>[l(r,{span:8},{default:n(()=>[l(i,{label:"姓名"},{default:n(()=>[o("span",null,_(a(t).patient_name),1)]),_:1})]),_:1}),l(r,{span:8},{default:n(()=>[l(i,{label:"性别"},{default:n(()=>[o("span",null,_(a(t).gender_desc),1)]),_:1})]),_:1}),l(r,{span:8},{default:n(()=>[l(i,{label:"年龄"},{default:n(()=>[o("span",null,_(a(t).age),1)]),_:1})]),_:1}),l(r,{span:12},{default:n(()=>[l(i,{label:"电话"},{default:n(()=>[o("span",null,_(a(t).phone),1)]),_:1})]),_:1}),l(r,{span:12},{default:n(()=>[l(i,{label:"门诊号"},{default:n(()=>[l(m,{modelValue:a(t).visit_no,"onUpdate:modelValue":e[0]||(e[0]=u=>a(t).visit_no=u),placeholder:"门诊号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),o("div",Bs,[e[44]||(e[44]=o("div",{class:"section-title"},"诊断信息",-1)),l(y,{gutter:16},{default:n(()=>[l(r,{span:12},{default:n(()=>[l(i,{label:"面象",prop:"pulse"},{default:n(()=>[l(m,{modelValue:a(t).pulse,"onUpdate:modelValue":e[1]||(e[1]=u=>a(t).pulse=u),placeholder:"面象"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:n(()=>[l(i,{label:"舌象",prop:"tongue"},{default:n(()=>[l(m,{modelValue:a(t).tongue,"onUpdate:modelValue":e[2]||(e[2]=u=>a(t).tongue=u),placeholder:"舌象"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:n(()=>[l(i,{label:"临床诊断",prop:"clinical_diagnosis"},{default:n(()=>[l(m,{modelValue:a(t).clinical_diagnosis,"onUpdate:modelValue":e[3]||(e[3]=u=>a(t).clinical_diagnosis=u),type:"textarea",rows:2,placeholder:"请输入临床诊断"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),o("div",Gs,[o("div",qs,[o("div",Js,[e[49]||(e[49]=o("span",{class:"rp-toolbar__marker","aria-hidden":"true"},null,-1)),o("div",Ks,[e[48]||(e[48]=o("h3",{class:"rp-toolbar__heading"},[p(" 中药处方 "),o("span",{class:"rp-toolbar__abbr"},"(RP)")],-1)),o("p",Ys,[e[45]||(e[45]=p(" 共 ",-1)),o("strong",null,_(a(t).herbs.length),1),p(" 味(主方 "+_(a(kt))+" / 辅方 "+_(a(Vt))+")· 可手动添加、从处方库或粘贴药方批量录入 ",1)]),a(I)?(b(),V("p",Qs,[l(g,{type:"danger",size:"small",effect:"plain"},{default:n(()=>[...e[46]||(e[46]=[p("禁用修改",-1)])]),_:1}),e[47]||(e[47]=p(" 含「禁用修改」处方库模板,药材已锁定,不可增删改,如需调整请重新「从处方库导入」覆盖 ",-1))])):h("",!0)])]),o("div",Xs,[l(f,{type:"primary",size:"small",icon:a(Es),disabled:a(I),onClick:e[4]||(e[4]=u=>ot("主方"))},{default:n(()=>[...e[50]||(e[50]=[p(" 添加主方 ",-1)])]),_:1},8,["icon","disabled"]),l(f,{type:"primary",plain:"",size:"small",disabled:a(I),onClick:e[5]||(e[5]=u=>ot("辅方"))},{default:n(()=>[...e[51]||(e[51]=[p(" 添加辅方 ",-1)])]),_:1},8,["disabled"]),l(f,{type:"primary",plain:"",size:"small",icon:a(Os),onClick:Mt},{default:n(()=>[...e[52]||(e[52]=[p(" 从处方库导入 ",-1)])]),_:1},8,["icon"]),l(f,{type:"primary",plain:"",size:"small",icon:a(Ts),onClick:Nt},{default:n(()=>[...e[53]||(e[53]=[p(" 导入药方 ",-1)])]),_:1},8,["icon"])])]),o("div",Zs,[l(i,{label:"处方价格",prop:"amount",class:"!mb-0"},{default:n(()=>[l(S,{modelValue:a(t).amount,"onUpdate:modelValue":e[6]||(e[6]=u=>a(t).amount=u),min:0,precision:2,placeholder:"请输入处方总价(元)",class:"!w-40"},null,8,["modelValue"]),e[54]||(e[54]=o("span",{class:"ml-2 text-gray-500"},"元",-1))]),_:1})]),o("div",ea,[o("div",ta,[l(g,{type:"primary",size:"small"},{default:n(()=>[...e[55]||(e[55]=[p("主方",-1)])]),_:1})]),o("div",sa,[(b(!0),V(j,null,ae(a(ze),u=>(b(),V("div",{key:"main-"+u.index,class:gt(["herb-editor-card",{"herb-editor-card--dup":ce(u.index)}])},[o("div",aa,"主方 "+_(u.index+1),1),l(ut,{modelValue:a(t).herbs[u.index].name,"onUpdate:modelValue":R=>a(t).herbs[u.index].name=R,"medicine-id":a(t).herbs[u.index].medicine_id,"onUpdate:medicineId":R=>a(t).herbs[u.index].medicine_id=R,disabled:a(I),class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"]),ce(u.index)?(b(),V("div",la," 该药名与其他行重复,请合并剂量或删除多余行 ")):h("",!0),o("div",oa,[l(S,{modelValue:a(t).herbs[u.index].dosage,"onUpdate:modelValue":R=>a(t).herbs[u.index].dosage=R,min:.1,step:1,precision:1,disabled:a(I),placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[57]||(e[57]=o("span",{class:"text-gray-500 shrink-0"},"克",-1)),a(I)?h("",!0):(b(),w(f,{key:0,type:"danger",size:"small",link:"",onClick:R=>nt(u.index)},{default:n(()=>[...e[56]||(e[56]=[p(" 删除 ",-1)])]),_:1},8,["onClick"]))])],2))),128))])]),o("div",na,[o("div",ia,[l(g,{type:"warning",size:"small"},{default:n(()=>[...e[58]||(e[58]=[p("辅方",-1)])]),_:1})]),o("div",ra,[(b(!0),V(j,null,ae(a(Q),u=>(b(),V("div",{key:"aux-"+u.index,class:gt(["herb-editor-card",{"herb-editor-card--dup":ce(u.index)}])},[e[61]||(e[61]=o("div",{class:"herb-editor-card__title"},"辅方",-1)),l(ut,{modelValue:a(t).herbs[u.index].name,"onUpdate:modelValue":R=>a(t).herbs[u.index].name=R,"medicine-id":a(t).herbs[u.index].medicine_id,"onUpdate:medicineId":R=>a(t).herbs[u.index].medicine_id=R,disabled:a(I),class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"]),ce(u.index)?(b(),V("div",da," 该药名与其他行重复,请合并剂量或删除多余行 ")):h("",!0),o("div",ua,[l(S,{modelValue:a(t).herbs[u.index].dosage,"onUpdate:modelValue":R=>a(t).herbs[u.index].dosage=R,min:.1,step:1,precision:1,disabled:a(I),placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue","disabled"]),e[60]||(e[60]=o("span",{class:"text-gray-500 shrink-0"},"克",-1)),a(I)?h("",!0):(b(),w(f,{key:0,type:"danger",size:"small",link:"",onClick:R=>nt(u.index)},{default:n(()=>[...e[59]||(e[59]=[p(" 删除 ",-1)])]),_:1},8,["onClick"]))])],2))),128)),a(Q).length?h("",!0):(b(),V("p",ca,"暂无辅方药材"))])])]),o("div",pa,[l(y,{gutter:16},{default:n(()=>[l(r,{span:8},{default:n(()=>[l(i,{label:"处方类型",prop:"prescription_type"},{default:n(()=>[l(U,{modelValue:a(t).prescription_type,"onUpdate:modelValue":e[7]||(e[7]=u=>a(t).prescription_type=u),placeholder:"请选择处方类型",class:"!w-full"},{default:n(()=>[l(d,{label:"浓缩水丸",value:"浓缩水丸"}),l(d,{label:"饮片",value:"饮片"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:n(()=>[...e[62]||(e[62]=[o("div",{class:"usage-formula-title usage-formula-title--main"},"主方用法",-1)])]),_:1}),l(r,{span:8},{default:n(()=>[l(i,{label:"用量",prop:"dosage_amount"},{default:n(()=>[a(t).prescription_type==="浓缩水丸"?(b(),w(U,{key:0,modelValue:a(t).dosage_amount,"onUpdate:modelValue":e[8]||(e[8]=u=>a(t).dosage_amount=u),placeholder:"请选择用量",class:"!w-full"},{default:n(()=>[l(d,{label:"1g",value:1}),l(d,{label:"2g",value:2}),l(d,{label:"3g",value:3}),l(d,{label:"4g",value:4}),l(d,{label:"5g",value:5}),l(d,{label:"6g",value:6}),l(d,{label:"7g",value:7}),l(d,{label:"8g",value:8}),l(d,{label:"9g",value:9}),l(d,{label:"10g",value:10})]),_:1},8,["modelValue"])):a(t).prescription_type==="饮片"?(b(),w(U,{key:1,modelValue:a(t).dosage_amount,"onUpdate:modelValue":e[9]||(e[9]=u=>a(t).dosage_amount=u),placeholder:"请选择用量",class:"!w-full"},{default:n(()=>[l(d,{label:"50ml",value:50}),l(d,{label:"100ml",value:100}),l(d,{label:"120ml",value:120}),l(d,{label:"150ml",value:150}),l(d,{label:"180ml",value:180}),l(d,{label:"200ml",value:200}),l(d,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(b(),w(S,{key:2,modelValue:a(t).dosage_amount,"onUpdate:modelValue":e[10]||(e[10]=u=>a(t).dosage_amount=u),min:0,precision:2,class:"!w-full"},null,8,["modelValue"])),a(t).prescription_type!=="浓缩水丸"&&a(t).prescription_type!=="饮片"?(b(),V("span",ma,_(a(t).dosage_unit),1)):h("",!0)]),_:1})]),_:1}),a(t).prescription_type==="浓缩水丸"?(b(),w(r,{key:0,span:8},{default:n(()=>[l(i,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:n(()=>[l(U,{modelValue:a(t).dosage_bag_count,"onUpdate:modelValue":e[11]||(e[11]=u=>a(t).dosage_bag_count=u),placeholder:"请选择袋数",class:"!w-[120px]"},{default:n(()=>[l(d,{label:"1袋",value:1}),l(d,{label:"2袋",value:2}),l(d,{label:"3袋",value:3}),l(d,{label:"4袋",value:4}),l(d,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):h("",!0),a(t).prescription_type==="饮片"?(b(),w(r,{key:1,span:8},{default:n(()=>[l(i,{label:"每贴出包数",prop:"bags_per_dose"},{default:n(()=>[l(U,{modelValue:a(t).bags_per_dose,"onUpdate:modelValue":e[12]||(e[12]=u=>a(t).bags_per_dose=u),placeholder:"请选择",class:"!w-full"},{default:n(()=>[l(d,{label:"1包",value:1}),l(d,{label:"2包",value:2}),l(d,{label:"3包",value:3}),l(d,{label:"4包",value:4}),l(d,{label:"5包",value:5}),l(d,{label:"6包",value:6}),l(d,{label:"7包",value:7}),l(d,{label:"8包",value:8}),l(d,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):h("",!0),a(t).prescription_type==="饮片"?(b(),w(r,{key:2,span:8},{default:n(()=>[l(i,{label:"是否代煎",prop:"need_decoction"},{default:n(()=>[l($,{modelValue:a(t).need_decoction,"onUpdate:modelValue":e[13]||(e[13]=u=>a(t).need_decoction=u)},{default:n(()=>[l(N,{label:!0},{default:n(()=>[...e[63]||(e[63]=[p("代煎",-1)])]),_:1}),l(N,{label:!1},{default:n(()=>[...e[64]||(e[64]=[p("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):h("",!0),l(r,{span:8},{default:n(()=>[l(i,{label:"服用天数",prop:"usage_days"},{default:n(()=>[l(S,{modelValue:a(t).usage_days,"onUpdate:modelValue":e[14]||(e[14]=u=>a(t).usage_days=u),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:8},{default:n(()=>[l(i,{label:"每天几次",prop:"times_per_day"},{default:n(()=>[l(S,{modelValue:a(t).times_per_day,"onUpdate:modelValue":e[15]||(e[15]=u=>a(t).times_per_day=u),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),a(Q).length>0?(b(),V(j,{key:3},[l(r,{span:24},{default:n(()=>[...e[65]||(e[65]=[o("div",{class:"usage-formula-title usage-formula-title--aux"},"辅方用法",-1)])]),_:1}),l(r,{span:8},{default:n(()=>[l(i,{label:"用量"},{default:n(()=>[a(t).prescription_type==="浓缩水丸"?(b(),w(U,{key:0,modelValue:a(t).aux_usage.dosage_amount,"onUpdate:modelValue":e[16]||(e[16]=u=>a(t).aux_usage.dosage_amount=u),placeholder:"请选择用量",class:"!w-full"},{default:n(()=>[(b(),V(j,null,ae(10,u=>l(d,{key:u,label:u+"g",value:u},null,8,["label","value"])),64))]),_:1},8,["modelValue"])):a(t).prescription_type==="饮片"?(b(),w(U,{key:1,modelValue:a(t).aux_usage.dosage_amount,"onUpdate:modelValue":e[17]||(e[17]=u=>a(t).aux_usage.dosage_amount=u),placeholder:"请选择用量",class:"!w-full"},{default:n(()=>[l(d,{label:"50ml",value:50}),l(d,{label:"100ml",value:100}),l(d,{label:"120ml",value:120}),l(d,{label:"150ml",value:150}),l(d,{label:"180ml",value:180}),l(d,{label:"200ml",value:200}),l(d,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(b(),w(S,{key:2,modelValue:a(t).aux_usage.dosage_amount,"onUpdate:modelValue":e[18]||(e[18]=u=>a(t).aux_usage.dosage_amount=u),min:0,precision:2,class:"!w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),a(t).prescription_type==="浓缩水丸"?(b(),w(r,{key:0,span:8},{default:n(()=>[l(i,{label:" ","label-width":"12px"},{default:n(()=>[l(U,{modelValue:a(t).aux_usage.dosage_bag_count,"onUpdate:modelValue":e[19]||(e[19]=u=>a(t).aux_usage.dosage_bag_count=u),placeholder:"请选择袋数",class:"!w-[120px]"},{default:n(()=>[l(d,{label:"1袋",value:1}),l(d,{label:"2袋",value:2}),l(d,{label:"3袋",value:3}),l(d,{label:"4袋",value:4}),l(d,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):h("",!0),a(t).prescription_type==="饮片"?(b(),w(r,{key:1,span:8},{default:n(()=>[l(i,{label:"是否代煎"},{default:n(()=>[l($,{modelValue:a(t).aux_usage.need_decoction,"onUpdate:modelValue":e[20]||(e[20]=u=>a(t).aux_usage.need_decoction=u)},{default:n(()=>[l(N,{label:!0},{default:n(()=>[...e[66]||(e[66]=[p("代煎",-1)])]),_:1}),l(N,{label:!1},{default:n(()=>[...e[67]||(e[67]=[p("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):h("",!0),a(t).prescription_type==="饮片"?(b(),w(r,{key:2,span:8},{default:n(()=>[l(i,{label:"每贴出包数"},{default:n(()=>[l(U,{modelValue:a(t).aux_usage.bags_per_dose,"onUpdate:modelValue":e[21]||(e[21]=u=>a(t).aux_usage.bags_per_dose=u),placeholder:"请选择",class:"!w-full"},{default:n(()=>[(b(),V(j,null,ae(9,u=>l(d,{key:u,label:u+"包",value:u},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})):h("",!0),l(r,{span:8},{default:n(()=>[l(i,{label:"每天几次"},{default:n(()=>[l(S,{modelValue:a(t).aux_usage.times_per_day,"onUpdate:modelValue":e[22]||(e[22]=u=>a(t).aux_usage.times_per_day=u),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:8},{default:n(()=>[l(i,{label:"服用天数"},{default:n(()=>[l(S,{modelValue:a(t).aux_usage.usage_days,"onUpdate:modelValue":e[23]||(e[23]=u=>a(t).aux_usage.usage_days=u),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1})],64)):h("",!0),l(r,{span:24},{default:n(()=>[l(i,{label:"用法",prop:"usage_instruction"},{default:n(()=>[l(m,{modelValue:a(t).usage_instruction,"onUpdate:modelValue":e[24]||(e[24]=u=>a(t).usage_instruction=u),placeholder:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:n(()=>[l(i,{label:"服用时间",prop:"usage_time"},{default:n(()=>[l(U,{modelValue:a(t).usage_time,"onUpdate:modelValue":e[25]||(e[25]=u=>a(t).usage_time=u),placeholder:"请选择服用时间",class:"!w-full"},{default:n(()=>[l(d,{label:"饭前",value:"饭前"}),l(d,{label:"饭后",value:"饭后"}),l(d,{label:"饭中",value:"饭中"}),l(d,{label:"空腹",value:"空腹"}),l(d,{label:"睡前",value:"睡前"}),l(d,{label:"晨起",value:"晨起"}),l(d,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:n(()=>[l(i,{label:"服用方式",prop:"usage_way"},{default:n(()=>[l(U,{modelValue:a(t).usage_way,"onUpdate:modelValue":e[26]||(e[26]=u=>a(t).usage_way=u),placeholder:"请选择服用方式",class:"!w-full"},{default:n(()=>[l(d,{label:"温水送服",value:"温水送服"}),l(d,{label:"开水冲服",value:"开水冲服"}),l(d,{label:"黄酒送服",value:"黄酒送服"}),l(d,{label:"淡盐水送服",value:"淡盐水送服"}),l(d,{label:"米汤送服",value:"米汤送服"}),l(d,{label:"嚼服",value:"嚼服"}),l(d,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:n(()=>[l(i,{label:"忌口",prop:"dietary_taboo"},{default:n(()=>[l(U,{modelValue:a(t).dietary_taboo,"onUpdate:modelValue":e[27]||(e[27]=u=>a(t).dietary_taboo=u),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"!w-full"},{default:n(()=>[l(d,{label:"辛辣食物",value:"辛辣食物"}),l(d,{label:"生冷食物",value:"生冷食物"}),l(d,{label:"油腻食物",value:"油腻食物"}),l(d,{label:"海鲜",value:"海鲜"}),l(d,{label:"牛羊肉",value:"牛羊肉"}),l(d,{label:"鸡蛋",value:"鸡蛋"}),l(d,{label:"豆制品",value:"豆制品"}),l(d,{label:"酒类",value:"酒类"}),l(d,{label:"浓茶",value:"浓茶"}),l(d,{label:"咖啡",value:"咖啡"}),l(d,{label:"烟草",value:"烟草"}),l(d,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:n(()=>[l(i,{label:"其他说明",prop:"usage_notes"},{default:n(()=>[l(m,{modelValue:a(t).usage_notes,"onUpdate:modelValue":e[28]||(e[28]=u=>a(t).usage_notes=u),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:n(()=>[l(i,{label:"医师",prop:"doctor_name"},{default:n(()=>[l(m,{modelValue:a(t).doctor_name,"onUpdate:modelValue":e[29]||(e[29]=u=>a(t).doctor_name=u),placeholder:"医师姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:n(()=>[l(i,{label:"是否共享",prop:"is_shared"},{default:n(()=>[l(H,{modelValue:a(t).is_shared,"onUpdate:modelValue":e[30]||(e[30]=u=>a(t).is_shared=u),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:n(()=>[l(i,{label:"医师签名",prop:"doctor_signature",required:""},{default:n(()=>[o("div",_a,[o("canvas",{ref_key:"signatureCanvasRef",ref:L,class:"signature-canvas",onPointerdown:se(Lt,["prevent"]),onPointermove:se(Wt,["prevent"]),onPointerup:se(lt,["prevent"]),onPointercancel:se(lt,["prevent"])},null,544),o("div",ga,[l(f,{size:"small",onClick:Ht},{default:n(()=>[...e[68]||(e[68]=[p("清空签名",-1)])]),_:1})])]),e[69]||(e[69]=o("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1})]),_:1})])]),_:1},8,["model"])]))]}),_:2},[a(c)?void 0:{name:"footer",fn:n(()=>[o("div",Ol,[l(f,{onClick:Ce},{default:n(()=>[...e[130]||(e[130]=[p("取消",-1)])]),_:1}),l(f,{type:"primary",onClick:jt,loading:a(ge)},{default:n(()=>[...e[131]||(e[131]=[p("保存处方",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1032,["modelValue","title"]),l(dt,{modelValue:a(W),"onUpdate:modelValue":e[37]||(e[37]=x=>P(W)?W.value=x:null),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:n(()=>[o("div",Tl,[l(m,{modelValue:a(X),"onUpdate:modelValue":e[32]||(e[32]=x=>P(X)?X.value=x:null),class:"flex-1",placeholder:"请输入处方名称搜索",clearable:"",onKeyup:Vs(me,["enter"]),onClear:me},{append:n(()=>[l(f,{icon:a(Ws),onClick:me},null,8,["icon"])]),_:1},8,["modelValue"]),l(U,{modelValue:a(Z),"onUpdate:modelValue":e[33]||(e[33]=x=>P(Z)?Z.value=x:null),placeholder:"处方类型",clearable:"",class:"w-[140px]",onChange:me},{default:n(()=>[l(d,{label:"全部",value:""}),l(d,{label:"主方",value:"主方"}),l(d,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),o("div",zl,[e[134]||(e[134]=o("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),l($,{modelValue:a(B),"onUpdate:modelValue":e[34]||(e[34]=x=>P(B)?B.value=x:null)},{default:n(()=>[l(N,{label:"replace"},{default:n(()=>[...e[132]||(e[132]=[p("覆盖同类型药材",-1)])]),_:1}),l(N,{label:"append"},{default:n(()=>[...e[133]||(e[133]=[p("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])]),As((b(),w(Xt,{data:a(xe),height:"400",onRowClick:At,style:{cursor:"pointer"}},{default:n(()=>[l(A,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),l(A,{label:"处方类型",width:"90"},{default:n(({row:x})=>[l(g,{type:x.formula_type==="辅方"?"warning":"primary",size:"small"},{default:n(()=>[p(_(x.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),l(A,{label:"药材数量",width:"100"},{default:n(({row:x})=>{var E;return[p(_(((E=x.herbs)==null?void 0:E.length)||0)+"味 ",1)]}),_:1}),l(A,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:n(({row:x})=>[x.herbs&&x.herbs.length>0?(b(),V("span",Ll,_(x.herbs.map(E=>`${E.name} ${E.dosage}g`).join("、")),1)):(b(),V("span",Wl,"暂无药材"))]),_:1}),l(A,{label:"是否公开",width:"110"},{default:n(({row:x})=>[l(g,{type:x.is_public?"success":"info",size:"small"},{default:n(()=>[p(_(x.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),l(A,{label:"创建人",prop:"creator_name",width:"100"}),l(A,{label:"操作",width:"100",fixed:"right"},{default:n(({row:x})=>[l(f,{type:"primary",link:"",onClick:se(E=>it(x),["stop"])},{default:n(()=>[...e[135]||(e[135]=[p(" 导入 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[es,a(ye)]]),o("div",Hl,[l(Zt,{"current-page":a(q),"onUpdate:currentPage":e[35]||(e[35]=x=>P(q)?q.value=x:null),"page-size":a(de),"onUpdate:pageSize":e[36]||(e[36]=x=>P(de)?de.value=x:null),total:a(ke),"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:pe,onSizeChange:pe},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),l(dt,{modelValue:a(J),"onUpdate:modelValue":e[41]||(e[41]=x=>P(J)?J.value=x:null),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[42]||(e[42]=x=>K.value="")},{footer:n(()=>[l(f,{onClick:e[40]||(e[40]=x=>J.value=!1)},{default:n(()=>[...e[140]||(e[140]=[p("取消",-1)])]),_:1}),l(f,{type:"primary",loading:a(Ve),onClick:Dt},{default:n(()=>[...e[141]||(e[141]=[p(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[e[142]||(e[142]=o("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),l(m,{modelValue:a(K),"onUpdate:modelValue":e[38]||(e[38]=x=>P(K)?K.value=x:null),type:"textarea",rows:10,placeholder:`示例: 黄芪15 党参12 茯苓10 diff --git a/server/public/admin/assets/index-VwsZ7VG0.js b/server/public/admin/assets/index-qwVd4UhY.js similarity index 99% rename from server/public/admin/assets/index-VwsZ7VG0.js rename to server/public/admin/assets/index-qwVd4UhY.js index da0813c4c..3fd3e11bb 100644 --- a/server/public/admin/assets/index-VwsZ7VG0.js +++ b/server/public/admin/assets/index-qwVd4UhY.js @@ -1 +1 @@ -import{f as Z,ak as a,I as l,J as t,H as _,F as x,ap as $,O as ee,A as c}from"./@vue/runtime-core-C6bnekPw.js";import{Q as o,o as te}from"./@vue/shared-mAAVTE9n.js";import{n as se}from"./@vue/reactivity-DiY1c2vO.js";import{_ as ne}from"./index-fRv3NTFQ.js";function k(e){return isFinite(e)?Number.isInteger(e)?String(e):e.toFixed(2).replace(/\.?0+$/,""):"0"}function re(e){return e===1||e==="1"?"男":e===0||e==="0"?"女":"—"}function oe(e){return e==null||e===""?"—":`${e}岁`}function E(e){return e==="辅方"?"辅方":"主方"}function A(e){return String(e).padStart(2,"0")}function ie(e="浓缩水丸"){return e==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:e==="浓缩水丸"?{dosage_amount:5,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:{dosage_amount:1,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}}function ae(e,s){const n=ie(s);if(!e||typeof e!="object")return{...n};const i=e;return{dosage_amount:i.dosage_amount!==null&&i.dosage_amount!==void 0&&i.dosage_amount!==""?Number(i.dosage_amount):n.dosage_amount,dosage_bag_count:i.dosage_bag_count!=null?Number(i.dosage_bag_count)||1:n.dosage_bag_count,need_decoction:i.need_decoction===1||i.need_decoction===!0,bags_per_dose:i.bags_per_dose!=null?Number(i.bags_per_dose)||1:n.bags_per_dose,times_per_day:i.times_per_day!=null?Number(i.times_per_day)||3:n.times_per_day,usage_days:i.usage_days!=null?Number(i.usage_days)||7:n.usage_days,prescription_name:String(i.prescription_name??"").trim()}}function G(e,s,n){const i=e.prescription_type||"浓缩水丸",u=Number(e.times_per_day)>0?Number(e.times_per_day):3,p=e.dosage_amount!=null?Number(e.dosage_amount):10,b=e.dosage_unit||(i==="饮片"?"ml":"g"),v=e.usage_way||s||"温水送服",T=e.usage_time||n||"",g=[];if(g.push(`每天${u}次`),i==="浓缩水丸"){const F=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;g.push(`一次${F}袋`),g.push(`每袋${p}${b}`)}else g.push(`一次${p}${b}`);return g.push(v),T&&g.push(T),g.join(", ")}function N(e){const s=e==null?void 0:e.herbs;return Array.isArray(s)?s:[]}function le(e){return N(e).filter(s=>E(s.formula_type)==="主方")}function J(e){return N(e).filter(s=>E(s.formula_type)==="辅方")}function Q(e){const s=Number(e==null?void 0:e.dose_count);return Number.isFinite(s)&&s>0?s:1}function ue(e){if(!e)return"—";const s=e.create_time??e.update_time??null;if(s){const n=String(s).length===10?Number(s)*1e3:Number(s),i=new Date(n);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${A(i.getMonth()+1)}-${A(i.getDate())} ${A(i.getHours())}:${A(i.getMinutes())}`}return e.prescription_date||"—"}function ce(e){if(!e)return"—";const s=String(e.sn??"").trim();if(s)return s;const n=String(e.visit_no??"").trim();return n||"—"}function _e(e){if(!e)return"—";const s=Number(e.appointment_id);return Number.isFinite(s)&&s>0?String(s):"—"}function de(e){return e?String(e.order_no??"").trim():""}function pe(e){if(!e)return"—";if(e.recipient_text)return e.recipient_text;const s=[];(e.recipient_name||e.patient_name)&&s.push(e.recipient_name||e.patient_name),(e.recipient_phone||e.phone)&&s.push(e.recipient_phone||e.phone);let n=e.region;return Array.isArray(n)&&(n=n.filter(Boolean).join("")),n||(n=[e.shipping_province,e.shipping_city,e.shipping_district].filter(Boolean).join("")),n&&s.push(String(n)),e.shipping_address?s.push(String(e.shipping_address)):e.address&&s.push(String(e.address)),s.length?s.join(","):"—"}function me(e){const n=N(e).reduce((i,u)=>i+(Number(u==null?void 0:u.dosage)||0),0);return k(n)}function xe(e,s){const n=Number(s)||0;return k(n*Q(e))}function ge(e){if(!e)return"—";const s=e.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(s)?`浓缩丸-${s}`:s}function be(e){return e?e.usage_text?e.usage_text:G(e):"—"}function fe(e){if(!e||!J(e).length)return"";const s=ae(e.aux_usage,e.prescription_type||"浓缩水丸");return G({prescription_type:e.prescription_type,dosage_amount:s.dosage_amount,dosage_unit:e.dosage_unit,dosage_bag_count:s.dosage_bag_count,times_per_day:s.times_per_day,usage_way:e.usage_way,usage_time:e.usage_time},e.usage_way,e.usage_time)}function ve(e){return e&&(e.medical_advice||e.doctor_advice)||""}function ye(e){const s=e==null?void 0:e.dietary_taboo;return Array.isArray(s)?s.filter(Boolean).join("、"):typeof s=="string"&&s.trim()?s.trim():""}function he(e){if(!e)return"";const s=[];return s.push(`共${N(e).length}味药`),e.usage_notes&&s.push(String(e.usage_notes)),e.remark&&s.push(String(e.remark)),s.join(" ")}function ke(e){return e&&(e.pharmacy_remark||e.pharmacy_note)||""}function Ne(e){if((e.prescription_type||"浓缩水丸")==="浓缩水丸"){const u=Number(e.medication_days??e.usage_days??e.dose_count),p=Number(e.times_per_day),b=Number(e.dosage_amount),v=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;if(Number.isFinite(u)&&Number.isFinite(p)&&Number.isFinite(b)&&u>0&&p>0&&b>0)return k(u*p*b*v)}const s=e.out_pellet||e.out_pellet_text||e.total_weight;if(s&&Number(s)>0)return k(Number(s));const n=N(e);if(!n.length)return"";const i=n.reduce((u,p)=>u+(Number(p==null?void 0:p.dosage)||0),0);return k(i*Q(e))}function Te(e){if(!e)return"";const s=Ne(e);return s?`${s}克`:""}const Se={class:"rx-title"},we={class:"rx-notice"},$e={class:"rx-notice-text"},Ae={class:"rx-notice-meta"},Fe={class:"rx-meta-item"},De={class:"rx-meta-value"},Pe={class:"rx-meta-item"},He={class:"rx-meta-value"},je={class:"rx-meta-item"},Be={class:"rx-meta-value"},Re={key:0,class:"rx-meta-item"},Le={class:"rx-meta-value"},Ue={class:"rx-info"},Oe={class:"rx-info-row"},Ce={class:"rx-info-cell"},Ie={class:"rx-val"},ze={class:"rx-info-cell"},Me={class:"rx-val"},Ve={class:"rx-info-cell"},Ee={class:"rx-val"},Ge={class:"rx-info-cell"},Je={class:"rx-val"},Qe={class:"rx-info-row rx-info-row-full"},We={class:"rx-info-cell"},Ye={class:"rx-val"},qe={class:"rx-info-row rx-info-row-full"},Ke={class:"rx-info-cell"},Xe={class:"rx-val"},Ze={class:"rx-rp"},et={class:"rx-watermark"},tt={class:"rx-rp-head"},st={class:"rx-rp-cols-head"},nt={class:"rx-rp-col-head"},rt={class:"rx-rp-col-head"},ot={class:"rx-herbs"},it={class:"rx-herb-name"},at={class:"rx-herb-total"},lt={class:"rx-herb-section-label rx-herb-section-label--aux"},ut={key:0,class:"rx-herb-library-name"},ct={class:"rx-herb-name"},_t={class:"rx-herb-total"},dt={class:"rx-herb-name"},pt={class:"rx-herb-total"},mt={class:"rx-herb-name"},xt={class:"rx-herb-total"},gt={class:"rx-text"},bt={key:0},ft={key:1},vt={key:2},yt={key:1},ht={key:2},kt={key:3},Nt={key:4,class:"rx-text-warn"},Tt={key:5,class:"rx-text-warn"},St={class:"rx-bottom"},wt={class:"rx-bot-cell rx-bot-doctor"},$t={class:"rx-bot-doctor-body"},At=["src"],Ft={key:1,class:"rx-bot-doctor-name"},Dt={key:0,class:"rx-bot-cell rx-bot-meta"},Pt={class:"rx-bot-meta-val"},Ht={class:"rx-bot-cell rx-bot-meta"},jt={class:"rx-bot-meta-val"},Bt={key:1,class:"rx-bot-cell rx-bot-meta"},Rt={class:"rx-bot-meta-val"},Lt=Z({name:"PrescriptionSlip",__name:"index",props:{data:{},variant:{default:"internal"},auxLibraryName:{default:""},title:{default:"成都双流甄养堂互联网医院 处方笺"}},setup(e,{expose:s}){const n=e,i=se(null),u=c(()=>n.variant!=="user"),p=c(()=>n.title||"成都双流甄养堂互联网医院 处方笺"),b=c(()=>ue(n.data)),v=c(()=>ce(n.data)),T=c(()=>_e(n.data)),g=c(()=>de(n.data)),F=c(()=>pe(n.data)),W=c(()=>{var m;return re((m=n.data)==null?void 0:m.gender)}),Y=c(()=>{var m;return oe((m=n.data)==null?void 0:m.age)}),S=c(()=>le(n.data)),w=c(()=>J(n.data)),P=c(()=>be(n.data)),D=c(()=>fe(n.data)),H=c(()=>ve(n.data)),j=c(()=>ye(n.data)),B=c(()=>he(n.data)),R=c(()=>ke(n.data)),L=c(()=>Te(n.data)),q=c(()=>ge(n.data)),K=c(()=>me(n.data)),X=c(()=>{var y,h;const m=(y=n.data)==null?void 0:y.medication_days;if(m!=null&&String(m).trim()!=="")return`${m} 天`;const r=(h=n.data)==null?void 0:h.dose_count;return r!=null&&String(r).trim()!==""?`${r}剂`:"—"});function U(m){return xe(n.data,m)}return s({paperEl:i,$el:i}),(m,r)=>{var y,h,O,C,I,z,M,V;return a(),l("div",{ref_key:"paperRef",ref:i,class:"rx-paper"},[t("div",Se,o(u.value?"药房联":p.value),1),t("div",we,[t("span",$e,o(u.value?"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点":"服药前请核对姓名、电话、医生等信息以及医嘱等要点"),1),t("div",Ae,[t("div",Fe,[r[0]||(r[0]=t("span",{class:"rx-meta-label"},"日期",-1)),t("span",De,o(b.value),1)]),t("div",Pe,[r[1]||(r[1]=t("span",{class:"rx-meta-label"},"处方编号",-1)),t("span",He,o(v.value),1)]),t("div",je,[r[2]||(r[2]=t("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),t("span",Be,o(T.value),1)]),g.value?(a(),l("div",Re,[r[3]||(r[3]=t("span",{class:"rx-meta-label"},"业务单号",-1)),t("span",Le,o(g.value),1)])):_("",!0)])]),t("div",Ue,[t("div",Oe,[t("div",Ce,[r[4]||(r[4]=t("span",{class:"rx-key"},"姓名",-1)),t("span",Ie,o(((y=e.data)==null?void 0:y.patient_name)||"—"),1)]),t("div",ze,[r[5]||(r[5]=t("span",{class:"rx-key"},"性别",-1)),t("span",Me,o(W.value),1)]),t("div",Ve,[r[6]||(r[6]=t("span",{class:"rx-key"},"年龄",-1)),t("span",Ee,o(Y.value),1)]),t("div",Ge,[r[7]||(r[7]=t("span",{class:"rx-key"},"电话",-1)),t("span",Je,o(((h=e.data)==null?void 0:h.phone)||((O=e.data)==null?void 0:O.recipient_phone)||"—"),1)])]),t("div",Qe,[t("div",We,[r[8]||(r[8]=t("span",{class:"rx-key"},"收件信息",-1)),t("span",Ye,o(F.value),1)])]),t("div",qe,[t("div",Ke,[r[9]||(r[9]=t("span",{class:"rx-key"},"临床诊断",-1)),t("span",Xe,o(((C=e.data)==null?void 0:C.clinical_diagnosis)||"—"),1)])])]),t("div",Ze,[t("div",et,o(u.value?"药房联":"处方联"),1),t("div",tt,[r[12]||(r[12]=t("div",{class:"rx-rp-label"},"Rp.",-1)),t("div",st,[t("div",nt,[r[10]||(r[10]=t("span",null,"用药 (单剂)",-1)),t("span",null,o(u.value?"总量":"用量"),1)]),t("div",rt,[r[11]||(r[11]=t("span",null,"用药 (单剂)",-1)),t("span",null,o(u.value?"总量":"用量"),1)])])]),t("div",ot,[u.value?(a(),l(x,{key:0},[S.value.length?(a(),l(x,{key:0},[r[13]||(r[13]=t("div",{class:"rx-herb-section-label"},"主方",-1)),(a(!0),l(x,null,$(S.value,(d,f)=>(a(),l("div",{key:"main-"+f,class:"rx-herb-cell"},[t("span",it,o(d.name)+" ("+o(d.dosage)+"克)",1),t("span",at,o(U(d.dosage))+"克",1)]))),128))],64)):_("",!0),w.value.length?(a(),l(x,{key:1},[t("div",lt,[r[14]||(r[14]=ee(" 辅方 ",-1)),e.auxLibraryName?(a(),l("span",ut,"("+o(e.auxLibraryName)+")",1)):_("",!0)]),(a(!0),l(x,null,$(w.value,(d,f)=>(a(),l("div",{key:"aux-"+f,class:"rx-herb-cell"},[t("span",ct,o(d.name)+" ("+o(d.dosage)+"克)",1),t("span",_t,o(U(d.dosage))+"克",1)]))),128))],64)):_("",!0)],64)):(a(),l(x,{key:1},[S.value.length?(a(),l(x,{key:0},[r[15]||(r[15]=t("div",{class:"rx-herb-section-label"},"主方",-1)),(a(!0),l(x,null,$(S.value,(d,f)=>(a(),l("div",{key:"user-main-"+f,class:"rx-herb-cell"},[t("span",dt,o(d.name),1),t("span",pt,o(d.dosage)+"克",1)]))),128))],64)):_("",!0),w.value.length?(a(),l(x,{key:1},[r[16]||(r[16]=t("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(a(!0),l(x,null,$(w.value,(d,f)=>(a(),l("div",{key:"user-aux-"+f,class:"rx-herb-cell"},[t("span",mt,o(d.name),1),t("span",xt,o(d.dosage)+"克",1)]))),128))],64)):_("",!0)],64))])]),t("div",gt,[u.value?(a(),l(x,{key:0},[D.value?(a(),l("p",bt,"主服法:"+o(P.value),1)):(a(),l("p",ft,"服法:"+o(P.value),1)),D.value?(a(),l("p",vt,"辅服法:"+o(D.value),1)):_("",!0)],64)):_("",!0),H.value?(a(),l("p",yt,"医嘱:"+o(H.value),1)):_("",!0),j.value?(a(),l("p",ht,"忌口:"+o(j.value),1)):_("",!0),u.value&&B.value?(a(),l("p",kt,"备注:"+o(B.value),1)):_("",!0),R.value?(a(),l("p",Nt," 药房备注:"+o(R.value),1)):_("",!0),u.value&&L.value&&((I=e.data)==null?void 0:I.prescription_type)!=="饮片"?(a(),l("p",Tt," 出丸:"+o(L.value),1)):_("",!0)]),t("div",St,[t("div",{class:te(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":!u.value}])},[t("div",wt,[r[17]||(r[17]=t("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),t("div",$t,[(z=e.data)!=null&&z.doctor_signature?(a(),l("img",{key:0,src:e.data.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,At)):_("",!0),(M=e.data)!=null&&M.doctor_signature?_("",!0):(a(),l("span",Ft,o(((V=e.data)==null?void 0:V.doctor_name)||"—"),1))])]),u.value?(a(),l("div",Dt,[r[18]||(r[18]=t("span",{class:"rx-bot-meta-key"},"类型:",-1)),t("span",Pt,o(q.value),1)])):_("",!0),t("div",Ht,[r[19]||(r[19]=t("span",{class:"rx-bot-meta-key"},"天数:",-1)),t("span",jt,o(X.value),1)]),u.value?(a(),l("div",Bt,[r[20]||(r[20]=t("span",{class:"rx-bot-meta-key"},"剂量:",-1)),t("span",Rt,o(K.value)+"克",1)])):_("",!0)],2),r[21]||(r[21]=t("div",{class:"rx-bot-row rx-hospital-row"},[t("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),t("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))])],512)}}}),zt=ne(Lt,[["__scopeId","data-v-2b78e141"]]);export{zt as P}; +import{f as Z,ak as a,I as l,J as t,H as _,F as x,ap as $,O as ee,A as c}from"./@vue/runtime-core-C6bnekPw.js";import{Q as o,o as te}from"./@vue/shared-mAAVTE9n.js";import{n as se}from"./@vue/reactivity-DiY1c2vO.js";import{_ as ne}from"./index-J_eFER10.js";function k(e){return isFinite(e)?Number.isInteger(e)?String(e):e.toFixed(2).replace(/\.?0+$/,""):"0"}function re(e){return e===1||e==="1"?"男":e===0||e==="0"?"女":"—"}function oe(e){return e==null||e===""?"—":`${e}岁`}function E(e){return e==="辅方"?"辅方":"主方"}function A(e){return String(e).padStart(2,"0")}function ie(e="浓缩水丸"){return e==="饮片"?{dosage_amount:50,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:e==="浓缩水丸"?{dosage_amount:5,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}:{dosage_amount:1,dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,times_per_day:3,usage_days:7}}function ae(e,s){const n=ie(s);if(!e||typeof e!="object")return{...n};const i=e;return{dosage_amount:i.dosage_amount!==null&&i.dosage_amount!==void 0&&i.dosage_amount!==""?Number(i.dosage_amount):n.dosage_amount,dosage_bag_count:i.dosage_bag_count!=null?Number(i.dosage_bag_count)||1:n.dosage_bag_count,need_decoction:i.need_decoction===1||i.need_decoction===!0,bags_per_dose:i.bags_per_dose!=null?Number(i.bags_per_dose)||1:n.bags_per_dose,times_per_day:i.times_per_day!=null?Number(i.times_per_day)||3:n.times_per_day,usage_days:i.usage_days!=null?Number(i.usage_days)||7:n.usage_days,prescription_name:String(i.prescription_name??"").trim()}}function G(e,s,n){const i=e.prescription_type||"浓缩水丸",u=Number(e.times_per_day)>0?Number(e.times_per_day):3,p=e.dosage_amount!=null?Number(e.dosage_amount):10,b=e.dosage_unit||(i==="饮片"?"ml":"g"),v=e.usage_way||s||"温水送服",T=e.usage_time||n||"",g=[];if(g.push(`每天${u}次`),i==="浓缩水丸"){const F=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;g.push(`一次${F}袋`),g.push(`每袋${p}${b}`)}else g.push(`一次${p}${b}`);return g.push(v),T&&g.push(T),g.join(", ")}function N(e){const s=e==null?void 0:e.herbs;return Array.isArray(s)?s:[]}function le(e){return N(e).filter(s=>E(s.formula_type)==="主方")}function J(e){return N(e).filter(s=>E(s.formula_type)==="辅方")}function Q(e){const s=Number(e==null?void 0:e.dose_count);return Number.isFinite(s)&&s>0?s:1}function ue(e){if(!e)return"—";const s=e.create_time??e.update_time??null;if(s){const n=String(s).length===10?Number(s)*1e3:Number(s),i=new Date(n);if(!isNaN(i.getTime()))return`${i.getFullYear()}-${A(i.getMonth()+1)}-${A(i.getDate())} ${A(i.getHours())}:${A(i.getMinutes())}`}return e.prescription_date||"—"}function ce(e){if(!e)return"—";const s=String(e.sn??"").trim();if(s)return s;const n=String(e.visit_no??"").trim();return n||"—"}function _e(e){if(!e)return"—";const s=Number(e.appointment_id);return Number.isFinite(s)&&s>0?String(s):"—"}function de(e){return e?String(e.order_no??"").trim():""}function pe(e){if(!e)return"—";if(e.recipient_text)return e.recipient_text;const s=[];(e.recipient_name||e.patient_name)&&s.push(e.recipient_name||e.patient_name),(e.recipient_phone||e.phone)&&s.push(e.recipient_phone||e.phone);let n=e.region;return Array.isArray(n)&&(n=n.filter(Boolean).join("")),n||(n=[e.shipping_province,e.shipping_city,e.shipping_district].filter(Boolean).join("")),n&&s.push(String(n)),e.shipping_address?s.push(String(e.shipping_address)):e.address&&s.push(String(e.address)),s.length?s.join(","):"—"}function me(e){const n=N(e).reduce((i,u)=>i+(Number(u==null?void 0:u.dosage)||0),0);return k(n)}function xe(e,s){const n=Number(s)||0;return k(n*Q(e))}function ge(e){if(!e)return"—";const s=e.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(s)?`浓缩丸-${s}`:s}function be(e){return e?e.usage_text?e.usage_text:G(e):"—"}function fe(e){if(!e||!J(e).length)return"";const s=ae(e.aux_usage,e.prescription_type||"浓缩水丸");return G({prescription_type:e.prescription_type,dosage_amount:s.dosage_amount,dosage_unit:e.dosage_unit,dosage_bag_count:s.dosage_bag_count,times_per_day:s.times_per_day,usage_way:e.usage_way,usage_time:e.usage_time},e.usage_way,e.usage_time)}function ve(e){return e&&(e.medical_advice||e.doctor_advice)||""}function ye(e){const s=e==null?void 0:e.dietary_taboo;return Array.isArray(s)?s.filter(Boolean).join("、"):typeof s=="string"&&s.trim()?s.trim():""}function he(e){if(!e)return"";const s=[];return s.push(`共${N(e).length}味药`),e.usage_notes&&s.push(String(e.usage_notes)),e.remark&&s.push(String(e.remark)),s.join(" ")}function ke(e){return e&&(e.pharmacy_remark||e.pharmacy_note)||""}function Ne(e){if((e.prescription_type||"浓缩水丸")==="浓缩水丸"){const u=Number(e.medication_days??e.usage_days??e.dose_count),p=Number(e.times_per_day),b=Number(e.dosage_amount),v=Number(e.dosage_bag_count)>0?Number(e.dosage_bag_count):1;if(Number.isFinite(u)&&Number.isFinite(p)&&Number.isFinite(b)&&u>0&&p>0&&b>0)return k(u*p*b*v)}const s=e.out_pellet||e.out_pellet_text||e.total_weight;if(s&&Number(s)>0)return k(Number(s));const n=N(e);if(!n.length)return"";const i=n.reduce((u,p)=>u+(Number(p==null?void 0:p.dosage)||0),0);return k(i*Q(e))}function Te(e){if(!e)return"";const s=Ne(e);return s?`${s}克`:""}const Se={class:"rx-title"},we={class:"rx-notice"},$e={class:"rx-notice-text"},Ae={class:"rx-notice-meta"},Fe={class:"rx-meta-item"},De={class:"rx-meta-value"},Pe={class:"rx-meta-item"},He={class:"rx-meta-value"},je={class:"rx-meta-item"},Be={class:"rx-meta-value"},Re={key:0,class:"rx-meta-item"},Le={class:"rx-meta-value"},Ue={class:"rx-info"},Oe={class:"rx-info-row"},Ce={class:"rx-info-cell"},Ie={class:"rx-val"},ze={class:"rx-info-cell"},Me={class:"rx-val"},Ve={class:"rx-info-cell"},Ee={class:"rx-val"},Ge={class:"rx-info-cell"},Je={class:"rx-val"},Qe={class:"rx-info-row rx-info-row-full"},We={class:"rx-info-cell"},Ye={class:"rx-val"},qe={class:"rx-info-row rx-info-row-full"},Ke={class:"rx-info-cell"},Xe={class:"rx-val"},Ze={class:"rx-rp"},et={class:"rx-watermark"},tt={class:"rx-rp-head"},st={class:"rx-rp-cols-head"},nt={class:"rx-rp-col-head"},rt={class:"rx-rp-col-head"},ot={class:"rx-herbs"},it={class:"rx-herb-name"},at={class:"rx-herb-total"},lt={class:"rx-herb-section-label rx-herb-section-label--aux"},ut={key:0,class:"rx-herb-library-name"},ct={class:"rx-herb-name"},_t={class:"rx-herb-total"},dt={class:"rx-herb-name"},pt={class:"rx-herb-total"},mt={class:"rx-herb-name"},xt={class:"rx-herb-total"},gt={class:"rx-text"},bt={key:0},ft={key:1},vt={key:2},yt={key:1},ht={key:2},kt={key:3},Nt={key:4,class:"rx-text-warn"},Tt={key:5,class:"rx-text-warn"},St={class:"rx-bottom"},wt={class:"rx-bot-cell rx-bot-doctor"},$t={class:"rx-bot-doctor-body"},At=["src"],Ft={key:1,class:"rx-bot-doctor-name"},Dt={key:0,class:"rx-bot-cell rx-bot-meta"},Pt={class:"rx-bot-meta-val"},Ht={class:"rx-bot-cell rx-bot-meta"},jt={class:"rx-bot-meta-val"},Bt={key:1,class:"rx-bot-cell rx-bot-meta"},Rt={class:"rx-bot-meta-val"},Lt=Z({name:"PrescriptionSlip",__name:"index",props:{data:{},variant:{default:"internal"},auxLibraryName:{default:""},title:{default:"成都双流甄养堂互联网医院 处方笺"}},setup(e,{expose:s}){const n=e,i=se(null),u=c(()=>n.variant!=="user"),p=c(()=>n.title||"成都双流甄养堂互联网医院 处方笺"),b=c(()=>ue(n.data)),v=c(()=>ce(n.data)),T=c(()=>_e(n.data)),g=c(()=>de(n.data)),F=c(()=>pe(n.data)),W=c(()=>{var m;return re((m=n.data)==null?void 0:m.gender)}),Y=c(()=>{var m;return oe((m=n.data)==null?void 0:m.age)}),S=c(()=>le(n.data)),w=c(()=>J(n.data)),P=c(()=>be(n.data)),D=c(()=>fe(n.data)),H=c(()=>ve(n.data)),j=c(()=>ye(n.data)),B=c(()=>he(n.data)),R=c(()=>ke(n.data)),L=c(()=>Te(n.data)),q=c(()=>ge(n.data)),K=c(()=>me(n.data)),X=c(()=>{var y,h;const m=(y=n.data)==null?void 0:y.medication_days;if(m!=null&&String(m).trim()!=="")return`${m} 天`;const r=(h=n.data)==null?void 0:h.dose_count;return r!=null&&String(r).trim()!==""?`${r}剂`:"—"});function U(m){return xe(n.data,m)}return s({paperEl:i,$el:i}),(m,r)=>{var y,h,O,C,I,z,M,V;return a(),l("div",{ref_key:"paperRef",ref:i,class:"rx-paper"},[t("div",Se,o(u.value?"药房联":p.value),1),t("div",we,[t("span",$e,o(u.value?"服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点":"服药前请核对姓名、电话、医生等信息以及医嘱等要点"),1),t("div",Ae,[t("div",Fe,[r[0]||(r[0]=t("span",{class:"rx-meta-label"},"日期",-1)),t("span",De,o(b.value),1)]),t("div",Pe,[r[1]||(r[1]=t("span",{class:"rx-meta-label"},"处方编号",-1)),t("span",He,o(v.value),1)]),t("div",je,[r[2]||(r[2]=t("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),t("span",Be,o(T.value),1)]),g.value?(a(),l("div",Re,[r[3]||(r[3]=t("span",{class:"rx-meta-label"},"业务单号",-1)),t("span",Le,o(g.value),1)])):_("",!0)])]),t("div",Ue,[t("div",Oe,[t("div",Ce,[r[4]||(r[4]=t("span",{class:"rx-key"},"姓名",-1)),t("span",Ie,o(((y=e.data)==null?void 0:y.patient_name)||"—"),1)]),t("div",ze,[r[5]||(r[5]=t("span",{class:"rx-key"},"性别",-1)),t("span",Me,o(W.value),1)]),t("div",Ve,[r[6]||(r[6]=t("span",{class:"rx-key"},"年龄",-1)),t("span",Ee,o(Y.value),1)]),t("div",Ge,[r[7]||(r[7]=t("span",{class:"rx-key"},"电话",-1)),t("span",Je,o(((h=e.data)==null?void 0:h.phone)||((O=e.data)==null?void 0:O.recipient_phone)||"—"),1)])]),t("div",Qe,[t("div",We,[r[8]||(r[8]=t("span",{class:"rx-key"},"收件信息",-1)),t("span",Ye,o(F.value),1)])]),t("div",qe,[t("div",Ke,[r[9]||(r[9]=t("span",{class:"rx-key"},"临床诊断",-1)),t("span",Xe,o(((C=e.data)==null?void 0:C.clinical_diagnosis)||"—"),1)])])]),t("div",Ze,[t("div",et,o(u.value?"药房联":"处方联"),1),t("div",tt,[r[12]||(r[12]=t("div",{class:"rx-rp-label"},"Rp.",-1)),t("div",st,[t("div",nt,[r[10]||(r[10]=t("span",null,"用药 (单剂)",-1)),t("span",null,o(u.value?"总量":"用量"),1)]),t("div",rt,[r[11]||(r[11]=t("span",null,"用药 (单剂)",-1)),t("span",null,o(u.value?"总量":"用量"),1)])])]),t("div",ot,[u.value?(a(),l(x,{key:0},[S.value.length?(a(),l(x,{key:0},[r[13]||(r[13]=t("div",{class:"rx-herb-section-label"},"主方",-1)),(a(!0),l(x,null,$(S.value,(d,f)=>(a(),l("div",{key:"main-"+f,class:"rx-herb-cell"},[t("span",it,o(d.name)+" ("+o(d.dosage)+"克)",1),t("span",at,o(U(d.dosage))+"克",1)]))),128))],64)):_("",!0),w.value.length?(a(),l(x,{key:1},[t("div",lt,[r[14]||(r[14]=ee(" 辅方 ",-1)),e.auxLibraryName?(a(),l("span",ut,"("+o(e.auxLibraryName)+")",1)):_("",!0)]),(a(!0),l(x,null,$(w.value,(d,f)=>(a(),l("div",{key:"aux-"+f,class:"rx-herb-cell"},[t("span",ct,o(d.name)+" ("+o(d.dosage)+"克)",1),t("span",_t,o(U(d.dosage))+"克",1)]))),128))],64)):_("",!0)],64)):(a(),l(x,{key:1},[S.value.length?(a(),l(x,{key:0},[r[15]||(r[15]=t("div",{class:"rx-herb-section-label"},"主方",-1)),(a(!0),l(x,null,$(S.value,(d,f)=>(a(),l("div",{key:"user-main-"+f,class:"rx-herb-cell"},[t("span",dt,o(d.name),1),t("span",pt,o(d.dosage)+"克",1)]))),128))],64)):_("",!0),w.value.length?(a(),l(x,{key:1},[r[16]||(r[16]=t("div",{class:"rx-herb-section-label rx-herb-section-label--aux"},"辅方",-1)),(a(!0),l(x,null,$(w.value,(d,f)=>(a(),l("div",{key:"user-aux-"+f,class:"rx-herb-cell"},[t("span",mt,o(d.name),1),t("span",xt,o(d.dosage)+"克",1)]))),128))],64)):_("",!0)],64))])]),t("div",gt,[u.value?(a(),l(x,{key:0},[D.value?(a(),l("p",bt,"主服法:"+o(P.value),1)):(a(),l("p",ft,"服法:"+o(P.value),1)),D.value?(a(),l("p",vt,"辅服法:"+o(D.value),1)):_("",!0)],64)):_("",!0),H.value?(a(),l("p",yt,"医嘱:"+o(H.value),1)):_("",!0),j.value?(a(),l("p",ht,"忌口:"+o(j.value),1)):_("",!0),u.value&&B.value?(a(),l("p",kt,"备注:"+o(B.value),1)):_("",!0),R.value?(a(),l("p",Nt," 药房备注:"+o(R.value),1)):_("",!0),u.value&&L.value&&((I=e.data)==null?void 0:I.prescription_type)!=="饮片"?(a(),l("p",Tt," 出丸:"+o(L.value),1)):_("",!0)]),t("div",St,[t("div",{class:te(["rx-bot-row rx-bot-row-1",{"rx-bot-row-1--user":!u.value}])},[t("div",wt,[r[17]||(r[17]=t("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),t("div",$t,[(z=e.data)!=null&&z.doctor_signature?(a(),l("img",{key:0,src:e.data.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,At)):_("",!0),(M=e.data)!=null&&M.doctor_signature?_("",!0):(a(),l("span",Ft,o(((V=e.data)==null?void 0:V.doctor_name)||"—"),1))])]),u.value?(a(),l("div",Dt,[r[18]||(r[18]=t("span",{class:"rx-bot-meta-key"},"类型:",-1)),t("span",Pt,o(q.value),1)])):_("",!0),t("div",Ht,[r[19]||(r[19]=t("span",{class:"rx-bot-meta-key"},"天数:",-1)),t("span",jt,o(X.value),1)]),u.value?(a(),l("div",Bt,[r[20]||(r[20]=t("span",{class:"rx-bot-meta-key"},"剂量:",-1)),t("span",Rt,o(K.value)+"克",1)])):_("",!0)],2),r[21]||(r[21]=t("div",{class:"rx-bot-row rx-hospital-row"},[t("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),t("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))])],512)}}}),zt=ne(Lt,[["__scopeId","data-v-2b78e141"]]);export{zt as P}; diff --git a/server/public/admin/assets/index-DAuHO-PF.js b/server/public/admin/assets/index-rpLvWLk-.js similarity index 98% rename from server/public/admin/assets/index-DAuHO-PF.js rename to server/public/admin/assets/index-rpLvWLk-.js index 8361018f9..689c6d39b 100644 --- a/server/public/admin/assets/index-DAuHO-PF.js +++ b/server/public/admin/assets/index-rpLvWLk-.js @@ -1 +1 @@ -import{i as E,N as T,O as B,U as D,M as L,K as P}from"./element-plus-DGP1XOrU.js";import{_ as $}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{L as O,m as k,c as R,k as U,N as j}from"./index-fRv3NTFQ.js";import{u as q}from"./usePaging-DofycyjW.js";import{f as w,ar as F,as as G,ak as r,I as H,a as t,aN as o,aP as d,G as n,O as s,H as f,J as g}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as I}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"flex"},K={class:"flex justify-end mt-4"},M=w({name:"scheduledTask"}),$t=w({...M,setup(z){const{pager:m,getLists:c}=q({fetchFun:O,params:{}}),v=async b=>{await U.confirm("确定要删除?"),await j({id:b}),c()};return c(),(b,e)=>{const h=R,p=E,y=F("router-link"),a=B,u=D,x=T,C=$,N=P,_=G("perms"),V=L;return r(),H("div",null,[t(N,{shadow:"never",class:"!border-none"},{default:o(()=>[d((r(),n(y,{to:l(k)("crontab.crontab/add:edit")},{default:o(()=>[t(p,{type:"primary",class:"mb-[16px]"},{icon:o(()=>[t(h,{name:"el-icon-Plus"})]),default:o(()=>[e[1]||(e[1]=s(" 新增 ",-1))]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/add","crontab.crontab/add:edit"]]]),d((r(),n(x,{ref:"paneTable",class:"m-t-24",data:l(m).lists,style:{width:"100%"}},{default:o(()=>[t(a,{prop:"name",label:"名称","min-width":"120"}),t(a,{prop:"type_desc",label:"类型","min-width":"100"}),t(a,{prop:"command",label:"命令","min-width":"100"}),t(a,{prop:"params",label:"参数","min-width":"80"}),t(a,{prop:"expression",label:"规则","min-width":"100"}),t(a,{prop:"status",label:"状态","min-width":"100"},{default:o(({row:i})=>[i.status==1?(r(),n(u,{key:0,type:"success"},{default:o(()=>[...e[2]||(e[2]=[s("运行中",-1)])]),_:1})):f("",!0),i.status==2?(r(),n(u,{key:1,type:"info"},{default:o(()=>[...e[3]||(e[3]=[s("已停止",-1)])]),_:1})):f("",!0),i.status==3?(r(),n(u,{key:2,type:"danger"},{default:o(()=>[...e[4]||(e[4]=[s("错误",-1)])]),_:1})):f("",!0)]),_:1}),t(a,{prop:"error",label:"错误原因","min-width":"120"}),t(a,{prop:"last_time",label:"最后执行时间",width:"180"}),t(a,{prop:"time",label:"时长","min-width":"100"}),t(a,{prop:"max_time",label:"最大时长","min-width":"100"}),t(a,{label:"操作",width:"120",fixed:"right"},{default:o(({row:i})=>[g("div",J,[t(p,{type:"primary",link:""},{default:o(()=>[d((r(),n(y,{to:{path:l(k)("crontab.crontab/add:edit"),query:{id:i.id}}},{default:o(()=>[t(p,{type:"primary",link:""},{default:o(()=>[...e[5]||(e[5]=[s(" 编辑 ",-1)])]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/edit","crontab.crontab/add:edit"]]])]),_:2},1024),d((r(),n(p,{type:"danger",link:"",onClick:A=>v(i.id)},{default:o(()=>[...e[6]||(e[6]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[_,["crontab.crontab/delete"]]])])]),_:1})]),_:1},8,["data"])),[[V,l(m).loading]]),g("div",K,[t(C,{modelValue:l(m),"onUpdate:modelValue":e[0]||(e[0]=i=>I(m)?m.value=i:null),onChange:l(c)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{$t as default}; +import{i as E,N as T,O as B,U as D,M as L,K as P}from"./element-plus-DGP1XOrU.js";import{_ as $}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{L as O,m as k,c as R,k as U,N as j}from"./index-J_eFER10.js";import{u as q}from"./usePaging-DofycyjW.js";import{f as w,ar as F,as as G,ak as r,I as H,a as t,aN as o,aP as d,G as n,O as s,H as f,J as g}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as I}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"flex"},K={class:"flex justify-end mt-4"},M=w({name:"scheduledTask"}),$t=w({...M,setup(z){const{pager:m,getLists:c}=q({fetchFun:O,params:{}}),v=async b=>{await U.confirm("确定要删除?"),await j({id:b}),c()};return c(),(b,e)=>{const h=R,p=E,y=F("router-link"),a=B,u=D,x=T,C=$,N=P,_=G("perms"),V=L;return r(),H("div",null,[t(N,{shadow:"never",class:"!border-none"},{default:o(()=>[d((r(),n(y,{to:l(k)("crontab.crontab/add:edit")},{default:o(()=>[t(p,{type:"primary",class:"mb-[16px]"},{icon:o(()=>[t(h,{name:"el-icon-Plus"})]),default:o(()=>[e[1]||(e[1]=s(" 新增 ",-1))]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/add","crontab.crontab/add:edit"]]]),d((r(),n(x,{ref:"paneTable",class:"m-t-24",data:l(m).lists,style:{width:"100%"}},{default:o(()=>[t(a,{prop:"name",label:"名称","min-width":"120"}),t(a,{prop:"type_desc",label:"类型","min-width":"100"}),t(a,{prop:"command",label:"命令","min-width":"100"}),t(a,{prop:"params",label:"参数","min-width":"80"}),t(a,{prop:"expression",label:"规则","min-width":"100"}),t(a,{prop:"status",label:"状态","min-width":"100"},{default:o(({row:i})=>[i.status==1?(r(),n(u,{key:0,type:"success"},{default:o(()=>[...e[2]||(e[2]=[s("运行中",-1)])]),_:1})):f("",!0),i.status==2?(r(),n(u,{key:1,type:"info"},{default:o(()=>[...e[3]||(e[3]=[s("已停止",-1)])]),_:1})):f("",!0),i.status==3?(r(),n(u,{key:2,type:"danger"},{default:o(()=>[...e[4]||(e[4]=[s("错误",-1)])]),_:1})):f("",!0)]),_:1}),t(a,{prop:"error",label:"错误原因","min-width":"120"}),t(a,{prop:"last_time",label:"最后执行时间",width:"180"}),t(a,{prop:"time",label:"时长","min-width":"100"}),t(a,{prop:"max_time",label:"最大时长","min-width":"100"}),t(a,{label:"操作",width:"120",fixed:"right"},{default:o(({row:i})=>[g("div",J,[t(p,{type:"primary",link:""},{default:o(()=>[d((r(),n(y,{to:{path:l(k)("crontab.crontab/add:edit"),query:{id:i.id}}},{default:o(()=>[t(p,{type:"primary",link:""},{default:o(()=>[...e[5]||(e[5]=[s(" 编辑 ",-1)])]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/edit","crontab.crontab/add:edit"]]])]),_:2},1024),d((r(),n(p,{type:"danger",link:"",onClick:A=>v(i.id)},{default:o(()=>[...e[6]||(e[6]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[_,["crontab.crontab/delete"]]])])]),_:1})]),_:1},8,["data"])),[[V,l(m).loading]]),g("div",K,[t(C,{modelValue:l(m),"onUpdate:modelValue":e[0]||(e[0]=i=>I(m)?m.value=i:null),onChange:l(c)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{$t as default}; diff --git a/server/public/admin/assets/index-B9Q0OYI5.js b/server/public/admin/assets/index-ryG0bJRe.js similarity index 87% rename from server/public/admin/assets/index-B9Q0OYI5.js rename to server/public/admin/assets/index-ryG0bJRe.js index 30af456e8..db8fcf0da 100644 --- a/server/public/admin/assets/index-B9Q0OYI5.js +++ b/server/public/admin/assets/index-ryG0bJRe.js @@ -1 +1 @@ -import{D as G,B as H,C as J,Q,R as W,i as X,K as Y,M as Z,N as ee,O as oe,q as te,g as ae}from"./element-plus-DGP1XOrU.js";import{_ as le}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as ne,k as ie}from"./index-fRv3NTFQ.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js";import{w as E}from"./@vue/runtime-dom-DDAG46FW.js";import{a as x,b as re,c as se}from"./admin-BiglL3bM.js";import{r as pe}from"./role-B18Xi51b.js";import{u as de}from"./useDictOptions-Cx2-jvcM.js";import{u as ue}from"./usePaging-DofycyjW.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-DPPpbCfy.js";import{f as F,b as _e,as as fe,ak as m,I as D,a as e,aN as l,F as ve,ap as be,G as s,O as u,aP as v,J as $,H as y,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as we,q as ge,r as he,n as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-OHG8LTQz.js";import"./post-CPnP1Klt.js";const ye={class:"admin"},Ce={class:"mt-4"},Ve={class:"flex mt-4 justify-end"},Ee=F({name:"admin"}),Po=F({...Ee,setup(xe){const b=ge(),r=he({account:"",name:"",role_id:""}),w=ke(!1),{pager:p,getLists:c,resetParams:K,resetPage:k}=ue({fetchFun:x,params:r}),N=n=>{re({id:n.id,avatar:n.avatar,account:n.account,name:n.name,role_id:n.role_id,job_id:n.job_id,dept_id:n.dept_id,disable:n.disable,multipoint_login:n.multipoint_login}).finally(()=>{c()})},P=async()=>{var n;w.value=!0,await B(),(n=b.value)==null||n.open("add")},U=async n=>{var o,_;w.value=!0,await B(),(o=b.value)==null||o.open("edit"),(_=b.value)==null||_.setFormData(n)},z=async n=>{await ie.confirm("确定要删除?"),await se({id:n}),c()},{optionsData:I}=de({role:{api:pe}});return _e(()=>{c()}),(n,o)=>{const _=J,g=H,C=W,R=Q,f=X,S=me,L=G,V=Y,O=ne,i=oe,T=te,j=ae,A=ee,q=le,h=fe("perms"),M=Z;return m(),D("div",ye,[e(V,{class:"!border-none",shadow:"never"},{default:l(()=>[e(L,{class:"mb-[-16px]",model:a(r),inline:""},{default:l(()=>[e(g,{class:"w-[280px]",label:"管理员账号"},{default:l(()=>[e(_,{modelValue:a(r).account,"onUpdate:modelValue":o[0]||(o[0]=t=>a(r).account=t),placeholder:"请输入管理员账号",clearable:"",onKeyup:E(a(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员名称"},{default:l(()=>[e(_,{modelValue:a(r).name,"onUpdate:modelValue":o[1]||(o[1]=t=>a(r).name=t),placeholder:"请输入管理员名称",clearable:"",onKeyup:E(a(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员角色"},{default:l(()=>[e(R,{modelValue:a(r).role_id,"onUpdate:modelValue":o[2]||(o[2]=t=>a(r).role_id=t)},{default:l(()=>[e(C,{label:"全部",value:""}),(m(!0),D(ve,null,be(a(I).role,(t,d)=>(m(),s(C,{key:d,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,null,{default:l(()=>[e(f,{type:"primary",onClick:a(k)},{default:l(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(K)},{default:l(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(S,{class:"ml-2.5","fetch-fun":a(x),params:a(r),"page-size":a(p).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),v((m(),s(V,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[v((m(),s(f,{type:"primary",onClick:P},{icon:l(()=>[e(O,{name:"el-icon-Plus"})]),default:l(()=>[o[7]||(o[7]=u(" 新增 ",-1))]),_:1})),[[h,["auth.admin/add"]]]),$("div",Ce,[e(A,{data:a(p).lists,size:"large"},{default:l(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),o[10]||(o[10]=u("> ",-1)),e(i,{label:"头像","min-width":"100"},{default:l(({row:t})=>[e(T,{size:50,src:t.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"100"}),e(i,{label:"名称",prop:"name","min-width":"100"}),e(i,{label:"角色",prop:"role_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"部门",prop:"dept_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"创建时间",prop:"create_time","min-width":"180"}),e(i,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(i,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),v((m(),s(i,{label:"状态","min-width":"100"},{default:l(({row:t})=>[t.root!=1?(m(),s(j,{key:0,modelValue:t.disable,"onUpdate:modelValue":d=>t.disable=d,"active-value":0,"inactive-value":1,onChange:d=>N(t)},null,8,["modelValue","onUpdate:modelValue","onChange"])):y("",!0)]),_:1})),[[h,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:t})=>[v((m(),s(f,{type:"primary",link:"",onClick:d=>U(t)},{default:l(()=>[...o[8]||(o[8]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/edit"]]]),t.root!=1?v((m(),s(f,{key:0,type:"danger",link:"",onClick:d=>z(t.id)},{default:l(()=>[...o[9]||(o[9]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/delete"]]]):y("",!0)]),_:1})]),_:1},8,["data"])]),$("div",Ve,[e(q,{modelValue:a(p),"onUpdate:modelValue":o[3]||(o[3]=t=>we(p)?p.value=t:null),onChange:a(c)},null,8,["modelValue","onChange"])])]),_:1})),[[M,a(p).loading]]),a(w)?(m(),s(ce,{key:0,ref_key:"editRef",ref:b,onSuccess:a(c),onClose:o[4]||(o[4]=t=>w.value=!1)},null,8,["onSuccess"])):y("",!0)])}}});export{Po as default}; +import{D as G,B as H,C as J,Q,R as W,i as X,K as Y,M as Z,N as ee,O as oe,q as te,g as ae}from"./element-plus-DGP1XOrU.js";import{_ as le}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as ne,k as ie}from"./index-J_eFER10.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js";import{w as E}from"./@vue/runtime-dom-DDAG46FW.js";import{a as x,b as re,c as se}from"./admin-RUE9duOm.js";import{r as pe}from"./role-hMw9X8iI.js";import{u as de}from"./useDictOptions-CU1TLMPn.js";import{u as ue}from"./usePaging-DofycyjW.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-Cmw9LYbk.js";import{f as F,b as _e,as as fe,ak as m,I as D,a as e,aN as l,F as ve,ap as be,G as s,O as u,aP as v,J as $,H as y,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as we,q as ge,r as he,n as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-DdhKHNS-.js";import"./post-BjyIxcyn.js";const ye={class:"admin"},Ce={class:"mt-4"},Ve={class:"flex mt-4 justify-end"},Ee=F({name:"admin"}),Po=F({...Ee,setup(xe){const b=ge(),r=he({account:"",name:"",role_id:""}),w=ke(!1),{pager:p,getLists:c,resetParams:K,resetPage:k}=ue({fetchFun:x,params:r}),N=n=>{re({id:n.id,avatar:n.avatar,account:n.account,name:n.name,role_id:n.role_id,job_id:n.job_id,dept_id:n.dept_id,disable:n.disable,multipoint_login:n.multipoint_login}).finally(()=>{c()})},P=async()=>{var n;w.value=!0,await B(),(n=b.value)==null||n.open("add")},U=async n=>{var o,_;w.value=!0,await B(),(o=b.value)==null||o.open("edit"),(_=b.value)==null||_.setFormData(n)},z=async n=>{await ie.confirm("确定要删除?"),await se({id:n}),c()},{optionsData:I}=de({role:{api:pe}});return _e(()=>{c()}),(n,o)=>{const _=J,g=H,C=W,R=Q,f=X,S=me,L=G,V=Y,O=ne,i=oe,T=te,j=ae,A=ee,q=le,h=fe("perms"),M=Z;return m(),D("div",ye,[e(V,{class:"!border-none",shadow:"never"},{default:l(()=>[e(L,{class:"mb-[-16px]",model:a(r),inline:""},{default:l(()=>[e(g,{class:"w-[280px]",label:"管理员账号"},{default:l(()=>[e(_,{modelValue:a(r).account,"onUpdate:modelValue":o[0]||(o[0]=t=>a(r).account=t),placeholder:"请输入管理员账号",clearable:"",onKeyup:E(a(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员名称"},{default:l(()=>[e(_,{modelValue:a(r).name,"onUpdate:modelValue":o[1]||(o[1]=t=>a(r).name=t),placeholder:"请输入管理员名称",clearable:"",onKeyup:E(a(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员角色"},{default:l(()=>[e(R,{modelValue:a(r).role_id,"onUpdate:modelValue":o[2]||(o[2]=t=>a(r).role_id=t)},{default:l(()=>[e(C,{label:"全部",value:""}),(m(!0),D(ve,null,be(a(I).role,(t,d)=>(m(),s(C,{key:d,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,null,{default:l(()=>[e(f,{type:"primary",onClick:a(k)},{default:l(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(K)},{default:l(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(S,{class:"ml-2.5","fetch-fun":a(x),params:a(r),"page-size":a(p).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),v((m(),s(V,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[v((m(),s(f,{type:"primary",onClick:P},{icon:l(()=>[e(O,{name:"el-icon-Plus"})]),default:l(()=>[o[7]||(o[7]=u(" 新增 ",-1))]),_:1})),[[h,["auth.admin/add"]]]),$("div",Ce,[e(A,{data:a(p).lists,size:"large"},{default:l(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),o[10]||(o[10]=u("> ",-1)),e(i,{label:"头像","min-width":"100"},{default:l(({row:t})=>[e(T,{size:50,src:t.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"100"}),e(i,{label:"名称",prop:"name","min-width":"100"}),e(i,{label:"角色",prop:"role_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"部门",prop:"dept_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"创建时间",prop:"create_time","min-width":"180"}),e(i,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(i,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),v((m(),s(i,{label:"状态","min-width":"100"},{default:l(({row:t})=>[t.root!=1?(m(),s(j,{key:0,modelValue:t.disable,"onUpdate:modelValue":d=>t.disable=d,"active-value":0,"inactive-value":1,onChange:d=>N(t)},null,8,["modelValue","onUpdate:modelValue","onChange"])):y("",!0)]),_:1})),[[h,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:t})=>[v((m(),s(f,{type:"primary",link:"",onClick:d=>U(t)},{default:l(()=>[...o[8]||(o[8]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/edit"]]]),t.root!=1?v((m(),s(f,{key:0,type:"danger",link:"",onClick:d=>z(t.id)},{default:l(()=>[...o[9]||(o[9]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/delete"]]]):y("",!0)]),_:1})]),_:1},8,["data"])]),$("div",Ve,[e(q,{modelValue:a(p),"onUpdate:modelValue":o[3]||(o[3]=t=>we(p)?p.value=t:null),onChange:a(c)},null,8,["modelValue","onChange"])])]),_:1})),[[M,a(p).loading]]),a(w)?(m(),s(ce,{key:0,ref_key:"editRef",ref:b,onSuccess:a(c),onClose:o[4]||(o[4]=t=>w.value=!1)},null,8,["onSuccess"])):y("",!0)])}}});export{Po as default}; diff --git a/server/public/admin/assets/index-Dc1nFBAH.js b/server/public/admin/assets/index-sgqCyAwB.js similarity index 90% rename from server/public/admin/assets/index-Dc1nFBAH.js rename to server/public/admin/assets/index-sgqCyAwB.js index 55ec40b25..c3b7eccee 100644 --- a/server/public/admin/assets/index-Dc1nFBAH.js +++ b/server/public/admin/assets/index-sgqCyAwB.js @@ -1 +1 @@ -import{_ as r,c}from"./index-fRv3NTFQ.js";import{f as p,ak as s,I as n,aq as d,a as i,H as m}from"./@vue/runtime-core-C6bnekPw.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";const f=p({props:{showClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:o}){return{handleClose:()=>{o("close")}}}}),u={class:"del-wrap"};function C(e,o,a,h,$,k){const t=c;return s(),n("div",u,[d(e.$slots,"default",{},void 0,!0),e.showClose?(s(),n("div",{key:0,class:"icon-close",onClick:o[0]||(o[0]=_((...l)=>e.handleClose&&e.handleClose(...l),["stop"]))},[i(t,{size:12,name:"el-icon-CloseBold"})])):m("",!0)])}const y=r(f,[["render",C],["__scopeId","data-v-2a98aa67"]]);export{y as _}; +import{_ as r,c}from"./index-J_eFER10.js";import{f as p,ak as s,I as n,aq as d,a as i,H as m}from"./@vue/runtime-core-C6bnekPw.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";const f=p({props:{showClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:o}){return{handleClose:()=>{o("close")}}}}),u={class:"del-wrap"};function C(e,o,a,h,$,k){const t=c;return s(),n("div",u,[d(e.$slots,"default",{},void 0,!0),e.showClose?(s(),n("div",{key:0,class:"icon-close",onClick:o[0]||(o[0]=_((...l)=>e.handleClose&&e.handleClose(...l),["stop"]))},[i(t,{size:12,name:"el-icon-CloseBold"})])):m("",!0)])}const y=r(f,[["render",C],["__scopeId","data-v-2a98aa67"]]);export{y as _}; diff --git a/server/public/admin/assets/index-BxX_XfwR.js b/server/public/admin/assets/index-yfT8lnLY.js similarity index 98% rename from server/public/admin/assets/index-BxX_XfwR.js rename to server/public/admin/assets/index-yfT8lnLY.js index 820490826..d18094df3 100644 --- a/server/public/admin/assets/index-BxX_XfwR.js +++ b/server/public/admin/assets/index-yfT8lnLY.js @@ -1 +1 @@ -import{D as Z,B as ee,C as te,i as ae,K as le,N as oe,O as se,r as ne,d as re,g as ie,M as ue,V as de,W as pe,E as b,a as me}from"./element-plus-DGP1XOrU.js";import{w as ce}from"./@vue/runtime-dom-DDAG46FW.js";import{L as fe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as ve,f as D,g as ge,h as _e}from"./asset-BIi7JiAC.js";import{f as ke,b as ye,ak as N,I as Ve,a as t,aN as l,O as i,J as y,aP as be,G as he}from"./@vue/runtime-core-C6bnekPw.js";import{Q as P}from"./@vue/shared-mAAVTE9n.js";import{y as we,n,r as z}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const xe={class:"asset-user-container"},Ce={class:"mb-4"},Ee={class:"flex items-center gap-1 min-w-0"},Ue=["title"],De={class:"mt-4 flex justify-end"},ze={class:"text-sm text-gray-500 mb-3"},vt=ke({__name:"index",setup(Be){const h=n(!1),w=n([]),B=n(0),c=z({phone:""}),u=z({page_no:1,page_size:15}),p=n(!1),x=n(""),C=n(!1),E=n(),f=n(!1),U=n(!1),v=n(""),V=n(""),S=n(""),s=z({id:"",phone:"",password:"",remark:"",status:1}),R={phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},d=async()=>{h.value=!0;try{const o={...u,...c},e=await ve(o);w.value=e.lists,B.value=e.count}catch(o){console.error(o)}finally{h.value=!1}},T=()=>{u.page_no=1,d()},j=()=>{c.phone="",u.page_no=1,d()},M=async o=>{try{await D({id:o.id,status:o.status}),b.success(o.status===1?"已启用":"已禁用")}catch(e){o.status=o.status===1?0:1,console.error(e)}},O=()=>{x.value="新增账号",Object.assign(s,{id:"",phone:"",password:"",remark:"",status:1}),p.value=!0},F=o=>{x.value="编辑账号",Object.assign(s,{id:o.id,phone:o.phone,password:"",remark:o.remark||"",status:o.status}),p.value=!0},K=o=>{V.value=o.id,S.value=o.phone||"",v.value=o.remark||"",f.value=!0},Q=async()=>{if(V.value){U.value=!0;try{await D({id:V.value,remark:v.value});const o=w.value.find(e=>e.id===V.value);o&&(o.remark=v.value),b.success("备注已保存"),f.value=!1}catch(o){console.error(o)}finally{U.value=!1}}},q=async o=>{try{await me.confirm("确定要删除该账号及其关联资源吗?","提示",{type:"warning"}),await ge({id:o.id}),b.success("删除成功"),d()}catch{}},G=async()=>{E.value&&await E.value.validate(async o=>{if(o){C.value=!0;try{s.id?await D(s):await _e(s),b.success("操作成功"),p.value=!1,d()}catch(e){console.error(e)}finally{C.value=!1}}})};return ye(()=>{d()}),(o,e)=>{const g=te,m=ee,r=ae,A=Z,$=le,_=se,J=re,W=ne,I=ie,H=oe,X=de,L=pe,Y=ue;return N(),Ve("div",xe,[t($,{class:"!border-none",shadow:"never"},{default:l(()=>[t(A,{class:"ls-form",model:c,inline:""},{default:l(()=>[t(m,{class:"w-[280px]",label:"手机号"},{default:l(()=>[t(g,{placeholder:"请输入手机号",modelValue:c.phone,"onUpdate:modelValue":e[0]||(e[0]=a=>c.phone=a),clearable:"",onKeyup:ce(T,["enter"])},null,8,["modelValue"])]),_:1}),t(m,null,{default:l(()=>[t(r,{type:"primary",onClick:T},{default:l(()=>[...e[12]||(e[12]=[i("查询",-1)])]),_:1}),t(r,{onClick:j},{default:l(()=>[...e[13]||(e[13]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t($,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[y("div",Ce,[t(r,{type:"primary",onClick:O},{default:l(()=>[...e[14]||(e[14]=[i("新增账号",-1)])]),_:1})]),be((N(),he(H,{data:w.value},{default:l(()=>[t(_,{prop:"phone",label:"手机号"}),t(_,{label:"备注","min-width":"200"},{default:l(({row:a})=>[y("div",Ee,[y("span",{class:"truncate text-gray-600",title:a.remark||""},P(a.remark||"—"),9,Ue),t(W,{content:"编辑备注",placement:"top"},{default:l(()=>[t(J,{class:"shrink-0 cursor-pointer text-gray-400 hover:text-primary",onClick:k=>K(a)},{default:l(()=>[t(we(fe))]),_:1},8,["onClick"])]),_:2},1024)])]),_:1}),t(_,{prop:"create_time",label:"创建时间",width:"180"}),t(_,{prop:"status",label:"状态",width:"100"},{default:l(({row:a})=>[t(I,{modelValue:a.status,"onUpdate:modelValue":k=>a.status=k,"active-value":1,"inactive-value":0,"active-text":"正常","inactive-text":"禁用","inline-prompt":"",onChange:k=>M(a)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(_,{label:"操作",width:"200",fixed:"right"},{default:l(({row:a})=>[t(r,{type:"primary",link:"",onClick:k=>F(a)},{default:l(()=>[...e[15]||(e[15]=[i("编辑",-1)])]),_:1},8,["onClick"]),t(r,{type:"danger",link:"",onClick:k=>q(a)},{default:l(()=>[...e[16]||(e[16]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Y,h.value]]),y("div",De,[t(X,{"current-page":u.page_no,"onUpdate:currentPage":e[1]||(e[1]=a=>u.page_no=a),"page-size":u.page_size,"onUpdate:pageSize":e[2]||(e[2]=a=>u.page_size=a),total:B.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:d,onCurrentChange:d},null,8,["current-page","page-size","total"])])]),_:1}),t(L,{modelValue:p.value,"onUpdate:modelValue":e[8]||(e[8]=a=>p.value=a),title:x.value,width:"500px","destroy-on-close":""},{footer:l(()=>[t(r,{onClick:e[7]||(e[7]=a=>p.value=!1)},{default:l(()=>[...e[17]||(e[17]=[i("取消",-1)])]),_:1}),t(r,{type:"primary",onClick:G,loading:C.value},{default:l(()=>[...e[18]||(e[18]=[i("确定",-1)])]),_:1},8,["loading"])]),default:l(()=>[t(A,{ref_key:"formRef",ref:E,model:s,rules:R,"label-width":"80px"},{default:l(()=>[t(m,{label:"手机号",prop:"phone"},{default:l(()=>[t(g,{modelValue:s.phone,"onUpdate:modelValue":e[3]||(e[3]=a=>s.phone=a),placeholder:"请输入手机号(作为登录账号)"},null,8,["modelValue"])]),_:1}),t(m,{label:"密码",prop:"password"},{default:l(()=>[t(g,{modelValue:s.password,"onUpdate:modelValue":e[4]||(e[4]=a=>s.password=a),placeholder:"为空则默认为 123456","show-password":""},null,8,["modelValue"])]),_:1}),t(m,{label:"备注",prop:"remark"},{default:l(()=>[t(g,{modelValue:s.remark,"onUpdate:modelValue":e[5]||(e[5]=a=>s.remark=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"可填写用户相关信息,仅管理员可见"},null,8,["modelValue"])]),_:1}),t(m,{label:"状态",prop:"status"},{default:l(()=>[t(I,{modelValue:s.status,"onUpdate:modelValue":e[6]||(e[6]=a=>s.status=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),t(L,{modelValue:f.value,"onUpdate:modelValue":e[11]||(e[11]=a=>f.value=a),title:"快捷备注",width:"420px","destroy-on-close":""},{footer:l(()=>[t(r,{onClick:e[10]||(e[10]=a=>f.value=!1)},{default:l(()=>[...e[19]||(e[19]=[i("取消",-1)])]),_:1}),t(r,{type:"primary",loading:U.value,onClick:Q},{default:l(()=>[...e[20]||(e[20]=[i("保存",-1)])]),_:1},8,["loading"])]),default:l(()=>[y("div",ze,"账号:"+P(S.value),1),t(g,{modelValue:v.value,"onUpdate:modelValue":e[9]||(e[9]=a=>v.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"可填写用户相关信息,仅管理员可见"},null,8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{vt as default}; +import{D as Z,B as ee,C as te,i as ae,K as le,N as oe,O as se,r as ne,d as re,g as ie,M as ue,V as de,W as pe,E as b,a as me}from"./element-plus-DGP1XOrU.js";import{w as ce}from"./@vue/runtime-dom-DDAG46FW.js";import{L as fe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as ve,f as D,g as ge,h as _e}from"./asset-D3abx9VD.js";import{f as ke,b as ye,ak as N,I as Ve,a as t,aN as l,O as i,J as y,aP as be,G as he}from"./@vue/runtime-core-C6bnekPw.js";import{Q as P}from"./@vue/shared-mAAVTE9n.js";import{y as we,n,r as z}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const xe={class:"asset-user-container"},Ce={class:"mb-4"},Ee={class:"flex items-center gap-1 min-w-0"},Ue=["title"],De={class:"mt-4 flex justify-end"},ze={class:"text-sm text-gray-500 mb-3"},vt=ke({__name:"index",setup(Be){const h=n(!1),w=n([]),B=n(0),c=z({phone:""}),u=z({page_no:1,page_size:15}),p=n(!1),x=n(""),C=n(!1),E=n(),f=n(!1),U=n(!1),v=n(""),V=n(""),S=n(""),s=z({id:"",phone:"",password:"",remark:"",status:1}),R={phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},d=async()=>{h.value=!0;try{const o={...u,...c},e=await ve(o);w.value=e.lists,B.value=e.count}catch(o){console.error(o)}finally{h.value=!1}},T=()=>{u.page_no=1,d()},j=()=>{c.phone="",u.page_no=1,d()},M=async o=>{try{await D({id:o.id,status:o.status}),b.success(o.status===1?"已启用":"已禁用")}catch(e){o.status=o.status===1?0:1,console.error(e)}},O=()=>{x.value="新增账号",Object.assign(s,{id:"",phone:"",password:"",remark:"",status:1}),p.value=!0},F=o=>{x.value="编辑账号",Object.assign(s,{id:o.id,phone:o.phone,password:"",remark:o.remark||"",status:o.status}),p.value=!0},K=o=>{V.value=o.id,S.value=o.phone||"",v.value=o.remark||"",f.value=!0},Q=async()=>{if(V.value){U.value=!0;try{await D({id:V.value,remark:v.value});const o=w.value.find(e=>e.id===V.value);o&&(o.remark=v.value),b.success("备注已保存"),f.value=!1}catch(o){console.error(o)}finally{U.value=!1}}},q=async o=>{try{await me.confirm("确定要删除该账号及其关联资源吗?","提示",{type:"warning"}),await ge({id:o.id}),b.success("删除成功"),d()}catch{}},G=async()=>{E.value&&await E.value.validate(async o=>{if(o){C.value=!0;try{s.id?await D(s):await _e(s),b.success("操作成功"),p.value=!1,d()}catch(e){console.error(e)}finally{C.value=!1}}})};return ye(()=>{d()}),(o,e)=>{const g=te,m=ee,r=ae,A=Z,$=le,_=se,J=re,W=ne,I=ie,H=oe,X=de,L=pe,Y=ue;return N(),Ve("div",xe,[t($,{class:"!border-none",shadow:"never"},{default:l(()=>[t(A,{class:"ls-form",model:c,inline:""},{default:l(()=>[t(m,{class:"w-[280px]",label:"手机号"},{default:l(()=>[t(g,{placeholder:"请输入手机号",modelValue:c.phone,"onUpdate:modelValue":e[0]||(e[0]=a=>c.phone=a),clearable:"",onKeyup:ce(T,["enter"])},null,8,["modelValue"])]),_:1}),t(m,null,{default:l(()=>[t(r,{type:"primary",onClick:T},{default:l(()=>[...e[12]||(e[12]=[i("查询",-1)])]),_:1}),t(r,{onClick:j},{default:l(()=>[...e[13]||(e[13]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t($,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[y("div",Ce,[t(r,{type:"primary",onClick:O},{default:l(()=>[...e[14]||(e[14]=[i("新增账号",-1)])]),_:1})]),be((N(),he(H,{data:w.value},{default:l(()=>[t(_,{prop:"phone",label:"手机号"}),t(_,{label:"备注","min-width":"200"},{default:l(({row:a})=>[y("div",Ee,[y("span",{class:"truncate text-gray-600",title:a.remark||""},P(a.remark||"—"),9,Ue),t(W,{content:"编辑备注",placement:"top"},{default:l(()=>[t(J,{class:"shrink-0 cursor-pointer text-gray-400 hover:text-primary",onClick:k=>K(a)},{default:l(()=>[t(we(fe))]),_:1},8,["onClick"])]),_:2},1024)])]),_:1}),t(_,{prop:"create_time",label:"创建时间",width:"180"}),t(_,{prop:"status",label:"状态",width:"100"},{default:l(({row:a})=>[t(I,{modelValue:a.status,"onUpdate:modelValue":k=>a.status=k,"active-value":1,"inactive-value":0,"active-text":"正常","inactive-text":"禁用","inline-prompt":"",onChange:k=>M(a)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(_,{label:"操作",width:"200",fixed:"right"},{default:l(({row:a})=>[t(r,{type:"primary",link:"",onClick:k=>F(a)},{default:l(()=>[...e[15]||(e[15]=[i("编辑",-1)])]),_:1},8,["onClick"]),t(r,{type:"danger",link:"",onClick:k=>q(a)},{default:l(()=>[...e[16]||(e[16]=[i("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Y,h.value]]),y("div",De,[t(X,{"current-page":u.page_no,"onUpdate:currentPage":e[1]||(e[1]=a=>u.page_no=a),"page-size":u.page_size,"onUpdate:pageSize":e[2]||(e[2]=a=>u.page_size=a),total:B.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:d,onCurrentChange:d},null,8,["current-page","page-size","total"])])]),_:1}),t(L,{modelValue:p.value,"onUpdate:modelValue":e[8]||(e[8]=a=>p.value=a),title:x.value,width:"500px","destroy-on-close":""},{footer:l(()=>[t(r,{onClick:e[7]||(e[7]=a=>p.value=!1)},{default:l(()=>[...e[17]||(e[17]=[i("取消",-1)])]),_:1}),t(r,{type:"primary",onClick:G,loading:C.value},{default:l(()=>[...e[18]||(e[18]=[i("确定",-1)])]),_:1},8,["loading"])]),default:l(()=>[t(A,{ref_key:"formRef",ref:E,model:s,rules:R,"label-width":"80px"},{default:l(()=>[t(m,{label:"手机号",prop:"phone"},{default:l(()=>[t(g,{modelValue:s.phone,"onUpdate:modelValue":e[3]||(e[3]=a=>s.phone=a),placeholder:"请输入手机号(作为登录账号)"},null,8,["modelValue"])]),_:1}),t(m,{label:"密码",prop:"password"},{default:l(()=>[t(g,{modelValue:s.password,"onUpdate:modelValue":e[4]||(e[4]=a=>s.password=a),placeholder:"为空则默认为 123456","show-password":""},null,8,["modelValue"])]),_:1}),t(m,{label:"备注",prop:"remark"},{default:l(()=>[t(g,{modelValue:s.remark,"onUpdate:modelValue":e[5]||(e[5]=a=>s.remark=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"可填写用户相关信息,仅管理员可见"},null,8,["modelValue"])]),_:1}),t(m,{label:"状态",prop:"status"},{default:l(()=>[t(I,{modelValue:s.status,"onUpdate:modelValue":e[6]||(e[6]=a=>s.status=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),t(L,{modelValue:f.value,"onUpdate:modelValue":e[11]||(e[11]=a=>f.value=a),title:"快捷备注",width:"420px","destroy-on-close":""},{footer:l(()=>[t(r,{onClick:e[10]||(e[10]=a=>f.value=!1)},{default:l(()=>[...e[19]||(e[19]=[i("取消",-1)])]),_:1}),t(r,{type:"primary",loading:U.value,onClick:Q},{default:l(()=>[...e[20]||(e[20]=[i("保存",-1)])]),_:1},8,["loading"])]),default:l(()=>[y("div",ze,"账号:"+P(S.value),1),t(g,{modelValue:v.value,"onUpdate:modelValue":e[9]||(e[9]=a=>v.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"可填写用户相关信息,仅管理员可见"},null,8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{vt as default}; diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js similarity index 96% rename from server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js rename to server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js index b9cc02496..28985a316 100644 --- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js +++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js @@ -1 +1 @@ -import{D as N,B as q,G as D,J as S,C as H,i as O}from"./element-plus-DGP1XOrU.js";import{_ as U}from"./index-D5PquIeg.js";import{k as f}from"./index-fRv3NTFQ.js";import{f as G,ak as g,I as v,a as t,aN as l,J as c,H as w,O as i,G as I}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as a,q as z,r as E}from"./@vue/reactivity-DiY1c2vO.js";const h={class:"export-data"},j={key:0,class:"text-sm text-gray-500 mb-3 leading-relaxed"},J={class:"flex"},P=G({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0},exportHint:{type:String,default:""}},setup(k){const x=z(),n=k,y=z(),o=E({page_type:0,page_start:1,page_end:200,file_name:""}),R={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}]},u=E({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),V=async()=>{const r=await n.fetchFun({...n.params,page_size:n.pageSize,export:1});Object.assign(u,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},B=async()=>{var r,e;await((r=x.value)==null?void 0:r.validate()),f.loading("正在导出中...");try{await n.fetchFun({...n.params,...o,page_size:n.pageSize,export:2}),(e=y.value)==null||e.close(),f.closeLoading()}catch{f.closeLoading()}};return V(),(r,e)=>{const p=O,s=q,b=S,C=D,_=H,F=N;return g(),v("div",h,[t(U,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:B,async:!0,onOpen:V},{trigger:l(()=>[t(p,null,{default:l(()=>[...e[4]||(e[4]=[i("导出",-1)])]),_:1})]),default:l(()=>[c("div",null,[n.exportHint?(g(),v("p",j,m(n.exportHint),1)):w("",!0),t(F,{ref_key:"formRef",ref:x,model:a(o),"label-width":"120px",rules:R},{default:l(()=>[t(s,{label:"数据量:"},{default:l(()=>[i(" 预计导出"+m(a(u).count)+"条数据, 共"+m(a(u).sum_page)+"页,每页"+m(a(u).page_size)+"条数据 ",1)]),_:1}),t(s,{label:"导出限制:"},{default:l(()=>[i(" 每次导出最大允许"+m(a(u).max_page)+"页,共"+m(a(u).all_max_size)+"条数据 ",1)]),_:1}),t(s,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[t(C,{modelValue:a(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=d=>a(o).page_type=d)},{default:l(()=>[t(b,{value:0},{default:l(()=>[...e[5]||(e[5]=[i("全部导出",-1)])]),_:1}),t(b,{value:1},{default:l(()=>[...e[6]||(e[6]=[i("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(o).page_type==1?(g(),I(s,{key:0,label:"分页范围:"},{default:l(()=>[c("div",J,[t(s,{prop:"page_start"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=d=>a(o).page_start=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=c("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),t(s,{prop:"page_end"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=d=>a(o).page_end=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):w("",!0),t(s,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[t(_,{modelValue:a(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=d=>a(o).file_name=d),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{P as _}; +import{D as N,B as q,G as D,J as S,C as H,i as O}from"./element-plus-DGP1XOrU.js";import{_ as U}from"./index-BVjWjU3h.js";import{k as f}from"./index-J_eFER10.js";import{f as G,ak as g,I as v,a as t,aN as l,J as c,H as w,O as i,G as I}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as a,q as z,r as E}from"./@vue/reactivity-DiY1c2vO.js";const h={class:"export-data"},j={key:0,class:"text-sm text-gray-500 mb-3 leading-relaxed"},J={class:"flex"},P=G({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0},exportHint:{type:String,default:""}},setup(k){const x=z(),n=k,y=z(),o=E({page_type:0,page_start:1,page_end:200,file_name:""}),R={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}]},u=E({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),V=async()=>{const r=await n.fetchFun({...n.params,page_size:n.pageSize,export:1});Object.assign(u,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},B=async()=>{var r,e;await((r=x.value)==null?void 0:r.validate()),f.loading("正在导出中...");try{await n.fetchFun({...n.params,...o,page_size:n.pageSize,export:2}),(e=y.value)==null||e.close(),f.closeLoading()}catch{f.closeLoading()}};return V(),(r,e)=>{const p=O,s=q,b=S,C=D,_=H,F=N;return g(),v("div",h,[t(U,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:B,async:!0,onOpen:V},{trigger:l(()=>[t(p,null,{default:l(()=>[...e[4]||(e[4]=[i("导出",-1)])]),_:1})]),default:l(()=>[c("div",null,[n.exportHint?(g(),v("p",j,m(n.exportHint),1)):w("",!0),t(F,{ref_key:"formRef",ref:x,model:a(o),"label-width":"120px",rules:R},{default:l(()=>[t(s,{label:"数据量:"},{default:l(()=>[i(" 预计导出"+m(a(u).count)+"条数据, 共"+m(a(u).sum_page)+"页,每页"+m(a(u).page_size)+"条数据 ",1)]),_:1}),t(s,{label:"导出限制:"},{default:l(()=>[i(" 每次导出最大允许"+m(a(u).max_page)+"页,共"+m(a(u).all_max_size)+"条数据 ",1)]),_:1}),t(s,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[t(C,{modelValue:a(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=d=>a(o).page_type=d)},{default:l(()=>[t(b,{value:0},{default:l(()=>[...e[5]||(e[5]=[i("全部导出",-1)])]),_:1}),t(b,{value:1},{default:l(()=>[...e[6]||(e[6]=[i("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(o).page_type==1?(g(),I(s,{key:0,label:"分页范围:"},{default:l(()=>[c("div",J,[t(s,{prop:"page_start"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=d=>a(o).page_start=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=c("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),t(s,{prop:"page_end"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=d=>a(o).page_end=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):w("",!0),t(s,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[t(_,{modelValue:a(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=d=>a(o).file_name=d),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{P as _}; diff --git a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DZ1VD0du.js b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-54f2yh7y.js similarity index 96% rename from server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DZ1VD0du.js rename to server/public/admin/assets/index.vue_vue_type_style_index_0_lang-54f2yh7y.js index df43bf53a..4edc16082 100644 --- a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DZ1VD0du.js +++ b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-54f2yh7y.js @@ -1 +1 @@ -import"./@wangeditor/editor-Cyf37SuL.js";import{T as k,E as x}from"./@wangeditor/editor-for-vue-D1vSph3l.js";import{_ as R}from"./picker-C0hwSppU.js";import{p as f}from"./index-fRv3NTFQ.js";import{f as U,ae as _,ak as B,I as E,a as u,A as c,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{p as T}from"./@vue/shared-mAAVTE9n.js";import{y as t,a as A,q as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";const M=U({__name:"index",props:{modelValue:{default:""},mode:{default:"default"},height:{default:"100%"},width:{default:"auto"},toolbarConfig:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:g}){const l=a,v=g,d=p(),n=p(),r=h(""),m=h(!1);let s;const C={MENU_CONF:{uploadImage:{customBrowseAndUpload(e){var o;r.value="image",(o=n.value)==null||o.showPopup(-1),s=e}},uploadVideo:{customBrowseAndUpload(e){var o;r.value="video",(o=n.value)==null||o.showPopup(-1),s=e}}}},b=c(()=>({height:f(l.height),width:f(l.width)})),i=c({get(){return l.modelValue},set(e){m.value&&v("update:modelValue",e)}}),y=e=>{e.forEach(o=>{s(o)})};_(()=>{const e=d.value;e!=null&&e.destroy()});const w=e=>{d.value=e,P(()=>{m.value=!0})};return(e,o)=>(B(),E("div",{class:"border border-br flex flex-col",style:T(t(b))},[u(t(k),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),u(t(x),{class:"flex-1 overflow-hidden",modelValue:t(i),"onUpdate:modelValue":o[0]||(o[0]=V=>A(i)?i.value=V:null),defaultConfig:C,mode:a.mode,onOnCreated:w},null,8,["modelValue","mode"]),u(R,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:y},null,8,["type"])],4))}});export{M as _}; +import"./@wangeditor/editor-Cyf37SuL.js";import{T as k,E as x}from"./@wangeditor/editor-for-vue-D1vSph3l.js";import{_ as R}from"./picker-lbwHqE-a.js";import{p as f}from"./index-J_eFER10.js";import{f as U,ae as _,ak as B,I as E,a as u,A as c,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{p as T}from"./@vue/shared-mAAVTE9n.js";import{y as t,a as A,q as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";const M=U({__name:"index",props:{modelValue:{default:""},mode:{default:"default"},height:{default:"100%"},width:{default:"auto"},toolbarConfig:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:g}){const l=a,v=g,d=p(),n=p(),r=h(""),m=h(!1);let s;const C={MENU_CONF:{uploadImage:{customBrowseAndUpload(e){var o;r.value="image",(o=n.value)==null||o.showPopup(-1),s=e}},uploadVideo:{customBrowseAndUpload(e){var o;r.value="video",(o=n.value)==null||o.showPopup(-1),s=e}}}},b=c(()=>({height:f(l.height),width:f(l.width)})),i=c({get(){return l.modelValue},set(e){m.value&&v("update:modelValue",e)}}),y=e=>{e.forEach(o=>{s(o)})};_(()=>{const e=d.value;e!=null&&e.destroy()});const w=e=>{d.value=e,P(()=>{m.value=!0})};return(e,o)=>(B(),E("div",{class:"border border-br flex flex-col",style:T(t(b))},[u(t(k),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),u(t(x),{class:"flex-1 overflow-hidden",modelValue:t(i),"onUpdate:modelValue":o[0]||(o[0]=V=>A(i)?i.value=V:null),defaultConfig:C,mode:a.mode,onOnCreated:w},null,8,["modelValue","mode"]),u(R,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:y},null,8,["type"])],4))}});export{M as _}; diff --git a/server/public/admin/assets/index_h5-DDGgBKsJ.js b/server/public/admin/assets/index_h5-DbYby-js.js similarity index 94% rename from server/public/admin/assets/index_h5-DDGgBKsJ.js rename to server/public/admin/assets/index_h5-DbYby-js.js index a5572061f..bc2a01a56 100644 --- a/server/public/admin/assets/index_h5-DDGgBKsJ.js +++ b/server/public/admin/assets/index_h5-DbYby-js.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-BzY4w_V9.js","assets/appointment-aTSV_XED.js","assets/first_visit-BYIyH6Y1.js","assets/appointment-JDceTxKO.css","assets/AssistantWatchCallDialog-BLaY2Gyh.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); -import{_ as ne}from"./jspdf-BsthCvR5.js";import{C as ha,i as ya,d as ka,R as ba,Q as Ca,M as Va,X as xa,e as Da,D as Ea,B as $a,H as wa,h as Ra,W as Aa,U as Ia,v as za}from"./element-plus-DGP1XOrU.js";import{w as Sa,q as Pa}from"./@vue/runtime-dom-DDAG46FW.js";import{aw as $,n as qa,ax as La,X as Na,az as Ta,W as lt,aA as ot,aE as Wa,aB as Fa,aC as Ua,aD as Oa}from"./tcm-CEIBuAeK.js";import{i as Ma}from"./order-L3Ma3_1N.js";import{m as Qa}from"./doctor-BVLBwYIX.js";import{u as Ya,o as it,k as h,_ as Ba}from"./index-fRv3NTFQ.js";import{g as dt}from"./weapp-B8uox-3Q.js";import{u as Ha}from"./usePaging-DofycyjW.js";import{h as V}from"./perm-CTlz8z1G.js";import{O as Xa,e as rt,A as Ga,Z as Ja,P as ut,b as Ka,aw as ja,G as Za,J as en,H as tn,l as an,Q as nn}from"./@element-plus/icons-vue-CbYn5zW9.js";import{d as pt}from"./dayjs-DG77mNTn.js";import{f as ct,b as sn,d as ln,ak as l,I as i,J as s,a as n,aN as o,O as g,F as x,ap as z,H as _,aP as Ne,G as E,P as se,A as Q}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as Te,n as p}from"./@vue/reactivity-DiY1c2vO.js";import{o as S,Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const on={class:"dh5"},dn={class:"dh5-topbar"},rn={class:"dh5-search"},un={class:"dh5-chips dh5-chips--scroll"},pn=["onClick"],cn={key:0},mn={key:0},_n={key:0},vn={key:0},gn={class:"dh5-quick"},fn={class:"dh5-quick-group"},hn=["onClick"],yn={class:"dh5-quick-group"},kn=["onClick"],bn={class:"dh5-more-filter"},Cn={class:"dh5-list"},Vn={key:0,class:"dh5-empty"},xn=["onClick"],Dn={class:"dh5-card-avatar"},En={class:"dh5-card-id-name"},$n={class:"dh5-card-name"},wn={key:0,class:"dh5-meta-gender"},Rn={key:1,class:"dh5-meta-age"},An={class:"dh5-card-sub"},In={key:0,class:"dh5-tag-new"},zn={class:"dh5-card-tags"},Sn={key:0,class:"dh5-tag dh5-tag--ok"},Pn={key:1,class:"dh5-tag dh5-tag--warn"},qn={key:2,class:"dh5-tag dh5-tag--info"},Ln=["onClick"],Nn={class:"dh5-row-val"},Tn={class:"dh5-apt-status"},Wn={class:"dh5-apt-doctor"},Fn={class:"dh5-apt-time"},Un={class:"dh5-apt-status"},On={class:"dh5-apt-doctor"},Mn={class:"dh5-apt-time"},Qn={key:1,class:"dh5-apt-none"},Yn={key:0,class:"dh5-row dh5-row--followup"},Bn={class:"dh5-row-val"},Hn={class:"dh5-meta-doctor"},Xn={key:0,class:"dh5-tag dh5-tag--gray"},Gn={class:"dh5-row"},Jn={class:"dh5-row-val"},Kn={key:1,class:"dh5-row"},jn={class:"dh5-row-val"},Zn={key:0,class:"dh5-meta-mute"},es={key:1},ts={key:0,class:"dh5-card-watch"},as={class:"dh5-watch-tip"},ns={key:1,class:"dh5-watch-mute"},ss={class:"dh5-card-foot"},ls={key:2,class:"dh5-no-more"},os={key:0,class:"dh5-actions"},is={class:"dh5-form-tip"},ds={class:"font-medium"},rs={class:"dh5-qr"},us={key:0,class:"dh5-qr-loading"},ps={key:1},cs=["src"],ms={class:"dh5-qr-meta"},_s={key:2,class:"dh5-qr-fail"},vs={key:0,class:"dh5-wx-contact"},gs={class:"dh5-wx-contact-row"},fs={class:"dh5-wx-val"},hs={class:"dh5-wx-contact-row"},ys={class:"dh5-wx-val"},ks={key:0},bs={class:"dh5-wx-contact-row"},Cs={class:"dh5-wx-val"},Vs={class:"dh5-wx-add"},xs={class:"dh5-wx-list-wrap"},Ds={key:0,class:"dh5-wx-empty"},Es={key:1,class:"dh5-wx-list"},$s={class:"dh5-wx-head"},ws={class:"dh5-wx-head-left"},Rs={class:"dh5-wx-name"},As={class:"dh5-wx-head-right"},Is={class:"dh5-wx-time"},zs={class:"dh5-wx-content"},Ss={key:0,class:"dh5-wx-media"},Ps=ct({name:"tcmDiagnosisH5"}),qs=ct({...Ps,setup(Ls){const mt=se(()=>ne(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),_t=se(()=>ne(()=>import("./detail-BzY4w_V9.js"),__vite__mapDeps([104,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),vt=se(()=>ne(()=>import("./index-B6hZ4N_9.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,96,97,15,98,99,100,101]))),gt=se(()=>ne(()=>import("./appointment-aTSV_XED.js"),__vite__mapDeps([105,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,106,107]))),ft=se(()=>ne(()=>import("./AssistantWatchCallDialog-BLaY2Gyh.js"),__vite__mapDeps([108,1,2,3,4,5,6,7,8,9,10,11,12,13,14,109,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,110]))),le=Ya(),ht=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return pt(e).format("YYYY-MM-DD HH:mm")},yt=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return pt(e).format("YYYY-MM-DD HH:mm")},We=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),w=t=>String(t).padStart(2,"0"),_e=Q(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),ve=Q(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),X=Q(()=>{const t=new Date;return`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),ge=Q(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),fe=Q(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),d=Te({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),G=p(!1),kt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],bt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],Ct=Q(()=>[{label:"昨天挂号",value:_e.value},{label:"前天挂号",value:ve.value},{label:"当天挂号",value:X.value},{label:"明天挂号",value:ge.value},{label:"后天挂号",value:fe.value},{label:"全部",value:""}]),he=p({}),ye=p(void 0),ke=p(void 0),be=p(void 0),{pager:y,getLists:b}=Ha({fetchFun:$,params:d}),Ce=Q(()=>y.lists.length<(y.count||0)),Fe=()=>b({silent:!0}),B=()=>{y.page=1,b(),D()},Vt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=X.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",y.page=1,b(),D()},xt=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",y.page=1,b(),D()},Dt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",y.page=1,b(),D()},Et=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,y.page=1,await b(),D()},$t=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",y.page=1,await b(),D()},wt=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",y.page=1,await b(),D()},Rt=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",y.page=1,await b(),D()},D=async()=>{try{const[t,e,c,r,f,C,P,te,M]=await Promise.all([$({appointment_date:_e.value,page_no:1,page_size:1}),$({appointment_date:ve.value,page_no:1,page_size:1}),$({appointment_date:X.value,page_no:1,page_size:1}),$({appointment_date:ge.value,page_no:1,page_size:1}),$({appointment_date:fe.value,page_no:1,page_size:1}),$({page_no:1,page_size:1}),$({has_appointment:0,page_no:1,page_size:1}),$({completed_appointment:1,page_no:1,page_size:1}),$({pending_assign:1,page_no:1,page_size:1})]);he.value={[_e.value]:(t==null?void 0:t.count)??0,[ve.value]:(e==null?void 0:e.count)??0,[X.value]:(c==null?void 0:c.count)??0,[ge.value]:(r==null?void 0:r.count)??0,[fe.value]:(f==null?void 0:f.count)??0,"":(C==null?void 0:C.count)??0},ye.value=(P==null?void 0:P.count)??0,ke.value=(te==null?void 0:te.count)??0,be.value=(M==null?void 0:M.count)??0}catch(t){console.error("获取日期数量失败",t)}},At=async()=>{if(y.loading||!Ce.value)return;const t=(y.page||1)+1;y.loading=!0;try{const e=await $({page_no:t,page_size:y.size,...d});y.page=t,y.lists.push(...(e==null?void 0:e.lists)||[]),y.count=(e==null?void 0:e.count)??y.count}catch(e){console.error("加载更多失败:",e)}finally{y.loading=!1}},Ve=p([]),xe=p([]),J=p([]),It=async()=>{try{const[t,e,c]=await Promise.all([it({type:"diagnosis_type"}),it({type:"syndrome_type"}),qa()]);Ve.value=(t==null?void 0:t.diagnosis_type)||[],xe.value=(e==null?void 0:e.syndrome_type)||[],J.value=c||[]}catch(t){console.error("获取字典数据失败:",t)}},Ue=(t,e)=>{const c=t.find(r=>r.value===e);return c?c.name:e||"-"},zt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(J.value.length===0)return"...";const c=J.value.find(r=>(typeof r.id=="string"?parseInt(r.id):r.id)===e);return c?c.name:"-"},Oe=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(c=>c.is_confirmed==1)},St=t=>Oe(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",Pt=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},qt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},De=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Lt=t=>{const e=Number(t==null?void 0:t.status);return{"dh5-apt-item--done":e===3,"dh5-apt-item--missed":e===4,"dh5-apt-item--active":e===1}},Nt=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},Me=t=>De(t).find(e=>Number(e==null?void 0:e.status)===1)??null,Qe=t=>{const e=Me(t);return e?{...t,has_appointment:1,appointment_id:e.id,appointment_status:e.status,appointment_doctor_id:e.doctor_id,appointment_doctor_name:e.doctor_name,appointment_time_text:e.time_text}:null},Ee=t=>!!Me(t),Ye=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Tt=t=>{var c;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((c=le.userInfo)==null?void 0:c.id)},$e=t=>Tt(t)&&V(["tcm.diagnosis/watchCall"]),K=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Wt=t=>{const e=K(t);return e==="live"||e==="pending_room"},Ft=t=>K(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ut=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ot=t=>{const e=K(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const c=t.video_call_hint;return(c==null?void 0:c.label)||""},Mt=t=>{if($e(t))return!0;const e=K(t);return e==="live"||e==="pending_room"},we=p(!1),Be=p(0),Qt=t=>{if(K(t)!=="live"){h.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Be.value=Number(t.id)||0,we.value=!0},oe=p(),He=p(),Xe=p(),Ge=p(),Yt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Bt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Je=t=>{var e;return(e=He.value)==null?void 0:e.open(t)},Ke=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Ht=t=>{var e;if(!(t!=null&&t.id)){h.msgWarning("诊单信息不完整");return}(e=Xe.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Xt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Gt=t=>{var e;if(!t.patient_id){h.msgWarning("患者信息不完整");return}(e=Ge.value)==null||e.open(t)},Jt=async t=>{await h.confirm("确定要删除该诊单吗?"),await Oa({id:t}),b()},ie=p(!1),L=p(null),Kt=t=>{L.value=t,ie.value=!0},N=t=>{const e=L.value;if(ie.value=!1,!!e)switch(t){case"assign":jt(e);break;case"videoQr":if(!Ee(e)){h.msgWarning("仅「已预约」状态可生成视频二维码");return}Ze(e);break;case"confirmQr":et(e);break;case"cancelApt":ra(e);break;case"fillIdCard":la(e);break;case"order":ta(e);break;case"wechat":tt(e);break;case"delete":Jt(e.id);break}},j=p(!1),Re=p(!1),de=p(null),R=p({assistant_id:null,is_inherit:!1}),jt=t=>{de.value=t,R.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,R.value.is_inherit=!1,j.value=!0},Zt=async()=>{if(!R.value.assistant_id){h.msgWarning("请选择医助");return}Re.value=!0;try{await La({id:de.value.id,assistant_id:R.value.assistant_id,is_inherit:R.value.is_inherit?1:0}),j.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},Z=p(!1),re=p(),Ae=p(!1),v=Te({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),ea={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},ta=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=re.value)==null||e.clearValidate(),Z.value=!0},aa=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=re.value)==null||t.clearValidate()},na=async()=>{var t;try{await((t=re.value)==null?void 0:t.validate()),Ae.value=!0;const e=await Ma({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});Z.value=!1,b();const c=e==null?void 0:e.order_no;if(c){T.value=!0,W.value=!0,F.value="",ue.value="收款二维码",U.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const r=await Na({order_no:c});r!=null&&r.qrcode_url?F.value=r.qrcode_url:h.msgError("二维码生成失败")}catch(r){h.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{W.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ae.value=!1}},ee=p(!1),Ie=p(!1),je=p(),A=Te({id:0,patient_name:"",id_card:""}),sa={id_card:[{required:!0,validator:(t,e,c)=>{if(!e){c(new Error("请输入身份证号"));return}const r=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),f=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);r||f?c():c(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},la=t=>{A.id=t.id,A.patient_name=t.patient_name||"-",A.id_card=t.id_card||"",ee.value=!0},oa=async()=>{var t;await((t=je.value)==null?void 0:t.validate()),Ie.value=!0;try{await Ta({id:A.id,id_card:A.id_card}),h.msgSuccess("补全成功,年龄已自动更新"),ee.value=!1,b()}catch(e){h.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ie.value=!1}},T=p(!1),W=p(!1),F=p(""),U=p(null),ue=p("小程序二维码"),ze=p("confirm"),ia=Q(()=>{const t=U.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ze=async t=>{var c;const e=Qe(t);if(!e){h.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!e.patient_id){h.msgWarning("患者信息不完整");return}ze.value="video",U.value=e,T.value=!0,W.value=!0,F.value="",ue.value="视频二维码";try{const r=await dt();if(!(r!=null&&r.app_id)){h.msgError("小程序未配置"),T.value=!1;return}const f=await lt({doctor_id:e.appointment_doctor_id,diagnosis_id:e.appointment_doctor_id,patient_id:e.patient_id,share_user_id:((c=le.userInfo)==null?void 0:c.id)||"",mini_program_path:"pages/login/login"});f!=null&&f.qrcode_url?F.value=f.qrcode_url:h.msgError("二维码生成失败")}catch(r){h.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{W.value=!1}},et=async t=>{var c;const e=Qe(t);if(!e){h.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!e.patient_id){h.msgWarning("患者信息不完整");return}ze.value="confirm",U.value=e,T.value=!0,W.value=!0,F.value="",ue.value="诊单二维码";try{const r=await dt();if(!(r!=null&&r.app_id)){h.msgError("小程序未配置"),T.value=!1;return}const f=await lt({diagnosis_id:e.id,doctor_id:e.appointment_doctor_id,patient_id:e.patient_id,share_user_id:((c=le.userInfo)==null?void 0:c.id)||""});f!=null&&f.qrcode_url?F.value=f.qrcode_url:h.msgError("二维码生成失败")}catch(r){h.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{W.value=!1}},da=()=>{U.value&&(ze.value==="video"?Ze(U.value):et(U.value))},ra=async t=>{if(!Ye(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?h.msgWarning("已完成就诊,无法取消挂号"):h.msgWarning("该诊单未挂号或挂号信息异常");return}try{await h.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Qa({id:t.appointment_id}),h.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&h.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=p(!1),I=p(null),O=p([]),pe=p(0),ce=p(!1),Y=p(null),H=p(""),Pe=p(!1),qe=p(1),tt=async t=>{I.value=t,Se.value=!0,O.value=[],pe.value=0,Y.value=null,H.value="",qe.value=1,ce.value=!0;try{const[e,c]=await Promise.all([ot({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),Wa({patient_id:t.patient_id||t.id}).catch(()=>null)]);O.value=(e==null?void 0:e.lists)||[],pe.value=(e==null?void 0:e.count)||0,Y.value=c}catch(e){console.error(e)}finally{ce.value=!1}},ua=async()=>{if(I.value){qe.value++;try{const t=await ot({diagnosis_id:I.value.id,patient_id:I.value.patient_id,page_no:qe.value,page_size:20});O.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},pa=async()=>{var t;if(!H.value.trim()){h.msgWarning("请输入内容");return}Pe.value=!0;try{await Fa({diagnosis_id:I.value.id,patient_id:I.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=le.userInfo)==null?void 0:t.name)||"",external_name:I.value.patient_name||""}),H.value="",tt(I.value)}catch(e){h.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Pe.value=!1}},ca=async t=>{await h.confirm("确定删除该记录吗?");try{await Ua({id:t}),O.value=O.value.filter(e=>e.id!==t),pe.value--}catch(e){h.msgError((e==null?void 0:e.msg)||"删除失败")}},ma=15e3;let me=null;const _a=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return sn(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=X.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),me=setInterval(_a,ma)}),ln(()=>{document.body.classList.remove("h5-mode"),me&&(clearInterval(me),me=null)}),(t,e)=>{var st;const c=ha,r=ya,f=ka,C=ba,P=Ca,te=xa,M=Da,q=$a,va=wa,Le=Ea,ga=Ra,at=Aa,ae=Ia,fa=za,nt=Va;return l(),i("div",on,[s("header",dn,[s("div",rn,[n(c,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(Xa),onKeyup:Sa(B,["enter"]),onClear:B},null,8,["modelValue","prefix-icon"]),n(r,{class:"dh5-search-btn",type:"primary",onClick:B},{default:o(()=>[...e[32]||(e[32]=[g("查询",-1)])]),_:1})]),s("div",un,[(l(!0),i(x,null,z(Ct.value,a=>(l(),i("span",{key:a.value||"all",class:S(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:k=>Et(a.value)},[g(u(a.label)+" ",1),he.value[a.value]!==void 0?(l(),i("em",cn,u(he.value[a.value]),1)):_("",!0)],10,pn))),128)),s("span",{class:S(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:$t},[e[33]||(e[33]=g(" 待预约 ",-1)),ye.value!==void 0?(l(),i("em",mn,u(ye.value),1)):_("",!0)],2),s("span",{class:S(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:wt},[e[34]||(e[34]=g(" 已完成 ",-1)),ke.value!==void 0?(l(),i("em",_n,u(ke.value),1)):_("",!0)],2),m(V)(["tcm.diagnosis/assign"])?(l(),i("span",{key:0,class:S(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:Rt},[e[35]||(e[35]=g(" 待分配医助 ",-1)),be.value!==void 0?(l(),i("em",vn,u(be.value),1)):_("",!0)],2)):_("",!0)]),s("div",gn,[s("div",fn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),i(x,null,z(kt,a=>s("span",{key:"a"+a.value,class:S(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:k=>xt(a.value)},u(a.label),11,hn)),64))]),s("div",yn,[e[37]||(e[37]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),i(x,null,z(bt,a=>s("span",{key:"c"+a.value,class:S(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:k=>Dt(a.value)},u(a.label),11,kn)),64))]),n(r,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>G.value=!G.value)},{default:o(()=>[g(u(G.value?"收起":"更多")+" ",1),n(f,{class:S({"rotate-180":G.value})},{default:o(()=>[n(m(rt))]),_:1},8,["class"])]),_:1})]),Ne(s("div",bn,[n(P,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:B},{default:o(()=>[(l(!0),i(x,null,z(Ve.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(P,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:B},{default:o(()=>[(l(!0),i(x,null,z(xe.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(P,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:B},{default:o(()=>[(l(!0),i(x,null,z(J.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(r,{size:"small",onClick:Vt},{default:o(()=>[...e[38]||(e[38]=[g("重置",-1)])]),_:1})],512),[[Pa,G.value]])]),Ne((l(),i("main",Cn,[m(y).lists.length===0&&!m(y).loading?(l(),i("div",Vn,[n(te,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),i(x,null,z(m(y).lists,a=>(l(),i("article",{key:a.id,class:S(["dh5-card",St(a)])},[s("header",{class:"dh5-card-head",onClick:k=>Je(a.id)},[s("div",Dn,u((a.patient_name||"患").charAt(0)),1),s("div",En,[s("div",$n,[g(u(a.patient_name||"-")+" ",1),a.gender_desc?(l(),i("span",wn,u(a.gender_desc),1)):_("",!0),a.age!=null?(l(),i("span",Rn,u(a.age)+"岁",1)):_("",!0)]),s("div",An,[g(" #"+u(a.id)+" · "+u(a.diagnosis_date_text||ht(a.create_time))+" ",1),a.assign_read_at===null&&a.assistant_id>0?(l(),i("span",In,"NEW")):_("",!0)])]),s("div",zn,[Oe(a)?(l(),i("span",Sn,"已确认")):(l(),i("span",Pn,"未确认")),a.has_prescription?(l(),i("span",qn,"已开方")):_("",!0)])],8,xn),s("section",{class:"dh5-card-body",onClick:k=>Je(a.id)},[s("div",{class:S(["dh5-row","dh5-row--apt",Nt(a)])},[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",Nn,[a.has_appointment?(l(),i(x,{key:0},[De(a).length?(l(!0),i(x,{key:0},z(De(a),k=>(l(),i("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:S(["dh5-apt-item",Lt(k)])},[s("span",Tn,u(qt(k.status)),1),s("span",Wn,u(k.doctor_name||"-"),1),s("span",Fn,u(k.time_text||"-"),1)],2))),128)):(l(),i(x,{key:1},[s("span",Un,u(Pt(a)),1),s("span",On,u(a.appointment_doctor_name||"-"),1),s("span",Mn,u(a.appointment_time_text||"-"),1)],64))],64)):(l(),i("span",Qn,"未挂号"))])],2),a.has_prescription?(l(),i("div",Yn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Bn,[s("span",null,u(a.followup_time_text||"—"),1),s("span",Hn,u(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),i("span",Xn,"处方作废")):_("",!0)])])):_("",!0),s("div",Gn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Jn,u(zt(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),i("div",Kn,[e[42]||(e[42]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",jn,[g(u(Ue(Ve.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),i("span",Zn,"·")):_("",!0),a.syndrome_type?(l(),i("span",es,u(Ue(xe.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,Ln),Mt(a)?(l(),i("div",ts,[$e(a)&&Wt(a)?(l(),i(x,{key:0},[n(r,{type:"primary",size:"small",icon:m(nn),onClick:k=>Qt(a)},{default:o(()=>[...e[43]||(e[43]=[g(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",as,u(Ft(a)),1)],64)):(l(),i("span",ns,u($e(a)?Ut(a):Ot(a)),1))])):_("",!0),s("footer",ss,[m(V)(["tcm.diagnosis/edit"])?(l(),E(r,{key:0,type:"primary",size:"small",plain:"",onClick:k=>Bt(a.id)},{default:o(()=>[...e[44]||(e[44]=[g(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(V)(["tcm.diagnosis/kaifang"])?(l(),E(r,{key:1,type:Ke(a)==="查看"?"success":"primary",size:"small",onClick:k=>Ht(a)},{default:o(()=>[g(u(Ke(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(V)(["tcm.diagnosis/guahao"])?(l(),E(r,{key:2,type:"success",size:"small",plain:"",onClick:k=>Gt(a)},{default:o(()=>[...e[45]||(e[45]=[g(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(r,{size:"small",class:"dh5-more-btn",onClick:k=>Kt(a)},{default:o(()=>[e[46]||(e[46]=g(" 更多",-1)),n(f,{class:"el-icon--right"},{default:o(()=>[n(m(rt))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ce.value?(l(),i("div",{key:1,class:"dh5-load-more",onClick:At},u(m(y).loading?"加载中…":"加载更多"),1)):_("",!0),!Ce.value&&m(y).lists.length>0?(l(),i("div",ls,"— 没有更多了 —")):_("",!0)])),[[nt,m(y).loading]]),m(V)(["tcm.diagnosis/add"])?(l(),i("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Yt},[n(f,{size:22},{default:o(()=>[n(m(Ga))]),_:1})])):_("",!0),n(m(mt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(_t),{ref_key:"detailRef",ref:He},null,512),n(m(vt),{ref_key:"prescriptionRef",ref:Xe,onSuccess:Xt},null,512),n(m(gt),{ref_key:"appointmentRef",ref:Ge,onSuccess:Fe},null,512),n(m(ft),{modelValue:we.value,"onUpdate:modelValue":e[5]||(e[5]=a=>we.value=a),"diagnosis-id":Be.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(M,{modelValue:ie.value,"onUpdate:modelValue":e[14]||(e[14]=a=>ie.value=a),title:L.value?`${L.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:o(()=>[L.value?(l(),i("div",os,[m(V)(["tcm.diagnosis/assign"])?(l(),i("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>N("assign"))},[n(f,null,{default:o(()=>[n(m(Ja))]),_:1}),e[47]||(e[47]=s("span",null,"指派医助",-1))])):_("",!0),Ee(L.value)&&m(V)(["tcm.diagnosis/videoQr"])?(l(),i("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>N("videoQr"))},[n(f,null,{default:o(()=>[n(m(ut))]),_:1}),e[48]||(e[48]=s("span",null,"视频二维码",-1))])):_("",!0),Ee(L.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),i("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>N("confirmQr"))},[n(f,null,{default:o(()=>[n(m(ut))]),_:1}),e[49]||(e[49]=s("span",null,"诊单二维码",-1))])):_("",!0),Ye(L.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),i("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>N("cancelApt"))},[n(f,null,{default:o(()=>[n(m(Ka))]),_:1}),e[50]||(e[50]=s("span",null,"取消挂号",-1))])):_("",!0),m(V)(["tcm.diagnosis/edit"])?(l(),i("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>N("fillIdCard"))},[n(f,null,{default:o(()=>[n(m(ja))]),_:1}),e[51]||(e[51]=s("span",null,"补全身份证",-1))])):_("",!0),m(V)(["tcm.diagnosis/order"])?(l(),i("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>N("order"))},[n(f,null,{default:o(()=>[n(m(Za))]),_:1}),e[52]||(e[52]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>N("wechat"))},[n(f,null,{default:o(()=>[n(m(en))]),_:1}),e[53]||(e[53]=s("span",null,"企微记录",-1))]),m(V)(["tcm.diagnosis/delete"])?(l(),i("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>N("delete"))},[n(f,null,{default:o(()=>[n(m(tn))]),_:1}),e[54]||(e[54]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(M,{modelValue:j.value,"onUpdate:modelValue":e[18]||(e[18]=a=>j.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:o(()=>[n(r,{class:"dh5-flex1",onClick:e[17]||(e[17]=a=>j.value=!1)},{default:o(()=>[...e[57]||(e[57]=[g("取消",-1)])]),_:1}),n(r,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Zt},{default:o(()=>[...e[58]||(e[58]=[g(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(Le,{model:R.value,"label-position":"top",class:"dh5-form"},{default:o(()=>[n(q,{label:"选择医助",required:""},{default:o(()=>[n(P,{modelValue:R.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>R.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:o(()=>[(l(!0),i(x,null,z(J.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(q,{label:"继承"},{default:o(()=>[n(va,{modelValue:R.value.is_inherit,"onUpdate:modelValue":e[16]||(e[16]=a=>R.value.is_inherit=a)},{default:o(()=>[...e[55]||(e[55]=[g("继承",-1)])]),_:1},8,["modelValue"]),e[56]||(e[56]=s("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(q,{label:"诊单信息"},{default:o(()=>{var a,k;return[s("div",is,[s("div",null,"患者:"+u((a=de.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+u(((k=de.value)==null?void 0:k.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(M,{modelValue:Z.value,"onUpdate:modelValue":e[23]||(e[23]=a=>Z.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:aa},{footer:o(()=>[n(r,{class:"dh5-flex1",onClick:e[22]||(e[22]=a=>Z.value=!1)},{default:o(()=>[...e[59]||(e[59]=[g("取消",-1)])]),_:1}),n(r,{class:"dh5-flex1",type:"primary",loading:Ae.value,onClick:na},{default:o(()=>[...e[60]||(e[60]=[g(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(Le,{ref_key:"orderFormRef",ref:re,model:v,rules:ea,"label-position":"top",class:"dh5-form"},{default:o(()=>[n(q,{label:"患者"},{default:o(()=>[s("span",null,u(v.patient_name)+" ("+u(We(v.phone))+")",1)]),_:1}),n(q,{label:"订单类型",prop:"order_type"},{default:o(()=>[n(P,{modelValue:v.order_type,"onUpdate:modelValue":e[19]||(e[19]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:o(()=>[n(C,{label:"挂号费",value:1}),n(C,{label:"问诊费",value:2}),n(C,{label:"药品费用",value:3}),n(C,{label:"首付费用",value:4}),n(C,{label:"尾款费用",value:5}),n(C,{label:"其他费用",value:6}),n(C,{label:"全部费用",value:7}),n(C,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),n(q,{label:"订单金额",prop:"amount"},{default:o(()=>[n(ga,{modelValue:v.amount,"onUpdate:modelValue":e[20]||(e[20]=a=>v.amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"!w-full"},null,8,["modelValue"])]),_:1}),n(q,{label:"备注",prop:"remark"},{default:o(()=>[n(c,{modelValue:v.remark,"onUpdate:modelValue":e[21]||(e[21]=a=>v.remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(at,{modelValue:ee.value,"onUpdate:modelValue":e[26]||(e[26]=a=>ee.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[27]||(e[27]=a=>A.id_card="")},{footer:o(()=>[n(r,{onClick:e[25]||(e[25]=a=>ee.value=!1)},{default:o(()=>[...e[61]||(e[61]=[g("取消",-1)])]),_:1}),n(r,{type:"primary",loading:Ie.value,onClick:oa},{default:o(()=>[...e[62]||(e[62]=[g(" 提交 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(Le,{ref_key:"fillIdCardFormRef",ref:je,model:A,rules:sa,"label-position":"top",class:"dh5-form"},{default:o(()=>[n(q,{label:"患者"},{default:o(()=>[s("span",ds,u(A.patient_name),1)]),_:1}),n(q,{label:"身份证号",prop:"id_card"},{default:o(()=>[n(c,{modelValue:A.id_card,"onUpdate:modelValue":e[24]||(e[24]=a=>A.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(at,{modelValue:T.value,"onUpdate:modelValue":e[29]||(e[29]=a=>T.value=a),title:ue.value,"close-on-click-modal":!1},{footer:o(()=>[n(r,{onClick:e[28]||(e[28]=a=>T.value=!1)},{default:o(()=>[...e[65]||(e[65]=[g("关闭",-1)])]),_:1}),W.value?_("",!0):(l(),E(r,{key:0,type:"primary",onClick:da},{default:o(()=>[...e[66]||(e[66]=[g("重新生成",-1)])]),_:1}))]),default:o(()=>{var a;return[s("div",rs,[W.value?(l(),i("div",us,[n(f,{class:"is-loading",size:36},{default:o(()=>[n(m(an))]),_:1}),e[63]||(e[63]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):F.value?(l(),i("div",ps,[s("img",{src:F.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,cs),s("div",ms,[s("div",null,"患者:"+u((a=U.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+u(ia.value),1),e[64]||(e[64]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),i("div",_s,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(M,{modelValue:Se.value,"onUpdate:modelValue":e[31]||(e[31]=a=>Se.value=a),title:`企微记录 - ${((st=I.value)==null?void 0:st.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:o(()=>[Y.value?(l(),i("div",vs,[s("div",gs,[e[67]||(e[67]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",fs,u(We(Y.value.phone)||"-"),1)]),s("div",hs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",ys,[Y.value.external_userid?(l(),i("span",ks,u(Y.value.external_userid),1)):(l(),E(ae,{key:1,type:"info",size:"small"},{default:o(()=>[...e[68]||(e[68]=[g("未关联",-1)])]),_:1}))])]),s("div",bs,[e[72]||(e[72]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",Cs,[Y.value.msgaudit_enabled?(l(),E(ae,{key:0,type:"success",size:"small"},{default:o(()=>[...e[70]||(e[70]=[g("已开通",-1)])]),_:1})):(l(),E(ae,{key:1,type:"info",size:"small"},{default:o(()=>[...e[71]||(e[71]=[g("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",Vs,[n(c,{modelValue:H.value,"onUpdate:modelValue":e[30]||(e[30]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(r,{type:"primary",loading:Pe.value,size:"small",onClick:pa},{default:o(()=>[...e[73]||(e[73]=[g(" 添加 ",-1)])]),_:1},8,["loading"])]),Ne((l(),i("div",xs,[O.value.length===0&&!ce.value?(l(),i("div",Ds," 暂无聊天记录 ")):(l(),i("div",Es,[(l(!0),i(x,null,z(O.value,a=>{var k;return l(),i("div",{key:a.id,class:"dh5-wx-item"},[s("div",$s,[s("div",ws,[n(ae,{type:a.direction===0?"primary":"success",size:"small"},{default:o(()=>[g(u(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",Rs,u(a.direction===0?a.staff_name:a.external_name||((k=I.value)==null?void 0:k.patient_name)),1),a.msg_type==="note"?(l(),E(ae,{key:0,type:"warning",size:"small"},{default:o(()=>[...e[74]||(e[74]=[g("备注",-1)])]),_:1})):_("",!0)]),s("div",As,[s("span",Is,u(yt(a.chat_time)),1),n(r,{type:"danger",link:"",size:"small",onClick:Ts=>ca(a.id)},{default:o(()=>[...e[75]||(e[75]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",zs,u(a.content),1),a.media_url?(l(),i("div",Ss,[n(fa,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),pe.value>O.value.length?(l(),i("div",{key:2,class:"dh5-load-more",onClick:ua}," 加载更多 ")):_("",!0)])),[[nt,ce.value]])]),_:1},8,["modelValue","title"])])}}}),wl=Ba(qs,[["__scopeId","data-v-265c774e"]]);export{wl as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/detail-CsM6bOnd.js","assets/appointment-CWzTZ9VV.js","assets/first_visit-lwfDQsu4.js","assets/appointment-JDceTxKO.css","assets/AssistantWatchCallDialog-BoEGWQ09.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BYViF8Fb.css"])))=>i.map(i=>d[i]); +import{_ as ne}from"./jspdf-BsthCvR5.js";import{C as ha,i as ya,d as ka,R as ba,Q as Ca,M as Va,X as xa,e as Da,D as Ea,B as $a,H as wa,h as Ra,W as Aa,U as Ia,v as za}from"./element-plus-DGP1XOrU.js";import{w as Sa,q as Pa}from"./@vue/runtime-dom-DDAG46FW.js";import{aw as $,n as qa,ax as La,X as Na,az as Ta,W as lt,aA as ot,aE as Wa,aB as Fa,aC as Ua,aD as Oa}from"./tcm-D-ZRccbe.js";import{i as Ma}from"./order-B5S0jULN.js";import{m as Qa}from"./doctor-BZKBQu9t.js";import{u as Ya,o as it,k as h,_ as Ba}from"./index-J_eFER10.js";import{g as dt}from"./weapp-CBd1nTel.js";import{u as Ha}from"./usePaging-DofycyjW.js";import{h as V}from"./perm-8cp9D7Ag.js";import{O as Xa,e as rt,A as Ga,Z as Ja,P as ut,b as Ka,aw as ja,G as Za,J as en,H as tn,l as an,Q as nn}from"./@element-plus/icons-vue-CbYn5zW9.js";import{d as pt}from"./dayjs-DG77mNTn.js";import{f as ct,b as sn,d as ln,ak as l,I as i,J as s,a as n,aN as o,O as g,F as x,ap as z,H as _,aP as Ne,G as E,P as se,A as Q}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as Te,n as p}from"./@vue/reactivity-DiY1c2vO.js";import{o as S,Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const on={class:"dh5"},dn={class:"dh5-topbar"},rn={class:"dh5-search"},un={class:"dh5-chips dh5-chips--scroll"},pn=["onClick"],cn={key:0},mn={key:0},_n={key:0},vn={key:0},gn={class:"dh5-quick"},fn={class:"dh5-quick-group"},hn=["onClick"],yn={class:"dh5-quick-group"},kn=["onClick"],bn={class:"dh5-more-filter"},Cn={class:"dh5-list"},Vn={key:0,class:"dh5-empty"},xn=["onClick"],Dn={class:"dh5-card-avatar"},En={class:"dh5-card-id-name"},$n={class:"dh5-card-name"},wn={key:0,class:"dh5-meta-gender"},Rn={key:1,class:"dh5-meta-age"},An={class:"dh5-card-sub"},In={key:0,class:"dh5-tag-new"},zn={class:"dh5-card-tags"},Sn={key:0,class:"dh5-tag dh5-tag--ok"},Pn={key:1,class:"dh5-tag dh5-tag--warn"},qn={key:2,class:"dh5-tag dh5-tag--info"},Ln=["onClick"],Nn={class:"dh5-row-val"},Tn={class:"dh5-apt-status"},Wn={class:"dh5-apt-doctor"},Fn={class:"dh5-apt-time"},Un={class:"dh5-apt-status"},On={class:"dh5-apt-doctor"},Mn={class:"dh5-apt-time"},Qn={key:1,class:"dh5-apt-none"},Yn={key:0,class:"dh5-row dh5-row--followup"},Bn={class:"dh5-row-val"},Hn={class:"dh5-meta-doctor"},Xn={key:0,class:"dh5-tag dh5-tag--gray"},Gn={class:"dh5-row"},Jn={class:"dh5-row-val"},Kn={key:1,class:"dh5-row"},jn={class:"dh5-row-val"},Zn={key:0,class:"dh5-meta-mute"},es={key:1},ts={key:0,class:"dh5-card-watch"},as={class:"dh5-watch-tip"},ns={key:1,class:"dh5-watch-mute"},ss={class:"dh5-card-foot"},ls={key:2,class:"dh5-no-more"},os={key:0,class:"dh5-actions"},is={class:"dh5-form-tip"},ds={class:"font-medium"},rs={class:"dh5-qr"},us={key:0,class:"dh5-qr-loading"},ps={key:1},cs=["src"],ms={class:"dh5-qr-meta"},_s={key:2,class:"dh5-qr-fail"},vs={key:0,class:"dh5-wx-contact"},gs={class:"dh5-wx-contact-row"},fs={class:"dh5-wx-val"},hs={class:"dh5-wx-contact-row"},ys={class:"dh5-wx-val"},ks={key:0},bs={class:"dh5-wx-contact-row"},Cs={class:"dh5-wx-val"},Vs={class:"dh5-wx-add"},xs={class:"dh5-wx-list-wrap"},Ds={key:0,class:"dh5-wx-empty"},Es={key:1,class:"dh5-wx-list"},$s={class:"dh5-wx-head"},ws={class:"dh5-wx-head-left"},Rs={class:"dh5-wx-name"},As={class:"dh5-wx-head-right"},Is={class:"dh5-wx-time"},zs={class:"dh5-wx-content"},Ss={key:0,class:"dh5-wx-media"},Ps=ct({name:"tcmDiagnosisH5"}),qs=ct({...Ps,setup(Ls){const mt=se(()=>ne(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),_t=se(()=>ne(()=>import("./detail-CsM6bOnd.js"),__vite__mapDeps([104,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),vt=se(()=>ne(()=>import("./index-ns6fHpFi.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,96,97,15,98,99,100,101]))),gt=se(()=>ne(()=>import("./appointment-CWzTZ9VV.js"),__vite__mapDeps([105,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,106,107]))),ft=se(()=>ne(()=>import("./AssistantWatchCallDialog-BoEGWQ09.js"),__vite__mapDeps([108,1,2,3,4,5,6,7,8,9,10,11,12,13,14,109,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,110]))),le=Ya(),ht=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return pt(e).format("YYYY-MM-DD HH:mm")},yt=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return pt(e).format("YYYY-MM-DD HH:mm")},We=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),w=t=>String(t).padStart(2,"0"),_e=Q(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),ve=Q(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),X=Q(()=>{const t=new Date;return`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),ge=Q(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),fe=Q(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${w(t.getMonth()+1)}-${w(t.getDate())}`}),d=Te({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),G=p(!1),kt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],bt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],Ct=Q(()=>[{label:"昨天挂号",value:_e.value},{label:"前天挂号",value:ve.value},{label:"当天挂号",value:X.value},{label:"明天挂号",value:ge.value},{label:"后天挂号",value:fe.value},{label:"全部",value:""}]),he=p({}),ye=p(void 0),ke=p(void 0),be=p(void 0),{pager:y,getLists:b}=Ha({fetchFun:$,params:d}),Ce=Q(()=>y.lists.length<(y.count||0)),Fe=()=>b({silent:!0}),B=()=>{y.page=1,b(),D()},Vt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=X.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",y.page=1,b(),D()},xt=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",y.page=1,b(),D()},Dt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",y.page=1,b(),D()},Et=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,y.page=1,await b(),D()},$t=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",y.page=1,await b(),D()},wt=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",y.page=1,await b(),D()},Rt=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",y.page=1,await b(),D()},D=async()=>{try{const[t,e,c,r,f,C,P,te,M]=await Promise.all([$({appointment_date:_e.value,page_no:1,page_size:1}),$({appointment_date:ve.value,page_no:1,page_size:1}),$({appointment_date:X.value,page_no:1,page_size:1}),$({appointment_date:ge.value,page_no:1,page_size:1}),$({appointment_date:fe.value,page_no:1,page_size:1}),$({page_no:1,page_size:1}),$({has_appointment:0,page_no:1,page_size:1}),$({completed_appointment:1,page_no:1,page_size:1}),$({pending_assign:1,page_no:1,page_size:1})]);he.value={[_e.value]:(t==null?void 0:t.count)??0,[ve.value]:(e==null?void 0:e.count)??0,[X.value]:(c==null?void 0:c.count)??0,[ge.value]:(r==null?void 0:r.count)??0,[fe.value]:(f==null?void 0:f.count)??0,"":(C==null?void 0:C.count)??0},ye.value=(P==null?void 0:P.count)??0,ke.value=(te==null?void 0:te.count)??0,be.value=(M==null?void 0:M.count)??0}catch(t){console.error("获取日期数量失败",t)}},At=async()=>{if(y.loading||!Ce.value)return;const t=(y.page||1)+1;y.loading=!0;try{const e=await $({page_no:t,page_size:y.size,...d});y.page=t,y.lists.push(...(e==null?void 0:e.lists)||[]),y.count=(e==null?void 0:e.count)??y.count}catch(e){console.error("加载更多失败:",e)}finally{y.loading=!1}},Ve=p([]),xe=p([]),J=p([]),It=async()=>{try{const[t,e,c]=await Promise.all([it({type:"diagnosis_type"}),it({type:"syndrome_type"}),qa()]);Ve.value=(t==null?void 0:t.diagnosis_type)||[],xe.value=(e==null?void 0:e.syndrome_type)||[],J.value=c||[]}catch(t){console.error("获取字典数据失败:",t)}},Ue=(t,e)=>{const c=t.find(r=>r.value===e);return c?c.name:e||"-"},zt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(J.value.length===0)return"...";const c=J.value.find(r=>(typeof r.id=="string"?parseInt(r.id):r.id)===e);return c?c.name:"-"},Oe=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(c=>c.is_confirmed==1)},St=t=>Oe(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",Pt=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},qt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},De=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Lt=t=>{const e=Number(t==null?void 0:t.status);return{"dh5-apt-item--done":e===3,"dh5-apt-item--missed":e===4,"dh5-apt-item--active":e===1}},Nt=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},Me=t=>De(t).find(e=>Number(e==null?void 0:e.status)===1)??null,Qe=t=>{const e=Me(t);return e?{...t,has_appointment:1,appointment_id:e.id,appointment_status:e.status,appointment_doctor_id:e.doctor_id,appointment_doctor_name:e.doctor_name,appointment_time_text:e.time_text}:null},Ee=t=>!!Me(t),Ye=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Tt=t=>{var c;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((c=le.userInfo)==null?void 0:c.id)},$e=t=>Tt(t)&&V(["tcm.diagnosis/watchCall"]),K=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Wt=t=>{const e=K(t);return e==="live"||e==="pending_room"},Ft=t=>K(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ut=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ot=t=>{const e=K(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const c=t.video_call_hint;return(c==null?void 0:c.label)||""},Mt=t=>{if($e(t))return!0;const e=K(t);return e==="live"||e==="pending_room"},we=p(!1),Be=p(0),Qt=t=>{if(K(t)!=="live"){h.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Be.value=Number(t.id)||0,we.value=!0},oe=p(),He=p(),Xe=p(),Ge=p(),Yt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Bt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Je=t=>{var e;return(e=He.value)==null?void 0:e.open(t)},Ke=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Ht=t=>{var e;if(!(t!=null&&t.id)){h.msgWarning("诊单信息不完整");return}(e=Xe.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Xt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Gt=t=>{var e;if(!t.patient_id){h.msgWarning("患者信息不完整");return}(e=Ge.value)==null||e.open(t)},Jt=async t=>{await h.confirm("确定要删除该诊单吗?"),await Oa({id:t}),b()},ie=p(!1),L=p(null),Kt=t=>{L.value=t,ie.value=!0},N=t=>{const e=L.value;if(ie.value=!1,!!e)switch(t){case"assign":jt(e);break;case"videoQr":if(!Ee(e)){h.msgWarning("仅「已预约」状态可生成视频二维码");return}Ze(e);break;case"confirmQr":et(e);break;case"cancelApt":ra(e);break;case"fillIdCard":la(e);break;case"order":ta(e);break;case"wechat":tt(e);break;case"delete":Jt(e.id);break}},j=p(!1),Re=p(!1),de=p(null),R=p({assistant_id:null,is_inherit:!1}),jt=t=>{de.value=t,R.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,R.value.is_inherit=!1,j.value=!0},Zt=async()=>{if(!R.value.assistant_id){h.msgWarning("请选择医助");return}Re.value=!0;try{await La({id:de.value.id,assistant_id:R.value.assistant_id,is_inherit:R.value.is_inherit?1:0}),j.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},Z=p(!1),re=p(),Ae=p(!1),v=Te({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),ea={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},ta=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=re.value)==null||e.clearValidate(),Z.value=!0},aa=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=re.value)==null||t.clearValidate()},na=async()=>{var t;try{await((t=re.value)==null?void 0:t.validate()),Ae.value=!0;const e=await Ma({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});Z.value=!1,b();const c=e==null?void 0:e.order_no;if(c){T.value=!0,W.value=!0,F.value="",ue.value="收款二维码",U.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const r=await Na({order_no:c});r!=null&&r.qrcode_url?F.value=r.qrcode_url:h.msgError("二维码生成失败")}catch(r){h.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{W.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ae.value=!1}},ee=p(!1),Ie=p(!1),je=p(),A=Te({id:0,patient_name:"",id_card:""}),sa={id_card:[{required:!0,validator:(t,e,c)=>{if(!e){c(new Error("请输入身份证号"));return}const r=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),f=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);r||f?c():c(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},la=t=>{A.id=t.id,A.patient_name=t.patient_name||"-",A.id_card=t.id_card||"",ee.value=!0},oa=async()=>{var t;await((t=je.value)==null?void 0:t.validate()),Ie.value=!0;try{await Ta({id:A.id,id_card:A.id_card}),h.msgSuccess("补全成功,年龄已自动更新"),ee.value=!1,b()}catch(e){h.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ie.value=!1}},T=p(!1),W=p(!1),F=p(""),U=p(null),ue=p("小程序二维码"),ze=p("confirm"),ia=Q(()=>{const t=U.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ze=async t=>{var c;const e=Qe(t);if(!e){h.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!e.patient_id){h.msgWarning("患者信息不完整");return}ze.value="video",U.value=e,T.value=!0,W.value=!0,F.value="",ue.value="视频二维码";try{const r=await dt();if(!(r!=null&&r.app_id)){h.msgError("小程序未配置"),T.value=!1;return}const f=await lt({doctor_id:e.appointment_doctor_id,diagnosis_id:e.appointment_doctor_id,patient_id:e.patient_id,share_user_id:((c=le.userInfo)==null?void 0:c.id)||"",mini_program_path:"pages/login/login"});f!=null&&f.qrcode_url?F.value=f.qrcode_url:h.msgError("二维码生成失败")}catch(r){h.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{W.value=!1}},et=async t=>{var c;const e=Qe(t);if(!e){h.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!e.patient_id){h.msgWarning("患者信息不完整");return}ze.value="confirm",U.value=e,T.value=!0,W.value=!0,F.value="",ue.value="诊单二维码";try{const r=await dt();if(!(r!=null&&r.app_id)){h.msgError("小程序未配置"),T.value=!1;return}const f=await lt({diagnosis_id:e.id,doctor_id:e.appointment_doctor_id,patient_id:e.patient_id,share_user_id:((c=le.userInfo)==null?void 0:c.id)||""});f!=null&&f.qrcode_url?F.value=f.qrcode_url:h.msgError("二维码生成失败")}catch(r){h.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{W.value=!1}},da=()=>{U.value&&(ze.value==="video"?Ze(U.value):et(U.value))},ra=async t=>{if(!Ye(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?h.msgWarning("已完成就诊,无法取消挂号"):h.msgWarning("该诊单未挂号或挂号信息异常");return}try{await h.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Qa({id:t.appointment_id}),h.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&h.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=p(!1),I=p(null),O=p([]),pe=p(0),ce=p(!1),Y=p(null),H=p(""),Pe=p(!1),qe=p(1),tt=async t=>{I.value=t,Se.value=!0,O.value=[],pe.value=0,Y.value=null,H.value="",qe.value=1,ce.value=!0;try{const[e,c]=await Promise.all([ot({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),Wa({patient_id:t.patient_id||t.id}).catch(()=>null)]);O.value=(e==null?void 0:e.lists)||[],pe.value=(e==null?void 0:e.count)||0,Y.value=c}catch(e){console.error(e)}finally{ce.value=!1}},ua=async()=>{if(I.value){qe.value++;try{const t=await ot({diagnosis_id:I.value.id,patient_id:I.value.patient_id,page_no:qe.value,page_size:20});O.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},pa=async()=>{var t;if(!H.value.trim()){h.msgWarning("请输入内容");return}Pe.value=!0;try{await Fa({diagnosis_id:I.value.id,patient_id:I.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=le.userInfo)==null?void 0:t.name)||"",external_name:I.value.patient_name||""}),H.value="",tt(I.value)}catch(e){h.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Pe.value=!1}},ca=async t=>{await h.confirm("确定删除该记录吗?");try{await Ua({id:t}),O.value=O.value.filter(e=>e.id!==t),pe.value--}catch(e){h.msgError((e==null?void 0:e.msg)||"删除失败")}},ma=15e3;let me=null;const _a=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return sn(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=X.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),me=setInterval(_a,ma)}),ln(()=>{document.body.classList.remove("h5-mode"),me&&(clearInterval(me),me=null)}),(t,e)=>{var st;const c=ha,r=ya,f=ka,C=ba,P=Ca,te=xa,M=Da,q=$a,va=wa,Le=Ea,ga=Ra,at=Aa,ae=Ia,fa=za,nt=Va;return l(),i("div",on,[s("header",dn,[s("div",rn,[n(c,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(Xa),onKeyup:Sa(B,["enter"]),onClear:B},null,8,["modelValue","prefix-icon"]),n(r,{class:"dh5-search-btn",type:"primary",onClick:B},{default:o(()=>[...e[32]||(e[32]=[g("查询",-1)])]),_:1})]),s("div",un,[(l(!0),i(x,null,z(Ct.value,a=>(l(),i("span",{key:a.value||"all",class:S(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:k=>Et(a.value)},[g(u(a.label)+" ",1),he.value[a.value]!==void 0?(l(),i("em",cn,u(he.value[a.value]),1)):_("",!0)],10,pn))),128)),s("span",{class:S(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:$t},[e[33]||(e[33]=g(" 待预约 ",-1)),ye.value!==void 0?(l(),i("em",mn,u(ye.value),1)):_("",!0)],2),s("span",{class:S(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:wt},[e[34]||(e[34]=g(" 已完成 ",-1)),ke.value!==void 0?(l(),i("em",_n,u(ke.value),1)):_("",!0)],2),m(V)(["tcm.diagnosis/assign"])?(l(),i("span",{key:0,class:S(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:Rt},[e[35]||(e[35]=g(" 待分配医助 ",-1)),be.value!==void 0?(l(),i("em",vn,u(be.value),1)):_("",!0)],2)):_("",!0)]),s("div",gn,[s("div",fn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),i(x,null,z(kt,a=>s("span",{key:"a"+a.value,class:S(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:k=>xt(a.value)},u(a.label),11,hn)),64))]),s("div",yn,[e[37]||(e[37]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),i(x,null,z(bt,a=>s("span",{key:"c"+a.value,class:S(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:k=>Dt(a.value)},u(a.label),11,kn)),64))]),n(r,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>G.value=!G.value)},{default:o(()=>[g(u(G.value?"收起":"更多")+" ",1),n(f,{class:S({"rotate-180":G.value})},{default:o(()=>[n(m(rt))]),_:1},8,["class"])]),_:1})]),Ne(s("div",bn,[n(P,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:B},{default:o(()=>[(l(!0),i(x,null,z(Ve.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(P,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:B},{default:o(()=>[(l(!0),i(x,null,z(xe.value,a=>(l(),E(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(P,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:B},{default:o(()=>[(l(!0),i(x,null,z(J.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(r,{size:"small",onClick:Vt},{default:o(()=>[...e[38]||(e[38]=[g("重置",-1)])]),_:1})],512),[[Pa,G.value]])]),Ne((l(),i("main",Cn,[m(y).lists.length===0&&!m(y).loading?(l(),i("div",Vn,[n(te,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),i(x,null,z(m(y).lists,a=>(l(),i("article",{key:a.id,class:S(["dh5-card",St(a)])},[s("header",{class:"dh5-card-head",onClick:k=>Je(a.id)},[s("div",Dn,u((a.patient_name||"患").charAt(0)),1),s("div",En,[s("div",$n,[g(u(a.patient_name||"-")+" ",1),a.gender_desc?(l(),i("span",wn,u(a.gender_desc),1)):_("",!0),a.age!=null?(l(),i("span",Rn,u(a.age)+"岁",1)):_("",!0)]),s("div",An,[g(" #"+u(a.id)+" · "+u(a.diagnosis_date_text||ht(a.create_time))+" ",1),a.assign_read_at===null&&a.assistant_id>0?(l(),i("span",In,"NEW")):_("",!0)])]),s("div",zn,[Oe(a)?(l(),i("span",Sn,"已确认")):(l(),i("span",Pn,"未确认")),a.has_prescription?(l(),i("span",qn,"已开方")):_("",!0)])],8,xn),s("section",{class:"dh5-card-body",onClick:k=>Je(a.id)},[s("div",{class:S(["dh5-row","dh5-row--apt",Nt(a)])},[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",Nn,[a.has_appointment?(l(),i(x,{key:0},[De(a).length?(l(!0),i(x,{key:0},z(De(a),k=>(l(),i("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:S(["dh5-apt-item",Lt(k)])},[s("span",Tn,u(qt(k.status)),1),s("span",Wn,u(k.doctor_name||"-"),1),s("span",Fn,u(k.time_text||"-"),1)],2))),128)):(l(),i(x,{key:1},[s("span",Un,u(Pt(a)),1),s("span",On,u(a.appointment_doctor_name||"-"),1),s("span",Mn,u(a.appointment_time_text||"-"),1)],64))],64)):(l(),i("span",Qn,"未挂号"))])],2),a.has_prescription?(l(),i("div",Yn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Bn,[s("span",null,u(a.followup_time_text||"—"),1),s("span",Hn,u(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),i("span",Xn,"处方作废")):_("",!0)])])):_("",!0),s("div",Gn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Jn,u(zt(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),i("div",Kn,[e[42]||(e[42]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",jn,[g(u(Ue(Ve.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),i("span",Zn,"·")):_("",!0),a.syndrome_type?(l(),i("span",es,u(Ue(xe.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,Ln),Mt(a)?(l(),i("div",ts,[$e(a)&&Wt(a)?(l(),i(x,{key:0},[n(r,{type:"primary",size:"small",icon:m(nn),onClick:k=>Qt(a)},{default:o(()=>[...e[43]||(e[43]=[g(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",as,u(Ft(a)),1)],64)):(l(),i("span",ns,u($e(a)?Ut(a):Ot(a)),1))])):_("",!0),s("footer",ss,[m(V)(["tcm.diagnosis/edit"])?(l(),E(r,{key:0,type:"primary",size:"small",plain:"",onClick:k=>Bt(a.id)},{default:o(()=>[...e[44]||(e[44]=[g(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(V)(["tcm.diagnosis/kaifang"])?(l(),E(r,{key:1,type:Ke(a)==="查看"?"success":"primary",size:"small",onClick:k=>Ht(a)},{default:o(()=>[g(u(Ke(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(V)(["tcm.diagnosis/guahao"])?(l(),E(r,{key:2,type:"success",size:"small",plain:"",onClick:k=>Gt(a)},{default:o(()=>[...e[45]||(e[45]=[g(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(r,{size:"small",class:"dh5-more-btn",onClick:k=>Kt(a)},{default:o(()=>[e[46]||(e[46]=g(" 更多",-1)),n(f,{class:"el-icon--right"},{default:o(()=>[n(m(rt))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ce.value?(l(),i("div",{key:1,class:"dh5-load-more",onClick:At},u(m(y).loading?"加载中…":"加载更多"),1)):_("",!0),!Ce.value&&m(y).lists.length>0?(l(),i("div",ls,"— 没有更多了 —")):_("",!0)])),[[nt,m(y).loading]]),m(V)(["tcm.diagnosis/add"])?(l(),i("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Yt},[n(f,{size:22},{default:o(()=>[n(m(Ga))]),_:1})])):_("",!0),n(m(mt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(_t),{ref_key:"detailRef",ref:He},null,512),n(m(vt),{ref_key:"prescriptionRef",ref:Xe,onSuccess:Xt},null,512),n(m(gt),{ref_key:"appointmentRef",ref:Ge,onSuccess:Fe},null,512),n(m(ft),{modelValue:we.value,"onUpdate:modelValue":e[5]||(e[5]=a=>we.value=a),"diagnosis-id":Be.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(M,{modelValue:ie.value,"onUpdate:modelValue":e[14]||(e[14]=a=>ie.value=a),title:L.value?`${L.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:o(()=>[L.value?(l(),i("div",os,[m(V)(["tcm.diagnosis/assign"])?(l(),i("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>N("assign"))},[n(f,null,{default:o(()=>[n(m(Ja))]),_:1}),e[47]||(e[47]=s("span",null,"指派医助",-1))])):_("",!0),Ee(L.value)&&m(V)(["tcm.diagnosis/videoQr"])?(l(),i("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>N("videoQr"))},[n(f,null,{default:o(()=>[n(m(ut))]),_:1}),e[48]||(e[48]=s("span",null,"视频二维码",-1))])):_("",!0),Ee(L.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),i("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>N("confirmQr"))},[n(f,null,{default:o(()=>[n(m(ut))]),_:1}),e[49]||(e[49]=s("span",null,"诊单二维码",-1))])):_("",!0),Ye(L.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),i("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>N("cancelApt"))},[n(f,null,{default:o(()=>[n(m(Ka))]),_:1}),e[50]||(e[50]=s("span",null,"取消挂号",-1))])):_("",!0),m(V)(["tcm.diagnosis/edit"])?(l(),i("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>N("fillIdCard"))},[n(f,null,{default:o(()=>[n(m(ja))]),_:1}),e[51]||(e[51]=s("span",null,"补全身份证",-1))])):_("",!0),m(V)(["tcm.diagnosis/order"])?(l(),i("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>N("order"))},[n(f,null,{default:o(()=>[n(m(Za))]),_:1}),e[52]||(e[52]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>N("wechat"))},[n(f,null,{default:o(()=>[n(m(en))]),_:1}),e[53]||(e[53]=s("span",null,"企微记录",-1))]),m(V)(["tcm.diagnosis/delete"])?(l(),i("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>N("delete"))},[n(f,null,{default:o(()=>[n(m(tn))]),_:1}),e[54]||(e[54]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(M,{modelValue:j.value,"onUpdate:modelValue":e[18]||(e[18]=a=>j.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:o(()=>[n(r,{class:"dh5-flex1",onClick:e[17]||(e[17]=a=>j.value=!1)},{default:o(()=>[...e[57]||(e[57]=[g("取消",-1)])]),_:1}),n(r,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Zt},{default:o(()=>[...e[58]||(e[58]=[g(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(Le,{model:R.value,"label-position":"top",class:"dh5-form"},{default:o(()=>[n(q,{label:"选择医助",required:""},{default:o(()=>[n(P,{modelValue:R.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>R.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:o(()=>[(l(!0),i(x,null,z(J.value,a=>(l(),E(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(q,{label:"继承"},{default:o(()=>[n(va,{modelValue:R.value.is_inherit,"onUpdate:modelValue":e[16]||(e[16]=a=>R.value.is_inherit=a)},{default:o(()=>[...e[55]||(e[55]=[g("继承",-1)])]),_:1},8,["modelValue"]),e[56]||(e[56]=s("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),n(q,{label:"诊单信息"},{default:o(()=>{var a,k;return[s("div",is,[s("div",null,"患者:"+u((a=de.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+u(((k=de.value)==null?void 0:k.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(M,{modelValue:Z.value,"onUpdate:modelValue":e[23]||(e[23]=a=>Z.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:aa},{footer:o(()=>[n(r,{class:"dh5-flex1",onClick:e[22]||(e[22]=a=>Z.value=!1)},{default:o(()=>[...e[59]||(e[59]=[g("取消",-1)])]),_:1}),n(r,{class:"dh5-flex1",type:"primary",loading:Ae.value,onClick:na},{default:o(()=>[...e[60]||(e[60]=[g(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(Le,{ref_key:"orderFormRef",ref:re,model:v,rules:ea,"label-position":"top",class:"dh5-form"},{default:o(()=>[n(q,{label:"患者"},{default:o(()=>[s("span",null,u(v.patient_name)+" ("+u(We(v.phone))+")",1)]),_:1}),n(q,{label:"订单类型",prop:"order_type"},{default:o(()=>[n(P,{modelValue:v.order_type,"onUpdate:modelValue":e[19]||(e[19]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:o(()=>[n(C,{label:"挂号费",value:1}),n(C,{label:"问诊费",value:2}),n(C,{label:"药品费用",value:3}),n(C,{label:"首付费用",value:4}),n(C,{label:"尾款费用",value:5}),n(C,{label:"其他费用",value:6}),n(C,{label:"全部费用",value:7}),n(C,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),n(q,{label:"订单金额",prop:"amount"},{default:o(()=>[n(ga,{modelValue:v.amount,"onUpdate:modelValue":e[20]||(e[20]=a=>v.amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"!w-full"},null,8,["modelValue"])]),_:1}),n(q,{label:"备注",prop:"remark"},{default:o(()=>[n(c,{modelValue:v.remark,"onUpdate:modelValue":e[21]||(e[21]=a=>v.remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(at,{modelValue:ee.value,"onUpdate:modelValue":e[26]||(e[26]=a=>ee.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[27]||(e[27]=a=>A.id_card="")},{footer:o(()=>[n(r,{onClick:e[25]||(e[25]=a=>ee.value=!1)},{default:o(()=>[...e[61]||(e[61]=[g("取消",-1)])]),_:1}),n(r,{type:"primary",loading:Ie.value,onClick:oa},{default:o(()=>[...e[62]||(e[62]=[g(" 提交 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(Le,{ref_key:"fillIdCardFormRef",ref:je,model:A,rules:sa,"label-position":"top",class:"dh5-form"},{default:o(()=>[n(q,{label:"患者"},{default:o(()=>[s("span",ds,u(A.patient_name),1)]),_:1}),n(q,{label:"身份证号",prop:"id_card"},{default:o(()=>[n(c,{modelValue:A.id_card,"onUpdate:modelValue":e[24]||(e[24]=a=>A.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(at,{modelValue:T.value,"onUpdate:modelValue":e[29]||(e[29]=a=>T.value=a),title:ue.value,"close-on-click-modal":!1},{footer:o(()=>[n(r,{onClick:e[28]||(e[28]=a=>T.value=!1)},{default:o(()=>[...e[65]||(e[65]=[g("关闭",-1)])]),_:1}),W.value?_("",!0):(l(),E(r,{key:0,type:"primary",onClick:da},{default:o(()=>[...e[66]||(e[66]=[g("重新生成",-1)])]),_:1}))]),default:o(()=>{var a;return[s("div",rs,[W.value?(l(),i("div",us,[n(f,{class:"is-loading",size:36},{default:o(()=>[n(m(an))]),_:1}),e[63]||(e[63]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):F.value?(l(),i("div",ps,[s("img",{src:F.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,cs),s("div",ms,[s("div",null,"患者:"+u((a=U.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+u(ia.value),1),e[64]||(e[64]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),i("div",_s,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(M,{modelValue:Se.value,"onUpdate:modelValue":e[31]||(e[31]=a=>Se.value=a),title:`企微记录 - ${((st=I.value)==null?void 0:st.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:o(()=>[Y.value?(l(),i("div",vs,[s("div",gs,[e[67]||(e[67]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",fs,u(We(Y.value.phone)||"-"),1)]),s("div",hs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",ys,[Y.value.external_userid?(l(),i("span",ks,u(Y.value.external_userid),1)):(l(),E(ae,{key:1,type:"info",size:"small"},{default:o(()=>[...e[68]||(e[68]=[g("未关联",-1)])]),_:1}))])]),s("div",bs,[e[72]||(e[72]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",Cs,[Y.value.msgaudit_enabled?(l(),E(ae,{key:0,type:"success",size:"small"},{default:o(()=>[...e[70]||(e[70]=[g("已开通",-1)])]),_:1})):(l(),E(ae,{key:1,type:"info",size:"small"},{default:o(()=>[...e[71]||(e[71]=[g("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",Vs,[n(c,{modelValue:H.value,"onUpdate:modelValue":e[30]||(e[30]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(r,{type:"primary",loading:Pe.value,size:"small",onClick:pa},{default:o(()=>[...e[73]||(e[73]=[g(" 添加 ",-1)])]),_:1},8,["loading"])]),Ne((l(),i("div",xs,[O.value.length===0&&!ce.value?(l(),i("div",Ds," 暂无聊天记录 ")):(l(),i("div",Es,[(l(!0),i(x,null,z(O.value,a=>{var k;return l(),i("div",{key:a.id,class:"dh5-wx-item"},[s("div",$s,[s("div",ws,[n(ae,{type:a.direction===0?"primary":"success",size:"small"},{default:o(()=>[g(u(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",Rs,u(a.direction===0?a.staff_name:a.external_name||((k=I.value)==null?void 0:k.patient_name)),1),a.msg_type==="note"?(l(),E(ae,{key:0,type:"warning",size:"small"},{default:o(()=>[...e[74]||(e[74]=[g("备注",-1)])]),_:1})):_("",!0)]),s("div",As,[s("span",Is,u(yt(a.chat_time)),1),n(r,{type:"danger",link:"",size:"small",onClick:Ts=>ca(a.id)},{default:o(()=>[...e[75]||(e[75]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",zs,u(a.content),1),a.media_url?(l(),i("div",Ss,[n(fa,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),pe.value>O.value.length?(l(),i("div",{key:2,class:"dh5-load-more",onClick:ua}," 加载更多 ")):_("",!0)])),[[nt,ce.value]])]),_:1},8,["modelValue","title"])])}}}),wl=Ba(qs,[["__scopeId","data-v-265c774e"]]);export{wl as default}; diff --git a/server/public/admin/assets/information-BPMYpBuF.js b/server/public/admin/assets/information-DAb-88JQ.js similarity index 94% rename from server/public/admin/assets/information-BPMYpBuF.js rename to server/public/admin/assets/information-DAb-88JQ.js index 13976c525..4f9f7a55b 100644 --- a/server/public/admin/assets/information-BPMYpBuF.js +++ b/server/public/admin/assets/information-DAb-88JQ.js @@ -1 +1 @@ -import{_ as C}from"./index-D6hiZISU.js";import{K as q,B as k,C as U,D as y,i as O}from"./element-plus-DGP1XOrU.js";import{_ as P}from"./picker-C0hwSppU.js";import{a as M,b as B}from"./website-CUzsflNy.js";import{e as E}from"./index-fRv3NTFQ.js";import{f,as as G,ak as _,I as D,a as o,aN as m,J as i,aP as L,G as I,O as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,n as S,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"website-information"},R={class:"w-80"},A={class:"w-80"},J={class:"w-80"},K={class:"w-80"},T={class:"w-80"},z=f({name:"webInformation"}),Qe=f({...z,setup(H){const u=S(),b=E(),l=W({name:"",web_favicon:"",web_logo:"",login_image:"",h5_favicon:"",shop_name:"",shop_logo:"",pc_logo:"",pc_title:"",pc_desc:"",pc_ico:"",pc_keywords:""}),v={name:[{required:!0,message:"请输入网站名称",trigger:["blur"]}],web_favicon:[{required:!0,message:"请选择网站图标",trigger:["change"]}],web_logo:[{required:!0,message:"请选择网站logo",trigger:["change"]}],login_image:[{required:!0,message:"请选择登录页广告图",trigger:["change"]}],shop_name:[{required:!0,message:"请输入店铺/商城名称",trigger:["blur"]}],shop_logo:[{required:!0,message:"请选择商城LOGO",trigger:["change"]}],pc_logo:[{required:!0,message:"请选择PC端LOGO",trigger:["change"]}],pc_title:[{required:!0,message:"请输入PC端网站标题",trigger:["blur"]}],pc_ico:[{required:!0,message:"请选择PC端网站图标",trigger:["change"]}]},g=async()=>{const a=await M();for(const e in l)l[e]=a[e]},w=async()=>{var a;await((a=u.value)==null?void 0:a.validate()),await B(l),b.getConfig(),g()};return g(),(a,e)=>{const d=U,p=k,s=P,n=q,V=y,c=O,x=C,j=G("perms");return _(),D("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:m(()=>[o(n,{shadow:"never",class:"!border-none"},{default:m(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(p,{label:"网站名称",prop:"name"},{default:m(()=>[i("div",R,[o(d,{modelValue:t(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(l).name=r),modelModifiers:{trim:!0},placeholder:"请输入网站名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_favicon,"onUpdate:modelValue":e[1]||(e[1]=r=>t(l).web_favicon=r),limit:1},null,8,["modelValue"]),e[12]||(e[12]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站LOGO",prop:"web_logo",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_logo,"onUpdate:modelValue":e[2]||(e[2]=r=>t(l).web_logo=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[13]||(e[13]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"登录页广告图",prop:"login_image",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).login_image,"onUpdate:modelValue":e[3]||(e[3]=r=>t(l).login_image=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[14]||(e[14]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(p,{label:"前台名称",prop:"shop_name"},{default:m(()=>[i("div",A,[o(d,{modelValue:t(l).shop_name,"onUpdate:modelValue":e[4]||(e[4]=r=>t(l).shop_name=r),modelModifiers:{trim:!0},placeholder:"请输入前台名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).h5_favicon,"onUpdate:modelValue":e[5]||(e[5]=r=>t(l).h5_favicon=r),limit:1},null,8,["modelValue"]),e[16]||(e[16]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"前台LOGO",prop:"shop_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).shop_logo,"onUpdate:modelValue":e[6]||(e[6]=r=>t(l).shop_logo=r),limit:1},null,8,["modelValue"]),e[17]||(e[17]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(p,{label:"PC端LOGO",prop:"pc_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_logo,"onUpdate:modelValue":e[7]||(e[7]=r=>t(l).pc_logo=r),limit:1},null,8,["modelValue"]),e[19]||(e[19]=i("div",{class:"form-tips"},"建议尺寸:120*28px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站标题",prop:"pc_title"},{default:m(()=>[i("div",J,[o(d,{modelValue:t(l).pc_title,"onUpdate:modelValue":e[8]||(e[8]=r=>t(l).pc_title=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站标题",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"pc_ico"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_ico,"onUpdate:modelValue":e[9]||(e[9]=r=>t(l).pc_ico=r),limit:1},null,8,["modelValue"]),e[20]||(e[20]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站描述",prop:"pc_desc"},{default:m(()=>[i("div",K,[o(d,{modelValue:t(l).pc_desc,"onUpdate:modelValue":e[10]||(e[10]=r=>t(l).pc_desc=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站描述"},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站关键词",prop:"pc_keywords"},{default:m(()=>[i("div",T,[o(d,{modelValue:t(l).pc_keywords,"onUpdate:modelValue":e[11]||(e[11]=r=>t(l).pc_keywords=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站关键词"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["model"]),L((_(),I(x,null,{default:m(()=>[o(c,{type:"primary",onClick:w},{default:m(()=>[...e[22]||(e[22]=[N("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{Qe as default}; +import{_ as C}from"./index-UGD9wxNK.js";import{K as q,B as k,C as U,D as y,i as O}from"./element-plus-DGP1XOrU.js";import{_ as P}from"./picker-lbwHqE-a.js";import{a as M,b as B}from"./website-CeVKwoPS.js";import{e as E}from"./index-J_eFER10.js";import{f,as as G,ak as _,I as D,a as o,aN as m,J as i,aP as L,G as I,O as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,n as S,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"website-information"},R={class:"w-80"},A={class:"w-80"},J={class:"w-80"},K={class:"w-80"},T={class:"w-80"},z=f({name:"webInformation"}),Qe=f({...z,setup(H){const u=S(),b=E(),l=W({name:"",web_favicon:"",web_logo:"",login_image:"",h5_favicon:"",shop_name:"",shop_logo:"",pc_logo:"",pc_title:"",pc_desc:"",pc_ico:"",pc_keywords:""}),v={name:[{required:!0,message:"请输入网站名称",trigger:["blur"]}],web_favicon:[{required:!0,message:"请选择网站图标",trigger:["change"]}],web_logo:[{required:!0,message:"请选择网站logo",trigger:["change"]}],login_image:[{required:!0,message:"请选择登录页广告图",trigger:["change"]}],shop_name:[{required:!0,message:"请输入店铺/商城名称",trigger:["blur"]}],shop_logo:[{required:!0,message:"请选择商城LOGO",trigger:["change"]}],pc_logo:[{required:!0,message:"请选择PC端LOGO",trigger:["change"]}],pc_title:[{required:!0,message:"请输入PC端网站标题",trigger:["blur"]}],pc_ico:[{required:!0,message:"请选择PC端网站图标",trigger:["change"]}]},g=async()=>{const a=await M();for(const e in l)l[e]=a[e]},w=async()=>{var a;await((a=u.value)==null?void 0:a.validate()),await B(l),b.getConfig(),g()};return g(),(a,e)=>{const d=U,p=k,s=P,n=q,V=y,c=O,x=C,j=G("perms");return _(),D("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:m(()=>[o(n,{shadow:"never",class:"!border-none"},{default:m(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(p,{label:"网站名称",prop:"name"},{default:m(()=>[i("div",R,[o(d,{modelValue:t(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(l).name=r),modelModifiers:{trim:!0},placeholder:"请输入网站名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_favicon,"onUpdate:modelValue":e[1]||(e[1]=r=>t(l).web_favicon=r),limit:1},null,8,["modelValue"]),e[12]||(e[12]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站LOGO",prop:"web_logo",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_logo,"onUpdate:modelValue":e[2]||(e[2]=r=>t(l).web_logo=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[13]||(e[13]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"登录页广告图",prop:"login_image",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).login_image,"onUpdate:modelValue":e[3]||(e[3]=r=>t(l).login_image=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[14]||(e[14]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(p,{label:"前台名称",prop:"shop_name"},{default:m(()=>[i("div",A,[o(d,{modelValue:t(l).shop_name,"onUpdate:modelValue":e[4]||(e[4]=r=>t(l).shop_name=r),modelModifiers:{trim:!0},placeholder:"请输入前台名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).h5_favicon,"onUpdate:modelValue":e[5]||(e[5]=r=>t(l).h5_favicon=r),limit:1},null,8,["modelValue"]),e[16]||(e[16]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"前台LOGO",prop:"shop_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).shop_logo,"onUpdate:modelValue":e[6]||(e[6]=r=>t(l).shop_logo=r),limit:1},null,8,["modelValue"]),e[17]||(e[17]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(p,{label:"PC端LOGO",prop:"pc_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_logo,"onUpdate:modelValue":e[7]||(e[7]=r=>t(l).pc_logo=r),limit:1},null,8,["modelValue"]),e[19]||(e[19]=i("div",{class:"form-tips"},"建议尺寸:120*28px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站标题",prop:"pc_title"},{default:m(()=>[i("div",J,[o(d,{modelValue:t(l).pc_title,"onUpdate:modelValue":e[8]||(e[8]=r=>t(l).pc_title=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站标题",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"pc_ico"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_ico,"onUpdate:modelValue":e[9]||(e[9]=r=>t(l).pc_ico=r),limit:1},null,8,["modelValue"]),e[20]||(e[20]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站描述",prop:"pc_desc"},{default:m(()=>[i("div",K,[o(d,{modelValue:t(l).pc_desc,"onUpdate:modelValue":e[10]||(e[10]=r=>t(l).pc_desc=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站描述"},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站关键词",prop:"pc_keywords"},{default:m(()=>[i("div",T,[o(d,{modelValue:t(l).pc_keywords,"onUpdate:modelValue":e[11]||(e[11]=r=>t(l).pc_keywords=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站关键词"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["model"]),L((_(),I(x,null,{default:m(()=>[o(c,{type:"primary",onClick:w},{default:m(()=>[...e[22]||(e[22]=[N("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{Qe as default}; diff --git a/server/public/admin/assets/journal-5h3b-rKa.js b/server/public/admin/assets/journal-CqwEgx0b.js similarity index 94% rename from server/public/admin/assets/journal-5h3b-rKa.js rename to server/public/admin/assets/journal-CqwEgx0b.js index 1eba7c7d3..f85f95662 100644 --- a/server/public/admin/assets/journal-5h3b-rKa.js +++ b/server/public/admin/assets/journal-CqwEgx0b.js @@ -1 +1 @@ -import{D as F,B as L,C as N,Q as z,R as j,i as O,K as $,M as G,N as M,O as R}from"./element-plus-DGP1XOrU.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as u}from"./@vue/runtime-dom-DDAG46FW.js";import{G as b}from"./index-fRv3NTFQ.js";import{u as q}from"./usePaging-DofycyjW.js";import{f as C,b as A,ak as s,I as v,a as e,aN as n,F as H,ap as W,G as g,O as y,aP as X,J as V}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Y,n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Z={class:"journal"},ee={class:"flex mt-4 justify-end"},te=C({name:"journal"}),Se=C({...te,setup(le){const a=w({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),k=w([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:r,getLists:_,resetParams:x,resetPage:i}=q({fetchFun:b,params:a.value});return A(()=>{_()}),(oe,l)=>{const d=N,p=L,E=j,T=z,K=S,c=O,I=Q,U=F,f=$,m=R,h=M,B=J,P=G;return s(),v("div",Z,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(U,{class:"ls-form",model:t(a),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).admin_name,"onUpdate:modelValue":l[0]||(l[0]=o=>t(a).admin_name=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:t(a).type,"onUpdate:modelValue":l[1]||(l[1]=o=>t(a).type=o),placeholder:"请选择"},{default:n(()=>[(s(!0),v(H,null,W(t(k),(o,D)=>(s(),g(E,{key:D,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).ip,"onUpdate:modelValue":l[2]||(l[2]=o=>t(a).ip=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(K,{startTime:t(a).start_time,"onUpdate:startTime":l[3]||(l[3]=o=>t(a).start_time=o),endTime:t(a).end_time,"onUpdate:endTime":l[4]||(l[4]=o=>t(a).end_time=o)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).url,"onUpdate:modelValue":l[5]||(l[5]=o=>t(a).url=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:t(i)},{default:n(()=>[...l[7]||(l[7]=[y("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:t(x)},{default:n(()=>[...l[8]||(l[8]=[y("重置",-1)])]),_:1},8,["onClick"]),e(I,{class:"ml-2.5","fetch-fun":t(b),params:t(a),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),X((s(),g(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(h,{data:t(r).lists,size:"large"},{default:n(()=>[e(m,{label:"记录ID",prop:"id"}),e(m,{label:"操作",prop:"action","min-width":"120"}),e(m,{label:"管理员",prop:"admin_name","min-width":"120"}),e(m,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(m,{label:"访问链接",prop:"url","min-width":"160"}),e(m,{label:"访问方式",prop:"type"}),e(m,{label:"访问参数",prop:"params","min-width":"160"}),e(m,{label:"来源IP",prop:"ip","min-width":"160"}),e(m,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(B,{modelValue:t(r),"onUpdate:modelValue":l[6]||(l[6]=o=>Y(r)?r.value=o:null),onChange:t(_)},null,8,["modelValue","onChange"])])]),_:1})),[[P,t(r).loading]])])}}});export{Se as default}; +import{D as F,B as L,C as N,Q as z,R as j,i as O,K as $,M as G,N as M,O as R}from"./element-plus-DGP1XOrU.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as u}from"./@vue/runtime-dom-DDAG46FW.js";import{G as b}from"./index-J_eFER10.js";import{u as q}from"./usePaging-DofycyjW.js";import{f as C,b as A,ak as s,I as v,a as e,aN as n,F as H,ap as W,G as g,O as y,aP as X,J as V}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Y,n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Z={class:"journal"},ee={class:"flex mt-4 justify-end"},te=C({name:"journal"}),Se=C({...te,setup(le){const a=w({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),k=w([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:r,getLists:_,resetParams:x,resetPage:i}=q({fetchFun:b,params:a.value});return A(()=>{_()}),(oe,l)=>{const d=N,p=L,E=j,T=z,K=S,c=O,I=Q,U=F,f=$,m=R,h=M,B=J,P=G;return s(),v("div",Z,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(U,{class:"ls-form",model:t(a),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).admin_name,"onUpdate:modelValue":l[0]||(l[0]=o=>t(a).admin_name=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:t(a).type,"onUpdate:modelValue":l[1]||(l[1]=o=>t(a).type=o),placeholder:"请选择"},{default:n(()=>[(s(!0),v(H,null,W(t(k),(o,D)=>(s(),g(E,{key:D,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).ip,"onUpdate:modelValue":l[2]||(l[2]=o=>t(a).ip=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(K,{startTime:t(a).start_time,"onUpdate:startTime":l[3]||(l[3]=o=>t(a).start_time=o),endTime:t(a).end_time,"onUpdate:endTime":l[4]||(l[4]=o=>t(a).end_time=o)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).url,"onUpdate:modelValue":l[5]||(l[5]=o=>t(a).url=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:t(i)},{default:n(()=>[...l[7]||(l[7]=[y("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:t(x)},{default:n(()=>[...l[8]||(l[8]=[y("重置",-1)])]),_:1},8,["onClick"]),e(I,{class:"ml-2.5","fetch-fun":t(b),params:t(a),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),X((s(),g(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(h,{data:t(r).lists,size:"large"},{default:n(()=>[e(m,{label:"记录ID",prop:"id"}),e(m,{label:"操作",prop:"action","min-width":"120"}),e(m,{label:"管理员",prop:"admin_name","min-width":"120"}),e(m,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(m,{label:"访问链接",prop:"url","min-width":"160"}),e(m,{label:"访问方式",prop:"type"}),e(m,{label:"访问参数",prop:"params","min-width":"160"}),e(m,{label:"来源IP",prop:"ip","min-width":"160"}),e(m,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(B,{modelValue:t(r),"onUpdate:modelValue":l[6]||(l[6]=o=>Y(r)?r.value=o:null),onChange:t(_)},null,8,["modelValue","onChange"])])]),_:1})),[[P,t(r).loading]])])}}});export{Se as default}; diff --git a/server/public/admin/assets/keyword_reply-BfjuIFuE.js b/server/public/admin/assets/keyword_reply-DeGdWnXE.js similarity index 95% rename from server/public/admin/assets/keyword_reply-BfjuIFuE.js rename to server/public/admin/assets/keyword_reply-DeGdWnXE.js index 78527d556..7b83c1d27 100644 --- a/server/public/admin/assets/keyword_reply-BfjuIFuE.js +++ b/server/public/admin/assets/keyword_reply-DeGdWnXE.js @@ -1 +1 @@ -import{L as D,K as L,i as O,N as A,O as P,g as U,M}from"./element-plus-DGP1XOrU.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as q,k as z}from"./index-fRv3NTFQ.js";import{d as F,o as G,e as H}from"./wx_oa-BuVhGwqh.js";import{u as I}from"./usePaging-DofycyjW.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang-BRCNHmev.js";import{f as K,ak as f,I as Q,a as t,aN as n,J as g,O as m,aP as W,G as v,H as X,A as w,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as Y,q as Z,n as ee}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const te={class:"flex justify-end mt-4"},He=K({__name:"keyword_reply",setup(oe){const p=Z(),d=ee(!1),b=w(()=>a=>{switch(a){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>a=>{switch(a){case 1:return"文本"}}),{pager:s,getLists:r}=I({fetchFun:F,params:{reply_type:2}}),V=async()=>{var a;d.value=!0,await h(),(a=p.value)==null||a.open("add",2)},E=async a=>{var e,c;d.value=!0,await h(),(e=p.value)==null||e.open("edit",2),(c=p.value)==null||c.getDetail(a)},$=async a=>{await z.confirm("确定要删除?"),await G({id:a}),r()},x=async a=>{try{await H({id:a}),r()}catch{r()}};return r(),(a,e)=>{const c=D,y=L,R=q,_=O,l=P,N=U,S=A,T=j,B=M;return f(),Q("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=o=>V())},{icon:n(()=>[t(R,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=m(" 新增 ",-1))]),_:1})]),W((f(),v(S,{size:"large",data:i(s).lists},{default:n(()=>[t(l,{label:"规则名称",prop:"name","min-width":"120"}),t(l,{label:"关键词",prop:"keyword","min-width":"120"}),t(l,{label:"匹配方式","min-width":"120"},{default:n(({row:o})=>[m(k(i(b)(o.matching_type)),1)]),_:1}),t(l,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[m(k(i(C)(o.content_type)),1)]),_:1}),t(l,{label:"状态","min-width":"120"},{default:n(({row:o})=>[t(N,{modelValue:o.status,"onUpdate:modelValue":u=>o.status=u,"active-value":1,"inactive-value":0,onChange:u=>x(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(l,{label:"排序",prop:"sort","min-width":"120"}),t(l,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[t(_,{type:"primary",link:"",onClick:u=>E(o)},{default:n(()=>[...e[4]||(e[4]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:u=>$(o.id)},{default:n(()=>[...e[5]||(e[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,i(s).loading]]),g("div",te,[t(T,{modelValue:i(s),"onUpdate:modelValue":e[1]||(e[1]=o=>Y(s)?s.value=o:null),onChange:i(r)},null,8,["modelValue","onChange"])])]),_:1}),i(d)?(f(),v(J,{key:0,ref_key:"editRef",ref:p,onSuccess:i(r),onClose:e[2]||(e[2]=o=>d.value=!1)},null,8,["onSuccess"])):X("",!0)])}}});export{He as default}; +import{L as D,K as L,i as O,N as A,O as P,g as U,M}from"./element-plus-DGP1XOrU.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{c as q,k as z}from"./index-J_eFER10.js";import{d as F,o as G,e as H}from"./wx_oa-Bi2y5vRS.js";import{u as I}from"./usePaging-DofycyjW.js";import{_ as J}from"./edit.vue_vue_type_script_setup_true_lang-cR_c1ZOA.js";import{f as K,ak as f,I as Q,a as t,aN as n,J as g,O as m,aP as W,G as v,H as X,A as w,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as Y,q as Z,n as ee}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const te={class:"flex justify-end mt-4"},He=K({__name:"keyword_reply",setup(oe){const p=Z(),d=ee(!1),b=w(()=>a=>{switch(a){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>a=>{switch(a){case 1:return"文本"}}),{pager:s,getLists:r}=I({fetchFun:F,params:{reply_type:2}}),V=async()=>{var a;d.value=!0,await h(),(a=p.value)==null||a.open("add",2)},E=async a=>{var e,c;d.value=!0,await h(),(e=p.value)==null||e.open("edit",2),(c=p.value)==null||c.getDetail(a)},$=async a=>{await z.confirm("确定要删除?"),await G({id:a}),r()},x=async a=>{try{await H({id:a}),r()}catch{r()}};return r(),(a,e)=>{const c=D,y=L,R=q,_=O,l=P,N=U,S=A,T=j,B=M;return f(),Q("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=o=>V())},{icon:n(()=>[t(R,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=m(" 新增 ",-1))]),_:1})]),W((f(),v(S,{size:"large",data:i(s).lists},{default:n(()=>[t(l,{label:"规则名称",prop:"name","min-width":"120"}),t(l,{label:"关键词",prop:"keyword","min-width":"120"}),t(l,{label:"匹配方式","min-width":"120"},{default:n(({row:o})=>[m(k(i(b)(o.matching_type)),1)]),_:1}),t(l,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[m(k(i(C)(o.content_type)),1)]),_:1}),t(l,{label:"状态","min-width":"120"},{default:n(({row:o})=>[t(N,{modelValue:o.status,"onUpdate:modelValue":u=>o.status=u,"active-value":1,"inactive-value":0,onChange:u=>x(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(l,{label:"排序",prop:"sort","min-width":"120"}),t(l,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[t(_,{type:"primary",link:"",onClick:u=>E(o)},{default:n(()=>[...e[4]||(e[4]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:u=>$(o.id)},{default:n(()=>[...e[5]||(e[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,i(s).loading]]),g("div",te,[t(T,{modelValue:i(s),"onUpdate:modelValue":e[1]||(e[1]=o=>Y(s)?s.value=o:null),onChange:i(r)},null,8,["modelValue","onChange"])])]),_:1}),i(d)?(f(),v(J,{key:0,ref_key:"editRef",ref:p,onSuccess:i(r),onClose:e[2]||(e[2]=o=>d.value=!1)},null,8,["onSuccess"])):X("",!0)])}}});export{He as default}; diff --git a/server/public/admin/assets/link-CGojB-wX.js b/server/public/admin/assets/link-ChL3YoyQ.js similarity index 86% rename from server/public/admin/assets/link-CGojB-wX.js rename to server/public/admin/assets/link-ChL3YoyQ.js index 5ec2621a6..e575c0758 100644 --- a/server/public/admin/assets/link-CGojB-wX.js +++ b/server/public/admin/assets/link-ChL3YoyQ.js @@ -1 +1 @@ -import{K as a}from"./element-plus-DGP1XOrU.js";import{_ as n}from"./picker-8l5NOLQi.js";import{f as l,ak as s,I as _,a as r,aN as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";const po=l({__name:"link",setup(d){const o=c({value1:{}});return(f,t)=>{const p=n,i=a;return s(),_("div",null,[r(i,{header:"基础使用",shadow:"never",class:"!border-none"},{default:u(()=>[r(p,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=e=>m(o).value1=e)},null,8,["modelValue"])]),_:1})])}}});export{po as default}; +import{K as a}from"./element-plus-DGP1XOrU.js";import{_ as n}from"./picker-CeVtQr2X.js";import{f as l,ak as s,I as _,a as r,aN as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";const po=l({__name:"link",setup(d){const o=c({value1:{}});return(f,t)=>{const p=n,i=a;return s(),_("div",null,[r(i,{header:"基础使用",shadow:"never",class:"!border-none"},{default:u(()=>[r(p,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=e=>m(o).value1=e)},null,8,["modelValue"])]),_:1})])}}});export{po as default}; diff --git a/server/public/admin/assets/list-BY4Dc_F3.js b/server/public/admin/assets/list-BTbA_aY2.js similarity index 93% rename from server/public/admin/assets/list-BY4Dc_F3.js rename to server/public/admin/assets/list-BTbA_aY2.js index 4465a1041..2f5020931 100644 --- a/server/public/admin/assets/list-BY4Dc_F3.js +++ b/server/public/admin/assets/list-BTbA_aY2.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-B6i9iaxJ.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BdeDEJMM.css"])))=>i.map(i=>d[i]); -import{_ as it}from"./jspdf-BsthCvR5.js";import{m as ae,l as le,d as ie,Y as ne,C as oe,i as de,p as re,n as pe,o as ue,G as me,F as _e,Z as ce,W as fe,N as ge,O as ve,U as ye,M as be,K as ke}from"./element-plus-DGP1XOrU.js";import{_ as De}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as Ce}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as Ve,s as yt}from"./@vue/runtime-dom-DDAG46FW.js";import{u as we}from"./usePaging-DofycyjW.js";import{a as Ee,m as Se,l as bt}from"./doctor-BVLBwYIX.js";import{d as Te}from"./department-OHG8LTQz.js";import{Y as he,W as Pe,a9 as Ie}from"./tcm-CEIBuAeK.js";import{u as $e,k as y,_ as ze}from"./index-fRv3NTFQ.js";import{a as xe}from"./patient-DzLGoG87.js";import{h as Ae}from"./perm-CTlz8z1G.js";import{i as Re,f as qe}from"./diabetes-discovery-display-B_wmGXQJ.js";import{g as Le}from"./weapp-B8uox-3Q.js";import{j as Ne,at as Ue,ao as kt,b as Dt,d as Me,e as Ct,k as Vt,x as Be,P as Oe,G as nt,Z as We,l as Fe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Qe,w as Ye,b as Ge,d as He,as as je,ak as _,I as k,a,aN as i,J as e,O as p,G as v,H as f,aP as I,F as Ke,P as ot,A as dt}from"./@vue/runtime-core-C6bnekPw.js";import{a as z,y as s,r as Ze,n as g}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Je={class:"appointment-list"},Xe={class:"list-toolbar"},ts={class:"tab-label tab-priority"},es={class:"tab-label"},ss={class:"tab-label"},as={class:"tab-label"},ls={class:"tab-label"},is={class:"toolbar-actions"},ns={class:"filter-bar"},os={class:"filter-group"},ds={class:"filter-group"},rs={class:"filter-group"},ps={class:"table-wrap"},us={class:"patient-cell"},ms={class:"patient-info"},_s={class:"patient-name"},cs={class:"patient-phone"},fs={class:"patient-extra"},gs={class:"datetime-cell"},vs={class:"date-text"},ys={class:"time-text"},bs={class:"prescription-tags"},ks={class:"action-btns"},Ds={class:"flex justify-end py-4 px-4"},Cs={key:0,class:"detail-content"},Vs={class:"detail-section"},ws={class:"detail-section-title"},Es={class:"detail-grid"},Ss={class:"detail-item"},Ts={class:"detail-value"},hs={class:"detail-item"},Ps={class:"detail-item"},Is={class:"detail-value"},$s={class:"detail-item"},zs={class:"detail-value"},xs={class:"detail-item"},As={class:"detail-value"},Rs={class:"detail-item"},qs={class:"detail-value"},Ls={class:"detail-section"},Ns={class:"detail-section-title"},Us={class:"detail-grid"},Ms={class:"detail-item"},Bs={class:"detail-value"},Os={class:"detail-item"},Ws={class:"detail-value"},Fs={class:"detail-item"},Qs={class:"detail-value"},Ys={class:"detail-item"},Gs={class:"detail-value"},Hs={class:"detail-item"},js={class:"detail-value"},Ks={class:"detail-item"},Zs={class:"detail-value"},Js={class:"detail-item"},Xs={class:"detail-value"},ta={class:"detail-item"},ea={class:"detail-value"},sa={class:"detail-item"},aa={class:"detail-value"},la={class:"detail-item"},ia={class:"detail-value"},na={class:"detail-item"},oa={class:"detail-value"},da={class:"detail-item"},ra={class:"detail-value"},pa={class:"detail-item"},ua={class:"detail-value"},ma={class:"detail-item"},_a={class:"detail-value"},ca={class:"detail-item"},fa={class:"detail-value"},ga={class:"detail-item"},va={class:"detail-value"},ya={key:0,class:"detail-section"},ba={class:"detail-section-title"},ka={class:"detail-grid"},Da={key:0,class:"detail-item"},Ca={class:"detail-value"},Va={key:1,class:"detail-item"},wa={class:"detail-value"},Ea={key:2,class:"detail-item detail-item-full"},Sa={class:"detail-value"},Ta={key:3,class:"detail-item detail-item-full"},ha={class:"detail-value"},Pa={key:1,class:"detail-section"},Ia={class:"detail-section-title"},$a={class:"detail-grid"},za={key:0,class:"detail-item"},xa={class:"detail-value"},Aa={key:1,class:"detail-item"},Ra={class:"detail-value"},qa={key:2,class:"detail-item detail-item-full"},La={class:"detail-value"},Na={key:3,class:"detail-item detail-item-full"},Ua={class:"detail-value"},Ma={class:"detail-section"},Ba={class:"detail-remark"},Oa={class:"qrcode-content"},Wa={key:0,class:"qrcode-loading"},Fa={key:1,class:"qrcode-success"},Qa={class:"qrcode-image-wrap"},Ya=["src"],Ga={class:"qrcode-info"},Ha={class:"qrcode-patient"},ja={key:2,class:"qrcode-error"},Ka={class:"complete-dialog"},Za=2e4,Ja=Qe({__name:"list",setup(Xa){const wt=ot(()=>it(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),Et=ot(()=>it(()=>import("./index-B6hZ4N_9.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,96,97,15,98,99,100,101]))),St=ot(()=>it(()=>import("./index-B6i9iaxJ.js"),__vite__mapDeps([104,1,2,3,4,5,6,7,8,9,10,11,12,13,14,53,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,86,15,105,106,107,108,109,110,111,112,113,58,59,60,114,115,116,117,118,78,119,120,121]))),rt=$e(),Tt=dt(()=>rt.userInfo),ht=l=>!l||l.length<11?l:l.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Pt=dt(()=>{const l=Tt.value.role_id;return Array.isArray(l)?!l.includes(1)&&!l.includes(2):l!==1&&l!==2}),r=Ze({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:"today",diagnosis_confirmed:"",assistant_dept_id:"",include_status_counts:0}),K=g([]),It={value:"id",label:"name",children:"children"},O=g("1"),x=g(!1),S=g({1:0,2:0,3:0,4:0}),{pager:V,getLists:pt,resetPage:$t}=we({fetchFun:Ee,params:r,firstLoading:!0});Ye(()=>[r.start_date,r.end_date],([l,t])=>{if(!r.date_preset)return;const o=new Date,c=C=>String(C).padStart(2,"0"),m=C=>`${C.getFullYear()}-${c(C.getMonth()+1)}-${c(C.getDate())}`,T=m(o),h=new Date(o);h.setDate(h.getDate()-1);const b=m(h),P=new Date(o);P.setDate(P.getDate()-2);const j=m(P),L=new Date(o);L.setDate(L.getDate()+1);const w=m(L),N=new Date(o);N.setDate(N.getDate()+2);const lt=m(N),U=r.date_preset,M=U==="yesterday"?b:U==="day_before"?j:U==="today"?T:U==="tomorrow"?w:lt;(l||"").split(" ")[0]!==M&&(r.date_preset="")});const zt=l=>{l==="all"?r.status="":r.status=Number(l),$t()};let W=null;const D=async l=>{const t=(l==null?void 0:l.silent)===!0;r.include_status_counts=1;try{await pt({silent:t});const o=V.extend,c=o==null?void 0:o.status_count;if(c)for(const m of[1,2,3,4]){const T=c[m]??c[String(m)];typeof T=="number"&&(S.value[m]=T)}}catch(o){if(!t)throw o}finally{r.include_status_counts=0}},xt=l=>{l==="customDate"?x.value=!0:l==="reset"&&Nt()},At=()=>{r.date_preset="",x.value=!1,V.page=1,D()},Rt=()=>{V.page=1,D()},qt=()=>{V.page=1,D()},Lt=l=>{const t=String(l||"");if(!t){r.date_preset="",r.start_date="",r.end_date="",D();return}const o=new Date,c=h=>String(h).padStart(2,"0");let m;t==="yesterday"?(m=new Date(o),m.setDate(m.getDate()-1)):t==="day_before"?(m=new Date(o),m.setDate(m.getDate()-2)):t==="today"?m=o:t==="tomorrow"?(m=new Date(o),m.setDate(m.getDate()+1)):(m=new Date(o),m.setDate(m.getDate()+2));const T=`${m.getFullYear()}-${c(m.getMonth()+1)}-${c(m.getDate())}`;r.date_preset=t,r.start_date=T,r.end_date=T,V.page=1,D()},ut=()=>{V.page=1,D()},Nt=()=>{O.value="1",r.patient_name="",r.doctor_name="",r.date_preset="today",r.diagnosis_confirmed="",r.assistant_dept_id="";const l=new Date,t=o=>String(o).padStart(2,"0");r.start_date=`${l.getFullYear()}-${t(l.getMonth()+1)}-${t(l.getDate())}`,r.end_date=r.start_date,r.status=1,V.page=1,D()},Z=g(!1),d=g(null),Ut=g([]),Mt=g([]),Bt=g([]),Ot=g([]),F=(l,t)=>{if(!t)return"-";const o=l.find(c=>c.value===t);return o?o.name:t},Wt=l=>(Array.isArray(l)?l:typeof l=="string"?l.split(/[,,、]/):[]).map(o=>F(Ot.value,o.trim())).filter(Boolean).join("、")||"-",J=g(),X=g(),mt=g(),Ft=["doctor.appointment/addDoctorNote"],A=g(!1),Q=g(!1),R=g(""),tt=g(null),et=dt(()=>Ae(Ft)),q=g(!1),Y=g(!1),G=g(""),H=g(null),Qt=(l,t)=>{switch(l){case"edit":ct(t);break;case"viewCase":Zt(t);break;case"complete":_t(t);break;case"chat":ft(t);break;case"qrcode":st(t);break;case"prescription":gt(t);break;case"cancel":Yt(t);break}},Yt=async l=>{try{await y.confirm("确定要取消该挂号吗?"),await Se({id:l.id}),y.msgSuccess("取消成功"),D()}catch{}},_t=async l=>{if(tt.value=l,R.value="",et.value){A.value=!0;return}try{await y.confirm("是否添加医生备注?"),await bt({id:l.id}),y.msgSuccess("操作成功"),D()}catch{}},Gt=async()=>{const l=tt.value;if(!(!(l!=null&&l.id)||Q.value)){Q.value=!0;try{const t=R.value.trim();await bt({id:l.id});let o="";if(et.value&&t){const c=l.patient_id||l.diagnosis_id;if(c)try{await xe({diagnosis_id:Number(c),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?y.msgWarning(o):y.msgSuccess("操作成功"),A.value=!1,R.value="",tt.value=null,D()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{Q.value=!1}}},ct=l=>{var t;if(!l.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=J.value)==null||t.open("edit",l.patient_id)},Ht=l=>{ct(l)},ft=async l=>{var c;const t=Number(l.source_patient_id||0),o=Number(l.diagnosis_id||0);if(!t){y.msgWarning("患者信息不完整");return}if(!o){y.msgWarning("预约信息不完整,无法发起聊天");return}try{const m=await he({patient_id:t,diagnosis_id:o});console.log("获取聊天签名成功:",m),(c=mt.value)==null||c.open({patientId:t,patientName:l.patient_name,diagnosisId:o,signatureData:m})}catch(m){console.error("获取聊天签名失败:",m),y.msgError(m.message||"获取聊天签名失败")}},st=async l=>{if(!l.patient_id){y.msgWarning("患者信息不完整");return}H.value=l,q.value=!0,Y.value=!0,G.value="";try{const t=await Le();if(!(t!=null&&t.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),q.value=!1;return}const o=rt.userInfo,c=await Pe({doctor_id:l.doctor_id||"",patient_id:l.patient_id,share_user_id:(o==null?void 0:o.id)||"",mini_program_path:"pages/login/login"});c!=null&&c.qrcode_url?G.value=c.qrcode_url:y.msgError("二维码生成失败")}catch(t){console.error("生成小程序二维码失败:",t),y.msgError((t==null?void 0:t.msg)||"生成二维码失败,请重试")}finally{Y.value=!1}},jt=()=>{var l,t;D(),(t=(l=J.value)==null?void 0:l.refreshCaseList)==null||t.call(l)};function Kt(l){return(l==null?void 0:l.prescription_audit_status)===1&&Number(l==null?void 0:l.prescription_void_status)!==1?"查看":"开方"}const gt=l=>{var t;if(!l.diagnosis_id&&!l.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=X.value)==null||t.open(l)},Zt=async l=>{var t;if(!l.id){y.msgWarning("预约信息不完整");return}try{const o=await Ie({appointment_id:l.id});o!=null&&o.id?(t=X.value)==null||t.openById(o.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(o){y.msgError((o==null?void 0:o.msg)||"获取病历失败")}},Jt=()=>{H.value&&st(H.value)},at=new Date,vt=l=>String(l).padStart(2,"0");return r.start_date=`${at.getFullYear()}-${vt(at.getMonth()+1)}-${vt(at.getDate())}`,r.end_date=r.start_date,r.status=1,Ge(async()=>{try{const l=await Te();K.value=Array.isArray(l)?l:[]}catch{K.value=[]}D(),W=setInterval(()=>{D({silent:!0})},Za)}),He(()=>{W!==null&&(clearInterval(W),W=null)}),(l,t)=>{const o=ie,c=ne,m=le,T=ae,h=oe,b=de,P=ue,j=pe,L=re,w=_e,N=me,lt=ce,U=Ce,M=fe,E=ve,C=ye,Xt=ge,te=De,ee=ke,$=je("perms"),se=be;return _(),k("div",Je,[a(ee,{class:"list-card !border-none",shadow:"never"},{default:i(()=>[e("div",Xe,[a(T,{modelValue:s(O),"onUpdate:modelValue":t[0]||(t[0]=n=>z(O)?O.value=n:null),onTabChange:zt,class:"list-tabs"},{default:i(()=>[a(m,{name:"1"},{label:i(()=>[e("span",ts,[a(o,null,{default:i(()=>[a(s(Ne))]),_:1}),t[20]||(t[20]=p("待接诊",-1)),s(S)[1]?(_(),v(c,{key:0,value:s(S)[1],class:"tab-badge tab-badge-success"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"all"},{label:i(()=>[e("span",es,[a(o,null,{default:i(()=>[a(s(Ue))]),_:1}),t[21]||(t[21]=p("全部",-1))])]),_:1}),a(m,{name:"4"},{label:i(()=>[e("span",ss,[a(o,null,{default:i(()=>[a(s(kt))]),_:1}),t[22]||(t[22]=p("已过号",-1)),s(S)[4]?(_(),v(c,{key:0,value:s(S)[4],class:"tab-badge tab-badge-danger"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"2"},{label:i(()=>[e("span",as,[a(o,null,{default:i(()=>[a(s(Dt))]),_:1}),t[23]||(t[23]=p("已取消",-1)),s(S)[2]?(_(),v(c,{key:0,value:s(S)[2],class:"tab-badge tab-badge-info"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"3"},{label:i(()=>[e("span",ls,[a(o,null,{default:i(()=>[a(s(Me))]),_:1}),t[24]||(t[24]=p("已完成",-1)),s(S)[3]?(_(),v(c,{key:0,value:s(S)[3],class:"tab-badge tab-badge-primary"},null,8,["value"])):f("",!0)])]),_:1})]),_:1},8,["modelValue"]),e("div",is,[a(h,{modelValue:s(r).patient_name,"onUpdate:modelValue":t[1]||(t[1]=n=>s(r).patient_name=n),placeholder:"患者姓名",clearable:"",size:"small",class:"action-input",onKeyup:Ve(ut,["enter"])},null,8,["modelValue"]),a(b,{type:"primary",size:"small",onClick:ut},{default:i(()=>[...t[25]||(t[25]=[p("查询",-1)])]),_:1}),a(L,{trigger:"click",onCommand:xt},{dropdown:i(()=>[a(j,null,{default:i(()=>[s(Pt)?(_(),v(P,{key:0,class:"dropdown-item-with-input",onClick:t[4]||(t[4]=yt(()=>{},["stop"]))},{default:i(()=>[t[27]||(t[27]=e("span",{class:"dropdown-label"},"医生",-1)),a(h,{modelValue:s(r).doctor_name,"onUpdate:modelValue":t[2]||(t[2]=n=>s(r).doctor_name=n),placeholder:"医生",size:"small",class:"dropdown-input",onClick:t[3]||(t[3]=yt(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})):f("",!0),a(P,{command:"customDate",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Vt))]),_:1}),t[28]||(t[28]=p(" 自定义日期 ",-1))]),_:1}),a(P,{command:"reset"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Be))]),_:1}),t[29]||(t[29]=p(" 重置 ",-1))]),_:1})]),_:1})]),default:i(()=>[a(b,{size:"small"},{default:i(()=>[t[26]||(t[26]=p("更多",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(Ct))]),_:1})]),_:1})]),_:1})])]),e("div",ns,[e("div",os,[t[36]||(t[36]=e("span",{class:"filter-label"},"日期",-1)),a(N,{modelValue:s(r).date_preset,"onUpdate:modelValue":t[5]||(t[5]=n=>s(r).date_preset=n),size:"small",onChange:Lt,class:"filter-radio"},{default:i(()=>[a(w,{value:"yesterday"},{default:i(()=>[...t[30]||(t[30]=[p("昨天挂号",-1)])]),_:1}),a(w,{value:"day_before"},{default:i(()=>[...t[31]||(t[31]=[p("前天挂号",-1)])]),_:1}),a(w,{value:"today"},{default:i(()=>[...t[32]||(t[32]=[p("当天挂号",-1)])]),_:1}),a(w,{value:"tomorrow"},{default:i(()=>[...t[33]||(t[33]=[p("明天挂号",-1)])]),_:1}),a(w,{value:"day_after"},{default:i(()=>[...t[34]||(t[34]=[p("后天挂号",-1)])]),_:1}),a(w,{value:""},{default:i(()=>[...t[35]||(t[35]=[p("不限",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",ds,[t[40]||(t[40]=e("span",{class:"filter-label"},"确认诊单",-1)),a(N,{modelValue:s(r).diagnosis_confirmed,"onUpdate:modelValue":t[6]||(t[6]=n=>s(r).diagnosis_confirmed=n),size:"small",onChange:Rt,class:"filter-radio"},{default:i(()=>[a(w,{value:""},{default:i(()=>[...t[37]||(t[37]=[p("全部",-1)])]),_:1}),a(w,{value:"1"},{default:i(()=>[...t[38]||(t[38]=[p("已确认",-1)])]),_:1}),a(w,{value:"0"},{default:i(()=>[...t[39]||(t[39]=[p("未确认",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",rs,[t[41]||(t[41]=e("span",{class:"filter-label"},"部门",-1)),a(lt,{modelValue:s(r).assistant_dept_id,"onUpdate:modelValue":t[7]||(t[7]=n=>s(r).assistant_dept_id=n),data:s(K),class:"filter-dept-select",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",size:"small",props:It,placeholder:"选父级含子级",onChange:qt},null,8,["modelValue","data"])])]),a(M,{modelValue:s(x),"onUpdate:modelValue":t[11]||(t[11]=n=>z(x)?x.value=n:null),title:"自定义日期",width:"400px","append-to-body":"","close-on-click-modal":!0},{footer:i(()=>[a(b,{onClick:t[10]||(t[10]=n=>x.value=!1)},{default:i(()=>[...t[42]||(t[42]=[p("取消",-1)])]),_:1}),a(b,{type:"primary",onClick:At},{default:i(()=>[...t[43]||(t[43]=[p("确定",-1)])]),_:1})]),default:i(()=>[a(U,{startTime:s(r).start_date,"onUpdate:startTime":t[8]||(t[8]=n=>s(r).start_date=n),endTime:s(r).end_date,"onUpdate:endTime":t[9]||(t[9]=n=>s(r).end_date=n)},null,8,["startTime","endTime"])]),_:1},8,["modelValue"]),e("div",ps,[I((_(),v(Xt,{data:s(V).lists,size:"default",class:"appointment-table"},{default:i(()=>[a(E,{label:"ID",prop:"id",width:"72",align:"center"}),a(E,{label:"患者信息","min-width":"140"},{default:i(({row:n})=>[e("div",us,[e("div",ms,[e("div",_s,u(n.patient_name),1),e("div",cs,u(ht(n.patient_phone)),1),e("div",fs,u([n.gender===1?"男":n.gender===0?"女":"",n.age!=null?n.age+"岁":"",n.height!=null?n.height+"cm":"",n.weight!=null?n.weight+"kg":""].filter(Boolean).join(" ")||"-"),1)])])]),_:1}),a(E,{label:"医生",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),a(E,{label:"预约时间","min-width":"120"},{default:i(({row:n})=>[e("div",gs,[e("div",vs,u(n.appointment_date),1),e("div",ys,u(n.appointment_time),1)])]),_:1}),a(E,{label:"助理",prop:"assistant_name",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[p(u(n.assistant_name||"—"),1)]),_:1}),a(E,{label:"确认诊单",width:"90",align:"center"},{default:i(({row:n})=>[n.diagnosis_confirmed?(_(),v(C,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[44]||(t[44]=[p("已确认",-1)])]),_:1})):(_(),v(C,{key:1,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[45]||(t[45]=[p("未确认",-1)])]),_:1}))]),_:1}),a(E,{label:"开方",width:"120",align:"center"},{default:i(({row:n})=>[e("div",bs,[n.has_prescription?(_(),v(C,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[46]||(t[46]=[p("已开方",-1)])]),_:1})):(_(),v(C,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[47]||(t[47]=[p("未开方",-1)])]),_:1})),n.has_prescription&&n.prescription_is_system_auto===1?(_(),v(C,{key:2,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[48]||(t[48]=[p(" 系统代开 ",-1)])]),_:1})):f("",!0)])]),_:1}),a(E,{label:"状态",width:"90",align:"center"},{default:i(({row:n})=>[a(C,{type:n.status===1?"success":n.status===2?"info":n.status===3?"primary":"danger",size:"small",effect:"light",round:""},{default:i(()=>[p(u(n.status_desc),1)]),_:2},1032,["type"])]),_:1}),a(E,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),a(E,{label:"操作",width:"380",fixed:"right",align:"left"},{default:i(({row:n})=>[e("div",ks,[I((_(),v(b,{type:"primary",link:"",size:"small",onClick:B=>Ht(n)},{default:i(()=>[...t[49]||(t[49]=[p(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[$,["tcm.diagnosis/edit"]]]),n.status!==3?(_(),k(Ke,{key:0},[I((_(),v(b,{type:"warning",link:"",size:"small",onClick:B=>st(n),class:"action-qrcode"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Oe))]),_:1}),t[50]||(t[50]=p(" 视频二维码 ",-1))]),_:1},8,["onClick"])),[[$,["tcm.diagnosis/videoQr"]]]),I((_(),v(b,{type:"primary",link:"",size:"small",onClick:B=>ft(n)},{default:i(()=>[...t[51]||(t[51]=[p(" 通话 ",-1)])]),_:1},8,["onClick"])),[[$,["doctor.appointment/prescription"]]]),I((_(),v(b,{type:"success",link:"",size:"small",onClick:B=>_t(n)},{default:i(()=>[...t[52]||(t[52]=[p(" 完成 ",-1)])]),_:1},8,["onClick"])),[[$,["doctor.appointment/complete"]]])],64)):f("",!0),I((_(),v(b,{type:"primary",link:"",size:"small",onClick:B=>gt(n)},{default:i(()=>[p(u(Kt(n)),1)]),_:2},1032,["onClick"])),[[$,["tcm.diagnosis/kaifang"]]]),a(L,{trigger:"click",onCommand:B=>Qt(B,n),placement:"bottom-end"},{dropdown:i(()=>[a(j,null,{default:i(()=>[I((_(),v(P,{command:"viewCase"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(nt))]),_:1}),t[54]||(t[54]=p(" 病历 ",-1))]),_:1})),[[$,["tcm.diagnosis/kaifang"]]]),n.status===1?I((_(),v(P,{key:0,command:"cancel",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Dt))]),_:1}),t[55]||(t[55]=e("span",{class:"text-danger"},"取消挂号",-1))]),_:1})),[[$,["doctor.appointment/cancel"]]]):f("",!0)]),_:2},1024)]),default:i(()=>[a(b,{type:"info",link:"",size:"small"},{default:i(()=>[t[53]||(t[53]=p(" 更多 ",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(Ct))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[se,s(V).loading]]),e("div",Ds,[a(te,{modelValue:s(V),"onUpdate:modelValue":t[12]||(t[12]=n=>z(V)?V.value=n:null),onChange:s(pt)},null,8,["modelValue","onChange"])])])]),_:1}),a(M,{modelValue:s(Z),"onUpdate:modelValue":t[13]||(t[13]=n=>z(Z)?Z.value=n:null),title:"挂号详情",width:"720px",class:"detail-dialog","destroy-on-close":""},{default:i(()=>[s(d)?(_(),k("div",Cs,[e("div",Vs,[e("div",ws,[a(o,null,{default:i(()=>[a(s(Vt))]),_:1}),t[56]||(t[56]=p(" 预约信息 ",-1))]),e("div",Es,[e("div",Ss,[t[57]||(t[57]=e("span",{class:"detail-label"},"挂号ID",-1)),e("span",Ts,u(s(d).id),1)]),e("div",hs,[t[58]||(t[58]=e("span",{class:"detail-label"},"状态",-1)),a(C,{type:s(d).status===1?"success":s(d).status===2?"info":s(d).status===3?"primary":"danger",size:"small",effect:"light"},{default:i(()=>[p(u(s(d).status_desc),1)]),_:1},8,["type"])]),e("div",Ps,[t[59]||(t[59]=e("span",{class:"detail-label"},"医生",-1)),e("span",Is,u(s(d).doctor_name),1)]),e("div",$s,[t[60]||(t[60]=e("span",{class:"detail-label"},"预约时间",-1)),e("span",zs,u(s(d).appointment_date)+" "+u(s(d).appointment_time),1)]),e("div",xs,[t[61]||(t[61]=e("span",{class:"detail-label"},"时段",-1)),e("span",As,u(s(d).period==="morning"?"上午":"下午"),1)]),e("div",Rs,[t[62]||(t[62]=e("span",{class:"detail-label"},"预约类型",-1)),e("span",qs,u(s(d).appointment_type_desc),1)])])]),e("div",Ls,[e("div",Ns,[a(o,null,{default:i(()=>[a(s(We))]),_:1}),t[63]||(t[63]=p(" 患者信息 ",-1))]),e("div",Us,[e("div",Ms,[t[64]||(t[64]=e("span",{class:"detail-label"},"姓名",-1)),e("span",Bs,u(s(d).patient_name||"-"),1)]),e("div",Os,[t[65]||(t[65]=e("span",{class:"detail-label"},"手机号",-1)),e("span",Ws,u(s(d).phone||s(d).patient_phone||"-"),1)]),e("div",Fs,[t[66]||(t[66]=e("span",{class:"detail-label"},"身份证号",-1)),e("span",Qs,u(s(d).id_card||"-"),1)]),e("div",Ys,[t[67]||(t[67]=e("span",{class:"detail-label"},"性别",-1)),e("span",Gs,u(s(d).gender===1?"男":s(d).gender===0?"女":"-"),1)]),e("div",Hs,[t[68]||(t[68]=e("span",{class:"detail-label"},"年龄",-1)),e("span",js,u(s(d).age!=null?s(d).age+"岁":"-"),1)]),e("div",Ks,[t[69]||(t[69]=e("span",{class:"detail-label"},"诊断日期",-1)),e("span",Zs,u(s(d).diagnosis_date||"-"),1)]),e("div",Js,[t[70]||(t[70]=e("span",{class:"detail-label"},"婚姻状态",-1)),e("span",Xs,u(s(d).marital_status===0?"未婚":s(d).marital_status===1?"已婚":s(d).marital_status===2?"离异":"-"),1)]),e("div",ta,[t[71]||(t[71]=e("span",{class:"detail-label"},"身高(cm)",-1)),e("span",ea,u(s(d).height??"-"),1)]),e("div",sa,[t[72]||(t[72]=e("span",{class:"detail-label"},"体重(kg)",-1)),e("span",aa,u(s(d).weight??"-"),1)]),e("div",la,[t[73]||(t[73]=e("span",{class:"detail-label"},"地区",-1)),e("span",ia,u(s(d).region||"-"),1)]),e("div",na,[t[74]||(t[74]=e("span",{class:"detail-label"},"收缩压(mmHg)",-1)),e("span",oa,u(s(d).systolic_pressure??"-"),1)]),e("div",da,[t[75]||(t[75]=e("span",{class:"detail-label"},"舒张压(mmHg)",-1)),e("span",ra,u(s(d).diastolic_pressure??"-"),1)]),e("div",pa,[t[76]||(t[76]=e("span",{class:"detail-label"},"空腹血糖(mmol/L)",-1)),e("span",ua,u(s(d).fasting_blood_sugar??"-"),1)]),e("div",ma,[t[77]||(t[77]=e("span",{class:"detail-label"},"诊断类型",-1)),e("span",_a,u(F(s(Ut),s(d).diagnosis_type)||"-"),1)]),e("div",ca,[t[78]||(t[78]=e("span",{class:"detail-label"},"证型",-1)),e("span",fa,u(F(s(Mt),s(d).syndrome_type)||"-"),1)]),e("div",ga,[t[79]||(t[79]=e("span",{class:"detail-label"},"糖尿病期数",-1)),e("span",va,u(F(s(Bt),s(d).diabetes_type)||"-"),1)])])]),s(d).symptoms||s(d).local_hospital_name||s(d).past_history&&s(d).past_history.length?(_(),k("div",ya,[e("div",ba,[a(o,null,{default:i(()=>[a(s(nt))]),_:1}),t[80]||(t[80]=p(" 病史信息 ",-1))]),e("div",ka,[s(Re)(s(d).diabetes_discovery_year)?(_(),k("div",Da,[t[81]||(t[81]=e("span",{class:"detail-label"},"发现糖尿病病史",-1)),e("span",Ca,u(s(qe)(s(d).diabetes_discovery_year)),1)])):f("",!0),s(d).local_hospital_name?(_(),k("div",Va,[t[82]||(t[82]=e("span",{class:"detail-label"},"当地就诊医院",-1)),e("span",wa,u(s(d).local_hospital_name),1)])):f("",!0),s(d).symptoms?(_(),k("div",Ea,[t[83]||(t[83]=e("span",{class:"detail-label"},"症状补充",-1)),e("span",Sa,u(s(d).symptoms),1)])):f("",!0),s(d).past_history&&s(d).past_history.length?(_(),k("div",Ta,[t[84]||(t[84]=e("span",{class:"detail-label"},"既往史",-1)),e("span",ha,u(Wt(s(d).past_history)),1)])):f("",!0)])])):f("",!0),s(d).tongue_coating||s(d).pulse||s(d).treatment_principle||s(d).prescription?(_(),k("div",Pa,[e("div",Ia,[a(o,null,{default:i(()=>[a(s(nt))]),_:1}),t[85]||(t[85]=p(" 诊断信息 ",-1))]),e("div",$a,[s(d).tongue_coating?(_(),k("div",za,[t[86]||(t[86]=e("span",{class:"detail-label"},"舌苔",-1)),e("span",xa,u(s(d).tongue_coating),1)])):f("",!0),s(d).pulse?(_(),k("div",Aa,[t[87]||(t[87]=e("span",{class:"detail-label"},"脉象",-1)),e("span",Ra,u(s(d).pulse),1)])):f("",!0),s(d).treatment_principle?(_(),k("div",qa,[t[88]||(t[88]=e("span",{class:"detail-label"},"治则",-1)),e("span",La,u(s(d).treatment_principle),1)])):f("",!0),s(d).prescription?(_(),k("div",Na,[t[89]||(t[89]=e("span",{class:"detail-label"},"处方",-1)),e("span",Ua,u(s(d).prescription),1)])):f("",!0)])])):f("",!0),e("div",Ma,[t[90]||(t[90]=e("div",{class:"detail-section-title"},"备注",-1)),e("p",Ba,u(s(d).remark||"无"),1)])])):f("",!0)]),_:1},8,["modelValue"]),a(s(wt),{ref_key:"editRef",ref:J,onSuccess:t[14]||(t[14]=()=>D({silent:!0}))},null,512),a(s(Et),{ref_key:"prescriptionRef",ref:X,onSuccess:jt},null,512),a(s(St),{ref_key:"chatDialogRef",ref:mt},null,512),a(M,{modelValue:s(q),"onUpdate:modelValue":t[16]||(t[16]=n=>z(q)?q.value=n:null),title:"小程序二维码",width:"380px","close-on-click-modal":!1,class:"qrcode-dialog"},{footer:i(()=>[a(b,{onClick:t[15]||(t[15]=n=>q.value=!1)},{default:i(()=>[...t[95]||(t[95]=[p("关闭",-1)])]),_:1}),s(Y)?f("",!0):(_(),v(b,{key:0,type:"primary",onClick:Jt},{default:i(()=>[...t[96]||(t[96]=[p(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[e("div",Oa,[s(Y)?(_(),k("div",Wa,[a(o,{class:"is-loading",size:48},{default:i(()=>[a(s(Fe))]),_:1}),t[91]||(t[91]=e("div",{class:"qrcode-loading-text"},"生成中...",-1))])):s(G)?(_(),k("div",Fa,[e("div",Qa,[e("img",{src:s(G),alt:"小程序二维码",class:"qrcode-image"},null,8,Ya)]),e("div",Ga,[e("div",Ha,"患者:"+u((n=s(H))==null?void 0:n.patient_name),1),t[92]||(t[92]=e("div",{class:"qrcode-tip"},"请使用微信扫描二维码",-1)),t[93]||(t[93]=e("div",{class:"qrcode-path"},"pages/login/login",-1))])])):(_(),k("div",ja,[a(o,{size:40},{default:i(()=>[a(s(kt))]),_:1}),t[94]||(t[94]=e("div",null,"生成失败,请重试",-1))]))])]}),_:1},8,["modelValue"]),a(M,{modelValue:s(A),"onUpdate:modelValue":t[19]||(t[19]=n=>z(A)?A.value=n:null),title:"完成问诊",width:"420px","append-to-body":"","close-on-click-modal":!1,"destroy-on-close":""},{footer:i(()=>[a(b,{onClick:t[18]||(t[18]=n=>A.value=!1)},{default:i(()=>[...t[98]||(t[98]=[p("取消",-1)])]),_:1}),a(b,{type:"primary",loading:s(Q),onClick:Gt},{default:i(()=>[...t[99]||(t[99]=[p("确认完成",-1)])]),_:1},8,["loading"])]),default:i(()=>[e("div",Ka,[t[97]||(t[97]=e("p",{class:"complete-dialog-tip"},"是否添加医生备注?",-1)),s(et)?(_(),v(h,{key:0,modelValue:s(R),"onUpdate:modelValue":t[17]||(t[17]=n=>z(R)?R.value=n:null),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):f("",!0)])]),_:1},8,["modelValue"])])}}}),Gl=ze(Ja,[["__scopeId","data-v-525f0117"]]);export{Gl as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-Cf-SlqzS.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BdeDEJMM.css"])))=>i.map(i=>d[i]); +import{_ as it}from"./jspdf-BsthCvR5.js";import{m as ae,l as le,d as ie,Y as ne,C as oe,i as de,p as re,n as pe,o as ue,G as me,F as _e,Z as ce,W as fe,N as ge,O as ve,U as ye,M as be,K as ke}from"./element-plus-DGP1XOrU.js";import{_ as De}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as Ce}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as Ve,s as yt}from"./@vue/runtime-dom-DDAG46FW.js";import{u as we}from"./usePaging-DofycyjW.js";import{a as Ee,m as Se,l as bt}from"./doctor-BZKBQu9t.js";import{d as Te}from"./department-DdhKHNS-.js";import{Y as he,W as Pe,a9 as Ie}from"./tcm-D-ZRccbe.js";import{u as $e,k as y,_ as ze}from"./index-J_eFER10.js";import{a as xe}from"./patient-L-xV50Pi.js";import{h as Ae}from"./perm-8cp9D7Ag.js";import{i as Re,f as qe}from"./diabetes-discovery-display-B_wmGXQJ.js";import{g as Le}from"./weapp-CBd1nTel.js";import{j as Ne,at as Ue,ao as kt,b as Dt,d as Me,e as Ct,k as Vt,x as Be,P as Oe,G as nt,Z as We,l as Fe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Qe,w as Ye,b as Ge,d as He,as as je,ak as _,I as k,a,aN as i,J as e,O as p,G as v,H as f,aP as I,F as Ke,P as ot,A as dt}from"./@vue/runtime-core-C6bnekPw.js";import{a as z,y as s,r as Ze,n as g}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Je={class:"appointment-list"},Xe={class:"list-toolbar"},ts={class:"tab-label tab-priority"},es={class:"tab-label"},ss={class:"tab-label"},as={class:"tab-label"},ls={class:"tab-label"},is={class:"toolbar-actions"},ns={class:"filter-bar"},os={class:"filter-group"},ds={class:"filter-group"},rs={class:"filter-group"},ps={class:"table-wrap"},us={class:"patient-cell"},ms={class:"patient-info"},_s={class:"patient-name"},cs={class:"patient-phone"},fs={class:"patient-extra"},gs={class:"datetime-cell"},vs={class:"date-text"},ys={class:"time-text"},bs={class:"prescription-tags"},ks={class:"action-btns"},Ds={class:"flex justify-end py-4 px-4"},Cs={key:0,class:"detail-content"},Vs={class:"detail-section"},ws={class:"detail-section-title"},Es={class:"detail-grid"},Ss={class:"detail-item"},Ts={class:"detail-value"},hs={class:"detail-item"},Ps={class:"detail-item"},Is={class:"detail-value"},$s={class:"detail-item"},zs={class:"detail-value"},xs={class:"detail-item"},As={class:"detail-value"},Rs={class:"detail-item"},qs={class:"detail-value"},Ls={class:"detail-section"},Ns={class:"detail-section-title"},Us={class:"detail-grid"},Ms={class:"detail-item"},Bs={class:"detail-value"},Os={class:"detail-item"},Ws={class:"detail-value"},Fs={class:"detail-item"},Qs={class:"detail-value"},Ys={class:"detail-item"},Gs={class:"detail-value"},Hs={class:"detail-item"},js={class:"detail-value"},Ks={class:"detail-item"},Zs={class:"detail-value"},Js={class:"detail-item"},Xs={class:"detail-value"},ta={class:"detail-item"},ea={class:"detail-value"},sa={class:"detail-item"},aa={class:"detail-value"},la={class:"detail-item"},ia={class:"detail-value"},na={class:"detail-item"},oa={class:"detail-value"},da={class:"detail-item"},ra={class:"detail-value"},pa={class:"detail-item"},ua={class:"detail-value"},ma={class:"detail-item"},_a={class:"detail-value"},ca={class:"detail-item"},fa={class:"detail-value"},ga={class:"detail-item"},va={class:"detail-value"},ya={key:0,class:"detail-section"},ba={class:"detail-section-title"},ka={class:"detail-grid"},Da={key:0,class:"detail-item"},Ca={class:"detail-value"},Va={key:1,class:"detail-item"},wa={class:"detail-value"},Ea={key:2,class:"detail-item detail-item-full"},Sa={class:"detail-value"},Ta={key:3,class:"detail-item detail-item-full"},ha={class:"detail-value"},Pa={key:1,class:"detail-section"},Ia={class:"detail-section-title"},$a={class:"detail-grid"},za={key:0,class:"detail-item"},xa={class:"detail-value"},Aa={key:1,class:"detail-item"},Ra={class:"detail-value"},qa={key:2,class:"detail-item detail-item-full"},La={class:"detail-value"},Na={key:3,class:"detail-item detail-item-full"},Ua={class:"detail-value"},Ma={class:"detail-section"},Ba={class:"detail-remark"},Oa={class:"qrcode-content"},Wa={key:0,class:"qrcode-loading"},Fa={key:1,class:"qrcode-success"},Qa={class:"qrcode-image-wrap"},Ya=["src"],Ga={class:"qrcode-info"},Ha={class:"qrcode-patient"},ja={key:2,class:"qrcode-error"},Ka={class:"complete-dialog"},Za=2e4,Ja=Qe({__name:"list",setup(Xa){const wt=ot(()=>it(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),Et=ot(()=>it(()=>import("./index-ns6fHpFi.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,96,97,15,98,99,100,101]))),St=ot(()=>it(()=>import("./index-Cf-SlqzS.js"),__vite__mapDeps([104,1,2,3,4,5,6,7,8,9,10,11,12,13,14,53,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,86,15,105,106,107,108,109,110,111,112,113,58,59,60,114,115,116,117,118,78,119,120,121]))),rt=$e(),Tt=dt(()=>rt.userInfo),ht=l=>!l||l.length<11?l:l.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Pt=dt(()=>{const l=Tt.value.role_id;return Array.isArray(l)?!l.includes(1)&&!l.includes(2):l!==1&&l!==2}),r=Ze({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:"today",diagnosis_confirmed:"",assistant_dept_id:"",include_status_counts:0}),K=g([]),It={value:"id",label:"name",children:"children"},O=g("1"),x=g(!1),S=g({1:0,2:0,3:0,4:0}),{pager:V,getLists:pt,resetPage:$t}=we({fetchFun:Ee,params:r,firstLoading:!0});Ye(()=>[r.start_date,r.end_date],([l,t])=>{if(!r.date_preset)return;const o=new Date,c=C=>String(C).padStart(2,"0"),m=C=>`${C.getFullYear()}-${c(C.getMonth()+1)}-${c(C.getDate())}`,T=m(o),h=new Date(o);h.setDate(h.getDate()-1);const b=m(h),P=new Date(o);P.setDate(P.getDate()-2);const j=m(P),L=new Date(o);L.setDate(L.getDate()+1);const w=m(L),N=new Date(o);N.setDate(N.getDate()+2);const lt=m(N),U=r.date_preset,M=U==="yesterday"?b:U==="day_before"?j:U==="today"?T:U==="tomorrow"?w:lt;(l||"").split(" ")[0]!==M&&(r.date_preset="")});const zt=l=>{l==="all"?r.status="":r.status=Number(l),$t()};let W=null;const D=async l=>{const t=(l==null?void 0:l.silent)===!0;r.include_status_counts=1;try{await pt({silent:t});const o=V.extend,c=o==null?void 0:o.status_count;if(c)for(const m of[1,2,3,4]){const T=c[m]??c[String(m)];typeof T=="number"&&(S.value[m]=T)}}catch(o){if(!t)throw o}finally{r.include_status_counts=0}},xt=l=>{l==="customDate"?x.value=!0:l==="reset"&&Nt()},At=()=>{r.date_preset="",x.value=!1,V.page=1,D()},Rt=()=>{V.page=1,D()},qt=()=>{V.page=1,D()},Lt=l=>{const t=String(l||"");if(!t){r.date_preset="",r.start_date="",r.end_date="",D();return}const o=new Date,c=h=>String(h).padStart(2,"0");let m;t==="yesterday"?(m=new Date(o),m.setDate(m.getDate()-1)):t==="day_before"?(m=new Date(o),m.setDate(m.getDate()-2)):t==="today"?m=o:t==="tomorrow"?(m=new Date(o),m.setDate(m.getDate()+1)):(m=new Date(o),m.setDate(m.getDate()+2));const T=`${m.getFullYear()}-${c(m.getMonth()+1)}-${c(m.getDate())}`;r.date_preset=t,r.start_date=T,r.end_date=T,V.page=1,D()},ut=()=>{V.page=1,D()},Nt=()=>{O.value="1",r.patient_name="",r.doctor_name="",r.date_preset="today",r.diagnosis_confirmed="",r.assistant_dept_id="";const l=new Date,t=o=>String(o).padStart(2,"0");r.start_date=`${l.getFullYear()}-${t(l.getMonth()+1)}-${t(l.getDate())}`,r.end_date=r.start_date,r.status=1,V.page=1,D()},Z=g(!1),d=g(null),Ut=g([]),Mt=g([]),Bt=g([]),Ot=g([]),F=(l,t)=>{if(!t)return"-";const o=l.find(c=>c.value===t);return o?o.name:t},Wt=l=>(Array.isArray(l)?l:typeof l=="string"?l.split(/[,,、]/):[]).map(o=>F(Ot.value,o.trim())).filter(Boolean).join("、")||"-",J=g(),X=g(),mt=g(),Ft=["doctor.appointment/addDoctorNote"],A=g(!1),Q=g(!1),R=g(""),tt=g(null),et=dt(()=>Ae(Ft)),q=g(!1),Y=g(!1),G=g(""),H=g(null),Qt=(l,t)=>{switch(l){case"edit":ct(t);break;case"viewCase":Zt(t);break;case"complete":_t(t);break;case"chat":ft(t);break;case"qrcode":st(t);break;case"prescription":gt(t);break;case"cancel":Yt(t);break}},Yt=async l=>{try{await y.confirm("确定要取消该挂号吗?"),await Se({id:l.id}),y.msgSuccess("取消成功"),D()}catch{}},_t=async l=>{if(tt.value=l,R.value="",et.value){A.value=!0;return}try{await y.confirm("是否添加医生备注?"),await bt({id:l.id}),y.msgSuccess("操作成功"),D()}catch{}},Gt=async()=>{const l=tt.value;if(!(!(l!=null&&l.id)||Q.value)){Q.value=!0;try{const t=R.value.trim();await bt({id:l.id});let o="";if(et.value&&t){const c=l.patient_id||l.diagnosis_id;if(c)try{await xe({diagnosis_id:Number(c),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?y.msgWarning(o):y.msgSuccess("操作成功"),A.value=!1,R.value="",tt.value=null,D()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{Q.value=!1}}},ct=l=>{var t;if(!l.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=J.value)==null||t.open("edit",l.patient_id)},Ht=l=>{ct(l)},ft=async l=>{var c;const t=Number(l.source_patient_id||0),o=Number(l.diagnosis_id||0);if(!t){y.msgWarning("患者信息不完整");return}if(!o){y.msgWarning("预约信息不完整,无法发起聊天");return}try{const m=await he({patient_id:t,diagnosis_id:o});console.log("获取聊天签名成功:",m),(c=mt.value)==null||c.open({patientId:t,patientName:l.patient_name,diagnosisId:o,signatureData:m})}catch(m){console.error("获取聊天签名失败:",m),y.msgError(m.message||"获取聊天签名失败")}},st=async l=>{if(!l.patient_id){y.msgWarning("患者信息不完整");return}H.value=l,q.value=!0,Y.value=!0,G.value="";try{const t=await Le();if(!(t!=null&&t.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),q.value=!1;return}const o=rt.userInfo,c=await Pe({doctor_id:l.doctor_id||"",patient_id:l.patient_id,share_user_id:(o==null?void 0:o.id)||"",mini_program_path:"pages/login/login"});c!=null&&c.qrcode_url?G.value=c.qrcode_url:y.msgError("二维码生成失败")}catch(t){console.error("生成小程序二维码失败:",t),y.msgError((t==null?void 0:t.msg)||"生成二维码失败,请重试")}finally{Y.value=!1}},jt=()=>{var l,t;D(),(t=(l=J.value)==null?void 0:l.refreshCaseList)==null||t.call(l)};function Kt(l){return(l==null?void 0:l.prescription_audit_status)===1&&Number(l==null?void 0:l.prescription_void_status)!==1?"查看":"开方"}const gt=l=>{var t;if(!l.diagnosis_id&&!l.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=X.value)==null||t.open(l)},Zt=async l=>{var t;if(!l.id){y.msgWarning("预约信息不完整");return}try{const o=await Ie({appointment_id:l.id});o!=null&&o.id?(t=X.value)==null||t.openById(o.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(o){y.msgError((o==null?void 0:o.msg)||"获取病历失败")}},Jt=()=>{H.value&&st(H.value)},at=new Date,vt=l=>String(l).padStart(2,"0");return r.start_date=`${at.getFullYear()}-${vt(at.getMonth()+1)}-${vt(at.getDate())}`,r.end_date=r.start_date,r.status=1,Ge(async()=>{try{const l=await Te();K.value=Array.isArray(l)?l:[]}catch{K.value=[]}D(),W=setInterval(()=>{D({silent:!0})},Za)}),He(()=>{W!==null&&(clearInterval(W),W=null)}),(l,t)=>{const o=ie,c=ne,m=le,T=ae,h=oe,b=de,P=ue,j=pe,L=re,w=_e,N=me,lt=ce,U=Ce,M=fe,E=ve,C=ye,Xt=ge,te=De,ee=ke,$=je("perms"),se=be;return _(),k("div",Je,[a(ee,{class:"list-card !border-none",shadow:"never"},{default:i(()=>[e("div",Xe,[a(T,{modelValue:s(O),"onUpdate:modelValue":t[0]||(t[0]=n=>z(O)?O.value=n:null),onTabChange:zt,class:"list-tabs"},{default:i(()=>[a(m,{name:"1"},{label:i(()=>[e("span",ts,[a(o,null,{default:i(()=>[a(s(Ne))]),_:1}),t[20]||(t[20]=p("待接诊",-1)),s(S)[1]?(_(),v(c,{key:0,value:s(S)[1],class:"tab-badge tab-badge-success"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"all"},{label:i(()=>[e("span",es,[a(o,null,{default:i(()=>[a(s(Ue))]),_:1}),t[21]||(t[21]=p("全部",-1))])]),_:1}),a(m,{name:"4"},{label:i(()=>[e("span",ss,[a(o,null,{default:i(()=>[a(s(kt))]),_:1}),t[22]||(t[22]=p("已过号",-1)),s(S)[4]?(_(),v(c,{key:0,value:s(S)[4],class:"tab-badge tab-badge-danger"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"2"},{label:i(()=>[e("span",as,[a(o,null,{default:i(()=>[a(s(Dt))]),_:1}),t[23]||(t[23]=p("已取消",-1)),s(S)[2]?(_(),v(c,{key:0,value:s(S)[2],class:"tab-badge tab-badge-info"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"3"},{label:i(()=>[e("span",ls,[a(o,null,{default:i(()=>[a(s(Me))]),_:1}),t[24]||(t[24]=p("已完成",-1)),s(S)[3]?(_(),v(c,{key:0,value:s(S)[3],class:"tab-badge tab-badge-primary"},null,8,["value"])):f("",!0)])]),_:1})]),_:1},8,["modelValue"]),e("div",is,[a(h,{modelValue:s(r).patient_name,"onUpdate:modelValue":t[1]||(t[1]=n=>s(r).patient_name=n),placeholder:"患者姓名",clearable:"",size:"small",class:"action-input",onKeyup:Ve(ut,["enter"])},null,8,["modelValue"]),a(b,{type:"primary",size:"small",onClick:ut},{default:i(()=>[...t[25]||(t[25]=[p("查询",-1)])]),_:1}),a(L,{trigger:"click",onCommand:xt},{dropdown:i(()=>[a(j,null,{default:i(()=>[s(Pt)?(_(),v(P,{key:0,class:"dropdown-item-with-input",onClick:t[4]||(t[4]=yt(()=>{},["stop"]))},{default:i(()=>[t[27]||(t[27]=e("span",{class:"dropdown-label"},"医生",-1)),a(h,{modelValue:s(r).doctor_name,"onUpdate:modelValue":t[2]||(t[2]=n=>s(r).doctor_name=n),placeholder:"医生",size:"small",class:"dropdown-input",onClick:t[3]||(t[3]=yt(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})):f("",!0),a(P,{command:"customDate",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Vt))]),_:1}),t[28]||(t[28]=p(" 自定义日期 ",-1))]),_:1}),a(P,{command:"reset"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Be))]),_:1}),t[29]||(t[29]=p(" 重置 ",-1))]),_:1})]),_:1})]),default:i(()=>[a(b,{size:"small"},{default:i(()=>[t[26]||(t[26]=p("更多",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(Ct))]),_:1})]),_:1})]),_:1})])]),e("div",ns,[e("div",os,[t[36]||(t[36]=e("span",{class:"filter-label"},"日期",-1)),a(N,{modelValue:s(r).date_preset,"onUpdate:modelValue":t[5]||(t[5]=n=>s(r).date_preset=n),size:"small",onChange:Lt,class:"filter-radio"},{default:i(()=>[a(w,{value:"yesterday"},{default:i(()=>[...t[30]||(t[30]=[p("昨天挂号",-1)])]),_:1}),a(w,{value:"day_before"},{default:i(()=>[...t[31]||(t[31]=[p("前天挂号",-1)])]),_:1}),a(w,{value:"today"},{default:i(()=>[...t[32]||(t[32]=[p("当天挂号",-1)])]),_:1}),a(w,{value:"tomorrow"},{default:i(()=>[...t[33]||(t[33]=[p("明天挂号",-1)])]),_:1}),a(w,{value:"day_after"},{default:i(()=>[...t[34]||(t[34]=[p("后天挂号",-1)])]),_:1}),a(w,{value:""},{default:i(()=>[...t[35]||(t[35]=[p("不限",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",ds,[t[40]||(t[40]=e("span",{class:"filter-label"},"确认诊单",-1)),a(N,{modelValue:s(r).diagnosis_confirmed,"onUpdate:modelValue":t[6]||(t[6]=n=>s(r).diagnosis_confirmed=n),size:"small",onChange:Rt,class:"filter-radio"},{default:i(()=>[a(w,{value:""},{default:i(()=>[...t[37]||(t[37]=[p("全部",-1)])]),_:1}),a(w,{value:"1"},{default:i(()=>[...t[38]||(t[38]=[p("已确认",-1)])]),_:1}),a(w,{value:"0"},{default:i(()=>[...t[39]||(t[39]=[p("未确认",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",rs,[t[41]||(t[41]=e("span",{class:"filter-label"},"部门",-1)),a(lt,{modelValue:s(r).assistant_dept_id,"onUpdate:modelValue":t[7]||(t[7]=n=>s(r).assistant_dept_id=n),data:s(K),class:"filter-dept-select",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",size:"small",props:It,placeholder:"选父级含子级",onChange:qt},null,8,["modelValue","data"])])]),a(M,{modelValue:s(x),"onUpdate:modelValue":t[11]||(t[11]=n=>z(x)?x.value=n:null),title:"自定义日期",width:"400px","append-to-body":"","close-on-click-modal":!0},{footer:i(()=>[a(b,{onClick:t[10]||(t[10]=n=>x.value=!1)},{default:i(()=>[...t[42]||(t[42]=[p("取消",-1)])]),_:1}),a(b,{type:"primary",onClick:At},{default:i(()=>[...t[43]||(t[43]=[p("确定",-1)])]),_:1})]),default:i(()=>[a(U,{startTime:s(r).start_date,"onUpdate:startTime":t[8]||(t[8]=n=>s(r).start_date=n),endTime:s(r).end_date,"onUpdate:endTime":t[9]||(t[9]=n=>s(r).end_date=n)},null,8,["startTime","endTime"])]),_:1},8,["modelValue"]),e("div",ps,[I((_(),v(Xt,{data:s(V).lists,size:"default",class:"appointment-table"},{default:i(()=>[a(E,{label:"ID",prop:"id",width:"72",align:"center"}),a(E,{label:"患者信息","min-width":"140"},{default:i(({row:n})=>[e("div",us,[e("div",ms,[e("div",_s,u(n.patient_name),1),e("div",cs,u(ht(n.patient_phone)),1),e("div",fs,u([n.gender===1?"男":n.gender===0?"女":"",n.age!=null?n.age+"岁":"",n.height!=null?n.height+"cm":"",n.weight!=null?n.weight+"kg":""].filter(Boolean).join(" ")||"-"),1)])])]),_:1}),a(E,{label:"医生",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),a(E,{label:"预约时间","min-width":"120"},{default:i(({row:n})=>[e("div",gs,[e("div",vs,u(n.appointment_date),1),e("div",ys,u(n.appointment_time),1)])]),_:1}),a(E,{label:"助理",prop:"assistant_name",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[p(u(n.assistant_name||"—"),1)]),_:1}),a(E,{label:"确认诊单",width:"90",align:"center"},{default:i(({row:n})=>[n.diagnosis_confirmed?(_(),v(C,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[44]||(t[44]=[p("已确认",-1)])]),_:1})):(_(),v(C,{key:1,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[45]||(t[45]=[p("未确认",-1)])]),_:1}))]),_:1}),a(E,{label:"开方",width:"120",align:"center"},{default:i(({row:n})=>[e("div",bs,[n.has_prescription?(_(),v(C,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[46]||(t[46]=[p("已开方",-1)])]),_:1})):(_(),v(C,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[47]||(t[47]=[p("未开方",-1)])]),_:1})),n.has_prescription&&n.prescription_is_system_auto===1?(_(),v(C,{key:2,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[48]||(t[48]=[p(" 系统代开 ",-1)])]),_:1})):f("",!0)])]),_:1}),a(E,{label:"状态",width:"90",align:"center"},{default:i(({row:n})=>[a(C,{type:n.status===1?"success":n.status===2?"info":n.status===3?"primary":"danger",size:"small",effect:"light",round:""},{default:i(()=>[p(u(n.status_desc),1)]),_:2},1032,["type"])]),_:1}),a(E,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),a(E,{label:"操作",width:"380",fixed:"right",align:"left"},{default:i(({row:n})=>[e("div",ks,[I((_(),v(b,{type:"primary",link:"",size:"small",onClick:B=>Ht(n)},{default:i(()=>[...t[49]||(t[49]=[p(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[$,["tcm.diagnosis/edit"]]]),n.status!==3?(_(),k(Ke,{key:0},[I((_(),v(b,{type:"warning",link:"",size:"small",onClick:B=>st(n),class:"action-qrcode"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Oe))]),_:1}),t[50]||(t[50]=p(" 视频二维码 ",-1))]),_:1},8,["onClick"])),[[$,["tcm.diagnosis/videoQr"]]]),I((_(),v(b,{type:"primary",link:"",size:"small",onClick:B=>ft(n)},{default:i(()=>[...t[51]||(t[51]=[p(" 通话 ",-1)])]),_:1},8,["onClick"])),[[$,["doctor.appointment/prescription"]]]),I((_(),v(b,{type:"success",link:"",size:"small",onClick:B=>_t(n)},{default:i(()=>[...t[52]||(t[52]=[p(" 完成 ",-1)])]),_:1},8,["onClick"])),[[$,["doctor.appointment/complete"]]])],64)):f("",!0),I((_(),v(b,{type:"primary",link:"",size:"small",onClick:B=>gt(n)},{default:i(()=>[p(u(Kt(n)),1)]),_:2},1032,["onClick"])),[[$,["tcm.diagnosis/kaifang"]]]),a(L,{trigger:"click",onCommand:B=>Qt(B,n),placement:"bottom-end"},{dropdown:i(()=>[a(j,null,{default:i(()=>[I((_(),v(P,{command:"viewCase"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(nt))]),_:1}),t[54]||(t[54]=p(" 病历 ",-1))]),_:1})),[[$,["tcm.diagnosis/kaifang"]]]),n.status===1?I((_(),v(P,{key:0,command:"cancel",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Dt))]),_:1}),t[55]||(t[55]=e("span",{class:"text-danger"},"取消挂号",-1))]),_:1})),[[$,["doctor.appointment/cancel"]]]):f("",!0)]),_:2},1024)]),default:i(()=>[a(b,{type:"info",link:"",size:"small"},{default:i(()=>[t[53]||(t[53]=p(" 更多 ",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(Ct))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[se,s(V).loading]]),e("div",Ds,[a(te,{modelValue:s(V),"onUpdate:modelValue":t[12]||(t[12]=n=>z(V)?V.value=n:null),onChange:s(pt)},null,8,["modelValue","onChange"])])])]),_:1}),a(M,{modelValue:s(Z),"onUpdate:modelValue":t[13]||(t[13]=n=>z(Z)?Z.value=n:null),title:"挂号详情",width:"720px",class:"detail-dialog","destroy-on-close":""},{default:i(()=>[s(d)?(_(),k("div",Cs,[e("div",Vs,[e("div",ws,[a(o,null,{default:i(()=>[a(s(Vt))]),_:1}),t[56]||(t[56]=p(" 预约信息 ",-1))]),e("div",Es,[e("div",Ss,[t[57]||(t[57]=e("span",{class:"detail-label"},"挂号ID",-1)),e("span",Ts,u(s(d).id),1)]),e("div",hs,[t[58]||(t[58]=e("span",{class:"detail-label"},"状态",-1)),a(C,{type:s(d).status===1?"success":s(d).status===2?"info":s(d).status===3?"primary":"danger",size:"small",effect:"light"},{default:i(()=>[p(u(s(d).status_desc),1)]),_:1},8,["type"])]),e("div",Ps,[t[59]||(t[59]=e("span",{class:"detail-label"},"医生",-1)),e("span",Is,u(s(d).doctor_name),1)]),e("div",$s,[t[60]||(t[60]=e("span",{class:"detail-label"},"预约时间",-1)),e("span",zs,u(s(d).appointment_date)+" "+u(s(d).appointment_time),1)]),e("div",xs,[t[61]||(t[61]=e("span",{class:"detail-label"},"时段",-1)),e("span",As,u(s(d).period==="morning"?"上午":"下午"),1)]),e("div",Rs,[t[62]||(t[62]=e("span",{class:"detail-label"},"预约类型",-1)),e("span",qs,u(s(d).appointment_type_desc),1)])])]),e("div",Ls,[e("div",Ns,[a(o,null,{default:i(()=>[a(s(We))]),_:1}),t[63]||(t[63]=p(" 患者信息 ",-1))]),e("div",Us,[e("div",Ms,[t[64]||(t[64]=e("span",{class:"detail-label"},"姓名",-1)),e("span",Bs,u(s(d).patient_name||"-"),1)]),e("div",Os,[t[65]||(t[65]=e("span",{class:"detail-label"},"手机号",-1)),e("span",Ws,u(s(d).phone||s(d).patient_phone||"-"),1)]),e("div",Fs,[t[66]||(t[66]=e("span",{class:"detail-label"},"身份证号",-1)),e("span",Qs,u(s(d).id_card||"-"),1)]),e("div",Ys,[t[67]||(t[67]=e("span",{class:"detail-label"},"性别",-1)),e("span",Gs,u(s(d).gender===1?"男":s(d).gender===0?"女":"-"),1)]),e("div",Hs,[t[68]||(t[68]=e("span",{class:"detail-label"},"年龄",-1)),e("span",js,u(s(d).age!=null?s(d).age+"岁":"-"),1)]),e("div",Ks,[t[69]||(t[69]=e("span",{class:"detail-label"},"诊断日期",-1)),e("span",Zs,u(s(d).diagnosis_date||"-"),1)]),e("div",Js,[t[70]||(t[70]=e("span",{class:"detail-label"},"婚姻状态",-1)),e("span",Xs,u(s(d).marital_status===0?"未婚":s(d).marital_status===1?"已婚":s(d).marital_status===2?"离异":"-"),1)]),e("div",ta,[t[71]||(t[71]=e("span",{class:"detail-label"},"身高(cm)",-1)),e("span",ea,u(s(d).height??"-"),1)]),e("div",sa,[t[72]||(t[72]=e("span",{class:"detail-label"},"体重(kg)",-1)),e("span",aa,u(s(d).weight??"-"),1)]),e("div",la,[t[73]||(t[73]=e("span",{class:"detail-label"},"地区",-1)),e("span",ia,u(s(d).region||"-"),1)]),e("div",na,[t[74]||(t[74]=e("span",{class:"detail-label"},"收缩压(mmHg)",-1)),e("span",oa,u(s(d).systolic_pressure??"-"),1)]),e("div",da,[t[75]||(t[75]=e("span",{class:"detail-label"},"舒张压(mmHg)",-1)),e("span",ra,u(s(d).diastolic_pressure??"-"),1)]),e("div",pa,[t[76]||(t[76]=e("span",{class:"detail-label"},"空腹血糖(mmol/L)",-1)),e("span",ua,u(s(d).fasting_blood_sugar??"-"),1)]),e("div",ma,[t[77]||(t[77]=e("span",{class:"detail-label"},"诊断类型",-1)),e("span",_a,u(F(s(Ut),s(d).diagnosis_type)||"-"),1)]),e("div",ca,[t[78]||(t[78]=e("span",{class:"detail-label"},"证型",-1)),e("span",fa,u(F(s(Mt),s(d).syndrome_type)||"-"),1)]),e("div",ga,[t[79]||(t[79]=e("span",{class:"detail-label"},"糖尿病期数",-1)),e("span",va,u(F(s(Bt),s(d).diabetes_type)||"-"),1)])])]),s(d).symptoms||s(d).local_hospital_name||s(d).past_history&&s(d).past_history.length?(_(),k("div",ya,[e("div",ba,[a(o,null,{default:i(()=>[a(s(nt))]),_:1}),t[80]||(t[80]=p(" 病史信息 ",-1))]),e("div",ka,[s(Re)(s(d).diabetes_discovery_year)?(_(),k("div",Da,[t[81]||(t[81]=e("span",{class:"detail-label"},"发现糖尿病病史",-1)),e("span",Ca,u(s(qe)(s(d).diabetes_discovery_year)),1)])):f("",!0),s(d).local_hospital_name?(_(),k("div",Va,[t[82]||(t[82]=e("span",{class:"detail-label"},"当地就诊医院",-1)),e("span",wa,u(s(d).local_hospital_name),1)])):f("",!0),s(d).symptoms?(_(),k("div",Ea,[t[83]||(t[83]=e("span",{class:"detail-label"},"症状补充",-1)),e("span",Sa,u(s(d).symptoms),1)])):f("",!0),s(d).past_history&&s(d).past_history.length?(_(),k("div",Ta,[t[84]||(t[84]=e("span",{class:"detail-label"},"既往史",-1)),e("span",ha,u(Wt(s(d).past_history)),1)])):f("",!0)])])):f("",!0),s(d).tongue_coating||s(d).pulse||s(d).treatment_principle||s(d).prescription?(_(),k("div",Pa,[e("div",Ia,[a(o,null,{default:i(()=>[a(s(nt))]),_:1}),t[85]||(t[85]=p(" 诊断信息 ",-1))]),e("div",$a,[s(d).tongue_coating?(_(),k("div",za,[t[86]||(t[86]=e("span",{class:"detail-label"},"舌苔",-1)),e("span",xa,u(s(d).tongue_coating),1)])):f("",!0),s(d).pulse?(_(),k("div",Aa,[t[87]||(t[87]=e("span",{class:"detail-label"},"脉象",-1)),e("span",Ra,u(s(d).pulse),1)])):f("",!0),s(d).treatment_principle?(_(),k("div",qa,[t[88]||(t[88]=e("span",{class:"detail-label"},"治则",-1)),e("span",La,u(s(d).treatment_principle),1)])):f("",!0),s(d).prescription?(_(),k("div",Na,[t[89]||(t[89]=e("span",{class:"detail-label"},"处方",-1)),e("span",Ua,u(s(d).prescription),1)])):f("",!0)])])):f("",!0),e("div",Ma,[t[90]||(t[90]=e("div",{class:"detail-section-title"},"备注",-1)),e("p",Ba,u(s(d).remark||"无"),1)])])):f("",!0)]),_:1},8,["modelValue"]),a(s(wt),{ref_key:"editRef",ref:J,onSuccess:t[14]||(t[14]=()=>D({silent:!0}))},null,512),a(s(Et),{ref_key:"prescriptionRef",ref:X,onSuccess:jt},null,512),a(s(St),{ref_key:"chatDialogRef",ref:mt},null,512),a(M,{modelValue:s(q),"onUpdate:modelValue":t[16]||(t[16]=n=>z(q)?q.value=n:null),title:"小程序二维码",width:"380px","close-on-click-modal":!1,class:"qrcode-dialog"},{footer:i(()=>[a(b,{onClick:t[15]||(t[15]=n=>q.value=!1)},{default:i(()=>[...t[95]||(t[95]=[p("关闭",-1)])]),_:1}),s(Y)?f("",!0):(_(),v(b,{key:0,type:"primary",onClick:Jt},{default:i(()=>[...t[96]||(t[96]=[p(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[e("div",Oa,[s(Y)?(_(),k("div",Wa,[a(o,{class:"is-loading",size:48},{default:i(()=>[a(s(Fe))]),_:1}),t[91]||(t[91]=e("div",{class:"qrcode-loading-text"},"生成中...",-1))])):s(G)?(_(),k("div",Fa,[e("div",Qa,[e("img",{src:s(G),alt:"小程序二维码",class:"qrcode-image"},null,8,Ya)]),e("div",Ga,[e("div",Ha,"患者:"+u((n=s(H))==null?void 0:n.patient_name),1),t[92]||(t[92]=e("div",{class:"qrcode-tip"},"请使用微信扫描二维码",-1)),t[93]||(t[93]=e("div",{class:"qrcode-path"},"pages/login/login",-1))])])):(_(),k("div",ja,[a(o,{size:40},{default:i(()=>[a(s(kt))]),_:1}),t[94]||(t[94]=e("div",null,"生成失败,请重试",-1))]))])]}),_:1},8,["modelValue"]),a(M,{modelValue:s(A),"onUpdate:modelValue":t[19]||(t[19]=n=>z(A)?A.value=n:null),title:"完成问诊",width:"420px","append-to-body":"","close-on-click-modal":!1,"destroy-on-close":""},{footer:i(()=>[a(b,{onClick:t[18]||(t[18]=n=>A.value=!1)},{default:i(()=>[...t[98]||(t[98]=[p("取消",-1)])]),_:1}),a(b,{type:"primary",loading:s(Q),onClick:Gt},{default:i(()=>[...t[99]||(t[99]=[p("确认完成",-1)])]),_:1},8,["loading"])]),default:i(()=>[e("div",Ka,[t[97]||(t[97]=e("p",{class:"complete-dialog-tip"},"是否添加医生备注?",-1)),s(et)?(_(),v(h,{key:0,modelValue:s(R),"onUpdate:modelValue":t[17]||(t[17]=n=>z(R)?R.value=n:null),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):f("",!0)])]),_:1},8,["modelValue"])])}}}),Gl=ze(Ja,[["__scopeId","data-v-525f0117"]]);export{Gl as default}; diff --git a/server/public/admin/assets/list-DyOdEEM6.js b/server/public/admin/assets/list-CMCIptz5.js similarity index 96% rename from server/public/admin/assets/list-DyOdEEM6.js rename to server/public/admin/assets/list-CMCIptz5.js index fa8bff234..48c3ee0a7 100644 --- a/server/public/admin/assets/list-DyOdEEM6.js +++ b/server/public/admin/assets/list-CMCIptz5.js @@ -1 +1 @@ -import{D as fe,B as be,C as ye,Q as ve,R as ge,i as ke,K as Ve,M as he,N as Ce,O as we,U as xe,G as Ee,J as Re,h as Ae,g as Ne,W as De}from"./element-plus-DGP1XOrU.js";import{_ as Se}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{u as Ue,c as Le,k as y,_ as Ie}from"./index-fRv3NTFQ.js";import{w as Pe}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Be,z as $e,A as Oe,B as Ge}from"./tcm-CEIBuAeK.js";import{u as Me}from"./usePaging-DofycyjW.js";import{M as Je}from"./index-C5r1a79q.js";import Fe from"./PrescriptionAiBatchGenerateDialog-DeSq7Ovs.js";import Te from"./PrescriptionAiReportDialog-B4Gc5TXr.js";import{f as K,b as ze,as as Ke,ak as u,I as U,a as t,aN as a,O as n,aP as k,G as b,H as R,J as V,M as He,A as je}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as T,r as z,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{Q as E}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-CEgParOp.js";const qe={class:"prescription-library"},Qe={class:"mt-4"},We={key:0},Xe={key:1,class:"text-gray-400"},Ye={class:"flex mt-4 justify-end"},Ze={class:"w-full"},et={class:"flex flex-col gap-1 leading-none"},tt=K({name:"prescriptionLibrary"}),lt=K({...tt,setup(it){const _=z({prescription_name:"",formula_type:"",is_public:""}),f=h(!1),p=h("add"),A=h(!1),N=h(),L=h(),I=h(),r=z({id:0,prescription_name:"",formula_type:"主方",herbs:[],is_public:0,disable_edit:0}),H={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}]},D=Ue(),j=je(()=>{const i=D.perms||[];return i.includes("*")||i.includes("tcm.prescriptionLibrary/missingAiReports")&&i.includes("tcm.prescriptionLibrary/generateAiReports")}),q=[0,3],{pager:C,getLists:w,resetParams:Q,resetPage:P}=Me({fetchFun:Be,params:_}),W=i=>{var e;return Number(i.creator_id)===Number((e=D.userInfo)==null?void 0:e.id)},X=()=>{const i=D.userInfo;if(!i)return!1;if(Number(i.root)===1)return!0;const e=Array.isArray(i.role_ids)?i.role_ids.map(v=>Number(v)):[];return q.some(v=>e.includes(v))},B=i=>X()||W(i),Y=B,Z=i=>{var e;(e=L.value)==null||e.open(i)},ee=()=>{var i;(i=I.value)==null||i.open()},te=()=>{r.herbs.push({name:"",dosage:0})},le=i=>{r.herbs.splice(i,1)},ie=()=>{r.id=0,r.prescription_name="",r.formula_type="主方",r.herbs=[],r.is_public=0,r.disable_edit=0},ae=()=>{ie(),p.value="add",f.value=!0},oe=i=>{p.value="view",r.id=i.id,r.prescription_name=i.prescription_name||"",r.formula_type=i.formula_type||"主方",r.herbs=i.herbs?JSON.parse(JSON.stringify(i.herbs)):[],r.is_public=i.is_public??0,r.disable_edit=i.disable_edit??0,f.value=!0},re=i=>{p.value="edit",r.id=i.id,r.prescription_name=i.prescription_name||"",r.formula_type=i.formula_type||"主方",r.herbs=i.herbs?JSON.parse(JSON.stringify(i.herbs)):[],r.is_public=i.is_public??0,r.disable_edit=i.disable_edit??0,f.value=!0},ne=async()=>{if(N.value){if(await N.value.validate(),!r.herbs||r.herbs.length===0){y.msgError("请至少添加一味药材");return}for(let i=0;i{await y.confirm("确定要删除该处方吗?"),await Ge({id:i}),y.msgSuccess("删除成功"),w()};return ze(()=>{w()}),(i,e)=>{const v=ye,c=be,g=ge,$=ve,m=ke,O=fe,G=Ve,de=Le,d=we,S=xe,M=Ce,pe=Se,J=Re,me=Ee,ue=Ae,F=Ne,ce=De,x=Ke("perms"),_e=he;return u(),U("div",qe,[t(G,{class:"!border-none",shadow:"never"},{default:a(()=>[t(O,{class:"mb-[-16px]",model:o(_),inline:""},{default:a(()=>[t(c,{class:"w-[280px]",label:"处方名称"},{default:a(()=>[t(v,{modelValue:o(_).prescription_name,"onUpdate:modelValue":e[0]||(e[0]=l=>o(_).prescription_name=l),placeholder:"请输入处方名称",clearable:"",onKeyup:Pe(o(P),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[200px]",label:"处方类型"},{default:a(()=>[t($,{modelValue:o(_).formula_type,"onUpdate:modelValue":e[1]||(e[1]=l=>o(_).formula_type=l),placeholder:"全部",clearable:""},{default:a(()=>[t(g,{label:"全部",value:""}),t(g,{label:"主方",value:"主方"}),t(g,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),_:1}),t(c,{class:"w-[200px]",label:"是否公开"},{default:a(()=>[t($,{modelValue:o(_).is_public,"onUpdate:modelValue":e[2]||(e[2]=l=>o(_).is_public=l),placeholder:"全部",clearable:""},{default:a(()=>[t(g,{label:"全部",value:""}),t(g,{label:"仅自己可见",value:0}),t(g,{label:"所有人可见",value:1})]),_:1},8,["modelValue"])]),_:1}),t(c,null,{default:a(()=>[t(m,{type:"primary",onClick:o(P)},{default:a(()=>[...e[10]||(e[10]=[n("查询",-1)])]),_:1},8,["onClick"]),t(m,{onClick:o(Q)},{default:a(()=>[...e[11]||(e[11]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),k((u(),b(G,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[k((u(),b(m,{type:"primary",onClick:ae},{icon:a(()=>[t(de,{name:"el-icon-Plus"})]),default:a(()=>[e[12]||(e[12]=n(" 新增处方 ",-1))]),_:1})),[[x,["wcf.prescription/add"]]]),o(j)?(u(),b(m,{key:0,type:"primary",plain:"",onClick:ee},{default:a(()=>[...e[13]||(e[13]=[n(" 批量生成报告 ",-1)])]),_:1})):R("",!0),V("div",Qe,[t(M,{data:o(C).lists,size:"large"},{default:a(()=>[t(d,{label:"ID",prop:"id","min-width":"60"}),t(d,{label:"处方名称",prop:"prescription_name","min-width":"200","show-overflow-tooltip":""}),t(d,{label:"处方类型","min-width":"100"},{default:a(({row:l})=>[t(S,{type:l.formula_type==="辅方"?"warning":"primary",size:"small"},{default:a(()=>[n(E(l.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"药材数量","min-width":"100"},{default:a(({row:l})=>{var s;return[n(E(((s=l.herbs)==null?void 0:s.length)||0)+"味 ",1)]}),_:1}),t(d,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:a(({row:l})=>[l.herbs&&l.herbs.length>0?(u(),U("span",We,E(l.herbs.map(s=>`${s.name} ${s.dosage}g`).join("、")),1)):(u(),U("span",Xe,"暂无药材"))]),_:1}),t(d,{label:"是否公开","min-width":"120"},{default:a(({row:l})=>[t(S,{type:l.is_public?"success":"info"},{default:a(()=>[n(E(l.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"禁用修改","min-width":"100"},{default:a(({row:l})=>[t(S,{type:l.disable_edit?"danger":"info"},{default:a(()=>[n(E(l.disable_edit?"已禁用":"可修改"),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"创建人",prop:"creator_name","min-width":"100"}),t(d,{label:"创建时间",prop:"create_time","min-width":"160"}),t(d,{label:"操作",width:"240",fixed:"right"},{default:a(({row:l})=>[k((u(),b(m,{type:"primary",link:"",onClick:s=>oe(l)},{default:a(()=>[...e[14]||(e[14]=[n(" 查看 ",-1)])]),_:1},8,["onClick"])),[[x,["wcf.prescription/read"]]]),k((u(),b(m,{type:"primary",link:"",onClick:s=>Z(l)},{default:a(()=>[...e[15]||(e[15]=[n(" AI解释 ",-1)])]),_:1},8,["onClick"])),[[x,["tcm.prescriptionLibrary/aiReports","wcf.prescription/read"]]]),B(l)?k((u(),b(m,{key:0,type:"primary",link:"",onClick:s=>re(l)},{default:a(()=>[...e[16]||(e[16]=[n(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[x,["wcf.prescription/edit"]]]):R("",!0),o(Y)(l)?k((u(),b(m,{key:1,type:"danger",link:"",onClick:s=>se(l.id)},{default:a(()=>[...e[17]||(e[17]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])),[[x,["wcf.prescription/delete"]]]):R("",!0)]),_:1})]),_:1},8,["data"])]),V("div",Ye,[t(pe,{modelValue:o(C),"onUpdate:modelValue":e[3]||(e[3]=l=>T(C)?C.value=l:null),onChange:o(w)},null,8,["modelValue","onChange"])])]),_:1})),[[_e,o(C).loading]]),t(ce,{modelValue:o(f),"onUpdate:modelValue":e[9]||(e[9]=l=>T(f)?f.value=l:null),title:o(p)==="add"?"新增处方":o(p)==="edit"?"编辑处方":"查看处方",width:"800px","close-on-click-modal":!1},He({default:a(()=>[t(O,{ref_key:"formRef",ref:N,model:o(r),rules:H,"label-width":"120px",disabled:o(p)==="view"},{default:a(()=>[t(c,{label:"处方名称",prop:"prescription_name"},{default:a(()=>[t(v,{modelValue:o(r).prescription_name,"onUpdate:modelValue":e[4]||(e[4]=l=>o(r).prescription_name=l),placeholder:"请输入处方名称,例如:六味地黄丸、补中益气汤",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(c,{label:"处方类型",prop:"formula_type"},{default:a(()=>[t(me,{modelValue:o(r).formula_type,"onUpdate:modelValue":e[5]||(e[5]=l=>o(r).formula_type=l)},{default:a(()=>[t(J,{value:"主方"},{default:a(()=>[...e[18]||(e[18]=[n("主方",-1)])]),_:1}),t(J,{value:"辅方"},{default:a(()=>[...e[19]||(e[19]=[n("辅方",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"药材配方",prop:"herbs",required:""},{default:a(()=>[V("div",Ze,[t(m,{type:"primary",size:"small",onClick:te,disabled:o(p)==="view"},{default:a(()=>[...e[20]||(e[20]=[n(" 添加药材 ",-1)])]),_:1},8,["disabled"]),t(M,{data:o(r).herbs,class:"mt-2",border:""},{default:a(()=>[t(d,{label:"序号",type:"index",width:"60"}),t(d,{label:"药材名称","min-width":"220"},{default:a(({row:l})=>[t(Je,{modelValue:l.name,"onUpdate:modelValue":s=>l.name=s,"medicine-id":l.medicine_id,"onUpdate:medicineId":s=>l.medicine_id=s,disabled:o(p)==="view"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),t(d,{label:"剂量(克)","min-width":"150"},{default:a(({row:l})=>[t(ue,{modelValue:l.dosage,"onUpdate:modelValue":s=>l.dosage=s,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full",disabled:o(p)==="view"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),o(p)!=="view"?(u(),b(d,{key:0,label:"操作",width:"80"},{default:a(({$index:l})=>[t(m,{type:"danger",link:"",onClick:s=>le(l)},{default:a(()=>[...e[21]||(e[21]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})):R("",!0)]),_:1},8,["data"])])]),_:1}),t(c,{label:"是否公开",prop:"is_public"},{default:a(()=>[t(F,{modelValue:o(r).is_public,"onUpdate:modelValue":e[6]||(e[6]=l=>o(r).is_public=l),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),e[22]||(e[22]=V("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1}),t(c,{label:"禁用修改",prop:"disable_edit"},{default:a(()=>[V("div",et,[t(F,{modelValue:o(r).disable_edit,"onUpdate:modelValue":e[7]||(e[7]=l=>o(r).disable_edit=l),"active-value":1,"inactive-value":0,"active-text":"开启","inactive-text":"关闭"},null,8,["modelValue"]),e[23]||(e[23]=V("div",{class:"text-xs text-gray-400 leading-relaxed"}," 开启后,导入此模板到处方时将锁定整张处方的药材,不可增删改,只能再次导入覆盖 ",-1))])]),_:1})]),_:1},8,["model","disabled"])]),_:2},[o(p)!=="view"?{name:"footer",fn:a(()=>[t(m,{onClick:e[8]||(e[8]=l=>f.value=!1)},{default:a(()=>[...e[24]||(e[24]=[n("取消",-1)])]),_:1}),t(m,{type:"primary",onClick:ne,loading:o(A)},{default:a(()=>[...e[25]||(e[25]=[n(" 确定 ",-1)])]),_:1},8,["loading"])]),key:"0"}:void 0]),1032,["modelValue","title"]),t(Te,{ref_key:"aiReportDialogRef",ref:L},null,512),t(Fe,{ref_key:"aiBatchGenerateDialogRef",ref:I,onChanged:o(w)},null,8,["onChanged"])])}}}),qt=Ie(lt,[["__scopeId","data-v-abbf0b98"]]);export{qt as default}; +import{D as fe,B as be,C as ye,Q as ve,R as ge,i as ke,K as Ve,M as he,N as Ce,O as we,U as xe,G as Ee,J as Re,h as Ae,g as Ne,W as De}from"./element-plus-DGP1XOrU.js";import{_ as Se}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{u as Ue,c as Le,k as y,_ as Ie}from"./index-J_eFER10.js";import{w as Pe}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Be,z as $e,A as Oe,B as Ge}from"./tcm-D-ZRccbe.js";import{u as Me}from"./usePaging-DofycyjW.js";import{M as Je}from"./index-D6w2Tfd_.js";import Fe from"./PrescriptionAiBatchGenerateDialog-BUnLbCPn.js";import Te from"./PrescriptionAiReportDialog-COU5n7OO.js";import{f as K,b as ze,as as Ke,ak as u,I as U,a as t,aN as a,O as n,aP as k,G as b,H as R,J as V,M as He,A as je}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as T,r as z,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{Q as E}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-DIQyk1R0.js";const qe={class:"prescription-library"},Qe={class:"mt-4"},We={key:0},Xe={key:1,class:"text-gray-400"},Ye={class:"flex mt-4 justify-end"},Ze={class:"w-full"},et={class:"flex flex-col gap-1 leading-none"},tt=K({name:"prescriptionLibrary"}),lt=K({...tt,setup(it){const _=z({prescription_name:"",formula_type:"",is_public:""}),f=h(!1),p=h("add"),A=h(!1),N=h(),L=h(),I=h(),r=z({id:0,prescription_name:"",formula_type:"主方",herbs:[],is_public:0,disable_edit:0}),H={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}]},D=Ue(),j=je(()=>{const i=D.perms||[];return i.includes("*")||i.includes("tcm.prescriptionLibrary/missingAiReports")&&i.includes("tcm.prescriptionLibrary/generateAiReports")}),q=[0,3],{pager:C,getLists:w,resetParams:Q,resetPage:P}=Me({fetchFun:Be,params:_}),W=i=>{var e;return Number(i.creator_id)===Number((e=D.userInfo)==null?void 0:e.id)},X=()=>{const i=D.userInfo;if(!i)return!1;if(Number(i.root)===1)return!0;const e=Array.isArray(i.role_ids)?i.role_ids.map(v=>Number(v)):[];return q.some(v=>e.includes(v))},B=i=>X()||W(i),Y=B,Z=i=>{var e;(e=L.value)==null||e.open(i)},ee=()=>{var i;(i=I.value)==null||i.open()},te=()=>{r.herbs.push({name:"",dosage:0})},le=i=>{r.herbs.splice(i,1)},ie=()=>{r.id=0,r.prescription_name="",r.formula_type="主方",r.herbs=[],r.is_public=0,r.disable_edit=0},ae=()=>{ie(),p.value="add",f.value=!0},oe=i=>{p.value="view",r.id=i.id,r.prescription_name=i.prescription_name||"",r.formula_type=i.formula_type||"主方",r.herbs=i.herbs?JSON.parse(JSON.stringify(i.herbs)):[],r.is_public=i.is_public??0,r.disable_edit=i.disable_edit??0,f.value=!0},re=i=>{p.value="edit",r.id=i.id,r.prescription_name=i.prescription_name||"",r.formula_type=i.formula_type||"主方",r.herbs=i.herbs?JSON.parse(JSON.stringify(i.herbs)):[],r.is_public=i.is_public??0,r.disable_edit=i.disable_edit??0,f.value=!0},ne=async()=>{if(N.value){if(await N.value.validate(),!r.herbs||r.herbs.length===0){y.msgError("请至少添加一味药材");return}for(let i=0;i{await y.confirm("确定要删除该处方吗?"),await Ge({id:i}),y.msgSuccess("删除成功"),w()};return ze(()=>{w()}),(i,e)=>{const v=ye,c=be,g=ge,$=ve,m=ke,O=fe,G=Ve,de=Le,d=we,S=xe,M=Ce,pe=Se,J=Re,me=Ee,ue=Ae,F=Ne,ce=De,x=Ke("perms"),_e=he;return u(),U("div",qe,[t(G,{class:"!border-none",shadow:"never"},{default:a(()=>[t(O,{class:"mb-[-16px]",model:o(_),inline:""},{default:a(()=>[t(c,{class:"w-[280px]",label:"处方名称"},{default:a(()=>[t(v,{modelValue:o(_).prescription_name,"onUpdate:modelValue":e[0]||(e[0]=l=>o(_).prescription_name=l),placeholder:"请输入处方名称",clearable:"",onKeyup:Pe(o(P),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[200px]",label:"处方类型"},{default:a(()=>[t($,{modelValue:o(_).formula_type,"onUpdate:modelValue":e[1]||(e[1]=l=>o(_).formula_type=l),placeholder:"全部",clearable:""},{default:a(()=>[t(g,{label:"全部",value:""}),t(g,{label:"主方",value:"主方"}),t(g,{label:"辅方",value:"辅方"})]),_:1},8,["modelValue"])]),_:1}),t(c,{class:"w-[200px]",label:"是否公开"},{default:a(()=>[t($,{modelValue:o(_).is_public,"onUpdate:modelValue":e[2]||(e[2]=l=>o(_).is_public=l),placeholder:"全部",clearable:""},{default:a(()=>[t(g,{label:"全部",value:""}),t(g,{label:"仅自己可见",value:0}),t(g,{label:"所有人可见",value:1})]),_:1},8,["modelValue"])]),_:1}),t(c,null,{default:a(()=>[t(m,{type:"primary",onClick:o(P)},{default:a(()=>[...e[10]||(e[10]=[n("查询",-1)])]),_:1},8,["onClick"]),t(m,{onClick:o(Q)},{default:a(()=>[...e[11]||(e[11]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),k((u(),b(G,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[k((u(),b(m,{type:"primary",onClick:ae},{icon:a(()=>[t(de,{name:"el-icon-Plus"})]),default:a(()=>[e[12]||(e[12]=n(" 新增处方 ",-1))]),_:1})),[[x,["wcf.prescription/add"]]]),o(j)?(u(),b(m,{key:0,type:"primary",plain:"",onClick:ee},{default:a(()=>[...e[13]||(e[13]=[n(" 批量生成报告 ",-1)])]),_:1})):R("",!0),V("div",Qe,[t(M,{data:o(C).lists,size:"large"},{default:a(()=>[t(d,{label:"ID",prop:"id","min-width":"60"}),t(d,{label:"处方名称",prop:"prescription_name","min-width":"200","show-overflow-tooltip":""}),t(d,{label:"处方类型","min-width":"100"},{default:a(({row:l})=>[t(S,{type:l.formula_type==="辅方"?"warning":"primary",size:"small"},{default:a(()=>[n(E(l.formula_type||"主方"),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"药材数量","min-width":"100"},{default:a(({row:l})=>{var s;return[n(E(((s=l.herbs)==null?void 0:s.length)||0)+"味 ",1)]}),_:1}),t(d,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:a(({row:l})=>[l.herbs&&l.herbs.length>0?(u(),U("span",We,E(l.herbs.map(s=>`${s.name} ${s.dosage}g`).join("、")),1)):(u(),U("span",Xe,"暂无药材"))]),_:1}),t(d,{label:"是否公开","min-width":"120"},{default:a(({row:l})=>[t(S,{type:l.is_public?"success":"info"},{default:a(()=>[n(E(l.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"禁用修改","min-width":"100"},{default:a(({row:l})=>[t(S,{type:l.disable_edit?"danger":"info"},{default:a(()=>[n(E(l.disable_edit?"已禁用":"可修改"),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"创建人",prop:"creator_name","min-width":"100"}),t(d,{label:"创建时间",prop:"create_time","min-width":"160"}),t(d,{label:"操作",width:"240",fixed:"right"},{default:a(({row:l})=>[k((u(),b(m,{type:"primary",link:"",onClick:s=>oe(l)},{default:a(()=>[...e[14]||(e[14]=[n(" 查看 ",-1)])]),_:1},8,["onClick"])),[[x,["wcf.prescription/read"]]]),k((u(),b(m,{type:"primary",link:"",onClick:s=>Z(l)},{default:a(()=>[...e[15]||(e[15]=[n(" AI解释 ",-1)])]),_:1},8,["onClick"])),[[x,["tcm.prescriptionLibrary/aiReports","wcf.prescription/read"]]]),B(l)?k((u(),b(m,{key:0,type:"primary",link:"",onClick:s=>re(l)},{default:a(()=>[...e[16]||(e[16]=[n(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[x,["wcf.prescription/edit"]]]):R("",!0),o(Y)(l)?k((u(),b(m,{key:1,type:"danger",link:"",onClick:s=>se(l.id)},{default:a(()=>[...e[17]||(e[17]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])),[[x,["wcf.prescription/delete"]]]):R("",!0)]),_:1})]),_:1},8,["data"])]),V("div",Ye,[t(pe,{modelValue:o(C),"onUpdate:modelValue":e[3]||(e[3]=l=>T(C)?C.value=l:null),onChange:o(w)},null,8,["modelValue","onChange"])])]),_:1})),[[_e,o(C).loading]]),t(ce,{modelValue:o(f),"onUpdate:modelValue":e[9]||(e[9]=l=>T(f)?f.value=l:null),title:o(p)==="add"?"新增处方":o(p)==="edit"?"编辑处方":"查看处方",width:"800px","close-on-click-modal":!1},He({default:a(()=>[t(O,{ref_key:"formRef",ref:N,model:o(r),rules:H,"label-width":"120px",disabled:o(p)==="view"},{default:a(()=>[t(c,{label:"处方名称",prop:"prescription_name"},{default:a(()=>[t(v,{modelValue:o(r).prescription_name,"onUpdate:modelValue":e[4]||(e[4]=l=>o(r).prescription_name=l),placeholder:"请输入处方名称,例如:六味地黄丸、补中益气汤",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(c,{label:"处方类型",prop:"formula_type"},{default:a(()=>[t(me,{modelValue:o(r).formula_type,"onUpdate:modelValue":e[5]||(e[5]=l=>o(r).formula_type=l)},{default:a(()=>[t(J,{value:"主方"},{default:a(()=>[...e[18]||(e[18]=[n("主方",-1)])]),_:1}),t(J,{value:"辅方"},{default:a(()=>[...e[19]||(e[19]=[n("辅方",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"药材配方",prop:"herbs",required:""},{default:a(()=>[V("div",Ze,[t(m,{type:"primary",size:"small",onClick:te,disabled:o(p)==="view"},{default:a(()=>[...e[20]||(e[20]=[n(" 添加药材 ",-1)])]),_:1},8,["disabled"]),t(M,{data:o(r).herbs,class:"mt-2",border:""},{default:a(()=>[t(d,{label:"序号",type:"index",width:"60"}),t(d,{label:"药材名称","min-width":"220"},{default:a(({row:l})=>[t(Je,{modelValue:l.name,"onUpdate:modelValue":s=>l.name=s,"medicine-id":l.medicine_id,"onUpdate:medicineId":s=>l.medicine_id=s,disabled:o(p)==="view"},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId","disabled"])]),_:1}),t(d,{label:"剂量(克)","min-width":"150"},{default:a(({row:l})=>[t(ue,{modelValue:l.dosage,"onUpdate:modelValue":s=>l.dosage=s,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full",disabled:o(p)==="view"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),o(p)!=="view"?(u(),b(d,{key:0,label:"操作",width:"80"},{default:a(({$index:l})=>[t(m,{type:"danger",link:"",onClick:s=>le(l)},{default:a(()=>[...e[21]||(e[21]=[n(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})):R("",!0)]),_:1},8,["data"])])]),_:1}),t(c,{label:"是否公开",prop:"is_public"},{default:a(()=>[t(F,{modelValue:o(r).is_public,"onUpdate:modelValue":e[6]||(e[6]=l=>o(r).is_public=l),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),e[22]||(e[22]=V("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1}),t(c,{label:"禁用修改",prop:"disable_edit"},{default:a(()=>[V("div",et,[t(F,{modelValue:o(r).disable_edit,"onUpdate:modelValue":e[7]||(e[7]=l=>o(r).disable_edit=l),"active-value":1,"inactive-value":0,"active-text":"开启","inactive-text":"关闭"},null,8,["modelValue"]),e[23]||(e[23]=V("div",{class:"text-xs text-gray-400 leading-relaxed"}," 开启后,导入此模板到处方时将锁定整张处方的药材,不可增删改,只能再次导入覆盖 ",-1))])]),_:1})]),_:1},8,["model","disabled"])]),_:2},[o(p)!=="view"?{name:"footer",fn:a(()=>[t(m,{onClick:e[8]||(e[8]=l=>f.value=!1)},{default:a(()=>[...e[24]||(e[24]=[n("取消",-1)])]),_:1}),t(m,{type:"primary",onClick:ne,loading:o(A)},{default:a(()=>[...e[25]||(e[25]=[n(" 确定 ",-1)])]),_:1},8,["loading"])]),key:"0"}:void 0]),1032,["modelValue","title"]),t(Te,{ref_key:"aiReportDialogRef",ref:L},null,512),t(Fe,{ref_key:"aiBatchGenerateDialogRef",ref:I,onChanged:o(w)},null,8,["onChanged"])])}}}),qt=Ie(lt,[["__scopeId","data-v-abbf0b98"]]);export{qt as default}; diff --git a/server/public/admin/assets/list_h5-D1GNR55p.js b/server/public/admin/assets/list_h5-DFZTD_No.js similarity index 93% rename from server/public/admin/assets/list_h5-D1GNR55p.js rename to server/public/admin/assets/list_h5-DFZTD_No.js index 65e5008c2..bd22adf08 100644 --- a/server/public/admin/assets/list_h5-D1GNR55p.js +++ b/server/public/admin/assets/list_h5-DFZTD_No.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-B6i9iaxJ.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BdeDEJMM.css"])))=>i.map(i=>d[i]); -import{_ as lt}from"./jspdf-BsthCvR5.js";import{C as fe,i as ke,d as he,S as be,M as Ce,X as De,e as Ve,W as Ee}from"./element-plus-DGP1XOrU.js";import{w as It,q as $e}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Rt,l as At,m as Pe,n as Se}from"./doctor-BVLBwYIX.js";import{g as Ne}from"./weapp-B8uox-3Q.js";import{Y as Le,a9 as Ie,W as Re,aa as Ae}from"./tcm-CEIBuAeK.js";import{u as Te,k as y,o as w,_ as Me}from"./index-fRv3NTFQ.js";import{a as Oe}from"./patient-DzLGoG87.js";import{u as qe}from"./usePaging-DofycyjW.js";import{i as Tt,f as ze}from"./diabetes-discovery-display-B_wmGXQJ.js";import{h as b}from"./perm-CTlz8z1G.js";import{O as xe,e as Mt,ap as Ue,P as We,d as Be,G as Qe,b as Fe,l as He}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Ot,b as Ye,d as we,ak as i,I as r,F as $,J as e,a as m,aN as c,O as k,ap as G,H as p,aP as at,G as C,P as nt,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as Ge,y as d,n as v}from"./@vue/reactivity-DiY1c2vO.js";import{o as N,Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ke={class:"apt-h5"},je={class:"apt-h5-topbar"},Je={class:"apt-h5-search"},Xe={class:"apt-h5-status apt-h5-scroll"},Ze=["onClick"],ts={key:0},es={class:"apt-h5-date apt-h5-scroll"},ss=["onClick"],ls={class:"apt-h5-quick"},as={class:"apt-h5-quick-group"},ns=["onClick"],os={class:"apt-h5-more-filter"},is={class:"apt-h5-list"},rs={key:0,class:"apt-h5-empty"},us=["onClick"],ps={class:"apt-h5-avatar"},ds={class:"apt-h5-title"},ms={class:"apt-h5-name"},cs={key:0,class:"apt-h5-meta"},vs={key:1,class:"apt-h5-meta"},_s={class:"apt-h5-sub"},gs={class:"apt-h5-tags"},ys={key:0,class:"apt-h5-tag apt-h5-tag--ok"},fs={key:1,class:"apt-h5-tag apt-h5-tag--warn"},ks=["onClick"],hs={class:"apt-h5-row"},bs={class:"apt-h5-row-val"},Cs={class:"apt-h5-row"},Ds={class:"apt-h5-row-val"},Vs={class:"apt-h5-row"},Es={class:"apt-h5-row-val"},$s={class:"apt-h5-row"},Ps={class:"apt-h5-row-val"},Ss={key:0,class:"apt-h5-inline-tag apt-h5-inline-tag--ok"},Ns={key:1,class:"apt-h5-inline-tag"},Ls={key:2,class:"apt-h5-inline-tag apt-h5-inline-tag--warn"},Is={key:0,class:"apt-h5-row apt-h5-row--remark"},Rs={class:"apt-h5-row-val"},As={class:"apt-h5-card-foot"},Ts={key:2,class:"apt-h5-no-more"},Ms={key:0,class:"apt-h5-actions"},Os={class:"apt-h5-detail-topbar"},qs={class:"apt-h5-detail-title"},zs={class:"apt-h5-detail-page"},xs={class:"apt-h5-detail-section"},Us={class:"apt-h5-detail-grid"},Ws={class:"apt-h5-detail-section"},Bs={class:"apt-h5-detail-grid"},Qs={class:"apt-h5-detail-full"},Fs={class:"apt-h5-detail-full"},Hs={key:0,class:"apt-h5-detail-section"},Ys={class:"apt-h5-detail-grid"},ws={key:0},Gs={key:1},Ks={key:2,class:"apt-h5-detail-full"},js={key:3,class:"apt-h5-detail-full"},Js={key:1,class:"apt-h5-detail-section"},Xs={class:"apt-h5-detail-grid"},Zs={key:0},tl={key:1},el={key:2,class:"apt-h5-detail-full"},sl={key:3,class:"apt-h5-detail-full"},ll={class:"apt-h5-detail-section"},al={key:0,class:"apt-h5-detail-footer-bar"},nl={class:"apt-h5-detail-footer"},ol={class:"apt-h5-qr"},il={key:0,class:"apt-h5-qr-loading"},rl={key:1},ul=["src"],pl={class:"apt-h5-qr-meta"},dl={key:2,class:"apt-h5-qr-fail"},ml={class:"apt-h5-complete"},cl=Ot({name:"tcmAppointmentH5"}),vl=Ot({...cl,setup(_l){const qt=nt(()=>lt(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),zt=nt(()=>lt(()=>import("./index-B6hZ4N_9.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,96,97,15,98,99,100,101]))),xt=nt(()=>lt(()=>import("./index-B6i9iaxJ.js"),__vite__mapDeps([104,1,2,3,4,5,6,7,8,9,10,11,12,13,14,53,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,86,15,105,106,107,108,109,110,111,112,113,58,59,60,114,115,116,117,118,78,119,120,121]))),ot=Te(),Ut=S(()=>ot.userInfo),it=()=>rt(new Date),rt=s=>{const t=o=>String(o).padStart(2,"0");return`${s.getFullYear()}-${t(s.getMonth()+1)}-${t(s.getDate())}`},Wt=s=>{const t=new Date;return t.setDate(t.getDate()+s),rt(t)},Bt=s=>!s||s.length<11?s:s.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Qt=S(()=>{var t;const s=(t=Ut.value)==null?void 0:t.role_id;return Array.isArray(s)?!s.includes(1)&&!s.includes(2):s!==1&&s!==2}),_=Ge({patient_name:"",doctor_name:"",status:1,start_date:it(),end_date:it(),date_preset:"today",diagnosis_confirmed:"",include_status_counts:0}),K=v("1"),L=v("list"),I=v(!1),P=v(""),R=v({1:0,2:0,3:0,4:0}),{pager:g,getLists:Ft}=qe({fetchFun:Rt,params:_,firstLoading:!0}),Ht=S(()=>[{label:"待接诊",value:"1",count:R.value[1]},{label:"全部",value:"all",count:0},{label:"已过号",value:"4",count:R.value[4]},{label:"已取消",value:"2",count:R.value[2]},{label:"已完成",value:"3",count:R.value[3]}]),Yt=[{label:"昨天",value:"yesterday"},{label:"前天",value:"day_before"},{label:"今天",value:"today"},{label:"明天",value:"tomorrow"},{label:"后天",value:"day_after"},{label:"不限",value:""}],wt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],j=S(()=>g.lists.length<(g.count||0)),h=async s=>{var t;_.include_status_counts=1;try{await Ft(s);const o=(t=g.extend)==null?void 0:t.status_count;o&&[1,2,3,4].forEach(u=>{const f=o[u]??o[String(u)];R.value[u]=typeof f=="number"?f:0})}finally{_.include_status_counts=0}},A=()=>{g.page=1,h()},Gt=s=>{K.value=s,_.status=s==="all"?"":Number(s),g.page=1,h()},J=s=>{if(_.date_preset=s,P.value="",!s)_.start_date="",_.end_date="";else{const o=Wt({yesterday:-1,day_before:-2,today:0,tomorrow:1,day_after:2}[s]??0);_.start_date=o,_.end_date=o}g.page=1,h()},Kt=s=>{_.diagnosis_confirmed=s,g.page=1,h()},jt=()=>{if(!P.value){J("");return}_.date_preset="",_.start_date=P.value[0],_.end_date=P.value[1],g.page=1,h()},Jt=()=>{_.patient_name="",_.doctor_name="",_.diagnosis_confirmed="",K.value="1",_.status=1,J("today")},Xt=async()=>{if(g.loading||!j.value)return;const s=(g.page||1)+1;g.loading=!0;try{const t=await Rt({page_no:s,page_size:g.size,..._,include_status_counts:0});g.page=s,g.lists.push(...(t==null?void 0:t.lists)||[]),g.count=(t==null?void 0:t.count)??g.count}finally{g.loading=!1}},ut=s=>{const t=Number(s);return t===1?"待接诊":t===2?"已取消":t===3?"已完成":t===4?"已过号":"-"},Zt=s=>{const t=Number(s);return{"apt-h5-tag--ok":t===1||t===3,"apt-h5-tag--gray":t===2,"apt-h5-tag--danger":t===4}},te=s=>({"apt-h5-card--done":Number(s.status)===3,"apt-h5-card--cancel":Number(s.status)===2,"apt-h5-card--missed":Number(s.status)===4}),X=v(),Z=v(),pt=v(),ee=["doctor.appointment/addDoctorNote"],T=v(!1),z=v(!1),M=v(""),tt=v(null),et=S(()=>b(ee)),dt=s=>{var t;if(!s.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=X.value)==null||t.open("edit",s.patient_id)},mt=async s=>{var u;const t=Number(s.source_patient_id||0),o=Number(s.diagnosis_id||0);if(!t){y.msgWarning("患者信息不完整");return}if(!o){y.msgWarning("预约信息不完整,无法发起聊天");return}try{const f=await Le({patient_id:t,diagnosis_id:o});(u=pt.value)==null||u.open({patientId:t,patientName:s.patient_name,diagnosisId:o,signatureData:f})}catch(f){y.msgError((f==null?void 0:f.msg)||(f==null?void 0:f.message)||"获取通话签名失败")}},st=s=>(s==null?void 0:s.prescription_audit_status)===1&&Number(s==null?void 0:s.prescription_void_status)!==1?"查看":"开方",ct=s=>{var t;if(!s.diagnosis_id&&!s.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=Z.value)==null||t.open(s)},se=()=>{var s,t;h(),(t=(s=X.value)==null?void 0:s.refreshCaseList)==null||t.call(s)},x=v(!1),D=v(null),le=s=>{D.value=s,x.value=!0},U=s=>{const t=D.value;x.value=!1,t&&(s==="videoQr"&&_t(t),s==="complete"&&vt(t),s==="case"&&oe(t),s==="cancel"&&ne(t))},vt=async s=>{if(tt.value=s,M.value="",et.value){T.value=!0;return}try{await y.confirm("确认患者已就诊完成?"),await At({id:s.id}),y.msgSuccess("操作成功"),h()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"操作失败")}},ae=async()=>{const s=tt.value;if(!(!(s!=null&&s.id)||z.value)){z.value=!0;try{const t=M.value.trim();await At({id:s.id});let o="";if(et.value&&t){const u=s.patient_id||s.diagnosis_id;if(u)try{await Oe({diagnosis_id:Number(u),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?y.msgWarning(o):y.msgSuccess("操作成功"),T.value=!1,M.value="",tt.value=null,L.value==="detail"&&Ct(),h()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{z.value=!1}}},ne=async s=>{try{await y.confirm("确定要取消该挂号吗?"),await Pe({id:s.id}),y.msgSuccess("取消成功"),h()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"取消失败")}},oe=async s=>{var t;try{const o=await Ie({appointment_id:s.id});o!=null&&o.id?(t=Z.value)==null||t.openById(o.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(o){y.msgError((o==null?void 0:o.msg)||"获取病历失败")}},O=v(!1),W=v(!1),B=v(""),Q=v(null),_t=async s=>{var t;if(!s.patient_id){y.msgWarning("患者信息不完整");return}Q.value=s,O.value=!0,W.value=!0,B.value="";try{const o=await Ne();if(!(o!=null&&o.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),O.value=!1;return}const u=await Re({doctor_id:s.doctor_id||"",patient_id:s.patient_id,share_user_id:((t=ot.userInfo)==null?void 0:t.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?B.value=u.qrcode_url:y.msgError("二维码生成失败")}catch(o){y.msgError((o==null?void 0:o.msg)||"生成二维码失败,请重试")}finally{W.value=!1}},ie=()=>{Q.value&&_t(Q.value)},F=v(!1),a=v(null),q=v(null),E=S(()=>({...q.value||{},...a.value||{}})),gt=v([]),yt=v([]),ft=v([]),kt=v([]),ht=v(!1),H=(s,t)=>{if(!t)return"-";const o=s.find(u=>u.value===t);return o?o.name:t},re=s=>(Array.isArray(s)?s:typeof s=="string"?s.split(/[,,、]/):[]).map(o=>H(kt.value,o.trim())).filter(Boolean).join("、")||"-",ue=s=>Number(s)===0?"未婚":Number(s)===1?"已婚":Number(s)===2?"离异":"-",pe=async()=>{const[s,t,o,u]=await Promise.all([w({type:"diagnosis_type"}),w({type:"syndrome_type"}),w({type:"diabetes_type"}),w({type:"past_history"})]);gt.value=(s==null?void 0:s.diagnosis_type)||[],yt.value=(t==null?void 0:t.syndrome_type)||[],ft.value=(o==null?void 0:o.diabetes_type)||[],kt.value=(u==null?void 0:u.past_history)||[]},de=async()=>{ht.value||(await pe(),ht.value=!0)},me=s=>Tt(s==null?void 0:s.diabetes_discovery_year)||!!(s!=null&&s.local_hospital_name)||!!(s!=null&&s.symptoms)||(Array.isArray(s==null?void 0:s.past_history)?s.past_history.length>0:!!(s!=null&&s.past_history)),ce=s=>!!(s!=null&&s.tongue_coating||s!=null&&s.pulse||s!=null&&s.treatment_principle||s!=null&&s.prescription),bt=async s=>{L.value="detail",F.value=!0,a.value=null,q.value=s;try{const[,t]=await Promise.all([de().catch(o=>console.warn("加载详情字典失败:",o)),Se({id:s.id})]);if(a.value={...s,...t,appointment_id:s.id},t!=null&&t.patient_id)try{const o=await Ae({id:t.patient_id});a.value={...s,...t,...o,id:t.id||s.id,appointment_id:s.id,diagnosis_id:t.patient_id}}catch(o){console.warn("获取患者诊单详情失败:",o)}}catch(t){y.msgError((t==null?void 0:t.msg)||"获取详情失败"),L.value="list"}finally{F.value=!1}},Ct=()=>{L.value="list",F.value=!1},ve=2e4;let Y=null;return Ye(()=>{document.body.classList.add("h5-mode"),h(),Y=setInterval(()=>{h({silent:!0}).catch(()=>{})},ve)}),we(()=>{document.body.classList.remove("h5-mode"),Y!==null&&(clearInterval(Y),Y=null)}),(s,t)=>{var Et,$t,Pt,St,Nt,Lt;const o=fe,u=ke,f=he,_e=be,ge=De,ye=Ve,Dt=Ee,Vt=Ce;return i(),r("div",Ke,[L.value==="list"?(i(),r($,{key:0},[e("header",je,[e("div",Je,[m(o,{modelValue:_.patient_name,"onUpdate:modelValue":t[0]||(t[0]=l=>_.patient_name=l),placeholder:"患者姓名",clearable:"","prefix-icon":d(xe),onKeyup:It(A,["enter"]),onClear:A},null,8,["modelValue","prefix-icon"]),m(u,{class:"apt-h5-search-btn",type:"primary",onClick:A},{default:c(()=>[...t[19]||(t[19]=[k("查询",-1)])]),_:1})]),e("div",Xe,[(i(!0),r($,null,G(Ht.value,l=>(i(),r("span",{key:l.value,class:N(["apt-h5-chip",{active:K.value===l.value}]),onClick:V=>Gt(l.value)},[k(n(l.label)+" ",1),l.count?(i(),r("em",ts,n(l.count),1)):p("",!0)],10,Ze))),128))]),e("div",es,[(i(),r($,null,G(Yt,l=>e("span",{key:l.value||"all",class:N(["apt-h5-pill",{active:_.date_preset===l.value}]),onClick:V=>J(l.value)},n(l.label),11,ss)),64))]),e("div",ls,[e("div",as,[t[20]||(t[20]=e("span",{class:"apt-h5-quick-label"},"确认",-1)),(i(),r($,null,G(wt,l=>e("span",{key:l.value||"all",class:N(["apt-h5-pill",{active:_.diagnosis_confirmed===l.value}]),onClick:V=>Kt(l.value)},n(l.label),11,ns)),64))]),m(u,{link:"",type:"primary",size:"small",class:"apt-h5-more-toggle",onClick:t[1]||(t[1]=l=>I.value=!I.value)},{default:c(()=>[k(n(I.value?"收起":"更多")+" ",1),m(f,{class:N({"rotate-180":I.value})},{default:c(()=>[m(d(Mt))]),_:1},8,["class"])]),_:1})]),at(e("div",os,[Qt.value?(i(),C(o,{key:0,modelValue:_.doctor_name,"onUpdate:modelValue":t[2]||(t[2]=l=>_.doctor_name=l),placeholder:"医生",clearable:"",size:"small",onKeyup:It(A,["enter"]),onClear:A},null,8,["modelValue"])):p("",!0),m(_e,{modelValue:P.value,"onUpdate:modelValue":t[3]||(t[3]=l=>P.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",size:"small",class:"apt-h5-date-range",onChange:jt},null,8,["modelValue"]),m(u,{size:"small",onClick:Jt},{default:c(()=>[...t[21]||(t[21]=[k("重置",-1)])]),_:1})],512),[[$e,I.value]])]),at((i(),r("main",is,[d(g).lists.length===0&&!d(g).loading?(i(),r("div",rs,[m(ge,{description:"暂无问诊","image-size":120})])):p("",!0),(i(!0),r($,null,G(d(g).lists,l=>(i(),r("article",{key:l.id,class:N(["apt-h5-card",te(l)])},[e("header",{class:"apt-h5-card-head",onClick:V=>bt(l)},[e("div",ps,n((l.patient_name||"患").charAt(0)),1),e("div",ds,[e("div",ms,[k(n(l.patient_name||"-")+" ",1),l.gender===1||l.gender===0?(i(),r("span",cs,n(l.gender===1?"男":"女"),1)):p("",!0),l.age!=null?(i(),r("span",vs,n(l.age)+"岁",1)):p("",!0)]),e("div",_s,"#"+n(l.id)+" · "+n(Bt(l.patient_phone)||"-"),1)]),e("div",gs,[e("span",{class:N(["apt-h5-tag",Zt(l.status)])},n(l.status_desc||ut(l.status)),3),l.diagnosis_confirmed?(i(),r("span",ys,"已确认")):(i(),r("span",fs,"未确认"))])],8,us),e("section",{class:"apt-h5-card-body",onClick:V=>bt(l)},[e("div",hs,[t[22]||(t[22]=e("span",{class:"apt-h5-row-key"},"预约",-1)),e("span",bs,n(l.appointment_date||"-")+" "+n(l.appointment_time||""),1)]),e("div",Cs,[t[23]||(t[23]=e("span",{class:"apt-h5-row-key"},"医生",-1)),e("span",Ds,n(l.doctor_name||"-"),1)]),e("div",Vs,[t[24]||(t[24]=e("span",{class:"apt-h5-row-key"},"助理",-1)),e("span",Es,n(l.assistant_name||"-"),1)]),e("div",$s,[t[25]||(t[25]=e("span",{class:"apt-h5-row-key"},"开方",-1)),e("span",Ps,[l.has_prescription?(i(),r("span",Ss,"已开方")):(i(),r("span",Ns,"未开方")),l.has_prescription&&l.prescription_is_system_auto===1?(i(),r("span",Ls,"系统代开")):p("",!0)])]),l.remark?(i(),r("div",Is,[t[26]||(t[26]=e("span",{class:"apt-h5-row-key"},"备注",-1)),e("span",Rs,n(l.remark),1)])):p("",!0)],8,ks),e("footer",As,[d(b)(["tcm.diagnosis/edit"])?(i(),C(u,{key:0,type:"primary",size:"small",plain:"",onClick:V=>dt(l)},{default:c(()=>[...t[27]||(t[27]=[k(" 编辑患者 ",-1)])]),_:1},8,["onClick"])):p("",!0),l.status!==3&&d(b)(["doctor.appointment/prescription"])?(i(),C(u,{key:1,type:"primary",size:"small",icon:d(Ue),onClick:V=>mt(l)},{default:c(()=>[...t[28]||(t[28]=[k(" 通话 ",-1)])]),_:1},8,["icon","onClick"])):p("",!0),d(b)(["tcm.diagnosis/kaifang"])?(i(),C(u,{key:2,type:st(l)==="查看"?"success":"primary",size:"small",plain:"",onClick:V=>ct(l)},{default:c(()=>[k(n(st(l)),1)]),_:2},1032,["type","onClick"])):p("",!0),m(u,{size:"small",class:"apt-h5-more-btn",onClick:V=>le(l)},{default:c(()=>[t[29]||(t[29]=k(" 更多",-1)),m(f,{class:"el-icon--right"},{default:c(()=>[m(d(Mt))]),_:1})]),_:1},8,["onClick"])])],2))),128)),j.value?(i(),r("div",{key:1,class:"apt-h5-load-more",onClick:Xt},n(d(g).loading?"加载中...":"加载更多"),1)):p("",!0),!j.value&&d(g).lists.length>0?(i(),r("div",Ts,"没有更多了")):p("",!0)])),[[Vt,d(g).loading]]),m(ye,{modelValue:x.value,"onUpdate:modelValue":t[8]||(t[8]=l=>x.value=l),title:D.value?`${D.value.patient_name||"问诊"} · 更多操作`:"更多操作",direction:"btt",size:"auto","destroy-on-close":!0},{default:c(()=>[D.value?(i(),r("div",Ms,[D.value.status!==3&&d(b)(["tcm.diagnosis/videoQr"])?(i(),r("button",{key:0,class:"apt-h5-action",onClick:t[4]||(t[4]=l=>U("videoQr"))},[m(f,null,{default:c(()=>[m(d(We))]),_:1}),t[30]||(t[30]=e("span",null,"视频二维码",-1))])):p("",!0),D.value.status!==3&&d(b)(["doctor.appointment/complete"])?(i(),r("button",{key:1,class:"apt-h5-action",onClick:t[5]||(t[5]=l=>U("complete"))},[m(f,null,{default:c(()=>[m(d(Be))]),_:1}),t[31]||(t[31]=e("span",null,"完成",-1))])):p("",!0),d(b)(["tcm.diagnosis/kaifang"])?(i(),r("button",{key:2,class:"apt-h5-action",onClick:t[6]||(t[6]=l=>U("case"))},[m(f,null,{default:c(()=>[m(d(Qe))]),_:1}),t[32]||(t[32]=e("span",null,"病历",-1))])):p("",!0),D.value.status===1&&d(b)(["doctor.appointment/cancel"])?(i(),r("button",{key:3,class:"apt-h5-action apt-h5-action--danger",onClick:t[7]||(t[7]=l=>U("cancel"))},[m(f,null,{default:c(()=>[m(d(Fe))]),_:1}),t[33]||(t[33]=e("span",null,"取消挂号",-1))])):p("",!0)])):p("",!0)]),_:1},8,["modelValue","title"])],64)):(i(),r($,{key:1},[e("header",Os,[e("button",{class:"apt-h5-back",onClick:Ct},[...t[34]||(t[34]=[e("span",null,"‹",-1),k(" 返回 ",-1)])]),e("div",qs,[e("strong",null,n(((Et=a.value)==null?void 0:Et.patient_name)||(($t=q.value)==null?void 0:$t.patient_name)||"问诊详情"),1),e("small",null,n(((Pt=a.value)==null?void 0:Pt.appointment_date)||((St=q.value)==null?void 0:St.appointment_date)||"")+" "+n(((Nt=a.value)==null?void 0:Nt.appointment_time)||((Lt=q.value)==null?void 0:Lt.appointment_time)||""),1)])]),at((i(),r("main",zs,[a.value?(i(),r($,{key:0},[e("section",xs,[t[41]||(t[41]=e("h3",null,"预约信息",-1)),e("div",Us,[e("div",null,[t[35]||(t[35]=e("span",null,"挂号ID",-1)),e("strong",null,n(a.value.id||"-"),1)]),e("div",null,[t[36]||(t[36]=e("span",null,"状态",-1)),e("strong",null,n(a.value.status_desc||ut(a.value.status)),1)]),e("div",null,[t[37]||(t[37]=e("span",null,"医生",-1)),e("strong",null,n(a.value.doctor_name||"-"),1)]),e("div",null,[t[38]||(t[38]=e("span",null,"预约时间",-1)),e("strong",null,n(a.value.appointment_date||"-")+" "+n(a.value.appointment_time||""),1)]),e("div",null,[t[39]||(t[39]=e("span",null,"时段",-1)),e("strong",null,n(a.value.period==="morning"?"上午":a.value.period==="afternoon"?"下午":"-"),1)]),e("div",null,[t[40]||(t[40]=e("span",null,"预约类型",-1)),e("strong",null,n(a.value.appointment_type_desc||"-"),1)])])]),e("section",Ws,[t[58]||(t[58]=e("h3",null,"患者信息",-1)),e("div",Bs,[e("div",null,[t[42]||(t[42]=e("span",null,"姓名",-1)),e("strong",null,n(a.value.patient_name||"-"),1)]),e("div",null,[t[43]||(t[43]=e("span",null,"手机号",-1)),e("strong",null,n(a.value.phone||a.value.patient_phone||"-"),1)]),e("div",Qs,[t[44]||(t[44]=e("span",null,"身份证号",-1)),e("strong",null,n(a.value.id_card||"-"),1)]),e("div",null,[t[45]||(t[45]=e("span",null,"性别",-1)),e("strong",null,n(a.value.gender===1?"男":a.value.gender===0?"女":"-"),1)]),e("div",null,[t[46]||(t[46]=e("span",null,"年龄",-1)),e("strong",null,n(a.value.age!=null?`${a.value.age}岁`:"-"),1)]),e("div",null,[t[47]||(t[47]=e("span",null,"诊断日期",-1)),e("strong",null,n(a.value.diagnosis_date||"-"),1)]),e("div",null,[t[48]||(t[48]=e("span",null,"婚姻状态",-1)),e("strong",null,n(ue(a.value.marital_status)),1)]),e("div",null,[t[49]||(t[49]=e("span",null,"身高(cm)",-1)),e("strong",null,n(a.value.height??"-"),1)]),e("div",null,[t[50]||(t[50]=e("span",null,"体重(kg)",-1)),e("strong",null,n(a.value.weight??"-"),1)]),e("div",Fs,[t[51]||(t[51]=e("span",null,"地区",-1)),e("strong",null,n(a.value.region||"-"),1)]),e("div",null,[t[52]||(t[52]=e("span",null,"收缩压(mmHg)",-1)),e("strong",null,n(a.value.systolic_pressure??"-"),1)]),e("div",null,[t[53]||(t[53]=e("span",null,"舒张压(mmHg)",-1)),e("strong",null,n(a.value.diastolic_pressure??"-"),1)]),e("div",null,[t[54]||(t[54]=e("span",null,"空腹血糖(mmol/L)",-1)),e("strong",null,n(a.value.fasting_blood_sugar??"-"),1)]),e("div",null,[t[55]||(t[55]=e("span",null,"诊断类型",-1)),e("strong",null,n(H(gt.value,a.value.diagnosis_type)),1)]),e("div",null,[t[56]||(t[56]=e("span",null,"证型",-1)),e("strong",null,n(H(yt.value,a.value.syndrome_type)),1)]),e("div",null,[t[57]||(t[57]=e("span",null,"糖尿病期数",-1)),e("strong",null,n(H(ft.value,a.value.diabetes_type)),1)])])]),me(a.value)?(i(),r("section",Hs,[t[63]||(t[63]=e("h3",null,"病史信息",-1)),e("div",Ys,[d(Tt)(a.value.diabetes_discovery_year)?(i(),r("div",ws,[t[59]||(t[59]=e("span",null,"发现糖尿病病史",-1)),e("strong",null,n(d(ze)(a.value.diabetes_discovery_year)),1)])):p("",!0),a.value.local_hospital_name?(i(),r("div",Gs,[t[60]||(t[60]=e("span",null,"当地就诊医院",-1)),e("strong",null,n(a.value.local_hospital_name),1)])):p("",!0),a.value.symptoms?(i(),r("div",Ks,[t[61]||(t[61]=e("span",null,"症状补充",-1)),e("strong",null,n(a.value.symptoms),1)])):p("",!0),a.value.past_history&&a.value.past_history.length?(i(),r("div",js,[t[62]||(t[62]=e("span",null,"既往史",-1)),e("strong",null,n(re(a.value.past_history)),1)])):p("",!0)])])):p("",!0),ce(a.value)?(i(),r("section",Js,[t[68]||(t[68]=e("h3",null,"诊断信息",-1)),e("div",Xs,[a.value.tongue_coating?(i(),r("div",Zs,[t[64]||(t[64]=e("span",null,"舌苔",-1)),e("strong",null,n(a.value.tongue_coating),1)])):p("",!0),a.value.pulse?(i(),r("div",tl,[t[65]||(t[65]=e("span",null,"脉象",-1)),e("strong",null,n(a.value.pulse),1)])):p("",!0),a.value.treatment_principle?(i(),r("div",el,[t[66]||(t[66]=e("span",null,"治则",-1)),e("strong",null,n(a.value.treatment_principle),1)])):p("",!0),a.value.prescription?(i(),r("div",sl,[t[67]||(t[67]=e("span",null,"处方",-1)),e("strong",null,n(a.value.prescription),1)])):p("",!0)])])):p("",!0),e("section",ll,[t[69]||(t[69]=e("h3",null,"备注",-1)),e("p",null,n(a.value.remark||"无"),1)])],64)):p("",!0)])),[[Vt,F.value]]),a.value?(i(),r("footer",al,[e("div",nl,[d(b)(["tcm.diagnosis/edit"])?(i(),C(u,{key:0,type:"primary",plain:"",onClick:t[9]||(t[9]=l=>dt(E.value))},{default:c(()=>[...t[70]||(t[70]=[k(" 编辑患者 ",-1)])]),_:1})):p("",!0),d(b)(["tcm.diagnosis/kaifang"])?(i(),C(u,{key:1,type:"primary",onClick:t[10]||(t[10]=l=>ct(E.value))},{default:c(()=>[k(n(st(E.value)),1)]),_:1})):p("",!0),E.value.status!==3&&d(b)(["doctor.appointment/prescription"])?(i(),C(u,{key:2,type:"primary",plain:"",onClick:t[11]||(t[11]=l=>mt(E.value))},{default:c(()=>[...t[71]||(t[71]=[k(" 通话 ",-1)])]),_:1})):p("",!0),E.value.status!==3&&d(b)(["doctor.appointment/complete"])?(i(),C(u,{key:3,type:"success",plain:"",onClick:t[12]||(t[12]=l=>vt(E.value))},{default:c(()=>[...t[72]||(t[72]=[k(" 完成 ",-1)])]),_:1})):p("",!0)])])):p("",!0)],64)),m(Dt,{modelValue:O.value,"onUpdate:modelValue":t[14]||(t[14]=l=>O.value=l),title:"视频二维码","close-on-click-modal":!1,class:"apt-h5-qr-dialog"},{footer:c(()=>[m(u,{onClick:t[13]||(t[13]=l=>O.value=!1)},{default:c(()=>[...t[75]||(t[75]=[k("关闭",-1)])]),_:1}),W.value?p("",!0):(i(),C(u,{key:0,type:"primary",onClick:ie},{default:c(()=>[...t[76]||(t[76]=[k("重新生成",-1)])]),_:1}))]),default:c(()=>{var l;return[e("div",ol,[W.value?(i(),r("div",il,[m(f,{class:"is-loading",size:36},{default:c(()=>[m(d(He))]),_:1}),t[73]||(t[73]=e("div",null,"生成中...",-1))])):B.value?(i(),r("div",rl,[e("img",{src:B.value,alt:"小程序二维码",class:"apt-h5-qr-img"},null,8,ul),e("div",pl,[e("div",null,"患者:"+n(((l=Q.value)==null?void 0:l.patient_name)||"-"),1),t[74]||(t[74]=e("div",null,"请使用微信扫描二维码",-1))])])):(i(),r("div",dl,"生成失败,请重试"))])]}),_:1},8,["modelValue"]),m(Dt,{modelValue:T.value,"onUpdate:modelValue":t[17]||(t[17]=l=>T.value=l),title:"完成问诊","close-on-click-modal":!1,class:"apt-h5-complete-dialog","destroy-on-close":""},{footer:c(()=>[m(u,{onClick:t[16]||(t[16]=l=>T.value=!1)},{default:c(()=>[...t[78]||(t[78]=[k("取消",-1)])]),_:1}),m(u,{type:"primary",loading:z.value,onClick:ae},{default:c(()=>[...t[79]||(t[79]=[k("确认完成",-1)])]),_:1},8,["loading"])]),default:c(()=>[e("div",ml,[t[77]||(t[77]=e("p",null,"确认患者已就诊完成?",-1)),et.value?(i(),C(o,{key:0,modelValue:M.value,"onUpdate:modelValue":t[15]||(t[15]=l=>M.value=l),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):p("",!0)])]),_:1},8,["modelValue"]),m(d(qt),{ref_key:"editRef",ref:X,onSuccess:t[18]||(t[18]=()=>h({silent:!0}))},null,512),m(d(zt),{ref_key:"prescriptionRef",ref:Z,onSuccess:se},null,512),m(d(xt),{ref_key:"chatDialogRef",ref:pt},null,512)])}}}),oa=Me(vl,[["__scopeId","data-v-e5adc4be"]]);export{oa as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-Cf-SlqzS.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BdeDEJMM.css"])))=>i.map(i=>d[i]); +import{_ as lt}from"./jspdf-BsthCvR5.js";import{C as fe,i as ke,d as he,S as be,M as Ce,X as De,e as Ve,W as Ee}from"./element-plus-DGP1XOrU.js";import{w as It,q as $e}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Rt,l as At,m as Pe,n as Se}from"./doctor-BZKBQu9t.js";import{g as Ne}from"./weapp-CBd1nTel.js";import{Y as Le,a9 as Ie,W as Re,aa as Ae}from"./tcm-D-ZRccbe.js";import{u as Te,k as y,o as w,_ as Me}from"./index-J_eFER10.js";import{a as Oe}from"./patient-L-xV50Pi.js";import{u as qe}from"./usePaging-DofycyjW.js";import{i as Tt,f as ze}from"./diabetes-discovery-display-B_wmGXQJ.js";import{h as b}from"./perm-8cp9D7Ag.js";import{O as xe,e as Mt,ap as Ue,P as We,d as Be,G as Qe,b as Fe,l as He}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Ot,b as Ye,d as we,ak as i,I as r,F as $,J as e,a as m,aN as c,O as k,ap as G,H as p,aP as at,G as C,P as nt,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as Ge,y as d,n as v}from"./@vue/reactivity-DiY1c2vO.js";import{o as N,Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ke={class:"apt-h5"},je={class:"apt-h5-topbar"},Je={class:"apt-h5-search"},Xe={class:"apt-h5-status apt-h5-scroll"},Ze=["onClick"],ts={key:0},es={class:"apt-h5-date apt-h5-scroll"},ss=["onClick"],ls={class:"apt-h5-quick"},as={class:"apt-h5-quick-group"},ns=["onClick"],os={class:"apt-h5-more-filter"},is={class:"apt-h5-list"},rs={key:0,class:"apt-h5-empty"},us=["onClick"],ps={class:"apt-h5-avatar"},ds={class:"apt-h5-title"},ms={class:"apt-h5-name"},cs={key:0,class:"apt-h5-meta"},vs={key:1,class:"apt-h5-meta"},_s={class:"apt-h5-sub"},gs={class:"apt-h5-tags"},ys={key:0,class:"apt-h5-tag apt-h5-tag--ok"},fs={key:1,class:"apt-h5-tag apt-h5-tag--warn"},ks=["onClick"],hs={class:"apt-h5-row"},bs={class:"apt-h5-row-val"},Cs={class:"apt-h5-row"},Ds={class:"apt-h5-row-val"},Vs={class:"apt-h5-row"},Es={class:"apt-h5-row-val"},$s={class:"apt-h5-row"},Ps={class:"apt-h5-row-val"},Ss={key:0,class:"apt-h5-inline-tag apt-h5-inline-tag--ok"},Ns={key:1,class:"apt-h5-inline-tag"},Ls={key:2,class:"apt-h5-inline-tag apt-h5-inline-tag--warn"},Is={key:0,class:"apt-h5-row apt-h5-row--remark"},Rs={class:"apt-h5-row-val"},As={class:"apt-h5-card-foot"},Ts={key:2,class:"apt-h5-no-more"},Ms={key:0,class:"apt-h5-actions"},Os={class:"apt-h5-detail-topbar"},qs={class:"apt-h5-detail-title"},zs={class:"apt-h5-detail-page"},xs={class:"apt-h5-detail-section"},Us={class:"apt-h5-detail-grid"},Ws={class:"apt-h5-detail-section"},Bs={class:"apt-h5-detail-grid"},Qs={class:"apt-h5-detail-full"},Fs={class:"apt-h5-detail-full"},Hs={key:0,class:"apt-h5-detail-section"},Ys={class:"apt-h5-detail-grid"},ws={key:0},Gs={key:1},Ks={key:2,class:"apt-h5-detail-full"},js={key:3,class:"apt-h5-detail-full"},Js={key:1,class:"apt-h5-detail-section"},Xs={class:"apt-h5-detail-grid"},Zs={key:0},tl={key:1},el={key:2,class:"apt-h5-detail-full"},sl={key:3,class:"apt-h5-detail-full"},ll={class:"apt-h5-detail-section"},al={key:0,class:"apt-h5-detail-footer-bar"},nl={class:"apt-h5-detail-footer"},ol={class:"apt-h5-qr"},il={key:0,class:"apt-h5-qr-loading"},rl={key:1},ul=["src"],pl={class:"apt-h5-qr-meta"},dl={key:2,class:"apt-h5-qr-fail"},ml={class:"apt-h5-complete"},cl=Ot({name:"tcmAppointmentH5"}),vl=Ot({...cl,setup(_l){const qt=nt(()=>lt(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),zt=nt(()=>lt(()=>import("./index-ns6fHpFi.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,96,97,15,98,99,100,101]))),xt=nt(()=>lt(()=>import("./index-Cf-SlqzS.js"),__vite__mapDeps([104,1,2,3,4,5,6,7,8,9,10,11,12,13,14,53,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,86,15,105,106,107,108,109,110,111,112,113,58,59,60,114,115,116,117,118,78,119,120,121]))),ot=Te(),Ut=S(()=>ot.userInfo),it=()=>rt(new Date),rt=s=>{const t=o=>String(o).padStart(2,"0");return`${s.getFullYear()}-${t(s.getMonth()+1)}-${t(s.getDate())}`},Wt=s=>{const t=new Date;return t.setDate(t.getDate()+s),rt(t)},Bt=s=>!s||s.length<11?s:s.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Qt=S(()=>{var t;const s=(t=Ut.value)==null?void 0:t.role_id;return Array.isArray(s)?!s.includes(1)&&!s.includes(2):s!==1&&s!==2}),_=Ge({patient_name:"",doctor_name:"",status:1,start_date:it(),end_date:it(),date_preset:"today",diagnosis_confirmed:"",include_status_counts:0}),K=v("1"),L=v("list"),I=v(!1),P=v(""),R=v({1:0,2:0,3:0,4:0}),{pager:g,getLists:Ft}=qe({fetchFun:Rt,params:_,firstLoading:!0}),Ht=S(()=>[{label:"待接诊",value:"1",count:R.value[1]},{label:"全部",value:"all",count:0},{label:"已过号",value:"4",count:R.value[4]},{label:"已取消",value:"2",count:R.value[2]},{label:"已完成",value:"3",count:R.value[3]}]),Yt=[{label:"昨天",value:"yesterday"},{label:"前天",value:"day_before"},{label:"今天",value:"today"},{label:"明天",value:"tomorrow"},{label:"后天",value:"day_after"},{label:"不限",value:""}],wt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],j=S(()=>g.lists.length<(g.count||0)),h=async s=>{var t;_.include_status_counts=1;try{await Ft(s);const o=(t=g.extend)==null?void 0:t.status_count;o&&[1,2,3,4].forEach(u=>{const f=o[u]??o[String(u)];R.value[u]=typeof f=="number"?f:0})}finally{_.include_status_counts=0}},A=()=>{g.page=1,h()},Gt=s=>{K.value=s,_.status=s==="all"?"":Number(s),g.page=1,h()},J=s=>{if(_.date_preset=s,P.value="",!s)_.start_date="",_.end_date="";else{const o=Wt({yesterday:-1,day_before:-2,today:0,tomorrow:1,day_after:2}[s]??0);_.start_date=o,_.end_date=o}g.page=1,h()},Kt=s=>{_.diagnosis_confirmed=s,g.page=1,h()},jt=()=>{if(!P.value){J("");return}_.date_preset="",_.start_date=P.value[0],_.end_date=P.value[1],g.page=1,h()},Jt=()=>{_.patient_name="",_.doctor_name="",_.diagnosis_confirmed="",K.value="1",_.status=1,J("today")},Xt=async()=>{if(g.loading||!j.value)return;const s=(g.page||1)+1;g.loading=!0;try{const t=await Rt({page_no:s,page_size:g.size,..._,include_status_counts:0});g.page=s,g.lists.push(...(t==null?void 0:t.lists)||[]),g.count=(t==null?void 0:t.count)??g.count}finally{g.loading=!1}},ut=s=>{const t=Number(s);return t===1?"待接诊":t===2?"已取消":t===3?"已完成":t===4?"已过号":"-"},Zt=s=>{const t=Number(s);return{"apt-h5-tag--ok":t===1||t===3,"apt-h5-tag--gray":t===2,"apt-h5-tag--danger":t===4}},te=s=>({"apt-h5-card--done":Number(s.status)===3,"apt-h5-card--cancel":Number(s.status)===2,"apt-h5-card--missed":Number(s.status)===4}),X=v(),Z=v(),pt=v(),ee=["doctor.appointment/addDoctorNote"],T=v(!1),z=v(!1),M=v(""),tt=v(null),et=S(()=>b(ee)),dt=s=>{var t;if(!s.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=X.value)==null||t.open("edit",s.patient_id)},mt=async s=>{var u;const t=Number(s.source_patient_id||0),o=Number(s.diagnosis_id||0);if(!t){y.msgWarning("患者信息不完整");return}if(!o){y.msgWarning("预约信息不完整,无法发起聊天");return}try{const f=await Le({patient_id:t,diagnosis_id:o});(u=pt.value)==null||u.open({patientId:t,patientName:s.patient_name,diagnosisId:o,signatureData:f})}catch(f){y.msgError((f==null?void 0:f.msg)||(f==null?void 0:f.message)||"获取通话签名失败")}},st=s=>(s==null?void 0:s.prescription_audit_status)===1&&Number(s==null?void 0:s.prescription_void_status)!==1?"查看":"开方",ct=s=>{var t;if(!s.diagnosis_id&&!s.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=Z.value)==null||t.open(s)},se=()=>{var s,t;h(),(t=(s=X.value)==null?void 0:s.refreshCaseList)==null||t.call(s)},x=v(!1),D=v(null),le=s=>{D.value=s,x.value=!0},U=s=>{const t=D.value;x.value=!1,t&&(s==="videoQr"&&_t(t),s==="complete"&&vt(t),s==="case"&&oe(t),s==="cancel"&&ne(t))},vt=async s=>{if(tt.value=s,M.value="",et.value){T.value=!0;return}try{await y.confirm("确认患者已就诊完成?"),await At({id:s.id}),y.msgSuccess("操作成功"),h()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"操作失败")}},ae=async()=>{const s=tt.value;if(!(!(s!=null&&s.id)||z.value)){z.value=!0;try{const t=M.value.trim();await At({id:s.id});let o="";if(et.value&&t){const u=s.patient_id||s.diagnosis_id;if(u)try{await Oe({diagnosis_id:Number(u),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?y.msgWarning(o):y.msgSuccess("操作成功"),T.value=!1,M.value="",tt.value=null,L.value==="detail"&&Ct(),h()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{z.value=!1}}},ne=async s=>{try{await y.confirm("确定要取消该挂号吗?"),await Pe({id:s.id}),y.msgSuccess("取消成功"),h()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"取消失败")}},oe=async s=>{var t;try{const o=await Ie({appointment_id:s.id});o!=null&&o.id?(t=Z.value)==null||t.openById(o.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(o){y.msgError((o==null?void 0:o.msg)||"获取病历失败")}},O=v(!1),W=v(!1),B=v(""),Q=v(null),_t=async s=>{var t;if(!s.patient_id){y.msgWarning("患者信息不完整");return}Q.value=s,O.value=!0,W.value=!0,B.value="";try{const o=await Ne();if(!(o!=null&&o.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),O.value=!1;return}const u=await Re({doctor_id:s.doctor_id||"",patient_id:s.patient_id,share_user_id:((t=ot.userInfo)==null?void 0:t.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?B.value=u.qrcode_url:y.msgError("二维码生成失败")}catch(o){y.msgError((o==null?void 0:o.msg)||"生成二维码失败,请重试")}finally{W.value=!1}},ie=()=>{Q.value&&_t(Q.value)},F=v(!1),a=v(null),q=v(null),E=S(()=>({...q.value||{},...a.value||{}})),gt=v([]),yt=v([]),ft=v([]),kt=v([]),ht=v(!1),H=(s,t)=>{if(!t)return"-";const o=s.find(u=>u.value===t);return o?o.name:t},re=s=>(Array.isArray(s)?s:typeof s=="string"?s.split(/[,,、]/):[]).map(o=>H(kt.value,o.trim())).filter(Boolean).join("、")||"-",ue=s=>Number(s)===0?"未婚":Number(s)===1?"已婚":Number(s)===2?"离异":"-",pe=async()=>{const[s,t,o,u]=await Promise.all([w({type:"diagnosis_type"}),w({type:"syndrome_type"}),w({type:"diabetes_type"}),w({type:"past_history"})]);gt.value=(s==null?void 0:s.diagnosis_type)||[],yt.value=(t==null?void 0:t.syndrome_type)||[],ft.value=(o==null?void 0:o.diabetes_type)||[],kt.value=(u==null?void 0:u.past_history)||[]},de=async()=>{ht.value||(await pe(),ht.value=!0)},me=s=>Tt(s==null?void 0:s.diabetes_discovery_year)||!!(s!=null&&s.local_hospital_name)||!!(s!=null&&s.symptoms)||(Array.isArray(s==null?void 0:s.past_history)?s.past_history.length>0:!!(s!=null&&s.past_history)),ce=s=>!!(s!=null&&s.tongue_coating||s!=null&&s.pulse||s!=null&&s.treatment_principle||s!=null&&s.prescription),bt=async s=>{L.value="detail",F.value=!0,a.value=null,q.value=s;try{const[,t]=await Promise.all([de().catch(o=>console.warn("加载详情字典失败:",o)),Se({id:s.id})]);if(a.value={...s,...t,appointment_id:s.id},t!=null&&t.patient_id)try{const o=await Ae({id:t.patient_id});a.value={...s,...t,...o,id:t.id||s.id,appointment_id:s.id,diagnosis_id:t.patient_id}}catch(o){console.warn("获取患者诊单详情失败:",o)}}catch(t){y.msgError((t==null?void 0:t.msg)||"获取详情失败"),L.value="list"}finally{F.value=!1}},Ct=()=>{L.value="list",F.value=!1},ve=2e4;let Y=null;return Ye(()=>{document.body.classList.add("h5-mode"),h(),Y=setInterval(()=>{h({silent:!0}).catch(()=>{})},ve)}),we(()=>{document.body.classList.remove("h5-mode"),Y!==null&&(clearInterval(Y),Y=null)}),(s,t)=>{var Et,$t,Pt,St,Nt,Lt;const o=fe,u=ke,f=he,_e=be,ge=De,ye=Ve,Dt=Ee,Vt=Ce;return i(),r("div",Ke,[L.value==="list"?(i(),r($,{key:0},[e("header",je,[e("div",Je,[m(o,{modelValue:_.patient_name,"onUpdate:modelValue":t[0]||(t[0]=l=>_.patient_name=l),placeholder:"患者姓名",clearable:"","prefix-icon":d(xe),onKeyup:It(A,["enter"]),onClear:A},null,8,["modelValue","prefix-icon"]),m(u,{class:"apt-h5-search-btn",type:"primary",onClick:A},{default:c(()=>[...t[19]||(t[19]=[k("查询",-1)])]),_:1})]),e("div",Xe,[(i(!0),r($,null,G(Ht.value,l=>(i(),r("span",{key:l.value,class:N(["apt-h5-chip",{active:K.value===l.value}]),onClick:V=>Gt(l.value)},[k(n(l.label)+" ",1),l.count?(i(),r("em",ts,n(l.count),1)):p("",!0)],10,Ze))),128))]),e("div",es,[(i(),r($,null,G(Yt,l=>e("span",{key:l.value||"all",class:N(["apt-h5-pill",{active:_.date_preset===l.value}]),onClick:V=>J(l.value)},n(l.label),11,ss)),64))]),e("div",ls,[e("div",as,[t[20]||(t[20]=e("span",{class:"apt-h5-quick-label"},"确认",-1)),(i(),r($,null,G(wt,l=>e("span",{key:l.value||"all",class:N(["apt-h5-pill",{active:_.diagnosis_confirmed===l.value}]),onClick:V=>Kt(l.value)},n(l.label),11,ns)),64))]),m(u,{link:"",type:"primary",size:"small",class:"apt-h5-more-toggle",onClick:t[1]||(t[1]=l=>I.value=!I.value)},{default:c(()=>[k(n(I.value?"收起":"更多")+" ",1),m(f,{class:N({"rotate-180":I.value})},{default:c(()=>[m(d(Mt))]),_:1},8,["class"])]),_:1})]),at(e("div",os,[Qt.value?(i(),C(o,{key:0,modelValue:_.doctor_name,"onUpdate:modelValue":t[2]||(t[2]=l=>_.doctor_name=l),placeholder:"医生",clearable:"",size:"small",onKeyup:It(A,["enter"]),onClear:A},null,8,["modelValue"])):p("",!0),m(_e,{modelValue:P.value,"onUpdate:modelValue":t[3]||(t[3]=l=>P.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",size:"small",class:"apt-h5-date-range",onChange:jt},null,8,["modelValue"]),m(u,{size:"small",onClick:Jt},{default:c(()=>[...t[21]||(t[21]=[k("重置",-1)])]),_:1})],512),[[$e,I.value]])]),at((i(),r("main",is,[d(g).lists.length===0&&!d(g).loading?(i(),r("div",rs,[m(ge,{description:"暂无问诊","image-size":120})])):p("",!0),(i(!0),r($,null,G(d(g).lists,l=>(i(),r("article",{key:l.id,class:N(["apt-h5-card",te(l)])},[e("header",{class:"apt-h5-card-head",onClick:V=>bt(l)},[e("div",ps,n((l.patient_name||"患").charAt(0)),1),e("div",ds,[e("div",ms,[k(n(l.patient_name||"-")+" ",1),l.gender===1||l.gender===0?(i(),r("span",cs,n(l.gender===1?"男":"女"),1)):p("",!0),l.age!=null?(i(),r("span",vs,n(l.age)+"岁",1)):p("",!0)]),e("div",_s,"#"+n(l.id)+" · "+n(Bt(l.patient_phone)||"-"),1)]),e("div",gs,[e("span",{class:N(["apt-h5-tag",Zt(l.status)])},n(l.status_desc||ut(l.status)),3),l.diagnosis_confirmed?(i(),r("span",ys,"已确认")):(i(),r("span",fs,"未确认"))])],8,us),e("section",{class:"apt-h5-card-body",onClick:V=>bt(l)},[e("div",hs,[t[22]||(t[22]=e("span",{class:"apt-h5-row-key"},"预约",-1)),e("span",bs,n(l.appointment_date||"-")+" "+n(l.appointment_time||""),1)]),e("div",Cs,[t[23]||(t[23]=e("span",{class:"apt-h5-row-key"},"医生",-1)),e("span",Ds,n(l.doctor_name||"-"),1)]),e("div",Vs,[t[24]||(t[24]=e("span",{class:"apt-h5-row-key"},"助理",-1)),e("span",Es,n(l.assistant_name||"-"),1)]),e("div",$s,[t[25]||(t[25]=e("span",{class:"apt-h5-row-key"},"开方",-1)),e("span",Ps,[l.has_prescription?(i(),r("span",Ss,"已开方")):(i(),r("span",Ns,"未开方")),l.has_prescription&&l.prescription_is_system_auto===1?(i(),r("span",Ls,"系统代开")):p("",!0)])]),l.remark?(i(),r("div",Is,[t[26]||(t[26]=e("span",{class:"apt-h5-row-key"},"备注",-1)),e("span",Rs,n(l.remark),1)])):p("",!0)],8,ks),e("footer",As,[d(b)(["tcm.diagnosis/edit"])?(i(),C(u,{key:0,type:"primary",size:"small",plain:"",onClick:V=>dt(l)},{default:c(()=>[...t[27]||(t[27]=[k(" 编辑患者 ",-1)])]),_:1},8,["onClick"])):p("",!0),l.status!==3&&d(b)(["doctor.appointment/prescription"])?(i(),C(u,{key:1,type:"primary",size:"small",icon:d(Ue),onClick:V=>mt(l)},{default:c(()=>[...t[28]||(t[28]=[k(" 通话 ",-1)])]),_:1},8,["icon","onClick"])):p("",!0),d(b)(["tcm.diagnosis/kaifang"])?(i(),C(u,{key:2,type:st(l)==="查看"?"success":"primary",size:"small",plain:"",onClick:V=>ct(l)},{default:c(()=>[k(n(st(l)),1)]),_:2},1032,["type","onClick"])):p("",!0),m(u,{size:"small",class:"apt-h5-more-btn",onClick:V=>le(l)},{default:c(()=>[t[29]||(t[29]=k(" 更多",-1)),m(f,{class:"el-icon--right"},{default:c(()=>[m(d(Mt))]),_:1})]),_:1},8,["onClick"])])],2))),128)),j.value?(i(),r("div",{key:1,class:"apt-h5-load-more",onClick:Xt},n(d(g).loading?"加载中...":"加载更多"),1)):p("",!0),!j.value&&d(g).lists.length>0?(i(),r("div",Ts,"没有更多了")):p("",!0)])),[[Vt,d(g).loading]]),m(ye,{modelValue:x.value,"onUpdate:modelValue":t[8]||(t[8]=l=>x.value=l),title:D.value?`${D.value.patient_name||"问诊"} · 更多操作`:"更多操作",direction:"btt",size:"auto","destroy-on-close":!0},{default:c(()=>[D.value?(i(),r("div",Ms,[D.value.status!==3&&d(b)(["tcm.diagnosis/videoQr"])?(i(),r("button",{key:0,class:"apt-h5-action",onClick:t[4]||(t[4]=l=>U("videoQr"))},[m(f,null,{default:c(()=>[m(d(We))]),_:1}),t[30]||(t[30]=e("span",null,"视频二维码",-1))])):p("",!0),D.value.status!==3&&d(b)(["doctor.appointment/complete"])?(i(),r("button",{key:1,class:"apt-h5-action",onClick:t[5]||(t[5]=l=>U("complete"))},[m(f,null,{default:c(()=>[m(d(Be))]),_:1}),t[31]||(t[31]=e("span",null,"完成",-1))])):p("",!0),d(b)(["tcm.diagnosis/kaifang"])?(i(),r("button",{key:2,class:"apt-h5-action",onClick:t[6]||(t[6]=l=>U("case"))},[m(f,null,{default:c(()=>[m(d(Qe))]),_:1}),t[32]||(t[32]=e("span",null,"病历",-1))])):p("",!0),D.value.status===1&&d(b)(["doctor.appointment/cancel"])?(i(),r("button",{key:3,class:"apt-h5-action apt-h5-action--danger",onClick:t[7]||(t[7]=l=>U("cancel"))},[m(f,null,{default:c(()=>[m(d(Fe))]),_:1}),t[33]||(t[33]=e("span",null,"取消挂号",-1))])):p("",!0)])):p("",!0)]),_:1},8,["modelValue","title"])],64)):(i(),r($,{key:1},[e("header",Os,[e("button",{class:"apt-h5-back",onClick:Ct},[...t[34]||(t[34]=[e("span",null,"‹",-1),k(" 返回 ",-1)])]),e("div",qs,[e("strong",null,n(((Et=a.value)==null?void 0:Et.patient_name)||(($t=q.value)==null?void 0:$t.patient_name)||"问诊详情"),1),e("small",null,n(((Pt=a.value)==null?void 0:Pt.appointment_date)||((St=q.value)==null?void 0:St.appointment_date)||"")+" "+n(((Nt=a.value)==null?void 0:Nt.appointment_time)||((Lt=q.value)==null?void 0:Lt.appointment_time)||""),1)])]),at((i(),r("main",zs,[a.value?(i(),r($,{key:0},[e("section",xs,[t[41]||(t[41]=e("h3",null,"预约信息",-1)),e("div",Us,[e("div",null,[t[35]||(t[35]=e("span",null,"挂号ID",-1)),e("strong",null,n(a.value.id||"-"),1)]),e("div",null,[t[36]||(t[36]=e("span",null,"状态",-1)),e("strong",null,n(a.value.status_desc||ut(a.value.status)),1)]),e("div",null,[t[37]||(t[37]=e("span",null,"医生",-1)),e("strong",null,n(a.value.doctor_name||"-"),1)]),e("div",null,[t[38]||(t[38]=e("span",null,"预约时间",-1)),e("strong",null,n(a.value.appointment_date||"-")+" "+n(a.value.appointment_time||""),1)]),e("div",null,[t[39]||(t[39]=e("span",null,"时段",-1)),e("strong",null,n(a.value.period==="morning"?"上午":a.value.period==="afternoon"?"下午":"-"),1)]),e("div",null,[t[40]||(t[40]=e("span",null,"预约类型",-1)),e("strong",null,n(a.value.appointment_type_desc||"-"),1)])])]),e("section",Ws,[t[58]||(t[58]=e("h3",null,"患者信息",-1)),e("div",Bs,[e("div",null,[t[42]||(t[42]=e("span",null,"姓名",-1)),e("strong",null,n(a.value.patient_name||"-"),1)]),e("div",null,[t[43]||(t[43]=e("span",null,"手机号",-1)),e("strong",null,n(a.value.phone||a.value.patient_phone||"-"),1)]),e("div",Qs,[t[44]||(t[44]=e("span",null,"身份证号",-1)),e("strong",null,n(a.value.id_card||"-"),1)]),e("div",null,[t[45]||(t[45]=e("span",null,"性别",-1)),e("strong",null,n(a.value.gender===1?"男":a.value.gender===0?"女":"-"),1)]),e("div",null,[t[46]||(t[46]=e("span",null,"年龄",-1)),e("strong",null,n(a.value.age!=null?`${a.value.age}岁`:"-"),1)]),e("div",null,[t[47]||(t[47]=e("span",null,"诊断日期",-1)),e("strong",null,n(a.value.diagnosis_date||"-"),1)]),e("div",null,[t[48]||(t[48]=e("span",null,"婚姻状态",-1)),e("strong",null,n(ue(a.value.marital_status)),1)]),e("div",null,[t[49]||(t[49]=e("span",null,"身高(cm)",-1)),e("strong",null,n(a.value.height??"-"),1)]),e("div",null,[t[50]||(t[50]=e("span",null,"体重(kg)",-1)),e("strong",null,n(a.value.weight??"-"),1)]),e("div",Fs,[t[51]||(t[51]=e("span",null,"地区",-1)),e("strong",null,n(a.value.region||"-"),1)]),e("div",null,[t[52]||(t[52]=e("span",null,"收缩压(mmHg)",-1)),e("strong",null,n(a.value.systolic_pressure??"-"),1)]),e("div",null,[t[53]||(t[53]=e("span",null,"舒张压(mmHg)",-1)),e("strong",null,n(a.value.diastolic_pressure??"-"),1)]),e("div",null,[t[54]||(t[54]=e("span",null,"空腹血糖(mmol/L)",-1)),e("strong",null,n(a.value.fasting_blood_sugar??"-"),1)]),e("div",null,[t[55]||(t[55]=e("span",null,"诊断类型",-1)),e("strong",null,n(H(gt.value,a.value.diagnosis_type)),1)]),e("div",null,[t[56]||(t[56]=e("span",null,"证型",-1)),e("strong",null,n(H(yt.value,a.value.syndrome_type)),1)]),e("div",null,[t[57]||(t[57]=e("span",null,"糖尿病期数",-1)),e("strong",null,n(H(ft.value,a.value.diabetes_type)),1)])])]),me(a.value)?(i(),r("section",Hs,[t[63]||(t[63]=e("h3",null,"病史信息",-1)),e("div",Ys,[d(Tt)(a.value.diabetes_discovery_year)?(i(),r("div",ws,[t[59]||(t[59]=e("span",null,"发现糖尿病病史",-1)),e("strong",null,n(d(ze)(a.value.diabetes_discovery_year)),1)])):p("",!0),a.value.local_hospital_name?(i(),r("div",Gs,[t[60]||(t[60]=e("span",null,"当地就诊医院",-1)),e("strong",null,n(a.value.local_hospital_name),1)])):p("",!0),a.value.symptoms?(i(),r("div",Ks,[t[61]||(t[61]=e("span",null,"症状补充",-1)),e("strong",null,n(a.value.symptoms),1)])):p("",!0),a.value.past_history&&a.value.past_history.length?(i(),r("div",js,[t[62]||(t[62]=e("span",null,"既往史",-1)),e("strong",null,n(re(a.value.past_history)),1)])):p("",!0)])])):p("",!0),ce(a.value)?(i(),r("section",Js,[t[68]||(t[68]=e("h3",null,"诊断信息",-1)),e("div",Xs,[a.value.tongue_coating?(i(),r("div",Zs,[t[64]||(t[64]=e("span",null,"舌苔",-1)),e("strong",null,n(a.value.tongue_coating),1)])):p("",!0),a.value.pulse?(i(),r("div",tl,[t[65]||(t[65]=e("span",null,"脉象",-1)),e("strong",null,n(a.value.pulse),1)])):p("",!0),a.value.treatment_principle?(i(),r("div",el,[t[66]||(t[66]=e("span",null,"治则",-1)),e("strong",null,n(a.value.treatment_principle),1)])):p("",!0),a.value.prescription?(i(),r("div",sl,[t[67]||(t[67]=e("span",null,"处方",-1)),e("strong",null,n(a.value.prescription),1)])):p("",!0)])])):p("",!0),e("section",ll,[t[69]||(t[69]=e("h3",null,"备注",-1)),e("p",null,n(a.value.remark||"无"),1)])],64)):p("",!0)])),[[Vt,F.value]]),a.value?(i(),r("footer",al,[e("div",nl,[d(b)(["tcm.diagnosis/edit"])?(i(),C(u,{key:0,type:"primary",plain:"",onClick:t[9]||(t[9]=l=>dt(E.value))},{default:c(()=>[...t[70]||(t[70]=[k(" 编辑患者 ",-1)])]),_:1})):p("",!0),d(b)(["tcm.diagnosis/kaifang"])?(i(),C(u,{key:1,type:"primary",onClick:t[10]||(t[10]=l=>ct(E.value))},{default:c(()=>[k(n(st(E.value)),1)]),_:1})):p("",!0),E.value.status!==3&&d(b)(["doctor.appointment/prescription"])?(i(),C(u,{key:2,type:"primary",plain:"",onClick:t[11]||(t[11]=l=>mt(E.value))},{default:c(()=>[...t[71]||(t[71]=[k(" 通话 ",-1)])]),_:1})):p("",!0),E.value.status!==3&&d(b)(["doctor.appointment/complete"])?(i(),C(u,{key:3,type:"success",plain:"",onClick:t[12]||(t[12]=l=>vt(E.value))},{default:c(()=>[...t[72]||(t[72]=[k(" 完成 ",-1)])]),_:1})):p("",!0)])])):p("",!0)],64)),m(Dt,{modelValue:O.value,"onUpdate:modelValue":t[14]||(t[14]=l=>O.value=l),title:"视频二维码","close-on-click-modal":!1,class:"apt-h5-qr-dialog"},{footer:c(()=>[m(u,{onClick:t[13]||(t[13]=l=>O.value=!1)},{default:c(()=>[...t[75]||(t[75]=[k("关闭",-1)])]),_:1}),W.value?p("",!0):(i(),C(u,{key:0,type:"primary",onClick:ie},{default:c(()=>[...t[76]||(t[76]=[k("重新生成",-1)])]),_:1}))]),default:c(()=>{var l;return[e("div",ol,[W.value?(i(),r("div",il,[m(f,{class:"is-loading",size:36},{default:c(()=>[m(d(He))]),_:1}),t[73]||(t[73]=e("div",null,"生成中...",-1))])):B.value?(i(),r("div",rl,[e("img",{src:B.value,alt:"小程序二维码",class:"apt-h5-qr-img"},null,8,ul),e("div",pl,[e("div",null,"患者:"+n(((l=Q.value)==null?void 0:l.patient_name)||"-"),1),t[74]||(t[74]=e("div",null,"请使用微信扫描二维码",-1))])])):(i(),r("div",dl,"生成失败,请重试"))])]}),_:1},8,["modelValue"]),m(Dt,{modelValue:T.value,"onUpdate:modelValue":t[17]||(t[17]=l=>T.value=l),title:"完成问诊","close-on-click-modal":!1,class:"apt-h5-complete-dialog","destroy-on-close":""},{footer:c(()=>[m(u,{onClick:t[16]||(t[16]=l=>T.value=!1)},{default:c(()=>[...t[78]||(t[78]=[k("取消",-1)])]),_:1}),m(u,{type:"primary",loading:z.value,onClick:ae},{default:c(()=>[...t[79]||(t[79]=[k("确认完成",-1)])]),_:1},8,["loading"])]),default:c(()=>[e("div",ml,[t[77]||(t[77]=e("p",null,"确认患者已就诊完成?",-1)),et.value?(i(),C(o,{key:0,modelValue:M.value,"onUpdate:modelValue":t[15]||(t[15]=l=>M.value=l),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):p("",!0)])]),_:1},8,["modelValue"]),m(d(qt),{ref_key:"editRef",ref:X,onSuccess:t[18]||(t[18]=()=>h({silent:!0}))},null,512),m(d(zt),{ref_key:"prescriptionRef",ref:Z,onSuccess:se},null,512),m(d(xt),{ref_key:"chatDialogRef",ref:pt},null,512)])}}}),oa=Me(vl,[["__scopeId","data-v-e5adc4be"]]);export{oa as default}; diff --git a/server/public/admin/assets/login-B9ZNdsU2.css b/server/public/admin/assets/login-B9ZNdsU2.css new file mode 100644 index 000000000..f54034e54 --- /dev/null +++ b/server/public/admin/assets/login-B9ZNdsU2.css @@ -0,0 +1 @@ +.login[data-v-d340ab09]{background-image:url(/admin/assets/login_bg-BkIjQ0FB.png);min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat}.login .login-card[data-v-d340ab09]{height:auto;min-height:400px}.wxwork-qrcode-wrap[data-v-d340ab09]{display:flex;justify-content:center;align-items:center;min-height:400px}.wxwork-qrcode[data-v-d340ab09]{width:340px;height:400px;overflow:hidden}.wxwork-qrcode[data-v-d340ab09] iframe{width:340px!important;height:400px!important;border:none} diff --git a/server/public/admin/assets/login-BhxpzyyI.js b/server/public/admin/assets/login-BhxpzyyI.js new file mode 100644 index 000000000..384e8ccf6 --- /dev/null +++ b/server/public/admin/assets/login-BhxpzyyI.js @@ -0,0 +1 @@ +import{E as q,d as se,F as ie,G as le,B as ce,C as de,D as ue,H as me,i as pe,I as we}from"./element-plus-DGP1XOrU.js";import{e as _e,u as fe,f as $,A as D,h as ge,a as he,i as ve,c as xe,P as ke,j as ye,_ as be}from"./index-J_eFER10.js";import{w as M}from"./@vue/runtime-dom-DDAG46FW.js";import{l as K}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as Ee}from"./useLockFn-X4Qce5KO.js";import{_ as Ce}from"./footer.vue_vue_type_script_setup_true_lang-CVfad4ep.js";import{u as Le,a as Ue}from"./vue-router-QlpZ4wdW.js";import{f as Ie,w as Ve,n as S,b as Re,ak as l,I as c,J as s,a,aN as n,F as C,O as h,H as L,A as We}from"./@vue/runtime-core-C6bnekPw.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import{y as d,q as G,n as u,r as qe}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Se={class:"login flex flex-col"},Ae={class:"flex-1 flex items-center justify-center"},ze={class:"login-card flex rounded-md overflow-hidden"},He={class:"flex-1 h-full hidden md:inline-block"},Fe={class:"login-form bg-body flex flex-col justify-center px-10 py-10 md:w-[420px] w-[380px] flex-none mx-auto"},Ne={class:"text-center text-3xl font-medium mb-8"},Pe={key:0,class:"text-center py-10"},je={class:"text-gray-500"},Be={key:0,class:"flex justify-center mb-6"},$e={class:"mb-5"},De={class:"wxwork-qrcode-wrap"},Me={key:0,class:"text-center py-10"},Ke={key:1,id:"wxwork_qrcode_container",class:"wxwork-qrcode"},Te=Ie({__name:"login",setup(Ge){const A=G(),z=G(),J=_e(),U=fe(),I=Le(),w=Ue(),f=u(!1),H=We(()=>J.config),i=qe({account:"",password:""}),O={account:[{required:!0,message:"请输入账号",trigger:["blur"]}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}]},_=u("account"),F=u(!1),v=u({corp_id:"",agent_id:""}),x=u(!1),V=u(!1),N=u(!1),k=u(!1),Q=()=>/wxwork/i.test(navigator.userAgent),P=()=>window.location.origin+window.location.pathname,X=()=>{var o;if(!i.password)return(o=A.value)==null?void 0:o.focus();R()},R=async()=>{var e;await((e=z.value)==null?void 0:e.validate()),$.set(D,{remember:f.value,account:f.value?i.account:""});const o=await U.login(i);if(o.is_paw===0){w.push("/change-password");return}if(o.need_bind_work_wechat){w.push("/bind-work-wechat");return}j()},{isLock:Y,lockFn:Z}=Ee(R),ee=()=>{window.location.href=ye()},j=()=>{const{query:{redirect:o}}=I,e=typeof o=="string"?o:ke.INDEX;w.push(e)},oe=async o=>{x.value=!0;try{const e=await U.workWechatLogin(o);if(e.is_paw===0){w.push("/change-password");return}if(e.need_bind_work_wechat){w.push("/bind-work-wechat");return}j()}catch(e){console.error("企业微信登录失败:",e),q.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"企业微信登录失败,请使用账号密码登录"),x.value=!1,_.value="account"}},te=async o=>{k.value=!0;try{if((await U.iamHubLogin(o)).need_bind_work_wechat){w.push("/bind-work-wechat");return}window.location.replace("/admin/")}catch(e){console.error("IAM Hub 登录失败:",e),q.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"公司统一身份登录失败,请重新发起登录"),k.value=!1}},ae=async()=>{if(!v.value.corp_id)return;V.value=!0,window.WwLogin||await new Promise((e,m)=>{const r=document.createElement("script");r.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",r.onload=()=>e(),r.onerror=()=>m(new Error("加载企业微信JS失败")),document.head.appendChild(r)}),await S(),V.value=!1,await S();const o=encodeURIComponent(P());new window.WwLogin({id:"wxwork_qrcode_container",appid:v.value.corp_id,agentid:v.value.agent_id,redirect_uri:o,lang:"zh",state:"admin_login",href:"",self_redirect:!1})};return Ve(_,o=>{o==="wxwork"&&S(()=>ae())}),Re(async()=>{const o=$.get(D);o!=null&&o.remember&&(f.value=o.remember,i.account=o.account);const e=new URLSearchParams(window.location.hash.replace(/^#/,"")),m=e.get("iam_code"),r=e.get("iam_error");if((m||r)&&window.history.replaceState({},"",window.location.pathname+window.location.search),m){te(m);return}r&&q.error("公司统一身份登录失败,请重新发起登录");try{const t=await ge();N.value=(t==null?void 0:t.enabled)===!0}catch(t){console.warn("获取 IAM Hub 登录配置失败:",t)}const g=new URLSearchParams(window.location.search),y=g.get("code"),b=g.get("state");if(y&&b==="admin_login"){const t=window.location.pathname+(I.query.redirect?`?redirect=${I.query.redirect}`:"");window.history.replaceState({},"",t),oe(y);return}try{const t=await he();if(t!=null&&t.enabled&&(F.value=!0,v.value={corp_id:t.corp_id,agent_id:t.agent_id},Q())){const E=encodeURIComponent(P()),W=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${t.corp_id}&redirect_uri=${E}&response_type=code&scope=snsapi_privateinfo&agentid=${t.agent_id}&state=admin_login#wechat_redirect`;window.location.href=W,x.value=!0;return}}catch(t){console.warn("获取企业微信配置失败:",t)}}),(o,e)=>{const m=ve,r=se,g=ie,y=le,b=xe,t=de,E=ce,W=ue,ne=me,B=pe,re=we;return l(),c("div",Se,[s("div",Ae,[s("div",ze,[s("div",He,[a(m,{src:H.value.login_image,width:400,height:"100%"},null,8,["src"])]),s("div",Fe,[s("div",Ne,T(H.value.web_name),1),x.value||k.value?(l(),c("div",Pe,[a(r,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:n(()=>[a(d(K))]),_:1}),s("div",je,T(k.value?"公司统一身份登录中...":"企业微信授权登录中..."),1)])):(l(),c(C,{key:1},[F.value?(l(),c("div",Be,[a(y,{modelValue:_.value,"onUpdate:modelValue":e[0]||(e[0]=p=>_.value=p),size:"large"},{default:n(()=>[a(g,{value:"account"},{default:n(()=>[...e[4]||(e[4]=[h("账号登录",-1)])]),_:1}),a(g,{value:"wxwork"},{default:n(()=>[...e[5]||(e[5]=[h("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])])):L("",!0),_.value==="account"?(l(),c(C,{key:1},[a(W,{ref_key:"formRef",ref:z,model:d(i),size:"large",rules:O},{default:n(()=>[a(E,{prop:"account"},{default:n(()=>[a(t,{modelValue:d(i).account,"onUpdate:modelValue":e[1]||(e[1]=p=>d(i).account=p),placeholder:"请输入账号",onKeyup:M(X,["enter"])},{prepend:n(()=>[a(b,{name:"el-icon-User",size:"16"})]),_:1},8,["modelValue"])]),_:1}),a(E,{prop:"password"},{default:n(()=>[a(t,{ref_key:"passwordRef",ref:A,modelValue:d(i).password,"onUpdate:modelValue":e[2]||(e[2]=p=>d(i).password=p),"show-password":"",placeholder:"请输入密码",onKeyup:M(R,["enter"])},{prepend:n(()=>[a(b,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s("div",$e,[a(ne,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=p=>f.value=p),label:"记住账号"},null,8,["modelValue"])]),a(B,{type:"primary",size:"large",loading:d(Y),onClick:d(Z)},{default:n(()=>[...e[6]||(e[6]=[h(" 登录 ",-1)])]),_:1},8,["loading","onClick"]),N.value?(l(),c(C,{key:0},[a(re,null,{default:n(()=>[...e[7]||(e[7]=[h("或",-1)])]),_:1}),a(B,{size:"large",class:"w-full",onClick:ee},{default:n(()=>[...e[8]||(e[8]=[h(" 公司员工统一登录 ",-1)])]),_:1})],64)):L("",!0)],64)):L("",!0),_.value==="wxwork"?(l(),c(C,{key:2},[s("div",De,[V.value?(l(),c("div",Me,[a(r,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:n(()=>[a(d(K))]),_:1}),e[9]||(e[9]=s("div",{class:"mt-2 text-gray-400 text-sm"}," 加载企业微信扫码... ",-1))])):(l(),c("div",Ke))]),e[10]||(e[10]=s("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码登录 ",-1))],64)):L("",!0)],64))])])]),a(Ce)])}}}),Ao=be(Te,[["__scopeId","data-v-d340ab09"]]);export{Ao as default}; diff --git a/server/public/admin/assets/login-NzKmT1-_.css b/server/public/admin/assets/login-NzKmT1-_.css deleted file mode 100644 index b1232d946..000000000 --- a/server/public/admin/assets/login-NzKmT1-_.css +++ /dev/null @@ -1 +0,0 @@ -.login[data-v-b4a83949]{background-image:url(/admin/assets/login_bg-BkIjQ0FB.png);min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat}.login .login-card[data-v-b4a83949]{height:auto;min-height:400px}.wxwork-qrcode-wrap[data-v-b4a83949]{display:flex;justify-content:center;align-items:center;min-height:400px}.wxwork-qrcode[data-v-b4a83949]{width:340px;height:400px;overflow:hidden}.wxwork-qrcode[data-v-b4a83949] iframe{width:340px!important;height:400px!important;border:none} diff --git a/server/public/admin/assets/login-qHMv5bBU.js b/server/public/admin/assets/login-qHMv5bBU.js deleted file mode 100644 index 3e6d36bd8..000000000 --- a/server/public/admin/assets/login-qHMv5bBU.js +++ /dev/null @@ -1 +0,0 @@ -import{E as S,d as se,F as ie,G as le,B as ce,C as de,D as ue,H as me,i as pe,I as we}from"./element-plus-DGP1XOrU.js";import{e as _e,u as fe,f as $,A as D,h as ge,a as he,i as ve,c as xe,P as ke,j as ye,_ as be}from"./index-fRv3NTFQ.js";import{w as M}from"./@vue/runtime-dom-DDAG46FW.js";import{l as K}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as Ee}from"./useLockFn-X4Qce5KO.js";import{_ as Ce}from"./footer.vue_vue_type_script_setup_true_lang-COsLLTkC.js";import{u as Le,a as Ue}from"./vue-router-QlpZ4wdW.js";import{f as Ie,w as Ve,n as A,b as Re,ak as l,I as c,J as s,a,aN as n,F as C,O as h,H as L,A as We}from"./@vue/runtime-core-C6bnekPw.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import{y as d,q as G,n as u,r as qe}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Se={class:"login flex flex-col"},Ae={class:"flex-1 flex items-center justify-center"},ze={class:"login-card flex rounded-md overflow-hidden"},He={class:"flex-1 h-full hidden md:inline-block"},Fe={class:"login-form bg-body flex flex-col justify-center px-10 py-10 md:w-[420px] w-[380px] flex-none mx-auto"},Ne={class:"text-center text-3xl font-medium mb-8"},Pe={key:0,class:"text-center py-10"},je={class:"text-gray-500"},Be={key:0,class:"flex justify-center mb-6"},$e={class:"mb-5"},De={class:"wxwork-qrcode-wrap"},Me={key:0,class:"text-center py-10"},Ke={key:1,id:"wxwork_qrcode_container",class:"wxwork-qrcode"},Te=Ie({__name:"login",setup(Ge){const z=G(),H=G(),J=_e(),U=fe(),I=Le(),w=Ue(),f=u(!1),F=We(()=>J.config),i=qe({account:"",password:""}),O={account:[{required:!0,message:"请输入账号",trigger:["blur"]}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}]},_=u("account"),N=u(!1),v=u({corp_id:"",agent_id:""}),x=u(!1),V=u(!1),P=u(!1),k=u(!1),Q=()=>/wxwork/i.test(navigator.userAgent),j=()=>window.location.origin+window.location.pathname,X=()=>{var o;if(!i.password)return(o=z.value)==null?void 0:o.focus();R()},R=async()=>{var e;await((e=H.value)==null?void 0:e.validate()),$.set(D,{remember:f.value,account:f.value?i.account:""});const o=await U.login(i);if(o.is_paw===0){w.push("/change-password");return}if(o.need_bind_work_wechat){w.push("/bind-work-wechat");return}W()},{isLock:Y,lockFn:Z}=Ee(R),ee=()=>{window.location.href=ye()},W=()=>{const{query:{redirect:o}}=I,e=typeof o=="string"?o:ke.INDEX;w.push(e)},oe=async o=>{x.value=!0;try{const e=await U.workWechatLogin(o);if(e.is_paw===0){w.push("/change-password");return}if(e.need_bind_work_wechat){w.push("/bind-work-wechat");return}W()}catch(e){console.error("企业微信登录失败:",e),S.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"企业微信登录失败,请使用账号密码登录"),x.value=!1,_.value="account"}},te=async o=>{k.value=!0;try{if((await U.iamHubLogin(o)).need_bind_work_wechat){w.push("/bind-work-wechat");return}W()}catch(e){console.error("IAM Hub 登录失败:",e),S.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"公司统一身份登录失败,请重新发起登录"),k.value=!1}},ae=async()=>{if(!v.value.corp_id)return;V.value=!0,window.WwLogin||await new Promise((e,m)=>{const r=document.createElement("script");r.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",r.onload=()=>e(),r.onerror=()=>m(new Error("加载企业微信JS失败")),document.head.appendChild(r)}),await A(),V.value=!1,await A();const o=encodeURIComponent(j());new window.WwLogin({id:"wxwork_qrcode_container",appid:v.value.corp_id,agentid:v.value.agent_id,redirect_uri:o,lang:"zh",state:"admin_login",href:"",self_redirect:!1})};return Ve(_,o=>{o==="wxwork"&&A(()=>ae())}),Re(async()=>{const o=$.get(D);o!=null&&o.remember&&(f.value=o.remember,i.account=o.account);const e=new URLSearchParams(window.location.hash.replace(/^#/,"")),m=e.get("iam_code"),r=e.get("iam_error");if((m||r)&&window.history.replaceState({},"",window.location.pathname+window.location.search),m){te(m);return}r&&S.error("公司统一身份登录失败,请重新发起登录");try{const t=await ge();P.value=(t==null?void 0:t.enabled)===!0}catch(t){console.warn("获取 IAM Hub 登录配置失败:",t)}const g=new URLSearchParams(window.location.search),y=g.get("code"),b=g.get("state");if(y&&b==="admin_login"){const t=window.location.pathname+(I.query.redirect?`?redirect=${I.query.redirect}`:"");window.history.replaceState({},"",t),oe(y);return}try{const t=await he();if(t!=null&&t.enabled&&(N.value=!0,v.value={corp_id:t.corp_id,agent_id:t.agent_id},Q())){const E=encodeURIComponent(j()),q=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${t.corp_id}&redirect_uri=${E}&response_type=code&scope=snsapi_privateinfo&agentid=${t.agent_id}&state=admin_login#wechat_redirect`;window.location.href=q,x.value=!0;return}}catch(t){console.warn("获取企业微信配置失败:",t)}}),(o,e)=>{const m=ve,r=se,g=ie,y=le,b=xe,t=de,E=ce,q=ue,ne=me,B=pe,re=we;return l(),c("div",Se,[s("div",Ae,[s("div",ze,[s("div",He,[a(m,{src:F.value.login_image,width:400,height:"100%"},null,8,["src"])]),s("div",Fe,[s("div",Ne,T(F.value.web_name),1),x.value||k.value?(l(),c("div",Pe,[a(r,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:n(()=>[a(d(K))]),_:1}),s("div",je,T(k.value?"公司统一身份登录中...":"企业微信授权登录中..."),1)])):(l(),c(C,{key:1},[N.value?(l(),c("div",Be,[a(y,{modelValue:_.value,"onUpdate:modelValue":e[0]||(e[0]=p=>_.value=p),size:"large"},{default:n(()=>[a(g,{value:"account"},{default:n(()=>[...e[4]||(e[4]=[h("账号登录",-1)])]),_:1}),a(g,{value:"wxwork"},{default:n(()=>[...e[5]||(e[5]=[h("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])])):L("",!0),_.value==="account"?(l(),c(C,{key:1},[a(q,{ref_key:"formRef",ref:H,model:d(i),size:"large",rules:O},{default:n(()=>[a(E,{prop:"account"},{default:n(()=>[a(t,{modelValue:d(i).account,"onUpdate:modelValue":e[1]||(e[1]=p=>d(i).account=p),placeholder:"请输入账号",onKeyup:M(X,["enter"])},{prepend:n(()=>[a(b,{name:"el-icon-User",size:"16"})]),_:1},8,["modelValue"])]),_:1}),a(E,{prop:"password"},{default:n(()=>[a(t,{ref_key:"passwordRef",ref:z,modelValue:d(i).password,"onUpdate:modelValue":e[2]||(e[2]=p=>d(i).password=p),"show-password":"",placeholder:"请输入密码",onKeyup:M(R,["enter"])},{prepend:n(()=>[a(b,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s("div",$e,[a(ne,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=p=>f.value=p),label:"记住账号"},null,8,["modelValue"])]),a(B,{type:"primary",size:"large",loading:d(Y),onClick:d(Z)},{default:n(()=>[...e[6]||(e[6]=[h(" 登录 ",-1)])]),_:1},8,["loading","onClick"]),P.value?(l(),c(C,{key:0},[a(re,null,{default:n(()=>[...e[7]||(e[7]=[h("或",-1)])]),_:1}),a(B,{size:"large",class:"w-full",onClick:ee},{default:n(()=>[...e[8]||(e[8]=[h(" 公司员工统一登录 ",-1)])]),_:1})],64)):L("",!0)],64)):L("",!0),_.value==="wxwork"?(l(),c(C,{key:2},[s("div",De,[V.value?(l(),c("div",Me,[a(r,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:n(()=>[a(d(K))]),_:1}),e[9]||(e[9]=s("div",{class:"mt-2 text-gray-400 text-sm"}," 加载企业微信扫码... ",-1))])):(l(),c("div",Ke))]),e[10]||(e[10]=s("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码登录 ",-1))],64)):L("",!0)],64))])])]),a(Ce)])}}}),Ao=be(Te,[["__scopeId","data-v-b4a83949"]]);export{Ao as default}; diff --git a/server/public/admin/assets/login_register-CC_WxvcF.js b/server/public/admin/assets/login_register-BZlioH_J.js similarity index 96% rename from server/public/admin/assets/login_register-CC_WxvcF.js rename to server/public/admin/assets/login_register-BZlioH_J.js index 6420b3eba..75bc3a122 100644 --- a/server/public/admin/assets/login_register-CC_WxvcF.js +++ b/server/public/admin/assets/login_register-BZlioH_J.js @@ -1 +1 @@ -import{_ as q}from"./index-D6hiZISU.js";import{K as C,B,af as D,H as U,g as N,i as P,D as R}from"./element-plus-DGP1XOrU.js";import{g as F,s as S}from"./user-BEhg7-Z3.js";import{f as y,as as W,ak as b,I as G,a as l,aN as r,J as t,O as a,aP as I,G as L}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,n as j,r as w}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const A={class:"login-register"},H={class:"mt-1 ml-2"},J={class:"mt-1 ml-2"},K={class:"mt-1 ml-2"},O={href:"https://open.weixin.qq.com/",target:"_blank"},Q=y({name:"loginRegister"}),Re=y({...Q,setup(T){const d=j(),o=w({login_way:[],coerce_mobile:0,login_agreement:0,third_auth:0,wechat_auth:0,qq_auth:0}),V=w({loginWay:[{required:!0,validator:(s,e,m)=>{if(o.login_way.join("").length===0)m(new Error("登录方式至少选择一项!"));else{if(o.login_way!==""){if(!d.value)return;d.value.validateField("checkPass")}m()}},trigger:"change"}],coerce_mobile:[{required:!0,trigger:"blur"}],login_agreement:[{required:!0,trigger:"blur"}],third_auth:[{required:!0,trigger:"blur"}]}),f=async()=>{try{const s=await F();for(const e in o)o[e]=s[e]}catch(s){console.log("获取=>",s)}},k=async()=>{var s;await((s=d.value)==null?void 0:s.validate());try{await S(o),f()}catch(e){console.log("保存=>",e)}};return f(),(s,e)=>{const m=U,g=D,u=B,p=N,v=C,c=P,h=R,x=q,E=W("perms");return b(),G("div",A,[l(h,{ref_key:"formRef",ref:d,rules:i(V),model:i(o),"label-width":"120px"},{default:r(()=>[l(v,{shadow:"never",class:"!border-none"},{default:r(()=>[e[10]||(e[10]=t("div",{class:"font-medium mb-7"},"通用设置",-1)),l(u,{label:"登录方式",prop:"login_way"},{default:r(()=>[t("div",null,[l(g,{modelValue:i(o).login_way,"onUpdate:modelValue":e[0]||(e[0]=n=>i(o).login_way=n)},{default:r(()=>[l(m,{value:"1"},{default:r(()=>[...e[5]||(e[5]=[a("账号密码登录",-1)])]),_:1}),l(m,{value:"2"},{default:r(()=>[...e[6]||(e[6]=[a("手机验证码登录",-1)])]),_:1})]),_:1},8,["modelValue"]),e[7]||(e[7]=t("div",{class:"form-tips"},"系统通用登录方式,至少选择一项",-1))])]),_:1}),l(u,{label:"强制绑定手机",prop:"coerce_mobile"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).coerce_mobile,"onUpdate:modelValue":e[1]||(e[1]=n=>i(o).coerce_mobile=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",H,_(i(o).coerce_mobile?"开启":"关闭"),1),e[8]||(e[8]=t("div",{class:"form-tips"},[a(" 1、如果开启,则新用户在注册完成之后要强制绑定手机号"),t("br"),a(" 2、老用户登录时如果检测到没有绑定手机,则要重新绑定手机号 ")],-1))])]),_:1}),l(u,{label:"政策协议",prop:"login_agreement"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).login_agreement,"onUpdate:modelValue":e[2]||(e[2]=n=>i(o).login_agreement=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",J,_(i(o).login_agreement?"开启":"关闭"),1),e[9]||(e[9]=t("div",{class:"form-tips"},"登录/注册会员时,是否显示服务协议和隐私政策",-1))])]),_:1})]),_:1}),l(v,{shadow:"never",class:"!border-none mt-4"},{default:r(()=>[e[15]||(e[15]=t("div",{class:"font-medium mb-7"},"第三方设置",-1)),l(u,{label:"第三方登录",prop:"third_auth"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).third_auth,"onUpdate:modelValue":e[3]||(e[3]=n=>i(o).third_auth=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",K,_(i(o).third_auth?"开启":"关闭"),1),e[12]||(e[12]=t("div",{class:"form-tips"},"登录时支持第三方登录,新用户授权即自动注册账号",-1)),t("div",null,[l(m,{modelValue:i(o).wechat_auth,"onUpdate:modelValue":e[4]||(e[4]=n=>i(o).wechat_auth=n),"true-value":1,"false-value":0},{default:r(()=>[...e[11]||(e[11]=[a(" 微信登录 ",-1)])]),_:1},8,["modelValue"])])])]),_:1}),l(u,{label:"微信开放平台"},{default:r(()=>[t("div",null,[t("a",O,[l(c,{type:"primary",link:"",class:"underline"},{default:r(()=>[...e[13]||(e[13]=[a(" 前往微信开放平台 ",-1)])]),_:1})]),e[14]||(e[14]=t("div",{class:"form-tips"},[a(" 1、在各渠道使用微信授权登录时,强烈建议配置微信开放平台"),t("br"),a(" 2、微信开放平台关联公众号、小程序和APP后,可实现各端用户账号统一,识别买家唯一微信身份"),t("br"),a(" 3、没有配置微信开放平台,同一微信号会生成多个用户,配置微信开放平台后已生成的用户账号无法合并 ")],-1))])]),_:1})]),_:1})]),_:1},8,["rules","model"]),I((b(),L(x,null,{default:r(()=>[l(c,{type:"primary",onClick:k},{default:r(()=>[...e[16]||(e[16]=[a("保存",-1)])]),_:1})]),_:1})),[[E,["setting.user.user/setRegisterConfig"]]])])}}});export{Re as default}; +import{_ as q}from"./index-UGD9wxNK.js";import{K as C,B,af as D,H as U,g as N,i as P,D as R}from"./element-plus-DGP1XOrU.js";import{g as F,s as S}from"./user-DLPA6EUk.js";import{f as y,as as W,ak as b,I as G,a as l,aN as r,J as t,O as a,aP as I,G as L}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,n as j,r as w}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const A={class:"login-register"},H={class:"mt-1 ml-2"},J={class:"mt-1 ml-2"},K={class:"mt-1 ml-2"},O={href:"https://open.weixin.qq.com/",target:"_blank"},Q=y({name:"loginRegister"}),Re=y({...Q,setup(T){const d=j(),o=w({login_way:[],coerce_mobile:0,login_agreement:0,third_auth:0,wechat_auth:0,qq_auth:0}),V=w({loginWay:[{required:!0,validator:(s,e,m)=>{if(o.login_way.join("").length===0)m(new Error("登录方式至少选择一项!"));else{if(o.login_way!==""){if(!d.value)return;d.value.validateField("checkPass")}m()}},trigger:"change"}],coerce_mobile:[{required:!0,trigger:"blur"}],login_agreement:[{required:!0,trigger:"blur"}],third_auth:[{required:!0,trigger:"blur"}]}),f=async()=>{try{const s=await F();for(const e in o)o[e]=s[e]}catch(s){console.log("获取=>",s)}},k=async()=>{var s;await((s=d.value)==null?void 0:s.validate());try{await S(o),f()}catch(e){console.log("保存=>",e)}};return f(),(s,e)=>{const m=U,g=D,u=B,p=N,v=C,c=P,h=R,x=q,E=W("perms");return b(),G("div",A,[l(h,{ref_key:"formRef",ref:d,rules:i(V),model:i(o),"label-width":"120px"},{default:r(()=>[l(v,{shadow:"never",class:"!border-none"},{default:r(()=>[e[10]||(e[10]=t("div",{class:"font-medium mb-7"},"通用设置",-1)),l(u,{label:"登录方式",prop:"login_way"},{default:r(()=>[t("div",null,[l(g,{modelValue:i(o).login_way,"onUpdate:modelValue":e[0]||(e[0]=n=>i(o).login_way=n)},{default:r(()=>[l(m,{value:"1"},{default:r(()=>[...e[5]||(e[5]=[a("账号密码登录",-1)])]),_:1}),l(m,{value:"2"},{default:r(()=>[...e[6]||(e[6]=[a("手机验证码登录",-1)])]),_:1})]),_:1},8,["modelValue"]),e[7]||(e[7]=t("div",{class:"form-tips"},"系统通用登录方式,至少选择一项",-1))])]),_:1}),l(u,{label:"强制绑定手机",prop:"coerce_mobile"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).coerce_mobile,"onUpdate:modelValue":e[1]||(e[1]=n=>i(o).coerce_mobile=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",H,_(i(o).coerce_mobile?"开启":"关闭"),1),e[8]||(e[8]=t("div",{class:"form-tips"},[a(" 1、如果开启,则新用户在注册完成之后要强制绑定手机号"),t("br"),a(" 2、老用户登录时如果检测到没有绑定手机,则要重新绑定手机号 ")],-1))])]),_:1}),l(u,{label:"政策协议",prop:"login_agreement"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).login_agreement,"onUpdate:modelValue":e[2]||(e[2]=n=>i(o).login_agreement=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",J,_(i(o).login_agreement?"开启":"关闭"),1),e[9]||(e[9]=t("div",{class:"form-tips"},"登录/注册会员时,是否显示服务协议和隐私政策",-1))])]),_:1})]),_:1}),l(v,{shadow:"never",class:"!border-none mt-4"},{default:r(()=>[e[15]||(e[15]=t("div",{class:"font-medium mb-7"},"第三方设置",-1)),l(u,{label:"第三方登录",prop:"third_auth"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).third_auth,"onUpdate:modelValue":e[3]||(e[3]=n=>i(o).third_auth=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",K,_(i(o).third_auth?"开启":"关闭"),1),e[12]||(e[12]=t("div",{class:"form-tips"},"登录时支持第三方登录,新用户授权即自动注册账号",-1)),t("div",null,[l(m,{modelValue:i(o).wechat_auth,"onUpdate:modelValue":e[4]||(e[4]=n=>i(o).wechat_auth=n),"true-value":1,"false-value":0},{default:r(()=>[...e[11]||(e[11]=[a(" 微信登录 ",-1)])]),_:1},8,["modelValue"])])])]),_:1}),l(u,{label:"微信开放平台"},{default:r(()=>[t("div",null,[t("a",O,[l(c,{type:"primary",link:"",class:"underline"},{default:r(()=>[...e[13]||(e[13]=[a(" 前往微信开放平台 ",-1)])]),_:1})]),e[14]||(e[14]=t("div",{class:"form-tips"},[a(" 1、在各渠道使用微信授权登录时,强烈建议配置微信开放平台"),t("br"),a(" 2、微信开放平台关联公众号、小程序和APP后,可实现各端用户账号统一,识别买家唯一微信身份"),t("br"),a(" 3、没有配置微信开放平台,同一微信号会生成多个用户,配置微信开放平台后已生成的用户账号无法合并 ")],-1))])]),_:1})]),_:1})]),_:1},8,["rules","model"]),I((b(),L(x,null,{default:r(()=>[l(c,{type:"primary",onClick:k},{default:r(()=>[...e[16]||(e[16]=[a("保存",-1)])]),_:1})]),_:1})),[[E,["setting.user.user/setRegisterConfig"]]])])}}});export{Re as default}; diff --git a/server/public/admin/assets/medicine-DxV1j6hZ.js b/server/public/admin/assets/medicine-Cw2sIjNS.js similarity index 98% rename from server/public/admin/assets/medicine-DxV1j6hZ.js rename to server/public/admin/assets/medicine-Cw2sIjNS.js index 9898149ab..2626aa213 100644 --- a/server/public/admin/assets/medicine-DxV1j6hZ.js +++ b/server/public/admin/assets/medicine-Cw2sIjNS.js @@ -1 +1 @@ -import{D as ie,B as ne,C as ue,i as pe,N as de,O as me,v as ce,U as ge,M as fe,V as _e,d as ve,K as be,Q as ye,R as we,h as Ve,a0 as ke,G as xe,J as Ee,W as Ce,a as Ue}from"./element-plus-DGP1XOrU.js";import{A as R}from"./@element-plus/icons-vue-CbYn5zW9.js";import{g as he,k as d,_ as ze}from"./index-fRv3NTFQ.js";import{a as Be,b as De,c as Se,m as Te}from"./medicine-CEgParOp.js";import{f as M,b as Ie,ak as _,I as U,a as l,aN as a,O as n,aP as Ne,G as h,J as m,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import{y as q,n as g,r as Re}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const qe={class:"medicine-library"},Me={class:"flex justify-between items-center"},Ae={key:1,class:"text-gray-400"},Fe={class:"text-blue-600"},Le={class:"text-green-600 font-medium"},Pe={class:"flex justify-end mt-4"},je=["src"],Ge=M({name:"medicineLibrary"}),Oe=M({...Ge,setup(Qe){const k=g(!1),x=g(!1),f=g(!1),y=g(),r=Re({page_no:1,page_size:20,name:"",supplier:""}),B=g([]),D=g(0),s=g({name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""}),A={name:[{required:!0,message:"请输入药材名称",trigger:"blur"}],supplier:[{required:!0,message:"请输入供应商名称",trigger:"blur"}],unit:[{required:!0,message:"请选择单位",trigger:"change"}],settlement_price:[{required:!0,message:"请输入结算价",trigger:"blur"}],retail_price:[{required:!0,message:"请输入零售价",trigger:"blur"}]},F=z(()=>s.value.id?"编辑药品":"添加药品"),L=z(()=>"undefined/api/upload/image"),P=z(()=>({token:he()})),S=o=>{if(o==null||o==="")return"0.00";const e=typeof o=="string"?parseFloat(o):o;return isNaN(e)?"0.00":e.toFixed(2)},j=o=>o===0?"danger":o<10?"warning":"success",E=()=>{v()},G=()=>{r.name="",r.supplier="",r.page_no=1,v()},O=()=>{s.value={name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""},f.value=!0},Q=o=>{s.value={...o},f.value=!0},$=async o=>{try{await Ue.confirm("确定要删除该药品吗?","提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"}),await Be({id:o.id}),d.msgSuccess("删除成功"),v()}catch(e){e!=="cancel"&&d.msgError("删除失败")}},J=async()=>{y.value&&await y.value.validate(async o=>{if(o){x.value=!0;try{s.value.id?await De(s.value):await Se(s.value),d.msgSuccess("保存成功"),f.value=!1,v()}catch{d.msgError("保存失败")}finally{x.value=!1}}})},W=()=>{var o;(o=y.value)==null||o.resetFields()},H=o=>{const e=o.type.startsWith("image/"),w=o.size/1024/1024<2;return e?w?!0:(d.msgError("图片大小不能超过 2MB!"),!1):(d.msgError("只能上传图片文件!"),!1)},K=o=>{var e;o.code===1&&((e=o.data)!=null&&e.url)?(s.value.image=o.data.url,d.msgSuccess("上传成功")):d.msgError(o.msg||"上传失败")},v=async()=>{k.value=!0;try{const o=await Te(r);B.value=o.lists||[],D.value=o.count||0}catch(o){console.error("加载数据失败:",o),d.msgError("加载数据失败")}finally{k.value=!1}};return Ie(()=>{v()}),(o,e)=>{const w=ve,c=pe,b=ue,i=ne,T=ie,u=me,X=ce,I=ge,Y=de,Z=_e,ee=be,p=we,le=ye,C=Ve,te=ke,N=Ee,ae=xe,oe=Ce,se=fe;return _(),U("div",qe,[l(ee,{shadow:"never"},{header:a(()=>[m("div",Me,[e[15]||(e[15]=m("span",{class:"text-lg font-medium"},"药品库管理",-1)),l(c,{type:"primary",onClick:O},{default:a(()=>[l(w,{class:"mr-1"},{default:a(()=>[l(q(R))]),_:1}),e[14]||(e[14]=n(" 添加药品 ",-1))]),_:1})])]),default:a(()=>[l(T,{inline:"",class:"mb-4"},{default:a(()=>[l(i,{label:"药材名称"},{default:a(()=>[l(b,{modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=t=>r.name=t),placeholder:"请输入药材名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商"},{default:a(()=>[l(b,{modelValue:r.supplier,"onUpdate:modelValue":e[1]||(e[1]=t=>r.supplier=t),placeholder:"请输入供应商名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,null,{default:a(()=>[l(c,{type:"primary",onClick:E},{default:a(()=>[...e[16]||(e[16]=[n("查询",-1)])]),_:1}),l(c,{onClick:G},{default:a(()=>[...e[17]||(e[17]=[n("重置",-1)])]),_:1})]),_:1})]),_:1}),Ne((_(),h(Y,{data:B.value,border:"",stripe:""},{default:a(()=>[l(u,{type:"index",label:"序号",width:"60",align:"center"}),l(u,{prop:"image",label:"图片",width:"100",align:"center"},{default:a(({row:t})=>[t.image?(_(),h(X,{key:0,src:t.image,"preview-src-list":[t.image],fit:"cover",class:"w-16 h-16 rounded"},null,8,["src","preview-src-list"])):(_(),U("span",Ae,"暂无图片"))]),_:1}),l(u,{prop:"name",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(u,{prop:"supplier",label:"供应商","min-width":"120","show-overflow-tooltip":""}),l(u,{prop:"unit",label:"单位",width:"80",align:"center"}),l(u,{prop:"settlement_price",label:"结算价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Fe,V(S(t.settlement_price)),1)]),_:1}),l(u,{prop:"retail_price",label:"零售价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Le,V(S(t.retail_price)),1)]),_:1}),l(u,{prop:"stock",label:"库存",width:"100",align:"center"},{default:a(({row:t})=>[l(I,{type:j(t.stock),size:"small"},{default:a(()=>[n(V(t.stock||0),1)]),_:2},1032,["type"])]),_:1}),l(u,{prop:"status",label:"状态",width:"80",align:"center"},{default:a(({row:t})=>[l(I,{type:t.status===1?"success":"info",size:"small"},{default:a(()=>[n(V(t.status===1?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),l(u,{label:"操作",width:"160",fixed:"right",align:"center"},{default:a(({row:t})=>[l(c,{type:"primary",link:"",onClick:re=>Q(t)},{default:a(()=>[...e[18]||(e[18]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(c,{type:"danger",link:"",onClick:re=>$(t)},{default:a(()=>[...e[19]||(e[19]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[se,k.value]]),m("div",Pe,[l(Z,{"current-page":r.page_no,"onUpdate:currentPage":e[2]||(e[2]=t=>r.page_no=t),"page-size":r.page_size,"onUpdate:pageSize":e[3]||(e[3]=t=>r.page_size=t),total:D.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:E,onCurrentChange:E},null,8,["current-page","page-size","total"])])]),_:1}),l(oe,{modelValue:f.value,"onUpdate:modelValue":e[13]||(e[13]=t=>f.value=t),title:F.value,width:"600px","destroy-on-close":"",onClose:W},{footer:a(()=>[l(c,{onClick:e[12]||(e[12]=t=>f.value=!1)},{default:a(()=>[...e[25]||(e[25]=[n("取消",-1)])]),_:1}),l(c,{type:"primary",loading:x.value,onClick:J},{default:a(()=>[...e[26]||(e[26]=[n("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(T,{ref_key:"formRef",ref:y,model:s.value,rules:A,"label-width":"100px"},{default:a(()=>[l(i,{label:"药材名称",prop:"name"},{default:a(()=>[l(b,{modelValue:s.value.name,"onUpdate:modelValue":e[4]||(e[4]=t=>s.value.name=t),placeholder:"请输入药材名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商",prop:"supplier"},{default:a(()=>[l(b,{modelValue:s.value.supplier,"onUpdate:modelValue":e[5]||(e[5]=t=>s.value.supplier=t),placeholder:"请输入供应商名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"单位",prop:"unit"},{default:a(()=>[l(le,{modelValue:s.value.unit,"onUpdate:modelValue":e[6]||(e[6]=t=>s.value.unit=t),placeholder:"请选择单位",clearable:"",style:{width:"100%"}},{default:a(()=>[l(p,{label:"克",value:"克"}),l(p,{label:"千克",value:"千克"}),l(p,{label:"斤",value:"斤"}),l(p,{label:"盒",value:"盒"}),l(p,{label:"瓶",value:"瓶"}),l(p,{label:"袋",value:"袋"}),l(p,{label:"包",value:"包"}),l(p,{label:"片",value:"片"}),l(p,{label:"粒",value:"粒"}),l(p,{label:"支",value:"支"})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"结算价",prop:"settlement_price"},{default:a(()=>[l(C,{modelValue:s.value.settlement_price,"onUpdate:modelValue":e[7]||(e[7]=t=>s.value.settlement_price=t),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"]),e[20]||(e[20]=m("span",{class:"ml-2 text-gray-500 text-sm"},"元",-1))]),_:1}),l(i,{label:"零售价",prop:"retail_price"},{default:a(()=>[l(C,{modelValue:s.value.retail_price,"onUpdate:modelValue":e[8]||(e[8]=t=>s.value.retail_price=t),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"]),e[21]||(e[21]=m("span",{class:"ml-2 text-gray-500 text-sm"},"元",-1))]),_:1}),l(i,{label:"库存",prop:"stock"},{default:a(()=>[l(C,{modelValue:s.value.stock,"onUpdate:modelValue":e[9]||(e[9]=t=>s.value.stock=t),min:0,step:1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(i,{label:"药品图片",prop:"image"},{default:a(()=>[l(te,{class:"medicine-uploader",action:L.value,headers:P.value,"show-file-list":!1,"on-success":K,"before-upload":H,accept:"image/*"},{default:a(()=>[s.value.image?(_(),U("img",{key:0,src:s.value.image,class:"medicine-image"},null,8,je)):(_(),h(w,{key:1,class:"medicine-uploader-icon"},{default:a(()=>[l(q(R))]),_:1}))]),_:1},8,["action","headers"]),e[22]||(e[22]=m("div",{class:"text-gray-500 text-xs mt-1"},"建议尺寸:300x300像素,支持jpg、png格式,大小不超过2MB",-1))]),_:1}),l(i,{label:"状态",prop:"status"},{default:a(()=>[l(ae,{modelValue:s.value.status,"onUpdate:modelValue":e[10]||(e[10]=t=>s.value.status=t)},{default:a(()=>[l(N,{label:1},{default:a(()=>[...e[23]||(e[23]=[n("启用",-1)])]),_:1}),l(N,{label:0},{default:a(()=>[...e[24]||(e[24]=[n("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"备注"},{default:a(()=>[l(b,{modelValue:s.value.remark,"onUpdate:modelValue":e[11]||(e[11]=t=>s.value.remark=t),type:"textarea",rows:3,placeholder:"请输入备注信息",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Dl=ze(Oe,[["__scopeId","data-v-26913840"]]);export{Dl as default}; +import{D as ie,B as ne,C as ue,i as pe,N as de,O as me,v as ce,U as ge,M as fe,V as _e,d as ve,K as be,Q as ye,R as we,h as Ve,a0 as ke,G as xe,J as Ee,W as Ce,a as Ue}from"./element-plus-DGP1XOrU.js";import{A as R}from"./@element-plus/icons-vue-CbYn5zW9.js";import{g as he,k as d,_ as ze}from"./index-J_eFER10.js";import{a as Be,b as De,c as Se,m as Te}from"./medicine-DIQyk1R0.js";import{f as M,b as Ie,ak as _,I as U,a as l,aN as a,O as n,aP as Ne,G as h,J as m,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import{y as q,n as g,r as Re}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const qe={class:"medicine-library"},Me={class:"flex justify-between items-center"},Ae={key:1,class:"text-gray-400"},Fe={class:"text-blue-600"},Le={class:"text-green-600 font-medium"},Pe={class:"flex justify-end mt-4"},je=["src"],Ge=M({name:"medicineLibrary"}),Oe=M({...Ge,setup(Qe){const k=g(!1),x=g(!1),f=g(!1),y=g(),r=Re({page_no:1,page_size:20,name:"",supplier:""}),B=g([]),D=g(0),s=g({name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""}),A={name:[{required:!0,message:"请输入药材名称",trigger:"blur"}],supplier:[{required:!0,message:"请输入供应商名称",trigger:"blur"}],unit:[{required:!0,message:"请选择单位",trigger:"change"}],settlement_price:[{required:!0,message:"请输入结算价",trigger:"blur"}],retail_price:[{required:!0,message:"请输入零售价",trigger:"blur"}]},F=z(()=>s.value.id?"编辑药品":"添加药品"),L=z(()=>"undefined/api/upload/image"),P=z(()=>({token:he()})),S=o=>{if(o==null||o==="")return"0.00";const e=typeof o=="string"?parseFloat(o):o;return isNaN(e)?"0.00":e.toFixed(2)},j=o=>o===0?"danger":o<10?"warning":"success",E=()=>{v()},G=()=>{r.name="",r.supplier="",r.page_no=1,v()},O=()=>{s.value={name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""},f.value=!0},Q=o=>{s.value={...o},f.value=!0},$=async o=>{try{await Ue.confirm("确定要删除该药品吗?","提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"}),await Be({id:o.id}),d.msgSuccess("删除成功"),v()}catch(e){e!=="cancel"&&d.msgError("删除失败")}},J=async()=>{y.value&&await y.value.validate(async o=>{if(o){x.value=!0;try{s.value.id?await De(s.value):await Se(s.value),d.msgSuccess("保存成功"),f.value=!1,v()}catch{d.msgError("保存失败")}finally{x.value=!1}}})},W=()=>{var o;(o=y.value)==null||o.resetFields()},H=o=>{const e=o.type.startsWith("image/"),w=o.size/1024/1024<2;return e?w?!0:(d.msgError("图片大小不能超过 2MB!"),!1):(d.msgError("只能上传图片文件!"),!1)},K=o=>{var e;o.code===1&&((e=o.data)!=null&&e.url)?(s.value.image=o.data.url,d.msgSuccess("上传成功")):d.msgError(o.msg||"上传失败")},v=async()=>{k.value=!0;try{const o=await Te(r);B.value=o.lists||[],D.value=o.count||0}catch(o){console.error("加载数据失败:",o),d.msgError("加载数据失败")}finally{k.value=!1}};return Ie(()=>{v()}),(o,e)=>{const w=ve,c=pe,b=ue,i=ne,T=ie,u=me,X=ce,I=ge,Y=de,Z=_e,ee=be,p=we,le=ye,C=Ve,te=ke,N=Ee,ae=xe,oe=Ce,se=fe;return _(),U("div",qe,[l(ee,{shadow:"never"},{header:a(()=>[m("div",Me,[e[15]||(e[15]=m("span",{class:"text-lg font-medium"},"药品库管理",-1)),l(c,{type:"primary",onClick:O},{default:a(()=>[l(w,{class:"mr-1"},{default:a(()=>[l(q(R))]),_:1}),e[14]||(e[14]=n(" 添加药品 ",-1))]),_:1})])]),default:a(()=>[l(T,{inline:"",class:"mb-4"},{default:a(()=>[l(i,{label:"药材名称"},{default:a(()=>[l(b,{modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=t=>r.name=t),placeholder:"请输入药材名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商"},{default:a(()=>[l(b,{modelValue:r.supplier,"onUpdate:modelValue":e[1]||(e[1]=t=>r.supplier=t),placeholder:"请输入供应商名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,null,{default:a(()=>[l(c,{type:"primary",onClick:E},{default:a(()=>[...e[16]||(e[16]=[n("查询",-1)])]),_:1}),l(c,{onClick:G},{default:a(()=>[...e[17]||(e[17]=[n("重置",-1)])]),_:1})]),_:1})]),_:1}),Ne((_(),h(Y,{data:B.value,border:"",stripe:""},{default:a(()=>[l(u,{type:"index",label:"序号",width:"60",align:"center"}),l(u,{prop:"image",label:"图片",width:"100",align:"center"},{default:a(({row:t})=>[t.image?(_(),h(X,{key:0,src:t.image,"preview-src-list":[t.image],fit:"cover",class:"w-16 h-16 rounded"},null,8,["src","preview-src-list"])):(_(),U("span",Ae,"暂无图片"))]),_:1}),l(u,{prop:"name",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(u,{prop:"supplier",label:"供应商","min-width":"120","show-overflow-tooltip":""}),l(u,{prop:"unit",label:"单位",width:"80",align:"center"}),l(u,{prop:"settlement_price",label:"结算价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Fe,V(S(t.settlement_price)),1)]),_:1}),l(u,{prop:"retail_price",label:"零售价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Le,V(S(t.retail_price)),1)]),_:1}),l(u,{prop:"stock",label:"库存",width:"100",align:"center"},{default:a(({row:t})=>[l(I,{type:j(t.stock),size:"small"},{default:a(()=>[n(V(t.stock||0),1)]),_:2},1032,["type"])]),_:1}),l(u,{prop:"status",label:"状态",width:"80",align:"center"},{default:a(({row:t})=>[l(I,{type:t.status===1?"success":"info",size:"small"},{default:a(()=>[n(V(t.status===1?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),l(u,{label:"操作",width:"160",fixed:"right",align:"center"},{default:a(({row:t})=>[l(c,{type:"primary",link:"",onClick:re=>Q(t)},{default:a(()=>[...e[18]||(e[18]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(c,{type:"danger",link:"",onClick:re=>$(t)},{default:a(()=>[...e[19]||(e[19]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[se,k.value]]),m("div",Pe,[l(Z,{"current-page":r.page_no,"onUpdate:currentPage":e[2]||(e[2]=t=>r.page_no=t),"page-size":r.page_size,"onUpdate:pageSize":e[3]||(e[3]=t=>r.page_size=t),total:D.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:E,onCurrentChange:E},null,8,["current-page","page-size","total"])])]),_:1}),l(oe,{modelValue:f.value,"onUpdate:modelValue":e[13]||(e[13]=t=>f.value=t),title:F.value,width:"600px","destroy-on-close":"",onClose:W},{footer:a(()=>[l(c,{onClick:e[12]||(e[12]=t=>f.value=!1)},{default:a(()=>[...e[25]||(e[25]=[n("取消",-1)])]),_:1}),l(c,{type:"primary",loading:x.value,onClick:J},{default:a(()=>[...e[26]||(e[26]=[n("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(T,{ref_key:"formRef",ref:y,model:s.value,rules:A,"label-width":"100px"},{default:a(()=>[l(i,{label:"药材名称",prop:"name"},{default:a(()=>[l(b,{modelValue:s.value.name,"onUpdate:modelValue":e[4]||(e[4]=t=>s.value.name=t),placeholder:"请输入药材名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商",prop:"supplier"},{default:a(()=>[l(b,{modelValue:s.value.supplier,"onUpdate:modelValue":e[5]||(e[5]=t=>s.value.supplier=t),placeholder:"请输入供应商名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"单位",prop:"unit"},{default:a(()=>[l(le,{modelValue:s.value.unit,"onUpdate:modelValue":e[6]||(e[6]=t=>s.value.unit=t),placeholder:"请选择单位",clearable:"",style:{width:"100%"}},{default:a(()=>[l(p,{label:"克",value:"克"}),l(p,{label:"千克",value:"千克"}),l(p,{label:"斤",value:"斤"}),l(p,{label:"盒",value:"盒"}),l(p,{label:"瓶",value:"瓶"}),l(p,{label:"袋",value:"袋"}),l(p,{label:"包",value:"包"}),l(p,{label:"片",value:"片"}),l(p,{label:"粒",value:"粒"}),l(p,{label:"支",value:"支"})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"结算价",prop:"settlement_price"},{default:a(()=>[l(C,{modelValue:s.value.settlement_price,"onUpdate:modelValue":e[7]||(e[7]=t=>s.value.settlement_price=t),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"]),e[20]||(e[20]=m("span",{class:"ml-2 text-gray-500 text-sm"},"元",-1))]),_:1}),l(i,{label:"零售价",prop:"retail_price"},{default:a(()=>[l(C,{modelValue:s.value.retail_price,"onUpdate:modelValue":e[8]||(e[8]=t=>s.value.retail_price=t),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"]),e[21]||(e[21]=m("span",{class:"ml-2 text-gray-500 text-sm"},"元",-1))]),_:1}),l(i,{label:"库存",prop:"stock"},{default:a(()=>[l(C,{modelValue:s.value.stock,"onUpdate:modelValue":e[9]||(e[9]=t=>s.value.stock=t),min:0,step:1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(i,{label:"药品图片",prop:"image"},{default:a(()=>[l(te,{class:"medicine-uploader",action:L.value,headers:P.value,"show-file-list":!1,"on-success":K,"before-upload":H,accept:"image/*"},{default:a(()=>[s.value.image?(_(),U("img",{key:0,src:s.value.image,class:"medicine-image"},null,8,je)):(_(),h(w,{key:1,class:"medicine-uploader-icon"},{default:a(()=>[l(q(R))]),_:1}))]),_:1},8,["action","headers"]),e[22]||(e[22]=m("div",{class:"text-gray-500 text-xs mt-1"},"建议尺寸:300x300像素,支持jpg、png格式,大小不超过2MB",-1))]),_:1}),l(i,{label:"状态",prop:"status"},{default:a(()=>[l(ae,{modelValue:s.value.status,"onUpdate:modelValue":e[10]||(e[10]=t=>s.value.status=t)},{default:a(()=>[l(N,{label:1},{default:a(()=>[...e[23]||(e[23]=[n("启用",-1)])]),_:1}),l(N,{label:0},{default:a(()=>[...e[24]||(e[24]=[n("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"备注"},{default:a(()=>[l(b,{modelValue:s.value.remark,"onUpdate:modelValue":e[11]||(e[11]=t=>s.value.remark=t),type:"textarea",rows:3,placeholder:"请输入备注信息",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Dl=ze(Oe,[["__scopeId","data-v-26913840"]]);export{Dl as default}; diff --git a/server/public/admin/assets/medicine-CEgParOp.js b/server/public/admin/assets/medicine-DIQyk1R0.js similarity index 81% rename from server/public/admin/assets/medicine-CEgParOp.js rename to server/public/admin/assets/medicine-DIQyk1R0.js index 8d3b9f6a8..b37efa51f 100644 --- a/server/public/admin/assets/medicine-CEgParOp.js +++ b/server/public/admin/assets/medicine-DIQyk1R0.js @@ -1 +1 @@ -import{r as i}from"./index-fRv3NTFQ.js";function r(e){return i.get({url:"/doctor.medicine/lists",params:e})}function n(e){return i.post({url:"/doctor.medicine/add",params:e})}function d(e){return i.post({url:"/doctor.medicine/edit",params:e})}function o(e){return i.post({url:"/doctor.medicine/delete",params:e})}export{o as a,d as b,n as c,r as m}; +import{r as i}from"./index-J_eFER10.js";function r(e){return i.get({url:"/doctor.medicine/lists",params:e})}function n(e){return i.post({url:"/doctor.medicine/add",params:e})}function d(e){return i.post({url:"/doctor.medicine/edit",params:e})}function o(e){return i.post({url:"/doctor.medicine/delete",params:e})}export{o as a,d as b,n as c,r as m}; diff --git a/server/public/admin/assets/menu-jRNdRy5r.js b/server/public/admin/assets/menu-Bn6AOgrY.js similarity index 86% rename from server/public/admin/assets/menu-jRNdRy5r.js rename to server/public/admin/assets/menu-Bn6AOgrY.js index 4effa851c..62a920932 100644 --- a/server/public/admin/assets/menu-jRNdRy5r.js +++ b/server/public/admin/assets/menu-Bn6AOgrY.js @@ -1 +1 @@ -import{r as t}from"./index-fRv3NTFQ.js";function n(u){return t.get({url:"/auth.menu/lists",params:u})}function r(u){return t.get({url:"/auth.menu/all",params:u})}function a(u){return t.post({url:"/auth.menu/add",params:u})}function l(u){return t.post({url:"/auth.menu/edit",params:u})}function m(u){return t.post({url:"/auth.menu/delete",params:u})}function s(u){return t.get({url:"/auth.menu/detail",params:u})}export{n as a,l as b,a as c,s as d,m as e,r as m}; +import{r as t}from"./index-J_eFER10.js";function n(u){return t.get({url:"/auth.menu/lists",params:u})}function r(u){return t.get({url:"/auth.menu/all",params:u})}function a(u){return t.post({url:"/auth.menu/add",params:u})}function l(u){return t.post({url:"/auth.menu/edit",params:u})}function m(u){return t.post({url:"/auth.menu/delete",params:u})}function s(u){return t.get({url:"/auth.menu/detail",params:u})}export{n as a,l as b,a as c,s as d,m as e,r as m}; diff --git a/server/public/admin/assets/menu-CVaxMLtS.js b/server/public/admin/assets/menu-Czs2_ERZ.js similarity index 96% rename from server/public/admin/assets/menu-CVaxMLtS.js rename to server/public/admin/assets/menu-Czs2_ERZ.js index ab01a837f..641ed5780 100644 --- a/server/public/admin/assets/menu-CVaxMLtS.js +++ b/server/public/admin/assets/menu-Czs2_ERZ.js @@ -1 +1 @@ -import{y as u,w as d}from"./element-plus-DGP1XOrU.js";import{f as _,ak as t,I as r,a as f,aN as i,F as x,ap as V,G as h,J as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as y}from"./@vue/shared-mAAVTE9n.js";import{_ as g}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const v={class:"pages-menu"},B=_({__name:"menu",props:{menus:{type:Object,default:()=>({})},modelValue:{type:String,default:"1"}},emits:["update:modelValue"],setup(e,{emit:p}){const a=p,n=o=>{a("update:modelValue",o)};return(o,S)=>{const s=d,l=u;return t(),r("div",v,[f(l,{"default-active":e.modelValue,class:"w-[160px] min-h-[668px]",onSelect:n},{default:i(()=>[(t(!0),r(x,null,V(e.menus,(m,c)=>(t(),h(s,{index:c,key:m.id},{default:i(()=>[k("span",null,y(m.name),1)]),_:2},1032,["index"]))),128))]),_:1},8,["default-active"])])}}}),nt=g(B,[["__scopeId","data-v-2f7567ae"]]);export{nt as default}; +import{y as u,w as d}from"./element-plus-DGP1XOrU.js";import{f as _,ak as t,I as r,a as f,aN as i,F as x,ap as V,G as h,J as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as y}from"./@vue/shared-mAAVTE9n.js";import{_ as g}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const v={class:"pages-menu"},B=_({__name:"menu",props:{menus:{type:Object,default:()=>({})},modelValue:{type:String,default:"1"}},emits:["update:modelValue"],setup(e,{emit:p}){const a=p,n=o=>{a("update:modelValue",o)};return(o,S)=>{const s=d,l=u;return t(),r("div",v,[f(l,{"default-active":e.modelValue,class:"w-[160px] min-h-[668px]",onSelect:n},{default:i(()=>[(t(!0),r(x,null,V(e.menus,(m,c)=>(t(),h(s,{index:c,key:m.id},{default:i(()=>[k("span",null,y(m.name),1)]),_:2},1032,["index"]))),128))]),_:1},8,["default-active"])])}}}),nt=g(B,[["__scopeId","data-v-2f7567ae"]]);export{nt as default}; diff --git a/server/public/admin/assets/menu-Cz3DbxDt.js b/server/public/admin/assets/menu-JxKcZi6I.js similarity index 79% rename from server/public/admin/assets/menu-Cz3DbxDt.js rename to server/public/admin/assets/menu-JxKcZi6I.js index c486379a8..aee0c225a 100644 --- a/server/public/admin/assets/menu-Cz3DbxDt.js +++ b/server/public/admin/assets/menu-JxKcZi6I.js @@ -1 +1 @@ -import{_ as x}from"./index-D6hiZISU.js";import{L as k,K as w,i as b}from"./element-plus-DGP1XOrU.js";import C from"./oa-attr-DN37hWLr.js";import y from"./oa-phone-B-CHUk5L.js";import{u as O}from"./useMenuOa-TRPv5Mx7.js";import{f as _,as as g,ak as e,I as B,a as o,aN as t,J as a,aP as n,G as s,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as c}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-fRv3NTFQ.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dc1nFBAH.js";import"./index-D5PquIeg.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js";import"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CH8fn-SB.js";import"./wx_oa-BuVhGwqh.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const E={class:"menu-oa"},N={class:"lg:flex flex-1"},P={class:"mt-4 lg:mt-0 max-w-[400px]"},V=_({name:"wxOaMenu"}),A=_({...V,setup(D){const{getOaMenuFunc:d,handleSave:u,handlePublish:f}=O(void 0);return d(),(I,r)=>{const v=k,i=w,m=b,h=x,p=g("perms");return e(),B("div",E,[o(i,{class:"!border-none",shadow:"never"},{default:t(()=>[o(v,{type:"warning",title:"配置微信公众号菜单,点击确认,保存菜单并发布至微信公众号",closable:!1,"show-icon":""})]),_:1}),o(i,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[a("div",N,[o(y),a("div",P,[o(C)])])]),_:1}),o(h,null,{default:t(()=>[n((e(),s(m,{type:"primary",onClick:c(u)},{default:t(()=>[...r[0]||(r[0]=[l(" 保存 ",-1)])]),_:1},8,["onClick"])),[[p,["channel:oaMenu:save"]]]),n((e(),s(m,{type:"primary",onClick:c(f)},{default:t(()=>[...r[1]||(r[1]=[l(" 发布 ",-1)])]),_:1},8,["onClick"])),[[p,["channel:oaMenu:publish"]]])]),_:1})])}}}),Eo=M(A,[["__scopeId","data-v-681915d2"]]);export{Eo as default}; +import{_ as x}from"./index-UGD9wxNK.js";import{L as k,K as w,i as b}from"./element-plus-DGP1XOrU.js";import C from"./oa-attr-B8Vj6nQj.js";import y from"./oa-phone-88iTfWtw.js";import{u as O}from"./useMenuOa-C_WMnKf2.js";import{f as _,as as g,ak as e,I as B,a as o,aN as t,J as a,aP as n,G as s,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as c}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-J_eFER10.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-sgqCyAwB.js";import"./index-BVjWjU3h.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js";import"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js";import"./wx_oa-Bi2y5vRS.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const E={class:"menu-oa"},N={class:"lg:flex flex-1"},P={class:"mt-4 lg:mt-0 max-w-[400px]"},V=_({name:"wxOaMenu"}),A=_({...V,setup(D){const{getOaMenuFunc:d,handleSave:u,handlePublish:f}=O(void 0);return d(),(I,r)=>{const v=k,i=w,m=b,h=x,p=g("perms");return e(),B("div",E,[o(i,{class:"!border-none",shadow:"never"},{default:t(()=>[o(v,{type:"warning",title:"配置微信公众号菜单,点击确认,保存菜单并发布至微信公众号",closable:!1,"show-icon":""})]),_:1}),o(i,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[a("div",N,[o(y),a("div",P,[o(C)])])]),_:1}),o(h,null,{default:t(()=>[n((e(),s(m,{type:"primary",onClick:c(u)},{default:t(()=>[...r[0]||(r[0]=[l(" 保存 ",-1)])]),_:1},8,["onClick"])),[[p,["channel:oaMenu:save"]]]),n((e(),s(m,{type:"primary",onClick:c(f)},{default:t(()=>[...r[1]||(r[1]=[l(" 发布 ",-1)])]),_:1},8,["onClick"])),[[p,["channel:oaMenu:publish"]]])]),_:1})])}}}),Eo=M(A,[["__scopeId","data-v-681915d2"]]);export{Eo as default}; diff --git a/server/public/admin/assets/menu-set-BuJ09Hlb.js b/server/public/admin/assets/menu-set-Cg8wW997.js similarity index 70% rename from server/public/admin/assets/menu-set-BuJ09Hlb.js rename to server/public/admin/assets/menu-set-Cg8wW997.js index 092030b01..79390989c 100644 --- a/server/public/admin/assets/menu-set-BuJ09Hlb.js +++ b/server/public/admin/assets/menu-set-Cg8wW997.js @@ -1 +1 @@ -import{_ as o}from"./menu-set.vue_vue_type_script_setup_true_lang-Dugyuqkl.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Dc1nFBAH.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./menu-set.vue_vue_type_script_setup_true_lang-B71z3XWb.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-sgqCyAwB.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-Dugyuqkl.js b/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-B71z3XWb.js similarity index 94% rename from server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-Dugyuqkl.js rename to server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-B71z3XWb.js index 19c3306c5..e887b513a 100644 --- a/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-Dugyuqkl.js +++ b/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-B71z3XWb.js @@ -1 +1 @@ -import{B,C as D,g as z,i as N}from"./element-plus-DGP1XOrU.js";import{_ as $}from"./index-Dc1nFBAH.js";import{_ as F}from"./picker-8l5NOLQi.js";import{_ as I}from"./picker-C0hwSppU.js";import{c as A,k as x}from"./index-fRv3NTFQ.js";import{D as P}from"./vuedraggable-5bKFmC7X.js";import{k as R}from"./lodash-es-C2A-Pj28.js";import{f as G,ak as n,I as H,J as d,a,aN as l,G as i,H as p,O as J,F as O,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{a as T,y as _}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"mb-[18px] max-w-[400px]"},q={class:"bg-fill-light w-full p-4 mt-4"},K={class:"upload-btn w-[60px] h-[60px]"},L={class:"upload-btn w-[60px] h-[60px]"},M={class:"flex-1 flex items-center"},Q={class:"drag-move cursor-move ml-auto"},se=G({__name:"menu-set",props:{modelValue:{},max:{default:9999},min:{default:-1},itemData:{default:()=>({name:"",selected:"",unselected:"",is_show:"1",link:{}})}},emits:["update:modelValue"],setup(f,{emit:v}){const u=f,k=v,t=S({get(){return u.modelValue},set(m){k("update:modelValue",m)}}),g=()=>{var m;((m=t.value)==null?void 0:m.length){if(t.value.length<=u.min&&u.min>-1)return x.msgError(`最少保留${u.min}个`);t.value.splice(m,1)};return(m,s)=>{const r=A,V=I,c=B,b=D,w=F,y=z,U=$,C=N;return n(),H(O,null,[d("div",j,[a(_(P),{class:"draggable",modelValue:_(t),"onUpdate:modelValue":s[0]||(s[0]=e=>T(t)?t.value=e:null),animation:"300",handle:".drag-move","item-key":"index"},{item:l(({element:e,index:E})=>[a(U,{onClose:o=>h(E),class:"max-w-[400px]"},{default:l(()=>[d("div",q,[e.unselected!==void 0||e.selected!==void 0?(n(),i(c,{key:0,label:"导航图标"},{default:l(()=>[e.unselected!==void 0?(n(),i(V,{key:0,modelValue:e.unselected,"onUpdate:modelValue":o=>e.unselected=o,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:l(()=>[d("div",K,[a(r,{name:"el-icon-Plus",size:16}),s[1]||(s[1]=d("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):p("",!0),e.selected!==void 0?(n(),i(V,{key:1,modelValue:e.selected,"onUpdate:modelValue":o=>e.selected=o,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:l(()=>[d("div",L,[a(r,{name:"el-icon-Plus",size:16}),s[2]||(s[2]=d("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):p("",!0)]),_:2},1024)):p("",!0),e.name!==void 0?(n(),i(c,{key:1,label:"导航名称"},{default:l(()=>[a(b,{modelValue:e.name,"onUpdate:modelValue":o=>e.name=o,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):p("",!0),e.link!==void 0?(n(),i(c,{key:2,label:"链接地址"},{default:l(()=>[a(w,{modelValue:e.link,"onUpdate:modelValue":o=>e.link=o,type:"pc"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):p("",!0),e.is_show!==void 0?(n(),i(c,{key:3,label:"是否显示"},{default:l(()=>[d("div",M,[a(y,{modelValue:e.is_show,"onUpdate:modelValue":o=>e.is_show=o,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),d("div",Q,[a(r,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)):p("",!0)])]),_:2},1032,["onClose"])]),_:1},8,["modelValue"])]),_(t).length[a(C,{type:"primary",onClick:g},{default:l(()=>[...s[3]||(s[3]=[J(" 添加导航 ",-1)])]),_:1})]),_:1})):p("",!0)],64)}}});export{se as _}; +import{B,C as D,g as z,i as N}from"./element-plus-DGP1XOrU.js";import{_ as $}from"./index-sgqCyAwB.js";import{_ as F}from"./picker-CeVtQr2X.js";import{_ as I}from"./picker-lbwHqE-a.js";import{c as A,k as x}from"./index-J_eFER10.js";import{D as P}from"./vuedraggable-5bKFmC7X.js";import{k as R}from"./lodash-es-C2A-Pj28.js";import{f as G,ak as n,I as H,J as d,a,aN as l,G as i,H as p,O as J,F as O,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{a as T,y as _}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"mb-[18px] max-w-[400px]"},q={class:"bg-fill-light w-full p-4 mt-4"},K={class:"upload-btn w-[60px] h-[60px]"},L={class:"upload-btn w-[60px] h-[60px]"},M={class:"flex-1 flex items-center"},Q={class:"drag-move cursor-move ml-auto"},se=G({__name:"menu-set",props:{modelValue:{},max:{default:9999},min:{default:-1},itemData:{default:()=>({name:"",selected:"",unselected:"",is_show:"1",link:{}})}},emits:["update:modelValue"],setup(f,{emit:v}){const u=f,k=v,t=S({get(){return u.modelValue},set(m){k("update:modelValue",m)}}),g=()=>{var m;((m=t.value)==null?void 0:m.length){if(t.value.length<=u.min&&u.min>-1)return x.msgError(`最少保留${u.min}个`);t.value.splice(m,1)};return(m,s)=>{const r=A,V=I,c=B,b=D,w=F,y=z,U=$,C=N;return n(),H(O,null,[d("div",j,[a(_(P),{class:"draggable",modelValue:_(t),"onUpdate:modelValue":s[0]||(s[0]=e=>T(t)?t.value=e:null),animation:"300",handle:".drag-move","item-key":"index"},{item:l(({element:e,index:E})=>[a(U,{onClose:o=>h(E),class:"max-w-[400px]"},{default:l(()=>[d("div",q,[e.unselected!==void 0||e.selected!==void 0?(n(),i(c,{key:0,label:"导航图标"},{default:l(()=>[e.unselected!==void 0?(n(),i(V,{key:0,modelValue:e.unselected,"onUpdate:modelValue":o=>e.unselected=o,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:l(()=>[d("div",K,[a(r,{name:"el-icon-Plus",size:16}),s[1]||(s[1]=d("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):p("",!0),e.selected!==void 0?(n(),i(V,{key:1,modelValue:e.selected,"onUpdate:modelValue":o=>e.selected=o,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:l(()=>[d("div",L,[a(r,{name:"el-icon-Plus",size:16}),s[2]||(s[2]=d("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):p("",!0)]),_:2},1024)):p("",!0),e.name!==void 0?(n(),i(c,{key:1,label:"导航名称"},{default:l(()=>[a(b,{modelValue:e.name,"onUpdate:modelValue":o=>e.name=o,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):p("",!0),e.link!==void 0?(n(),i(c,{key:2,label:"链接地址"},{default:l(()=>[a(w,{modelValue:e.link,"onUpdate:modelValue":o=>e.link=o,type:"pc"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):p("",!0),e.is_show!==void 0?(n(),i(c,{key:3,label:"是否显示"},{default:l(()=>[d("div",M,[a(y,{modelValue:e.is_show,"onUpdate:modelValue":o=>e.is_show=o,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),d("div",Q,[a(r,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)):p("",!0)])]),_:2},1032,["onClose"])]),_:1},8,["modelValue"])]),_(t).length[a(C,{type:"primary",onClick:g},{default:l(()=>[...s[3]||(s[3]=[J(" 添加导航 ",-1)])]),_:1})]),_:1})):p("",!0)],64)}}});export{se as _}; diff --git a/server/public/admin/assets/message-DOlfHejJ.js b/server/public/admin/assets/message-BwLlJSkW.js similarity index 87% rename from server/public/admin/assets/message-DOlfHejJ.js rename to server/public/admin/assets/message-BwLlJSkW.js index aec448193..f1473903d 100644 --- a/server/public/admin/assets/message-DOlfHejJ.js +++ b/server/public/admin/assets/message-BwLlJSkW.js @@ -1 +1 @@ -import{r as n}from"./index-fRv3NTFQ.js";function i(t){return n.get({url:"/notice.notice/settingLists",params:t})}function s(t){return n.get({url:"/notice.notice/detail",params:t})}function o(t){return n.post({url:"/notice.notice/set",params:t})}function r(){return n.get({url:"/notice.sms_config/getConfig"})}function c(t){return n.get({url:"/notice.sms_config/detail",params:t})}function u(t){return n.post({url:"/notice.sms_config/setConfig",params:t})}export{i as a,u as b,c,r as d,s as n,o as s}; +import{r as n}from"./index-J_eFER10.js";function i(t){return n.get({url:"/notice.notice/settingLists",params:t})}function s(t){return n.get({url:"/notice.notice/detail",params:t})}function o(t){return n.post({url:"/notice.notice/set",params:t})}function r(){return n.get({url:"/notice.sms_config/getConfig"})}function c(t){return n.get({url:"/notice.sms_config/detail",params:t})}function u(t){return n.post({url:"/notice.sms_config/setConfig",params:t})}export{i as a,u as b,c,r as d,s as n,o as s}; diff --git a/server/public/admin/assets/mobile-style-CdEh2jmr.js b/server/public/admin/assets/mobile-style-FEnJ57u3.js similarity index 91% rename from server/public/admin/assets/mobile-style-CdEh2jmr.js rename to server/public/admin/assets/mobile-style-FEnJ57u3.js index f076edd30..bfb127d45 100644 --- a/server/public/admin/assets/mobile-style-CdEh2jmr.js +++ b/server/public/admin/assets/mobile-style-FEnJ57u3.js @@ -1 +1 @@ -import{_ as o}from"./mobile-style.vue_vue_type_script_setup_true_lang-BPf5hzWL.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./theme-picker-DBEHQPAJ.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./mobile-style.vue_vue_type_script_setup_true_lang-BkY-Hl4A.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./theme-picker-4kexhjea.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-BPf5hzWL.js b/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-BkY-Hl4A.js similarity index 98% rename from server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-BPf5hzWL.js rename to server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-BkY-Hl4A.js index 9d3291f69..a3ab5fa95 100644 --- a/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-BPf5hzWL.js +++ b/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-BkY-Hl4A.js @@ -1 +1 @@ -import{B as k,G as B,J as y,D}from"./element-plus-DGP1XOrU.js";import{_ as I}from"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import{d as E}from"./@vueuse/core-1S4fJlii.js";import N from"./theme-picker-DBEHQPAJ.js";import{f as T,ak as m,G as c,aN as n,J as o,a as t,O as C,H as i,I as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as e,n as z}from"./@vue/reactivity-DiY1c2vO.js";const U="/admin/assets/blue1-gLOo1H0w.png",q="/admin/assets/blue2-CRQPdLZd.png",P="/admin/assets/blue3-D3K9OqGO.png",G="/admin/assets/green1-h1zqes95.png",O="/admin/assets/green2-C-VRKLSN.png",L="/admin/assets/green3-CPorIQiC.png",R="/admin/assets/purple1-BpMq9FWz.png",W="/admin/assets/purple2-C0tQkldV.png",J="/admin/assets/purple3-BGd0LxTa.png",K="/admin/assets/yellow1-Ebw0T5sw.png",Q="/admin/assets/yellow2-B-WtqITJ.png",Z="/admin/assets/yellow3-C_qd9cqN.png",A="/admin/assets/red1-C6Y3UuNB.png",H="/admin/assets/red2-Dw8p71sP.png",M="/admin/assets/red3-NOuWP8DK.png",S="/admin/assets/pink1-BWNZrP7C.png",Y="/admin/assets/pink2-BpEp33zy.png",$="/admin/assets/pink3-BxZ4Y6CS.png",j={key:0,class:"flex"},X={key:1,class:"flex"},h={key:2,class:"flex"},ll={key:3,class:"flex"},ol={key:4,class:"flex"},sl={key:5,class:"flex"},il=T({__name:"mobile-style",props:{modelValue:{}},emits:["update:modelValue"],setup(_,{emit:f}){const w=_,v=z([{id:1,name:"科技蓝",color1:"#2F80ED",color2:"#56CCF2",btnColor:"white"},{id:2,name:"偏绿蓝",color1:"#2EC840",color2:"#3DE650",btnColor:"white"},{id:3,name:"商务紫",color1:"#A74BFD",color2:"#CB60FF",btnColor:"white"},{id:4,name:"活力橙",color1:"#F7971E",color2:"#FFD200",btnColor:"black"},{id:5,name:"经典红",color1:"#FF2C3C",color2:"#EF1D2D",btnColor:"white"},{id:6,name:"美妆色",color1:"#FD498F",color2:"#FA444D",btnColor:"white"},{id:7,name:"自定义",color1:"#F8F8F8",color2:"#F5F5F5",btnColor:"white"}]),F=f,b=a=>{a.id!=7&&(s.value.themeColor1=a.color1,s.value.themeColor2=a.color2,s.value.navigationBarColor=a.color1,s.value.buttonColor=a.btnColor,s.value.topTextColor=a.btnColor)},s=E(w,"modelValue",F);return(a,l)=>{const p=k,u=y,g=B,x=I,V=D;return m(),c(V,{"label-width":"140px"},{default:n(()=>[o("div",null,[l[6]||(l[6]=o("div",{class:"text-xl font-medium mb-[20px]"},"系统主题色",-1)),t(p,{"label-width":"50"},{default:n(()=>[t(N,{modelValue:e(s).themeColorId,"onUpdate:modelValue":l[0]||(l[0]=r=>e(s).themeColorId=r),"theme-colors":e(v),onChange:b},null,8,["modelValue","theme-colors"])]),_:1})]),o("div",null,[l[14]||(l[14]=o("div",{class:"text-xl font-medium mt-[40px] mb-[20px]"},"样式设置",-1)),t(p,{label:"导航顶部文字颜色"},{default:n(()=>[o("div",null,[t(g,{modelValue:e(s).topTextColor,"onUpdate:modelValue":l[1]||(l[1]=r=>e(s).topTextColor=r)},{default:n(()=>[t(u,{value:"white",size:"large"},{default:n(()=>[...l[7]||(l[7]=[C("白色",-1)])]),_:1}),t(u,{value:"black",size:"large"},{default:n(()=>[...l[8]||(l[8]=[C("黑色",-1)])]),_:1})]),_:1},8,["modelValue"]),l[9]||(l[9]=o("div",null,[o("span",{class:"form-tips"},"页面导航栏文字的颜色")],-1))])]),_:1}),t(p,{label:"导航顶部背景颜色"},{default:n(()=>[o("div",null,[t(x,{resetColor:e(s).themeColor1,modelValue:e(s).navigationBarColor,"onUpdate:modelValue":l[2]||(l[2]=r=>e(s).navigationBarColor=r)},null,8,["resetColor","modelValue"]),l[10]||(l[10]=o("div",null,[o("span",{class:"form-tips"}," 页面顶部导航栏背景颜色,不设置则跟随主题色 ")],-1))])]),_:1}),e(s).themeColorId==7?(m(),c(p,{key:0,label:"自定义主题颜色"},{default:n(()=>[o("div",null,[t(x,{modelValue:e(s).themeColor1,"onUpdate:modelValue":l[3]||(l[3]=r=>e(s).themeColor1=r),"default-color":"#F8F8F8"},null,8,["modelValue"]),t(x,{modelValue:e(s).themeColor2,"onUpdate:modelValue":l[4]||(l[4]=r=>e(s).themeColor2=r),"default-color":"#F8F8F8",class:"mt-2"},null,8,["modelValue"]),l[11]||(l[11]=o("div",null,[o("span",{class:"form-tips"},"自定义主题渐变色,用于按钮类和主要文字")],-1))])]),_:1})):i("",!0),t(p,{label:"按钮文字颜色"},{default:n(()=>[o("div",null,[t(g,{modelValue:e(s).buttonColor,"onUpdate:modelValue":l[5]||(l[5]=r=>e(s).buttonColor=r)},{default:n(()=>[t(u,{value:"white",size:"large"},{default:n(()=>[...l[12]||(l[12]=[C("白色",-1)])]),_:1}),t(u,{value:"black",size:"large"},{default:n(()=>[...l[13]||(l[13]=[C("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),o("div",null,[e(s).themeColorId==1?(m(),d("div",j,[...l[15]||(l[15]=[o("img",{class:"w-[200px]",src:U},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:q},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:P},null,-1)])])):i("",!0),e(s).themeColorId==2?(m(),d("div",X,[...l[16]||(l[16]=[o("img",{class:"w-[200px]",src:G},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:O},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:L},null,-1)])])):i("",!0),e(s).themeColorId==3?(m(),d("div",h,[...l[17]||(l[17]=[o("img",{class:"w-[200px]",src:R},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:W},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:J},null,-1)])])):i("",!0),e(s).themeColorId==4?(m(),d("div",ll,[...l[18]||(l[18]=[o("img",{class:"w-[200px]",src:K},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Q},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Z},null,-1)])])):i("",!0),e(s).themeColorId==5?(m(),d("div",ol,[...l[19]||(l[19]=[o("img",{class:"w-[200px]",src:A},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:H},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:M},null,-1)])])):i("",!0),e(s).themeColorId==6?(m(),d("div",sl,[...l[20]||(l[20]=[o("img",{class:"w-[200px]",src:S},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Y},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:$},null,-1)])])):i("",!0)])]),_:1})}}});export{il as _}; +import{B as k,G as B,J as y,D}from"./element-plus-DGP1XOrU.js";import{_ as I}from"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import{d as E}from"./@vueuse/core-1S4fJlii.js";import N from"./theme-picker-4kexhjea.js";import{f as T,ak as m,G as c,aN as n,J as o,a as t,O as C,H as i,I as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as e,n as z}from"./@vue/reactivity-DiY1c2vO.js";const U="/admin/assets/blue1-gLOo1H0w.png",q="/admin/assets/blue2-CRQPdLZd.png",P="/admin/assets/blue3-D3K9OqGO.png",G="/admin/assets/green1-h1zqes95.png",O="/admin/assets/green2-C-VRKLSN.png",L="/admin/assets/green3-CPorIQiC.png",R="/admin/assets/purple1-BpMq9FWz.png",W="/admin/assets/purple2-C0tQkldV.png",J="/admin/assets/purple3-BGd0LxTa.png",K="/admin/assets/yellow1-Ebw0T5sw.png",Q="/admin/assets/yellow2-B-WtqITJ.png",Z="/admin/assets/yellow3-C_qd9cqN.png",A="/admin/assets/red1-C6Y3UuNB.png",H="/admin/assets/red2-Dw8p71sP.png",M="/admin/assets/red3-NOuWP8DK.png",S="/admin/assets/pink1-BWNZrP7C.png",Y="/admin/assets/pink2-BpEp33zy.png",$="/admin/assets/pink3-BxZ4Y6CS.png",j={key:0,class:"flex"},X={key:1,class:"flex"},h={key:2,class:"flex"},ll={key:3,class:"flex"},ol={key:4,class:"flex"},sl={key:5,class:"flex"},il=T({__name:"mobile-style",props:{modelValue:{}},emits:["update:modelValue"],setup(_,{emit:f}){const w=_,v=z([{id:1,name:"科技蓝",color1:"#2F80ED",color2:"#56CCF2",btnColor:"white"},{id:2,name:"偏绿蓝",color1:"#2EC840",color2:"#3DE650",btnColor:"white"},{id:3,name:"商务紫",color1:"#A74BFD",color2:"#CB60FF",btnColor:"white"},{id:4,name:"活力橙",color1:"#F7971E",color2:"#FFD200",btnColor:"black"},{id:5,name:"经典红",color1:"#FF2C3C",color2:"#EF1D2D",btnColor:"white"},{id:6,name:"美妆色",color1:"#FD498F",color2:"#FA444D",btnColor:"white"},{id:7,name:"自定义",color1:"#F8F8F8",color2:"#F5F5F5",btnColor:"white"}]),F=f,b=a=>{a.id!=7&&(s.value.themeColor1=a.color1,s.value.themeColor2=a.color2,s.value.navigationBarColor=a.color1,s.value.buttonColor=a.btnColor,s.value.topTextColor=a.btnColor)},s=E(w,"modelValue",F);return(a,l)=>{const p=k,u=y,g=B,x=I,V=D;return m(),c(V,{"label-width":"140px"},{default:n(()=>[o("div",null,[l[6]||(l[6]=o("div",{class:"text-xl font-medium mb-[20px]"},"系统主题色",-1)),t(p,{"label-width":"50"},{default:n(()=>[t(N,{modelValue:e(s).themeColorId,"onUpdate:modelValue":l[0]||(l[0]=r=>e(s).themeColorId=r),"theme-colors":e(v),onChange:b},null,8,["modelValue","theme-colors"])]),_:1})]),o("div",null,[l[14]||(l[14]=o("div",{class:"text-xl font-medium mt-[40px] mb-[20px]"},"样式设置",-1)),t(p,{label:"导航顶部文字颜色"},{default:n(()=>[o("div",null,[t(g,{modelValue:e(s).topTextColor,"onUpdate:modelValue":l[1]||(l[1]=r=>e(s).topTextColor=r)},{default:n(()=>[t(u,{value:"white",size:"large"},{default:n(()=>[...l[7]||(l[7]=[C("白色",-1)])]),_:1}),t(u,{value:"black",size:"large"},{default:n(()=>[...l[8]||(l[8]=[C("黑色",-1)])]),_:1})]),_:1},8,["modelValue"]),l[9]||(l[9]=o("div",null,[o("span",{class:"form-tips"},"页面导航栏文字的颜色")],-1))])]),_:1}),t(p,{label:"导航顶部背景颜色"},{default:n(()=>[o("div",null,[t(x,{resetColor:e(s).themeColor1,modelValue:e(s).navigationBarColor,"onUpdate:modelValue":l[2]||(l[2]=r=>e(s).navigationBarColor=r)},null,8,["resetColor","modelValue"]),l[10]||(l[10]=o("div",null,[o("span",{class:"form-tips"}," 页面顶部导航栏背景颜色,不设置则跟随主题色 ")],-1))])]),_:1}),e(s).themeColorId==7?(m(),c(p,{key:0,label:"自定义主题颜色"},{default:n(()=>[o("div",null,[t(x,{modelValue:e(s).themeColor1,"onUpdate:modelValue":l[3]||(l[3]=r=>e(s).themeColor1=r),"default-color":"#F8F8F8"},null,8,["modelValue"]),t(x,{modelValue:e(s).themeColor2,"onUpdate:modelValue":l[4]||(l[4]=r=>e(s).themeColor2=r),"default-color":"#F8F8F8",class:"mt-2"},null,8,["modelValue"]),l[11]||(l[11]=o("div",null,[o("span",{class:"form-tips"},"自定义主题渐变色,用于按钮类和主要文字")],-1))])]),_:1})):i("",!0),t(p,{label:"按钮文字颜色"},{default:n(()=>[o("div",null,[t(g,{modelValue:e(s).buttonColor,"onUpdate:modelValue":l[5]||(l[5]=r=>e(s).buttonColor=r)},{default:n(()=>[t(u,{value:"white",size:"large"},{default:n(()=>[...l[12]||(l[12]=[C("白色",-1)])]),_:1}),t(u,{value:"black",size:"large"},{default:n(()=>[...l[13]||(l[13]=[C("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),o("div",null,[e(s).themeColorId==1?(m(),d("div",j,[...l[15]||(l[15]=[o("img",{class:"w-[200px]",src:U},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:q},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:P},null,-1)])])):i("",!0),e(s).themeColorId==2?(m(),d("div",X,[...l[16]||(l[16]=[o("img",{class:"w-[200px]",src:G},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:O},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:L},null,-1)])])):i("",!0),e(s).themeColorId==3?(m(),d("div",h,[...l[17]||(l[17]=[o("img",{class:"w-[200px]",src:R},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:W},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:J},null,-1)])])):i("",!0),e(s).themeColorId==4?(m(),d("div",ll,[...l[18]||(l[18]=[o("img",{class:"w-[200px]",src:K},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Q},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Z},null,-1)])])):i("",!0),e(s).themeColorId==5?(m(),d("div",ol,[...l[19]||(l[19]=[o("img",{class:"w-[200px]",src:A},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:H},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:M},null,-1)])])):i("",!0),e(s).themeColorId==6?(m(),d("div",sl,[...l[20]||(l[20]=[o("img",{class:"w-[200px]",src:S},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Y},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:$},null,-1)])])):i("",!0)])]),_:1})}}});export{il as _}; diff --git a/server/public/admin/assets/mubiao-B0CIVglk.js b/server/public/admin/assets/mubiao-Dv-wql71.js similarity index 97% rename from server/public/admin/assets/mubiao-B0CIVglk.js rename to server/public/admin/assets/mubiao-Dv-wql71.js index a4e46a437..07aaaa94b 100644 --- a/server/public/admin/assets/mubiao-B0CIVglk.js +++ b/server/public/admin/assets/mubiao-Dv-wql71.js @@ -1 +1 @@ -import{d as Q,S as U,i as W,M as j}from"./element-plus-DGP1XOrU.js";import{a as q}from"./@vue/runtime-dom-DDAG46FW.js";import{a6 as H,M as B,f as K,a7 as X}from"./@element-plus/icons-vue-CbYn5zW9.js";import I from"./mubiao-dept-card-2mhD6goO.js";import{d as Z,i as tt}from"./finance-BnbY_luA.js";import{k as F,_ as et}from"./index-fRv3NTFQ.js";import{f as E,b as at,as as ot,ak as r,I as f,J as a,a as i,aN as s,O as g,aP as T,G as M,F as V,ap as Y,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{n as _,y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const lt={class:"mubiao-page"},it={class:"toolbar"},nt={class:"toolbar__left"},rt={class:"toolbar__icon"},st={class:"toolbar__center"},dt={class:"month-picker-wrap"},ut={class:"toolbar__right"},mt={class:"summary-strip"},ct={class:"summary-item"},_t={class:"summary-item__val"},pt={class:"summary-item"},ft={class:"summary-item__val primary"},vt={"element-loading-text":"数据加载中…",class:"board-wrap"},ht={key:0,class:"empty-state"},gt={class:"empty-state__icon"},yt={class:"empty-state__title"},bt={class:"empty-state__desc"},kt={key:1,class:"board-grid"},wt=E({name:"financeMubiao"}),St=E({...wt,setup(Mt){function k(t){const e={dept_id:Number(t.dept_id??0),dept_name:String(t.dept_name??""),dept_path:String(t.dept_path??""),target_id:Number(t.target_id??0),target_amount:Number(t.target_amount??0),remark:String(t.remark??"")},o=t.children;return Array.isArray(o)&&o.length>0&&(e.children=o.map(k)),e}function x(t){var o;let e=0;for(const l of t)e+=Number(l.target_amount??0),(o=l.children)!=null&&o.length&&(e+=x(l.children));return Math.round(e*100)/100}function C(t){var o;let e=0;for(const l of t)e+=1,(o=l.children)!=null&&o.length&&(e+=C(l.children));return e}function D(t){var o;const e=[];for(const l of t)e.push({dept_id:l.dept_id,target_amount:Number(l.target_amount??0),remark:l.remark||""}),(o=l.children)!=null&&o.length&&e.push(...D(l.children));return e}function L(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function P(t){return t>=1e4?(t/1e4).toFixed(1)+"w":t.toLocaleString("zh-CN",{maximumFractionDigits:0})}const d=_(L()),p=_(!1),w=_(!1),u=_([]),v=_(!1),n=_([]),c=_(null),A=z(()=>x(u.value)),$=z(()=>C(u.value));function N(t){if(n.value.some(e=>e.dept_id===t.dept_id)){c.value=t.dept_id;return}n.value.push(t),c.value=t.dept_id}function G(t){const e=n.value.findIndex(o=>o.dept_id===t);e!==-1&&n.value.splice(e),c.value=n.value.length>0?n.value[n.value.length-1].dept_id:null}async function h(){if(d.value){p.value=!0,n.value=[],c.value=null;try{const t=await Z({year_month:d.value});u.value=((t==null?void 0:t.rows)||[]).map(k),v.value=!!(t!=null&&t.data_scope_limited)}catch{u.value=[],v.value=!1}finally{p.value=!1}}}async function R(){if(!d.value){F.msgWarning("请选择月份");return}await F.confirm("确认保存「"+d.value+"」各部门业绩目标?"),w.value=!0;try{const t=await tt({year_month:d.value,items:D(u.value)});t!=null&&t.rows?(u.value=t.rows.map(k),v.value=!!(t!=null&&t.data_scope_limited),n.value=[],c.value=null):await h()}finally{w.value=!1}}return at(h),(t,e)=>{const o=Q,l=U,S=W,J=ot("perms"),O=j;return r(),f("div",lt,[a("div",it,[a("div",nt,[a("div",rt,[i(o,null,{default:s(()=>[i(y(H))]),_:1})]),e[1]||(e[1]=a("div",null,[a("div",{class:"toolbar__title"},"制定业绩目标"),a("div",{class:"toolbar__desc"},[g(" 按部门设置每月销售目标,填 0 并保存将删除该记录。列表按当前账号 "),a("strong",null,"角色数据权限"),g(" 仅展示"),a("strong",null,"本部门及下级"),g("(不展示权限外的上级组织;口径与业绩看板数据范围一致)。 ")])],-1))]),a("div",st,[a("div",dt,[e[2]||(e[2]=a("span",{class:"month-picker-wrap__label"},"目标月份",-1)),i(l,{modelValue:d.value,"onUpdate:modelValue":e[0]||(e[0]=m=>d.value=m),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,size:"default",class:"month-picker",onChange:h},null,8,["modelValue"])])]),a("div",ut,[a("div",mt,[a("div",ct,[a("span",_t,b($.value),1),e[3]||(e[3]=a("span",{class:"summary-item__label"},"部门",-1))]),e[5]||(e[5]=a("div",{class:"summary-divider"},null,-1)),a("div",pt,[a("span",ft,"¥"+b(P(A.value)),1),e[4]||(e[4]=a("span",{class:"summary-item__label"},"目标合计",-1))])]),i(S,{circle:"",loading:p.value,onClick:h,title:"刷新"},{default:s(()=>[i(o,null,{default:s(()=>[i(y(B))]),_:1})]),_:1},8,["loading"]),T((r(),M(S,{type:"primary",loading:w.value,disabled:p.value||!d.value,onClick:R},{default:s(()=>[i(o,null,{default:s(()=>[i(y(K))]),_:1}),e[6]||(e[6]=g("保存目标 ",-1))]),_:1},8,["loading","disabled"])),[[J,["finance.dept_performance_target/batchSave"]]])])]),T((r(),f("div",vt,[!p.value&&u.value.length===0?(r(),f("div",ht,[a("div",gt,[i(o,null,{default:s(()=>[i(y(X))]),_:1})]),a("p",yt,b(v.value?"数据权限内无可选部门":"暂无部门数据"),1),a("p",bt,b(v.value?"当前角色数据范围未包含任何部门,或需在权限中绑定部门后再试。":"请检查部门配置后重试"),1),i(S,{size:"small",onClick:h},{default:s(()=>[i(o,null,{default:s(()=>[i(y(B))]),_:1}),e[7]||(e[7]=g("重新加载",-1))]),_:1})])):(r(),f("div",kt,[i(q,{name:"card",tag:"div",class:"board-grid__inner"},{default:s(()=>[(r(!0),f(V,null,Y(u.value,m=>(r(),M(I,{key:"root-"+m.dept_id,node:m,"is-root":!0,"drilled-id":c.value,onDrillIn:N},null,8,["node","drilled-id"]))),128)),(r(!0),f(V,null,Y(n.value,m=>(r(),M(I,{key:"drill-"+m.dept_id,node:m,"is-root":!1,"drilled-id":c.value,class:"card--drilled",onDrillIn:N,onClose:xt=>G(m.dept_id)},null,8,["node","drilled-id","onClose"]))),128))]),_:1})]))])),[[O,p.value]])])}}}),me=et(St,[["__scopeId","data-v-89e98c00"]]);export{me as default}; +import{d as Q,S as U,i as W,M as j}from"./element-plus-DGP1XOrU.js";import{a as q}from"./@vue/runtime-dom-DDAG46FW.js";import{a6 as H,M as B,f as K,a7 as X}from"./@element-plus/icons-vue-CbYn5zW9.js";import I from"./mubiao-dept-card-DfnzTPJO.js";import{d as Z,i as tt}from"./finance-Dc98hQLW.js";import{k as F,_ as et}from"./index-J_eFER10.js";import{f as E,b as at,as as ot,ak as r,I as f,J as a,a as i,aN as s,O as g,aP as T,G as M,F as V,ap as Y,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{n as _,y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const lt={class:"mubiao-page"},it={class:"toolbar"},nt={class:"toolbar__left"},rt={class:"toolbar__icon"},st={class:"toolbar__center"},dt={class:"month-picker-wrap"},ut={class:"toolbar__right"},mt={class:"summary-strip"},ct={class:"summary-item"},_t={class:"summary-item__val"},pt={class:"summary-item"},ft={class:"summary-item__val primary"},vt={"element-loading-text":"数据加载中…",class:"board-wrap"},ht={key:0,class:"empty-state"},gt={class:"empty-state__icon"},yt={class:"empty-state__title"},bt={class:"empty-state__desc"},kt={key:1,class:"board-grid"},wt=E({name:"financeMubiao"}),St=E({...wt,setup(Mt){function k(t){const e={dept_id:Number(t.dept_id??0),dept_name:String(t.dept_name??""),dept_path:String(t.dept_path??""),target_id:Number(t.target_id??0),target_amount:Number(t.target_amount??0),remark:String(t.remark??"")},o=t.children;return Array.isArray(o)&&o.length>0&&(e.children=o.map(k)),e}function x(t){var o;let e=0;for(const l of t)e+=Number(l.target_amount??0),(o=l.children)!=null&&o.length&&(e+=x(l.children));return Math.round(e*100)/100}function C(t){var o;let e=0;for(const l of t)e+=1,(o=l.children)!=null&&o.length&&(e+=C(l.children));return e}function D(t){var o;const e=[];for(const l of t)e.push({dept_id:l.dept_id,target_amount:Number(l.target_amount??0),remark:l.remark||""}),(o=l.children)!=null&&o.length&&e.push(...D(l.children));return e}function L(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function P(t){return t>=1e4?(t/1e4).toFixed(1)+"w":t.toLocaleString("zh-CN",{maximumFractionDigits:0})}const d=_(L()),p=_(!1),w=_(!1),u=_([]),v=_(!1),n=_([]),c=_(null),A=z(()=>x(u.value)),$=z(()=>C(u.value));function N(t){if(n.value.some(e=>e.dept_id===t.dept_id)){c.value=t.dept_id;return}n.value.push(t),c.value=t.dept_id}function G(t){const e=n.value.findIndex(o=>o.dept_id===t);e!==-1&&n.value.splice(e),c.value=n.value.length>0?n.value[n.value.length-1].dept_id:null}async function h(){if(d.value){p.value=!0,n.value=[],c.value=null;try{const t=await Z({year_month:d.value});u.value=((t==null?void 0:t.rows)||[]).map(k),v.value=!!(t!=null&&t.data_scope_limited)}catch{u.value=[],v.value=!1}finally{p.value=!1}}}async function R(){if(!d.value){F.msgWarning("请选择月份");return}await F.confirm("确认保存「"+d.value+"」各部门业绩目标?"),w.value=!0;try{const t=await tt({year_month:d.value,items:D(u.value)});t!=null&&t.rows?(u.value=t.rows.map(k),v.value=!!(t!=null&&t.data_scope_limited),n.value=[],c.value=null):await h()}finally{w.value=!1}}return at(h),(t,e)=>{const o=Q,l=U,S=W,J=ot("perms"),O=j;return r(),f("div",lt,[a("div",it,[a("div",nt,[a("div",rt,[i(o,null,{default:s(()=>[i(y(H))]),_:1})]),e[1]||(e[1]=a("div",null,[a("div",{class:"toolbar__title"},"制定业绩目标"),a("div",{class:"toolbar__desc"},[g(" 按部门设置每月销售目标,填 0 并保存将删除该记录。列表按当前账号 "),a("strong",null,"角色数据权限"),g(" 仅展示"),a("strong",null,"本部门及下级"),g("(不展示权限外的上级组织;口径与业绩看板数据范围一致)。 ")])],-1))]),a("div",st,[a("div",dt,[e[2]||(e[2]=a("span",{class:"month-picker-wrap__label"},"目标月份",-1)),i(l,{modelValue:d.value,"onUpdate:modelValue":e[0]||(e[0]=m=>d.value=m),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,size:"default",class:"month-picker",onChange:h},null,8,["modelValue"])])]),a("div",ut,[a("div",mt,[a("div",ct,[a("span",_t,b($.value),1),e[3]||(e[3]=a("span",{class:"summary-item__label"},"部门",-1))]),e[5]||(e[5]=a("div",{class:"summary-divider"},null,-1)),a("div",pt,[a("span",ft,"¥"+b(P(A.value)),1),e[4]||(e[4]=a("span",{class:"summary-item__label"},"目标合计",-1))])]),i(S,{circle:"",loading:p.value,onClick:h,title:"刷新"},{default:s(()=>[i(o,null,{default:s(()=>[i(y(B))]),_:1})]),_:1},8,["loading"]),T((r(),M(S,{type:"primary",loading:w.value,disabled:p.value||!d.value,onClick:R},{default:s(()=>[i(o,null,{default:s(()=>[i(y(K))]),_:1}),e[6]||(e[6]=g("保存目标 ",-1))]),_:1},8,["loading","disabled"])),[[J,["finance.dept_performance_target/batchSave"]]])])]),T((r(),f("div",vt,[!p.value&&u.value.length===0?(r(),f("div",ht,[a("div",gt,[i(o,null,{default:s(()=>[i(y(X))]),_:1})]),a("p",yt,b(v.value?"数据权限内无可选部门":"暂无部门数据"),1),a("p",bt,b(v.value?"当前角色数据范围未包含任何部门,或需在权限中绑定部门后再试。":"请检查部门配置后重试"),1),i(S,{size:"small",onClick:h},{default:s(()=>[i(o,null,{default:s(()=>[i(y(B))]),_:1}),e[7]||(e[7]=g("重新加载",-1))]),_:1})])):(r(),f("div",kt,[i(q,{name:"card",tag:"div",class:"board-grid__inner"},{default:s(()=>[(r(!0),f(V,null,Y(u.value,m=>(r(),M(I,{key:"root-"+m.dept_id,node:m,"is-root":!0,"drilled-id":c.value,onDrillIn:N},null,8,["node","drilled-id"]))),128)),(r(!0),f(V,null,Y(n.value,m=>(r(),M(I,{key:"drill-"+m.dept_id,node:m,"is-root":!1,"drilled-id":c.value,class:"card--drilled",onDrillIn:N,onClose:xt=>G(m.dept_id)},null,8,["node","drilled-id","onClose"]))),128))]),_:1})]))])),[[O,p.value]])])}}}),me=et(St,[["__scopeId","data-v-89e98c00"]]);export{me as default}; diff --git a/server/public/admin/assets/mubiao-dept-card-2mhD6goO.js b/server/public/admin/assets/mubiao-dept-card-DfnzTPJO.js similarity index 99% rename from server/public/admin/assets/mubiao-dept-card-2mhD6goO.js rename to server/public/admin/assets/mubiao-dept-card-DfnzTPJO.js index d0ca282bd..ad85cac04 100644 --- a/server/public/admin/assets/mubiao-dept-card-2mhD6goO.js +++ b/server/public/admin/assets/mubiao-dept-card-DfnzTPJO.js @@ -1 +1 @@ -import{d as R,h as A,C as G,U as H}from"./element-plus-DGP1XOrU.js";import{g as S,c as J}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as O,ak as n,I as d,F as h,ap as U,J as t,G as E,aN as b,a as m,H as c,O as F,A as u}from"./@vue/runtime-core-C6bnekPw.js";import{o as v,Q as s,p as Q}from"./@vue/shared-mAAVTE9n.js";import{y as w}from"./@vue/reactivity-DiY1c2vO.js";import{_ as j}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const q={key:0,class:"dept-card__crumb"},K={class:"crumb-seg__text"},P={class:"dept-card__header"},W={class:"dept-card__meta"},X={class:"dept-card__name"},Y={key:0,class:"dept-card__sub-count"},Z={key:0,class:"dept-card__sub-total"},ee={class:"dept-card__actions"},te={key:0,class:"status-badge status-badge--saved"},ae={key:1,class:"status-badge status-badge--new"},oe={class:"dept-card__body"},le={class:"field-row"},ne={class:"field-block"},de={key:0,class:"field-block__hint"},re={class:"field-block field-block--remark"},se={class:"child-header"},ie={class:"child-header__count"},ce={class:"child-list"},me={class:"child-row__name-wrap"},ue={class:"child-row__name"},_e={class:"child-row__inputs"},pe=["title"],ge=["title","onClick"],fe={class:"dept-card__footer"},he=O({__name:"mubiao-dept-card",props:{node:{},isRoot:{type:Boolean},drilledId:{}},emits:["drill-in","close"],setup(l,{emit:D}){const i=l,C=D;function p(o){var r;let e=Number(o.target_amount??0);if((r=o.children)!=null&&r.length)for(const g of o.children)e+=p(g);return e}const k=u(()=>{var o;return(o=i.node.children)!=null&&o.length?i.node.children.reduce((e,r)=>e+p(r),0):0}),y=u(()=>Number(i.node.target_amount??0)+k.value),$=u(()=>y.value===0),T=u(()=>{var o;return i.node.target_id?(o=i.node.children)!=null&&o.length?i.node.children.every(e=>e.target_id>0):!0:!1}),V=u(()=>{if(!i.node.dept_path)return null;const o=i.node.dept_path.split(/\s*\/\s*/).filter(Boolean);return o.length>1?o:null}),L=u(()=>{const o=["linear-gradient(135deg,#667eea,#764ba2)","linear-gradient(135deg,#f093fb,#f5576c)","linear-gradient(135deg,#4facfe,#00f2fe)","linear-gradient(135deg,#43e97b,#38f9d7)","linear-gradient(135deg,#fa709a,#fee140)","linear-gradient(135deg,#30cfd0,#330867)","linear-gradient(135deg,#a18cd1,#fbc2eb)","linear-gradient(135deg,#fccb90,#d57eeb)","linear-gradient(135deg,#e0c3fc,#8ec5fc)","linear-gradient(135deg,#f6d365,#fda085)"];let e=0;for(let r=0;r=1e4?(o/1e4).toFixed(1)+"w":o.toLocaleString("zh-CN",{maximumFractionDigits:0})}return(o,e)=>{var z,B;const r=R,g=A,I=G,M=H;return n(),d("div",{class:v(["dept-card",{"dept-card--saved":T.value,"dept-card--empty":$.value}])},[!l.isRoot&&V.value?(n(),d("div",q,[(n(!0),d(h,null,U(V.value,(a,_)=>(n(),d("span",{key:_,class:"crumb-seg"},[t("span",K,s(a),1),_[m(w(S))]),_:1})):c("",!0)]))),128))])):c("",!0),t("div",P,[t("div",{class:"dept-card__avatar",style:Q({background:L.value})},s(l.node.dept_name.slice(0,1)),5),t("div",W,[t("div",X,s(l.node.dept_name),1),(z=l.node.children)!=null&&z.length?(n(),d("div",Y,[F(s(l.node.children.length)+" 个子部门 ",1),k.value>0?(n(),d("span",Z,"· ¥"+s(N(k.value)),1)):c("",!0)])):c("",!0)]),t("div",ee,[l.node.target_id?(n(),d("span",te,"已保存")):(n(),d("span",ae,"未设置")),l.isRoot?c("",!0):(n(),d("button",{key:2,class:"close-btn",title:"关闭此卡片",onClick:e[0]||(e[0]=a=>C("close"))},[m(r,null,{default:b(()=>[m(w(J))]),_:1})]))])]),t("div",oe,[t("div",le,[t("div",ne,[e[3]||(e[3]=t("label",{class:"field-block__label"},"目标金额",-1)),m(g,{modelValue:l.node.target_amount,"onUpdate:modelValue":e[1]||(e[1]=a=>l.node.target_amount=a),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"field-block__input"},null,8,["modelValue"]),l.node.target_amount>0?(n(),d("span",de," ¥ "+s(x(l.node.target_amount)),1)):c("",!0)]),t("div",re,[e[4]||(e[4]=t("label",{class:"field-block__label"},"备注",-1)),m(I,{modelValue:l.node.remark,"onUpdate:modelValue":e[2]||(e[2]=a=>l.node.remark=a),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])])]),(B=l.node.children)!=null&&B.length?(n(),d(h,{key:1},[t("div",se,[e[5]||(e[5]=t("span",{class:"child-header__title"},"子部门",-1)),t("span",ie,s(l.node.children.length),1)]),t("div",ce,[(n(!0),d(h,null,U(l.node.children,a=>{var _;return n(),d("div",{key:a.dept_id,class:v(["child-row",{"child-row--active":l.drilledId===a.dept_id}])},[t("div",me,[e[7]||(e[7]=t("div",{class:"child-row__dot"},null,-1)),t("span",ue,s(a.dept_name),1),a.target_id?(n(),E(M,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"child-row__tag"},{default:b(()=>[...e[6]||(e[6]=[F("已保存",-1)])]),_:1})):c("",!0)]),t("div",_e,[m(g,{modelValue:a.target_amount,"onUpdate:modelValue":f=>a.target_amount=f,min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"child-row__amount"},null,8,["modelValue","onUpdate:modelValue"]),m(I,{modelValue:a.remark,"onUpdate:modelValue":f=>a.remark=f,maxlength:"255",placeholder:"备注",clearable:"",size:"small",class:"child-row__remark"},null,8,["modelValue","onUpdate:modelValue"]),(_=a.children)!=null&&_.length?(n(),d(h,{key:0},[p(a)>0?(n(),d("span",{key:0,class:"child-subtree-total",title:`「${a.dept_name}」含下级合计`}," ="+s(N(p(a))),9,pe)):c("",!0),t("button",{class:v(["drill-btn",{"drill-btn--active":l.drilledId===a.dept_id}]),title:`展开「${a.dept_name}」的 ${a.children.length} 个子部门`,onClick:f=>C("drill-in",a)},[m(r,null,{default:b(()=>[m(w(S))]),_:1}),t("span",null,s(a.children.length),1)],10,ge)],64)):c("",!0)])],2)}),128))])],64)):c("",!0),t("div",fe,[e[8]||(e[8]=t("span",{class:"dept-card__footer-label"},"本卡合计",-1)),t("span",{class:v(["dept-card__footer-total",{"is-nonzero":y.value>0}])}," ¥ "+s(x(y.value)),3)])],2)}}}),tt=j(he,[["__scopeId","data-v-27adbc27"]]);export{tt as default}; +import{d as R,h as A,C as G,U as H}from"./element-plus-DGP1XOrU.js";import{g as S,c as J}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as O,ak as n,I as d,F as h,ap as U,J as t,G as E,aN as b,a as m,H as c,O as F,A as u}from"./@vue/runtime-core-C6bnekPw.js";import{o as v,Q as s,p as Q}from"./@vue/shared-mAAVTE9n.js";import{y as w}from"./@vue/reactivity-DiY1c2vO.js";import{_ as j}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const q={key:0,class:"dept-card__crumb"},K={class:"crumb-seg__text"},P={class:"dept-card__header"},W={class:"dept-card__meta"},X={class:"dept-card__name"},Y={key:0,class:"dept-card__sub-count"},Z={key:0,class:"dept-card__sub-total"},ee={class:"dept-card__actions"},te={key:0,class:"status-badge status-badge--saved"},ae={key:1,class:"status-badge status-badge--new"},oe={class:"dept-card__body"},le={class:"field-row"},ne={class:"field-block"},de={key:0,class:"field-block__hint"},re={class:"field-block field-block--remark"},se={class:"child-header"},ie={class:"child-header__count"},ce={class:"child-list"},me={class:"child-row__name-wrap"},ue={class:"child-row__name"},_e={class:"child-row__inputs"},pe=["title"],ge=["title","onClick"],fe={class:"dept-card__footer"},he=O({__name:"mubiao-dept-card",props:{node:{},isRoot:{type:Boolean},drilledId:{}},emits:["drill-in","close"],setup(l,{emit:D}){const i=l,C=D;function p(o){var r;let e=Number(o.target_amount??0);if((r=o.children)!=null&&r.length)for(const g of o.children)e+=p(g);return e}const k=u(()=>{var o;return(o=i.node.children)!=null&&o.length?i.node.children.reduce((e,r)=>e+p(r),0):0}),y=u(()=>Number(i.node.target_amount??0)+k.value),$=u(()=>y.value===0),T=u(()=>{var o;return i.node.target_id?(o=i.node.children)!=null&&o.length?i.node.children.every(e=>e.target_id>0):!0:!1}),V=u(()=>{if(!i.node.dept_path)return null;const o=i.node.dept_path.split(/\s*\/\s*/).filter(Boolean);return o.length>1?o:null}),L=u(()=>{const o=["linear-gradient(135deg,#667eea,#764ba2)","linear-gradient(135deg,#f093fb,#f5576c)","linear-gradient(135deg,#4facfe,#00f2fe)","linear-gradient(135deg,#43e97b,#38f9d7)","linear-gradient(135deg,#fa709a,#fee140)","linear-gradient(135deg,#30cfd0,#330867)","linear-gradient(135deg,#a18cd1,#fbc2eb)","linear-gradient(135deg,#fccb90,#d57eeb)","linear-gradient(135deg,#e0c3fc,#8ec5fc)","linear-gradient(135deg,#f6d365,#fda085)"];let e=0;for(let r=0;r=1e4?(o/1e4).toFixed(1)+"w":o.toLocaleString("zh-CN",{maximumFractionDigits:0})}return(o,e)=>{var z,B;const r=R,g=A,I=G,M=H;return n(),d("div",{class:v(["dept-card",{"dept-card--saved":T.value,"dept-card--empty":$.value}])},[!l.isRoot&&V.value?(n(),d("div",q,[(n(!0),d(h,null,U(V.value,(a,_)=>(n(),d("span",{key:_,class:"crumb-seg"},[t("span",K,s(a),1),_[m(w(S))]),_:1})):c("",!0)]))),128))])):c("",!0),t("div",P,[t("div",{class:"dept-card__avatar",style:Q({background:L.value})},s(l.node.dept_name.slice(0,1)),5),t("div",W,[t("div",X,s(l.node.dept_name),1),(z=l.node.children)!=null&&z.length?(n(),d("div",Y,[F(s(l.node.children.length)+" 个子部门 ",1),k.value>0?(n(),d("span",Z,"· ¥"+s(N(k.value)),1)):c("",!0)])):c("",!0)]),t("div",ee,[l.node.target_id?(n(),d("span",te,"已保存")):(n(),d("span",ae,"未设置")),l.isRoot?c("",!0):(n(),d("button",{key:2,class:"close-btn",title:"关闭此卡片",onClick:e[0]||(e[0]=a=>C("close"))},[m(r,null,{default:b(()=>[m(w(J))]),_:1})]))])]),t("div",oe,[t("div",le,[t("div",ne,[e[3]||(e[3]=t("label",{class:"field-block__label"},"目标金额",-1)),m(g,{modelValue:l.node.target_amount,"onUpdate:modelValue":e[1]||(e[1]=a=>l.node.target_amount=a),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"field-block__input"},null,8,["modelValue"]),l.node.target_amount>0?(n(),d("span",de," ¥ "+s(x(l.node.target_amount)),1)):c("",!0)]),t("div",re,[e[4]||(e[4]=t("label",{class:"field-block__label"},"备注",-1)),m(I,{modelValue:l.node.remark,"onUpdate:modelValue":e[2]||(e[2]=a=>l.node.remark=a),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])])]),(B=l.node.children)!=null&&B.length?(n(),d(h,{key:1},[t("div",se,[e[5]||(e[5]=t("span",{class:"child-header__title"},"子部门",-1)),t("span",ie,s(l.node.children.length),1)]),t("div",ce,[(n(!0),d(h,null,U(l.node.children,a=>{var _;return n(),d("div",{key:a.dept_id,class:v(["child-row",{"child-row--active":l.drilledId===a.dept_id}])},[t("div",me,[e[7]||(e[7]=t("div",{class:"child-row__dot"},null,-1)),t("span",ue,s(a.dept_name),1),a.target_id?(n(),E(M,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"child-row__tag"},{default:b(()=>[...e[6]||(e[6]=[F("已保存",-1)])]),_:1})):c("",!0)]),t("div",_e,[m(g,{modelValue:a.target_amount,"onUpdate:modelValue":f=>a.target_amount=f,min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"child-row__amount"},null,8,["modelValue","onUpdate:modelValue"]),m(I,{modelValue:a.remark,"onUpdate:modelValue":f=>a.remark=f,maxlength:"255",placeholder:"备注",clearable:"",size:"small",class:"child-row__remark"},null,8,["modelValue","onUpdate:modelValue"]),(_=a.children)!=null&&_.length?(n(),d(h,{key:0},[p(a)>0?(n(),d("span",{key:0,class:"child-subtree-total",title:`「${a.dept_name}」含下级合计`}," ="+s(N(p(a))),9,pe)):c("",!0),t("button",{class:v(["drill-btn",{"drill-btn--active":l.drilledId===a.dept_id}]),title:`展开「${a.dept_name}」的 ${a.children.length} 个子部门`,onClick:f=>C("drill-in",a)},[m(r,null,{default:b(()=>[m(w(S))]),_:1}),t("span",null,s(a.children.length),1)],10,ge)],64)):c("",!0)])],2)}),128))])],64)):c("",!0),t("div",fe,[e[8]||(e[8]=t("span",{class:"dept-card__footer-label"},"本卡合计",-1)),t("span",{class:v(["dept-card__footer-total",{"is-nonzero":y.value>0}])}," ¥ "+s(x(y.value)),3)])],2)}}}),tt=j(he,[["__scopeId","data-v-27adbc27"]]);export{tt as default}; diff --git a/server/public/admin/assets/mubiao-dept-node-B8lRK-e1.js b/server/public/admin/assets/mubiao-dept-node-Ds3E7lF2.js similarity index 98% rename from server/public/admin/assets/mubiao-dept-node-B8lRK-e1.js rename to server/public/admin/assets/mubiao-dept-node-Ds3E7lF2.js index 00684abb1..030332c6a 100644 --- a/server/public/admin/assets/mubiao-dept-node-B8lRK-e1.js +++ b/server/public/admin/assets/mubiao-dept-node-Ds3E7lF2.js @@ -1 +1 @@ -import{d as N,h as x,C as B,U as C}from"./element-plus-DGP1XOrU.js";import{a5 as D}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as E,ar as I,ak as a,I as d,J as o,a as s,aN as r,O as i,G as l,F as m,ap as k,H as p,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as U}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,p as M}from"./@vue/shared-mAAVTE9n.js";import{_ as z}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const S={key:0,class:"group"},F={class:"group__header"},T={class:"group__name"},j={class:"group__amount-wrap"},A={class:"group__remark-wrap"},G={class:"group__badge-wrap"},H={key:1,class:"group__unsaved-dot"},J={key:0,class:"group__body"},L=["data-depth"],O={class:"row__dept"},P={class:"row__dept-text"},Q={class:"row__name"},$={key:0,class:"row__path"},q={class:"row__amount"},K={class:"row__remark"},R=E({name:"MubiaoDeptNode",__name:"mubiao-dept-node",props:{node:{},depth:{}},setup(e){const y=e,V=w(()=>y.node.dept_path.split(/\s*\/\s*/).filter(Boolean)),c=w(()=>V.value.slice(0,-1).join(" › "));return(W,t)=>{var v;const b=N,_=x,g=B,h=C,f=I("MubiaoDeptNode",!0);return e.depth===0?(a(),d("div",S,[o("div",F,[t[5]||(t[5]=o("div",{class:"group__accent"},null,-1)),o("div",T,[s(b,{class:"group__name-icon"},{default:r(()=>[s(U(D))]),_:1}),i(" "+u(e.node.dept_name),1)]),o("div",j,[s(_,{modelValue:e.node.target_amount,"onUpdate:modelValue":t[0]||(t[0]=n=>e.node.target_amount=n),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"group__amount-input"},null,8,["modelValue"])]),o("div",A,[s(g,{modelValue:e.node.remark,"onUpdate:modelValue":t[1]||(t[1]=n=>e.node.remark=n),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])]),o("div",G,[e.node.target_id?(a(),l(h,{key:0,size:"small",type:"success",effect:"plain",round:""},{default:r(()=>[...t[4]||(t[4]=[i("已保存",-1)])]),_:1})):(a(),d("span",H))])]),(v=e.node.children)!=null&&v.length?(a(),d("div",J,[(a(!0),d(m,null,k(e.node.children,n=>(a(),l(f,{key:n.dept_id,node:n,depth:1},null,8,["node"]))),128))])):p("",!0)])):(a(),d(m,{key:1},[o("div",{class:"row","data-depth":String(Math.min(e.depth,4))},[o("div",{class:"row__indent",style:M({width:`${(e.depth-1)*20+16}px`})},[...t[6]||(t[6]=[o("div",{class:"row__connector"},null,-1)])],4),o("div",O,[t[8]||(t[8]=o("div",{class:"row__dot"},null,-1)),o("div",P,[o("span",Q,u(e.node.dept_name),1),c.value?(a(),d("span",$,u(c.value),1)):p("",!0)]),e.node.target_id?(a(),l(h,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"row__saved"},{default:r(()=>[...t[7]||(t[7]=[i("已保存",-1)])]),_:1})):p("",!0)]),o("div",q,[s(_,{modelValue:e.node.target_amount,"onUpdate:modelValue":t[2]||(t[2]=n=>e.node.target_amount=n),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"row__amount-input"},null,8,["modelValue"])]),o("div",K,[s(g,{modelValue:e.node.remark,"onUpdate:modelValue":t[3]||(t[3]=n=>e.node.remark=n),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])],8,L),(a(!0),d(m,null,k(e.node.children,n=>(a(),l(f,{key:n.dept_id,node:n,depth:e.depth+1},null,8,["node","depth"]))),128))],64))}}}),Se=z(R,[["__scopeId","data-v-02198f38"]]);export{Se as default}; +import{d as N,h as x,C as B,U as C}from"./element-plus-DGP1XOrU.js";import{a5 as D}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as E,ar as I,ak as a,I as d,J as o,a as s,aN as r,O as i,G as l,F as m,ap as k,H as p,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as U}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,p as M}from"./@vue/shared-mAAVTE9n.js";import{_ as z}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const S={key:0,class:"group"},F={class:"group__header"},T={class:"group__name"},j={class:"group__amount-wrap"},A={class:"group__remark-wrap"},G={class:"group__badge-wrap"},H={key:1,class:"group__unsaved-dot"},J={key:0,class:"group__body"},L=["data-depth"],O={class:"row__dept"},P={class:"row__dept-text"},Q={class:"row__name"},$={key:0,class:"row__path"},q={class:"row__amount"},K={class:"row__remark"},R=E({name:"MubiaoDeptNode",__name:"mubiao-dept-node",props:{node:{},depth:{}},setup(e){const y=e,V=w(()=>y.node.dept_path.split(/\s*\/\s*/).filter(Boolean)),c=w(()=>V.value.slice(0,-1).join(" › "));return(W,t)=>{var v;const b=N,_=x,g=B,h=C,f=I("MubiaoDeptNode",!0);return e.depth===0?(a(),d("div",S,[o("div",F,[t[5]||(t[5]=o("div",{class:"group__accent"},null,-1)),o("div",T,[s(b,{class:"group__name-icon"},{default:r(()=>[s(U(D))]),_:1}),i(" "+u(e.node.dept_name),1)]),o("div",j,[s(_,{modelValue:e.node.target_amount,"onUpdate:modelValue":t[0]||(t[0]=n=>e.node.target_amount=n),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"group__amount-input"},null,8,["modelValue"])]),o("div",A,[s(g,{modelValue:e.node.remark,"onUpdate:modelValue":t[1]||(t[1]=n=>e.node.remark=n),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])]),o("div",G,[e.node.target_id?(a(),l(h,{key:0,size:"small",type:"success",effect:"plain",round:""},{default:r(()=>[...t[4]||(t[4]=[i("已保存",-1)])]),_:1})):(a(),d("span",H))])]),(v=e.node.children)!=null&&v.length?(a(),d("div",J,[(a(!0),d(m,null,k(e.node.children,n=>(a(),l(f,{key:n.dept_id,node:n,depth:1},null,8,["node"]))),128))])):p("",!0)])):(a(),d(m,{key:1},[o("div",{class:"row","data-depth":String(Math.min(e.depth,4))},[o("div",{class:"row__indent",style:M({width:`${(e.depth-1)*20+16}px`})},[...t[6]||(t[6]=[o("div",{class:"row__connector"},null,-1)])],4),o("div",O,[t[8]||(t[8]=o("div",{class:"row__dot"},null,-1)),o("div",P,[o("span",Q,u(e.node.dept_name),1),c.value?(a(),d("span",$,u(c.value),1)):p("",!0)]),e.node.target_id?(a(),l(h,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"row__saved"},{default:r(()=>[...t[7]||(t[7]=[i("已保存",-1)])]),_:1})):p("",!0)]),o("div",q,[s(_,{modelValue:e.node.target_amount,"onUpdate:modelValue":t[2]||(t[2]=n=>e.node.target_amount=n),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"row__amount-input"},null,8,["modelValue"])]),o("div",K,[s(g,{modelValue:e.node.remark,"onUpdate:modelValue":t[3]||(t[3]=n=>e.node.remark=n),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])],8,L),(a(!0),d(m,null,k(e.node.children,n=>(a(),l(f,{key:n.dept_id,node:n,depth:e.depth+1},null,8,["node","depth"]))),128))],64))}}}),Se=z(R,[["__scopeId","data-v-02198f38"]]);export{Se as default}; diff --git a/server/public/admin/assets/oa-attr-DN37hWLr.js b/server/public/admin/assets/oa-attr-B8Vj6nQj.js similarity index 86% rename from server/public/admin/assets/oa-attr-DN37hWLr.js rename to server/public/admin/assets/oa-attr-B8Vj6nQj.js index e84865312..f6a5a0ba6 100644 --- a/server/public/admin/assets/oa-attr-DN37hWLr.js +++ b/server/public/admin/assets/oa-attr-B8Vj6nQj.js @@ -1 +1 @@ -import{_ as S}from"./index-Dc1nFBAH.js";import{_ as A}from"./index-D5PquIeg.js";import{i as B,d as N}from"./element-plus-DGP1XOrU.js";import{q as $}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as O}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js";import{_ as y}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CH8fn-SB.js";import{u as R}from"./useMenuOa-TRPv5Mx7.js";import{f as V,ar as g,ak as r,I as s,ap as h,aP as q,J as i,a as t,aN as n,F as v,O as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,q as F}from"./@vue/reactivity-DiY1c2vO.js";import{Q as U}from"./@vue/shared-mAAVTE9n.js";import{_ as L}from"./index-fRv3NTFQ.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./wx_oa-BuVhGwqh.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"flex items-center w-full p-4 mt-4 rounded bg-fill-light"},Q={class:"flex-1"},j={class:"mr-auto"},z=V({__name:"oa-attr",setup(G){const u=F(),{menuList:k,menuIndex:m,handleAddSubMenu:x,handleEditSubMenu:T,handleDelMenu:E,handleDelSubMenu:w}=R(u);return(H,a)=>{const P=g("EditPen"),_=N,l=B,C=g("Delete"),D=A,M=S;return r(!0),s(v,null,h(p(k),(e,f)=>q((r(),s("div",{key:f,class:"flex-1 oa-attr min-w-0"},[a[2]||(a[2]=i("div",{class:"text-base oa-attr-title"},"菜单配置",-1)),t(M,{onClose:a[0]||(a[0]=o=>p(E)(p(m)))},{default:n(()=>[i("div",J,[t(O,{ref_for:!0,ref_key:"menuRef",ref:u,modular:"master",name:e.name,"onUpdate:name":o=>e.name=o,menuType:e.has_menu,"onUpdate:menuType":o=>e.has_menu=o,visitType:e.type,"onUpdate:visitType":o=>e.type=o,url:e.url,"onUpdate:url":o=>e.url=o,appId:e.appid,"onUpdate:appId":o=>e.appid=o,pagePath:e.pagepath,"onUpdate:pagePath":o=>e.pagepath=o},{default:n(()=>[i("div",Q,[i("ul",null,[(r(!0),s(v,null,h(e.sub_button,(o,d)=>(r(),s("li",{class:"flex",key:d,style:{padding:"8px"}},[i("span",j,U(o.name),1),t(y,{modular:"edit",subItem:o,onEdit:c=>p(T)(c,d)},{default:n(()=>[t(l,{link:""},{default:n(()=>[t(_,null,{default:n(()=>[t(P)]),_:1})]),_:1})]),_:1},8,["subItem","onEdit"]),t(D,{onConfirm:c=>p(w)(p(m),d)},{trigger:n(()=>[t(l,{link:""},{default:n(()=>[t(_,{class:"ml-5"},{default:n(()=>[t(C)]),_:1})]),_:1})]),default:n(()=>[a[1]||(a[1]=b(" 是否删除当前子菜单? ",-1))]),_:1},8,["onConfirm"])]))),128))]),t(y,{modular:"add",onAdd:p(x)},{default:n(()=>[t(l,{type:"primary",link:"",disabled:e.sub_button.length>=5},{default:n(()=>[b(" 添加子菜单("+U(e.sub_button.length)+"/5) ",1)]),_:2},1032,["disabled"])]),_:2},1032,["onAdd"])])]),_:2},1032,["name","onUpdate:name","menuType","onUpdate:menuType","visitType","onUpdate:visitType","url","onUpdate:url","appId","onUpdate:appId","pagePath","onUpdate:pagePath"])])]),_:2},1024)],512)),[[$,f===p(m)]])),128)}}}),Re=L(z,[["__scopeId","data-v-28c2cd0d"]]);export{Re as default}; +import{_ as S}from"./index-sgqCyAwB.js";import{_ as A}from"./index-BVjWjU3h.js";import{i as B,d as N}from"./element-plus-DGP1XOrU.js";import{q as $}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as O}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js";import{_ as y}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js";import{u as R}from"./useMenuOa-C_WMnKf2.js";import{f as V,ar as g,ak as r,I as s,ap as h,aP as q,J as i,a as t,aN as n,F as v,O as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,q as F}from"./@vue/reactivity-DiY1c2vO.js";import{Q as U}from"./@vue/shared-mAAVTE9n.js";import{_ as L}from"./index-J_eFER10.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./wx_oa-Bi2y5vRS.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"flex items-center w-full p-4 mt-4 rounded bg-fill-light"},Q={class:"flex-1"},j={class:"mr-auto"},z=V({__name:"oa-attr",setup(G){const u=F(),{menuList:k,menuIndex:m,handleAddSubMenu:x,handleEditSubMenu:T,handleDelMenu:E,handleDelSubMenu:w}=R(u);return(H,a)=>{const P=g("EditPen"),_=N,l=B,C=g("Delete"),D=A,M=S;return r(!0),s(v,null,h(p(k),(e,f)=>q((r(),s("div",{key:f,class:"flex-1 oa-attr min-w-0"},[a[2]||(a[2]=i("div",{class:"text-base oa-attr-title"},"菜单配置",-1)),t(M,{onClose:a[0]||(a[0]=o=>p(E)(p(m)))},{default:n(()=>[i("div",J,[t(O,{ref_for:!0,ref_key:"menuRef",ref:u,modular:"master",name:e.name,"onUpdate:name":o=>e.name=o,menuType:e.has_menu,"onUpdate:menuType":o=>e.has_menu=o,visitType:e.type,"onUpdate:visitType":o=>e.type=o,url:e.url,"onUpdate:url":o=>e.url=o,appId:e.appid,"onUpdate:appId":o=>e.appid=o,pagePath:e.pagepath,"onUpdate:pagePath":o=>e.pagepath=o},{default:n(()=>[i("div",Q,[i("ul",null,[(r(!0),s(v,null,h(e.sub_button,(o,d)=>(r(),s("li",{class:"flex",key:d,style:{padding:"8px"}},[i("span",j,U(o.name),1),t(y,{modular:"edit",subItem:o,onEdit:c=>p(T)(c,d)},{default:n(()=>[t(l,{link:""},{default:n(()=>[t(_,null,{default:n(()=>[t(P)]),_:1})]),_:1})]),_:1},8,["subItem","onEdit"]),t(D,{onConfirm:c=>p(w)(p(m),d)},{trigger:n(()=>[t(l,{link:""},{default:n(()=>[t(_,{class:"ml-5"},{default:n(()=>[t(C)]),_:1})]),_:1})]),default:n(()=>[a[1]||(a[1]=b(" 是否删除当前子菜单? ",-1))]),_:1},8,["onConfirm"])]))),128))]),t(y,{modular:"add",onAdd:p(x)},{default:n(()=>[t(l,{type:"primary",link:"",disabled:e.sub_button.length>=5},{default:n(()=>[b(" 添加子菜单("+U(e.sub_button.length)+"/5) ",1)]),_:2},1032,["disabled"])]),_:2},1032,["onAdd"])])]),_:2},1032,["name","onUpdate:name","menuType","onUpdate:menuType","visitType","onUpdate:visitType","url","onUpdate:url","appId","onUpdate:appId","pagePath","onUpdate:pagePath"])])]),_:2},1024)],512)),[[$,f===p(m)]])),128)}}}),Re=L(z,[["__scopeId","data-v-28c2cd0d"]]);export{Re as default}; diff --git a/server/public/admin/assets/oa-menu-form-C-7mO0su.js b/server/public/admin/assets/oa-menu-form-MVK6-70i.js similarity index 86% rename from server/public/admin/assets/oa-menu-form-C-7mO0su.js rename to server/public/admin/assets/oa-menu-form-MVK6-70i.js index f4bda4e71..fc11ad292 100644 --- a/server/public/admin/assets/oa-menu-form-C-7mO0su.js +++ b/server/public/admin/assets/oa-menu-form-MVK6-70i.js @@ -1 +1 @@ -import{_ as o}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./useMenuOa-TRPv5Mx7.js";import"./wx_oa-BuVhGwqh.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./useMenuOa-C_WMnKf2.js";import"./wx_oa-Bi2y5vRS.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/oa-menu-form-edit-Ds9NXO6M.js b/server/public/admin/assets/oa-menu-form-edit-Dfe5nrsm.js similarity index 83% rename from server/public/admin/assets/oa-menu-form-edit-Ds9NXO6M.js rename to server/public/admin/assets/oa-menu-form-edit-Dfe5nrsm.js index d132395ad..bf5b64dc6 100644 --- a/server/public/admin/assets/oa-menu-form-edit-Ds9NXO6M.js +++ b/server/public/admin/assets/oa-menu-form-edit-Dfe5nrsm.js @@ -1 +1 @@ -import{_ as o}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CH8fn-SB.js";import"./index-D5PquIeg.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js";import"./useMenuOa-TRPv5Mx7.js";import"./wx_oa-BuVhGwqh.js";export{o as default}; +import{_ as o}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js";import"./index-BVjWjU3h.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js";import"./useMenuOa-C_WMnKf2.js";import"./wx_oa-Bi2y5vRS.js";export{o as default}; diff --git a/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CH8fn-SB.js b/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js similarity index 90% rename from server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CH8fn-SB.js rename to server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js index a25ed0ead..61df18729 100644 --- a/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CH8fn-SB.js +++ b/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-b9ti8F4o.js @@ -1 +1 @@ -import{_ as y}from"./index-D5PquIeg.js";import{_ as g}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js";import{f as c,aJ as k,ak as v,G as R,aN as d,a as F,aq as _}from"./@vue/runtime-core-C6bnekPw.js";import{q as i}from"./@vue/reactivity-DiY1c2vO.js";const b=c({__name:"oa-menu-form-edit",props:{modular:{default:"edit"},subItem:{default:{}}},emits:["add","edit"],setup(m,{emit:l}){const r=l,n=m,p=i(),s=i(),e={name:"",type:"view",url:"",appid:"",pagepath:""};k(()=>{if(Object.keys(n.subItem).length!=0)for(const o in e)e[o]=n.subItem[o]});const u=async()=>{await p.value.menuFormRef.validate(),n.modular==="edit"?r("edit",{...e}):r("add",{...e}),s.value.close(),p.value.menuFormRef.resetFields()};return(o,t)=>{const f=y;return v(),R(f,{ref_key:"menuFromPopupRef",ref:s,async:"",clickModalClose:!1,title:`${m.modular==="add"?"新增":"编辑"}子菜单`,onConfirm:u},{trigger:d(()=>[_(o.$slots,"default")]),default:d(()=>[F(g,{ref_key:"menuFormEditRef",ref:p,modular:"secondary",name:e.name,"onUpdate:name":t[0]||(t[0]=a=>e.name=a),visitType:e.type,"onUpdate:visitType":t[1]||(t[1]=a=>e.type=a),url:e.url,"onUpdate:url":t[2]||(t[2]=a=>e.url=a),appId:e.appid,"onUpdate:appId":t[3]||(t[3]=a=>e.appid=a),pagePath:e.pagepath,"onUpdate:pagePath":t[4]||(t[4]=a=>e.pagepath=a)},null,8,["name","visitType","url","appId","pagePath"])]),_:3},8,["title"])}}});export{b as _}; +import{_ as y}from"./index-BVjWjU3h.js";import{_ as g}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js";import{f as c,aJ as k,ak as v,G as R,aN as d,a as F,aq as _}from"./@vue/runtime-core-C6bnekPw.js";import{q as i}from"./@vue/reactivity-DiY1c2vO.js";const b=c({__name:"oa-menu-form-edit",props:{modular:{default:"edit"},subItem:{default:{}}},emits:["add","edit"],setup(m,{emit:l}){const r=l,n=m,p=i(),s=i(),e={name:"",type:"view",url:"",appid:"",pagepath:""};k(()=>{if(Object.keys(n.subItem).length!=0)for(const o in e)e[o]=n.subItem[o]});const u=async()=>{await p.value.menuFormRef.validate(),n.modular==="edit"?r("edit",{...e}):r("add",{...e}),s.value.close(),p.value.menuFormRef.resetFields()};return(o,t)=>{const f=y;return v(),R(f,{ref_key:"menuFromPopupRef",ref:s,async:"",clickModalClose:!1,title:`${m.modular==="add"?"新增":"编辑"}子菜单`,onConfirm:u},{trigger:d(()=>[_(o.$slots,"default")]),default:d(()=>[F(g,{ref_key:"menuFormEditRef",ref:p,modular:"secondary",name:e.name,"onUpdate:name":t[0]||(t[0]=a=>e.name=a),visitType:e.type,"onUpdate:visitType":t[1]||(t[1]=a=>e.type=a),url:e.url,"onUpdate:url":t[2]||(t[2]=a=>e.url=a),appId:e.appid,"onUpdate:appId":t[3]||(t[3]=a=>e.appid=a),pagePath:e.pagepath,"onUpdate:pagePath":t[4]||(t[4]=a=>e.pagepath=a)},null,8,["name","visitType","url","appId","pagePath"])]),_:3},8,["title"])}}});export{b as _}; diff --git a/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js b/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js similarity index 97% rename from server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js rename to server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js index c343e9e3e..be73ad341 100644 --- a/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-I0X-Dq_t.js +++ b/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-Dri3YuyV.js @@ -1 +1 @@ -import{B as E,C as F,G as P,J as U,D as x}from"./element-plus-DGP1XOrU.js";import{r as B}from"./useMenuOa-TRPv5Mx7.js";import{f as R,w as C,aJ as N,ak as d,G as V,aN as u,a as t,O as f,H as i,aq as G,I as g,F as I}from"./@vue/runtime-core-C6bnekPw.js";import{n as q,y as l,q as J}from"./@vue/reactivity-DiY1c2vO.js";const S=R({__name:"oa-menu-form",props:{modular:{default:"master"},name:{default:""},menuType:{type:Boolean,default:!1},visitType:{default:"view"},url:{default:""},appId:{default:""},pagePath:{default:""}},emits:["update:name","update:menuType","update:visitType","update:url","update:appId","update:pagePath"],setup(r,{expose:b,emit:k}){const m=k,y=r,T=J(),e=q({...y});return C(()=>y,v=>{e.value=v},{immediate:!0}),N(()=>{y.modular==="master"&&m("update:menuType",e.value.menuType),m("update:name",e.value.name),m("update:visitType",e.value.visitType),m("update:url",e.value.url),m("update:appId",e.value.appId),m("update:pagePath",e.value.pagePath)}),b({menuFormRef:T}),(v,a)=>{const n=F,p=E,s=U,_=P,w=x;return d(),V(w,{ref_key:"menuFormRef",ref:T,rules:l(B),model:l(e),"label-width":"100px"},{default:u(()=>[t(p,{label:r.modular==="master"?"主菜单名称":"子菜单名称",prop:"name"},{default:u(()=>[t(n,{modelValue:l(e).name,"onUpdate:modelValue":a[0]||(a[0]=o=>l(e).name=o)},null,8,["modelValue"])]),_:1},8,["label"]),r.modular==="master"?(d(),V(p,{key:0,label:"主菜单类型",prop:"menuType"},{default:u(()=>[t(_,{modelValue:l(e).menuType,"onUpdate:modelValue":a[1]||(a[1]=o=>l(e).menuType=o)},{default:u(()=>[t(s,{value:!1},{default:u(()=>[...a[6]||(a[6]=[f("不配置子菜单",-1)])]),_:1}),t(s,{value:!0},{default:u(()=>[...a[7]||(a[7]=[f("配置子菜单",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(e).menuType&&r.modular==="master"?(d(),V(p,{key:1,label:""},{default:u(()=>[G(v.$slots,"default")]),_:3})):i("",!0),l(e).menuType?i("",!0):(d(),g(I,{key:2},[t(p,{label:"跳转链接",prop:"visitType"},{default:u(()=>[t(_,{modelValue:l(e).visitType,"onUpdate:modelValue":a[2]||(a[2]=o=>l(e).visitType=o)},{default:u(()=>[t(s,{value:"view"},{default:u(()=>[...a[8]||(a[8]=[f("网页",-1)])]),_:1}),t(s,{value:"miniprogram"},{default:u(()=>[...a[9]||(a[9]=[f("小程序",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"网址",prop:"url"},{default:u(()=>[t(n,{modelValue:l(e).url,"onUpdate:modelValue":a[3]||(a[3]=o=>l(e).url=o)},null,8,["modelValue"])]),_:1}),l(e).visitType=="miniprogram"?(d(),g(I,{key:0},[t(p,{label:"AppId",prop:"appId"},{default:u(()=>[t(n,{modelValue:l(e).appId,"onUpdate:modelValue":a[4]||(a[4]=o=>l(e).appId=o)},null,8,["modelValue"])]),_:1}),t(p,{label:"路径",prop:"pagePath"},{default:u(()=>[t(n,{modelValue:l(e).pagePath,"onUpdate:modelValue":a[5]||(a[5]=o=>l(e).pagePath=o)},null,8,["modelValue"])]),_:1})],64)):i("",!0)],64))]),_:3},8,["rules","model"])}}});export{S as _}; +import{B as E,C as F,G as P,J as U,D as x}from"./element-plus-DGP1XOrU.js";import{r as B}from"./useMenuOa-C_WMnKf2.js";import{f as R,w as C,aJ as N,ak as d,G as V,aN as u,a as t,O as f,H as i,aq as G,I as g,F as I}from"./@vue/runtime-core-C6bnekPw.js";import{n as q,y as l,q as J}from"./@vue/reactivity-DiY1c2vO.js";const S=R({__name:"oa-menu-form",props:{modular:{default:"master"},name:{default:""},menuType:{type:Boolean,default:!1},visitType:{default:"view"},url:{default:""},appId:{default:""},pagePath:{default:""}},emits:["update:name","update:menuType","update:visitType","update:url","update:appId","update:pagePath"],setup(r,{expose:b,emit:k}){const m=k,y=r,T=J(),e=q({...y});return C(()=>y,v=>{e.value=v},{immediate:!0}),N(()=>{y.modular==="master"&&m("update:menuType",e.value.menuType),m("update:name",e.value.name),m("update:visitType",e.value.visitType),m("update:url",e.value.url),m("update:appId",e.value.appId),m("update:pagePath",e.value.pagePath)}),b({menuFormRef:T}),(v,a)=>{const n=F,p=E,s=U,_=P,w=x;return d(),V(w,{ref_key:"menuFormRef",ref:T,rules:l(B),model:l(e),"label-width":"100px"},{default:u(()=>[t(p,{label:r.modular==="master"?"主菜单名称":"子菜单名称",prop:"name"},{default:u(()=>[t(n,{modelValue:l(e).name,"onUpdate:modelValue":a[0]||(a[0]=o=>l(e).name=o)},null,8,["modelValue"])]),_:1},8,["label"]),r.modular==="master"?(d(),V(p,{key:0,label:"主菜单类型",prop:"menuType"},{default:u(()=>[t(_,{modelValue:l(e).menuType,"onUpdate:modelValue":a[1]||(a[1]=o=>l(e).menuType=o)},{default:u(()=>[t(s,{value:!1},{default:u(()=>[...a[6]||(a[6]=[f("不配置子菜单",-1)])]),_:1}),t(s,{value:!0},{default:u(()=>[...a[7]||(a[7]=[f("配置子菜单",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(e).menuType&&r.modular==="master"?(d(),V(p,{key:1,label:""},{default:u(()=>[G(v.$slots,"default")]),_:3})):i("",!0),l(e).menuType?i("",!0):(d(),g(I,{key:2},[t(p,{label:"跳转链接",prop:"visitType"},{default:u(()=>[t(_,{modelValue:l(e).visitType,"onUpdate:modelValue":a[2]||(a[2]=o=>l(e).visitType=o)},{default:u(()=>[t(s,{value:"view"},{default:u(()=>[...a[8]||(a[8]=[f("网页",-1)])]),_:1}),t(s,{value:"miniprogram"},{default:u(()=>[...a[9]||(a[9]=[f("小程序",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"网址",prop:"url"},{default:u(()=>[t(n,{modelValue:l(e).url,"onUpdate:modelValue":a[3]||(a[3]=o=>l(e).url=o)},null,8,["modelValue"])]),_:1}),l(e).visitType=="miniprogram"?(d(),g(I,{key:0},[t(p,{label:"AppId",prop:"appId"},{default:u(()=>[t(n,{modelValue:l(e).appId,"onUpdate:modelValue":a[4]||(a[4]=o=>l(e).appId=o)},null,8,["modelValue"])]),_:1}),t(p,{label:"路径",prop:"pagePath"},{default:u(()=>[t(n,{modelValue:l(e).pagePath,"onUpdate:modelValue":a[5]||(a[5]=o=>l(e).pagePath=o)},null,8,["modelValue"])]),_:1})],64)):i("",!0)],64))]),_:3},8,["rules","model"])}}});export{S as _}; diff --git a/server/public/admin/assets/oa-phone-B-CHUk5L.js b/server/public/admin/assets/oa-phone-88iTfWtw.js similarity index 95% rename from server/public/admin/assets/oa-phone-B-CHUk5L.js rename to server/public/admin/assets/oa-phone-88iTfWtw.js index 95237fcca..4cb859cbe 100644 --- a/server/public/admin/assets/oa-phone-B-CHUk5L.js +++ b/server/public/admin/assets/oa-phone-88iTfWtw.js @@ -1 +1 @@ -import{d as w}from"./element-plus-DGP1XOrU.js";import{f as F,q as N}from"./@vue/runtime-dom-DDAG46FW.js";import{n as P,_ as V}from"./index-fRv3NTFQ.js";import{u as d}from"./useMenuOa-TRPv5Mx7.js";import{f as j,A,ar as _,ak as e,I as o,J as r,a as i,aN as f,F as h,ap as v,aP as B,H as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as s}from"./@vue/reactivity-DiY1c2vO.js";import{o as E,Q as x}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./wx_oa-BuVhGwqh.js";const G={class:"oa-phone mr-[35px]"},L={class:"flex oa-phone-menu"},M={class:"flex items-center justify-center oa-phone-menu-switch"},O=["onClick"],q={class:"oa-phone-menu-subitem"},z=j({__name:"oa-phone",setup(H){F(b=>({v3a57b789:s(k)}));const C=P(),k=A(()=>C.theme||"#4A5DFF"),{menuList:a,menuIndex:p,handleAddMenu:l}=d(d);return(b,n)=>{const y=_("Grid"),c=w,g=_("Plus");return e(),o("div",G,[n[1]||(n[1]=r("div",{class:"oa-phone-content"},null,-1)),r("div",L,[r("div",M,[i(c,null,{default:f(()=>[i(y)]),_:1})]),(e(!0),o(h,null,v(s(a),(t,m)=>(e(),o("div",{key:m,class:"relative flex-1",onClick:u=>p.value=m},[r("div",{class:E(["flex items-center justify-center flex-1 text-sm oa-phone-menu-item",{"active-menu":s(p)===m}])},x(t.name),3),B(r("div",q,[(e(!0),o(h,null,v(t.sub_button,(u,S)=>(e(),o("div",{key:S,class:"oa-phone-menu-subitem-title"},x(u.name),1))),128))],512),[[N,t.sub_button.length&&t.has_menu]])],8,O))),128)),s(a).length<=2?(e(),o("div",{key:0,class:"flex items-center justify-center flex-1 h-full",onClick:n[0]||(n[0]=(...t)=>s(l)&&s(l)(...t))},[i(c,null,{default:f(()=>[i(g)]),_:1})])):D("",!0)])])}}}),Nt=V(z,[["__scopeId","data-v-de73b1d1"]]);export{Nt as default}; +import{d as w}from"./element-plus-DGP1XOrU.js";import{f as F,q as N}from"./@vue/runtime-dom-DDAG46FW.js";import{n as P,_ as V}from"./index-J_eFER10.js";import{u as d}from"./useMenuOa-C_WMnKf2.js";import{f as j,A,ar as _,ak as e,I as o,J as r,a as i,aN as f,F as h,ap as v,aP as B,H as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as s}from"./@vue/reactivity-DiY1c2vO.js";import{o as E,Q as x}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./wx_oa-Bi2y5vRS.js";const G={class:"oa-phone mr-[35px]"},L={class:"flex oa-phone-menu"},M={class:"flex items-center justify-center oa-phone-menu-switch"},O=["onClick"],q={class:"oa-phone-menu-subitem"},z=j({__name:"oa-phone",setup(H){F(b=>({v3a57b789:s(k)}));const C=P(),k=A(()=>C.theme||"#4A5DFF"),{menuList:a,menuIndex:p,handleAddMenu:l}=d(d);return(b,n)=>{const y=_("Grid"),c=w,g=_("Plus");return e(),o("div",G,[n[1]||(n[1]=r("div",{class:"oa-phone-content"},null,-1)),r("div",L,[r("div",M,[i(c,null,{default:f(()=>[i(y)]),_:1})]),(e(!0),o(h,null,v(s(a),(t,m)=>(e(),o("div",{key:m,class:"relative flex-1",onClick:u=>p.value=m},[r("div",{class:E(["flex items-center justify-center flex-1 text-sm oa-phone-menu-item",{"active-menu":s(p)===m}])},x(t.name),3),B(r("div",q,[(e(!0),o(h,null,v(t.sub_button,(u,S)=>(e(),o("div",{key:S,class:"oa-phone-menu-subitem-title"},x(u.name),1))),128))],512),[[N,t.sub_button.length&&t.has_menu]])],8,O))),128)),s(a).length<=2?(e(),o("div",{key:0,class:"flex items-center justify-center flex-1 h-full",onClick:n[0]||(n[0]=(...t)=>s(l)&&s(l)(...t))},[i(c,null,{default:f(()=>[i(g)]),_:1})])):D("",!0)])])}}}),Nt=V(z,[["__scopeId","data-v-de73b1d1"]]);export{Nt as default}; diff --git a/server/public/admin/assets/open_setting-57AAYHuJ.js b/server/public/admin/assets/open_setting-DuOTXegB.js similarity index 96% rename from server/public/admin/assets/open_setting-57AAYHuJ.js rename to server/public/admin/assets/open_setting-DuOTXegB.js index 750eb3fd9..7f4cb0901 100644 --- a/server/public/admin/assets/open_setting-57AAYHuJ.js +++ b/server/public/admin/assets/open_setting-DuOTXegB.js @@ -1 +1 @@ -import{_ as y}from"./index-D6hiZISU.js";import{L as k,K as A,B as E,C as x,D as B,i as I}from"./element-plus-DGP1XOrU.js";import{r as f}from"./index-fRv3NTFQ.js";import{f as g,as as S,ak as u,I as q,a as t,aN as r,J as a,aP as N,G as R,O}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,r as F,q as U}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function G(s){return f.post({url:"/channel.open_setting/setConfig",params:s})}function J(){return f.get({url:"/channel.open_setting/getConfig"})}const K={class:"w-80"},L={class:"w-80"},P=g({name:"wxDevConfig"}),Ee=g({...P,setup(s){const o=F({app_id:"",app_secret:""}),l=U(),v={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},m=async()=>{const p=await J();for(const e in o)o[e]=p[e]},w=async()=>{var p;await((p=l.value)==null?void 0:p.validate()),await G(o),m()};return m(),(p,e)=>{const b=k,_=A,c=x,d=E,C=B,h=I,D=y,V=S("perms");return u(),q("div",null,[t(_,{class:"!border-none",shadow:"never"},{default:r(()=>[t(b,{type:"warning",title:"温馨提示:填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证;网站应用配置主要用于网站微信登录和微信支付",closable:!1,"show-icon":""})]),_:1}),t(C,{ref_key:"formRef",ref:l,model:n(o),rules:v,"label-width":"160px"},{default:r(()=>[t(_,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[e[2]||(e[2]=a("div",{class:"font-medium mb-7"},"网站应用",-1)),t(d,{label:"AppID",prop:"app_id"},{default:r(()=>[a("div",K,[t(c,{modelValue:n(o).app_id,"onUpdate:modelValue":e[0]||(e[0]=i=>n(o).app_id=i),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(d,{label:"AppSecret",prop:"app_secret"},{default:r(()=>[a("div",null,[a("div",L,[t(c,{modelValue:n(o).app_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>n(o).app_secret=i),placeholder:"请输入AppSecret"},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1},8,["model"]),N((u(),R(D,null,{default:r(()=>[t(h,{type:"primary",onClick:w},{default:r(()=>[...e[3]||(e[3]=[O("保存",-1)])]),_:1})]),_:1})),[[V,["channel.open_setting/setConfig"]]])])}}});export{Ee as default}; +import{_ as y}from"./index-UGD9wxNK.js";import{L as k,K as A,B as E,C as x,D as B,i as I}from"./element-plus-DGP1XOrU.js";import{r as f}from"./index-J_eFER10.js";import{f as g,as as S,ak as u,I as q,a as t,aN as r,J as a,aP as N,G as R,O}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,r as F,q as U}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function G(s){return f.post({url:"/channel.open_setting/setConfig",params:s})}function J(){return f.get({url:"/channel.open_setting/getConfig"})}const K={class:"w-80"},L={class:"w-80"},P=g({name:"wxDevConfig"}),Ee=g({...P,setup(s){const o=F({app_id:"",app_secret:""}),l=U(),v={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},m=async()=>{const p=await J();for(const e in o)o[e]=p[e]},w=async()=>{var p;await((p=l.value)==null?void 0:p.validate()),await G(o),m()};return m(),(p,e)=>{const b=k,_=A,c=x,d=E,C=B,h=I,D=y,V=S("perms");return u(),q("div",null,[t(_,{class:"!border-none",shadow:"never"},{default:r(()=>[t(b,{type:"warning",title:"温馨提示:填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证;网站应用配置主要用于网站微信登录和微信支付",closable:!1,"show-icon":""})]),_:1}),t(C,{ref_key:"formRef",ref:l,model:n(o),rules:v,"label-width":"160px"},{default:r(()=>[t(_,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[e[2]||(e[2]=a("div",{class:"font-medium mb-7"},"网站应用",-1)),t(d,{label:"AppID",prop:"app_id"},{default:r(()=>[a("div",K,[t(c,{modelValue:n(o).app_id,"onUpdate:modelValue":e[0]||(e[0]=i=>n(o).app_id=i),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(d,{label:"AppSecret",prop:"app_secret"},{default:r(()=>[a("div",null,[a("div",L,[t(c,{modelValue:n(o).app_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>n(o).app_secret=i),placeholder:"请输入AppSecret"},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1},8,["model"]),N((u(),R(D,null,{default:r(()=>[t(h,{type:"primary",onClick:w},{default:r(()=>[...e[3]||(e[3]=[O("保存",-1)])]),_:1})]),_:1})),[[V,["channel.open_setting/setConfig"]]])])}}});export{Ee as default}; diff --git a/server/public/admin/assets/order-L3Ma3_1N.js b/server/public/admin/assets/order-B5S0jULN.js similarity index 96% rename from server/public/admin/assets/order-L3Ma3_1N.js rename to server/public/admin/assets/order-B5S0jULN.js index be5dc1ad5..0172e9fa9 100644 --- a/server/public/admin/assets/order-L3Ma3_1N.js +++ b/server/public/admin/assets/order-B5S0jULN.js @@ -1 +1 @@ -import{r as e}from"./index-fRv3NTFQ.js";function o(r){return e.get({url:"/order.order/lists",params:r})}function n(r){return e.get({url:"/order.order/syncWechatWorkBills",params:r})}function u(r){return e.get({url:"/order.order/syncWechatWorkBillsDebug",params:r})}function s(){return e.get({url:"/order.order/todayRevenue"})}function d(r){return e.get({url:"/order.order/orderStats",params:r})}function a(r){return e.post({url:"/order.order/detail",params:r})}function i(r){return e.post({url:"/order.order/create",params:r})}function c(r){return e.post({url:"/order.order/createForWechatWork",params:r})}function l(r){return e.post({url:"/order.order/edit",params:r})}function f(r){return e.post({url:"/order.order/delete",params:r})}function p(r){return e.post({url:"/order.order/pay",params:r})}function g(r){return e.post({url:"/order.order/alipay",params:r})}function h(r){return e.post({url:"/order.order/wechat",params:r})}function y(r){return e.post({url:"/order.order/cancel",params:r})}function W(r){return e.post({url:"/order.order/refund",params:r})}function k(r){return e.get({url:"/order.order/export",params:r},{isReturnDefaultResponse:!0})}function m(r){return e.post({url:"/order.order/split",params:r})}function S(r){return e.get({url:"/tcm.diagnosis/searchPatient",params:r})}function x(r){return e.get({url:"/order.order/actionLogs",params:r})}function A(r){return e.get({url:"/order.order/actionLogStats",params:r})}function B(r){return e.post({url:"/order.order/assignAssistant",params:r})}function D(r){return e.post({url:"/order.order/setExempt",params:r})}export{k as a,B as b,s as c,x as d,A as e,u as f,n as g,c as h,i,l as j,m as k,a as l,p as m,g as n,o,y as p,W as q,f as r,S as s,D as t,d as u,h as w}; +import{r as e}from"./index-J_eFER10.js";function o(r){return e.get({url:"/order.order/lists",params:r})}function n(r){return e.get({url:"/order.order/syncWechatWorkBills",params:r})}function u(r){return e.get({url:"/order.order/syncWechatWorkBillsDebug",params:r})}function s(){return e.get({url:"/order.order/todayRevenue"})}function d(r){return e.get({url:"/order.order/orderStats",params:r})}function a(r){return e.post({url:"/order.order/detail",params:r})}function i(r){return e.post({url:"/order.order/create",params:r})}function c(r){return e.post({url:"/order.order/createForWechatWork",params:r})}function l(r){return e.post({url:"/order.order/edit",params:r})}function f(r){return e.post({url:"/order.order/delete",params:r})}function p(r){return e.post({url:"/order.order/pay",params:r})}function g(r){return e.post({url:"/order.order/alipay",params:r})}function h(r){return e.post({url:"/order.order/wechat",params:r})}function y(r){return e.post({url:"/order.order/cancel",params:r})}function W(r){return e.post({url:"/order.order/refund",params:r})}function k(r){return e.get({url:"/order.order/export",params:r},{isReturnDefaultResponse:!0})}function m(r){return e.post({url:"/order.order/split",params:r})}function S(r){return e.get({url:"/tcm.diagnosis/searchPatient",params:r})}function x(r){return e.get({url:"/order.order/actionLogs",params:r})}function A(r){return e.get({url:"/order.order/actionLogStats",params:r})}function B(r){return e.post({url:"/order.order/assignAssistant",params:r})}function D(r){return e.post({url:"/order.order/setExempt",params:r})}export{k as a,B as b,s as c,x as d,A as e,u as f,n as g,c as h,i,l as j,m as k,a as l,p as m,g as n,o,y as p,W as q,f as r,S as s,D as t,d as u,h as w}; diff --git a/server/public/admin/assets/order_list-7zm3KguG.js b/server/public/admin/assets/order_list-BYpnig_B.js similarity index 98% rename from server/public/admin/assets/order_list-7zm3KguG.js rename to server/public/admin/assets/order_list-BYpnig_B.js index 613003445..4231eafd3 100644 --- a/server/public/admin/assets/order_list-7zm3KguG.js +++ b/server/public/admin/assets/order_list-BYpnig_B.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{_ as fn,E as vn}from"./jspdf-BsthCvR5.js";import{K as yn,d as gn,M as bn,D as xn,B as kn,C as hn,Q as wn,R as Vn,Z as Sn,i as Cn,N as Nn,O as Pn,U as On,a2 as An,r as Rn,G as En,F as Tn,h as Dn,W as $n,L as Un,a4 as Fn,a5 as Ln,ab as In,ac as qn,ad as zn,k as jn,j as Mn,g as Bn,J as Hn,m as Wn,l as Gn,e as Kn,a6 as Qn,a7 as Jn,a as St}from"./element-plus-DGP1XOrU.js";import{_ as Xn}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as Yn}from"./index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js";import{w as Ct,s as De,q as sa}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Zn}from"./vue-router-QlpZ4wdW.js";import{k as er,G as tr,S as ar,X as lr,i as sr,Y as nr,O as rr}from"./@element-plus/icons-vue-CbYn5zW9.js";import{L as ir,u as or}from"./useListTimeFilter-Btvmdejx.js";import ur from"./PrescriptionOrderDetailDrawer-O5Yv7ynk.js";import{_ as dr}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DPPpLv5I.js";import{z as pr,A as cr,s as na,g as al,b as z,B as mr,a as _r,f as ll,h as Nt,p as fr,o as vr,T as yr,P as gr,n as br,C as Pt,y as xr,c as sl,u as kr,D as hr,E as wr,q as Vr,F as Sr}from"./prescription-order-utils-CpKeuzsa.js";import{C as Cr,D as Nr,g as Pr,n as Or,y as Ar,E as Rr,F as Er,G as Tr,m as Ot,H as nl,I as Dr,J as $r,K as Ur,L as rl,M as Fr,N as Lr,O as Ir,P as il,Q as qr,R as zr,S as jr,T as Mr,U as Br,V as Hr,q as Wr,l as ol,i as Gr,u as Kr}from"./tcm-CEIBuAeK.js";import{P as Qr}from"./index-VwsZ7VG0.js";import Jr from"./html2canvas-QH1iLAAe.js";import{u as Xr,k as w,o as Yr,_ as Zr}from"./index-fRv3NTFQ.js";import{d as ei}from"./department-OHG8LTQz.js";import{u as ti}from"./usePaging-DofycyjW.js";import{f as ul,w as ra,b as ai,n as et,as as li,ak as u,I as y,a as l,aN as n,J as r,F as E,ap as j,H as g,aP as C,O as _,G as b,M as si,P as ni,A as R}from"./@vue/runtime-core-C6bnekPw.js";import{o as M,Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as h,a as ia,n as f,r as me}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ri={class:"prescription-order-page prescription-order-list px-4 py-4 pb-8"},ii={class:"flex flex-col gap-3"},oi={key:0,class:"flex items-center gap-2 flex-wrap"},ui=["onClick"],di={class:"font-medium"},pi={class:"flex items-center gap-2 flex-wrap"},ci=["onClick"],mi={class:"font-medium"},_i={class:"flex items-center gap-2 flex-wrap"},fi=["onClick"],vi={class:"font-medium"},yi={class:"flex items-center gap-2 flex-wrap"},gi=["onClick"],bi={class:"font-medium"},xi={class:"flex items-center gap-2 flex-wrap"},ki=["onClick"],hi={class:"font-medium"},wi={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},Vi={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Si={class:"relative flex items-start justify-between gap-3"},Ci={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Ni={class:"mt-2 space-y-1.5 min-w-0"},Pi={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},Oi={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Ai={class:"text-slate-400"},Ri={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},Ei={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},Ti={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Di={class:"relative flex items-start justify-between gap-3"},$i={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Ui={class:"mt-2 space-y-1.5 min-w-0"},Fi={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},Li={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Ii={class:"text-slate-400"},qi={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},zi={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},ji={class:"po-table-toolbar"},Mi={class:"po-table-toolbar__title-wrap"},Bi={class:"po-table-hint text-gray-400"},Hi={class:"po-focus-board"},Wi={class:"po-focus-board__value"},Gi={class:"po-focus-board__value"},Ki={class:"po-focus-board__value"},Qi={class:"po-focus-board__value"},Ji={class:"po-order-no-cell"},Xi={class:"po-order-no-main"},Yi={class:"po-order-no-sub"},Zi={class:"text-gray-400"},eo={key:0,class:"ml-1"},to={class:"flex items-center gap-1"},ao={class:"text-red-500 font-medium whitespace-nowrap"},lo={class:"text-sm"},so={class:"flex justify-between mb-1"},no={class:"font-medium text-red-500"},ro={class:"flex justify-between mb-1"},io={class:"flex justify-between mb-1"},oo={class:"font-medium"},uo={key:0,class:"flex justify-between"},po={key:1},co=["title"],mo={key:1},_o={key:0,class:"text-gray-400"},fo={class:"flex items-center gap-1 flex-wrap"},vo={class:"flex justify-end mt-4"},yo={class:"flex items-center gap-2 ml-4 shrink-0"},go={class:"text-sm text-gray-700 font-medium"},bo={class:"create-order-dialog__inner"},xo={key:0,class:"create-order-rx-card"},ko={class:"create-order-rx-card__head"},ho={class:"create-order-rx-card__meta"},wo={class:"create-order-rx-card__id"},Vo={key:0,class:"create-order-rx-card__sn"},So={class:"create-order-rx-card__patient"},Co={class:"create-order-rx-card__herbs"},No={class:"text-sm text-gray-700 mt-1"},Po={class:"create-order-step-lead"},Oo={class:"flex gap-2 w-full"},Ao={class:"create-order-step-panel"},Ro={class:"create-order-step-panel"},Eo={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},To={class:"text-xs text-gray-400"},Do={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},$o={key:0,class:"space-y-1.5"},Uo={class:"text-gray-800 break-all"},Fo={key:1,class:"text-gray-400"},Lo={class:"flex items-center gap-1 w-full"},Io={class:"flex gap-2 w-full"},qo={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},zo={class:"flex items-center justify-between"},jo={class:"font-medium text-[13px] text-gray-800"},Mo={class:"text-orange-500 font-medium ml-4"},Bo={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Ho={class:"truncate pr-2"},Wo={class:"shrink-0"},Go={class:"create-order-pay-hint text-gray-500"},Ko={class:"text-amber-600 font-medium"},Qo={class:"create-order-step-panel"},Jo={class:"create-order-deposit-bar__cell"},Xo={class:"create-order-deposit-bar__sub"},Yo={class:"create-order-deposit-bar__cell"},Zo={class:"create-order-deposit-bar__sub"},eu={class:"create-order-footer"},tu={key:0,class:"create-order-footer__hint"},au={class:"create-order-footer__step"},lu={key:0,class:"create-order-footer__warn"},su={class:"create-order-footer__actions"},nu={class:"text-sm"},ru={class:"text-gray-600"},iu={class:"text-gray-600"},ou={class:"min-h-[52px]"},uu={class:"text-xs leading-relaxed space-y-1.5"},du={key:0,class:"flex flex-wrap gap-1 items-center"},pu={key:1,class:"list-disc pl-4 space-y-0.5 text-red-50"},cu={class:"mt-3"},mu={key:0,class:"rounded-lg border border-amber-200/80 bg-amber-50/50 p-3"},_u={class:"text-xs font-semibold text-amber-900 mb-2"},fu={class:"text-red-500"},vu={key:1,class:"text-xs text-gray-500 mt-2"},yu={class:"text-xs text-gray-500 mt-1"},gu={class:"text-xs text-gray-500 mt-1"},bu={class:"flex flex-col gap-0.5 py-0.5"},xu={class:"flex items-center justify-between"},ku={class:"text-sm"},hu={class:"text-orange-500 font-medium ml-4"},wu={class:"text-xs text-gray-400"},Vu={class:"flex items-center justify-between w-full pr-2 gap-3"},Su={key:0,class:"flex items-center gap-2 shrink-0"},Cu={class:"rx-wrap"},Nu={key:1,class:"rx-statusbar"},Pu={key:2,class:"rx-status rx-status-danger"},Ou={key:3,class:"rx-status rx-status-danger"},Au={key:0,class:"mt-1"},Ru={key:4,class:"rx-status rx-status-danger"},Eu={key:0,class:"mt-1"},Tu={key:6,class:"rx-audit"},Du={key:0},$u={key:0,class:"ml-2 text-gray-400"},Uu={key:1,class:"mt-1"},Fu={key:0,class:"px-4"},Lu={class:"flex items-center justify-between"},Iu={class:"text-lg font-semibold text-orange-600"},qu={class:"text-lg font-semibold text-blue-600"},zu={class:"text-lg font-semibold text-green-600"},ju={class:"text-xl font-bold text-red-600"},Mu={class:"text-sm text-gray-500 mt-1.5"},Bu={class:"font-medium text-gray-700"},Hu={key:0},Wu={class:"text-sm text-gray-700 leading-relaxed"},Gu={class:"flex items-center justify-between"},Ku={class:"text-sm text-gray-500"},Qu={class:"font-medium text-orange-600"},Ju={class:"text-base font-medium"},Xu={class:"text-base font-medium"},Yu={class:"text-sm text-gray-600 mb-3"},Zu={class:"text-primary"},ed=ul({name:"prescriptionOrderList"}),td=ul({...ed,setup(ad){const dl=ni(()=>fn(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),_e=Xr(),pl=Zn(),oa=f(null);function cl(){var e,s;const t=Number((e=T.value)==null?void 0:e.diagnosis_id);if(!t){w.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(s=oa.value)==null||s.openViewOnly(t)}const ml=6,ua=[3,8],_l=R(()=>{const t=_e.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return e.includes(ml)?!ua.some(s=>e.includes(s)):!1}),fl=R(()=>{const t=_e.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return ua.some(s=>e.includes(s))}),vl=R(()=>_l.value||fl.value),da=f([]),tt=R(()=>{const t=_e.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return e.includes(yr)?e.some(s=>gr.includes(s)):!0}),yl=R(()=>tt.value?"详情/审核":"详情"),gl=[0,3,6],pa=[0,3],At=()=>{const t=_e.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return gl.some(s=>e.includes(s))},re=f(!1),ca=R(()=>{const t=_e.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return pa.some(s=>e.includes(s))}),fe=f([]);function bl(t){fe.value=Array.isArray(t)?t:[]}const $e=f(!1),at=f(""),Rt=f(!1);function xl(){if(fe.value.length===0){w.msgWarning("请先勾选要改派的订单");return}at.value="",$e.value=!0}async function kl(){const t=Number(at.value);if(!t){w.msgWarning("请选择目标医助");return}const e=fe.value.map(s=>Number(s.id)).filter(s=>s>0);if(e.length===0){w.msgWarning("请先勾选要改派的订单");return}Rt.value=!0;try{const s=await Nr({order_ids:e,assistant_id:t}),i=Number((s==null?void 0:s.success)??0),o=Array.isArray(s==null?void 0:s.errors)?s.errors:[];let d=`已改派 ${i} 单`;o.length&&(d+=`;${o.join(";")}`),w.msgSuccess(d),$e.value=!1,fe.value=[],U()}catch{}finally{Rt.value=!1}}const lt=f([]),Et=f([]),Tt=f([]),we=f([]),st=f([]),hl={value:"id",label:"name",children:"children"};function ma(t,e){for(const s of t||[]){if(s==null||typeof s!="object")continue;const i=s;if(Number(i.id)===e)return i;const o=ma(i.children||[],e);if(o)return o}return null}function _a(t){const e=Number(t.id),s=[];Number.isFinite(e)&&e>0&&s.push(e);for(const i of t.children||[])i&&typeof i=="object"&&s.push(..._a(i));return s}function wl(t,e){const s=ma(e,t);return s?_a(s):[t]}async function Vl(){try{const[t,e,s]=await Promise.all([Pr(),Or(),ei()]);Tt.value=Array.isArray(t)?t:[],we.value=Array.isArray(e)?e:[];const i=Array.isArray(s)?s:[];st.value=i}catch{Tt.value=[],we.value=[],st.value=[]}}const Sl=t=>t.map(e=>{var s;return{value:e.province,label:e.province,code:e.code,children:((s=e.citys)==null?void 0:s.map(i=>{var o;return{value:i.city,label:i.city,code:i.code,children:((o=i.areas)==null?void 0:o.map(d=>({value:d.area,label:d.area,code:d.code})))||[]}}))||[]}}),Cl=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const s=await e.json();console.log("加载的数据条数:",s==null?void 0:s.length),lt.value=Sl(s),console.log("regionOptions 已设置,条数:",lt.value.length)}catch(t){console.error("加载省市区数据失败:",t),lt.value=[]}},Nl=async()=>{try{const t=await Yr({type:"server_order"});Et.value=br(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),Et.value=[]}},Pl=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function Ol(t){te.value="",v.exclude_fulfillment_cancelled=0,v.fulfillment_status=t,W()}const te=f(""),Al=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"洛阳直发",value:"direct"},{label:"自营",value:"self"}];function Rl(t){v.supply_mode=t,W()}const El=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Tl(t){v.express_company=t,W()}const v=me({order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:"",service_channel:"",has_aux_formula:"",exclude_fulfillment_cancelled:0,audit_admin_id:""}),Dl=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],$l=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function Ul(t){te.value="",v.exclude_fulfillment_cancelled=0,v.prescription_audit_status=t,W()}function Fl(t){te.value="",v.exclude_fulfillment_cancelled=0,v.payment_slip_audit_status=t,W()}function nt(t){if(te.value===t){te.value="",v.prescription_audit_status="",v.payment_slip_audit_status="",v.fulfillment_status="",v.exclude_fulfillment_cancelled=0,W();return}te.value=t,v.prescription_audit_status="",v.payment_slip_audit_status="",v.fulfillment_status="",v.exclude_fulfillment_cancelled=0,t==="pendingRx"?(v.prescription_audit_status=0,v.exclude_fulfillment_cancelled=1):t==="pendingPay"?(v.prescription_audit_status=1,v.payment_slip_audit_status=0):t==="pendingShip"?v.fulfillment_status=2:t==="risk"&&(v.payment_slip_audit_status=2),W()}const{time_type:Ue,dateRange:Dt,resolve:fa,handleTimeTypeChange:Ll,handleCustomDateChange:Il,resetTimeFilter:ql,applyCustomRange:zl}=or("all"),va=()=>{Y.page=1,U()},jl=()=>Ll(va),Ml=()=>Il(va);function ya(t){const e={...t};if(e.prescription_id===""||e.prescription_id===void 0?delete e.prescription_id:e.prescription_id=Number(e.prescription_id),e.fulfillment_status===""||e.fulfillment_status===void 0||e.fulfillment_status===null?delete e.fulfillment_status:e.fulfillment_status=Number(e.fulfillment_status),e.prescription_audit_status===""||e.prescription_audit_status===void 0||e.prescription_audit_status===null?delete e.prescription_audit_status:e.prescription_audit_status=Number(e.prescription_audit_status),e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0||e.payment_slip_audit_status===null?delete e.payment_slip_audit_status:e.payment_slip_audit_status=Number(e.payment_slip_audit_status),(!e.supply_mode||e.supply_mode==="")&&delete e.supply_mode,e.doctor_id===""||e.doctor_id===void 0||e.doctor_id===null?delete e.doctor_id:e.doctor_id=Number(e.doctor_id),e.assistant_id===""||e.assistant_id===void 0||e.assistant_id===null?delete e.assistant_id:e.assistant_id=Number(e.assistant_id),e.assistant_dept_id===""||e.assistant_dept_id===void 0||e.assistant_dept_id===null?delete e.assistant_dept_id:e.assistant_dept_id=Number(e.assistant_dept_id),e.order_no||delete e.order_no,String(e.patient_keyword||"").trim()||delete e.patient_keyword,e.audit_admin_id===""||e.audit_admin_id===void 0||e.audit_admin_id===null?delete e.audit_admin_id:e.audit_admin_id=Number(e.audit_admin_id),String(e.express_keyword||"").trim()||delete e.express_keyword,(!e.express_company||e.express_company==="")&&delete e.express_company,e.service_channel===""||e.service_channel===void 0||e.service_channel===null?delete e.service_channel:(e.service_channel=String(e.service_channel).trim(),e.service_channel===""&&delete e.service_channel),e.has_aux_formula===""||e.has_aux_formula===void 0||e.has_aux_formula===null?delete e.has_aux_formula:e.has_aux_formula=Number(e.has_aux_formula),Number(e.exclude_fulfillment_cancelled)!==1&&delete e.exclude_fulfillment_cancelled,!String(e.start_time||"").trim()||!String(e.end_time||"").trim())delete e.start_time,delete e.end_time;else{const s=String(e.start_time||"").trim(),i=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(s)&&/^\d{4}-\d{2}-\d{2}$/.test(i)&&(e.start_time=`${s} 00:00:00`,e.end_time=`${i} 23:59:59`)}return e}async function Bl(t){const[e,s]=fa(),i=ya({...t,start_time:e,end_time:s});return Ar(i)}const Hl=R(()=>{const[t,e]=fa();return ya({...v,start_time:t,end_time:e})}),{pager:Y,getLists:U,resetPage:W,resetParams:Wl}=ti({fetchFun:Bl,params:v});ra(()=>{var t;return(t=Y.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(da.value=t.map(e=>{if(e==null||typeof e!="object")return null;const s=e,i=Number(s.id),o=String(s.name??"").trim();return!Number.isFinite(i)||i<=0||o===""?null:{id:i,name:o}}).filter(e=>e!=null))},{immediate:!0});function Gl(){const t=pl.query,e=p=>{const k=p!=null?String(p).trim():"";return k?k.length>=10?k.slice(0,10):k:""},s=e(t.start_time),i=e(t.end_time);s&&i&&zl(s,i);const o=t.assistant_dept_id;if(o!=null&&String(o)!==""){const p=Number(o);Number.isFinite(p)&&p>0&&(v.assistant_dept_id=p)}const d=t.assistant_id;if(d!=null&&String(d)!==""){const p=Number(d);Number.isFinite(p)&&p>0&&(v.assistant_id=p)}}const ga=R(()=>{const t=v.assistant_dept_id;if(t===""||t==null)return we.value;const e=Number(t);if(!Number.isFinite(e))return we.value;const s=new Set(wl(e,st.value));return we.value.filter(i=>{const o=i.dept_ids;return!Array.isArray(o)||o.length===0?!1:o.map(Number).some(d=>s.has(d))})});function Kl(){const t=v.assistant_id;if(t!==""&&t!=null){const e=Number(t);ga.value.some(i=>Number(i.id)===e)||(v.assistant_id="")}W()}const ie=R(()=>{const t=Y.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),s=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),i=ee=>{const X=Number(ee);return Number.isFinite(X)?Math.round(X*100)/100:0},o=ee=>ee.toFixed(2),d=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,p=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,k=i(d?t==null?void 0:t.stats_order_amount_not_cancelled:e),J=d?i(t==null?void 0:t.stats_order_amount_cancelled):0,x=i(p?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:s),Re=p?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,K=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):k,P=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):x,O=String((t==null?void 0:t.stats_time_start)??"").trim(),wt=String((t==null?void 0:t.stats_time_end)??"").trim(),Xe=O&&wt?`统计时间:${O} ~ ${wt}`:"统计时间:—",Ye=String((t==null?void 0:t.stats_scope)??"restricted");let he="统计口径:与当前列表数据可见范围一致";Ye==="all"?he="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":Ye==="assistant"?he="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":Ye==="own_rx"&&(he="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const Ee=Ue.value==="all"?"全部":Ue.value==="today"?"今日":"区间";return{order:i(e),pay:i(s),orderStr:o(i(e)),payStr:o(i(s)),orderNotCancelledStr:o(k),orderCancelledStr:o(J),payNotCancelledStr:o(x),payCancelledStr:o(Re),orderPerformanceStr:o(K),payPerformanceStr:o(P),orderHeading:`${Ee}业绩(业务订单额)`,payHeading:`${Ee}业绩(关联实付)`,periodLine:Xe,scopeHint:he,orderSplitHint:"业绩 = 排除履约已取消(4)、拒收(9)、退款(10)后的订单金额;下方为合计与排除项明细"}}),rt=R(()=>{const t=Y.extend,e=p=>{const k=Number(p);return!Number.isFinite(k)||k<0?0:Math.trunc(k)},s=e(t==null?void 0:t.focus_pending_rx_count),i=e(t==null?void 0:t.focus_pending_pay_count),o=e(t==null?void 0:t.focus_pending_ship_count),d=e(t==null?void 0:t.focus_risk_count);return{pendingRx:s,pendingPay:i,pendingShip:o,risk:d}});function $t(t,e){const s=Number(e==null?void 0:e.prescription_audit_status),i=Number(e==null?void 0:e.payment_slip_audit_status),o=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&s===0||t==="pay"&&s===1&&i===0||t==="fulfillment"&&o===2?"po-status-tag is-focus":t==="rx"&&s===2||t==="pay"&&i===2||t==="fulfillment"&&o===4?"po-status-tag is-risk":"po-status-tag"}function Ql({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),s=Number(t==null?void 0:t.payment_slip_audit_status),i=Number(t==null?void 0:t.fulfillment_status),o=na(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||s===2||o?"po-row-risk":e===0||e===1&&s===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}ra(tt,t=>{t||v.prescription_audit_status===""||v.prescription_audit_status===void 0||(v.prescription_audit_status="",v.exclude_fulfillment_cancelled=0,W())},{immediate:!0});function Jl(){te.value="",ql(),v.order_no="",v.prescription_id="",v.patient_keyword="",v.express_keyword="",v.express_company="",v.doctor_id="",v.assistant_id="",v.assistant_dept_id="",v.fulfillment_status="",v.prescription_audit_status="",v.payment_slip_audit_status="",v.supply_mode="",v.service_channel="",v.has_aux_formula="",v.audit_admin_id="",v.exclude_fulfillment_cancelled=0,Wl()}function ba(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function xa(t){return t===1?"success":t===2?"danger":"info"}function ka(){const t=_e.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[]).some(s=>pa.includes(s)):!1}function ha(t){var s;const e=Number((s=_e.userInfo)==null?void 0:s.id);return e>0&&Number(t.creator_id)===e}function wa(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Va(t){const e=Number(t.fulfillment_status);return e===3||e===4||ha(t)&&wa(t)&&!ka()||Pt(t)?!1:e===1||e===2}function Xl(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Yl(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function Zl(t){if(Pt(t))return!1;const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return(s===1||s===2)&&i===0}function es(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return s===1&&(i===1||i===2)}function ts(t){return Pt(t)?!1:Number(t.fulfillment_status)===1}function Sa(t){return Number(t.fulfillment_status)===2}const as=R(()=>{const t=_e.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/setShipMode")});function Q(t){return String(t||"").toLowerCase()==="direct"?"direct":"gancao"}function ls(t){return Q(t)==="direct"?"洛阳药房":"甘草药房"}function Ca(t){return Pt(t)}function Na(t){const e=Number(t.fulfillment_status);return e!==3&&e!==4&&!Ca(t)}const Ut=f(!1);function Ft(t,e){const s=Number(t),i=Number(e);return s>0&&s===i}const ss=R(()=>Q(H.ship_mode)==="direct"?"洛阳药房直发":"甘草药房直发");async function ns(t){const e=T.value;if(!(e!=null&&e.id))return;const s=Q(t),i=Q(e.ship_mode);if(s!==i){if(!Na(e)){w.msgWarning("当前订单状态不可修改发货类型");return}Ut.value=!0;try{await Rr({id:e.id,ship_mode:s}),T.value&&(T.value.ship_mode=s),ke.value&&Ft(Ne.value,e.id)&&(H.ship_mode=s),await ut(),w.msgSuccess("发货类型已保存"),U()}catch{}finally{Ut.value=!1}}}async function rs(){await ut(),U()}function Lt(t){const e=Number(t.fulfillment_status);if(e!==5&&e!==6)return!1;const s=Math.round((Number(t.amount)||0)*100)/100;return Math.round((Number(t.linked_pay_paid_total)||0)*100)/100{var t;return((t=B.value)==null?void 0:t.detail)??null}),os=R(()=>{var e;const t=(e=T.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Ra=R(()=>`${c.dose_unit||"剂"}数`),Fe=f(!1),It=f(!1),it=f(),de=me({id:0,amount:void 0}),us={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,s)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){s(new Error("订单金额不能为负数"));return}s()},trigger:"blur"}]},Ve=f(null),ot=f(!1),Le=R(()=>xr(Ve.value)),Ie=f(!1),qt=f(!1),zt=f(),ae=me({patient_name:"",phone:""}),ds={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function ps(){const t=os.value,e=T.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){w.msgWarning("无处方数据");return}ae.patient_name=String(t.patient_name??"").trim(),ae.phone=String(t.phone??"").trim(),Ie.value=!0,et(()=>{var s;return(s=zt.value)==null?void 0:s.clearValidate()})}function cs(){ae.patient_name="",ae.phone=""}function ms(){var t;de.id=0,de.amount=void 0,(t=it.value)==null||t.clearValidate()}function _s(){const t=T.value;if(!sl(t)){w.msgWarning("当前订单状态不允许修改金额");return}de.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);de.amount=Number.isFinite(e)?e:void 0,Fe.value=!0,et(()=>{var s;return(s=it.value)==null?void 0:s.clearValidate()})}async function ut(){var t;await((t=B.value)==null?void 0:t.refresh())}async function fs(){var s;const t=zt.value;if(!t)return;try{await t.validate()}catch{return}const e=(s=T.value)==null?void 0:s.id;if(e){qt.value=!0;try{await Er({id:e,patient_name:ae.patient_name.trim(),phone:ae.phone.trim()}),Ie.value=!1,await ut()}catch(i){console.error(i)}finally{qt.value=!1}}}async function Ea(){const t=it.value;if(!t)return;try{await t.validate()}catch{return}if(!sl(T.value)){w.msgWarning("当前订单状态不允许修改金额");return}const e=de.id;It.value=!0;try{await Tr({id:e,amount:Number(de.amount)}),w.msgSuccess("修改成功"),Fe.value=!1,await ut(),U()}catch{}finally{It.value=!1}}async function vs(t){var e;await((e=B.value)==null?void 0:e.open(t))}const be=f(!1),jt=f(!1),Mt=f(!1),F=f(0),le=f(null),se=f(!1),dt=f(""),ys=R(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][F.value]??""),Ta=R(()=>{const t=le.value,e=kr(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const s=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return s.length>120?`${s.slice(0,120)}…`:s}),gs=["recipient_name","recipient_phone","region","shipping_address"],xe=f(),c=me({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),bs=R(()=>hr(Et.value,c.service_package)),Da=R(()=>{const t=String(c.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(s=>s.trim()).filter(Boolean):e.split("/").map(s=>s.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),qe=f([]),Bt=f(!1),I=f(0);function pt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Ht=R(()=>{const t=new Set(c.pay_order_ids.map(s=>Number(s)));let e=0;for(const s of qe.value)t.has(Number(s.id))&&(e+=Number(s.amount)||0);return Math.round(e*100)/100}),xs=R(()=>{const t=I.value;return t>0?Math.round(t*100)/100:0});async function ks(t,e){var s,i;if(!t){qe.value=[];return}try{Bt.value=!0;const o=await ol({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),d=(o==null?void 0:o.lists)??((s=o==null?void 0:o.data)==null?void 0:s.lists)??[];qe.value=Array.isArray(d)?d:[];const p=Number((o==null?void 0:o.deposit_min_amount)??((i=o==null?void 0:o.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(p)&&p>=0&&(I.value=p)}catch{qe.value=[]}finally{Bt.value=!1}}const hs=R(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,s,i)=>{const o=I.value,d=Number(s);if(o>0&&(!Number.isFinite(d)||d0){const e=`已开启关联支付门槛(¥${z(I.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function ws(){var t;F.value=0,le.value=null,se.value=!1,dt.value="",(t=xe.value)==null||t.clearValidate()}function Vs(){F.value>0&&(F.value-=1)}async function Ss(){const t=xe.value;if(t)try{F.value===0?await t.validateField([...gs]):F.value===1&&I.value>0&&await t.validateField(["pay_order_ids"]),F.value<2&&(F.value+=1)}catch{}}async function Cs(t){if(!Va(t)){ha(t)&&wa(t)&&!ka()&&w.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}F.value=0,le.value=null,be.value=!0,jt.value=!0;try{const e=await Ot({id:t.id}),s=(e==null?void 0:e.data)??e;if(!s){w.msgError("加载数据结构异常"),be.value=!1;return}const i=s.prescription;i&&typeof i=="object"?le.value=i:Number(s.prescription_id)>0?le.value={id:Number(s.prescription_id),sn:"",patient_name:String(s.recipient_name||""),herbs:[]}:le.value=null,c.id=s.id,c.prescription_id=Number(s.prescription_id)||0,c.diagnosis_id=Number(s.diagnosis_id)||0,c.assistant_id=Number(s.assistant_id)||0,c.diagnosis_creator_id=Number(s.diagnosis_creator_id)||0,c.diagnosis_creator_name=s.diagnosis_creator_name!=null&&s.diagnosis_creator_name!==""?String(s.diagnosis_creator_name):"",c.diagnosis_creator_dept_path=s.diagnosis_creator_dept_path!=null&&s.diagnosis_creator_dept_path!==""?String(s.diagnosis_creator_dept_path):"",c.recipient_name=s.recipient_name||"",c.recipient_phone=s.recipient_phone||"";const o=s.shipping_province||"",d=s.shipping_city||"",p=s.shipping_district||"";o||d||p?c.region=[o,d,p].filter(O=>O!==""):c.region=[],c.shipping_address=s.shipping_address||"",c.is_follow_up=s.is_follow_up?1:0,c.medication_days=s.medication_days>0?s.medication_days:void 0,c.dose_count=s.dose_count>0?s.dose_count:1,c.dose_unit=s.dose_unit||"剂",c.prev_staff=s.prev_staff||"",c.service_channel=s.service_channel||"",c.service_package=wr(s.service_package),c.express_company=String(s.express_company||"auto")||"auto",c.tracking_number=s.tracking_number||"",c.fee_type=Number(s.fee_type)||3,I.value=Number(s.deposit_min_amount)||0;let k=Number(s.amount)||0;const J=Math.round((Number(s.linked_pay_paid_total)||0)*100)/100,x=I.value;if(x>0){const O=Math.round(x*100)/100;kNumber(O)).filter(O=>!Number.isNaN(O)):[],c.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0;const K=String(s.gancao_reciperl_order_no||"").trim(),P=Number(s.gancao_submit_time||0);se.value=K!==""||P>0,dt.value=K||"",await ks(c.diagnosis_id,c.id),et(()=>{var O;(O=xe.value)==null||O.clearValidate()})}catch(e){w.msgError((e==null?void 0:e.message)||"加载异常"),be.value=!1}finally{jt.value=!1}}async function Ns(){if(!xe.value)return;const t=se.value;if(!(!t&&F.value!==2)){t?xe.value.clearValidate():await xe.value.validate(),Mt.value=!0;try{const e={id:c.id,recipient_name:c.recipient_name,recipient_phone:c.recipient_phone,shipping_address:c.shipping_address,is_follow_up:c.is_follow_up,prev_staff:c.prev_staff||"",service_channel:c.service_channel||"",service_package:Array.isArray(c.service_package)?c.service_package.join(","):"",express_company:c.express_company||"auto",tracking_number:c.tracking_number||"",fee_type:c.fee_type,amount:c.amount,remark_extra:c.remark_extra||"",remark_assistant:c.remark_assistant||"",medication_days:c.medication_days!=null&&String(c.medication_days).trim()!==""?c.medication_days:"",dose_unit:c.dose_unit||"剂",dose_count:c.dose_count||1,internal_cost:c.internal_cost!=null&&String(c.internal_cost).trim()!==""?c.internal_cost:""};c.region&&c.region.length>0?(e.shipping_province=c.region[0]||"",e.shipping_city=c.region[1]||"",e.shipping_district=c.region[2]||""):(e.shipping_province="",e.shipping_city="",e.shipping_district=""),e.pay_order_ids=[...c.pay_order_ids],await nl(e),w.msgSuccess("保存成功"),be.value=!1,U()}catch{}finally{Mt.value=!1}}}const ze=f(!1),Wt=f("prescription"),Gt=f(0),je=f(null),Se=f(""),ct=f(!1),Ps=R(()=>Wt.value==="prescription"?"处方业务审核":"关联支付单审核");function $a(t,e){Wt.value=e,Gt.value=t.id,je.value=t,Se.value="",ze.value=!0}async function Ua(t){var e;if(t==="reject"&&!Se.value.trim()){w.msgError("驳回或阻止时必须填写明确的审核意见");return}ct.value=!0;try{const s={id:Gt.value,action:t,remark:Se.value.trim()};Wt.value==="prescription"?await Dr(s):await $r(s),w.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),ze.value=!1,U(),await((e=B.value)==null?void 0:e.refreshIfCurrent(Gt.value))}catch{}finally{ct.value=!1}}async function Os(t){try{await St.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await Ur({id:t.id}),w.msgSuccess("撤回成功"),U()}catch{}}const mt=f(0),_t=f(!1),Ce=f(!1),$=f(null);function Kt(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,s=Number(t.proces_cost)||0,i=Number(t.lis_cost)||0;return(e+s+i).toFixed(2)}function As(t,e){const s=parseFloat(Kt(t))||0,i=Number(e)||0;return i<=0?"—":(s/i*100).toFixed(2)}function Rs(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,i)=>s+(Number(i.quantity)||0),0).toFixed(0)}async function Es(){if(!c.id){w.msgError("请先保存订单");return}Ce.value=!0;try{const t=await rl({id:c.id,dose_count:c.dose_count||1,medication_days:c.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&($.value=e,_t.value=!0,w.msgSuccess("预下单测试成功"))}catch{}finally{Ce.value=!1}}async function Ts(){var t,e;if(!((t=T.value)!=null&&t.id)){w.msgError("订单数据不存在");return}Ce.value=!0;try{const s=await rl({id:T.value.id,dose_count:T.value.dose_count||1,medication_days:T.value.medication_days||void 0}),i=(s==null?void 0:s.data)??s;if(i&&i.success&&($.value=i,_t.value=!0,At()&&i.fee)){const o=Kt(i.fee);try{const d=await Ot({id:T.value.id}),p=(d==null?void 0:d.data)??d;if(p!=null&&p.id){const k=p.service_package,J=Array.isArray(k)?k.join(","):String(k||"");await nl({id:p.id,recipient_name:p.recipient_name||"",recipient_phone:p.recipient_phone||"",shipping_province:p.shipping_province||"",shipping_city:p.shipping_city||"",shipping_district:p.shipping_district||"",shipping_address:p.shipping_address||"",is_follow_up:p.is_follow_up?1:0,medication_days:p.medication_days!=null&&String(p.medication_days).trim()!==""?p.medication_days:"",dose_unit:p.dose_unit||"剂",dose_count:p.dose_count>0?p.dose_count:1,prev_staff:p.prev_staff||"",service_channel:p.service_channel||"",service_package:J,express_company:p.express_company||"auto",tracking_number:p.tracking_number||"",fee_type:Number(p.fee_type)||3,amount:Number(p.amount)||0,remark_extra:p.remark_extra||"",remark_assistant:p.remark_assistant||"",internal_cost:o,pay_order_ids:Array.isArray(p.pay_order_ids)?p.pay_order_ids:[]}),w.msgSuccess("内部成本已按预报价总计更新"),U(),await((e=B.value)==null?void 0:e.refreshIfCurrent(p.id))}}catch{}}}catch{}finally{Ce.value=!1}}async function Fa(t){var i;const s=Q(t.ship_mode)==="direct"?"洛阳药房":"甘草药房";try{await St.confirm(`将把本单关联处方提交至${s},提交成功后不可切换发货药房。确定继续?`,"上传药房",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),mt.value=t.id;const o=await Fr({id:t.id}),d=(o==null?void 0:o.data)??o,p=(d==null?void 0:d.pharmacy_order_no)!=null?String(d.pharmacy_order_no):(d==null?void 0:d.recipel_order_no)!=null?String(d.recipel_order_no):"";w.msgSuccess(p?`上传成功,${s}单号:${p}`:"上传成功"),U(),await((i=B.value)==null?void 0:i.refreshIfCurrent(t.id))}catch{}finally{mt.value=0}}ai(async()=>{await Cl(),await Nl(),await Vl(),Gl(),await et(),U()});const Me=f(!1),ft=f(!1),Qt=f(0),pe=me({express_company:"auto",tracking_number:""});function Ds(t){Qt.value=t.id,pe.express_company=String(t.express_company||"auto")||"auto",pe.tracking_number=String(t.tracking_number||""),Me.value=!0}async function La(){var t;if(!pe.tracking_number.trim()){w.msgError("请填写快递单号");return}ft.value=!0;try{await Lr({id:Qt.value,express_company:pe.express_company||"auto",tracking_number:pe.tracking_number.trim()}),w.msgSuccess("快递单号已保存"),Me.value=!1,U(),await((t=B.value)==null?void 0:t.refreshIfCurrent(Qt.value))}catch{}finally{ft.value=!1}}const ke=f(!1),vt=f(!1),Ne=f(0),H=me({ship_mode:"gancao",express_company:"auto",tracking_number:""});function $s(t){var e;return Ft((e=T.value)==null?void 0:e.id,t.id)?Q(T.value.ship_mode):Q(t.ship_mode)}function Ia(t){Ne.value=Number(t.id),H.ship_mode=$s(t),H.express_company=String(t.express_company||"auto")||"auto",H.tracking_number=String(t.tracking_number||""),ke.value=!0}ra(()=>{var t;return(t=T.value)==null?void 0:t.ship_mode},t=>{var e;!ke.value||!Ne.value||!Ft((e=T.value)==null?void 0:e.id,Ne.value)||(H.ship_mode=Q(t))});async function qa(){var t;if(!H.tracking_number.trim()){w.msgError("请先填写快递单号再确认发货");return}vt.value=!0;try{await Ir({id:Ne.value,ship_mode:Q(H.ship_mode),express_company:H.express_company||"auto",tracking_number:H.tracking_number.trim()}),w.msgSuccess("确认发货成功,订单已进入「已发货」状态"),ke.value=!1,U(),await((t=B.value)==null?void 0:t.refreshIfCurrent(Ne.value))}catch{}finally{vt.value=!1}}const Us=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Pe=f(!1),Oe=f(0),ve=f(3),Be=f(!1),He=f(!1),oe=f([]),Jt=f(),Z=me({reason:"",refund_amount:void 0}),ye=f(0),Fs=R(()=>Xt(oe.value)),Ls=R(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),o=ye.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(o>0&&i>o+.009){s(new Error(`不能超过可退上限 ¥${z(o)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));let We=0;function Is(){var t;Oe.value=0,oe.value=[],He.value=!1,Z.reason="",Z.refund_amount=void 0,ye.value=0,(t=Jt.value)==null||t.clearValidate(),We+=1,Ve.value=null,ot.value=!1}async function qs(t){if(!t){oe.value=[];return}He.value=!0;try{const e=await Ot({id:t}),s=(e==null?void 0:e.data)??e??null,i=s==null?void 0:s.linked_pay_orders;oe.value=Array.isArray(i)?i:[];const o=Xt(oe.value),d=Number(s==null?void 0:s.paid)||0;ye.value=o>0?o:d,Z.refund_amount=ye.value}catch{oe.value=[],ye.value=0}finally{He.value=!1}}async function zs(t){const e=Number(t.id),s=String(t.tracking_number||"").trim();if(!e||!s)return;const i=++We;ot.value=!0,Ve.value=null;try{const o=String(t.recipient_phone||"").replace(/\D/g,""),d={id:e,express_company:String(t.express_company||"auto")||"auto"};o.length>=4&&(d.phone_tail=o);const p=await Gr(d);if(i!==We||Oe.value!==e)return;Ve.value=Vr(p,s,e)}catch{if(i!==We||Oe.value!==e)return;Ve.value=null}finally{i===We&&Oe.value===e&&(ot.value=!1)}}async function js(){var e,s,i;const t=Oe.value;if(t){if(ve.value===10){if(!await((e=Jt.value)==null?void 0:e.validate().catch(()=>!1)))return;Be.value=!0;try{await il({id:t,reason:Z.reason.trim(),refund_amount:Number(Z.refund_amount)}),w.msgSuccess("退款成功"),Pe.value=!1,U(),await((s=B.value)==null?void 0:s.refreshIfCurrent(t))}catch{}finally{Be.value=!1}return}Be.value=!0;try{await qr({id:t,fulfillment_status:ve.value}),w.msgSuccess("订单状态已更新"),Pe.value=!1,U(),await((i=B.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{Be.value=!1}}}function Xt(t){let e=0;for(const s of t||[]){const i=Number(s==null?void 0:s.status);(i===2||i===5)&&(e+=Number(s==null?void 0:s.amount)||0)}return Math.round(e*100)/100}const Ge=f(!1),Yt=f(0),Zt=f(!1),ea=f(),ne=f(0),G=me({reason:"",refund_amount:void 0}),Ms=R(()=>{const t=z(ne.value),e=z(G.refund_amount);return Number(G.refund_amount)>=ne.value-.009?`确认全额退款 ¥${t}:关联收款将标记已退款,本单已付清零,且不可撤销。`:`确认部分退款 ¥${e}(可退上限 ¥${t}):将扣减本单已付,并按金额依次标记关联收款已退款。`}),Bs=R(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),o=ne.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(o>0&&i>o+.009){s(new Error(`不能超过可退上限 ¥${z(o)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function Hs(){var t;Yt.value=0,G.reason="",G.refund_amount=void 0,ne.value=0,(t=ea.value)==null||t.clearValidate()}async function za(t){Yt.value=t.id,G.reason="",G.refund_amount=void 0,ne.value=0,Ge.value=!0;try{const e=await Ot({id:t.id}),s=(e==null?void 0:e.data)??e??null,i=Array.isArray(s==null?void 0:s.linked_pay_orders)?s.linked_pay_orders:[],o=Xt(i),d=Number(s==null?void 0:s.paid)||0;ne.value=o>0?o:d,G.refund_amount=ne.value}catch{ne.value=0}}async function Ws(){var s,i;const t=Yt.value;if(!(!t||!await((s=ea.value)==null?void 0:s.validate().catch(()=>!1)))){Zt.value=!0;try{await il({id:t,reason:G.reason.trim(),refund_amount:Number(G.refund_amount)}),w.msgSuccess("退款成功"),Ge.value=!1,U(),await((i=B.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{Zt.value=!1}}}const Ke=f(!1),yt=f(!1),Qe=f(0),gt=f(),ta=f(!1),bt=f([]),Gs=R(()=>V.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":V.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),V=me({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ks=R(()=>{const t={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}]};return V.add_mode==="create"||V.add_mode==="create_express"?(t.order_type=[{required:!0,message:"请选择费用类别",trigger:"change"}],t.pay_amount=[{validator:(e,s,i)=>{if(s==null||s===""){i(new Error("请输入支付金额"));return}const o=Number(s);!Number.isFinite(o)||o<0?i(new Error("金额不能小于 0")):i()},trigger:"blur"}]):V.add_mode==="link"&&(t.link_pay_order_ids=[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(e,s,i)=>{!Array.isArray(s)||s.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function Qs(t,e=[]){var s;if(!t){bt.value=[];return}try{ta.value=!0;const i=await ol({diagnosis_id:t}),o=(i==null?void 0:i.lists)??((s=i==null?void 0:i.data)==null?void 0:s.lists)??[],d=Array.isArray(o)?o.filter(p=>!e.includes(p.id)):[];bt.value=d}catch{bt.value=[]}finally{ta.value=!1}}function ja(t){var i,o;if(!Lt(t)){w.msgWarning("订单总金额与已付金额一致,无需补齐支付单");return}Qe.value=t.id,V.add_mode="create",V.order_type=3,V.pay_amount=void 0,V.pay_remark="",V.link_pay_order_ids=[],V.completion_request=0,Ke.value=!0;const e=t.diagnosis_id||((i=T.value)==null?void 0:i.diagnosis_id),s=t.pay_order_ids||((o=T.value)==null?void 0:o.pay_order_ids)||[];e&&Qs(e,s)}async function Js(){var t;if(gt.value){await gt.value.validate(),yt.value=!0;try{if(V.add_mode==="completion_only")await zr({id:Qe.value}),w.msgSuccess("完单申请已提交,请等待支付审核");else if(V.add_mode==="create"||V.add_mode==="create_express")await jr({id:Qe.value,order_type:V.order_type,pay_amount:V.pay_amount,pay_remark:V.pay_remark||"",completion_request:V.completion_request,pay_create_type:V.add_mode==="create_express"?"express_cod":"fubei"}),w.msgSuccess("支付单已新增,请等待审核");else{const e=V.link_pay_order_ids;if(e.length===0){w.msgError("请至少选择一个支付单");return}await Mr({id:Qe.value,pay_order_ids:e,completion_request:V.completion_request}),w.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}Ke.value=!1,U(),await((t=B.value)==null?void 0:t.refreshIfCurrent(Qe.value))}catch{}finally{yt.value=!1}}}function Ma(t){Oe.value=t.id,ve.value=3,Z.reason="",Z.refund_amount=void 0,oe.value=[],Ve.value=null,Pe.value=!0,qs(t.id),String(t.tracking_number||"").trim()&&zs(t)}async function Xs(t){var e;try{await St.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Br({id:t.id}),w.msgSuccess("处方审核已撤回"),U(),await((e=B.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}async function Ys(t){var e;try{await St.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Hr({id:t.id}),w.msgSuccess("支付单审核已撤回"),U(),await((e=B.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}const Zs="成都双流甄养堂互联网医院 处方笺",xt=f(!1),kt=f(!1),S=f(null),Je=f(""),ht=f("internal"),Ba=f(null),Ae=f(!1);function Ha(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function en(t){return t?Ha(t):"—"}function tn(){Ga(c)}function Wa(t){return t.map(e=>`${String(e.name??"").trim()}:${Number(e.dosage)||0}`).sort().join("|")}function an(t,e){return!t.length||!e.length||t.length!==e.length?!1:Wa(t)===Wa(e)}function ln(t){if(!t||typeof t!="object")return"";const e=t;return String(e.prescription_name??e.library_name??"").trim()}async function sn(t){const e=ln(t.aux_usage);if(e)return e;const i=(Array.isArray(t.herbs)?t.herbs:[]).filter(d=>Sr(d==null?void 0:d.formula_type)==="辅方");if(!i.length)return"";const o=Number(t.creator_id)>0?Number(t.creator_id):0;if(!o)return"";try{const d=await Kr({page_no:1,page_size:200,formula_type:"辅方",prescribing_creator_id:o}),p=Array.isArray(d==null?void 0:d.lists)?d.lists:[];for(const k of p){const J=Array.isArray(k==null?void 0:k.herbs)?k.herbs:[];if(an(i,J))return String((k==null?void 0:k.prescription_name)??"").trim()}}catch{}return""}async function Ga(t){if(!t.prescription_id){w.msgWarning("该订单未关联处方");return}xt.value=!0,kt.value=!0,S.value=null,Je.value="",ht.value="internal";try{const e=await Wr({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const i=t.medication_days,o={...s};i!=null&&String(i).trim()!==""&&(o.medication_days=i),t.order_no&&!o.order_no&&(o.order_no=t.order_no),t.recipient_name&&!o.recipient_name&&(o.recipient_name=t.recipient_name),t.recipient_phone&&!o.recipient_phone&&(o.recipient_phone=t.recipient_phone),t.shipping_address&&!o.shipping_address&&(o.shipping_address=t.shipping_address),t.amount!=null&&o.order_amount==null&&(o.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(o.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(o.dose_unit=String(t.dose_unit));const d=t.linked_appointment;(!o.appointment_id||Number(o.appointment_id)<=0)&&d&&typeof d=="object"&&Number(d.id)>0&&(o.appointment_id=Number(d.id)),S.value=o,Je.value=await sn(o)}else S.value=null,Je.value=""}catch(e){w.msgError((e==null?void 0:e.message)||"加载处方详情失败"),xt.value=!1,Je.value=""}finally{kt.value=!1}}async function nn(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async i=>{try{const o=await fetch(i.src,{mode:"cors"});if(!o.ok)return;const d=await o.blob(),p=await new Promise((k,J)=>{const x=new FileReader;x.onload=()=>k(x.result),x.onerror=J,x.readAsDataURL(d)});i.src=p}catch{}});await Promise.allSettled(s)}async function Ka(){var e;await et();const t=((e=Ba.value)==null?void 0:e.paperEl)??null;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await nn(t),await new Promise(s=>requestAnimationFrame(()=>s(null))),await new Promise(s=>setTimeout(s,250)),Jr(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:s=>s instanceof HTMLElement&&s.classList.contains("cf-slip-no-export"),onclone:(s,i)=>{i instanceof HTMLElement&&(i.querySelectorAll(".rx-notice, .rx-notice-text, .rx-notice-meta").forEach(o=>{o.style.lineHeight="1.95",o.style.overflow="visible"}),i.querySelectorAll(".rx-notice").forEach(o=>{o.style.padding="10px 12px"}),i.querySelectorAll(".rx-info-cell, .rx-info-cell .rx-key, .rx-info-cell .rx-val").forEach(o=>{o.style.lineHeight="1.95",o.style.overflow="visible"}),i.querySelectorAll(".rx-info-cell").forEach(o=>{o.style.padding="10px 12px"}),i.querySelectorAll(".rx-herb-cell").forEach(o=>{o.style.lineHeight="2.5"}),i.querySelectorAll(".rx-herbs").forEach(o=>{o.style.rowGap="12px"}),i.querySelectorAll(".rx-text").forEach(o=>{o.style.lineHeight="2.1"}),i.querySelectorAll(".rx-bot-meta-val, .rx-hospital-line, .rx-bot-cell").forEach(o=>{o.style.overflow="visible",o.style.lineHeight="1.85"}),i.querySelectorAll(".rx-hospital-row").forEach(o=>{o.style.paddingTop="12px",o.style.paddingBottom="14px"}))}})}function Qa(){var s;const t=(s=S.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function rn(){if(S.value){Ae.value=!0;try{const t=await Ka(),e=document.createElement("a");e.download=`${Qa()}.png`,e.href=t.toDataURL("image/png"),e.click(),w.msgSuccess("图片已下载")}catch{w.msgError("下载图片失败")}finally{Ae.value=!1}}}async function on(){if(S.value){Ae.value=!0;try{const t=await Ka(),e=t.toDataURL("image/jpeg",.95),s=new vn({orientation:"portrait",unit:"mm",format:"a4"}),i=210,o=297,d=i,p=t.height*d/t.width;if(p<=o)s.addImage(e,"JPEG",0,0,d,p);else{let k=p,J=0;for(;k>0;)s.addImage(e,"JPEG",0,J,d,p),k-=o,J-=o,k>0&&s.addPage()}s.save(`${Qa()}.pdf`),w.msgSuccess("PDF已下载")}catch{w.msgError("下载PDF失败")}finally{Ae.value=!1}}}return(t,e)=>{const s=yn,i=gn,o=hn,d=kn,p=Vn,k=wn,J=Sn,x=Cn,Re=Yn,K=xn,P=Pn,O=On,wt=An,Vt=Rn,Xe=Nn,Ye=Xn,he=Tn,Ee=En,ee=Dn,X=$n,ge=Un,aa=Ln,un=Fn,L=qn,Ze=In,dn=zn,pn=Mn,cn=jn,mn=Bn,Te=Hn,Ja=Gn,_n=Wn,Xa=Kn,ue=Jn,la=Qn,ce=bn,D=li("perms");return u(),y("div",ri,[l(s,{class:"!border-none shadow-sm mb-4",shadow:"never"},{default:n(()=>[r("div",ii,[tt.value?(u(),y("div",oi,[e[89]||(e[89]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(u(),y(E,null,j(Dl,a=>r("div",{key:a.value,class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.prescription_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Ul(a.value)},[r("span",di,m(a.label),1)],10,ui)),64))])):g("",!0),r("div",pi,[e[90]||(e[90]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(u(),y(E,null,j($l,a=>r("div",{key:a.value,class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.payment_slip_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Fl(a.value)},[r("span",mi,m(a.label),1)],10,ci)),64))]),r("div",_i,[e[91]||(e[91]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(u(),y(E,null,j(Pl,a=>r("div",{key:"fs-"+String(a.value),class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.fulfillment_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Ol(a.value)},[r("span",vi,m(a.label),1)],10,fi)),64))]),r("div",yi,[e[92]||(e[92]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(u(),y(E,null,j(Al,a=>r("div",{key:"sm-"+String(a.value),class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.supply_mode===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Rl(a.value)},[r("span",bi,m(a.label),1)],10,gi)),64))]),r("div",xi,[e[93]||(e[93]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(u(),y(E,null,j(El,a=>r("div",{key:"ec-"+String(a.value),class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.express_company===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Tl(a.value)},[r("span",hi,m(a.label),1)],10,ki)),64))])])]),_:1}),l(s,{class:"!border-none po-filter-card shadow-sm",shadow:"never"},{default:n(()=>[C((u(),y("div",wi,[r("div",Vi,[e[94]||(e[94]=r("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",Si,[r("div",null,[r("div",Ci,[l(i,{size:16,class:"text-sky-500"},{default:n(()=>[l(h(er))]),_:1}),_(" "+m(ie.value.orderHeading),1)]),r("div",Ni,[r("div",Pi," ¥"+m(ie.value.orderPerformanceStr),1),r("div",Oi,[r("span",null,"合计 ¥"+m(ie.value.orderStr),1),r("span",Ai,"已取消 ¥"+m(ie.value.orderCancelledStr),1)])])]),r("div",Ri,[l(i,{size:20},{default:n(()=>[l(h(tr))]),_:1})])]),r("p",Ei,m(ie.value.periodLine),1)]),r("div",Ti,[e[95]||(e[95]=r("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",Di,[r("div",null,[r("div",$i,[l(i,{size:16,class:"text-emerald-500"},{default:n(()=>[l(h(ar))]),_:1}),_(" "+m(ie.value.payHeading),1)]),r("div",Ui,[r("div",Fi," ¥"+m(ie.value.payPerformanceStr),1),r("div",Li,[r("span",null,"合计 ¥"+m(ie.value.payStr),1),r("span",Ii,"已取消 ¥"+m(ie.value.payCancelledStr),1)])])]),r("div",qi,[l(i,{size:20},{default:n(()=>[l(h(lr))]),_:1})])]),r("p",zi,m(ie.value.periodLine),1)])])),[[ce,h(Y).loading]]),l(K,{class:"ls-form",model:v,inline:""},{default:n(()=>[l(ir,{"time-type":h(Ue),"onUpdate:timeType":e[0]||(e[0]=a=>ia(Ue)?Ue.value=a:null),"date-range":h(Dt),"onUpdate:dateRange":e[1]||(e[1]=a=>ia(Dt)?Dt.value=a:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"230px",onTimeTypeChange:jl,onCustomChange:Ml},null,8,["time-type","date-range"]),l(d,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(o,{modelValue:v.order_no,"onUpdate:modelValue":e[2]||(e[2]=a=>v.order_no=a),placeholder:"业务订单号",clearable:"",onKeyup:Ct(h(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(d,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(o,{modelValue:v.prescription_id,"onUpdate:modelValue":e[3]||(e[3]=a=>v.prescription_id=a),placeholder:"处方ID",clearable:"",onKeyup:Ct(h(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(d,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(o,{modelValue:v.patient_keyword,"onUpdate:modelValue":e[4]||(e[4]=a=>v.patient_keyword=a),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Ct(h(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(d,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(o,{modelValue:v.express_keyword,"onUpdate:modelValue":e[5]||(e[5]=a=>v.express_keyword=a),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Ct(h(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),vl.value?(u(),b(d,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l(k,{modelValue:v.audit_admin_id,"onUpdate:modelValue":e[6]||(e[6]=a=>v.audit_admin_id=a),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(u(!0),y(E,null,j(da.value,a=>(u(),b(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):g("",!0),l(d,{class:"w-[200px]",label:"医生"},{default:n(()=>[l(k,{modelValue:v.doctor_id,"onUpdate:modelValue":e[7]||(e[7]=a=>v.doctor_id=a),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(u(!0),y(E,null,j(Tt.value,a=>(u(),b(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(J,{modelValue:v.assistant_dept_id,"onUpdate:modelValue":e[8]||(e[8]=a=>v.assistant_dept_id=a),data:st.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:hl,placeholder:"医助部门(选父级含子级)",onChange:Kl},null,8,["modelValue","data"])]),_:1}),l(d,{class:"w-[200px]",label:"医助"},{default:n(()=>[l(k,{modelValue:v.assistant_id,"onUpdate:modelValue":e[9]||(e[9]=a=>v.assistant_id=a),clearable:"",filterable:"",placeholder:"订单创建人",class:"!w-full"},{default:n(()=>[(u(!0),y(E,null,j(ga.value,a=>(u(),b(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{class:"w-[160px]",label:"服务渠道"},{default:n(()=>[l(k,{modelValue:v.service_channel,"onUpdate:modelValue":e[10]||(e[10]=a=>v.service_channel=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(p,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(d,{class:"w-[140px]",label:"辅方"},{default:n(()=>[l(k,{modelValue:v.has_aux_formula,"onUpdate:modelValue":e[11]||(e[11]=a=>v.has_aux_formula=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(p,{label:"含辅方",value:"1"}),l(p,{label:"不含辅方",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(d,null,{default:n(()=>[l(x,{type:"primary",onClick:h(W)},{default:n(()=>[...e[96]||(e[96]=[_("查询",-1)])]),_:1},8,["onClick"]),l(x,{onClick:Jl},{default:n(()=>[...e[97]||(e[97]=[_("重置",-1)])]),_:1}),C(l(Re,{class:"ml-2.5","fetch-fun":h(Cr),params:Hl.value,"page-size":h(Y).size,"export-hint":"导出范围与上方筛选一致(履约状态、创建时间及其他条件均会生效)。含「自媒体渠道(挂号渠道来源)」:优先取该单关联处方登记的挂号;无则诊单下同患者挂号取 id 最大的一条(与前台挂号选择的记录一致);业绩侧栏带渠道筛选导出时与同页列表高亮挂号同源。「服务套餐」按字典 server_order 解析展示。「处方」导出主方/辅方药材明细;「主方/辅方服用方式、天数」与详情侧栏同口径(主方/辅方天数分别取处方 usage_days、辅方 aux_usage.usage_days;「天数」列为订单 medication_days)。「关联收款记录」与详情侧栏同源(已支付/已退款/待审核),每笔两行展示(摘要行+明细行),多笔空行分隔,单元格自动换行。「签收日期」与详情/业绩看板同源,仅读物流库(轨迹/签收时间):导出不再实时查快递100,速度只取决于数据库;签收时间由 `tcm:backfill-sign-time` 命令与物流自动更新定时任务落库,刚发货尚未同步的单子会暂时为空,待下次回填/定时任务刷新后显示。"},null,8,["fetch-fun","params","page-size"]),[[D,["tcm.prescriptionOrder/export"]]])]),_:1})]),_:1},8,["model"])]),_:1}),C((u(),b(s,{class:"!border-none mt-4 po-table-card shadow-sm",shadow:"never"},{default:n(()=>[r("div",ji,[r("div",Mi,[e[98]||(e[98]=r("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),r("span",Bi,"共 "+m(h(Y).count)+" 条",1),ca.value?(u(),b(x,{key:0,type:"primary",plain:"",size:"small",class:"ml-3",disabled:fe.value.length===0,onClick:xl},{default:n(()=>[_(" 批量改派医助"+m(fe.value.length?`(${fe.value.length})`:""),1)]),_:1},8,["disabled"])):g("",!0)]),r("div",Hi,[r("div",{class:M(["po-focus-board__item is-pending-rx",{"is-active":te.value==="pendingRx"}]),onClick:e[12]||(e[12]=a=>nt("pendingRx"))},[e[99]||(e[99]=r("span",{class:"po-focus-board__label"},"待处方审核",-1)),r("strong",Wi,m(rt.value.pendingRx),1)],2),r("div",{class:M(["po-focus-board__item is-pending-pay",{"is-active":te.value==="pendingPay"}]),onClick:e[13]||(e[13]=a=>nt("pendingPay"))},[e[100]||(e[100]=r("span",{class:"po-focus-board__label"},"待支付审核",-1)),r("strong",Gi,m(rt.value.pendingPay),1)],2),r("div",{class:M(["po-focus-board__item is-pending-ship",{"is-active":te.value==="pendingShip"}]),onClick:e[14]||(e[14]=a=>nt("pendingShip"))},[e[101]||(e[101]=r("span",{class:"po-focus-board__label"},"待发货",-1)),r("strong",Ki,m(rt.value.pendingShip),1)],2),r("div",{class:M(["po-focus-board__item is-risk",{"is-active":te.value==="risk"}]),onClick:e[15]||(e[15]=a=>nt("risk"))},[e[102]||(e[102]=r("span",{class:"po-focus-board__label"},"重点异常",-1)),r("strong",Qi,m(rt.value.risk),1)],2)])]),l(Xe,{data:h(Y).lists,size:"default",stripe:"",class:"po-data-table","row-class-name":Ql,onSelectionChange:bl},{default:n(()=>[ca.value?(u(),b(P,{key:0,type:"selection",width:"44",selectable:()=>!0})):g("",!0),l(P,{label:"订单号","min-width":"178","show-overflow-tooltip":""},{default:n(({row:a})=>[r("div",Ji,[r("div",Xi,m(a.order_no||"—"),1),r("div",Yi,[l(O,{size:"small",effect:"plain",type:h(pr)(a)},{default:n(()=>[_(m(h(cr)(a)),1)]),_:2},1032,["type"]),r("span",Zi,"#"+m(a.id),1)])])]),_:1}),l(P,{label:"处方ID",prop:"prescription_id",width:"86"}),l(P,{label:"诊单ID",prop:"diagnosis_id",width:"86"}),l(P,{label:"收货人","min-width":"100"},{default:n(({row:a})=>[r("div",null,m(a.recipient_name||"—"),1),r("div",{class:M(["text-xs",h(na)(a.recipient_phone,a.prescription_phone)?"text-red-600 font-semibold":"text-gray-400"])},[_(m(a.recipient_phone||"—")+" ",1),h(na)(a.recipient_phone,a.prescription_phone)?(u(),y("span",eo,"(与处方手机不一致)")):g("",!0)],2)]),_:1}),l(P,{label:"费用类别",width:"96"},{default:n(({row:a})=>[_(m(h(al)(a.fee_type)),1)]),_:1}),l(P,{label:"金额","min-width":"100"},{default:n(({row:a})=>[r("div",to,[r("span",ao,"¥"+m(a.amount),1),l(wt,{placement:"top",width:200,trigger:"hover"},{reference:n(()=>[l(i,{class:"text-gray-400 cursor-pointer hover:text-primary"},{default:n(()=>[l(h(sr))]),_:1})]),default:n(()=>[r("div",lo,[r("div",so,[e[103]||(e[103]=r("span",{class:"text-gray-500"},"业务订单单据:",-1)),r("span",no,"¥"+m(a.amount),1)]),r("div",ro,[e[104]||(e[104]=r("span",{class:"text-gray-500"},"定金下限:",-1)),r("span",null,"¥"+m(h(z)(a.deposit_min_amount)),1)]),r("div",io,[e[105]||(e[105]=r("span",{class:"text-gray-500"},"实付(关联):",-1)),r("span",oo,"¥"+m(h(z)(a.linked_pay_paid_total)),1)]),At()&&a.internal_cost!=null&&a.internal_cost!==""?(u(),y("div",uo,[e[106]||(e[106]=r("span",{class:"text-gray-500"},"内部成本:",-1)),r("span",{class:M(["font-medium cursor-pointer select-none",re.value?"text-orange-600":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[16]||(e[16]=De(N=>re.value=!re.value,["stop"]))},m(re.value?`¥${h(z)(a.internal_cost)}`:"****"),3)])):g("",!0)])]),_:2},1024)])]),_:1}),At()?(u(),b(P,{key:1,width:"100"},{header:n(()=>[r("span",{class:"cursor-pointer select-none hover:text-primary",title:"点击显示/隐藏内部成本",onClick:e[17]||(e[17]=De(a=>re.value=!re.value,["stop"]))}," 内部成本 ")]),default:n(({row:a})=>[a.internal_cost!=null&&a.internal_cost!==""?(u(),y("span",{key:0,class:M(["cursor-pointer select-none",re.value?"text-orange-600 font-medium":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[18]||(e[18]=De(N=>re.value=!re.value,["stop"]))},m(re.value?`¥${a.internal_cost}`:"****"),3)):(u(),y("span",po,"—"))]),_:1})):g("",!0),l(P,{label:"处方审核",width:"110"},{default:n(({row:a})=>[l(O,{type:xa(a.prescription_audit_status),size:"small",class:M($t("rx",a))},{default:n(()=>[_(m(ba(a.prescription_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(P,{label:"支付单审核",width:"110"},{default:n(({row:a})=>[l(O,{type:xa(a.payment_slip_audit_status),size:"small",class:M($t("pay",a))},{default:n(()=>[_(m(ba(a.payment_slip_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(P,{label:"履约",width:"108"},{default:n(({row:a})=>[l(O,{type:h(mr)(a.fulfillment_status),size:"small",class:M($t("fulfillment",a))},{default:n(()=>[_(m(h(_r)(a.fulfillment_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(P,{label:"关联支付单",width:"100"},{default:n(({row:a})=>[Number(a.linked_pay_order_count)>0?(u(),y("span",{key:0,class:"text-primary cursor-default",title:a.linked_pay_order_id?`#${a.linked_pay_order_id}…`:""},m(a.linked_pay_order_count)+" 笔 ",9,co)):(u(),y("span",mo,"—"))]),_:1}),l(P,{label:"创建时间","min-width":"144"},{default:n(({row:a})=>[_(m(h(ll)(a.create_time)),1)]),_:1}),l(P,{label:"开方人",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(P,{label:"创建人",prop:"creator_name",width:"90","show-overflow-tooltip":""}),l(P,{"min-width":"128","show-overflow-tooltip":""},{header:n(()=>[e[107]||(e[107]=r("span",null,"二中心·指派",-1)),l(Vt,{placement:"top","max-width":"320",content:"与诊单「指派记录」快照一致:仅当本条业务单在操作瞬间为快照中的「关联业务单」(创建人+创建时间命中)时显示。绿色=新医助在名称含「二中心」的部门及其下级;灰色=系统自动释放诊单医助。"},{default:n(()=>[l(i,{class:"ml-0.5 align-middle text-gray-400 cursor-help"},{default:n(()=>[l(h(nr))]),_:1})]),_:1})]),default:n(({row:a})=>[Number(a.po_assign_snapshot_hit)?Number(a.po_assign_is_release)?(u(),b(O,{key:1,type:"info",size:"small"},{default:n(()=>[...e[108]||(e[108]=[_("已释放",-1)])]),_:1})):Number(a.po_assign_to_er_center)?(u(),b(O,{key:2,type:"success",size:"small"},{default:n(()=>[_(m(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(u(),b(O,{key:3,type:"warning",size:"small",effect:"plain"},{default:n(()=>[_(" 非二中心 "+m(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(u(),y("span",_o,"—"))]),_:1}),l(P,{label:"操作",width:"310",fixed:"right"},{default:n(({row:a})=>[r("div",fo,[C((u(),b(x,{type:"primary",link:"",onClick:N=>vs(a.id)},{default:n(()=>[_(m(yl.value),1)]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/detail"]]]),Va(a)?C((u(),b(x,{key:0,type:"primary",link:"",onClick:N=>Cs(a)},{default:n(()=>[...e[109]||(e[109]=[_("编辑",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/edit"]]]):g("",!0),is(a)?C((u(),b(x,{key:1,type:"success",link:"",onClick:N=>Ds(a)},{default:n(()=>[...e[110]||(e[110]=[_("修改单号",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ddcode"]]]):g("",!0),Sa(a)?C((u(),b(x,{key:2,type:"primary",link:"",onClick:N=>Ia(a)},{default:n(()=>[...e[111]||(e[111]=[_("确认发货",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ship"]]]):g("",!0),Lt(a)?C((u(),b(x,{key:3,type:"success",link:"",onClick:N=>ja(a)},{default:n(()=>[...e[112]||(e[112]=[_("补齐支付单",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/addPayOrder"]]]):g("",!0),Pa(a)?C((u(),b(x,{key:4,type:"primary",link:"",onClick:N=>Ma(a)},{default:n(()=>[...e[113]||(e[113]=[_("完成订单",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/complete"]]]):g("",!0),Oa(a)?C((u(),b(x,{key:5,type:"danger",link:"",onClick:N=>za(a)},{default:n(()=>[...e[114]||(e[114]=[_("退款",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/refund"]]]):g("",!0),ts(a)?C((u(),b(x,{key:6,type:"danger",link:"",onClick:N=>Os(a)},{default:n(()=>[...e[115]||(e[115]=[_("撤回",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/withdraw"]]]):g("",!0),Aa(a)?C((u(),b(x,{key:7,type:"warning",link:"",loading:mt.value===a.id,onClick:N=>Fa(a)},{default:n(()=>[...e[116]||(e[116]=[_("上传药房",-1)])]),_:1},8,["loading","onClick"])),[[D,["tcm.prescriptionOrder/uploadToPharmacy"]]]):g("",!0)])]),_:1})]),_:1},8,["data"]),r("div",vo,[l(Ye,{modelValue:h(Y),"onUpdate:modelValue":e[19]||(e[19]=a=>ia(Y)?Y.value=a:null),"page-sizes":[15,20,30,40,100,150,200],onChange:h(U)},null,8,["modelValue","onChange"])])]),_:1})),[[ce,h(Y).loading]]),l(ur,{ref_key:"detailDrawerRef",ref:B,"gancao-preview-loading":Ce.value,onUpdateAmount:_s,onPatchRxPatient:ps,onViewPrescription:e[20]||(e[20]=a=>T.value&&Ga(T.value)),onTestGancaoPreview:Ts,onViewPatient:cl,onDetailChanged:h(U)},{"header-extra":n(({detail:a})=>[r("div",yo,[e[119]||(e[119]=r("span",{class:"text-sm text-gray-500"},"发货类型",-1)),C((u(),b(Ee,{"model-value":Q(a.ship_mode),size:"small",disabled:Ut.value||!Na(a),onChange:ns},{default:n(()=>[l(he,{label:"gancao"},{default:n(()=>[...e[117]||(e[117]=[_("甘草药房",-1)])]),_:1}),l(he,{label:"direct",disabled:Ca(a)},{default:n(()=>[...e[118]||(e[118]=[_("洛阳药房",-1)])]),_:1},8,["disabled"])]),_:2},1032,["model-value","disabled"])),[[D,["tcm.prescriptionOrder/setShipMode"]]]),as.value?g("",!0):(u(),b(O,{key:0,type:Q(a.ship_mode)==="direct"?"warning":"success",effect:"plain",round:""},{default:n(()=>[_(m(ls(a.ship_mode)),1)]),_:2},1032,["type"]))])]),"header-actions":n(({detail:a})=>[l(dr,{order:a,onResolved:rs},null,8,["order"]),Aa(a)?C((u(),b(x,{key:0,type:"warning",size:"small",plain:"",loading:mt.value===a.id,onClick:N=>Fa(a)},{default:n(()=>[...e[120]||(e[120]=[_("上传药房",-1)])]),_:1},8,["loading","onClick"])),[[D,["tcm.prescriptionOrder/uploadToPharmacy"]]]):g("",!0),Xl(a)?C((u(),b(x,{key:1,type:"warning",size:"small",plain:"",onClick:N=>$a(a,"prescription")},{default:n(()=>[...e[121]||(e[121]=[_(" 处方审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPrescription"]]]):g("",!0),Zl(a)?C((u(),b(x,{key:2,type:"info",size:"small",plain:"",onClick:N=>Xs(a)},{default:n(()=>[...e[122]||(e[122]=[_(" 撤回处方审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPrescription"]]]):g("",!0),Yl(a)?C((u(),b(x,{key:3,type:"warning",size:"small",plain:"",onClick:N=>$a(a,"payment")},{default:n(()=>[...e[123]||(e[123]=[_(" 支付审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPayment"]]]):g("",!0),es(a)?C((u(),b(x,{key:4,type:"info",size:"small",plain:"",onClick:N=>Ys(a)},{default:n(()=>[...e[124]||(e[124]=[_(" 撤回支付审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPayment"]]]):g("",!0),Sa(a)?C((u(),b(x,{key:5,type:"primary",size:"small",plain:"",onClick:N=>Ia(a)},{default:n(()=>[...e[125]||(e[125]=[_(" 确认发货 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ship"]]]):g("",!0),Lt(a)?C((u(),b(x,{key:6,type:"success",size:"small",plain:"",onClick:N=>ja(a)},{default:n(()=>[...e[126]||(e[126]=[_(" 关联支付单 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/addPayOrder"]]]):g("",!0),Pa(a)?C((u(),b(x,{key:7,type:"primary",size:"small",plain:"",onClick:N=>Ma(a)},{default:n(()=>[...e[127]||(e[127]=[_(" 完成订单 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/complete"]]]):g("",!0),Oa(a)?C((u(),b(x,{key:8,type:"danger",size:"small",plain:"",onClick:N=>za(a)},{default:n(()=>[...e[128]||(e[128]=[_(" 退款 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/refund"]]]):g("",!0)]),_:1},8,["gancao-preview-loading","onDetailChanged"]),l(X,{modelValue:Fe.value,"onUpdate:modelValue":e[23]||(e[23]=a=>Fe.value=a),title:"修改订单金额",width:"420px","destroy-on-close":"","close-on-click-modal":!1,onClosed:ms},{footer:n(()=>[l(x,{onClick:e[22]||(e[22]=a=>Fe.value=!1)},{default:n(()=>[...e[130]||(e[130]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:It.value,onClick:Ea},{default:n(()=>[...e[131]||(e[131]=[_(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(K,{ref_key:"updateAmountFormRef",ref:it,model:de,rules:us,"label-width":"96px",class:"pr-2",onSubmit:De(Ea,["prevent"])},{default:n(()=>[l(d,{label:"当前金额"},{default:n(()=>{var a;return[r("div",go,"¥"+m(h(z)((a=T.value)==null?void 0:a.amount)),1)]}),_:1}),l(d,{label:"新金额",prop:"amount"},{default:n(()=>[l(ee,{modelValue:de.amount,"onUpdate:modelValue":e[21]||(e[21]=a=>de.amount=a),min:0,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[129]||(e[129]=r("div",{class:"text-xs text-gray-400 pl-[96px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(X,{modelValue:be.value,"onUpdate:modelValue":e[46]||(e[46]=a=>be.value=a),title:se.value?"修改物流信息(甘草订单)":"编辑业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog",onClosed:ws},{footer:n(()=>[r("div",eu,[se.value?g("",!0):(u(),y("div",tu,[r("span",au,"第 "+m(F.value+1)+" / 3 步",1),F.value===2&&I.value>0?(u(),y("span",lu," 订单金额与关联支付单合计须 ≥ ¥"+m(h(z)(I.value)),1)):g("",!0)])),r("div",su,[l(x,{size:"large",onClick:e[45]||(e[45]=a=>be.value=!1)},{default:n(()=>[...e[144]||(e[144]=[_("取消",-1)])]),_:1}),se.value?g("",!0):(u(),y(E,{key:0},[F.value>0?(u(),b(x,{key:0,size:"large",onClick:Vs},{default:n(()=>[...e[145]||(e[145]=[_("上一步",-1)])]),_:1})):g("",!0),F.value<2?(u(),b(x,{key:1,type:"primary",size:"large",onClick:Ss},{default:n(()=>[...e[146]||(e[146]=[_(" 下一步 ",-1)])]),_:1})):g("",!0)],64)),se.value||F.value===2?(u(),b(x,{key:1,type:"primary",size:"large",loading:Mt.value,onClick:Ns},{default:n(()=>[...e[147]||(e[147]=[_(" 确认保存 ",-1)])]),_:1},8,["loading"])):g("",!0)])])]),default:n(()=>[C((u(),y("div",bo,[le.value?(u(),y("div",xo,[r("div",ko,[e[132]||(e[132]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",ho,[r("span",wo,"#"+m(le.value.id),1),le.value.sn?(u(),y("span",Vo,m(le.value.sn),1)):g("",!0),r("span",So,m(le.value.patient_name||"—"),1)])]),l(Vt,{content:Ta.value,placement:"bottom","show-after":300},{default:n(()=>[r("div",Co,m(Ta.value),1)]),_:1},8,["content"])])):g("",!0),se.value?(u(),b(ge,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"订单已提交甘草,仅可修改快递单号与承运商;地址、金额等变更请先走取消流程。"},si({_:2},[dt.value?{name:"default",fn:n(()=>[r("div",No,"甘草处方单号:"+m(dt.value),1)]),key:"0"}:void 0]),1024)):g("",!0),se.value?g("",!0):(u(),y(E,{key:2},[l(un,{active:F.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(aa,{title:"患者与收货",description:"诊单与物流地址"}),l(aa,{title:"服务与支付单",description:"套餐与关联收款"}),l(aa,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Po,m(ys.value),1)],64)),l(K,{ref_key:"editFormRef",ref:xe,model:c,rules:hs.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[se.value?(u(),b(Ze,{key:0,gutter:20},{default:n(()=>[l(L,{span:24},{default:n(()=>[l(d,{label:"物流设置"},{default:n(()=>[r("div",Oo,[l(k,{modelValue:c.express_company,"onUpdate:modelValue":e[24]||(e[24]=a=>c.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(o,{modelValue:c.tracking_number,"onUpdate:modelValue":e[25]||(e[25]=a=>c.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1})):g("",!0),se.value?g("",!0):(u(),y(E,{key:1},[C(r("div",Ao,[l(Ze,{gutter:20},{default:n(()=>[l(L,{span:12},{default:n(()=>[l(d,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(o,{modelValue:c.recipient_name,"onUpdate:modelValue":e[26]||(e[26]=a=>c.recipient_name=a),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(o,{modelValue:c.recipient_phone,"onUpdate:modelValue":e[27]||(e[27]=a=>c.recipient_phone=a),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(L,{span:24},{default:n(()=>[l(d,{label:"省市区",prop:"region"},{default:n(()=>[l(dn,{modelValue:c.region,"onUpdate:modelValue":e[28]||(e[28]=a=>c.region=a),options:lt.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(L,{span:24},{default:n(()=>[l(d,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(o,{modelValue:c.shipping_address,"onUpdate:modelValue":e[29]||(e[29]=a=>c.shipping_address=a),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[sa,F.value===0]]),C(r("div",Ro,[tt.value?(u(),b(Ze,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(L,{span:24},{default:n(()=>[r("div",Eo,[e[135]||(e[135]=r("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),c.prescription_id?(u(),b(x,{key:0,type:"primary",size:"small",link:"",onClick:tn},{default:n(()=>[...e[133]||(e[133]=[_(" 详细 ",-1)])]),_:1})):g("",!0),c.id?(u(),b(x,{key:1,type:"warning",size:"small",link:"",loading:Ce.value,icon:h(rr),onClick:Es},{default:n(()=>[...e[134]||(e[134]=[_(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):g("",!0),r("span",To,"ID: "+m(c.prescription_id||"—"),1)]),r("div",Do,[Da.value.length?(u(),y("div",$o,[e[136]||(e[136]=r("div",{class:"text-gray-500"},"创建人所属部门",-1)),(u(!0),y(E,null,j(Da.value,(a,N)=>(u(),y("div",{key:N,class:"pl-0 min-w-0"},[a.length?(u(),b(cn,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(u(!0),y(E,null,j(a,(A,q)=>(u(),b(pn,{key:q},{default:n(()=>[r("span",Uo,m(A),1)]),_:2},1024))),128))]),_:2},1024)):g("",!0)]))),128))])):(u(),y("div",Fo,"创建人所属部门:—"))])]),_:1}),l(L,{xs:24,sm:8},{default:n(()=>[l(d,{label:"复诊"},{default:n(()=>[l(mn,{modelValue:c.is_follow_up,"onUpdate:modelValue":e[30]||(e[30]=a=>c.is_follow_up=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(L,{xs:24,sm:8},{default:n(()=>[l(d,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[r("div",Lo,[l(ee,{modelValue:c.medication_days,"onUpdate:modelValue":e[31]||(e[31]=a=>c.medication_days=a),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[137]||(e[137]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(L,{xs:24,sm:8},{default:n(()=>[l(d,{label:"上次医生"},{default:n(()=>[l(o,{modelValue:c.prev_staff,"onUpdate:modelValue":e[32]||(e[32]=a=>c.prev_staff=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:Ra.value,prop:"dose_count"},{default:n(()=>[l(ee,{modelValue:c.dose_count,"onUpdate:modelValue":e[33]||(e[33]=a=>c.dose_count=a),min:1,placeholder:Ra.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l(k,{modelValue:c.dose_unit,"onUpdate:modelValue":e[34]||(e[34]=a=>c.dose_unit=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(p,{label:"剂",value:"剂"}),l(p,{label:"丸",value:"丸"}),l(p,{label:"袋",value:"袋"}),l(p,{label:"盒",value:"盒"}),l(p,{label:"瓶",value:"瓶"}),l(p,{label:"膏",value:"膏"}),l(p,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):g("",!0),l(Ze,{gutter:20},{default:n(()=>[l(L,{span:12},{default:n(()=>[l(d,{label:"服务渠道"},{default:n(()=>[l(k,{modelValue:c.service_channel,"onUpdate:modelValue":e[35]||(e[35]=a=>c.service_channel=a),class:"w-full",filterable:"","allow-create":"","default-first-option":"",clearable:"",placeholder:"可选或自定义输入"},{default:n(()=>[l(p,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:"服务套餐"},{default:n(()=>[l(k,{modelValue:c.service_package,"onUpdate:modelValue":e[36]||(e[36]=a=>c.service_package=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(u(!0),y(E,null,j(bs.value,a=>(u(),b(p,{key:a.value,label:a.name,value:a.value,disabled:a.status===0},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(L,{span:24},{default:n(()=>[l(d,{label:"物流设置"},{default:n(()=>[r("div",Io,[l(k,{modelValue:c.express_company,"onUpdate:modelValue":e[37]||(e[37]=a=>c.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(o,{modelValue:c.tracking_number,"onUpdate:modelValue":e[38]||(e[38]=a=>c.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(L,{span:24},{default:n(()=>[l(d,{label:"关联支付单",prop:"pay_order_ids",required:I.value>0},{default:n(()=>[l(k,{modelValue:c.pay_order_ids,"onUpdate:modelValue":e[39]||(e[39]=a=>c.pay_order_ids=a),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:I.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Bt.value},{default:n(()=>[(u(!0),y(E,null,j(qe.value,a=>(u(),b(p,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${pt(a.order_type)} · ${h(Nt)(a)}`,value:a.id,class:"!h-auto py-1.5"},{default:n(()=>[r("div",qo,[r("div",zo,[r("span",jo,m(a.order_no),1),r("span",Mo,"¥"+m(a.amount),1)]),r("div",Bo,[r("span",Ho,[_(m(pt(a.order_type))+" · "+m(h(Nt)(a)),1),a.remark?(u(),y(E,{key:0},[_(" · "+m(a.remark),1)],64)):g("",!0)]),r("span",Wo,m(String(a.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",Go,[I.value>0?(u(),y(E,{key:0},[r("span",Ko,"当前已开启关联支付门槛(¥"+m(h(z)(I.value))+"),须至少选择一笔支付单。",1),e[138]||(e[138]=r("span",{class:"mx-1"},null,-1))],64)):g("",!0),e[140]||(e[140]=_(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(Vt,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[139]||(e[139]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[sa,F.value===1]]),C(r("div",Qo,[r("div",{class:M(["create-order-deposit-bar",Ht.value>=I.value?"is-ok":"is-warn"])},[r("div",Jo,[e[141]||(e[141]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+m(h(z)(I.value)),1),r("span",Xo,m(I.value>0?"须 ≥ 此值":"未设置"),1)]),e[143]||(e[143]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",Yo,[e[142]||(e[142]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+m(h(z)(Ht.value)),1),r("span",Zo,m(Ht.value>=I.value?"已达标":"未达标"),1)])],2),l(Ze,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(L,{span:12},{default:n(()=>[l(d,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l(k,{modelValue:c.fee_type,"onUpdate:modelValue":e[40]||(e[40]=a=>c.fee_type=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(p,{label:"挂号费",value:1}),l(p,{label:"问诊费",value:2}),l(p,{label:"药品费用",value:3}),l(p,{label:"首付费用",value:4}),l(p,{label:"尾款费用",value:5}),l(p,{label:"其他费用",value:6}),l(p,{label:"全部费用",value:7}),l(p,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:"总金额",prop:"amount"},{default:n(()=>[l(ee,{modelValue:c.amount,"onUpdate:modelValue":e[41]||(e[41]=a=>c.amount=a),min:xs.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),C((u(),b(L,{span:12},{default:n(()=>[l(d,{label:"内部成本"},{default:n(()=>[l(ee,{modelValue:c.internal_cost,"onUpdate:modelValue":e[42]||(e[42]=a=>c.internal_cost=a),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[D,["finance.account_log/lists"]]]),l(L,{span:24},{default:n(()=>[C((u(),b(d,{label:"药房备注"},{default:n(()=>[l(o,{modelValue:c.remark_extra,"onUpdate:modelValue":e[43]||(e[43]=a=>c.remark_extra=a),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[D,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(d,{label:"医助备注"},{default:n(()=>[l(o,{modelValue:c.remark_assistant,"onUpdate:modelValue":e[44]||(e[44]=a=>c.remark_assistant=a),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[sa,F.value===2]])],64))]),_:1},8,["model","rules"])])),[[ce,jt.value]])]),_:1},8,["modelValue","title"]),l(X,{modelValue:ze.value,"onUpdate:modelValue":e[51]||(e[51]=a=>ze.value=a),title:Ps.value,width:"480px","destroy-on-close":"",onClosed:e[52]||(e[52]=a=>Se.value="")},{footer:n(()=>[l(x,{onClick:e[48]||(e[48]=a=>ze.value=!1)},{default:n(()=>[...e[149]||(e[149]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:ct.value,onClick:e[49]||(e[49]=a=>Ua("approve"))},{default:n(()=>[...e[150]||(e[150]=[_("同意通过",-1)])]),_:1},8,["loading"]),l(x,{type:"danger",loading:ct.value,onClick:e[50]||(e[50]=a=>Ua("reject"))},{default:n(()=>[...e[151]||(e[151]=[_("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[je.value&&je.value.completion_request===1?(u(),b(ge,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[r("div",nu,[e[148]||(e[148]=r("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),r("div",ru," 申请人:"+m(je.value.completion_request_by_name||"—"),1),r("div",iu," 申请时间:"+m(h(ll)(je.value.completion_request_time)),1)])]),_:1})):g("",!0),e[152]||(e[152]=r("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(o,{modelValue:Se.value,"onUpdate:modelValue":e[47]||(e[47]=a=>Se.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(X,{modelValue:Me.value,"onUpdate:modelValue":e[56]||(e[56]=a=>Me.value=a),title:"修改快递单号",width:"420px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(x,{onClick:e[55]||(e[55]=a=>Me.value=!1)},{default:n(()=>[...e[154]||(e[154]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:ft.value,onClick:La},{default:n(()=>[...e[155]||(e[155]=[_("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[C((u(),b(K,{"label-width":"90px",class:"pr-2",onSubmit:De(La,["prevent"])},{default:n(()=>[l(d,{label:"承运商"},{default:n(()=>[l(k,{modelValue:pe.express_company,"onUpdate:modelValue":e[53]||(e[53]=a=>pe.express_company=a),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"快递单号"},{default:n(()=>[l(o,{modelValue:pe.tracking_number,"onUpdate:modelValue":e[54]||(e[54]=a=>pe.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[153]||(e[153]=r("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[ce,ft.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:ke.value,"onUpdate:modelValue":e[60]||(e[60]=a=>ke.value=a),title:"确认发货",width:"440px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(x,{onClick:e[59]||(e[59]=a=>ke.value=!1)},{default:n(()=>[...e[157]||(e[157]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:vt.value,onClick:qa},{default:n(()=>[...e[158]||(e[158]=[_(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ge,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),C((u(),b(K,{"label-width":"90px",class:"pr-2",onSubmit:De(qa,["prevent"])},{default:n(()=>[l(d,{label:"发货方式"},{default:n(()=>[l(O,{type:Q(H.ship_mode)==="direct"?"warning":"success",effect:"plain",size:"default"},{default:n(()=>[_(m(ss.value),1)]),_:1},8,["type"]),e[156]||(e[156]=r("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),l(d,{label:"承运商"},{default:n(()=>[l(k,{modelValue:H.express_company,"onUpdate:modelValue":e[57]||(e[57]=a=>H.express_company=a),class:"w-full"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"快递单号"},{default:n(()=>[l(o,{modelValue:H.tracking_number,"onUpdate:modelValue":e[58]||(e[58]=a=>H.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[ce,vt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Pe.value,"onUpdate:modelValue":e[65]||(e[65]=a=>Pe.value=a),title:"完成订单",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Is},{footer:n(()=>[l(x,{onClick:e[64]||(e[64]=a=>Pe.value=!1)},{default:n(()=>[...e[162]||(e[162]=[_("取消",-1)])]),_:1}),l(x,{type:ve.value===10?"danger":"primary",loading:Be.value,onClick:js},{default:n(()=>[_(m(ve.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:n(()=>[C((u(),y("div",ou,[Le.value.show?(u(),b(ge,{key:0,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-3 !items-start ring-2 ring-red-600/70",title:"物流异常:轨迹含拒收/退回等,请先核实处理再结案"},{default:n(()=>[r("div",uu,[Le.value.keywords.length?(u(),y("div",du,[e[159]||(e[159]=r("span",{class:"text-red-100/90"},"命中:",-1)),(u(!0),y(E,null,j(Le.value.keywords,a=>(u(),b(O,{key:a,type:"danger",effect:"plain",size:"small",class:"!border-white/35 !text-white"},{default:n(()=>[_(m(a),1)]),_:2},1024))),128))])):g("",!0),Le.value.lines.length?(u(),y("ul",pu,[(u(!0),y(E,null,j(Le.value.lines,(a,N)=>(u(),y("li",{key:N},m(a),1))),128))])):g("",!0),e[160]||(e[160]=r("div",{class:"text-red-100/85 border-t border-white/15 pt-1.5"}," 确认已协调拒收/退回后续(重发、退款、改址等)后再完成订单。 ",-1))])]),_:1})):g("",!0),e[161]||(e[161]=r("p",{class:"text-sm text-gray-600 mb-3"}," 请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总;选择「退款」时将关联收款单标记为已退款并清零本单已付。 ",-1)),l(k,{modelValue:ve.value,"onUpdate:modelValue":e[61]||(e[61]=a=>ve.value=a),class:"w-full",placeholder:"请选择"},{default:n(()=>[(u(),y(E,null,j(Us,a=>l(p,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),ve.value===10?(u(),y(E,{key:1},[l(ge,{type:"warning",closable:!1,"show-icon":"",class:"mt-3 !items-start",title:"退款将处理本单全部关联收款单,已付总额清零,且不可撤销。"}),C((u(),y("div",cu,[oe.value.length?(u(),y("div",mu,[r("div",_u," 将退款的关联收款("+m(oe.value.length)+" 笔 · 合计 ¥"+m(h(z)(Fs.value))+") ",1),l(Xe,{data:oe.value,size:"small",border:"",stripe:"","max-height":"200"},{default:n(()=>[l(P,{prop:"order_no",label:"单号","min-width":"120","show-overflow-tooltip":""}),l(P,{label:"类型",width:"88"},{default:n(({row:a})=>[_(m(a.order_type_desc||h(al)(a.order_type)),1)]),_:1}),l(P,{label:"金额",width:"88",align:"right"},{default:n(({row:a})=>[r("span",fu,"¥"+m(a.amount),1)]),_:1}),l(P,{label:"状态",width:"92",align:"center"},{default:n(({row:a})=>[l(O,{type:h(fr)(a.status),size:"small"},{default:n(()=>[_(m(a.status_desc||h(vr)(a.status)),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])])):He.value?g("",!0):(u(),y("p",vu," 当前无已关联的收款单;提交后仍将本单标记为「退款」并清零已付。 "))])),[[ce,He.value]]),l(K,{ref_key:"completeRefundFormRef",ref:Jt,model:Z,rules:Ls.value,"label-width":"88px",class:"mt-3"},{default:n(()=>[l(d,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ee,{modelValue:Z.refund_amount,"onUpdate:modelValue":e[62]||(e[62]=a=>Z.refund_amount=a),min:.01,max:ye.value>0?ye.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",yu," 可退上限 ¥"+m(h(z)(ye.value)),1)]),_:1}),l(d,{label:"退款原因",prop:"reason"},{default:n(()=>[l(o,{modelValue:Z.reason,"onUpdate:modelValue":e[63]||(e[63]=a=>Z.reason=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):g("",!0)])),[[ce,ot.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Ge.value,"onUpdate:modelValue":e[69]||(e[69]=a=>Ge.value=a),title:"订单退款",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Hs},{footer:n(()=>[l(x,{onClick:e[68]||(e[68]=a=>Ge.value=!1)},{default:n(()=>[...e[163]||(e[163]=[_("取消",-1)])]),_:1}),l(x,{type:"danger",loading:Zt.value,onClick:Ws},{default:n(()=>[...e[164]||(e[164]=[_(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ge,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:Ms.value},null,8,["title"]),l(K,{ref_key:"refundOrderFormRef",ref:ea,model:G,rules:Bs.value,"label-width":"88px"},{default:n(()=>[l(d,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ee,{modelValue:G.refund_amount,"onUpdate:modelValue":e[66]||(e[66]=a=>G.refund_amount=a),min:.01,max:ne.value>0?ne.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",gu," 可退上限 ¥"+m(h(z)(ne.value))+"(默认全额);部分退款时按金额从关联收款单依次标记已退款,并扣减本单已付。 ",1)]),_:1}),l(d,{label:"退款原因",prop:"reason"},{default:n(()=>[l(o,{modelValue:G.reason,"onUpdate:modelValue":e[67]||(e[67]=a=>G.reason=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),l(X,{modelValue:Ke.value,"onUpdate:modelValue":e[77]||(e[77]=a=>Ke.value=a),title:"补齐支付单",width:"600px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[78]||(e[78]=a=>{var N;return(N=gt.value)==null?void 0:N.clearValidate()})},{footer:n(()=>[l(x,{onClick:e[76]||(e[76]=a=>Ke.value=!1)},{default:n(()=>[...e[174]||(e[174]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:yt.value,onClick:Js},{default:n(()=>[_(m(V.add_mode==="completion_only"?"提交申请":"确认新增"),1)]),_:1},8,["loading"])]),default:n(()=>[l(ge,{title:Gs.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),C((u(),b(K,{ref_key:"addPayOrderFormRef",ref:gt,model:V,rules:Ks.value,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(d,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(Ee,{modelValue:V.add_mode,"onUpdate:modelValue":e[70]||(e[70]=a=>V.add_mode=a)},{default:n(()=>[l(Te,{value:"create"},{default:n(()=>[...e[165]||(e[165]=[_("付呗",-1)])]),_:1}),l(Te,{value:"create_express"},{default:n(()=>[...e[166]||(e[166]=[_("快递代收",-1)])]),_:1}),l(Te,{value:"link"},{default:n(()=>[...e[167]||(e[167]=[_("关联已有",-1)])]),_:1}),l(Te,{value:"completion_only"},{default:n(()=>[...e[168]||(e[168]=[_("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),V.add_mode==="create"||V.add_mode==="create_express"?(u(),y(E,{key:0},[l(d,{label:"费用类别",prop:"order_type"},{default:n(()=>[l(k,{modelValue:V.order_type,"onUpdate:modelValue":e[71]||(e[71]=a=>V.order_type=a),class:"w-full"},{default:n(()=>[l(p,{label:"挂号费",value:1}),l(p,{label:"问诊费",value:2}),l(p,{label:"药品费用",value:3}),l(p,{label:"首付费用",value:4}),l(p,{label:"尾款费用",value:5}),l(p,{label:"其他费用",value:6}),l(p,{label:"全部费用",value:7}),l(p,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(ee,{modelValue:V.pay_amount,"onUpdate:modelValue":e[72]||(e[72]=a=>V.pay_amount=a),min:0,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元,可为 0)"},null,8,["modelValue"])]),_:1}),l(d,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(o,{modelValue:V.pay_remark,"onUpdate:modelValue":e[73]||(e[73]=a=>V.pay_remark=a),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):V.add_mode==="completion_only"?(u(),b(ge,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:n(()=>[...e[169]||(e[169]=[_(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(u(),b(d,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l(k,{modelValue:V.link_pay_order_ids,"onUpdate:modelValue":e[74]||(e[74]=a=>V.link_pay_order_ids=a),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:ta.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(u(!0),y(E,null,j(bt.value,a=>(u(),b(p,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${pt(a.order_type)} · ${h(Nt)(a)}`,value:a.id},{default:n(()=>[r("div",bu,[r("div",xu,[r("span",ku,m(a.order_no),1),r("span",hu,"¥"+m(a.amount),1)]),r("div",wu,m(pt(a.order_type))+" · "+m(h(Nt)(a)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[170]||(e[170]=r("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),V.add_mode!=="completion_only"?(u(),b(d,{key:3,label:"完单申请"},{default:n(()=>[l(Ee,{modelValue:V.completion_request,"onUpdate:modelValue":e[75]||(e[75]=a=>V.completion_request=a)},{default:n(()=>[l(Te,{value:0},{default:n(()=>[...e[171]||(e[171]=[_("不申请",-1)])]),_:1}),l(Te,{value:1},{default:n(()=>[...e[172]||(e[172]=[_("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[173]||(e[173]=r("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})):g("",!0)]),_:1},8,["model","rules"])),[[ce,yt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Ie.value,"onUpdate:modelValue":e[82]||(e[82]=a=>Ie.value=a),title:"修改处方患者信息",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:cs},{footer:n(()=>[l(x,{onClick:e[81]||(e[81]=a=>Ie.value=!1)},{default:n(()=>[...e[175]||(e[175]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:qt.value,onClick:fs},{default:n(()=>[...e[176]||(e[176]=[_(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(K,{ref_key:"patchRxPatientFormRef",ref:zt,model:ae,rules:ds,"label-width":"96px"},{default:n(()=>[l(d,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(o,{modelValue:ae.patient_name,"onUpdate:modelValue":e[79]||(e[79]=a=>ae.patient_name=a),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(d,{label:"手机",prop:"phone"},{default:n(()=>[l(o,{modelValue:ae.phone,"onUpdate:modelValue":e[80]||(e[80]=a=>ae.phone=a),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Xa,{modelValue:xt.value,"onUpdate:modelValue":e[84]||(e[84]=a=>xt.value=a),size:"920px","close-on-click-modal":!1},{header:n(()=>[r("div",Vu,[e[179]||(e[179]=r("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),S.value&&!kt.value?(u(),y("div",Su,[l(x,{size:"small",loading:Ae.value,onClick:rn},{default:n(()=>[...e[177]||(e[177]=[_(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(x,{size:"small",loading:Ae.value,onClick:on},{default:n(()=>[...e[178]||(e[178]=[_(" 下载PDF ",-1)])]),_:1},8,["loading"])])):g("",!0)])]),default:n(()=>[C((u(),y("div",Cu,[S.value?(u(),b(_n,{key:0,modelValue:ht.value,"onUpdate:modelValue":e[83]||(e[83]=a=>ht.value=a),class:"mx-4 mt-2",style:{"margin-bottom":"0","z-index":"1",position:"relative"}},{default:n(()=>[l(Ja,{label:"药房联",name:"internal"}),l(Ja,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):g("",!0),S.value?(u(),y("div",Nu,[Number(S.value.void_status)===1?(u(),b(O,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[180]||(e[180]=[_("已作废",-1)])]),_:1})):Number(S.value.business_prescription_audit_rejected)===1?(u(),b(O,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[181]||(e[181]=[_("业务订单已驳回",-1)])]),_:1})):Number(S.value.audit_status)===1?(u(),b(O,{key:2,type:"success",size:"small"},{default:n(()=>[...e[182]||(e[182]=[_("已通过",-1)])]),_:1})):Number(S.value.audit_status)===0?(u(),b(O,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[183]||(e[183]=[_("待审核",-1)])]),_:1})):(u(),b(O,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[184]||(e[184]=[_("已驳回",-1)])]),_:1}))])):g("",!0),S.value&&Number(S.value.void_status)===1?(u(),y("div",Pu," 作废人:"+m(S.value.void_by_name||"—")+",作废时间:"+m(en(S.value.void_time)),1)):S.value&&Number(S.value.business_prescription_audit_rejected)===1?(u(),y("div",Ou,[e[185]||(e[185]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),S.value.business_prescription_audit_remark?(u(),y("div",Au," 驳回意见:"+m(S.value.business_prescription_audit_remark),1)):g("",!0)])):S.value&&Number(S.value.audit_status)===2?(u(),y("div",Ru,[e[186]||(e[186]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),S.value.audit_remark?(u(),y("div",Eu,"驳回意见:"+m(S.value.audit_remark),1)):g("",!0)])):g("",!0),S.value?(u(),b(Qr,{key:5,ref_key:"rxSlipRef",ref:Ba,data:S.value,variant:ht.value,"aux-library-name":Je.value,title:Zs},null,8,["data","variant","aux-library-name"])):g("",!0),S.value&&(S.value.audit_by_name||S.value.audit_remark)?(u(),y("div",Tu,[S.value.audit_by_name?(u(),y("div",Du,[_(" 审核人:"+m(S.value.audit_by_name)+" ",1),S.value.audit_time?(u(),y("span",$u,m(Ha(S.value.audit_time)),1)):g("",!0)])):g("",!0),S.value.audit_remark?(u(),y("div",Uu,"审核意见:"+m(S.value.audit_remark),1)):g("",!0)])):g("",!0)])),[[ce,kt.value]])]),_:1},8,["modelValue"]),l(Xa,{modelValue:_t.value,"onUpdate:modelValue":e[85]||(e[85]=a=>_t.value=a),title:"甘草预下单测试结果",size:"800px","destroy-on-close":""},{default:n(()=>{var a,N;return[$.value?(u(),y("div",Fu,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[r("div",Lu,[e[188]||(e[188]=r("span",{class:"font-semibold"},"价格信息",-1)),l(O,{type:"success"},{default:n(()=>[...e[187]||(e[187]=[_("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(la,{column:2,border:""},{default:n(()=>[l(ue,{label:"药材成本"},{default:n(()=>{var A;return[r("span",Iu,"¥"+m(((A=$.value.fee)==null?void 0:A.m_cost)||"0.00"),1)]}),_:1}),l(ue,{label:"制作费"},{default:n(()=>{var A;return[r("span",qu,"¥"+m((((A=$.value.fee)==null?void 0:A.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(ue,{label:"物流费"},{default:n(()=>{var A;return[r("span",zu,"¥"+m((((A=$.value.fee)==null?void 0:A.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(ue,{label:"总计"},{default:n(()=>[r("div",null,[r("span",ju," ¥"+m(Kt($.value.fee)),1),C((u(),y("div",Mu,[e[189]||(e[189]=_(" 占订单总金额: ",-1)),r("span",Bu,m(As($.value.fee,$.value.amount)),1),$.value.amount>0?(u(),y("span",Hu,"%(预报价 ÷ 订单金额 × 100)")):g("",!0)])),[[D,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[190]||(e[190]=[r("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(la,{column:2,border:""},{default:n(()=>[l(ue,{label:"调配中心"},{default:n(()=>{var A;return[_(m(((A=$.value.result)==null?void 0:A.ds_name)||"—"),1)]}),_:1}),l(ue,{label:"调配中心ID"},{default:n(()=>{var A;return[_(m(((A=$.value.result)==null?void 0:A.ds_id)||"—"),1)]}),_:1}),l(ue,{label:"服用天数范围",span:2},{default:n(()=>{var A,q,Ya,Za,el,tl;return[_(m(((q=(A=$.value.result)==null?void 0:A.take_days)==null?void 0:q.min)||"—")+" - "+m(((Za=(Ya=$.value.result)==null?void 0:Ya.take_days)==null?void 0:Za.max)||"—")+" 天 (默认: "+m(((tl=(el=$.value.result)==null?void 0:el.take_days)==null?void 0:tl.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(N=(a=$.value.result)==null?void 0:a.rule_check)!=null&&N.length?(u(),b(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[191]||(e[191]=[r("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[r("div",Wu,m($.value.result.rule_check.map(A=>A.msg).join(" ")),1)]),_:1})):g("",!0),l(s,{shadow:"never"},{header:n(()=>{var A,q;return[r("div",Gu,[e[192]||(e[192]=r("span",{class:"font-semibold"},"药材明细",-1)),r("span",Ku,"共 "+m(((q=(A=$.value.result)==null?void 0:A.m_list)==null?void 0:q.length)||0)+" 味药",1)])]}),default:n(()=>{var A;return[l(Xe,{data:((A=$.value.result)==null?void 0:A.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(P,{type:"index",label:"#",width:"50",align:"center"}),l(P,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(P,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:q})=>[_(m(q.quantity)+m(q.unit),1)]),_:1}),l(P,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:q})=>[_(" ¥"+m(Number(q.price).toFixed(4)),1)]),_:1}),l(P,{label:"小计",width:"100",align:"right"},{default:n(({row:q})=>[r("span",Qu," ¥"+m((Number(q.price)*Number(q.quantity)).toFixed(2)),1)]),_:1}),l(P,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:q})=>[l(O,{type:q.is_available===1?"success":"danger",size:"small"},{default:n(()=>[_(m(q.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(P,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[193]||(e[193]=[r("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(la,{column:2,border:""},{default:n(()=>[l(ue,{label:"订单号",span:2},{default:n(()=>[_(m($.value.order_no||"—"),1)]),_:1}),l(ue,{label:"剂数"},{default:n(()=>[r("span",Ju,m($.value.dose_count||"—")+"剂",1)]),_:1}),l(ue,{label:"单剂量"},{default:n(()=>{var A;return[r("span",Xu,m(Rs((A=$.value.result)==null?void 0:A.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):g("",!0)]}),_:1},8,["modelValue"]),l(X,{modelValue:$e.value,"onUpdate:modelValue":e[88]||(e[88]=a=>$e.value=a),title:"批量改派医助",width:"440px","append-to-body":""},{footer:n(()=>[l(x,{onClick:e[87]||(e[87]=a=>$e.value=!1)},{default:n(()=>[...e[196]||(e[196]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:Rt.value,onClick:kl},{default:n(()=>[...e[197]||(e[197]=[_("确定改派",-1)])]),_:1},8,["loading"])]),default:n(()=>[r("div",Yu,[e[194]||(e[194]=_(" 已选 ",-1)),r("strong",Zu,m(fe.value.length),1),e[195]||(e[195]=_(" 单,将订单「创建人(医助归属)」改派为: ",-1))]),l(k,{modelValue:at.value,"onUpdate:modelValue":e[86]||(e[86]=a=>at.value=a),clearable:"",filterable:"",placeholder:"选择目标医助",class:"!w-full"},{default:n(()=>[(u(!0),y(E,null,j(we.value,a=>(u(),b(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[198]||(e[198]=r("p",{class:"text-xs text-gray-400 mt-2 leading-relaxed"}," 仅变更订单的业务归属(医助筛选 / 业绩口径),并写入操作日志;不影响处方、支付单及审核状态。已是该医助的订单会自动跳过。 ",-1))]),_:1},8,["modelValue"]),l(h(dl),{ref_key:"diagnosisViewRef",ref:oa},null,512)])}}}),Zd=Zr(td,[["__scopeId","data-v-bb92dc74"]]);export{Zd as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{_ as fn,E as vn}from"./jspdf-BsthCvR5.js";import{K as yn,d as gn,M as bn,D as xn,B as kn,C as hn,Q as wn,R as Vn,Z as Sn,i as Cn,N as Nn,O as Pn,U as On,a2 as An,r as Rn,G as En,F as Tn,h as Dn,W as $n,L as Un,a4 as Fn,a5 as Ln,ab as In,ac as qn,ad as zn,k as jn,j as Mn,g as Bn,J as Hn,m as Wn,l as Gn,e as Kn,a6 as Qn,a7 as Jn,a as St}from"./element-plus-DGP1XOrU.js";import{_ as Xn}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{_ as Yn}from"./index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js";import{w as Ct,s as De,q as sa}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Zn}from"./vue-router-QlpZ4wdW.js";import{k as er,G as tr,S as ar,X as lr,i as sr,Y as nr,O as rr}from"./@element-plus/icons-vue-CbYn5zW9.js";import{L as ir,u as or}from"./useListTimeFilter-BquUtCH_.js";import ur from"./PrescriptionOrderDetailDrawer-C30zC4to.js";import{_ as dr}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js";import{z as pr,A as cr,s as na,g as al,b as z,B as mr,a as _r,f as ll,h as Nt,p as fr,o as vr,T as yr,P as gr,n as br,C as Pt,y as xr,c as sl,u as kr,D as hr,E as wr,q as Vr,F as Sr}from"./prescription-order-utils-CpKeuzsa.js";import{C as Cr,D as Nr,g as Pr,n as Or,y as Ar,E as Rr,F as Er,G as Tr,m as Ot,H as nl,I as Dr,J as $r,K as Ur,L as rl,M as Fr,N as Lr,O as Ir,P as il,Q as qr,R as zr,S as jr,T as Mr,U as Br,V as Hr,q as Wr,l as ol,i as Gr,u as Kr}from"./tcm-D-ZRccbe.js";import{P as Qr}from"./index-qwVd4UhY.js";import Jr from"./html2canvas-QH1iLAAe.js";import{u as Xr,k as w,o as Yr,_ as Zr}from"./index-J_eFER10.js";import{d as ei}from"./department-DdhKHNS-.js";import{u as ti}from"./usePaging-DofycyjW.js";import{f as ul,w as ra,b as ai,n as et,as as li,ak as u,I as y,a as l,aN as n,J as r,F as E,ap as j,H as g,aP as C,O as _,G as b,M as si,P as ni,A as R}from"./@vue/runtime-core-C6bnekPw.js";import{o as M,Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as h,a as ia,n as f,r as me}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ri={class:"prescription-order-page prescription-order-list px-4 py-4 pb-8"},ii={class:"flex flex-col gap-3"},oi={key:0,class:"flex items-center gap-2 flex-wrap"},ui=["onClick"],di={class:"font-medium"},pi={class:"flex items-center gap-2 flex-wrap"},ci=["onClick"],mi={class:"font-medium"},_i={class:"flex items-center gap-2 flex-wrap"},fi=["onClick"],vi={class:"font-medium"},yi={class:"flex items-center gap-2 flex-wrap"},gi=["onClick"],bi={class:"font-medium"},xi={class:"flex items-center gap-2 flex-wrap"},ki=["onClick"],hi={class:"font-medium"},wi={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},Vi={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Si={class:"relative flex items-start justify-between gap-3"},Ci={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Ni={class:"mt-2 space-y-1.5 min-w-0"},Pi={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},Oi={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Ai={class:"text-slate-400"},Ri={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},Ei={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},Ti={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Di={class:"relative flex items-start justify-between gap-3"},$i={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Ui={class:"mt-2 space-y-1.5 min-w-0"},Fi={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},Li={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Ii={class:"text-slate-400"},qi={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},zi={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},ji={class:"po-table-toolbar"},Mi={class:"po-table-toolbar__title-wrap"},Bi={class:"po-table-hint text-gray-400"},Hi={class:"po-focus-board"},Wi={class:"po-focus-board__value"},Gi={class:"po-focus-board__value"},Ki={class:"po-focus-board__value"},Qi={class:"po-focus-board__value"},Ji={class:"po-order-no-cell"},Xi={class:"po-order-no-main"},Yi={class:"po-order-no-sub"},Zi={class:"text-gray-400"},eo={key:0,class:"ml-1"},to={class:"flex items-center gap-1"},ao={class:"text-red-500 font-medium whitespace-nowrap"},lo={class:"text-sm"},so={class:"flex justify-between mb-1"},no={class:"font-medium text-red-500"},ro={class:"flex justify-between mb-1"},io={class:"flex justify-between mb-1"},oo={class:"font-medium"},uo={key:0,class:"flex justify-between"},po={key:1},co=["title"],mo={key:1},_o={key:0,class:"text-gray-400"},fo={class:"flex items-center gap-1 flex-wrap"},vo={class:"flex justify-end mt-4"},yo={class:"flex items-center gap-2 ml-4 shrink-0"},go={class:"text-sm text-gray-700 font-medium"},bo={class:"create-order-dialog__inner"},xo={key:0,class:"create-order-rx-card"},ko={class:"create-order-rx-card__head"},ho={class:"create-order-rx-card__meta"},wo={class:"create-order-rx-card__id"},Vo={key:0,class:"create-order-rx-card__sn"},So={class:"create-order-rx-card__patient"},Co={class:"create-order-rx-card__herbs"},No={class:"text-sm text-gray-700 mt-1"},Po={class:"create-order-step-lead"},Oo={class:"flex gap-2 w-full"},Ao={class:"create-order-step-panel"},Ro={class:"create-order-step-panel"},Eo={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},To={class:"text-xs text-gray-400"},Do={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},$o={key:0,class:"space-y-1.5"},Uo={class:"text-gray-800 break-all"},Fo={key:1,class:"text-gray-400"},Lo={class:"flex items-center gap-1 w-full"},Io={class:"flex gap-2 w-full"},qo={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},zo={class:"flex items-center justify-between"},jo={class:"font-medium text-[13px] text-gray-800"},Mo={class:"text-orange-500 font-medium ml-4"},Bo={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Ho={class:"truncate pr-2"},Wo={class:"shrink-0"},Go={class:"create-order-pay-hint text-gray-500"},Ko={class:"text-amber-600 font-medium"},Qo={class:"create-order-step-panel"},Jo={class:"create-order-deposit-bar__cell"},Xo={class:"create-order-deposit-bar__sub"},Yo={class:"create-order-deposit-bar__cell"},Zo={class:"create-order-deposit-bar__sub"},eu={class:"create-order-footer"},tu={key:0,class:"create-order-footer__hint"},au={class:"create-order-footer__step"},lu={key:0,class:"create-order-footer__warn"},su={class:"create-order-footer__actions"},nu={class:"text-sm"},ru={class:"text-gray-600"},iu={class:"text-gray-600"},ou={class:"min-h-[52px]"},uu={class:"text-xs leading-relaxed space-y-1.5"},du={key:0,class:"flex flex-wrap gap-1 items-center"},pu={key:1,class:"list-disc pl-4 space-y-0.5 text-red-50"},cu={class:"mt-3"},mu={key:0,class:"rounded-lg border border-amber-200/80 bg-amber-50/50 p-3"},_u={class:"text-xs font-semibold text-amber-900 mb-2"},fu={class:"text-red-500"},vu={key:1,class:"text-xs text-gray-500 mt-2"},yu={class:"text-xs text-gray-500 mt-1"},gu={class:"text-xs text-gray-500 mt-1"},bu={class:"flex flex-col gap-0.5 py-0.5"},xu={class:"flex items-center justify-between"},ku={class:"text-sm"},hu={class:"text-orange-500 font-medium ml-4"},wu={class:"text-xs text-gray-400"},Vu={class:"flex items-center justify-between w-full pr-2 gap-3"},Su={key:0,class:"flex items-center gap-2 shrink-0"},Cu={class:"rx-wrap"},Nu={key:1,class:"rx-statusbar"},Pu={key:2,class:"rx-status rx-status-danger"},Ou={key:3,class:"rx-status rx-status-danger"},Au={key:0,class:"mt-1"},Ru={key:4,class:"rx-status rx-status-danger"},Eu={key:0,class:"mt-1"},Tu={key:6,class:"rx-audit"},Du={key:0},$u={key:0,class:"ml-2 text-gray-400"},Uu={key:1,class:"mt-1"},Fu={key:0,class:"px-4"},Lu={class:"flex items-center justify-between"},Iu={class:"text-lg font-semibold text-orange-600"},qu={class:"text-lg font-semibold text-blue-600"},zu={class:"text-lg font-semibold text-green-600"},ju={class:"text-xl font-bold text-red-600"},Mu={class:"text-sm text-gray-500 mt-1.5"},Bu={class:"font-medium text-gray-700"},Hu={key:0},Wu={class:"text-sm text-gray-700 leading-relaxed"},Gu={class:"flex items-center justify-between"},Ku={class:"text-sm text-gray-500"},Qu={class:"font-medium text-orange-600"},Ju={class:"text-base font-medium"},Xu={class:"text-base font-medium"},Yu={class:"text-sm text-gray-600 mb-3"},Zu={class:"text-primary"},ed=ul({name:"prescriptionOrderList"}),td=ul({...ed,setup(ad){const dl=ni(()=>fn(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),_e=Xr(),pl=Zn(),oa=f(null);function cl(){var e,s;const t=Number((e=T.value)==null?void 0:e.diagnosis_id);if(!t){w.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(s=oa.value)==null||s.openViewOnly(t)}const ml=6,ua=[3,8],_l=R(()=>{const t=_e.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return e.includes(ml)?!ua.some(s=>e.includes(s)):!1}),fl=R(()=>{const t=_e.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return ua.some(s=>e.includes(s))}),vl=R(()=>_l.value||fl.value),da=f([]),tt=R(()=>{const t=_e.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return e.includes(yr)?e.some(s=>gr.includes(s)):!0}),yl=R(()=>tt.value?"详情/审核":"详情"),gl=[0,3,6],pa=[0,3],At=()=>{const t=_e.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return gl.some(s=>e.includes(s))},re=f(!1),ca=R(()=>{const t=_e.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[];return pa.some(s=>e.includes(s))}),fe=f([]);function bl(t){fe.value=Array.isArray(t)?t:[]}const $e=f(!1),at=f(""),Rt=f(!1);function xl(){if(fe.value.length===0){w.msgWarning("请先勾选要改派的订单");return}at.value="",$e.value=!0}async function kl(){const t=Number(at.value);if(!t){w.msgWarning("请选择目标医助");return}const e=fe.value.map(s=>Number(s.id)).filter(s=>s>0);if(e.length===0){w.msgWarning("请先勾选要改派的订单");return}Rt.value=!0;try{const s=await Nr({order_ids:e,assistant_id:t}),i=Number((s==null?void 0:s.success)??0),o=Array.isArray(s==null?void 0:s.errors)?s.errors:[];let d=`已改派 ${i} 单`;o.length&&(d+=`;${o.join(";")}`),w.msgSuccess(d),$e.value=!1,fe.value=[],U()}catch{}finally{Rt.value=!1}}const lt=f([]),Et=f([]),Tt=f([]),we=f([]),st=f([]),hl={value:"id",label:"name",children:"children"};function ma(t,e){for(const s of t||[]){if(s==null||typeof s!="object")continue;const i=s;if(Number(i.id)===e)return i;const o=ma(i.children||[],e);if(o)return o}return null}function _a(t){const e=Number(t.id),s=[];Number.isFinite(e)&&e>0&&s.push(e);for(const i of t.children||[])i&&typeof i=="object"&&s.push(..._a(i));return s}function wl(t,e){const s=ma(e,t);return s?_a(s):[t]}async function Vl(){try{const[t,e,s]=await Promise.all([Pr(),Or(),ei()]);Tt.value=Array.isArray(t)?t:[],we.value=Array.isArray(e)?e:[];const i=Array.isArray(s)?s:[];st.value=i}catch{Tt.value=[],we.value=[],st.value=[]}}const Sl=t=>t.map(e=>{var s;return{value:e.province,label:e.province,code:e.code,children:((s=e.citys)==null?void 0:s.map(i=>{var o;return{value:i.city,label:i.city,code:i.code,children:((o=i.areas)==null?void 0:o.map(d=>({value:d.area,label:d.area,code:d.code})))||[]}}))||[]}}),Cl=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const s=await e.json();console.log("加载的数据条数:",s==null?void 0:s.length),lt.value=Sl(s),console.log("regionOptions 已设置,条数:",lt.value.length)}catch(t){console.error("加载省市区数据失败:",t),lt.value=[]}},Nl=async()=>{try{const t=await Yr({type:"server_order"});Et.value=br(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),Et.value=[]}},Pl=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function Ol(t){te.value="",v.exclude_fulfillment_cancelled=0,v.fulfillment_status=t,W()}const te=f(""),Al=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"洛阳直发",value:"direct"},{label:"自营",value:"self"}];function Rl(t){v.supply_mode=t,W()}const El=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Tl(t){v.express_company=t,W()}const v=me({order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:"",service_channel:"",has_aux_formula:"",exclude_fulfillment_cancelled:0,audit_admin_id:""}),Dl=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],$l=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function Ul(t){te.value="",v.exclude_fulfillment_cancelled=0,v.prescription_audit_status=t,W()}function Fl(t){te.value="",v.exclude_fulfillment_cancelled=0,v.payment_slip_audit_status=t,W()}function nt(t){if(te.value===t){te.value="",v.prescription_audit_status="",v.payment_slip_audit_status="",v.fulfillment_status="",v.exclude_fulfillment_cancelled=0,W();return}te.value=t,v.prescription_audit_status="",v.payment_slip_audit_status="",v.fulfillment_status="",v.exclude_fulfillment_cancelled=0,t==="pendingRx"?(v.prescription_audit_status=0,v.exclude_fulfillment_cancelled=1):t==="pendingPay"?(v.prescription_audit_status=1,v.payment_slip_audit_status=0):t==="pendingShip"?v.fulfillment_status=2:t==="risk"&&(v.payment_slip_audit_status=2),W()}const{time_type:Ue,dateRange:Dt,resolve:fa,handleTimeTypeChange:Ll,handleCustomDateChange:Il,resetTimeFilter:ql,applyCustomRange:zl}=or("all"),va=()=>{Y.page=1,U()},jl=()=>Ll(va),Ml=()=>Il(va);function ya(t){const e={...t};if(e.prescription_id===""||e.prescription_id===void 0?delete e.prescription_id:e.prescription_id=Number(e.prescription_id),e.fulfillment_status===""||e.fulfillment_status===void 0||e.fulfillment_status===null?delete e.fulfillment_status:e.fulfillment_status=Number(e.fulfillment_status),e.prescription_audit_status===""||e.prescription_audit_status===void 0||e.prescription_audit_status===null?delete e.prescription_audit_status:e.prescription_audit_status=Number(e.prescription_audit_status),e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0||e.payment_slip_audit_status===null?delete e.payment_slip_audit_status:e.payment_slip_audit_status=Number(e.payment_slip_audit_status),(!e.supply_mode||e.supply_mode==="")&&delete e.supply_mode,e.doctor_id===""||e.doctor_id===void 0||e.doctor_id===null?delete e.doctor_id:e.doctor_id=Number(e.doctor_id),e.assistant_id===""||e.assistant_id===void 0||e.assistant_id===null?delete e.assistant_id:e.assistant_id=Number(e.assistant_id),e.assistant_dept_id===""||e.assistant_dept_id===void 0||e.assistant_dept_id===null?delete e.assistant_dept_id:e.assistant_dept_id=Number(e.assistant_dept_id),e.order_no||delete e.order_no,String(e.patient_keyword||"").trim()||delete e.patient_keyword,e.audit_admin_id===""||e.audit_admin_id===void 0||e.audit_admin_id===null?delete e.audit_admin_id:e.audit_admin_id=Number(e.audit_admin_id),String(e.express_keyword||"").trim()||delete e.express_keyword,(!e.express_company||e.express_company==="")&&delete e.express_company,e.service_channel===""||e.service_channel===void 0||e.service_channel===null?delete e.service_channel:(e.service_channel=String(e.service_channel).trim(),e.service_channel===""&&delete e.service_channel),e.has_aux_formula===""||e.has_aux_formula===void 0||e.has_aux_formula===null?delete e.has_aux_formula:e.has_aux_formula=Number(e.has_aux_formula),Number(e.exclude_fulfillment_cancelled)!==1&&delete e.exclude_fulfillment_cancelled,!String(e.start_time||"").trim()||!String(e.end_time||"").trim())delete e.start_time,delete e.end_time;else{const s=String(e.start_time||"").trim(),i=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(s)&&/^\d{4}-\d{2}-\d{2}$/.test(i)&&(e.start_time=`${s} 00:00:00`,e.end_time=`${i} 23:59:59`)}return e}async function Bl(t){const[e,s]=fa(),i=ya({...t,start_time:e,end_time:s});return Ar(i)}const Hl=R(()=>{const[t,e]=fa();return ya({...v,start_time:t,end_time:e})}),{pager:Y,getLists:U,resetPage:W,resetParams:Wl}=ti({fetchFun:Bl,params:v});ra(()=>{var t;return(t=Y.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(da.value=t.map(e=>{if(e==null||typeof e!="object")return null;const s=e,i=Number(s.id),o=String(s.name??"").trim();return!Number.isFinite(i)||i<=0||o===""?null:{id:i,name:o}}).filter(e=>e!=null))},{immediate:!0});function Gl(){const t=pl.query,e=p=>{const k=p!=null?String(p).trim():"";return k?k.length>=10?k.slice(0,10):k:""},s=e(t.start_time),i=e(t.end_time);s&&i&&zl(s,i);const o=t.assistant_dept_id;if(o!=null&&String(o)!==""){const p=Number(o);Number.isFinite(p)&&p>0&&(v.assistant_dept_id=p)}const d=t.assistant_id;if(d!=null&&String(d)!==""){const p=Number(d);Number.isFinite(p)&&p>0&&(v.assistant_id=p)}}const ga=R(()=>{const t=v.assistant_dept_id;if(t===""||t==null)return we.value;const e=Number(t);if(!Number.isFinite(e))return we.value;const s=new Set(wl(e,st.value));return we.value.filter(i=>{const o=i.dept_ids;return!Array.isArray(o)||o.length===0?!1:o.map(Number).some(d=>s.has(d))})});function Kl(){const t=v.assistant_id;if(t!==""&&t!=null){const e=Number(t);ga.value.some(i=>Number(i.id)===e)||(v.assistant_id="")}W()}const ie=R(()=>{const t=Y.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),s=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),i=ee=>{const X=Number(ee);return Number.isFinite(X)?Math.round(X*100)/100:0},o=ee=>ee.toFixed(2),d=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,p=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,k=i(d?t==null?void 0:t.stats_order_amount_not_cancelled:e),J=d?i(t==null?void 0:t.stats_order_amount_cancelled):0,x=i(p?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:s),Re=p?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,K=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):k,P=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):x,O=String((t==null?void 0:t.stats_time_start)??"").trim(),wt=String((t==null?void 0:t.stats_time_end)??"").trim(),Xe=O&&wt?`统计时间:${O} ~ ${wt}`:"统计时间:—",Ye=String((t==null?void 0:t.stats_scope)??"restricted");let he="统计口径:与当前列表数据可见范围一致";Ye==="all"?he="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":Ye==="assistant"?he="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":Ye==="own_rx"&&(he="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const Ee=Ue.value==="all"?"全部":Ue.value==="today"?"今日":"区间";return{order:i(e),pay:i(s),orderStr:o(i(e)),payStr:o(i(s)),orderNotCancelledStr:o(k),orderCancelledStr:o(J),payNotCancelledStr:o(x),payCancelledStr:o(Re),orderPerformanceStr:o(K),payPerformanceStr:o(P),orderHeading:`${Ee}业绩(业务订单额)`,payHeading:`${Ee}业绩(关联实付)`,periodLine:Xe,scopeHint:he,orderSplitHint:"业绩 = 排除履约已取消(4)、拒收(9)、退款(10)后的订单金额;下方为合计与排除项明细"}}),rt=R(()=>{const t=Y.extend,e=p=>{const k=Number(p);return!Number.isFinite(k)||k<0?0:Math.trunc(k)},s=e(t==null?void 0:t.focus_pending_rx_count),i=e(t==null?void 0:t.focus_pending_pay_count),o=e(t==null?void 0:t.focus_pending_ship_count),d=e(t==null?void 0:t.focus_risk_count);return{pendingRx:s,pendingPay:i,pendingShip:o,risk:d}});function $t(t,e){const s=Number(e==null?void 0:e.prescription_audit_status),i=Number(e==null?void 0:e.payment_slip_audit_status),o=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&s===0||t==="pay"&&s===1&&i===0||t==="fulfillment"&&o===2?"po-status-tag is-focus":t==="rx"&&s===2||t==="pay"&&i===2||t==="fulfillment"&&o===4?"po-status-tag is-risk":"po-status-tag"}function Ql({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),s=Number(t==null?void 0:t.payment_slip_audit_status),i=Number(t==null?void 0:t.fulfillment_status),o=na(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||s===2||o?"po-row-risk":e===0||e===1&&s===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}ra(tt,t=>{t||v.prescription_audit_status===""||v.prescription_audit_status===void 0||(v.prescription_audit_status="",v.exclude_fulfillment_cancelled=0,W())},{immediate:!0});function Jl(){te.value="",ql(),v.order_no="",v.prescription_id="",v.patient_keyword="",v.express_keyword="",v.express_company="",v.doctor_id="",v.assistant_id="",v.assistant_dept_id="",v.fulfillment_status="",v.prescription_audit_status="",v.payment_slip_audit_status="",v.supply_mode="",v.service_channel="",v.has_aux_formula="",v.audit_admin_id="",v.exclude_fulfillment_cancelled=0,Wl()}function ba(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function xa(t){return t===1?"success":t===2?"danger":"info"}function ka(){const t=_e.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(s=>Number(s)):[]).some(s=>pa.includes(s)):!1}function ha(t){var s;const e=Number((s=_e.userInfo)==null?void 0:s.id);return e>0&&Number(t.creator_id)===e}function wa(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Va(t){const e=Number(t.fulfillment_status);return e===3||e===4||ha(t)&&wa(t)&&!ka()||Pt(t)?!1:e===1||e===2}function Xl(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Yl(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function Zl(t){if(Pt(t))return!1;const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return(s===1||s===2)&&i===0}function es(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const s=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return s===1&&(i===1||i===2)}function ts(t){return Pt(t)?!1:Number(t.fulfillment_status)===1}function Sa(t){return Number(t.fulfillment_status)===2}const as=R(()=>{const t=_e.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/setShipMode")});function Q(t){return String(t||"").toLowerCase()==="direct"?"direct":"gancao"}function ls(t){return Q(t)==="direct"?"洛阳药房":"甘草药房"}function Ca(t){return Pt(t)}function Na(t){const e=Number(t.fulfillment_status);return e!==3&&e!==4&&!Ca(t)}const Ut=f(!1);function Ft(t,e){const s=Number(t),i=Number(e);return s>0&&s===i}const ss=R(()=>Q(H.ship_mode)==="direct"?"洛阳药房直发":"甘草药房直发");async function ns(t){const e=T.value;if(!(e!=null&&e.id))return;const s=Q(t),i=Q(e.ship_mode);if(s!==i){if(!Na(e)){w.msgWarning("当前订单状态不可修改发货类型");return}Ut.value=!0;try{await Rr({id:e.id,ship_mode:s}),T.value&&(T.value.ship_mode=s),ke.value&&Ft(Ne.value,e.id)&&(H.ship_mode=s),await ut(),w.msgSuccess("发货类型已保存"),U()}catch{}finally{Ut.value=!1}}}async function rs(){await ut(),U()}function Lt(t){const e=Number(t.fulfillment_status);if(e!==5&&e!==6)return!1;const s=Math.round((Number(t.amount)||0)*100)/100;return Math.round((Number(t.linked_pay_paid_total)||0)*100)/100{var t;return((t=B.value)==null?void 0:t.detail)??null}),os=R(()=>{var e;const t=(e=T.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Ra=R(()=>`${c.dose_unit||"剂"}数`),Fe=f(!1),It=f(!1),it=f(),de=me({id:0,amount:void 0}),us={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,s)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){s(new Error("订单金额不能为负数"));return}s()},trigger:"blur"}]},Ve=f(null),ot=f(!1),Le=R(()=>xr(Ve.value)),Ie=f(!1),qt=f(!1),zt=f(),ae=me({patient_name:"",phone:""}),ds={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function ps(){const t=os.value,e=T.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){w.msgWarning("无处方数据");return}ae.patient_name=String(t.patient_name??"").trim(),ae.phone=String(t.phone??"").trim(),Ie.value=!0,et(()=>{var s;return(s=zt.value)==null?void 0:s.clearValidate()})}function cs(){ae.patient_name="",ae.phone=""}function ms(){var t;de.id=0,de.amount=void 0,(t=it.value)==null||t.clearValidate()}function _s(){const t=T.value;if(!sl(t)){w.msgWarning("当前订单状态不允许修改金额");return}de.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);de.amount=Number.isFinite(e)?e:void 0,Fe.value=!0,et(()=>{var s;return(s=it.value)==null?void 0:s.clearValidate()})}async function ut(){var t;await((t=B.value)==null?void 0:t.refresh())}async function fs(){var s;const t=zt.value;if(!t)return;try{await t.validate()}catch{return}const e=(s=T.value)==null?void 0:s.id;if(e){qt.value=!0;try{await Er({id:e,patient_name:ae.patient_name.trim(),phone:ae.phone.trim()}),Ie.value=!1,await ut()}catch(i){console.error(i)}finally{qt.value=!1}}}async function Ea(){const t=it.value;if(!t)return;try{await t.validate()}catch{return}if(!sl(T.value)){w.msgWarning("当前订单状态不允许修改金额");return}const e=de.id;It.value=!0;try{await Tr({id:e,amount:Number(de.amount)}),w.msgSuccess("修改成功"),Fe.value=!1,await ut(),U()}catch{}finally{It.value=!1}}async function vs(t){var e;await((e=B.value)==null?void 0:e.open(t))}const be=f(!1),jt=f(!1),Mt=f(!1),F=f(0),le=f(null),se=f(!1),dt=f(""),ys=R(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][F.value]??""),Ta=R(()=>{const t=le.value,e=kr(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const s=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return s.length>120?`${s.slice(0,120)}…`:s}),gs=["recipient_name","recipient_phone","region","shipping_address"],xe=f(),c=me({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),bs=R(()=>hr(Et.value,c.service_package)),Da=R(()=>{const t=String(c.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(s=>s.trim()).filter(Boolean):e.split("/").map(s=>s.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),qe=f([]),Bt=f(!1),I=f(0);function pt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Ht=R(()=>{const t=new Set(c.pay_order_ids.map(s=>Number(s)));let e=0;for(const s of qe.value)t.has(Number(s.id))&&(e+=Number(s.amount)||0);return Math.round(e*100)/100}),xs=R(()=>{const t=I.value;return t>0?Math.round(t*100)/100:0});async function ks(t,e){var s,i;if(!t){qe.value=[];return}try{Bt.value=!0;const o=await ol({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),d=(o==null?void 0:o.lists)??((s=o==null?void 0:o.data)==null?void 0:s.lists)??[];qe.value=Array.isArray(d)?d:[];const p=Number((o==null?void 0:o.deposit_min_amount)??((i=o==null?void 0:o.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(p)&&p>=0&&(I.value=p)}catch{qe.value=[]}finally{Bt.value=!1}}const hs=R(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,s,i)=>{const o=I.value,d=Number(s);if(o>0&&(!Number.isFinite(d)||d0){const e=`已开启关联支付门槛(¥${z(I.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function ws(){var t;F.value=0,le.value=null,se.value=!1,dt.value="",(t=xe.value)==null||t.clearValidate()}function Vs(){F.value>0&&(F.value-=1)}async function Ss(){const t=xe.value;if(t)try{F.value===0?await t.validateField([...gs]):F.value===1&&I.value>0&&await t.validateField(["pay_order_ids"]),F.value<2&&(F.value+=1)}catch{}}async function Cs(t){if(!Va(t)){ha(t)&&wa(t)&&!ka()&&w.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}F.value=0,le.value=null,be.value=!0,jt.value=!0;try{const e=await Ot({id:t.id}),s=(e==null?void 0:e.data)??e;if(!s){w.msgError("加载数据结构异常"),be.value=!1;return}const i=s.prescription;i&&typeof i=="object"?le.value=i:Number(s.prescription_id)>0?le.value={id:Number(s.prescription_id),sn:"",patient_name:String(s.recipient_name||""),herbs:[]}:le.value=null,c.id=s.id,c.prescription_id=Number(s.prescription_id)||0,c.diagnosis_id=Number(s.diagnosis_id)||0,c.assistant_id=Number(s.assistant_id)||0,c.diagnosis_creator_id=Number(s.diagnosis_creator_id)||0,c.diagnosis_creator_name=s.diagnosis_creator_name!=null&&s.diagnosis_creator_name!==""?String(s.diagnosis_creator_name):"",c.diagnosis_creator_dept_path=s.diagnosis_creator_dept_path!=null&&s.diagnosis_creator_dept_path!==""?String(s.diagnosis_creator_dept_path):"",c.recipient_name=s.recipient_name||"",c.recipient_phone=s.recipient_phone||"";const o=s.shipping_province||"",d=s.shipping_city||"",p=s.shipping_district||"";o||d||p?c.region=[o,d,p].filter(O=>O!==""):c.region=[],c.shipping_address=s.shipping_address||"",c.is_follow_up=s.is_follow_up?1:0,c.medication_days=s.medication_days>0?s.medication_days:void 0,c.dose_count=s.dose_count>0?s.dose_count:1,c.dose_unit=s.dose_unit||"剂",c.prev_staff=s.prev_staff||"",c.service_channel=s.service_channel||"",c.service_package=wr(s.service_package),c.express_company=String(s.express_company||"auto")||"auto",c.tracking_number=s.tracking_number||"",c.fee_type=Number(s.fee_type)||3,I.value=Number(s.deposit_min_amount)||0;let k=Number(s.amount)||0;const J=Math.round((Number(s.linked_pay_paid_total)||0)*100)/100,x=I.value;if(x>0){const O=Math.round(x*100)/100;kNumber(O)).filter(O=>!Number.isNaN(O)):[],c.internal_cost=s.internal_cost!=null&&s.internal_cost!==""?Number(s.internal_cost):void 0;const K=String(s.gancao_reciperl_order_no||"").trim(),P=Number(s.gancao_submit_time||0);se.value=K!==""||P>0,dt.value=K||"",await ks(c.diagnosis_id,c.id),et(()=>{var O;(O=xe.value)==null||O.clearValidate()})}catch(e){w.msgError((e==null?void 0:e.message)||"加载异常"),be.value=!1}finally{jt.value=!1}}async function Ns(){if(!xe.value)return;const t=se.value;if(!(!t&&F.value!==2)){t?xe.value.clearValidate():await xe.value.validate(),Mt.value=!0;try{const e={id:c.id,recipient_name:c.recipient_name,recipient_phone:c.recipient_phone,shipping_address:c.shipping_address,is_follow_up:c.is_follow_up,prev_staff:c.prev_staff||"",service_channel:c.service_channel||"",service_package:Array.isArray(c.service_package)?c.service_package.join(","):"",express_company:c.express_company||"auto",tracking_number:c.tracking_number||"",fee_type:c.fee_type,amount:c.amount,remark_extra:c.remark_extra||"",remark_assistant:c.remark_assistant||"",medication_days:c.medication_days!=null&&String(c.medication_days).trim()!==""?c.medication_days:"",dose_unit:c.dose_unit||"剂",dose_count:c.dose_count||1,internal_cost:c.internal_cost!=null&&String(c.internal_cost).trim()!==""?c.internal_cost:""};c.region&&c.region.length>0?(e.shipping_province=c.region[0]||"",e.shipping_city=c.region[1]||"",e.shipping_district=c.region[2]||""):(e.shipping_province="",e.shipping_city="",e.shipping_district=""),e.pay_order_ids=[...c.pay_order_ids],await nl(e),w.msgSuccess("保存成功"),be.value=!1,U()}catch{}finally{Mt.value=!1}}}const ze=f(!1),Wt=f("prescription"),Gt=f(0),je=f(null),Se=f(""),ct=f(!1),Ps=R(()=>Wt.value==="prescription"?"处方业务审核":"关联支付单审核");function $a(t,e){Wt.value=e,Gt.value=t.id,je.value=t,Se.value="",ze.value=!0}async function Ua(t){var e;if(t==="reject"&&!Se.value.trim()){w.msgError("驳回或阻止时必须填写明确的审核意见");return}ct.value=!0;try{const s={id:Gt.value,action:t,remark:Se.value.trim()};Wt.value==="prescription"?await Dr(s):await $r(s),w.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),ze.value=!1,U(),await((e=B.value)==null?void 0:e.refreshIfCurrent(Gt.value))}catch{}finally{ct.value=!1}}async function Os(t){try{await St.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await Ur({id:t.id}),w.msgSuccess("撤回成功"),U()}catch{}}const mt=f(0),_t=f(!1),Ce=f(!1),$=f(null);function Kt(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,s=Number(t.proces_cost)||0,i=Number(t.lis_cost)||0;return(e+s+i).toFixed(2)}function As(t,e){const s=parseFloat(Kt(t))||0,i=Number(e)||0;return i<=0?"—":(s/i*100).toFixed(2)}function Rs(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((s,i)=>s+(Number(i.quantity)||0),0).toFixed(0)}async function Es(){if(!c.id){w.msgError("请先保存订单");return}Ce.value=!0;try{const t=await rl({id:c.id,dose_count:c.dose_count||1,medication_days:c.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&($.value=e,_t.value=!0,w.msgSuccess("预下单测试成功"))}catch{}finally{Ce.value=!1}}async function Ts(){var t,e;if(!((t=T.value)!=null&&t.id)){w.msgError("订单数据不存在");return}Ce.value=!0;try{const s=await rl({id:T.value.id,dose_count:T.value.dose_count||1,medication_days:T.value.medication_days||void 0}),i=(s==null?void 0:s.data)??s;if(i&&i.success&&($.value=i,_t.value=!0,At()&&i.fee)){const o=Kt(i.fee);try{const d=await Ot({id:T.value.id}),p=(d==null?void 0:d.data)??d;if(p!=null&&p.id){const k=p.service_package,J=Array.isArray(k)?k.join(","):String(k||"");await nl({id:p.id,recipient_name:p.recipient_name||"",recipient_phone:p.recipient_phone||"",shipping_province:p.shipping_province||"",shipping_city:p.shipping_city||"",shipping_district:p.shipping_district||"",shipping_address:p.shipping_address||"",is_follow_up:p.is_follow_up?1:0,medication_days:p.medication_days!=null&&String(p.medication_days).trim()!==""?p.medication_days:"",dose_unit:p.dose_unit||"剂",dose_count:p.dose_count>0?p.dose_count:1,prev_staff:p.prev_staff||"",service_channel:p.service_channel||"",service_package:J,express_company:p.express_company||"auto",tracking_number:p.tracking_number||"",fee_type:Number(p.fee_type)||3,amount:Number(p.amount)||0,remark_extra:p.remark_extra||"",remark_assistant:p.remark_assistant||"",internal_cost:o,pay_order_ids:Array.isArray(p.pay_order_ids)?p.pay_order_ids:[]}),w.msgSuccess("内部成本已按预报价总计更新"),U(),await((e=B.value)==null?void 0:e.refreshIfCurrent(p.id))}}catch{}}}catch{}finally{Ce.value=!1}}async function Fa(t){var i;const s=Q(t.ship_mode)==="direct"?"洛阳药房":"甘草药房";try{await St.confirm(`将把本单关联处方提交至${s},提交成功后不可切换发货药房。确定继续?`,"上传药房",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),mt.value=t.id;const o=await Fr({id:t.id}),d=(o==null?void 0:o.data)??o,p=(d==null?void 0:d.pharmacy_order_no)!=null?String(d.pharmacy_order_no):(d==null?void 0:d.recipel_order_no)!=null?String(d.recipel_order_no):"";w.msgSuccess(p?`上传成功,${s}单号:${p}`:"上传成功"),U(),await((i=B.value)==null?void 0:i.refreshIfCurrent(t.id))}catch{}finally{mt.value=0}}ai(async()=>{await Cl(),await Nl(),await Vl(),Gl(),await et(),U()});const Me=f(!1),ft=f(!1),Qt=f(0),pe=me({express_company:"auto",tracking_number:""});function Ds(t){Qt.value=t.id,pe.express_company=String(t.express_company||"auto")||"auto",pe.tracking_number=String(t.tracking_number||""),Me.value=!0}async function La(){var t;if(!pe.tracking_number.trim()){w.msgError("请填写快递单号");return}ft.value=!0;try{await Lr({id:Qt.value,express_company:pe.express_company||"auto",tracking_number:pe.tracking_number.trim()}),w.msgSuccess("快递单号已保存"),Me.value=!1,U(),await((t=B.value)==null?void 0:t.refreshIfCurrent(Qt.value))}catch{}finally{ft.value=!1}}const ke=f(!1),vt=f(!1),Ne=f(0),H=me({ship_mode:"gancao",express_company:"auto",tracking_number:""});function $s(t){var e;return Ft((e=T.value)==null?void 0:e.id,t.id)?Q(T.value.ship_mode):Q(t.ship_mode)}function Ia(t){Ne.value=Number(t.id),H.ship_mode=$s(t),H.express_company=String(t.express_company||"auto")||"auto",H.tracking_number=String(t.tracking_number||""),ke.value=!0}ra(()=>{var t;return(t=T.value)==null?void 0:t.ship_mode},t=>{var e;!ke.value||!Ne.value||!Ft((e=T.value)==null?void 0:e.id,Ne.value)||(H.ship_mode=Q(t))});async function qa(){var t;if(!H.tracking_number.trim()){w.msgError("请先填写快递单号再确认发货");return}vt.value=!0;try{await Ir({id:Ne.value,ship_mode:Q(H.ship_mode),express_company:H.express_company||"auto",tracking_number:H.tracking_number.trim()}),w.msgSuccess("确认发货成功,订单已进入「已发货」状态"),ke.value=!1,U(),await((t=B.value)==null?void 0:t.refreshIfCurrent(Ne.value))}catch{}finally{vt.value=!1}}const Us=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Pe=f(!1),Oe=f(0),ve=f(3),Be=f(!1),He=f(!1),oe=f([]),Jt=f(),Z=me({reason:"",refund_amount:void 0}),ye=f(0),Fs=R(()=>Xt(oe.value)),Ls=R(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),o=ye.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(o>0&&i>o+.009){s(new Error(`不能超过可退上限 ¥${z(o)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));let We=0;function Is(){var t;Oe.value=0,oe.value=[],He.value=!1,Z.reason="",Z.refund_amount=void 0,ye.value=0,(t=Jt.value)==null||t.clearValidate(),We+=1,Ve.value=null,ot.value=!1}async function qs(t){if(!t){oe.value=[];return}He.value=!0;try{const e=await Ot({id:t}),s=(e==null?void 0:e.data)??e??null,i=s==null?void 0:s.linked_pay_orders;oe.value=Array.isArray(i)?i:[];const o=Xt(oe.value),d=Number(s==null?void 0:s.paid)||0;ye.value=o>0?o:d,Z.refund_amount=ye.value}catch{oe.value=[],ye.value=0}finally{He.value=!1}}async function zs(t){const e=Number(t.id),s=String(t.tracking_number||"").trim();if(!e||!s)return;const i=++We;ot.value=!0,Ve.value=null;try{const o=String(t.recipient_phone||"").replace(/\D/g,""),d={id:e,express_company:String(t.express_company||"auto")||"auto"};o.length>=4&&(d.phone_tail=o);const p=await Gr(d);if(i!==We||Oe.value!==e)return;Ve.value=Vr(p,s,e)}catch{if(i!==We||Oe.value!==e)return;Ve.value=null}finally{i===We&&Oe.value===e&&(ot.value=!1)}}async function js(){var e,s,i;const t=Oe.value;if(t){if(ve.value===10){if(!await((e=Jt.value)==null?void 0:e.validate().catch(()=>!1)))return;Be.value=!0;try{await il({id:t,reason:Z.reason.trim(),refund_amount:Number(Z.refund_amount)}),w.msgSuccess("退款成功"),Pe.value=!1,U(),await((s=B.value)==null?void 0:s.refreshIfCurrent(t))}catch{}finally{Be.value=!1}return}Be.value=!0;try{await qr({id:t,fulfillment_status:ve.value}),w.msgSuccess("订单状态已更新"),Pe.value=!1,U(),await((i=B.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{Be.value=!1}}}function Xt(t){let e=0;for(const s of t||[]){const i=Number(s==null?void 0:s.status);(i===2||i===5)&&(e+=Number(s==null?void 0:s.amount)||0)}return Math.round(e*100)/100}const Ge=f(!1),Yt=f(0),Zt=f(!1),ea=f(),ne=f(0),G=me({reason:"",refund_amount:void 0}),Ms=R(()=>{const t=z(ne.value),e=z(G.refund_amount);return Number(G.refund_amount)>=ne.value-.009?`确认全额退款 ¥${t}:关联收款将标记已退款,本单已付清零,且不可撤销。`:`确认部分退款 ¥${e}(可退上限 ¥${t}):将扣减本单已付,并按金额依次标记关联收款已退款。`}),Bs=R(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,s)=>{const i=Number(e),o=ne.value;if(!Number.isFinite(i)||i<=0){s(new Error("退款金额须大于 0"));return}if(o>0&&i>o+.009){s(new Error(`不能超过可退上限 ¥${z(o)}`));return}s()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function Hs(){var t;Yt.value=0,G.reason="",G.refund_amount=void 0,ne.value=0,(t=ea.value)==null||t.clearValidate()}async function za(t){Yt.value=t.id,G.reason="",G.refund_amount=void 0,ne.value=0,Ge.value=!0;try{const e=await Ot({id:t.id}),s=(e==null?void 0:e.data)??e??null,i=Array.isArray(s==null?void 0:s.linked_pay_orders)?s.linked_pay_orders:[],o=Xt(i),d=Number(s==null?void 0:s.paid)||0;ne.value=o>0?o:d,G.refund_amount=ne.value}catch{ne.value=0}}async function Ws(){var s,i;const t=Yt.value;if(!(!t||!await((s=ea.value)==null?void 0:s.validate().catch(()=>!1)))){Zt.value=!0;try{await il({id:t,reason:G.reason.trim(),refund_amount:Number(G.refund_amount)}),w.msgSuccess("退款成功"),Ge.value=!1,U(),await((i=B.value)==null?void 0:i.refreshIfCurrent(t))}catch{}finally{Zt.value=!1}}}const Ke=f(!1),yt=f(!1),Qe=f(0),gt=f(),ta=f(!1),bt=f([]),Gs=R(()=>V.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":V.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),V=me({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ks=R(()=>{const t={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}]};return V.add_mode==="create"||V.add_mode==="create_express"?(t.order_type=[{required:!0,message:"请选择费用类别",trigger:"change"}],t.pay_amount=[{validator:(e,s,i)=>{if(s==null||s===""){i(new Error("请输入支付金额"));return}const o=Number(s);!Number.isFinite(o)||o<0?i(new Error("金额不能小于 0")):i()},trigger:"blur"}]):V.add_mode==="link"&&(t.link_pay_order_ids=[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(e,s,i)=>{!Array.isArray(s)||s.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function Qs(t,e=[]){var s;if(!t){bt.value=[];return}try{ta.value=!0;const i=await ol({diagnosis_id:t}),o=(i==null?void 0:i.lists)??((s=i==null?void 0:i.data)==null?void 0:s.lists)??[],d=Array.isArray(o)?o.filter(p=>!e.includes(p.id)):[];bt.value=d}catch{bt.value=[]}finally{ta.value=!1}}function ja(t){var i,o;if(!Lt(t)){w.msgWarning("订单总金额与已付金额一致,无需补齐支付单");return}Qe.value=t.id,V.add_mode="create",V.order_type=3,V.pay_amount=void 0,V.pay_remark="",V.link_pay_order_ids=[],V.completion_request=0,Ke.value=!0;const e=t.diagnosis_id||((i=T.value)==null?void 0:i.diagnosis_id),s=t.pay_order_ids||((o=T.value)==null?void 0:o.pay_order_ids)||[];e&&Qs(e,s)}async function Js(){var t;if(gt.value){await gt.value.validate(),yt.value=!0;try{if(V.add_mode==="completion_only")await zr({id:Qe.value}),w.msgSuccess("完单申请已提交,请等待支付审核");else if(V.add_mode==="create"||V.add_mode==="create_express")await jr({id:Qe.value,order_type:V.order_type,pay_amount:V.pay_amount,pay_remark:V.pay_remark||"",completion_request:V.completion_request,pay_create_type:V.add_mode==="create_express"?"express_cod":"fubei"}),w.msgSuccess("支付单已新增,请等待审核");else{const e=V.link_pay_order_ids;if(e.length===0){w.msgError("请至少选择一个支付单");return}await Mr({id:Qe.value,pay_order_ids:e,completion_request:V.completion_request}),w.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}Ke.value=!1,U(),await((t=B.value)==null?void 0:t.refreshIfCurrent(Qe.value))}catch{}finally{yt.value=!1}}}function Ma(t){Oe.value=t.id,ve.value=3,Z.reason="",Z.refund_amount=void 0,oe.value=[],Ve.value=null,Pe.value=!0,qs(t.id),String(t.tracking_number||"").trim()&&zs(t)}async function Xs(t){var e;try{await St.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Br({id:t.id}),w.msgSuccess("处方审核已撤回"),U(),await((e=B.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}async function Ys(t){var e;try{await St.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Hr({id:t.id}),w.msgSuccess("支付单审核已撤回"),U(),await((e=B.value)==null?void 0:e.refreshIfCurrent(t.id))}catch{}}const Zs="成都双流甄养堂互联网医院 处方笺",xt=f(!1),kt=f(!1),S=f(null),Je=f(""),ht=f("internal"),Ba=f(null),Ae=f(!1);function Ha(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function en(t){return t?Ha(t):"—"}function tn(){Ga(c)}function Wa(t){return t.map(e=>`${String(e.name??"").trim()}:${Number(e.dosage)||0}`).sort().join("|")}function an(t,e){return!t.length||!e.length||t.length!==e.length?!1:Wa(t)===Wa(e)}function ln(t){if(!t||typeof t!="object")return"";const e=t;return String(e.prescription_name??e.library_name??"").trim()}async function sn(t){const e=ln(t.aux_usage);if(e)return e;const i=(Array.isArray(t.herbs)?t.herbs:[]).filter(d=>Sr(d==null?void 0:d.formula_type)==="辅方");if(!i.length)return"";const o=Number(t.creator_id)>0?Number(t.creator_id):0;if(!o)return"";try{const d=await Kr({page_no:1,page_size:200,formula_type:"辅方",prescribing_creator_id:o}),p=Array.isArray(d==null?void 0:d.lists)?d.lists:[];for(const k of p){const J=Array.isArray(k==null?void 0:k.herbs)?k.herbs:[];if(an(i,J))return String((k==null?void 0:k.prescription_name)??"").trim()}}catch{}return""}async function Ga(t){if(!t.prescription_id){w.msgWarning("该订单未关联处方");return}xt.value=!0,kt.value=!0,S.value=null,Je.value="",ht.value="internal";try{const e=await Wr({id:t.prescription_id}),s=(e==null?void 0:e.data)??e??null;if(s){const i=t.medication_days,o={...s};i!=null&&String(i).trim()!==""&&(o.medication_days=i),t.order_no&&!o.order_no&&(o.order_no=t.order_no),t.recipient_name&&!o.recipient_name&&(o.recipient_name=t.recipient_name),t.recipient_phone&&!o.recipient_phone&&(o.recipient_phone=t.recipient_phone),t.shipping_address&&!o.shipping_address&&(o.shipping_address=t.shipping_address),t.amount!=null&&o.order_amount==null&&(o.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(o.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(o.dose_unit=String(t.dose_unit));const d=t.linked_appointment;(!o.appointment_id||Number(o.appointment_id)<=0)&&d&&typeof d=="object"&&Number(d.id)>0&&(o.appointment_id=Number(d.id)),S.value=o,Je.value=await sn(o)}else S.value=null,Je.value=""}catch(e){w.msgError((e==null?void 0:e.message)||"加载处方详情失败"),xt.value=!1,Je.value=""}finally{kt.value=!1}}async function nn(t){const e=t.querySelectorAll('img[src^="http"]'),s=Array.from(e).map(async i=>{try{const o=await fetch(i.src,{mode:"cors"});if(!o.ok)return;const d=await o.blob(),p=await new Promise((k,J)=>{const x=new FileReader;x.onload=()=>k(x.result),x.onerror=J,x.readAsDataURL(d)});i.src=p}catch{}});await Promise.allSettled(s)}async function Ka(){var e;await et();const t=((e=Ba.value)==null?void 0:e.paperEl)??null;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await nn(t),await new Promise(s=>requestAnimationFrame(()=>s(null))),await new Promise(s=>setTimeout(s,250)),Jr(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:s=>s instanceof HTMLElement&&s.classList.contains("cf-slip-no-export"),onclone:(s,i)=>{i instanceof HTMLElement&&(i.querySelectorAll(".rx-notice, .rx-notice-text, .rx-notice-meta").forEach(o=>{o.style.lineHeight="1.95",o.style.overflow="visible"}),i.querySelectorAll(".rx-notice").forEach(o=>{o.style.padding="10px 12px"}),i.querySelectorAll(".rx-info-cell, .rx-info-cell .rx-key, .rx-info-cell .rx-val").forEach(o=>{o.style.lineHeight="1.95",o.style.overflow="visible"}),i.querySelectorAll(".rx-info-cell").forEach(o=>{o.style.padding="10px 12px"}),i.querySelectorAll(".rx-herb-cell").forEach(o=>{o.style.lineHeight="2.5"}),i.querySelectorAll(".rx-herbs").forEach(o=>{o.style.rowGap="12px"}),i.querySelectorAll(".rx-text").forEach(o=>{o.style.lineHeight="2.1"}),i.querySelectorAll(".rx-bot-meta-val, .rx-hospital-line, .rx-bot-cell").forEach(o=>{o.style.overflow="visible",o.style.lineHeight="1.85"}),i.querySelectorAll(".rx-hospital-row").forEach(o=>{o.style.paddingTop="12px",o.style.paddingBottom="14px"}))}})}function Qa(){var s;const t=(s=S.value)==null?void 0:s.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function rn(){if(S.value){Ae.value=!0;try{const t=await Ka(),e=document.createElement("a");e.download=`${Qa()}.png`,e.href=t.toDataURL("image/png"),e.click(),w.msgSuccess("图片已下载")}catch{w.msgError("下载图片失败")}finally{Ae.value=!1}}}async function on(){if(S.value){Ae.value=!0;try{const t=await Ka(),e=t.toDataURL("image/jpeg",.95),s=new vn({orientation:"portrait",unit:"mm",format:"a4"}),i=210,o=297,d=i,p=t.height*d/t.width;if(p<=o)s.addImage(e,"JPEG",0,0,d,p);else{let k=p,J=0;for(;k>0;)s.addImage(e,"JPEG",0,J,d,p),k-=o,J-=o,k>0&&s.addPage()}s.save(`${Qa()}.pdf`),w.msgSuccess("PDF已下载")}catch{w.msgError("下载PDF失败")}finally{Ae.value=!1}}}return(t,e)=>{const s=yn,i=gn,o=hn,d=kn,p=Vn,k=wn,J=Sn,x=Cn,Re=Yn,K=xn,P=Pn,O=On,wt=An,Vt=Rn,Xe=Nn,Ye=Xn,he=Tn,Ee=En,ee=Dn,X=$n,ge=Un,aa=Ln,un=Fn,L=qn,Ze=In,dn=zn,pn=Mn,cn=jn,mn=Bn,Te=Hn,Ja=Gn,_n=Wn,Xa=Kn,ue=Jn,la=Qn,ce=bn,D=li("perms");return u(),y("div",ri,[l(s,{class:"!border-none shadow-sm mb-4",shadow:"never"},{default:n(()=>[r("div",ii,[tt.value?(u(),y("div",oi,[e[89]||(e[89]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(u(),y(E,null,j(Dl,a=>r("div",{key:a.value,class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.prescription_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Ul(a.value)},[r("span",di,m(a.label),1)],10,ui)),64))])):g("",!0),r("div",pi,[e[90]||(e[90]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(u(),y(E,null,j($l,a=>r("div",{key:a.value,class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.payment_slip_audit_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Fl(a.value)},[r("span",mi,m(a.label),1)],10,ci)),64))]),r("div",_i,[e[91]||(e[91]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(u(),y(E,null,j(Pl,a=>r("div",{key:"fs-"+String(a.value),class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.fulfillment_status===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Ol(a.value)},[r("span",vi,m(a.label),1)],10,fi)),64))]),r("div",yi,[e[92]||(e[92]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(u(),y(E,null,j(Al,a=>r("div",{key:"sm-"+String(a.value),class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.supply_mode===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Rl(a.value)},[r("span",bi,m(a.label),1)],10,gi)),64))]),r("div",xi,[e[93]||(e[93]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(u(),y(E,null,j(El,a=>r("div",{key:"ec-"+String(a.value),class:M(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",v.express_company===a.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:N=>Tl(a.value)},[r("span",hi,m(a.label),1)],10,ki)),64))])])]),_:1}),l(s,{class:"!border-none po-filter-card shadow-sm",shadow:"never"},{default:n(()=>[C((u(),y("div",wi,[r("div",Vi,[e[94]||(e[94]=r("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",Si,[r("div",null,[r("div",Ci,[l(i,{size:16,class:"text-sky-500"},{default:n(()=>[l(h(er))]),_:1}),_(" "+m(ie.value.orderHeading),1)]),r("div",Ni,[r("div",Pi," ¥"+m(ie.value.orderPerformanceStr),1),r("div",Oi,[r("span",null,"合计 ¥"+m(ie.value.orderStr),1),r("span",Ai,"已取消 ¥"+m(ie.value.orderCancelledStr),1)])])]),r("div",Ri,[l(i,{size:20},{default:n(()=>[l(h(tr))]),_:1})])]),r("p",Ei,m(ie.value.periodLine),1)]),r("div",Ti,[e[95]||(e[95]=r("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",Di,[r("div",null,[r("div",$i,[l(i,{size:16,class:"text-emerald-500"},{default:n(()=>[l(h(ar))]),_:1}),_(" "+m(ie.value.payHeading),1)]),r("div",Ui,[r("div",Fi," ¥"+m(ie.value.payPerformanceStr),1),r("div",Li,[r("span",null,"合计 ¥"+m(ie.value.payStr),1),r("span",Ii,"已取消 ¥"+m(ie.value.payCancelledStr),1)])])]),r("div",qi,[l(i,{size:20},{default:n(()=>[l(h(lr))]),_:1})])]),r("p",zi,m(ie.value.periodLine),1)])])),[[ce,h(Y).loading]]),l(K,{class:"ls-form",model:v,inline:""},{default:n(()=>[l(ir,{"time-type":h(Ue),"onUpdate:timeType":e[0]||(e[0]=a=>ia(Ue)?Ue.value=a:null),"date-range":h(Dt),"onUpdate:dateRange":e[1]||(e[1]=a=>ia(Dt)?Dt.value=a:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"230px",onTimeTypeChange:jl,onCustomChange:Ml},null,8,["time-type","date-range"]),l(d,{class:"w-[260px]",label:"订单号"},{default:n(()=>[l(o,{modelValue:v.order_no,"onUpdate:modelValue":e[2]||(e[2]=a=>v.order_no=a),placeholder:"业务订单号",clearable:"",onKeyup:Ct(h(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(d,{class:"w-[140px]",label:"处方ID"},{default:n(()=>[l(o,{modelValue:v.prescription_id,"onUpdate:modelValue":e[3]||(e[3]=a=>v.prescription_id=a),placeholder:"处方ID",clearable:"",onKeyup:Ct(h(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(d,{class:"w-[220px]",label:"患者"},{default:n(()=>[l(o,{modelValue:v.patient_keyword,"onUpdate:modelValue":e[4]||(e[4]=a=>v.patient_keyword=a),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Ct(h(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(d,{class:"w-[220px]",label:"快递"},{default:n(()=>[l(o,{modelValue:v.express_keyword,"onUpdate:modelValue":e[5]||(e[5]=a=>v.express_keyword=a),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Ct(h(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),vl.value?(u(),b(d,{key:0,class:"w-[200px]",label:"下单人"},{default:n(()=>[l(k,{modelValue:v.audit_admin_id,"onUpdate:modelValue":e[6]||(e[6]=a=>v.audit_admin_id=a),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:n(()=>[(u(!0),y(E,null,j(da.value,a=>(u(),b(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):g("",!0),l(d,{class:"w-[200px]",label:"医生"},{default:n(()=>[l(k,{modelValue:v.doctor_id,"onUpdate:modelValue":e[7]||(e[7]=a=>v.doctor_id=a),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:n(()=>[(u(!0),y(E,null,j(Tt.value,a=>(u(),b(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:n(()=>[l(J,{modelValue:v.assistant_dept_id,"onUpdate:modelValue":e[8]||(e[8]=a=>v.assistant_dept_id=a),data:st.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:hl,placeholder:"医助部门(选父级含子级)",onChange:Kl},null,8,["modelValue","data"])]),_:1}),l(d,{class:"w-[200px]",label:"医助"},{default:n(()=>[l(k,{modelValue:v.assistant_id,"onUpdate:modelValue":e[9]||(e[9]=a=>v.assistant_id=a),clearable:"",filterable:"",placeholder:"订单创建人",class:"!w-full"},{default:n(()=>[(u(!0),y(E,null,j(ga.value,a=>(u(),b(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{class:"w-[160px]",label:"服务渠道"},{default:n(()=>[l(k,{modelValue:v.service_channel,"onUpdate:modelValue":e[10]||(e[10]=a=>v.service_channel=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(p,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(d,{class:"w-[140px]",label:"辅方"},{default:n(()=>[l(k,{modelValue:v.has_aux_formula,"onUpdate:modelValue":e[11]||(e[11]=a=>v.has_aux_formula=a),clearable:"",placeholder:"全部",class:"!w-full"},{default:n(()=>[l(p,{label:"含辅方",value:"1"}),l(p,{label:"不含辅方",value:"0"})]),_:1},8,["modelValue"])]),_:1}),l(d,null,{default:n(()=>[l(x,{type:"primary",onClick:h(W)},{default:n(()=>[...e[96]||(e[96]=[_("查询",-1)])]),_:1},8,["onClick"]),l(x,{onClick:Jl},{default:n(()=>[...e[97]||(e[97]=[_("重置",-1)])]),_:1}),C(l(Re,{class:"ml-2.5","fetch-fun":h(Cr),params:Hl.value,"page-size":h(Y).size,"export-hint":"导出范围与上方筛选一致(履约状态、创建时间及其他条件均会生效)。含「自媒体渠道(挂号渠道来源)」:优先取该单关联处方登记的挂号;无则诊单下同患者挂号取 id 最大的一条(与前台挂号选择的记录一致);业绩侧栏带渠道筛选导出时与同页列表高亮挂号同源。「服务套餐」按字典 server_order 解析展示。「处方」导出主方/辅方药材明细;「主方/辅方服用方式、天数」与详情侧栏同口径(主方/辅方天数分别取处方 usage_days、辅方 aux_usage.usage_days;「天数」列为订单 medication_days)。「关联收款记录」与详情侧栏同源(已支付/已退款/待审核),每笔两行展示(摘要行+明细行),多笔空行分隔,单元格自动换行。「签收日期」与详情/业绩看板同源,仅读物流库(轨迹/签收时间):导出不再实时查快递100,速度只取决于数据库;签收时间由 `tcm:backfill-sign-time` 命令与物流自动更新定时任务落库,刚发货尚未同步的单子会暂时为空,待下次回填/定时任务刷新后显示。"},null,8,["fetch-fun","params","page-size"]),[[D,["tcm.prescriptionOrder/export"]]])]),_:1})]),_:1},8,["model"])]),_:1}),C((u(),b(s,{class:"!border-none mt-4 po-table-card shadow-sm",shadow:"never"},{default:n(()=>[r("div",ji,[r("div",Mi,[e[98]||(e[98]=r("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),r("span",Bi,"共 "+m(h(Y).count)+" 条",1),ca.value?(u(),b(x,{key:0,type:"primary",plain:"",size:"small",class:"ml-3",disabled:fe.value.length===0,onClick:xl},{default:n(()=>[_(" 批量改派医助"+m(fe.value.length?`(${fe.value.length})`:""),1)]),_:1},8,["disabled"])):g("",!0)]),r("div",Hi,[r("div",{class:M(["po-focus-board__item is-pending-rx",{"is-active":te.value==="pendingRx"}]),onClick:e[12]||(e[12]=a=>nt("pendingRx"))},[e[99]||(e[99]=r("span",{class:"po-focus-board__label"},"待处方审核",-1)),r("strong",Wi,m(rt.value.pendingRx),1)],2),r("div",{class:M(["po-focus-board__item is-pending-pay",{"is-active":te.value==="pendingPay"}]),onClick:e[13]||(e[13]=a=>nt("pendingPay"))},[e[100]||(e[100]=r("span",{class:"po-focus-board__label"},"待支付审核",-1)),r("strong",Gi,m(rt.value.pendingPay),1)],2),r("div",{class:M(["po-focus-board__item is-pending-ship",{"is-active":te.value==="pendingShip"}]),onClick:e[14]||(e[14]=a=>nt("pendingShip"))},[e[101]||(e[101]=r("span",{class:"po-focus-board__label"},"待发货",-1)),r("strong",Ki,m(rt.value.pendingShip),1)],2),r("div",{class:M(["po-focus-board__item is-risk",{"is-active":te.value==="risk"}]),onClick:e[15]||(e[15]=a=>nt("risk"))},[e[102]||(e[102]=r("span",{class:"po-focus-board__label"},"重点异常",-1)),r("strong",Qi,m(rt.value.risk),1)],2)])]),l(Xe,{data:h(Y).lists,size:"default",stripe:"",class:"po-data-table","row-class-name":Ql,onSelectionChange:bl},{default:n(()=>[ca.value?(u(),b(P,{key:0,type:"selection",width:"44",selectable:()=>!0})):g("",!0),l(P,{label:"订单号","min-width":"178","show-overflow-tooltip":""},{default:n(({row:a})=>[r("div",Ji,[r("div",Xi,m(a.order_no||"—"),1),r("div",Yi,[l(O,{size:"small",effect:"plain",type:h(pr)(a)},{default:n(()=>[_(m(h(cr)(a)),1)]),_:2},1032,["type"]),r("span",Zi,"#"+m(a.id),1)])])]),_:1}),l(P,{label:"处方ID",prop:"prescription_id",width:"86"}),l(P,{label:"诊单ID",prop:"diagnosis_id",width:"86"}),l(P,{label:"收货人","min-width":"100"},{default:n(({row:a})=>[r("div",null,m(a.recipient_name||"—"),1),r("div",{class:M(["text-xs",h(na)(a.recipient_phone,a.prescription_phone)?"text-red-600 font-semibold":"text-gray-400"])},[_(m(a.recipient_phone||"—")+" ",1),h(na)(a.recipient_phone,a.prescription_phone)?(u(),y("span",eo,"(与处方手机不一致)")):g("",!0)],2)]),_:1}),l(P,{label:"费用类别",width:"96"},{default:n(({row:a})=>[_(m(h(al)(a.fee_type)),1)]),_:1}),l(P,{label:"金额","min-width":"100"},{default:n(({row:a})=>[r("div",to,[r("span",ao,"¥"+m(a.amount),1),l(wt,{placement:"top",width:200,trigger:"hover"},{reference:n(()=>[l(i,{class:"text-gray-400 cursor-pointer hover:text-primary"},{default:n(()=>[l(h(sr))]),_:1})]),default:n(()=>[r("div",lo,[r("div",so,[e[103]||(e[103]=r("span",{class:"text-gray-500"},"业务订单单据:",-1)),r("span",no,"¥"+m(a.amount),1)]),r("div",ro,[e[104]||(e[104]=r("span",{class:"text-gray-500"},"定金下限:",-1)),r("span",null,"¥"+m(h(z)(a.deposit_min_amount)),1)]),r("div",io,[e[105]||(e[105]=r("span",{class:"text-gray-500"},"实付(关联):",-1)),r("span",oo,"¥"+m(h(z)(a.linked_pay_paid_total)),1)]),At()&&a.internal_cost!=null&&a.internal_cost!==""?(u(),y("div",uo,[e[106]||(e[106]=r("span",{class:"text-gray-500"},"内部成本:",-1)),r("span",{class:M(["font-medium cursor-pointer select-none",re.value?"text-orange-600":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[16]||(e[16]=De(N=>re.value=!re.value,["stop"]))},m(re.value?`¥${h(z)(a.internal_cost)}`:"****"),3)])):g("",!0)])]),_:2},1024)])]),_:1}),At()?(u(),b(P,{key:1,width:"100"},{header:n(()=>[r("span",{class:"cursor-pointer select-none hover:text-primary",title:"点击显示/隐藏内部成本",onClick:e[17]||(e[17]=De(a=>re.value=!re.value,["stop"]))}," 内部成本 ")]),default:n(({row:a})=>[a.internal_cost!=null&&a.internal_cost!==""?(u(),y("span",{key:0,class:M(["cursor-pointer select-none",re.value?"text-orange-600 font-medium":"text-gray-400"]),title:"点击显示/隐藏",onClick:e[18]||(e[18]=De(N=>re.value=!re.value,["stop"]))},m(re.value?`¥${a.internal_cost}`:"****"),3)):(u(),y("span",po,"—"))]),_:1})):g("",!0),l(P,{label:"处方审核",width:"110"},{default:n(({row:a})=>[l(O,{type:xa(a.prescription_audit_status),size:"small",class:M($t("rx",a))},{default:n(()=>[_(m(ba(a.prescription_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(P,{label:"支付单审核",width:"110"},{default:n(({row:a})=>[l(O,{type:xa(a.payment_slip_audit_status),size:"small",class:M($t("pay",a))},{default:n(()=>[_(m(ba(a.payment_slip_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(P,{label:"履约",width:"108"},{default:n(({row:a})=>[l(O,{type:h(mr)(a.fulfillment_status),size:"small",class:M($t("fulfillment",a))},{default:n(()=>[_(m(h(_r)(a.fulfillment_status)),1)]),_:2},1032,["type","class"])]),_:1}),l(P,{label:"关联支付单",width:"100"},{default:n(({row:a})=>[Number(a.linked_pay_order_count)>0?(u(),y("span",{key:0,class:"text-primary cursor-default",title:a.linked_pay_order_id?`#${a.linked_pay_order_id}…`:""},m(a.linked_pay_order_count)+" 笔 ",9,co)):(u(),y("span",mo,"—"))]),_:1}),l(P,{label:"创建时间","min-width":"144"},{default:n(({row:a})=>[_(m(h(ll)(a.create_time)),1)]),_:1}),l(P,{label:"开方人",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),l(P,{label:"创建人",prop:"creator_name",width:"90","show-overflow-tooltip":""}),l(P,{"min-width":"128","show-overflow-tooltip":""},{header:n(()=>[e[107]||(e[107]=r("span",null,"二中心·指派",-1)),l(Vt,{placement:"top","max-width":"320",content:"与诊单「指派记录」快照一致:仅当本条业务单在操作瞬间为快照中的「关联业务单」(创建人+创建时间命中)时显示。绿色=新医助在名称含「二中心」的部门及其下级;灰色=系统自动释放诊单医助。"},{default:n(()=>[l(i,{class:"ml-0.5 align-middle text-gray-400 cursor-help"},{default:n(()=>[l(h(nr))]),_:1})]),_:1})]),default:n(({row:a})=>[Number(a.po_assign_snapshot_hit)?Number(a.po_assign_is_release)?(u(),b(O,{key:1,type:"info",size:"small"},{default:n(()=>[...e[108]||(e[108]=[_("已释放",-1)])]),_:1})):Number(a.po_assign_to_er_center)?(u(),b(O,{key:2,type:"success",size:"small"},{default:n(()=>[_(m(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(u(),b(O,{key:3,type:"warning",size:"small",effect:"plain"},{default:n(()=>[_(" 非二中心 "+m(a.po_assign_to_assistant_name||"医助#"+a.po_assign_to_assistant_id),1)]),_:2},1024)):(u(),y("span",_o,"—"))]),_:1}),l(P,{label:"操作",width:"310",fixed:"right"},{default:n(({row:a})=>[r("div",fo,[C((u(),b(x,{type:"primary",link:"",onClick:N=>vs(a.id)},{default:n(()=>[_(m(yl.value),1)]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/detail"]]]),Va(a)?C((u(),b(x,{key:0,type:"primary",link:"",onClick:N=>Cs(a)},{default:n(()=>[...e[109]||(e[109]=[_("编辑",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/edit"]]]):g("",!0),is(a)?C((u(),b(x,{key:1,type:"success",link:"",onClick:N=>Ds(a)},{default:n(()=>[...e[110]||(e[110]=[_("修改单号",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ddcode"]]]):g("",!0),Sa(a)?C((u(),b(x,{key:2,type:"primary",link:"",onClick:N=>Ia(a)},{default:n(()=>[...e[111]||(e[111]=[_("确认发货",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ship"]]]):g("",!0),Lt(a)?C((u(),b(x,{key:3,type:"success",link:"",onClick:N=>ja(a)},{default:n(()=>[...e[112]||(e[112]=[_("补齐支付单",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/addPayOrder"]]]):g("",!0),Pa(a)?C((u(),b(x,{key:4,type:"primary",link:"",onClick:N=>Ma(a)},{default:n(()=>[...e[113]||(e[113]=[_("完成订单",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/complete"]]]):g("",!0),Oa(a)?C((u(),b(x,{key:5,type:"danger",link:"",onClick:N=>za(a)},{default:n(()=>[...e[114]||(e[114]=[_("退款",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/refund"]]]):g("",!0),ts(a)?C((u(),b(x,{key:6,type:"danger",link:"",onClick:N=>Os(a)},{default:n(()=>[...e[115]||(e[115]=[_("撤回",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/withdraw"]]]):g("",!0),Aa(a)?C((u(),b(x,{key:7,type:"warning",link:"",loading:mt.value===a.id,onClick:N=>Fa(a)},{default:n(()=>[...e[116]||(e[116]=[_("上传药房",-1)])]),_:1},8,["loading","onClick"])),[[D,["tcm.prescriptionOrder/uploadToPharmacy"]]]):g("",!0)])]),_:1})]),_:1},8,["data"]),r("div",vo,[l(Ye,{modelValue:h(Y),"onUpdate:modelValue":e[19]||(e[19]=a=>ia(Y)?Y.value=a:null),"page-sizes":[15,20,30,40,100,150,200],onChange:h(U)},null,8,["modelValue","onChange"])])]),_:1})),[[ce,h(Y).loading]]),l(ur,{ref_key:"detailDrawerRef",ref:B,"gancao-preview-loading":Ce.value,onUpdateAmount:_s,onPatchRxPatient:ps,onViewPrescription:e[20]||(e[20]=a=>T.value&&Ga(T.value)),onTestGancaoPreview:Ts,onViewPatient:cl,onDetailChanged:h(U)},{"header-extra":n(({detail:a})=>[r("div",yo,[e[119]||(e[119]=r("span",{class:"text-sm text-gray-500"},"发货类型",-1)),C((u(),b(Ee,{"model-value":Q(a.ship_mode),size:"small",disabled:Ut.value||!Na(a),onChange:ns},{default:n(()=>[l(he,{label:"gancao"},{default:n(()=>[...e[117]||(e[117]=[_("甘草药房",-1)])]),_:1}),l(he,{label:"direct",disabled:Ca(a)},{default:n(()=>[...e[118]||(e[118]=[_("洛阳药房",-1)])]),_:1},8,["disabled"])]),_:2},1032,["model-value","disabled"])),[[D,["tcm.prescriptionOrder/setShipMode"]]]),as.value?g("",!0):(u(),b(O,{key:0,type:Q(a.ship_mode)==="direct"?"warning":"success",effect:"plain",round:""},{default:n(()=>[_(m(ls(a.ship_mode)),1)]),_:2},1032,["type"]))])]),"header-actions":n(({detail:a})=>[l(dr,{order:a,onResolved:rs},null,8,["order"]),Aa(a)?C((u(),b(x,{key:0,type:"warning",size:"small",plain:"",loading:mt.value===a.id,onClick:N=>Fa(a)},{default:n(()=>[...e[120]||(e[120]=[_("上传药房",-1)])]),_:1},8,["loading","onClick"])),[[D,["tcm.prescriptionOrder/uploadToPharmacy"]]]):g("",!0),Xl(a)?C((u(),b(x,{key:1,type:"warning",size:"small",plain:"",onClick:N=>$a(a,"prescription")},{default:n(()=>[...e[121]||(e[121]=[_(" 处方审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPrescription"]]]):g("",!0),Zl(a)?C((u(),b(x,{key:2,type:"info",size:"small",plain:"",onClick:N=>Xs(a)},{default:n(()=>[...e[122]||(e[122]=[_(" 撤回处方审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPrescription"]]]):g("",!0),Yl(a)?C((u(),b(x,{key:3,type:"warning",size:"small",plain:"",onClick:N=>$a(a,"payment")},{default:n(()=>[...e[123]||(e[123]=[_(" 支付审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPayment"]]]):g("",!0),es(a)?C((u(),b(x,{key:4,type:"info",size:"small",plain:"",onClick:N=>Ys(a)},{default:n(()=>[...e[124]||(e[124]=[_(" 撤回支付审核 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/auditPayment"]]]):g("",!0),Sa(a)?C((u(),b(x,{key:5,type:"primary",size:"small",plain:"",onClick:N=>Ia(a)},{default:n(()=>[...e[125]||(e[125]=[_(" 确认发货 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/ship"]]]):g("",!0),Lt(a)?C((u(),b(x,{key:6,type:"success",size:"small",plain:"",onClick:N=>ja(a)},{default:n(()=>[...e[126]||(e[126]=[_(" 关联支付单 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/addPayOrder"]]]):g("",!0),Pa(a)?C((u(),b(x,{key:7,type:"primary",size:"small",plain:"",onClick:N=>Ma(a)},{default:n(()=>[...e[127]||(e[127]=[_(" 完成订单 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/complete"]]]):g("",!0),Oa(a)?C((u(),b(x,{key:8,type:"danger",size:"small",plain:"",onClick:N=>za(a)},{default:n(()=>[...e[128]||(e[128]=[_(" 退款 ",-1)])]),_:1},8,["onClick"])),[[D,["tcm.prescriptionOrder/refund"]]]):g("",!0)]),_:1},8,["gancao-preview-loading","onDetailChanged"]),l(X,{modelValue:Fe.value,"onUpdate:modelValue":e[23]||(e[23]=a=>Fe.value=a),title:"修改订单金额",width:"420px","destroy-on-close":"","close-on-click-modal":!1,onClosed:ms},{footer:n(()=>[l(x,{onClick:e[22]||(e[22]=a=>Fe.value=!1)},{default:n(()=>[...e[130]||(e[130]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:It.value,onClick:Ea},{default:n(()=>[...e[131]||(e[131]=[_(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(K,{ref_key:"updateAmountFormRef",ref:it,model:de,rules:us,"label-width":"96px",class:"pr-2",onSubmit:De(Ea,["prevent"])},{default:n(()=>[l(d,{label:"当前金额"},{default:n(()=>{var a;return[r("div",go,"¥"+m(h(z)((a=T.value)==null?void 0:a.amount)),1)]}),_:1}),l(d,{label:"新金额",prop:"amount"},{default:n(()=>[l(ee,{modelValue:de.amount,"onUpdate:modelValue":e[21]||(e[21]=a=>de.amount=a),min:0,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[129]||(e[129]=r("div",{class:"text-xs text-gray-400 pl-[96px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(X,{modelValue:be.value,"onUpdate:modelValue":e[46]||(e[46]=a=>be.value=a),title:se.value?"修改物流信息(甘草订单)":"编辑业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog",onClosed:ws},{footer:n(()=>[r("div",eu,[se.value?g("",!0):(u(),y("div",tu,[r("span",au,"第 "+m(F.value+1)+" / 3 步",1),F.value===2&&I.value>0?(u(),y("span",lu," 订单金额与关联支付单合计须 ≥ ¥"+m(h(z)(I.value)),1)):g("",!0)])),r("div",su,[l(x,{size:"large",onClick:e[45]||(e[45]=a=>be.value=!1)},{default:n(()=>[...e[144]||(e[144]=[_("取消",-1)])]),_:1}),se.value?g("",!0):(u(),y(E,{key:0},[F.value>0?(u(),b(x,{key:0,size:"large",onClick:Vs},{default:n(()=>[...e[145]||(e[145]=[_("上一步",-1)])]),_:1})):g("",!0),F.value<2?(u(),b(x,{key:1,type:"primary",size:"large",onClick:Ss},{default:n(()=>[...e[146]||(e[146]=[_(" 下一步 ",-1)])]),_:1})):g("",!0)],64)),se.value||F.value===2?(u(),b(x,{key:1,type:"primary",size:"large",loading:Mt.value,onClick:Ns},{default:n(()=>[...e[147]||(e[147]=[_(" 确认保存 ",-1)])]),_:1},8,["loading"])):g("",!0)])])]),default:n(()=>[C((u(),y("div",bo,[le.value?(u(),y("div",xo,[r("div",ko,[e[132]||(e[132]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",ho,[r("span",wo,"#"+m(le.value.id),1),le.value.sn?(u(),y("span",Vo,m(le.value.sn),1)):g("",!0),r("span",So,m(le.value.patient_name||"—"),1)])]),l(Vt,{content:Ta.value,placement:"bottom","show-after":300},{default:n(()=>[r("div",Co,m(Ta.value),1)]),_:1},8,["content"])])):g("",!0),se.value?(u(),b(ge,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"订单已提交甘草,仅可修改快递单号与承运商;地址、金额等变更请先走取消流程。"},si({_:2},[dt.value?{name:"default",fn:n(()=>[r("div",No,"甘草处方单号:"+m(dt.value),1)]),key:"0"}:void 0]),1024)):g("",!0),se.value?g("",!0):(u(),y(E,{key:2},[l(un,{active:F.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:n(()=>[l(aa,{title:"患者与收货",description:"诊单与物流地址"}),l(aa,{title:"服务与支付单",description:"套餐与关联收款"}),l(aa,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Po,m(ys.value),1)],64)),l(K,{ref_key:"editFormRef",ref:xe,model:c,rules:hs.value,"label-width":"108px",class:"create-order-form"},{default:n(()=>[se.value?(u(),b(Ze,{key:0,gutter:20},{default:n(()=>[l(L,{span:24},{default:n(()=>[l(d,{label:"物流设置"},{default:n(()=>[r("div",Oo,[l(k,{modelValue:c.express_company,"onUpdate:modelValue":e[24]||(e[24]=a=>c.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(o,{modelValue:c.tracking_number,"onUpdate:modelValue":e[25]||(e[25]=a=>c.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1})):g("",!0),se.value?g("",!0):(u(),y(E,{key:1},[C(r("div",Ao,[l(Ze,{gutter:20},{default:n(()=>[l(L,{span:12},{default:n(()=>[l(d,{label:"收货人",prop:"recipient_name"},{default:n(()=>[l(o,{modelValue:c.recipient_name,"onUpdate:modelValue":e[26]||(e[26]=a=>c.recipient_name=a),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:"收货手机",prop:"recipient_phone"},{default:n(()=>[l(o,{modelValue:c.recipient_phone,"onUpdate:modelValue":e[27]||(e[27]=a=>c.recipient_phone=a),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),l(L,{span:24},{default:n(()=>[l(d,{label:"省市区",prop:"region"},{default:n(()=>[l(dn,{modelValue:c.region,"onUpdate:modelValue":e[28]||(e[28]=a=>c.region=a),options:lt.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),l(L,{span:24},{default:n(()=>[l(d,{label:"详细地址",prop:"shipping_address"},{default:n(()=>[l(o,{modelValue:c.shipping_address,"onUpdate:modelValue":e[29]||(e[29]=a=>c.shipping_address=a),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[sa,F.value===0]]),C(r("div",Ro,[tt.value?(u(),b(Ze,{key:0,gutter:20,class:"mb-1"},{default:n(()=>[l(L,{span:24},{default:n(()=>[r("div",Eo,[e[135]||(e[135]=r("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),c.prescription_id?(u(),b(x,{key:0,type:"primary",size:"small",link:"",onClick:tn},{default:n(()=>[...e[133]||(e[133]=[_(" 详细 ",-1)])]),_:1})):g("",!0),c.id?(u(),b(x,{key:1,type:"warning",size:"small",link:"",loading:Ce.value,icon:h(rr),onClick:Es},{default:n(()=>[...e[134]||(e[134]=[_(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):g("",!0),r("span",To,"ID: "+m(c.prescription_id||"—"),1)]),r("div",Do,[Da.value.length?(u(),y("div",$o,[e[136]||(e[136]=r("div",{class:"text-gray-500"},"创建人所属部门",-1)),(u(!0),y(E,null,j(Da.value,(a,N)=>(u(),y("div",{key:N,class:"pl-0 min-w-0"},[a.length?(u(),b(cn,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:n(()=>[(u(!0),y(E,null,j(a,(A,q)=>(u(),b(pn,{key:q},{default:n(()=>[r("span",Uo,m(A),1)]),_:2},1024))),128))]),_:2},1024)):g("",!0)]))),128))])):(u(),y("div",Fo,"创建人所属部门:—"))])]),_:1}),l(L,{xs:24,sm:8},{default:n(()=>[l(d,{label:"复诊"},{default:n(()=>[l(mn,{modelValue:c.is_follow_up,"onUpdate:modelValue":e[30]||(e[30]=a=>c.is_follow_up=a),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),l(L,{xs:24,sm:8},{default:n(()=>[l(d,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:n(()=>[r("div",Lo,[l(ee,{modelValue:c.medication_days,"onUpdate:modelValue":e[31]||(e[31]=a=>c.medication_days=a),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[137]||(e[137]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),l(L,{xs:24,sm:8},{default:n(()=>[l(d,{label:"上次医生"},{default:n(()=>[l(o,{modelValue:c.prev_staff,"onUpdate:modelValue":e[32]||(e[32]=a=>c.prev_staff=a),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:Ra.value,prop:"dose_count"},{default:n(()=>[l(ee,{modelValue:c.dose_count,"onUpdate:modelValue":e[33]||(e[33]=a=>c.dose_count=a),min:1,placeholder:Ra.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:"剂量单位",prop:"dose_unit"},{default:n(()=>[l(k,{modelValue:c.dose_unit,"onUpdate:modelValue":e[34]||(e[34]=a=>c.dose_unit=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(p,{label:"剂",value:"剂"}),l(p,{label:"丸",value:"丸"}),l(p,{label:"袋",value:"袋"}),l(p,{label:"盒",value:"盒"}),l(p,{label:"瓶",value:"瓶"}),l(p,{label:"膏",value:"膏"}),l(p,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):g("",!0),l(Ze,{gutter:20},{default:n(()=>[l(L,{span:12},{default:n(()=>[l(d,{label:"服务渠道"},{default:n(()=>[l(k,{modelValue:c.service_channel,"onUpdate:modelValue":e[35]||(e[35]=a=>c.service_channel=a),class:"w-full",filterable:"","allow-create":"","default-first-option":"",clearable:"",placeholder:"可选或自定义输入"},{default:n(()=>[l(p,{label:"未指派",value:"0"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:"服务套餐"},{default:n(()=>[l(k,{modelValue:c.service_package,"onUpdate:modelValue":e[36]||(e[36]=a=>c.service_package=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:n(()=>[(u(!0),y(E,null,j(bs.value,a=>(u(),b(p,{key:a.value,label:a.name,value:a.value,disabled:a.status===0},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(L,{span:24},{default:n(()=>[l(d,{label:"物流设置"},{default:n(()=>[r("div",Io,[l(k,{modelValue:c.express_company,"onUpdate:modelValue":e[37]||(e[37]=a=>c.express_company=a),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),l(o,{modelValue:c.tracking_number,"onUpdate:modelValue":e[38]||(e[38]=a=>c.tracking_number=a),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),l(L,{span:24},{default:n(()=>[l(d,{label:"关联支付单",prop:"pay_order_ids",required:I.value>0},{default:n(()=>[l(k,{modelValue:c.pay_order_ids,"onUpdate:modelValue":e[39]||(e[39]=a=>c.pay_order_ids=a),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:I.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Bt.value},{default:n(()=>[(u(!0),y(E,null,j(qe.value,a=>(u(),b(p,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${pt(a.order_type)} · ${h(Nt)(a)}`,value:a.id,class:"!h-auto py-1.5"},{default:n(()=>[r("div",qo,[r("div",zo,[r("span",jo,m(a.order_no),1),r("span",Mo,"¥"+m(a.amount),1)]),r("div",Bo,[r("span",Ho,[_(m(pt(a.order_type))+" · "+m(h(Nt)(a)),1),a.remark?(u(),y(E,{key:0},[_(" · "+m(a.remark),1)],64)):g("",!0)]),r("span",Wo,m(String(a.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",Go,[I.value>0?(u(),y(E,{key:0},[r("span",Ko,"当前已开启关联支付门槛(¥"+m(h(z)(I.value))+"),须至少选择一笔支付单。",1),e[138]||(e[138]=r("span",{class:"mx-1"},null,-1))],64)):g("",!0),e[140]||(e[140]=_(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),l(Vt,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:n(()=>[...e[139]||(e[139]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[sa,F.value===1]]),C(r("div",Qo,[r("div",{class:M(["create-order-deposit-bar",Ht.value>=I.value?"is-ok":"is-warn"])},[r("div",Jo,[e[141]||(e[141]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+m(h(z)(I.value)),1),r("span",Xo,m(I.value>0?"须 ≥ 此值":"未设置"),1)]),e[143]||(e[143]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",Yo,[e[142]||(e[142]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+m(h(z)(Ht.value)),1),r("span",Zo,m(Ht.value>=I.value?"已达标":"未达标"),1)])],2),l(Ze,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:n(()=>[l(L,{span:12},{default:n(()=>[l(d,{label:"费用类别",prop:"fee_type"},{default:n(()=>[l(k,{modelValue:c.fee_type,"onUpdate:modelValue":e[40]||(e[40]=a=>c.fee_type=a),placeholder:"请选择",class:"w-full"},{default:n(()=>[l(p,{label:"挂号费",value:1}),l(p,{label:"问诊费",value:2}),l(p,{label:"药品费用",value:3}),l(p,{label:"首付费用",value:4}),l(p,{label:"尾款费用",value:5}),l(p,{label:"其他费用",value:6}),l(p,{label:"全部费用",value:7}),l(p,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(L,{span:12},{default:n(()=>[l(d,{label:"总金额",prop:"amount"},{default:n(()=>[l(ee,{modelValue:c.amount,"onUpdate:modelValue":e[41]||(e[41]=a=>c.amount=a),min:xs.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),C((u(),b(L,{span:12},{default:n(()=>[l(d,{label:"内部成本"},{default:n(()=>[l(ee,{modelValue:c.internal_cost,"onUpdate:modelValue":e[42]||(e[42]=a=>c.internal_cost=a),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[D,["finance.account_log/lists"]]]),l(L,{span:24},{default:n(()=>[C((u(),b(d,{label:"药房备注"},{default:n(()=>[l(o,{modelValue:c.remark_extra,"onUpdate:modelValue":e[43]||(e[43]=a=>c.remark_extra=a),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[D,["tcm.prescriptionOrder/editRemarkExtra"]]]),l(d,{label:"医助备注"},{default:n(()=>[l(o,{modelValue:c.remark_assistant,"onUpdate:modelValue":e[44]||(e[44]=a=>c.remark_assistant=a),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[sa,F.value===2]])],64))]),_:1},8,["model","rules"])])),[[ce,jt.value]])]),_:1},8,["modelValue","title"]),l(X,{modelValue:ze.value,"onUpdate:modelValue":e[51]||(e[51]=a=>ze.value=a),title:Ps.value,width:"480px","destroy-on-close":"",onClosed:e[52]||(e[52]=a=>Se.value="")},{footer:n(()=>[l(x,{onClick:e[48]||(e[48]=a=>ze.value=!1)},{default:n(()=>[...e[149]||(e[149]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:ct.value,onClick:e[49]||(e[49]=a=>Ua("approve"))},{default:n(()=>[...e[150]||(e[150]=[_("同意通过",-1)])]),_:1},8,["loading"]),l(x,{type:"danger",loading:ct.value,onClick:e[50]||(e[50]=a=>Ua("reject"))},{default:n(()=>[...e[151]||(e[151]=[_("驳回阻止",-1)])]),_:1},8,["loading"])]),default:n(()=>[je.value&&je.value.completion_request===1?(u(),b(ge,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:n(()=>[r("div",nu,[e[148]||(e[148]=r("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),r("div",ru," 申请人:"+m(je.value.completion_request_by_name||"—"),1),r("div",iu," 申请时间:"+m(h(ll)(je.value.completion_request_time)),1)])]),_:1})):g("",!0),e[152]||(e[152]=r("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),l(o,{modelValue:Se.value,"onUpdate:modelValue":e[47]||(e[47]=a=>Se.value=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),l(X,{modelValue:Me.value,"onUpdate:modelValue":e[56]||(e[56]=a=>Me.value=a),title:"修改快递单号",width:"420px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(x,{onClick:e[55]||(e[55]=a=>Me.value=!1)},{default:n(()=>[...e[154]||(e[154]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:ft.value,onClick:La},{default:n(()=>[...e[155]||(e[155]=[_("保存单号",-1)])]),_:1},8,["loading"])]),default:n(()=>[C((u(),b(K,{"label-width":"90px",class:"pr-2",onSubmit:De(La,["prevent"])},{default:n(()=>[l(d,{label:"承运商"},{default:n(()=>[l(k,{modelValue:pe.express_company,"onUpdate:modelValue":e[53]||(e[53]=a=>pe.express_company=a),class:"w-full",placeholder:"选择承运商"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"快递单号"},{default:n(()=>[l(o,{modelValue:pe.tracking_number,"onUpdate:modelValue":e[54]||(e[54]=a=>pe.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[153]||(e[153]=r("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[ce,ft.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:ke.value,"onUpdate:modelValue":e[60]||(e[60]=a=>ke.value=a),title:"确认发货",width:"440px","destroy-on-close":"","close-on-click-modal":!1},{footer:n(()=>[l(x,{onClick:e[59]||(e[59]=a=>ke.value=!1)},{default:n(()=>[...e[157]||(e[157]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:vt.value,onClick:qa},{default:n(()=>[...e[158]||(e[158]=[_(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ge,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),C((u(),b(K,{"label-width":"90px",class:"pr-2",onSubmit:De(qa,["prevent"])},{default:n(()=>[l(d,{label:"发货方式"},{default:n(()=>[l(O,{type:Q(H.ship_mode)==="direct"?"warning":"success",effect:"plain",size:"default"},{default:n(()=>[_(m(ss.value),1)]),_:1},8,["type"]),e[156]||(e[156]=r("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),l(d,{label:"承运商"},{default:n(()=>[l(k,{modelValue:H.express_company,"onUpdate:modelValue":e[57]||(e[57]=a=>H.express_company=a),class:"w-full"},{default:n(()=>[l(p,{label:"自动识别",value:"auto"}),l(p,{label:"顺丰速运",value:"sf"}),l(p,{label:"京东快递",value:"jd"}),l(p,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"快递单号"},{default:n(()=>[l(o,{modelValue:H.tracking_number,"onUpdate:modelValue":e[58]||(e[58]=a=>H.tracking_number=a),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[ce,vt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Pe.value,"onUpdate:modelValue":e[65]||(e[65]=a=>Pe.value=a),title:"完成订单",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Is},{footer:n(()=>[l(x,{onClick:e[64]||(e[64]=a=>Pe.value=!1)},{default:n(()=>[...e[162]||(e[162]=[_("取消",-1)])]),_:1}),l(x,{type:ve.value===10?"danger":"primary",loading:Be.value,onClick:js},{default:n(()=>[_(m(ve.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:n(()=>[C((u(),y("div",ou,[Le.value.show?(u(),b(ge,{key:0,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-3 !items-start ring-2 ring-red-600/70",title:"物流异常:轨迹含拒收/退回等,请先核实处理再结案"},{default:n(()=>[r("div",uu,[Le.value.keywords.length?(u(),y("div",du,[e[159]||(e[159]=r("span",{class:"text-red-100/90"},"命中:",-1)),(u(!0),y(E,null,j(Le.value.keywords,a=>(u(),b(O,{key:a,type:"danger",effect:"plain",size:"small",class:"!border-white/35 !text-white"},{default:n(()=>[_(m(a),1)]),_:2},1024))),128))])):g("",!0),Le.value.lines.length?(u(),y("ul",pu,[(u(!0),y(E,null,j(Le.value.lines,(a,N)=>(u(),y("li",{key:N},m(a),1))),128))])):g("",!0),e[160]||(e[160]=r("div",{class:"text-red-100/85 border-t border-white/15 pt-1.5"}," 确认已协调拒收/退回后续(重发、退款、改址等)后再完成订单。 ",-1))])]),_:1})):g("",!0),e[161]||(e[161]=r("p",{class:"text-sm text-gray-600 mb-3"}," 请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总;选择「退款」时将关联收款单标记为已退款并清零本单已付。 ",-1)),l(k,{modelValue:ve.value,"onUpdate:modelValue":e[61]||(e[61]=a=>ve.value=a),class:"w-full",placeholder:"请选择"},{default:n(()=>[(u(),y(E,null,j(Us,a=>l(p,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),ve.value===10?(u(),y(E,{key:1},[l(ge,{type:"warning",closable:!1,"show-icon":"",class:"mt-3 !items-start",title:"退款将处理本单全部关联收款单,已付总额清零,且不可撤销。"}),C((u(),y("div",cu,[oe.value.length?(u(),y("div",mu,[r("div",_u," 将退款的关联收款("+m(oe.value.length)+" 笔 · 合计 ¥"+m(h(z)(Fs.value))+") ",1),l(Xe,{data:oe.value,size:"small",border:"",stripe:"","max-height":"200"},{default:n(()=>[l(P,{prop:"order_no",label:"单号","min-width":"120","show-overflow-tooltip":""}),l(P,{label:"类型",width:"88"},{default:n(({row:a})=>[_(m(a.order_type_desc||h(al)(a.order_type)),1)]),_:1}),l(P,{label:"金额",width:"88",align:"right"},{default:n(({row:a})=>[r("span",fu,"¥"+m(a.amount),1)]),_:1}),l(P,{label:"状态",width:"92",align:"center"},{default:n(({row:a})=>[l(O,{type:h(fr)(a.status),size:"small"},{default:n(()=>[_(m(a.status_desc||h(vr)(a.status)),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])])):He.value?g("",!0):(u(),y("p",vu," 当前无已关联的收款单;提交后仍将本单标记为「退款」并清零已付。 "))])),[[ce,He.value]]),l(K,{ref_key:"completeRefundFormRef",ref:Jt,model:Z,rules:Ls.value,"label-width":"88px",class:"mt-3"},{default:n(()=>[l(d,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ee,{modelValue:Z.refund_amount,"onUpdate:modelValue":e[62]||(e[62]=a=>Z.refund_amount=a),min:.01,max:ye.value>0?ye.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",yu," 可退上限 ¥"+m(h(z)(ye.value)),1)]),_:1}),l(d,{label:"退款原因",prop:"reason"},{default:n(()=>[l(o,{modelValue:Z.reason,"onUpdate:modelValue":e[63]||(e[63]=a=>Z.reason=a),type:"textarea",rows:3,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):g("",!0)])),[[ce,ot.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Ge.value,"onUpdate:modelValue":e[69]||(e[69]=a=>Ge.value=a),title:"订单退款",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Hs},{footer:n(()=>[l(x,{onClick:e[68]||(e[68]=a=>Ge.value=!1)},{default:n(()=>[...e[163]||(e[163]=[_("取消",-1)])]),_:1}),l(x,{type:"danger",loading:Zt.value,onClick:Ws},{default:n(()=>[...e[164]||(e[164]=[_(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(ge,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:Ms.value},null,8,["title"]),l(K,{ref_key:"refundOrderFormRef",ref:ea,model:G,rules:Bs.value,"label-width":"88px"},{default:n(()=>[l(d,{label:"退款金额",prop:"refund_amount"},{default:n(()=>[l(ee,{modelValue:G.refund_amount,"onUpdate:modelValue":e[66]||(e[66]=a=>G.refund_amount=a),min:.01,max:ne.value>0?ne.value:void 0,step:.01,precision:2,class:"w-full","controls-position":"right"},null,8,["modelValue","max"]),r("div",gu," 可退上限 ¥"+m(h(z)(ne.value))+"(默认全额);部分退款时按金额从关联收款单依次标记已退款,并扣减本单已付。 ",1)]),_:1}),l(d,{label:"退款原因",prop:"reason"},{default:n(()=>[l(o,{modelValue:G.reason,"onUpdate:modelValue":e[67]||(e[67]=a=>G.reason=a),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),l(X,{modelValue:Ke.value,"onUpdate:modelValue":e[77]||(e[77]=a=>Ke.value=a),title:"补齐支付单",width:"600px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[78]||(e[78]=a=>{var N;return(N=gt.value)==null?void 0:N.clearValidate()})},{footer:n(()=>[l(x,{onClick:e[76]||(e[76]=a=>Ke.value=!1)},{default:n(()=>[...e[174]||(e[174]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:yt.value,onClick:Js},{default:n(()=>[_(m(V.add_mode==="completion_only"?"提交申请":"确认新增"),1)]),_:1},8,["loading"])]),default:n(()=>[l(ge,{title:Gs.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),C((u(),b(K,{ref_key:"addPayOrderFormRef",ref:gt,model:V,rules:Ks.value,"label-width":"90px",class:"pr-2"},{default:n(()=>[l(d,{label:"添加方式",prop:"add_mode"},{default:n(()=>[l(Ee,{modelValue:V.add_mode,"onUpdate:modelValue":e[70]||(e[70]=a=>V.add_mode=a)},{default:n(()=>[l(Te,{value:"create"},{default:n(()=>[...e[165]||(e[165]=[_("付呗",-1)])]),_:1}),l(Te,{value:"create_express"},{default:n(()=>[...e[166]||(e[166]=[_("快递代收",-1)])]),_:1}),l(Te,{value:"link"},{default:n(()=>[...e[167]||(e[167]=[_("关联已有",-1)])]),_:1}),l(Te,{value:"completion_only"},{default:n(()=>[...e[168]||(e[168]=[_("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),V.add_mode==="create"||V.add_mode==="create_express"?(u(),y(E,{key:0},[l(d,{label:"费用类别",prop:"order_type"},{default:n(()=>[l(k,{modelValue:V.order_type,"onUpdate:modelValue":e[71]||(e[71]=a=>V.order_type=a),class:"w-full"},{default:n(()=>[l(p,{label:"挂号费",value:1}),l(p,{label:"问诊费",value:2}),l(p,{label:"药品费用",value:3}),l(p,{label:"首付费用",value:4}),l(p,{label:"尾款费用",value:5}),l(p,{label:"其他费用",value:6}),l(p,{label:"全部费用",value:7}),l(p,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"支付金额",prop:"pay_amount"},{default:n(()=>[l(ee,{modelValue:V.pay_amount,"onUpdate:modelValue":e[72]||(e[72]=a=>V.pay_amount=a),min:0,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元,可为 0)"},null,8,["modelValue"])]),_:1}),l(d,{label:"备注",prop:"pay_remark"},{default:n(()=>[l(o,{modelValue:V.pay_remark,"onUpdate:modelValue":e[73]||(e[73]=a=>V.pay_remark=a),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):V.add_mode==="completion_only"?(u(),b(ge,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:n(()=>[...e[169]||(e[169]=[_(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(u(),b(d,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:n(()=>[l(k,{modelValue:V.link_pay_order_ids,"onUpdate:modelValue":e[74]||(e[74]=a=>V.link_pay_order_ids=a),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:ta.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:n(()=>[(u(!0),y(E,null,j(bt.value,a=>(u(),b(p,{key:a.id,label:`${a.order_no} · ¥${a.amount} · ${pt(a.order_type)} · ${h(Nt)(a)}`,value:a.id},{default:n(()=>[r("div",bu,[r("div",xu,[r("span",ku,m(a.order_no),1),r("span",hu,"¥"+m(a.amount),1)]),r("div",wu,m(pt(a.order_type))+" · "+m(h(Nt)(a)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[170]||(e[170]=r("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),V.add_mode!=="completion_only"?(u(),b(d,{key:3,label:"完单申请"},{default:n(()=>[l(Ee,{modelValue:V.completion_request,"onUpdate:modelValue":e[75]||(e[75]=a=>V.completion_request=a)},{default:n(()=>[l(Te,{value:0},{default:n(()=>[...e[171]||(e[171]=[_("不申请",-1)])]),_:1}),l(Te,{value:1},{default:n(()=>[...e[172]||(e[172]=[_("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[173]||(e[173]=r("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})):g("",!0)]),_:1},8,["model","rules"])),[[ce,yt.value]])]),_:1},8,["modelValue"]),l(X,{modelValue:Ie.value,"onUpdate:modelValue":e[82]||(e[82]=a=>Ie.value=a),title:"修改处方患者信息",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:cs},{footer:n(()=>[l(x,{onClick:e[81]||(e[81]=a=>Ie.value=!1)},{default:n(()=>[...e[175]||(e[175]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:qt.value,onClick:fs},{default:n(()=>[...e[176]||(e[176]=[_(" 保存 ",-1)])]),_:1},8,["loading"])]),default:n(()=>[l(K,{ref_key:"patchRxPatientFormRef",ref:zt,model:ae,rules:ds,"label-width":"96px"},{default:n(()=>[l(d,{label:"患者姓名",prop:"patient_name"},{default:n(()=>[l(o,{modelValue:ae.patient_name,"onUpdate:modelValue":e[79]||(e[79]=a=>ae.patient_name=a),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),l(d,{label:"手机",prop:"phone"},{default:n(()=>[l(o,{modelValue:ae.phone,"onUpdate:modelValue":e[80]||(e[80]=a=>ae.phone=a),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Xa,{modelValue:xt.value,"onUpdate:modelValue":e[84]||(e[84]=a=>xt.value=a),size:"920px","close-on-click-modal":!1},{header:n(()=>[r("div",Vu,[e[179]||(e[179]=r("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),S.value&&!kt.value?(u(),y("div",Su,[l(x,{size:"small",loading:Ae.value,onClick:rn},{default:n(()=>[...e[177]||(e[177]=[_(" 下载图片 ",-1)])]),_:1},8,["loading"]),l(x,{size:"small",loading:Ae.value,onClick:on},{default:n(()=>[...e[178]||(e[178]=[_(" 下载PDF ",-1)])]),_:1},8,["loading"])])):g("",!0)])]),default:n(()=>[C((u(),y("div",Cu,[S.value?(u(),b(_n,{key:0,modelValue:ht.value,"onUpdate:modelValue":e[83]||(e[83]=a=>ht.value=a),class:"mx-4 mt-2",style:{"margin-bottom":"0","z-index":"1",position:"relative"}},{default:n(()=>[l(Ja,{label:"药房联",name:"internal"}),l(Ja,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):g("",!0),S.value?(u(),y("div",Nu,[Number(S.value.void_status)===1?(u(),b(O,{key:0,type:"danger",size:"small"},{default:n(()=>[...e[180]||(e[180]=[_("已作废",-1)])]),_:1})):Number(S.value.business_prescription_audit_rejected)===1?(u(),b(O,{key:1,type:"danger",size:"small"},{default:n(()=>[...e[181]||(e[181]=[_("业务订单已驳回",-1)])]),_:1})):Number(S.value.audit_status)===1?(u(),b(O,{key:2,type:"success",size:"small"},{default:n(()=>[...e[182]||(e[182]=[_("已通过",-1)])]),_:1})):Number(S.value.audit_status)===0?(u(),b(O,{key:3,type:"warning",size:"small"},{default:n(()=>[...e[183]||(e[183]=[_("待审核",-1)])]),_:1})):(u(),b(O,{key:4,type:"danger",size:"small"},{default:n(()=>[...e[184]||(e[184]=[_("已驳回",-1)])]),_:1}))])):g("",!0),S.value&&Number(S.value.void_status)===1?(u(),y("div",Pu," 作废人:"+m(S.value.void_by_name||"—")+",作废时间:"+m(en(S.value.void_time)),1)):S.value&&Number(S.value.business_prescription_audit_rejected)===1?(u(),y("div",Ou,[e[185]||(e[185]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),S.value.business_prescription_audit_remark?(u(),y("div",Au," 驳回意见:"+m(S.value.business_prescription_audit_remark),1)):g("",!0)])):S.value&&Number(S.value.audit_status)===2?(u(),y("div",Ru,[e[186]||(e[186]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),S.value.audit_remark?(u(),y("div",Eu,"驳回意见:"+m(S.value.audit_remark),1)):g("",!0)])):g("",!0),S.value?(u(),b(Qr,{key:5,ref_key:"rxSlipRef",ref:Ba,data:S.value,variant:ht.value,"aux-library-name":Je.value,title:Zs},null,8,["data","variant","aux-library-name"])):g("",!0),S.value&&(S.value.audit_by_name||S.value.audit_remark)?(u(),y("div",Tu,[S.value.audit_by_name?(u(),y("div",Du,[_(" 审核人:"+m(S.value.audit_by_name)+" ",1),S.value.audit_time?(u(),y("span",$u,m(Ha(S.value.audit_time)),1)):g("",!0)])):g("",!0),S.value.audit_remark?(u(),y("div",Uu,"审核意见:"+m(S.value.audit_remark),1)):g("",!0)])):g("",!0)])),[[ce,kt.value]])]),_:1},8,["modelValue"]),l(Xa,{modelValue:_t.value,"onUpdate:modelValue":e[85]||(e[85]=a=>_t.value=a),title:"甘草预下单测试结果",size:"800px","destroy-on-close":""},{default:n(()=>{var a,N;return[$.value?(u(),y("div",Fu,[l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[r("div",Lu,[e[188]||(e[188]=r("span",{class:"font-semibold"},"价格信息",-1)),l(O,{type:"success"},{default:n(()=>[...e[187]||(e[187]=[_("预下单成功",-1)])]),_:1})])]),default:n(()=>[l(la,{column:2,border:""},{default:n(()=>[l(ue,{label:"药材成本"},{default:n(()=>{var A;return[r("span",Iu,"¥"+m(((A=$.value.fee)==null?void 0:A.m_cost)||"0.00"),1)]}),_:1}),l(ue,{label:"制作费"},{default:n(()=>{var A;return[r("span",qu,"¥"+m((((A=$.value.fee)==null?void 0:A.proces_cost)||0).toFixed(2)),1)]}),_:1}),l(ue,{label:"物流费"},{default:n(()=>{var A;return[r("span",zu,"¥"+m((((A=$.value.fee)==null?void 0:A.lis_cost)||0).toFixed(2)),1)]}),_:1}),l(ue,{label:"总计"},{default:n(()=>[r("div",null,[r("span",ju," ¥"+m(Kt($.value.fee)),1),C((u(),y("div",Mu,[e[189]||(e[189]=_(" 占订单总金额: ",-1)),r("span",Bu,m(As($.value.fee,$.value.amount)),1),$.value.amount>0?(u(),y("span",Hu,"%(预报价 ÷ 订单金额 × 100)")):g("",!0)])),[[D,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),l(s,{shadow:"never",class:"mb-4"},{header:n(()=>[...e[190]||(e[190]=[r("span",{class:"font-semibold"},"配送信息",-1)])]),default:n(()=>[l(la,{column:2,border:""},{default:n(()=>[l(ue,{label:"调配中心"},{default:n(()=>{var A;return[_(m(((A=$.value.result)==null?void 0:A.ds_name)||"—"),1)]}),_:1}),l(ue,{label:"调配中心ID"},{default:n(()=>{var A;return[_(m(((A=$.value.result)==null?void 0:A.ds_id)||"—"),1)]}),_:1}),l(ue,{label:"服用天数范围",span:2},{default:n(()=>{var A,q,Ya,Za,el,tl;return[_(m(((q=(A=$.value.result)==null?void 0:A.take_days)==null?void 0:q.min)||"—")+" - "+m(((Za=(Ya=$.value.result)==null?void 0:Ya.take_days)==null?void 0:Za.max)||"—")+" 天 (默认: "+m(((tl=(el=$.value.result)==null?void 0:el.take_days)==null?void 0:tl.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(N=(a=$.value.result)==null?void 0:a.rule_check)!=null&&N.length?(u(),b(s,{key:0,shadow:"never",class:"mb-4"},{header:n(()=>[...e[191]||(e[191]=[r("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:n(()=>[r("div",Wu,m($.value.result.rule_check.map(A=>A.msg).join(" ")),1)]),_:1})):g("",!0),l(s,{shadow:"never"},{header:n(()=>{var A,q;return[r("div",Gu,[e[192]||(e[192]=r("span",{class:"font-semibold"},"药材明细",-1)),r("span",Ku,"共 "+m(((q=(A=$.value.result)==null?void 0:A.m_list)==null?void 0:q.length)||0)+" 味药",1)])]}),default:n(()=>{var A;return[l(Xe,{data:((A=$.value.result)==null?void 0:A.m_list)||[],border:"",stripe:"","max-height":"400"},{default:n(()=>[l(P,{type:"index",label:"#",width:"50",align:"center"}),l(P,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(P,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:n(({row:q})=>[_(m(q.quantity)+m(q.unit),1)]),_:1}),l(P,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:n(({row:q})=>[_(" ¥"+m(Number(q.price).toFixed(4)),1)]),_:1}),l(P,{label:"小计",width:"100",align:"right"},{default:n(({row:q})=>[r("span",Qu," ¥"+m((Number(q.price)*Number(q.quantity)).toFixed(2)),1)]),_:1}),l(P,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:n(({row:q})=>[l(O,{type:q.is_available===1?"success":"danger",size:"small"},{default:n(()=>[_(m(q.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),l(P,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),l(s,{shadow:"never",class:"mt-4"},{header:n(()=>[...e[193]||(e[193]=[r("span",{class:"font-semibold"},"订单信息",-1)])]),default:n(()=>[l(la,{column:2,border:""},{default:n(()=>[l(ue,{label:"订单号",span:2},{default:n(()=>[_(m($.value.order_no||"—"),1)]),_:1}),l(ue,{label:"剂数"},{default:n(()=>[r("span",Ju,m($.value.dose_count||"—")+"剂",1)]),_:1}),l(ue,{label:"单剂量"},{default:n(()=>{var A;return[r("span",Xu,m(Rs((A=$.value.result)==null?void 0:A.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):g("",!0)]}),_:1},8,["modelValue"]),l(X,{modelValue:$e.value,"onUpdate:modelValue":e[88]||(e[88]=a=>$e.value=a),title:"批量改派医助",width:"440px","append-to-body":""},{footer:n(()=>[l(x,{onClick:e[87]||(e[87]=a=>$e.value=!1)},{default:n(()=>[...e[196]||(e[196]=[_("取消",-1)])]),_:1}),l(x,{type:"primary",loading:Rt.value,onClick:kl},{default:n(()=>[...e[197]||(e[197]=[_("确定改派",-1)])]),_:1},8,["loading"])]),default:n(()=>[r("div",Yu,[e[194]||(e[194]=_(" 已选 ",-1)),r("strong",Zu,m(fe.value.length),1),e[195]||(e[195]=_(" 单,将订单「创建人(医助归属)」改派为: ",-1))]),l(k,{modelValue:at.value,"onUpdate:modelValue":e[86]||(e[86]=a=>at.value=a),clearable:"",filterable:"",placeholder:"选择目标医助",class:"!w-full"},{default:n(()=>[(u(!0),y(E,null,j(we.value,a=>(u(),b(p,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e[198]||(e[198]=r("p",{class:"text-xs text-gray-400 mt-2 leading-relaxed"}," 仅变更订单的业务归属(医助筛选 / 业绩口径),并写入操作日志;不影响处方、支付单及审核状态。已是该医助的订单会自动跳过。 ",-1))]),_:1},8,["modelValue"]),l(h(dl),{ref_key:"diagnosisViewRef",ref:oa},null,512)])}}}),Zd=Zr(td,[["__scopeId","data-v-bb92dc74"]]);export{Zd as default}; diff --git a/server/public/admin/assets/order_list_h5-CSk24Nh-.js b/server/public/admin/assets/order_list_h5-CU96gk7f.js similarity index 98% rename from server/public/admin/assets/order_list_h5-CSk24Nh-.js rename to server/public/admin/assets/order_list_h5-CU96gk7f.js index c696ff461..9a061bffb 100644 --- a/server/public/admin/assets/order_list_h5-CSk24Nh-.js +++ b/server/public/admin/assets/order_list_h5-CU96gk7f.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BhCPKHfV.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-CEIBuAeK.js","assets/index-fRv3NTFQ.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CTlz8z1G.js","assets/DailyMatrix-UhX8pyGC.js","assets/picker-C0hwSppU.js","assets/index-D5PquIeg.js","assets/index-dh40Du6y.css","assets/index-CZHppZGf.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-Dc1nFBAH.js","assets/index-BYMg0OFw.css","assets/index-Dxrq29dg.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-FhuQj5ML.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CFEYln83.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-B8mV3RcM.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D0IuoeiU.js","assets/RecordingPlaybackBlock-CTkcYK3L.js","assets/RecordingVideoPlayer-VBMST9fm.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-Dfh8REJx.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-Dye0u9va.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-D32UIqUN.js","assets/doctor-BVLBwYIX.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DVNRRysO.js","assets/patient-DzLGoG87.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-hgIlFF0m.js","assets/PrescriptionOrderDetailDrawer-O5Yv7ynk.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-B6hZ4N_9.js","assets/index-C5r1a79q.js","assets/medicine-CEgParOp.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-VwsZ7VG0.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); -import{_ as Wn,E as Kn}from"./jspdf-BsthCvR5.js";import{K as Gn,d as Qn,M as Jn,U as Xn,D as Yn,B as Zn,C as er,Q as tr,R as ar,Z as lr,i as sr,X as nr,p as rr,n as ir,o as or,a3 as ur,L as dr,a4 as pr,a5 as cr,a6 as mr,a7 as _r,N as fr,O as vr,T as yr,a8 as gr,a9 as br,e as xr,h as kr,W as hr,r as wr,ab as Vr,ac as Sr,ad as Nr,k as Cr,j as Pr,g as Ar,G as Or,J as Rr,m as Tr,l as Er,a as Mt}from"./element-plus-DGP1XOrU.js";import{_ as Ur}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as dt,q as Ht,s as Bt}from"./@vue/runtime-dom-DDAG46FW.js";import{k as Dr,G as Fr,S as $r,X as zr,O as Pa,e as Ol,i as qr,Z as jr,M as Lr,l as Ir}from"./@element-plus/icons-vue-CbYn5zW9.js";import{L as Mr,u as Hr}from"./useListTimeFilter-Btvmdejx.js";import{_ as Br}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-DPPpLv5I.js";import{g as Wr,n as Kr,y as Gr,i as Qr,f as Jr,m as Q,F as Xr,G as Yr,H as Zr,I as ei,J as ti,K as ai,L as Rl,M as li,N as si,O as ni,P as Tl,Q as ri,R as ii,S as oi,T as ui,U as di,V as pi,q as ci,l as Aa,k as mi}from"./tcm-CEIBuAeK.js";import{z as _i,A as fi,n as vi,C as Oa,x as yi,r as gi,v as El,w as bi,D as xi,E as ki}from"./prescription-order-utils-CpKeuzsa.js";import{P as hi}from"./index-VwsZ7VG0.js";import wi from"./html2canvas-QH1iLAAe.js";import{u as Vi,k as P,o as Si,_ as Ni}from"./index-fRv3NTFQ.js";import{d as Ci}from"./department-OHG8LTQz.js";import{u as Pi}from"./usePaging-DofycyjW.js";import{f as Dl,w as Ul,b as Ai,as as Oi,ak as o,I as _,J as r,a,aN as l,F as T,ap as W,H as f,aP as O,O as p,G as v,P as Ri,A as S,n as pt}from"./@vue/runtime-core-C6bnekPw.js";import{o as j,Q as d}from"./@vue/shared-mAAVTE9n.js";import{y as E,a as Ra,n as b,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ti={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},Ei={class:"flex flex-col gap-3"},Ui={key:0,class:"flex items-center gap-2 flex-wrap"},Di=["onClick"],Fi={class:"font-medium"},$i={class:"flex items-center gap-2 flex-wrap"},zi=["onClick"],qi={class:"font-medium"},ji={class:"flex items-center gap-2 flex-wrap"},Li=["onClick"],Ii={class:"font-medium"},Mi={class:"flex items-center gap-2 flex-wrap"},Hi=["onClick"],Bi={class:"font-medium"},Wi={class:"flex items-center gap-2 flex-wrap"},Ki=["onClick"],Gi={class:"font-medium"},Qi={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},Ji={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Xi={class:"relative flex items-start justify-between gap-3"},Yi={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Zi={class:"mt-2 space-y-1.5 min-w-0"},eo={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},to={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},ao={class:"text-slate-400"},lo={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},so={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},no={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},ro={class:"relative flex items-start justify-between gap-3"},io={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},oo={class:"mt-2 space-y-1.5 min-w-0"},uo={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},po={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},co={class:"text-slate-400"},mo={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},_o={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},fo={class:"po-filter-toggle__label"},vo={class:"po-h5-list-head"},yo={class:"po-table-toolbar"},go={class:"po-table-toolbar__title-wrap"},bo={class:"po-table-hint text-gray-400"},xo={class:"po-focus-board"},ko={class:"po-focus-board__value"},ho={class:"po-focus-board__value"},wo={class:"po-focus-board__value"},Vo={class:"po-focus-board__value"},So={class:"po-card-list"},No=["onClick"],Co={class:"po-card__head"},Po={class:"po-card__order-no"},Ao={class:"po-card__order-no-main"},Oo={class:"po-card__tags"},Ro={class:"po-card__id"},To={key:0,class:"po-card__alert"},Eo={class:"po-card__row"},Uo={class:"po-card__field"},Do={class:"po-card__value"},Fo={class:"po-card__field po-card__field--right"},$o={class:"po-card__value po-card__amount"},zo={class:"po-card__row"},qo={class:"po-card__field"},jo={class:"po-card__field po-card__field--right"},Lo={class:"po-card__value"},Io={class:"po-card__row"},Mo={class:"po-card__field"},Ho={class:"po-card__value"},Bo={class:"po-card__field po-card__field--right"},Wo={class:"po-card__value"},Ko={key:1,class:"po-card__row"},Go={class:"po-card__field"},Qo={class:"po-card__value text-orange-600 font-semibold"},Jo={class:"po-card__field po-card__field--right"},Xo={class:"po-card__value"},Yo={key:0,class:"text-primary"},Zo={key:1},eu={key:2,class:"po-card__row"},tu={class:"po-card__field"},au={class:"po-card__value"},lu={key:0,class:"text-primary"},su={key:1},nu={class:"po-card__field po-card__field--right"},ru={class:"po-card__value po-card__time"},iu={class:"po-card__tags-row"},ou={class:"po-card__meta"},uu={key:0},du={key:1},pu={key:2,class:"po-card__meta-time"},cu={class:"flex justify-end mt-4"},mu={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},_u={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},fu={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},vu={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},yu={class:"min-w-0 break-words text-sm leading-relaxed"},gu={class:"font-mono font-semibold text-red-700"},bu={class:"font-mono font-semibold text-red-700"},xu={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},ku={key:0,class:"text-red-500 font-medium"},hu={key:1},wu={key:2,class:"text-green-600"},Vu={key:3,class:"text-gray-400"},Su={key:0,class:"text-red-500 font-medium"},Nu={key:1},Cu={key:2,class:"text-green-600"},Pu={key:3,class:"text-gray-400"},Au={key:0,class:"text-amber-600 font-medium"},Ou={key:1,class:"text-primary font-medium"},Ru={key:2},Tu={key:3,class:"text-green-600"},Eu={key:4,class:"text-red-500 font-medium"},Uu={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},Du={class:"flex items-center justify-between mb-1"},Fu={class:"stat-value text-red-500 font-bold text-xl"},$u={class:"stat-value text-green-600 font-bold text-xl"},zu={class:"stat-value text-primary font-bold text-xl"},qu={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},ju={key:0,class:"audit-stamp stamp-pass"},Lu={key:1,class:"audit-stamp stamp-reject"},Iu={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},Mu={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},Hu={class:"shrink-0 text-xs text-gray-400 tabular-nums"},Bu={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},Wu={class:"text-primary font-medium"},Ku={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},Gu={class:"text-red-500 font-medium"},Qu={class:"flex flex-col gap-1 text-sm leading-relaxed"},Ju={key:0,class:"text-gray-500 mr-1"},Xu={key:1,class:"ml-2 text-gray-500"},Yu={key:0},Zu={key:1,class:"ml-2 text-gray-500"},ed={class:"flex items-center gap-1 flex-wrap"},td={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},ad={key:0},ld={key:0,class:"mt-4"},sd={class:"flex flex-col gap-4 h-full"},nd={class:"text-red-500"},rd={key:0,class:"audit-stamp stamp-pass"},id={key:1,class:"audit-stamp stamp-reject"},od={class:"flex items-center justify-between"},ud={class:"flex items-center gap-3"},dd={key:0,class:"text-xs text-gray-500"},pd={class:"text-primary font-medium"},cd={class:"text-red-500"},md={class:"po-biz-diagnosis-id flex min-w-0 flex-col gap-3 rounded-2xl border border-slate-200/90 bg-gradient-to-br from-slate-50 to-white px-4 py-3.5 shadow-sm sm:flex-row sm:items-center sm:justify-between"},_d={class:"flex min-w-0 flex-col gap-1"},fd={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},vd={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},yd={class:"font-mono text-primary"},gd={class:"text-gray-500"},bd={key:0},xd={key:1,class:"text-gray-500"},kd={key:0,class:"text-xs text-gray-500 mt-1"},hd={key:1,class:"text-gray-400"},wd={class:"po-audit-remark"},Vd={class:"po-audit-remark"},Sd={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},Nd={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},Cd={key:1,class:"py-6 text-center text-sm text-gray-500"},Pd={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},Ad={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},Od={class:"text-gray-800"},Rd={key:1,class:"text-xs text-gray-400 ml-1"},Td={key:2,class:"text-xs text-gray-400"},Ed={class:"flex items-center gap-2 mb-1"},Ud={class:"font-medium text-[13px]"},Dd={class:"text-sm text-gray-700 font-medium"},Fd={class:"create-order-dialog__inner"},$d={key:0,class:"create-order-rx-card"},zd={class:"create-order-rx-card__head"},qd={class:"create-order-rx-card__meta"},jd={class:"create-order-rx-card__id"},Ld={key:0,class:"create-order-rx-card__sn"},Id={class:"create-order-rx-card__patient"},Md={class:"create-order-rx-card__herbs"},Hd={class:"create-order-step-lead"},Bd={class:"create-order-step-panel"},Wd={class:"create-order-step-panel"},Kd={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},Gd={class:"text-xs text-gray-400"},Qd={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},Jd={key:0,class:"space-y-1.5"},Xd={class:"text-gray-800 break-all"},Yd={key:1,class:"text-gray-400"},Zd={class:"flex items-center gap-1 w-full"},ep={class:"flex gap-2 w-full"},tp={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},ap={class:"flex items-center justify-between"},lp={class:"font-medium text-[13px] text-gray-800"},sp={class:"text-orange-500 font-medium ml-4"},np={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},rp={class:"truncate pr-2"},ip={class:"shrink-0"},op={class:"create-order-pay-hint text-gray-500"},up={class:"text-amber-600 font-medium"},dp={class:"create-order-step-panel"},pp={class:"create-order-deposit-bar__cell"},cp={class:"create-order-deposit-bar__sub"},mp={class:"create-order-deposit-bar__cell"},_p={class:"create-order-deposit-bar__sub"},fp={class:"create-order-footer"},vp={class:"create-order-footer__hint"},yp={class:"create-order-footer__step"},gp={key:0,class:"create-order-footer__warn"},bp={class:"create-order-footer__actions"},xp={class:"text-sm"},kp={class:"text-gray-600"},hp={class:"text-gray-600"},wp={key:0,class:"text-xs text-amber-800 mt-2"},Vp={class:"text-xs text-gray-500 mt-1"},Sp={class:"text-xs text-gray-500 mt-1"},Np={class:"flex flex-col gap-0.5 py-0.5"},Cp={class:"flex items-center justify-between"},Pp={class:"text-sm"},Ap={class:"text-orange-500 font-medium ml-4"},Op={class:"text-xs text-gray-400"},Rp={key:0,class:"text-xs font-medium text-gray-500 mb-3"},Tp={class:"flex items-center gap-1 w-full"},Ep={class:"flex items-center gap-1 w-full"},Up={class:"flex items-center gap-1 w-full"},Dp={class:"flex items-center justify-between w-full pr-2 gap-3"},Fp={key:0,class:"flex items-center gap-2 shrink-0"},$p={class:"rx-wrap"},zp={key:1,class:"rx-statusbar"},qp={key:2,class:"rx-status rx-status-danger"},jp={key:3,class:"rx-status rx-status-danger"},Lp={key:0,class:"mt-1"},Ip={key:4,class:"rx-status rx-status-danger"},Mp={key:0,class:"mt-1"},Hp={key:6,class:"rx-audit"},Bp={key:0},Wp={key:0,class:"ml-2 text-gray-400"},Kp={key:1,class:"mt-1"},Gp={key:0,class:"px-4"},Qp={class:"flex items-center justify-between"},Jp={class:"text-lg font-semibold text-orange-600"},Xp={class:"text-lg font-semibold text-blue-600"},Yp={class:"text-lg font-semibold text-green-600"},Zp={class:"text-xl font-bold text-red-600"},ec={class:"text-sm text-gray-500 mt-1.5"},tc={class:"font-medium text-gray-700"},ac={key:0},lc={class:"text-sm text-gray-700 leading-relaxed"},sc={class:"flex items-center justify-between"},nc={class:"text-sm text-gray-500"},rc={class:"font-medium text-orange-600"},ic={class:"text-base font-medium"},oc={class:"text-base font-medium"},uc=Dl({name:"prescriptionOrderListH5"}),dc=Dl({...uc,setup(pc){const Fl=Ri(()=>Wn(()=>import("./edit-BhCPKHfV.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),we=Vi(),Ta=b(null);function $l(){var e,n;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){P.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(n=Ta.value)==null||n.openViewOnly(t)}const zl=2,ql=6,Ea=[3,8],jl=[0,3,6],Ll=S(()=>{const t=we.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return e.includes(ql)?!Ea.some(n=>e.includes(n)):!1}),Il=S(()=>{const t=we.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return Ea.some(n=>e.includes(n))}),Ml=S(()=>Ll.value||Il.value),Ua=b([]),Ve=S(()=>{const t=we.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return e.includes(zl)?e.some(n=>jl.includes(n)):!0}),Hl=S(()=>Ve.value?"详情/审核":"详情"),Bl=[0,3,6],Da=()=>{const t=we.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return Bl.some(n=>e.includes(n))},ct=b([]),mt=b([]),Wt=b([]),He=b([]),_t=b([]),Wl={value:"id",label:"name",children:"children"};function Fa(t,e){for(const n of t||[]){if(n==null||typeof n!="object")continue;const i=n;if(Number(i.id)===e)return i;const u=Fa(i.children||[],e);if(u)return u}return null}function $a(t){const e=Number(t.id),n=[];Number.isFinite(e)&&e>0&&n.push(e);for(const i of t.children||[])i&&typeof i=="object"&&n.push(...$a(i));return n}function Kl(t,e){const n=Fa(e,t);return n?$a(n):[t]}async function Gl(){try{const[t,e,n]=await Promise.all([Wr(),Kr(),Ci()]);Wt.value=Array.isArray(t)?t:[],He.value=Array.isArray(e)?e:[];const i=Array.isArray(n)?n:[];_t.value=i}catch{Wt.value=[],He.value=[],_t.value=[]}}const Ql=t=>t.map(e=>{var n;return{value:e.province,label:e.province,code:e.code,children:((n=e.citys)==null?void 0:n.map(i=>{var u;return{value:i.city,label:i.city,code:i.code,children:((u=i.areas)==null?void 0:u.map(g=>({value:g.area,label:g.area,code:g.code})))||[]}}))||[]}}),Jl=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const n=await e.json();console.log("加载的数据条数:",n==null?void 0:n.length),ct.value=Ql(n),console.log("regionOptions 已设置,条数:",ct.value.length)}catch(t){console.error("加载省市区数据失败:",t),ct.value=[]}},Xl=async()=>{try{const t=await Si({type:"server_order"});mt.value=vi(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),mt.value=[]}},Yl=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function Zl(t){re.value="",k.fulfillment_status=t,J()}const re=b(""),es=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"洛阳直发",value:"direct"},{label:"自营",value:"self"}];function ts(t){k.supply_mode=t,J()}const as=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function ls(t){k.express_company=t,J()}const k=_e({order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:"",audit_admin_id:""}),ss=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],ns=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function rs(t){re.value="",k.prescription_audit_status=t,J()}function is(t){re.value="",k.payment_slip_audit_status=t,J()}function ft(t){if(re.value===t){re.value="",k.prescription_audit_status="",k.payment_slip_audit_status="",k.fulfillment_status="",J();return}re.value=t,k.prescription_audit_status="",k.payment_slip_audit_status="",k.fulfillment_status="",t==="pendingRx"?k.prescription_audit_status=0:t==="pendingPay"?(k.prescription_audit_status=1,k.payment_slip_audit_status=0):t==="pendingShip"?k.fulfillment_status=2:t==="risk"&&(k.payment_slip_audit_status=2),J()}const{time_type:Re,dateRange:Kt,resolve:os,handleTimeTypeChange:us,handleCustomDateChange:ds,resetTimeFilter:ps}=Hr("all"),za=()=>{te.page=1,M()},cs=()=>us(za),ms=()=>ds(za);async function _s(t){const[e,n]=os(),i={...t,start_time:e,end_time:n};if(i.prescription_id===""||i.prescription_id===void 0?delete i.prescription_id:i.prescription_id=Number(i.prescription_id),(i.fulfillment_status===""||i.fulfillment_status===void 0)&&delete i.fulfillment_status,(i.prescription_audit_status===""||i.prescription_audit_status===void 0)&&delete i.prescription_audit_status,(i.payment_slip_audit_status===""||i.payment_slip_audit_status===void 0)&&delete i.payment_slip_audit_status,(!i.supply_mode||i.supply_mode==="")&&delete i.supply_mode,i.doctor_id===""||i.doctor_id===void 0||i.doctor_id===null?delete i.doctor_id:i.doctor_id=Number(i.doctor_id),i.assistant_id===""||i.assistant_id===void 0||i.assistant_id===null?delete i.assistant_id:i.assistant_id=Number(i.assistant_id),i.assistant_dept_id===""||i.assistant_dept_id===void 0||i.assistant_dept_id===null?delete i.assistant_dept_id:i.assistant_dept_id=Number(i.assistant_dept_id),i.order_no||delete i.order_no,String(i.patient_keyword||"").trim()||delete i.patient_keyword,i.audit_admin_id===""||i.audit_admin_id===void 0||i.audit_admin_id===null?delete i.audit_admin_id:i.audit_admin_id=Number(i.audit_admin_id),String(i.express_keyword||"").trim()||delete i.express_keyword,(!i.express_company||i.express_company==="")&&delete i.express_company,!String(i.start_time||"").trim()||!String(i.end_time||"").trim())delete i.start_time,delete i.end_time;else{const u=String(i.start_time||"").trim(),g=String(i.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(u)&&/^\d{4}-\d{2}-\d{2}$/.test(g)&&(i.start_time=`${u} 00:00:00`,i.end_time=`${g} 23:59:59`)}return Gr(i)}const{pager:te,getLists:M,resetPage:J,resetParams:fs}=Pi({fetchFun:_s,params:k});Ul(()=>{var t;return(t=te.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(Ua.value=t.map(e=>{if(e==null||typeof e!="object")return null;const n=e,i=Number(n.id),u=String(n.name??"").trim();return!Number.isFinite(i)||i<=0||u===""?null:{id:i,name:u}}).filter(e=>e!=null))},{immediate:!0});const qa=S(()=>{const t=k.assistant_dept_id;if(t===""||t==null)return He.value;const e=Number(t);if(!Number.isFinite(e))return He.value;const n=new Set(Kl(e,_t.value));return He.value.filter(i=>{const u=i.dept_ids;return!Array.isArray(u)||u.length===0?!1:u.map(Number).some(g=>n.has(g))})});function vs(){const t=k.assistant_id;if(t!==""&&t!=null){const e=Number(t);qa.value.some(i=>Number(i.id)===e)||(k.assistant_id="")}J()}const ce=S(()=>{const t=te.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),n=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),i=Ie=>{const V=Number(Ie);return Number.isFinite(V)?Math.round(V*100)/100:0},u=Ie=>Ie.toFixed(2),g=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,y=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,x=i(g?t==null?void 0:t.stats_order_amount_not_cancelled:e),F=g?i(t==null?void 0:t.stats_order_amount_cancelled):0,se=i(y?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:n),h=y?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,$=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):x,ge=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):se,he=String((t==null?void 0:t.stats_time_start)??"").trim(),jt=String((t==null?void 0:t.stats_time_end)??"").trim(),Sa=he&&jt?`统计时间:${he} ~ ${jt}`:"统计时间:—",rt=String((t==null?void 0:t.stats_scope)??"restricted");let ee="统计口径:与当前列表数据可见范围一致";rt==="all"?ee="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":rt==="assistant"?ee="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":rt==="own_rx"&&(ee="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const pe=Re.value==="all"?"全部":Re.value==="today"?"今日":"区间";return{order:i(e),pay:i(n),orderStr:u(i(e)),payStr:u(i(n)),orderNotCancelledStr:u(x),orderCancelledStr:u(F),payNotCancelledStr:u(se),payCancelledStr:u(h),orderPerformanceStr:u($),payPerformanceStr:u(ge),orderHeading:`${pe}业绩(业务订单额)`,payHeading:`${pe}业绩(关联实付)`,periodLine:Sa,scopeHint:ee,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),vt=S(()=>{const t=te.extend,e=y=>{const x=Number(y);return!Number.isFinite(x)||x<0?0:Math.trunc(x)},n=e(t==null?void 0:t.focus_pending_rx_count),i=e(t==null?void 0:t.focus_pending_pay_count),u=e(t==null?void 0:t.focus_pending_ship_count),g=e(t==null?void 0:t.focus_risk_count);return{pendingRx:n,pendingPay:i,pendingShip:u,risk:g}});function Gt(t,e){const n=Number(e==null?void 0:e.prescription_audit_status),i=Number(e==null?void 0:e.payment_slip_audit_status),u=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&n===0||t==="pay"&&n===1&&i===0||t==="fulfillment"&&u===2?"po-status-tag is-focus":t==="rx"&&n===2||t==="pay"&&i===2||t==="fulfillment"&&u===4?"po-status-tag is-risk":"po-status-tag"}function yt({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),n=Number(t==null?void 0:t.payment_slip_audit_status),i=Number(t==null?void 0:t.fulfillment_status),u=Vt(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||n===2||u?"po-row-risk":e===0||e===1&&n===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}Ul(Ve,t=>{t||k.prescription_audit_status===""||k.prescription_audit_status===void 0||(k.prescription_audit_status="",J())},{immediate:!0});function ys(){re.value="",ps(),k.order_no="",k.prescription_id="",k.patient_keyword="",k.express_keyword="",k.express_company="",k.doctor_id="",k.assistant_id="",k.assistant_dept_id="",k.fulfillment_status="",k.prescription_audit_status="",k.payment_slip_audit_status="",k.supply_mode="",k.audit_admin_id="",fs()}function gt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function ja(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function La(t){return t===1?"success":t===2?"danger":"info"}function Qt(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function gs(t){const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4?"danger":e===2||e===7?"warning":e===8||e===11||e===12?"info":e===9||e===10?"danger":"info"}function K(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function Se(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return String(t)}const bs=[0,3];function Ia(){const t=we.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[]).some(n=>bs.includes(n)):!1}function Ma(t){var n;const e=Number((n=we.userInfo)==null?void 0:n.id);return e>0&&Number(t.creator_id)===e}function Ha(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Ba(t){const e=Number(t.fulfillment_status);return e===3||e===4||Ma(t)&&Ha(t)&&!Ia()||Oa(t)?!1:e===1||e===2}function xs(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function ks(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function hs(t){if(Oa(t))return!1;const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const n=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return(n===1||n===2)&&i===0}function ws(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const n=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return n===1&&(i===1||i===2)}function Wa(t){return Oa(t)?!1:Number(t.fulfillment_status)===1}function Ka(t){return Number(t.fulfillment_status)===2}function Jt(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Xt(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function Yt(t){const e=Number(t.fulfillment_status);return(e===5||e===6||e===3||e===9)&&Number(t.payment_slip_audit_status)===1}function Vs(t){return!0}function Ga(t){if(t.can_upload_pharmacy===!1)return!1;const e=Number(t.prescription_audit_status),n=Number(t.fulfillment_status),i=String(t.gancao_reciperl_order_no||"").trim(),u=String(t.ej_pharmacy_order_no||"").trim(),g=String(t.ej_pharmacy_status||"").toUpperCase()==="REJECTED"||String(t.ej_pharmacy_review_status||"").toUpperCase()==="REJECTED";return e===1&&(![3,4,8,9,10,11,12].includes(n)||n===9&&g)&&i===""&&(u===""||g)}function Qa(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const bt=b(!0),Ja=S(()=>{const t=k,e=["order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let n=Re.value!=="all"?1:0;for(const i of e){const u=t[i];u!=null&&(typeof u=="string"&&u.trim()===""||Array.isArray(u)&&u.length===0||(n+=1))}return n});function Ss(t){return Jt(t)||Xt(t)||Yt(t)||Ga(t)||Wa(t)}function Ns(t,e){t==="addPayOrder"?yl(e):t==="complete"?gl(e):t==="refund"?vl(e):t==="uploadPharmacy"?fn(e):t==="withdraw"&&dn(e)}function Zt(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const X=b(!1),ea=b(!1),c=b(null),Cs=S(()=>{var t;return yi((t=c.value)==null?void 0:t.service_package,mt.value)}),xt=S(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),n=Number(c.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:n===2?2:3:t===2?3:e===0||e===2?1:n===0||n===2?2:3}),kt=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":xt.value===1?"process":"wait"}),ht=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":xt.value===2?"process":"wait"}),Te=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||xt.value===3?"process":"wait"}),ta=S(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Xa=S(()=>{const t=c.value;if(!t)return 0;const e=t.agency_collect_amount;if(e!=null&&e!=="")return Number(e)||0;const n=Number(t.amount)||0,i=Number(t.linked_pay_paid_total)||0;return Math.round((n-i)*100)/100}),Ee=b([]);async function Ps(t,e,n){var i;if(!t){Ee.value=[];return}try{const u=await Aa({diagnosis_id:t,prescription_order_id:e}),g=(u==null?void 0:u.lists)??((i=u==null?void 0:u.data)==null?void 0:i.lists)??[],y=Array.isArray(g)?g.filter(x=>!n.includes(x.id)):[];Ee.value=y}catch{Ee.value=[]}}function Ya(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}const w=S(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Za=S(()=>{var t;return gi((t=w.value)==null?void 0:t.dietary_taboo)});function wt(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function Vt(t,e){const n=wt(t),i=wt(e);return!n||!i?!1:n!==i}const Be=S(()=>{var n,i;const t=(n=w.value)==null?void 0:n.phone,e=(i=c.value)==null?void 0:i.recipient_phone;return Vt(e,t)}),As=S(()=>{var e;return wt((e=w.value)==null?void 0:e.phone)||"—"}),Os=S(()=>{var e;return wt((e=c.value)==null?void 0:e.recipient_phone)||"—"}),Y=S(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),el=S(()=>{var e;const t=String(((e=Y.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),tl=S(()=>{var t;return Ya((t=w.value)==null?void 0:t.herbs)}),Ne=S(()=>El(w.value)),Z=S(()=>{const t=w.value;if(!t||!El(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:bi(e,t.prescription_type||"浓缩水丸")}),Rs=S(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),Ts=S(()=>{const t=c.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),al=S(()=>`${m.dose_unit||"剂"}数`);function Es(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function Us(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function ll(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function sl(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):Se(t)}const We=b("auto"),St=b(!1),G=b(null),Ke=b("");let aa=0;function Ds(){aa+=1,G.value=null}function la(t){var e,n;return t.requestSeq!==aa||Number((e=c.value)==null?void 0:e.id)!==t.orderId?!1:String(((n=c.value)==null?void 0:n.tracking_number)||"").trim()===t.trackingNumber}function Fs(t,e,n){const i=(t==null?void 0:t.data)??t;if(!i||typeof i!="object")return null;const u=i,g=String(u.tracking_number||"").trim();if(g&&g!==e)return null;const y=Number(u.order_id);return y>0&&y!==n?null:u}const Ue=b([]),Ge=b(!1),sa=b(!1),Nt=b(),fe=_e({id:0,amount:void 0}),$s={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,n)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){n(new Error("订单金额不能为负数"));return}n()},trigger:"blur"}]};function zs(){const t=we.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Ce(t){if(!zs()){Ue.value=[];return}try{const e=await mi({id:t});Ue.value=(e==null?void 0:e.data)??e??[]}catch{Ue.value=[]}}function qs(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",ej_pharmacy_submit:"洛阳药房下单",ej_pharmacy_callback:"洛阳药房状态",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单",refund:"退款"}[t]||t}const na=S(()=>{var n;const t=String(((n=c.value)==null?void 0:n.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),nl=S(()=>{const t=G.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function js(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function ra(){var u,g;const t=Number((u=c.value)==null?void 0:u.id),e=String(((g=c.value)==null?void 0:g.tracking_number)||"").trim();if(!t||!e)return;const i={requestSeq:++aa,orderId:t,trackingNumber:e};St.value=!0;try{const y=String(Ke.value||"").replace(/\D/g,""),x={id:t,express_company:We.value};y.length>=4&&(x.phone_tail=y);const F=await Qr(x);if(!la(i))return;G.value=Fs(F,e,t)}catch{if(!la(i))return;G.value=null}finally{la(i)&&(St.value=!1)}}const Qe=b(!1),ia=b(!1),oa=b(),ie=_e({patient_name:"",phone:""}),Ls={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},Je=b(!1),ua=b(!1),da=b(),U=_e({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),Is=S(()=>{const t={times_per_day:[{required:!0,message:"请填写主方每天次数",trigger:"change"}],usage_days:[{required:!0,message:"请填写主方开立天数",trigger:"change"}],medication_days:[{required:!0,message:"请填写订单服用天数",trigger:"change"}]};return Ne.value&&(t.aux_times_per_day=[{required:!0,message:"请填写辅方每天次数",trigger:"change"}],t.aux_usage_days=[{required:!0,message:"请填写辅方开立天数",trigger:"change"}]),t});function Ms(){const t=w.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}const n=Z.value;U.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,U.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,U.aux_times_per_day=n&&Number(n.times_per_day)>0?Number(n.times_per_day):3,U.aux_usage_days=n&&Number(n.usage_days)>0?Number(n.usage_days):7;const i=Number(e.medication_days);U.medication_days=i>0?i:Number(t.usage_days)>0?Number(t.usage_days):7,Je.value=!0,pt(()=>{var u;return(u=da.value)==null?void 0:u.clearValidate()})}function Hs(){U.times_per_day=3,U.usage_days=7,U.aux_times_per_day=3,U.aux_usage_days=7,U.medication_days=void 0}async function Bs(){var n;const t=da.value;if(!t)return;try{await t.validate()}catch{return}const e=(n=c.value)==null?void 0:n.id;if(e){ua.value=!0;try{const i={id:e,times_per_day:Number(U.times_per_day),usage_days:Number(U.usage_days),medication_days:Number(U.medication_days)};Ne.value&&(i.aux_times_per_day=Number(U.aux_times_per_day),i.aux_usage_days=Number(U.aux_usage_days)),await Jr(i),P.msgSuccess("保存成功"),Je.value=!1,await pa(),await Ce(e),M()}catch{}finally{ua.value=!1}}}function Ws(){const t=w.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}ie.patient_name=String(t.patient_name??"").trim(),ie.phone=String(t.phone??"").trim(),Qe.value=!0,pt(()=>{var n;return(n=oa.value)==null?void 0:n.clearValidate()})}function Ks(){ie.patient_name="",ie.phone=""}function Gs(){var t;fe.id=0,fe.amount=void 0,(t=Nt.value)==null||t.clearValidate()}function Qs(){const t=c.value;if(!Zt(t)){P.msgWarning("当前订单状态不允许修改金额");return}fe.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);fe.amount=Number.isFinite(e)?e:void 0,Ge.value=!0,pt(()=>{var n;return(n=Nt.value)==null?void 0:n.clearValidate()})}async function pa(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const n=await Q({id:t}),i=(n==null?void 0:n.data)??n??null;i&&(c.value=i)}catch{}}async function Js(){var n;const t=oa.value;if(!t)return;try{await t.validate()}catch{return}const e=(n=c.value)==null?void 0:n.id;if(e){ia.value=!0;try{await Xr({id:e,patient_name:ie.patient_name.trim(),phone:ie.phone.trim()}),Qe.value=!1,await pa(),await Ce(e)}catch(i){console.error(i)}finally{ia.value=!1}}}async function rl(){const t=Nt.value;if(!t)return;try{await t.validate()}catch{return}if(!Zt(c.value)){P.msgWarning("当前订单状态不允许修改金额");return}const e=fe.id;sa.value=!0;try{await Yr({id:e,amount:Number(fe.amount)}),P.msgSuccess("修改成功"),Ge.value=!1,await pa(),await Ce(e),M()}catch{}finally{sa.value=!1}}async function ca(t){c.value=null,Ee.value=[],Ds(),We.value="auto",Ke.value="",Ue.value=[],X.value=!0,ea.value=!0;try{const e=await Q({id:t}),n=(e==null?void 0:e.data)??e??null;if(c.value=n,n){We.value=String(n.express_company||"auto")||"auto";const i=String(n.recipient_phone||"").replace(/\D/g,"");Ke.value=i.length>=4?i:"",String(n.tracking_number||"").trim()&&ra(),Ce(t);const u=n.diagnosis_id,g=n.pay_order_ids||[];u&&Ps(u,t,g)}}catch(e){P.msgError((e==null?void 0:e.message)||"加载失败"),X.value=!1}finally{ea.value=!1}}const Pe=b(!1),ma=b(!1),_a=b(!1),I=b(0),oe=b(null),Xs=S(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][I.value]??""),il=S(()=>{const t=oe.value,e=Ya(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const n=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return n.length>120?`${n.slice(0,120)}…`:n}),Ys=["recipient_name","recipient_phone","region","shipping_address"],De=b(),m=_e({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),Zs=S(()=>xi(mt.value,m.service_package)),ol=S(()=>{const t=String(m.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(n=>n.trim()).filter(Boolean):e.split("/").map(n=>n.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Xe=b([]),fa=b(!1),H=b(0);function Ct(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}function Fe(t){const e=String((t==null?void 0:t.create_type)||"");if(e==="wechat_work")return"企业微信对外收款";if(e==="fubei")return"付呗";if(e==="express_cod")return"快递代收";const n=String((t==null?void 0:t.payment_method)||""),i={alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",express_cod:"快递代收",manual:"手动确认到账"};return n&&i[n]?i[n]:"普通订单"}const va=S(()=>{const t=new Set(m.pay_order_ids.map(n=>Number(n)));let e=0;for(const n of Xe.value)t.has(Number(n.id))&&(e+=Number(n.amount)||0);return Math.round(e*100)/100}),en=S(()=>{const t=H.value;return t>0?Math.round(t*100)/100:0});async function tn(t,e){var n,i;if(!t){Xe.value=[];return}try{fa.value=!0;const u=await Aa({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),g=(u==null?void 0:u.lists)??((n=u==null?void 0:u.data)==null?void 0:n.lists)??[];Xe.value=Array.isArray(g)?g:[];const y=Number((u==null?void 0:u.deposit_min_amount)??((i=u==null?void 0:u.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(y)&&y>=0&&(H.value=y)}catch{Xe.value=[]}finally{fa.value=!1}}const an=S(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,n,i)=>{const u=H.value,g=Number(n);if(u>0&&(!Number.isFinite(g)||g0){const e=`已开启关联支付门槛(¥${K(H.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function ln(){var t;I.value=0,oe.value=null,(t=De.value)==null||t.clearValidate()}function sn(){I.value>0&&(I.value-=1)}async function nn(){const t=De.value;if(t)try{I.value===0?await t.validateField([...Ys]):I.value===1&&H.value>0&&await t.validateField(["pay_order_ids"]),I.value<2&&(I.value+=1)}catch{}}async function rn(t){if(!Ba(t)){Ma(t)&&Ha(t)&&!Ia()&&P.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}I.value=0,oe.value=null,Pe.value=!0,ma.value=!0;try{const e=await Q({id:t.id}),n=(e==null?void 0:e.data)??e;if(!n){P.msgError("加载数据结构异常"),Pe.value=!1;return}const i=n.prescription;i&&typeof i=="object"?oe.value=i:Number(n.prescription_id)>0?oe.value={id:Number(n.prescription_id),sn:"",patient_name:String(n.recipient_name||""),herbs:[]}:oe.value=null,m.id=n.id,m.prescription_id=Number(n.prescription_id)||0,m.diagnosis_id=Number(n.diagnosis_id)||0,m.assistant_id=Number(n.assistant_id)||0,m.diagnosis_creator_id=Number(n.diagnosis_creator_id)||0,m.diagnosis_creator_name=n.diagnosis_creator_name!=null&&n.diagnosis_creator_name!==""?String(n.diagnosis_creator_name):"",m.diagnosis_creator_dept_path=n.diagnosis_creator_dept_path!=null&&n.diagnosis_creator_dept_path!==""?String(n.diagnosis_creator_dept_path):"",m.recipient_name=n.recipient_name||"",m.recipient_phone=n.recipient_phone||"";const u=n.shipping_province||"",g=n.shipping_city||"",y=n.shipping_district||"";u||g||y?m.region=[u,g,y].filter($=>$!==""):m.region=[],m.shipping_address=n.shipping_address||"",m.is_follow_up=n.is_follow_up?1:0,m.medication_days=n.medication_days>0?n.medication_days:void 0,m.dose_count=n.dose_count>0?n.dose_count:1,m.dose_unit=n.dose_unit||"剂",m.prev_staff=n.prev_staff||"",m.service_channel=n.service_channel||"",m.service_package=ki(n.service_package),m.express_company=String(n.express_company||"auto")||"auto",m.tracking_number=n.tracking_number||"",m.fee_type=Number(n.fee_type)||3,H.value=Number(n.deposit_min_amount)||0;let x=Number(n.amount)||0;const F=Math.round((Number(n.linked_pay_paid_total)||0)*100)/100,se=H.value;if(se>0){const $=Math.round(se*100)/100;xNumber($)).filter($=>!Number.isNaN($)):[],m.internal_cost=n.internal_cost!=null&&n.internal_cost!==""?Number(n.internal_cost):void 0,await tn(m.diagnosis_id,m.id),pt(()=>{var $;($=De.value)==null||$.clearValidate()})}catch(e){P.msgError((e==null?void 0:e.message)||"加载异常"),Pe.value=!1}finally{ma.value=!1}}async function on(){if(!(!De.value||I.value!==2)){await De.value.validate(),_a.value=!0;try{const t={id:m.id,recipient_name:m.recipient_name,recipient_phone:m.recipient_phone,shipping_address:m.shipping_address,is_follow_up:m.is_follow_up,prev_staff:m.prev_staff||"",service_channel:m.service_channel||"",service_package:Array.isArray(m.service_package)?m.service_package.join(","):"",express_company:m.express_company||"auto",tracking_number:m.tracking_number||"",fee_type:m.fee_type,amount:m.amount,remark_extra:m.remark_extra||"",remark_assistant:m.remark_assistant||"",medication_days:m.medication_days!=null&&String(m.medication_days).trim()!==""?m.medication_days:"",dose_unit:m.dose_unit||"剂",dose_count:m.dose_count||1,internal_cost:m.internal_cost!=null&&String(m.internal_cost).trim()!==""?m.internal_cost:""};m.region&&m.region.length>0?(t.shipping_province=m.region[0]||"",t.shipping_city=m.region[1]||"",t.shipping_district=m.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[...m.pay_order_ids],await Zr(t),P.msgSuccess("保存成功"),Pe.value=!1,M()}catch{}finally{_a.value=!1}}}const Ye=b(!1),ya=b("prescription"),Pt=b(0),Ze=b(null),$e=b(""),At=b(!1),un=S(()=>ya.value==="prescription"?"处方业务审核":"关联支付单审核");function ul(t,e){ya.value=e,Pt.value=t.id,Ze.value=t,$e.value="",Ye.value=!0}async function dl(t){if(t==="reject"&&!$e.value.trim()){P.msgError("驳回或阻止时必须填写明确的审核意见");return}At.value=!0;try{const e={id:Pt.value,action:t,remark:$e.value.trim()};if(ya.value==="prescription"?await ei(e):await ti(e),P.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Ye.value=!1,M(),X.value&&Pt.value)try{const n=await Q({id:Pt.value}),i=(n==null?void 0:n.data)??n??null;i&&(c.value=i)}catch{}}catch{}finally{At.value=!1}}async function dn(t){try{await Mt.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await ai({id:t.id}),P.msgSuccess("撤回成功"),M()}catch{}}const pl=b(0),Ot=b(!1),ze=b(!1),z=b(null);function cl(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,n=Number(t.proces_cost)||0,i=Number(t.lis_cost)||0;return(e+n+i).toFixed(2)}function pn(t,e){const n=parseFloat(cl(t))||0,i=Number(e)||0;return i<=0?"—":(n/i*100).toFixed(2)}function cn(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((n,i)=>n+(Number(i.quantity)||0),0).toFixed(0)}async function mn(){if(!m.id){P.msgError("请先保存订单");return}ze.value=!0;try{const t=await Rl({id:m.id,dose_count:m.dose_count||1,medication_days:m.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(z.value=e,Ot.value=!0,P.msgSuccess("预下单测试成功"))}catch{}finally{ze.value=!1}}async function _n(){var t;if(!((t=c.value)!=null&&t.id)){P.msgError("订单数据不存在");return}ze.value=!0;try{const e=await Rl({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),n=(e==null?void 0:e.data)??e;n&&n.success&&(z.value=n,Ot.value=!0)}catch{}finally{ze.value=!1}}async function fn(t){var e;try{const n=String(t.ship_mode||"gancao")==="direct"?"洛阳药房":"甘草药房";await Mt.confirm(`确认将本单关联处方上传至${n}?`,"上传药房",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),pl.value=t.id;const i=await li({id:t.id}),u=(i==null?void 0:i.data)??i,g=String((u==null?void 0:u.pharmacy_order_no)||(u==null?void 0:u.recipel_order_no)||"").trim();if(P.msgSuccess(g?`上传成功,药房单号:${g}`:"上传成功"),M(),X.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const y=await Q({id:t.id}),x=(y==null?void 0:y.data)??y??null;x&&(c.value=x)}catch{}}catch{}finally{pl.value=0}}Ai(async()=>{await Jl(),await Xl(),await Gl(),M()});const et=b(!1),Rt=b(!1),tt=b(0),ve=_e({express_company:"auto",tracking_number:""});function vn(t){tt.value=t.id,ve.express_company=String(t.express_company||"auto")||"auto",ve.tracking_number=String(t.tracking_number||""),et.value=!0}async function ml(){var t;if(!ve.tracking_number.trim()){P.msgError("请填写快递单号");return}Rt.value=!0;try{if(await si({id:tt.value,express_company:ve.express_company||"auto",tracking_number:ve.tracking_number.trim()}),P.msgSuccess("快递单号已保存"),et.value=!1,M(),X.value&&((t=c.value)==null?void 0:t.id)===tt.value)try{const e=await Q({id:tt.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n),await Ce(tt.value)}catch{}}catch{}finally{Rt.value=!1}}const at=b(!1),Tt=b(!1),Et=b(0),ae=_e({ship_mode:"gancao",express_company:"auto",tracking_number:""}),yn=S(()=>ae.ship_mode==="direct"?"洛阳药房直发":"甘草药房直发");function _l(t){Et.value=t.id,ae.ship_mode=String(t.ship_mode||"gancao")||"gancao",ae.express_company=String(t.express_company||"auto")||"auto",ae.tracking_number=String(t.tracking_number||""),at.value=!0}async function fl(){var t;if(!ae.tracking_number.trim()){P.msgError("请先填写快递单号再确认发货");return}Tt.value=!0;try{if(await ni({id:Et.value,ship_mode:ae.ship_mode==="direct"?"direct":"gancao",express_company:ae.express_company||"auto",tracking_number:ae.tracking_number.trim()}),P.msgSuccess("确认发货成功,订单已进入「已发货」状态"),at.value=!1,M(),X.value&&((t=c.value)==null?void 0:t.id)===Et.value)try{const e=await Q({id:Et.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n)}catch{}}catch{}finally{Tt.value=!1}}async function gn(){var t;M(),(t=c.value)!=null&&t.id&&await ca(Number(c.value.id))}const bn=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],qe=b(!1),ga=b(0),xe=b(3),lt=b(!1),ye=b([]),ba=b();function xa(t){let e=0;for(const n of t||[]){const i=Number(n==null?void 0:n.status);(i===2||i===5)&&(e+=Number(n==null?void 0:n.amount)||0)}return Math.round(e*100)/100}const ue=_e({reason:"",refund_amount:void 0}),ke=b(0),xn=S(()=>xa(ye.value)),kn=S(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,n)=>{const i=Number(e),u=ke.value;if(!Number.isFinite(i)||i<=0)return n(new Error("退款金额须大于 0"));if(u>0&&i>u+.009)return n(new Error(`不能超过 ¥${K(u)}`));n()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function hn(){var t;ga.value=0,ye.value=[],ue.reason="",ue.refund_amount=void 0,ke.value=0,(t=ba.value)==null||t.clearValidate()}async function wn(t){if(!t){ye.value=[];return}try{const e=await Q({id:t}),n=(e==null?void 0:e.data)??e??null;ye.value=Array.isArray(n==null?void 0:n.linked_pay_orders)?n.linked_pay_orders:[];const i=xa(ye.value),u=Number(n==null?void 0:n.paid)||0;ke.value=i>0?i:u,ue.refund_amount=ke.value}catch{ye.value=[],ke.value=0}}async function Vn(){var e,n,i;const t=ga.value;if(t){if(xe.value===10){if(!await((e=ba.value)==null?void 0:e.validate().catch(()=>!1)))return;lt.value=!0;try{if(await Tl({id:t,reason:ue.reason.trim(),refund_amount:Number(ue.refund_amount)}),P.msgSuccess("退款成功"),qe.value=!1,M(),X.value&&((n=c.value)==null?void 0:n.id)===t)try{const g=await Q({id:t}),y=(g==null?void 0:g.data)??g??null;y&&(c.value=y),await Ce(t)}catch{}}catch{}finally{lt.value=!1}return}lt.value=!0;try{if(await ri({id:t,fulfillment_status:xe.value}),P.msgSuccess("订单状态已更新"),qe.value=!1,M(),X.value&&((i=c.value)==null?void 0:i.id)===t)try{const u=await Q({id:t}),g=(u==null?void 0:u.data)??u??null;g&&(c.value=g)}catch{}}catch{}finally{lt.value=!1}}}const st=b(!1),ka=b(0),ha=b(!1),wa=b(),de=b(0),le=_e({reason:"",refund_amount:void 0}),Sn=S(()=>{const t=K(de.value),e=K(le.refund_amount);return Number(le.refund_amount)>=de.value-.009?`全额退款 ¥${t}:关联收款标记已退款,已付清零。`:`部分退款 ¥${e}(上限 ¥${t})`}),Nn=S(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,n)=>{const i=Number(e),u=de.value;if(!Number.isFinite(i)||i<=0)return n(new Error("退款金额须大于 0"));if(u>0&&i>u+.009)return n(new Error(`不能超过 ¥${K(u)}`));n()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function Cn(){var t;ka.value=0,le.reason="",le.refund_amount=void 0,de.value=0,(t=wa.value)==null||t.clearValidate()}async function vl(t){ka.value=t.id,le.reason="",de.value=0,st.value=!0;try{const e=await Q({id:t.id}),n=(e==null?void 0:e.data)??e??null,i=Array.isArray(n==null?void 0:n.linked_pay_orders)?n.linked_pay_orders:[],u=xa(i),g=Number(n==null?void 0:n.paid)||0;de.value=u>0?u:g,le.refund_amount=de.value}catch{de.value=0}}async function Pn(){var n,i;const t=ka.value;if(!(!t||!await((n=wa.value)==null?void 0:n.validate().catch(()=>!1)))){ha.value=!0;try{if(await Tl({id:t,reason:le.reason.trim(),refund_amount:Number(le.refund_amount)}),P.msgSuccess("退款成功"),st.value=!1,M(),X.value&&((i=c.value)==null?void 0:i.id)===t)try{const u=await Q({id:t}),g=(u==null?void 0:u.data)??u??null;g&&(c.value=g),await Ce(t)}catch{}}catch{}finally{ha.value=!1}}}const nt=b(!1),Ut=b(!1),je=b(0),Dt=b(),Va=b(!1),Ft=b([]),An=S(()=>C.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":C.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),C=_e({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),On=S(()=>{const t={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}]};return C.add_mode==="create"||C.add_mode==="create_express"?(t.order_type=[{required:!0,message:"请选择费用类别",trigger:"change"}],t.pay_amount=[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(e,n,i)=>{const u=Number(n);!Number.isFinite(u)||u<=0?i(new Error("金额须大于 0")):i()},trigger:"blur"}]):C.add_mode==="link"&&(t.link_pay_order_ids=[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(e,n,i)=>{!Array.isArray(n)||n.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function Rn(t,e=[]){var n;if(!t){Ft.value=[];return}try{Va.value=!0;const i=await Aa({diagnosis_id:t}),u=(i==null?void 0:i.lists)??((n=i==null?void 0:i.data)==null?void 0:n.lists)??[],g=Array.isArray(u)?u.filter(y=>!e.includes(y.id)):[];Ft.value=g}catch{Ft.value=[]}finally{Va.value=!1}}function yl(t){var i,u;je.value=t.id,C.add_mode="create",C.order_type=3,C.pay_amount=void 0,C.pay_remark="",C.link_pay_order_ids=[],C.completion_request=0,nt.value=!0;const e=t.diagnosis_id||((i=c.value)==null?void 0:i.diagnosis_id),n=t.pay_order_ids||((u=c.value)==null?void 0:u.pay_order_ids)||[];e&&Rn(e,n)}async function Tn(){var t;if(Dt.value){await Dt.value.validate(),Ut.value=!0;try{if(C.add_mode==="completion_only")await ii({id:je.value}),P.msgSuccess("完单申请已提交,请等待支付审核");else if(C.add_mode==="create"||C.add_mode==="create_express")await oi({id:je.value,order_type:C.order_type,pay_amount:C.pay_amount,pay_remark:C.pay_remark||"",completion_request:C.completion_request,pay_create_type:C.add_mode==="create_express"?"express_cod":"fubei"}),P.msgSuccess("支付单已新增,请等待审核");else{const e=C.link_pay_order_ids;if(e.length===0){P.msgError("请至少选择一个支付单");return}await ui({id:je.value,pay_order_ids:e,completion_request:C.completion_request}),P.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(nt.value=!1,M(),X.value&&((t=c.value)==null?void 0:t.id)===je.value)try{const e=await Q({id:je.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n)}catch{}}catch{}finally{Ut.value=!1}}}function gl(t){ga.value=t.id,xe.value=3,ue.reason="",ye.value=[],qe.value=!0,wn(t.id)}async function En(t){var e;try{if(await Mt.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await di({id:t.id}),P.msgSuccess("处方审核已撤回"),M(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const n=await Q({id:t.id}),i=(n==null?void 0:n.data)??n??null;i&&(c.value=i)}catch{}}catch{}}async function Un(t){var e;try{if(await Mt.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await pi({id:t.id}),P.msgSuccess("支付单审核已撤回"),M(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const n=await Q({id:t.id}),i=(n==null?void 0:n.data)??n??null;i&&(c.value=i)}catch{}}catch{}}const Dn="成都双流甄养堂互联网医院 处方笺",$t=b(!1),zt=b(!1),A=b(null),qt=b("internal"),bl=b(null),Le=b(!1);function xl(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function Fn(t){return t?xl(t):"—"}function $n(){kl(m)}async function kl(t){if(!t.prescription_id){P.msgWarning("该订单未关联处方");return}$t.value=!0,zt.value=!0,A.value=null,qt.value="internal";try{const e=await ci({id:t.prescription_id}),n=(e==null?void 0:e.data)??e??null;if(n){const i=t.medication_days,u={...n};i!=null&&String(i).trim()!==""&&(u.medication_days=i),t.order_no&&!u.order_no&&(u.order_no=t.order_no),t.recipient_name&&!u.recipient_name&&(u.recipient_name=t.recipient_name),t.recipient_phone&&!u.recipient_phone&&(u.recipient_phone=t.recipient_phone),t.shipping_address&&!u.shipping_address&&(u.shipping_address=t.shipping_address),t.amount!=null&&u.order_amount==null&&(u.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(u.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(u.dose_unit=String(t.dose_unit));const g=t.linked_appointment;(!u.appointment_id||Number(u.appointment_id)<=0)&&g&&typeof g=="object"&&Number(g.id)>0&&(u.appointment_id=Number(g.id)),A.value=u}else A.value=null}catch(e){P.msgError((e==null?void 0:e.message)||"加载处方详情失败"),$t.value=!1}finally{zt.value=!1}}async function zn(t){const e=t.querySelectorAll('img[src^="http"]'),n=Array.from(e).map(async i=>{try{const u=await fetch(i.src,{mode:"cors"});if(!u.ok)return;const g=await u.blob(),y=await new Promise((x,F)=>{const se=new FileReader;se.onload=()=>x(se.result),se.onerror=F,se.readAsDataURL(g)});i.src=y}catch{}});await Promise.allSettled(n)}async function hl(){var e;await pt();const t=((e=bl.value)==null?void 0:e.paperEl)??null;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await zn(t),await new Promise(n=>requestAnimationFrame(()=>n(null))),await new Promise(n=>setTimeout(n,250)),wi(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:n=>n instanceof HTMLElement&&n.classList.contains("cf-slip-no-export"),onclone:(n,i)=>{i instanceof HTMLElement&&(i.querySelectorAll(".rx-notice, .rx-notice-text, .rx-notice-meta").forEach(u=>{u.style.lineHeight="1.95",u.style.overflow="visible"}),i.querySelectorAll(".rx-notice").forEach(u=>{u.style.padding="10px 12px"}),i.querySelectorAll(".rx-info-cell, .rx-info-cell .rx-key, .rx-info-cell .rx-val").forEach(u=>{u.style.lineHeight="1.95",u.style.overflow="visible"}),i.querySelectorAll(".rx-info-cell").forEach(u=>{u.style.padding="10px 12px"}),i.querySelectorAll(".rx-herb-cell").forEach(u=>{u.style.lineHeight="2.5"}),i.querySelectorAll(".rx-herbs").forEach(u=>{u.style.rowGap="12px"}),i.querySelectorAll(".rx-text").forEach(u=>{u.style.lineHeight="2.1"}),i.querySelectorAll(".rx-bot-meta-val, .rx-hospital-line, .rx-bot-cell").forEach(u=>{u.style.overflow="visible",u.style.lineHeight="1.85"}),i.querySelectorAll(".rx-hospital-row").forEach(u=>{u.style.paddingTop="12px",u.style.paddingBottom="14px"}))}})}function wl(){var n;const t=(n=A.value)==null?void 0:n.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function qn(){if(A.value){Le.value=!0;try{const t=await hl(),e=document.createElement("a");e.download=`${wl()}.png`,e.href=t.toDataURL("image/png"),e.click(),P.msgSuccess("图片已下载")}catch{P.msgError("下载图片失败")}finally{Le.value=!1}}}async function jn(){if(A.value){Le.value=!0;try{const t=await hl(),e=t.toDataURL("image/jpeg",.95),n=new Kn({orientation:"portrait",unit:"mm",format:"a4"}),i=210,u=297,g=i,y=t.height*g/t.width;if(y<=u)n.addImage(e,"JPEG",0,0,g,y);else{let x=y,F=0;for(;x>0;)n.addImage(e,"JPEG",0,F,g,y),x-=u,F-=u,x>0&&n.addPage()}n.save(`${wl()}.pdf`),P.msgSuccess("PDF已下载")}catch{P.msgError("下载PDF失败")}finally{Le.value=!1}}}return(t,e)=>{const n=Gn,i=Qn,u=Xn,g=er,y=Zn,x=ar,F=tr,se=lr,h=sr,$=Yn,ge=nr,he=or,jt=ir,Vl=rr,Sa=Ur,rt=ur,ee=dr,pe=cr,Ie=pr,V=_r,it=mr,D=vr,Lt=fr,Na=yr,Sl=br,Nl=gr,Ca=xr,ne=kr,me=hr,Cl=wr,B=Sr,Ln=Nr,It=Vr,In=Pr,Mn=Cr,Hn=Ar,Me=Rr,Pl=Or,Al=Er,Bn=Tr,Ae=Jn,q=Oi("perms");return o(),_("div",Ti,[e[262]||(e[262]=r("header",{class:"po-h5-hero","aria-label":"页面概览"},[r("div",{class:"po-h5-hero__text"},[r("h1",{class:"po-h5-hero__title"},"业务订单"),r("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),a(n,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:l(()=>[r("div",Ei,[Ve.value?(o(),_("div",Ui,[e[99]||(e[99]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(o(),_(T,null,W(ss,s=>r("div",{key:s.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.prescription_audit_status===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>rs(s.value)},[r("span",Fi,d(s.label),1)],10,Di)),64))])):f("",!0),r("div",$i,[e[100]||(e[100]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(o(),_(T,null,W(ns,s=>r("div",{key:s.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.payment_slip_audit_status===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>is(s.value)},[r("span",qi,d(s.label),1)],10,zi)),64))]),r("div",ji,[e[101]||(e[101]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(o(),_(T,null,W(Yl,s=>r("div",{key:"fs-"+String(s.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.fulfillment_status===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>Zl(s.value)},[r("span",Ii,d(s.label),1)],10,Li)),64))]),r("div",Mi,[e[102]||(e[102]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(o(),_(T,null,W(es,s=>r("div",{key:"sm-"+String(s.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.supply_mode===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>ts(s.value)},[r("span",Bi,d(s.label),1)],10,Hi)),64))]),r("div",Wi,[e[103]||(e[103]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(o(),_(T,null,W(as,s=>r("div",{key:"ec-"+String(s.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.express_company===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>ls(s.value)},[r("span",Gi,d(s.label),1)],10,Ki)),64))])])]),_:1}),a(n,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:l(()=>[O((o(),_("div",Qi,[r("div",Ji,[e[104]||(e[104]=r("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",Xi,[r("div",null,[r("div",Yi,[a(i,{size:16,class:"text-sky-500"},{default:l(()=>[a(E(Dr))]),_:1}),p(" "+d(ce.value.orderHeading),1)]),r("div",Zi,[r("div",eo," ¥"+d(ce.value.orderPerformanceStr),1),r("div",to,[r("span",null,"合计 ¥"+d(ce.value.orderStr),1),r("span",ao,"已取消 ¥"+d(ce.value.orderCancelledStr),1)])])]),r("div",lo,[a(i,{size:20},{default:l(()=>[a(E(Fr))]),_:1})])]),r("p",so,d(ce.value.periodLine),1)]),r("div",no,[e[105]||(e[105]=r("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",ro,[r("div",null,[r("div",io,[a(i,{size:16,class:"text-emerald-500"},{default:l(()=>[a(E($r))]),_:1}),p(" "+d(ce.value.payHeading),1)]),r("div",oo,[r("div",uo," ¥"+d(ce.value.payPerformanceStr),1),r("div",po,[r("span",null,"合计 ¥"+d(ce.value.payStr),1),r("span",co,"已取消 ¥"+d(ce.value.payCancelledStr),1)])])]),r("div",mo,[a(i,{size:20},{default:l(()=>[a(E(zr))]),_:1})])]),r("p",_o,d(ce.value.periodLine),1)])])),[[Ae,E(te).loading]]),e[109]||(e[109]=r("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),r("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),r("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),r("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=s=>bt.value=!bt.value)},[r("div",fo,[a(i,null,{default:l(()=>[a(E(Pa))]),_:1}),e[106]||(e[106]=r("span",null,"筛选条件",-1)),Ja.value>0?(o(),v(u,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:l(()=>[p(d(Ja.value),1)]),_:1})):f("",!0)]),a(i,{class:j(["po-filter-toggle__arrow",{"is-open":!bt.value}])},{default:l(()=>[a(E(Ol))]),_:1},8,["class"])]),O(a($,{class:"ls-form stats-filter-form",model:k,inline:""},{default:l(()=>[a(Mr,{"time-type":E(Re),"onUpdate:timeType":e[1]||(e[1]=s=>Ra(Re)?Re.value=s:null),"date-range":E(Kt),"onUpdate:dateRange":e[2]||(e[2]=s=>Ra(Kt)?Kt.value=s:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"260px",onTimeTypeChange:cs,onCustomChange:ms},null,8,["time-type","date-range"]),a(y,{class:"w-[260px]",label:"订单号"},{default:l(()=>[a(g,{modelValue:k.order_no,"onUpdate:modelValue":e[3]||(e[3]=s=>k.order_no=s),placeholder:"业务订单号",clearable:"",onKeyup:dt(E(J),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(y,{class:"w-[140px]",label:"处方ID"},{default:l(()=>[a(g,{modelValue:k.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=s=>k.prescription_id=s),placeholder:"处方ID",clearable:"",onKeyup:dt(E(J),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(y,{class:"w-[220px]",label:"患者"},{default:l(()=>[a(g,{modelValue:k.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=s=>k.patient_keyword=s),placeholder:"姓名 / 手机号",clearable:"",onKeyup:dt(E(J),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(y,{class:"w-[220px]",label:"快递"},{default:l(()=>[a(g,{modelValue:k.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=s=>k.express_keyword=s),placeholder:"快递单号 / 公司",clearable:"",onKeyup:dt(E(J),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),Ml.value?(o(),v(y,{key:0,class:"w-[200px]",label:"下单人"},{default:l(()=>[a(F,{modelValue:k.audit_admin_id,"onUpdate:modelValue":e[7]||(e[7]=s=>k.audit_admin_id=s),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:l(()=>[(o(!0),_(T,null,W(Ua.value,s=>(o(),v(x,{key:s.id,label:s.name,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):f("",!0),a(y,{class:"w-[200px]",label:"医生"},{default:l(()=>[a(F,{modelValue:k.doctor_id,"onUpdate:modelValue":e[8]||(e[8]=s=>k.doctor_id=s),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:l(()=>[(o(!0),_(T,null,W(Wt.value,s=>(o(),v(x,{key:s.id,label:s.name,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(y,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:l(()=>[a(se,{modelValue:k.assistant_dept_id,"onUpdate:modelValue":e[9]||(e[9]=s=>k.assistant_dept_id=s),data:_t.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Wl,placeholder:"医助部门(选父级含子级)",onChange:vs},null,8,["modelValue","data"])]),_:1}),a(y,{class:"w-[200px]",label:"医助"},{default:l(()=>[a(F,{modelValue:k.assistant_id,"onUpdate:modelValue":e[10]||(e[10]=s=>k.assistant_id=s),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:l(()=>[(o(!0),_(T,null,W(qa.value,s=>(o(),v(x,{key:s.id,label:s.name,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(y,null,{default:l(()=>[a(h,{type:"primary",onClick:E(J)},{default:l(()=>[...e[107]||(e[107]=[p("查询",-1)])]),_:1},8,["onClick"]),a(h,{onClick:ys},{default:l(()=>[...e[108]||(e[108]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[Ht,!bt.value]])]),_:1}),O((o(),v(n,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:l(()=>[r("div",vo,[r("div",yo,[r("div",go,[e[110]||(e[110]=r("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),r("span",bo,"共 "+d(E(te).count)+" 条",1)]),r("div",xo,[r("div",{class:j(["po-focus-board__item is-pending-rx",{"is-active":re.value==="pendingRx"}]),onClick:e[11]||(e[11]=s=>ft("pendingRx"))},[e[111]||(e[111]=r("span",{class:"po-focus-board__label"},"待处方审核",-1)),r("strong",ko,d(vt.value.pendingRx),1)],2),r("div",{class:j(["po-focus-board__item is-pending-pay",{"is-active":re.value==="pendingPay"}]),onClick:e[12]||(e[12]=s=>ft("pendingPay"))},[e[112]||(e[112]=r("span",{class:"po-focus-board__label"},"待支付审核",-1)),r("strong",ho,d(vt.value.pendingPay),1)],2),r("div",{class:j(["po-focus-board__item is-pending-ship",{"is-active":re.value==="pendingShip"}]),onClick:e[13]||(e[13]=s=>ft("pendingShip"))},[e[113]||(e[113]=r("span",{class:"po-focus-board__label"},"待发货",-1)),r("strong",wo,d(vt.value.pendingShip),1)],2),r("div",{class:j(["po-focus-board__item is-risk",{"is-active":re.value==="risk"}]),onClick:e[14]||(e[14]=s=>ft("risk"))},[e[114]||(e[114]=r("span",{class:"po-focus-board__label"},"重点异常",-1)),r("strong",Vo,d(vt.value.risk),1)],2)])])]),r("div",So,[!E(te).lists.length&&!E(te).loading?(o(),v(ge,{key:0,description:"暂无订单","image-size":88})):f("",!0),(o(!0),_(T,null,W(E(te).lists,s=>(o(),_("div",{key:s.id,class:j(["po-card",{"po-card--focus":yt&&yt({row:s})==="po-row-focus","po-card--risk":yt&&yt({row:s})==="po-row-risk"}]),onClick:R=>ca(s.id)},[r("div",Co,[r("div",Po,[r("span",Ao,d(s.order_no||"—"),1)]),r("div",Oo,[a(u,{size:"small",effect:"plain",type:E(_i)(s)},{default:l(()=>[p(d(E(fi)(s)),1)]),_:2},1032,["type"]),r("span",Ro,"#"+d(s.id),1)])]),Vt(s.recipient_phone,s.prescription_phone)?(o(),_("div",To,[a(i,null,{default:l(()=>[a(E(qr))]),_:1}),e[115]||(e[115]=r("span",null,"收货手机与处方手机不一致",-1))])):f("",!0),r("div",Eo,[r("div",Uo,[e[116]||(e[116]=r("span",{class:"po-card__label"},"收货人",-1)),r("span",Do,d(s.recipient_name||"—"),1)]),r("div",Fo,[e[117]||(e[117]=r("span",{class:"po-card__label"},"金额",-1)),r("span",$o,"¥"+d(s.amount),1)])]),r("div",zo,[r("div",qo,[e[118]||(e[118]=r("span",{class:"po-card__label"},"手机",-1)),r("span",{class:j(["po-card__value",Vt(s.recipient_phone,s.prescription_phone)?"text-red-600 font-semibold":""])},d(s.recipient_phone||"—"),3)]),r("div",jo,[e[119]||(e[119]=r("span",{class:"po-card__label"},"费用类别",-1)),r("span",Lo,d(gt(s.fee_type)),1)])]),r("div",Io,[r("div",Mo,[e[120]||(e[120]=r("span",{class:"po-card__label"},"处方ID",-1)),r("span",Ho,d(s.prescription_id||"—"),1)]),r("div",Bo,[e[121]||(e[121]=r("span",{class:"po-card__label"},"诊单ID",-1)),r("span",Wo,d(s.diagnosis_id||"—"),1)])]),Da()&&s.internal_cost!=null&&s.internal_cost!==""?(o(),_("div",Ko,[r("div",Go,[e[122]||(e[122]=r("span",{class:"po-card__label"},"内部成本",-1)),r("span",Qo,"¥"+d(s.internal_cost),1)]),r("div",Jo,[e[123]||(e[123]=r("span",{class:"po-card__label"},"关联支付",-1)),r("span",Xo,[Number(s.linked_pay_order_count)>0?(o(),_("span",Yo,d(s.linked_pay_order_count)+" 笔",1)):(o(),_("span",Zo,"—"))])])])):(o(),_("div",eu,[r("div",tu,[e[124]||(e[124]=r("span",{class:"po-card__label"},"关联支付",-1)),r("span",au,[Number(s.linked_pay_order_count)>0?(o(),_("span",lu,d(s.linked_pay_order_count)+" 笔",1)):(o(),_("span",su,"—"))])]),r("div",nu,[e[125]||(e[125]=r("span",{class:"po-card__label"},"创建时间",-1)),r("span",ru,d(Se(s.create_time)),1)])])),r("div",iu,[a(u,{type:La(s.prescription_audit_status),size:"small",class:j(Gt("rx",s))},{default:l(()=>[p(" 处方审: "+d(ja(s.prescription_audit_status)),1)]),_:2},1032,["type","class"]),a(u,{type:La(s.payment_slip_audit_status),size:"small",class:j(Gt("pay",s))},{default:l(()=>[p(" 支付审: "+d(ja(s.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),a(u,{type:gs(s.fulfillment_status),size:"small",class:j(Gt("fulfillment",s))},{default:l(()=>[p(d(Qt(s.fulfillment_status)),1)]),_:2},1032,["type","class"])]),r("div",ou,[s.doctor_name?(o(),_("span",uu,"医:"+d(s.doctor_name),1)):f("",!0),s.creator_name?(o(),_("span",du,"建:"+d(s.creator_name),1)):f("",!0),Da()&&s.internal_cost!=null&&s.internal_cost!==""?f("",!0):(o(),_("span",pu,d(Se(s.create_time)),1))]),r("div",{class:"po-card__actions",onClick:e[15]||(e[15]=Bt(()=>{},["stop"]))},[O((o(),v(h,{type:"primary",size:"small",onClick:R=>ca(s.id)},{default:l(()=>[p(d(Hl.value),1)]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/detail"]]]),Ba(s)?O((o(),v(h,{key:0,size:"small",onClick:R=>rn(s)},{default:l(()=>[...e[126]||(e[126]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/edit"]]]):f("",!0),Vs(s)?O((o(),v(h,{key:1,type:"success",size:"small",onClick:R=>vn(s)},{default:l(()=>[...e[127]||(e[127]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ddcode"]]]):f("",!0),Ka(s)?O((o(),v(h,{key:2,type:"primary",size:"small",onClick:R=>_l(s)},{default:l(()=>[...e[128]||(e[128]=[p("发货",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ship"]]]):f("",!0),Ss(s)?(o(),v(Vl,{key:3,trigger:"click",onCommand:R=>Ns(R,s)},{dropdown:l(()=>[a(jt,null,{default:l(()=>[Jt(s)?(o(),v(he,{key:0,command:"addPayOrder"},{default:l(()=>[...e[130]||(e[130]=[p("补齐支付单",-1)])]),_:1})):f("",!0),Xt(s)?(o(),v(he,{key:1,command:"complete"},{default:l(()=>[...e[131]||(e[131]=[p("完成订单",-1)])]),_:1})):f("",!0),Yt(s)?(o(),v(he,{key:2,command:"refund"},{default:l(()=>[...e[132]||(e[132]=[r("span",{class:"text-red-500"},"退款",-1)])]),_:1})):f("",!0),Ga(s)?O((o(),v(he,{key:3,command:"uploadPharmacy"},{default:l(()=>[...e[133]||(e[133]=[p("上传药房",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/uploadToPharmacy"]]]):f("",!0),Wa(s)?(o(),v(he,{key:4,command:"withdraw",divided:""},{default:l(()=>[...e[134]||(e[134]=[r("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):f("",!0)]),_:2},1024)]),default:l(()=>[a(h,{size:"small"},{default:l(()=>[e[129]||(e[129]=p(" 更多",-1)),a(i,{class:"el-icon--right"},{default:l(()=>[a(E(Ol))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):f("",!0)])],10,No))),128))]),r("div",cu,[a(Sa,{modelValue:E(te),"onUpdate:modelValue":e[16]||(e[16]=s=>Ra(te)?te.value=s:null),onChange:E(M)},null,8,["modelValue","onChange"])])]),_:1})),[[Ae,E(te).loading]]),a(Ca,{modelValue:X.value,"onUpdate:modelValue":e[28]||(e[28]=s=>X.value=s),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:l(()=>{var s,R;return[r("div",mu,[r("div",_u,[e[135]||(e[135]=r("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(s=c.value)!=null&&s.order_no?(o(),v(u,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:l(()=>[p(d(c.value.order_no),1)]),_:1})):f("",!0),(R=c.value)!=null&&R.gancao_reciperl_order_no?(o(),v(u,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:l(()=>[p("甘草 "+d(c.value.gancao_reciperl_order_no),1)]),_:1})):f("",!0)]),c.value?(o(),_("div",fu,[a(Br,{order:c.value,onResolved:gn},null,8,["order"]),xs(c.value)?O((o(),v(h,{key:0,type:"warning",size:"small",plain:"",onClick:e[17]||(e[17]=N=>ul(c.value,"prescription"))},{default:l(()=>[...e[136]||(e[136]=[p(" 处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):f("",!0),hs(c.value)?O((o(),v(h,{key:1,type:"info",size:"small",plain:"",onClick:e[18]||(e[18]=N=>En(c.value))},{default:l(()=>[...e[137]||(e[137]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):f("",!0),ks(c.value)?O((o(),v(h,{key:2,type:"warning",size:"small",plain:"",onClick:e[19]||(e[19]=N=>ul(c.value,"payment"))},{default:l(()=>[...e[138]||(e[138]=[p(" 支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):f("",!0),ws(c.value)?O((o(),v(h,{key:3,type:"info",size:"small",plain:"",onClick:e[20]||(e[20]=N=>Un(c.value))},{default:l(()=>[...e[139]||(e[139]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):f("",!0),Ka(c.value)?O((o(),v(h,{key:4,type:"primary",size:"small",plain:"",onClick:e[21]||(e[21]=N=>_l(c.value))},{default:l(()=>[...e[140]||(e[140]=[p(" 确认发货 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/ship"]]]):f("",!0),Jt(c.value)?O((o(),v(h,{key:5,type:"success",size:"small",plain:"",onClick:e[22]||(e[22]=N=>yl(c.value))},{default:l(()=>[...e[141]||(e[141]=[p(" 关联支付单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/addPayOrder"]]]):f("",!0),Xt(c.value)?O((o(),v(h,{key:6,type:"primary",size:"small",plain:"",onClick:e[23]||(e[23]=N=>gl(c.value))},{default:l(()=>[...e[142]||(e[142]=[p(" 完成订单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/complete"]]]):f("",!0),Yt(c.value)?O((o(),v(h,{key:7,type:"danger",size:"small",plain:"",onClick:e[24]||(e[24]=N=>vl(c.value))},{default:l(()=>[...e[143]||(e[143]=[p(" 退款 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/refund"]]]):f("",!0)])):f("",!0)])]}),default:l(()=>[ea.value?(o(),v(rt,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(o(),_("div",vu,[Be.value?(o(),v(ee,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:l(()=>[r("div",yu,[r("div",null,[e[144]||(e[144]=p(" 处方手机: ",-1)),r("span",gu,d(As.value),1)]),r("div",null,[e[145]||(e[145]=p(" 订单收货手机: ",-1)),r("span",bu,d(Os.value),1)]),e[146]||(e[146]=r("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):f("",!0),r("div",xu,[a(Ie,{class:"po-workflow-steps",direction:"vertical",active:xt.value,"finish-status":"success"},{default:l(()=>[a(pe,{title:"业务订单创建",description:Se(c.value.create_time)},null,8,["description"]),a(pe,{title:"处方单双审",status:kt.value},{description:l(()=>[kt.value==="error"?(o(),_("span",ku,"处方被驳回")):kt.value==="wait"?(o(),_("span",hu,"等待审核")):kt.value==="success"?(o(),_("span",wu,"双审通过")):(o(),_("span",Vu,"进行中"))]),_:1},8,["status"]),a(pe,{title:"支付单审核",status:ht.value},{description:l(()=>[ht.value==="error"?(o(),_("span",Su,"支付审核驳回")):ht.value==="wait"?(o(),_("span",Nu,"等待审核")):ht.value==="success"?(o(),_("span",Cu,"审核通过")):(o(),_("span",Pu,"进行中"))]),_:1},8,["status"]),a(pe,{title:"发货与履约",status:Te.value},{description:l(()=>{var s,R,N;return[Te.value==="process"&&Number((s=c.value)==null?void 0:s.fulfillment_status)===7?(o(),_("span",Au,"进行中")):Te.value==="process"?(o(),_("span",Ou,"等待发货/补充单号")):Te.value==="wait"?(o(),_("span",Ru,"待转入履约")):Te.value==="success"?(o(),_("span",Tu,d(Qt((R=c.value)==null?void 0:R.fulfillment_status)),1)):Te.value==="error"?(o(),_("span",Eu,d(Qt((N=c.value)==null?void 0:N.fulfillment_status)),1)):f("",!0)]}),_:1},8,["status"]),a(pe,{title:"订单完成"})]),_:1},8,["active"])]),r("div",Uu,[a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[r("div",Du,[e[148]||(e[148]=r("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),Zt(c.value)?O((o(),v(h,{key:0,type:"primary",size:"small",link:"",onClick:Qs},{default:l(()=>[...e[147]||(e[147]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/updateAmount"]]]):f("",!0)]),r("div",Fu,"¥"+d(c.value.amount),1)]),_:1}),a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[149]||(e[149]=r("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),r("div",$u,"¥"+d(c.value.linked_pay_paid_total||0),1)]),_:1}),a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[150]||(e[150]=r("div",{class:"stat-title text-gray-500 text-xs mb-1"},"退款金额",-1)),r("div",{class:j(["stat-value font-bold text-xl",Number(c.value.refund_amount)>0?"text-rose-500":"text-gray-400"])}," ¥"+d(K(c.value.refund_amount||0)),3)]),_:1}),a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[151]||(e[151]=r("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),r("div",{class:j(["stat-value font-bold text-xl",Xa.value>0?"text-amber-600":"text-gray-500"])}," ¥"+d(K(Xa.value)),3)]),_:1}),a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[152]||(e[152]=r("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),r("div",zu,d(ta.value.length)+" 笔",1)]),_:1})]),r("div",qu,[a(n,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:l(()=>[r("div",Iu,[r("div",Mu,[e[155]||(e[155]=r("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),r("span",Hu," ID: "+d(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(o(),_("div",Bu,[e[156]||(e[156]=p(" 开方人:",-1)),r("span",Wu,d(c.value.doctor_name),1)])):f("",!0),r("div",Ku,[c.value.prescription_id&&w.value&&!String(c.value.prescription_detail_error||"").trim()?O((o(),v(h,{key:0,type:"default",size:"small",link:"",onClick:Ws},{default:l(()=>[...e[157]||(e[157]=[p(" 改患者信息 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):f("",!0),c.value.prescription_id&&Ve.value?(o(),v(h,{key:1,type:"primary",size:"small",link:"",onClick:e[25]||(e[25]=s=>kl(c.value))},{default:l(()=>[...e[158]||(e[158]=[p(" 详细 ",-1)])]),_:1})):f("",!0),c.value.id&&Ve.value?(o(),v(h,{key:2,type:"warning",size:"small",link:"",loading:ze.value,icon:E(Pa),onClick:_n},{default:l(()=>[...e[159]||(e[159]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):f("",!0)])])]),default:l(()=>[c.value.prescription_audit_status===1?(o(),_("div",ju,[...e[153]||(e[153]=[r("div",{class:"stamp-inner"},"审核通过",-1)])])):f("",!0),c.value.prescription_audit_status===2?(o(),_("div",Lu,[...e[154]||(e[154]=[r("div",{class:"stamp-inner"},"已驳回",-1)])])):f("",!0),String(c.value.prescription_detail_error||"").trim()?(o(),v(ee,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):w.value?(o(),_(T,{key:3},[a(it,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:l(()=>[a(V,{label:"处方编号",span:2},{default:l(()=>[p(d(w.value.sn||"—"),1)]),_:1}),a(V,{label:"患者"},{default:l(()=>[p(d(w.value.patient_name||"—"),1)]),_:1}),a(V,{label:"性别 / 年龄"},{default:l(()=>[p(d(w.value.gender_desc||"—")+" · "+d(w.value.age??"—")+"岁 ",1)]),_:1}),a(V,{label:"手机"},{default:l(()=>[r("span",{class:j(Be.value?"rx-phone-mismatch text-red-600 font-bold":"")},d(w.value.phone||"—"),3),Be.value?(o(),v(u,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:l(()=>[...e[160]||(e[160]=[p(" 与订单手机不一致 ",-1)])]),_:1})):f("",!0)]),_:1}),a(V,{label:"处方日期"},{default:l(()=>[p(d(w.value.prescription_date||"—"),1)]),_:1}),a(V,{label:"医师"},{default:l(()=>[p(d(w.value.doctor_name||"—"),1)]),_:1}),a(V,{label:"类型"},{default:l(()=>[p(d(w.value.prescription_type||"—"),1)]),_:1}),a(V,{label:"临床诊断",span:2},{default:l(()=>[p(d(w.value.clinical_diagnosis||"—"),1)]),_:1}),Ve.value?(o(),v(V,{key:0,label:"剂数 / 用法",span:2},{default:l(()=>[p(d(c.value.dose_count??w.value.dose_count??"—")+" "+d(c.value.dose_unit||"剂")+" · "+d(w.value.usage_instruction||w.value.usage_method||"—"),1)]),_:1})):f("",!0),a(V,{label:"处方金额"},{default:l(()=>[r("span",Gu,"¥"+d(w.value.amount??"—"),1)]),_:1}),a(V,{label:"消费者审核"},{default:l(()=>[a(u,{type:Us(w.value.audit_status),size:"small"},{default:l(()=>[p(d(Es(w.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),a(V,{label:"用量"},{default:l(()=>[r("div",Qu,[r("div",null,[Ne.value?(o(),_("span",Ju,"主方:")):f("",!0),w.value.dosage_amount?(o(),_(T,{key:1},[p(d(w.value.dosage_amount)+d(w.value.dosage_unit||"g")+" ",1),w.value.prescription_type==="浓缩水丸"?(o(),_(T,{key:0},[p(" · "+d(Number(w.value.dosage_bag_count)>0?Number(w.value.dosage_bag_count):1)+"袋 ",1)],64)):f("",!0),w.value.prescription_type==="饮片"&&w.value.need_decoction!==null?(o(),_("span",Xu," ("+d(w.value.need_decoction?"代煎":"不代煎")+") ",1)):f("",!0)],64)):(o(),_(T,{key:2},[p("—")],64))]),Ne.value&&Z.value?(o(),_("div",Yu,[e[161]||(e[161]=r("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),Z.value.dosage_amount!=null&&Z.value.dosage_amount!==0?(o(),_(T,{key:0},[p(d(Z.value.dosage_amount)+d(w.value.dosage_unit||"g")+" ",1),w.value.prescription_type==="浓缩水丸"?(o(),_(T,{key:0},[p(" · "+d(Number(Z.value.dosage_bag_count)>0?Number(Z.value.dosage_bag_count):1)+"袋 ",1)],64)):f("",!0),w.value.prescription_type==="饮片"?(o(),_("span",Zu," ("+d(Z.value.need_decoction?"代煎":"不代煎")+") ",1)):f("",!0)],64)):(o(),_(T,{key:1},[p("—")],64))])):f("",!0)])]),_:1}),a(V,null,{label:l(()=>[r("div",ed,[e[163]||(e[163]=r("span",null,"服用方式",-1)),c.value.prescription_id&&w.value&&!String(c.value.prescription_detail_error||"").trim()?O((o(),v(h,{key:0,type:"primary",size:"small",link:"",onClick:Ms},{default:l(()=>[...e[162]||(e[162]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionUsage"]]]):f("",!0)])]),default:l(()=>[r("div",td,[Ne.value?(o(),_(T,{key:0},[r("div",null,[e[164]||(e[164]=r("span",{class:"text-gray-500 mr-1"},"主方:",-1)),p(" 每天 "+d(w.value.times_per_day?w.value.times_per_day+" 次":"— 次")+" · 处方开立 "+d(w.value.usage_days!=null&&w.value.usage_days!==""?w.value.usage_days+" 天":"— 天"),1)]),Z.value?(o(),_("div",ad,[e[165]||(e[165]=r("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),p(" 每天 "+d(Z.value.times_per_day?Z.value.times_per_day+" 次":"— 次")+" · 处方开立 "+d(Z.value.usage_days!=null&&Number(Z.value.usage_days)>0?Z.value.usage_days+" 天":"— 天"),1)])):f("",!0)],64)):(o(),_(T,{key:1},[r("div",null,[e[166]||(e[166]=r("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+d(w.value.times_per_day?w.value.times_per_day+" 次":"—"),1)]),r("div",null,[e[167]||(e[167]=r("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+d(w.value.usage_days!=null&&w.value.usage_days!==""?w.value.usage_days+" 天":"—"),1)])],64)),r("div",null,[e[168]||(e[168]=r("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+d(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),Za.value?(o(),v(V,{key:1,label:"忌口",span:2},{default:l(()=>[p(d(Za.value),1)]),_:1})):f("",!0),a(V,{label:"状态",span:2},{default:l(()=>[a(u,{type:Number(w.value.void_status)===1?"danger":"success",size:"small"},{default:l(()=>[p(d(Number(w.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),Rs.value?(o(),_("div",ld,[e[169]||(e[169]=r("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),tl.value.length?(o(),v(Lt,{key:0,data:tl.value,size:"small",border:"",stripe:"","max-height":"260"},{default:l(()=>[a(D,{type:"index",label:"#",width:"48",align:"center"}),a(D,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),a(D,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(o(),v(ge,{key:1,description:"无处方药材明细","image-size":64}))])):f("",!0)],64)):(o(),v(ge,{key:4,description:"无处方数据","image-size":72}))]),_:1}),r("div",sd,[a(n,{shadow:"never",class:"po-panel border-gray-100"},{header:l(()=>[...e[170]||(e[170]=[r("div",{class:"flex items-center justify-between"},[r("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),r("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:l(()=>[Ee.value.length?(o(),v(Lt,{key:0,data:Ee.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:l(()=>[a(D,{prop:"id",label:"ID",width:"70"}),a(D,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),a(D,{label:"类型",width:"90"},{default:l(({row:s})=>[p(d(s.order_type_desc||gt(s.order_type)),1)]),_:1}),a(D,{label:"金额",width:"86",align:"right"},{default:l(({row:s})=>[r("span",nd,"¥"+d(s.amount),1)]),_:1}),a(D,{label:"状态",width:"100",align:"center"},{default:l(({row:s})=>[a(u,{type:ll(s.status),size:"small"},{default:l(()=>[p(d(s.status_desc||Qa(s.status)),1)]),_:2},1032,["type"]),s.is_exempt===1?(o(),v(u,{key:0,type:"warning",size:"small",class:"ml-1"},{default:l(()=>[...e[171]||(e[171]=[p("豁免",-1)])]),_:1})):f("",!0)]),_:1}),a(D,{label:"方式","min-width":"120","show-overflow-tooltip":""},{default:l(({row:s})=>[p(d(Fe(s)),1)]),_:1}),a(D,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),a(D,{label:"创建时间","min-width":"136"},{default:l(({row:s})=>[p(d(sl(s.create_time)),1)]),_:1})]),_:1},8,["data"])):(o(),v(ge,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),a(n,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:l(()=>[r("div",od,[r("div",ud,[e[175]||(e[175]=r("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(o(),_("span",dd,[e[174]||(e[174]=p(" 创建人:",-1)),r("span",pd,d(c.value.creator_name),1)])):f("",!0)])])]),default:l(()=>[c.value.payment_slip_audit_status===1?(o(),_("div",rd,[...e[172]||(e[172]=[r("div",{class:"stamp-inner"},"审核通过",-1)])])):f("",!0),c.value.payment_slip_audit_status===2?(o(),_("div",id,[...e[173]||(e[173]=[r("div",{class:"stamp-inner"},"已驳回",-1)])])):f("",!0),ta.value.length?(o(),v(Lt,{key:2,data:ta.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:l(()=>[a(D,{prop:"id",label:"ID",width:"70"}),a(D,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),a(D,{label:"类型",width:"90"},{default:l(({row:s})=>[p(d(s.order_type_desc||gt(s.order_type)),1)]),_:1}),a(D,{label:"金额",width:"86",align:"right"},{default:l(({row:s})=>[r("span",cd,"¥"+d(s.amount),1)]),_:1}),a(D,{label:"状态",width:"100",align:"center"},{default:l(({row:s})=>[a(u,{type:ll(s.status),size:"small"},{default:l(()=>[p(d(s.status_desc||Qa(s.status)),1)]),_:2},1032,["type"]),s.is_exempt===1?(o(),v(u,{key:0,type:"warning",size:"small",class:"ml-1"},{default:l(()=>[...e[176]||(e[176]=[p("豁免",-1)])]),_:1})):f("",!0)]),_:1}),a(D,{label:"方式","min-width":"120","show-overflow-tooltip":""},{default:l(({row:s})=>[p(d(Fe(s)),1)]),_:1}),a(D,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),a(D,{label:"创建时间","min-width":"136"},{default:l(({row:s})=>[p(d(sl(s.create_time)),1)]),_:1})]),_:1},8,["data"])):(o(),v(ge,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),a(n,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:l(()=>[...e[177]||(e[177]=[r("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:l(()=>[a(it,{column:1,border:"",size:"small",class:"po-desc"},{default:l(()=>[a(V,{label:"诊单ID"},{default:l(()=>[r("div",md,[r("div",_d,[e[178]||(e[178]=r("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),r("span",fd,d(c.value.diagnosis_id||"—"),1),e[179]||(e[179]=r("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(o(),v(h,{key:0,type:"primary",plain:"",round:"",size:"default",class:"po-biz-diagnosis-id__btn w-full shrink-0 touch-manipulation sm:w-auto !m-0",icon:E(jr),"aria-label":"打开关联诊单详情(患者与病历)",onClick:$l},{default:l(()=>[...e[180]||(e[180]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):f("",!0)])]),_:1}),a(V,{label:"创建时间"},{default:l(()=>[p(d(Se(c.value.create_time)),1)]),_:1}),a(V,{label:"收货人"},{default:l(()=>[p(d(c.value.recipient_name),1)]),_:1}),a(V,{label:"挂号关联",span:3},{default:l(()=>[Y.value?(o(),_(T,{key:0},[r("div",vd,[r("span",null,[e[181]||(e[181]=p("预约 ",-1)),r("span",yd,"#"+d(Y.value.id),1)]),r("span",gd,"时间:"+d(Y.value.appointment_date)+" "+d(Y.value.period)+" "+d(Y.value.appointment_time),1),a(u,{size:"small",type:"info"},{default:l(()=>[p(d(Y.value.appointment_type_desc),1)]),_:1}),a(u,{size:"small"},{default:l(()=>[p(d(Y.value.status_desc),1)]),_:1}),Y.value.doctor_name?(o(),_("span",bd,"接诊:"+d(Y.value.doctor_name),1)):f("",!0),Y.value.channel_source?(o(),_("span",xd,"渠道:"+d(Y.value.channel_source),1)):f("",!0),el.value?(o(),v(u,{key:2,size:"small",effect:"plain"},{default:l(()=>[p(d(el.value),1)]),_:1})):f("",!0)]),String(Y.value.remark||"").trim()?(o(),_("p",kd," 备注:"+d(Y.value.remark),1)):f("",!0)],64)):(o(),_("span",hd,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),a(V,{label:"收货手机"},{default:l(()=>[r("span",{class:j(Be.value?"text-red-600 font-bold font-mono":"font-mono")},d(c.value.recipient_phone||"—"),3),Be.value?(o(),v(u,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:l(()=>[...e[182]||(e[182]=[p(" 与处方手机不一致 ",-1)])]),_:1})):f("",!0)]),_:1}),a(V,{label:"收货地址",span:2},{default:l(()=>[p(d(Ts.value),1)]),_:1}),a(V,{label:"复诊"},{default:l(()=>[p(d(c.value.is_follow_up?"是":"否"),1)]),_:1}),a(V,{label:"用药疗程"},{default:l(()=>[p(d(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),a(V,{label:"上次医护"},{default:l(()=>[p(d(c.value.prev_staff||"—"),1)]),_:1}),a(V,{label:"服务渠道"},{default:l(()=>[p(d(c.value.service_channel||"—"),1)]),_:1}),a(V,{label:"服务套餐"},{default:l(()=>[p(d(Cs.value),1)]),_:1}),a(V,{label:"费用类别"},{default:l(()=>[p(d(gt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(o(),v(V,{key:0,label:"内部成本"},{default:l(()=>[p(" ¥"+d(c.value.internal_cost),1)]),_:1})):f("",!0),a(V,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:l(()=>[p(d(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),a(V,{label:"快递公司"},{default:l(()=>[p(d(js(c.value.express_company)),1)]),_:1}),O((o(),v(V,{label:"备注",span:3},{default:l(()=>[p(d(c.value.remark_extra||"—"),1)]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(V,{label:"医助备注",span:3},{default:l(()=>[p(d(c.value.remark_assistant||"—"),1)]),_:1}),a(V,{label:"处方审核意见",span:3},{default:l(()=>[r("span",wd,d(c.value.prescription_audit_remark||"—"),1)]),_:1}),a(V,{label:"支付审核意见",span:3},{default:l(()=>[r("span",Vd,d(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(o(),v(n,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:l(()=>[...e[183]||(e[183]=[r("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:l(()=>{var s,R,N,L,ot,ut;return[e[189]||(e[189]=r("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),r("div",Sd,[a(g,{modelValue:Ke.value,"onUpdate:modelValue":e[26]||(e[26]=be=>Ke.value=be),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"po-logistics-toolbar__phone",onKeyup:dt(ra,["enter"])},null,8,["modelValue"]),a(F,{modelValue:We.value,"onUpdate:modelValue":e[27]||(e[27]=be=>We.value=be),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:l(()=>[a(x,{label:"自动识别",value:"auto"}),a(x,{label:"顺丰速运",value:"sf"}),a(x,{label:"京东快递",value:"jd"}),a(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),O((o(),v(h,{type:"primary",plain:"",size:"default",loading:St.value,class:"po-logistics-toolbar__btn",onClick:ra},{icon:l(()=>[a(i,null,{default:l(()=>[a(E(Lr))]),_:1})]),default:l(()=>[e[184]||(e[184]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[q,["tcm.prescriptionOrder/logisticsTrace"]]]),r("div",Nd,[a(Na,{href:na.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[185]||(e[185]=[p("顺丰官网",-1)])]),_:1},8,["href"]),a(Na,{href:na.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[186]||(e[186]=[p("京东物流",-1)])]),_:1},8,["href"]),a(Na,{href:na.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[187]||(e[187]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((s=G.value)==null?void 0:s.hint)||"").trim()?(o(),v(ee,{key:0,title:String(((R=G.value)==null?void 0:R.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):f("",!0),St.value&&!G.value?(o(),_("div",Cd,[a(i,{class:"is-loading mr-1"},{default:l(()=>[a(E(Ir))]),_:1}),e[188]||(e[188]=p("正在加载物流轨迹... ",-1))])):G.value?(o(),_("div",Pd,[(N=G.value)!=null&&N.state_text?(o(),_("div",Ad,[r("span",Od,"状态:"+d(G.value.state_text),1),(L=G.value)!=null&&L.carrier_label?(o(),v(u,{key:0,size:"small",type:"info"},{default:l(()=>[p(d(G.value.carrier_label),1)]),_:1})):f("",!0),(ot=G.value)!=null&&ot.source?(o(),_("span",Rd," ["+d(G.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):f("",!0),(ut=G.value)!=null&&ut.last_query_time?(o(),_("span",Td," 更新时间:"+d(G.value.last_query_time),1)):f("",!0)])):f("",!0),nl.value.length?(o(),v(Nl,{key:1,class:"mt-2 pl-2"},{default:l(()=>[(o(!0),_(T,null,W(nl.value,(be,Oe)=>(o(),v(Sl,{key:Oe,type:Oe===0?"primary":"info",hollow:Oe!==0,timestamp:be.time,placement:"top"},{default:l(()=>[r("span",{class:j(Oe===0?"text-gray-800 font-medium":"text-gray-500")},d(be.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(o(),v(ge,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):f("",!0)]}),_:1})):f("",!0),O((o(),v(n,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:l(()=>[...e[190]||(e[190]=[r("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:l(()=>[Ue.value.length?(o(),v(Nl,{key:0,class:"mt-2 pl-2"},{default:l(()=>[(o(!0),_(T,null,W(Ue.value,(s,R)=>(o(),v(Sl,{key:s.id,type:R===0?"primary":"info",hollow:R!==0,timestamp:Se(s.create_time),placement:"top"},{default:l(()=>[r("div",Ed,[r("span",Ud,d(s.admin_name),1),a(u,{size:"small",type:"info"},{default:l(()=>[p(d(qs(s.action)),1)]),_:2},1024)]),r("span",{class:j(R===0?"text-gray-800 font-medium":"text-gray-500")},d(s.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(o(),v(ge,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[q,["tcm.prescriptionOrder/logs"]]])])):f("",!0)]),_:1},8,["modelValue"]),a(me,{modelValue:Ge.value,"onUpdate:modelValue":e[31]||(e[31]=s=>Ge.value=s),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:Gs},{footer:l(()=>[a(h,{onClick:e[30]||(e[30]=s=>Ge.value=!1)},{default:l(()=>[...e[192]||(e[192]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:sa.value,onClick:rl},{default:l(()=>[...e[193]||(e[193]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[a($,{ref_key:"updateAmountFormRef",ref:Nt,model:fe,rules:$s,"label-width":"84px",onSubmit:Bt(rl,["prevent"])},{default:l(()=>[a(y,{label:"当前金额"},{default:l(()=>{var s;return[r("div",Dd,"¥"+d(K((s=c.value)==null?void 0:s.amount)),1)]}),_:1}),a(y,{label:"新金额",prop:"amount"},{default:l(()=>[a(ne,{modelValue:fe.amount,"onUpdate:modelValue":e[29]||(e[29]=s=>fe.amount=s),min:0,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[191]||(e[191]=r("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(me,{modelValue:Pe.value,"onUpdate:modelValue":e[52]||(e[52]=s=>Pe.value=s),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:ln},{footer:l(()=>[r("div",fp,[r("div",vp,[r("span",yp,"第 "+d(I.value+1)+" / 3 步",1),I.value===2&&H.value>0?(o(),_("span",gp," 订单金额与关联支付单合计须 ≥ ¥"+d(K(H.value)),1)):f("",!0)]),r("div",bp,[a(h,{size:"large",onClick:e[51]||(e[51]=s=>Pe.value=!1)},{default:l(()=>[...e[206]||(e[206]=[p("取消",-1)])]),_:1}),I.value>0?(o(),v(h,{key:0,size:"large",onClick:sn},{default:l(()=>[...e[207]||(e[207]=[p("上一步",-1)])]),_:1})):f("",!0),I.value<2?(o(),v(h,{key:1,type:"primary",size:"large",onClick:nn},{default:l(()=>[...e[208]||(e[208]=[p(" 下一步 ",-1)])]),_:1})):f("",!0),I.value===2?(o(),v(h,{key:2,type:"primary",size:"large",loading:_a.value,onClick:on},{default:l(()=>[...e[209]||(e[209]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):f("",!0)])])]),default:l(()=>[O((o(),_("div",Fd,[oe.value?(o(),_("div",$d,[r("div",zd,[e[194]||(e[194]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",qd,[r("span",jd,"#"+d(oe.value.id),1),oe.value.sn?(o(),_("span",Ld,d(oe.value.sn),1)):f("",!0),r("span",Id,d(oe.value.patient_name||"—"),1)])]),a(Cl,{content:il.value,placement:"bottom","show-after":300},{default:l(()=>[r("div",Md,d(il.value),1)]),_:1},8,["content"])])):f("",!0),a(Ie,{active:I.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:l(()=>[a(pe,{title:"患者与收货",description:"诊单与物流地址"}),a(pe,{title:"服务与支付单",description:"套餐与关联收款"}),a(pe,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Hd,d(Xs.value),1),a($,{ref_key:"editFormRef",ref:De,model:m,rules:an.value,"label-width":"108px",class:"create-order-form"},{default:l(()=>[O(r("div",Bd,[a(It,{gutter:20},{default:l(()=>[a(B,{span:12},{default:l(()=>[a(y,{label:"收货人",prop:"recipient_name"},{default:l(()=>[a(g,{modelValue:m.recipient_name,"onUpdate:modelValue":e[32]||(e[32]=s=>m.recipient_name=s),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:"收货手机",prop:"recipient_phone"},{default:l(()=>[a(g,{modelValue:m.recipient_phone,"onUpdate:modelValue":e[33]||(e[33]=s=>m.recipient_phone=s),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{span:24},{default:l(()=>[a(y,{label:"省市区",prop:"region"},{default:l(()=>[a(Ln,{modelValue:m.region,"onUpdate:modelValue":e[34]||(e[34]=s=>m.region=s),options:ct.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),a(B,{span:24},{default:l(()=>[a(y,{label:"详细地址",prop:"shipping_address"},{default:l(()=>[a(g,{modelValue:m.shipping_address,"onUpdate:modelValue":e[35]||(e[35]=s=>m.shipping_address=s),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Ht,I.value===0]]),O(r("div",Wd,[Ve.value?(o(),v(It,{key:0,gutter:20,class:"mb-1"},{default:l(()=>[a(B,{span:24},{default:l(()=>[r("div",Kd,[e[197]||(e[197]=r("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),m.prescription_id?(o(),v(h,{key:0,type:"primary",size:"small",link:"",onClick:$n},{default:l(()=>[...e[195]||(e[195]=[p(" 详细 ",-1)])]),_:1})):f("",!0),m.id?(o(),v(h,{key:1,type:"warning",size:"small",link:"",loading:ze.value,icon:E(Pa),onClick:mn},{default:l(()=>[...e[196]||(e[196]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):f("",!0),r("span",Gd,"ID: "+d(m.prescription_id||"—"),1)]),r("div",Qd,[ol.value.length?(o(),_("div",Jd,[e[198]||(e[198]=r("div",{class:"text-gray-500"},"创建人所属部门",-1)),(o(!0),_(T,null,W(ol.value,(s,R)=>(o(),_("div",{key:R,class:"pl-0 min-w-0"},[s.length?(o(),v(Mn,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:l(()=>[(o(!0),_(T,null,W(s,(N,L)=>(o(),v(In,{key:L},{default:l(()=>[r("span",Xd,d(N),1)]),_:2},1024))),128))]),_:2},1024)):f("",!0)]))),128))])):(o(),_("div",Yd,"创建人所属部门:—"))])]),_:1}),a(B,{xs:24,sm:8},{default:l(()=>[a(y,{label:"复诊"},{default:l(()=>[a(Hn,{modelValue:m.is_follow_up,"onUpdate:modelValue":e[36]||(e[36]=s=>m.is_follow_up=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{xs:24,sm:8},{default:l(()=>[a(y,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:l(()=>[r("div",Zd,[a(ne,{modelValue:m.medication_days,"onUpdate:modelValue":e[37]||(e[37]=s=>m.medication_days=s),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[199]||(e[199]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(B,{xs:24,sm:8},{default:l(()=>[a(y,{label:"上次医生"},{default:l(()=>[a(g,{modelValue:m.prev_staff,"onUpdate:modelValue":e[38]||(e[38]=s=>m.prev_staff=s),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:al.value,prop:"dose_count"},{default:l(()=>[a(ne,{modelValue:m.dose_count,"onUpdate:modelValue":e[39]||(e[39]=s=>m.dose_count=s),min:1,placeholder:al.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:"剂量单位",prop:"dose_unit"},{default:l(()=>[a(F,{modelValue:m.dose_unit,"onUpdate:modelValue":e[40]||(e[40]=s=>m.dose_unit=s),placeholder:"请选择",class:"w-full"},{default:l(()=>[a(x,{label:"剂",value:"剂"}),a(x,{label:"丸",value:"丸"}),a(x,{label:"袋",value:"袋"}),a(x,{label:"盒",value:"盒"}),a(x,{label:"瓶",value:"瓶"}),a(x,{label:"膏",value:"膏"}),a(x,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):f("",!0),a(It,{gutter:20},{default:l(()=>[a(B,{span:12},{default:l(()=>[a(y,{label:"服务渠道"},{default:l(()=>[a(g,{modelValue:m.service_channel,"onUpdate:modelValue":e[41]||(e[41]=s=>m.service_channel=s),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:"服务套餐"},{default:l(()=>[a(F,{modelValue:m.service_package,"onUpdate:modelValue":e[42]||(e[42]=s=>m.service_package=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:l(()=>[(o(!0),_(T,null,W(Zs.value,s=>(o(),v(x,{key:s.value,label:s.name,value:s.value,disabled:s.status===0},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(B,{span:24},{default:l(()=>[a(y,{label:"物流设置"},{default:l(()=>[r("div",ep,[a(F,{modelValue:m.express_company,"onUpdate:modelValue":e[43]||(e[43]=s=>m.express_company=s),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:l(()=>[a(x,{label:"自动识别",value:"auto"}),a(x,{label:"顺丰速运",value:"sf"}),a(x,{label:"京东快递",value:"jd"}),a(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),a(g,{modelValue:m.tracking_number,"onUpdate:modelValue":e[44]||(e[44]=s=>m.tracking_number=s),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),a(B,{span:24},{default:l(()=>[a(y,{label:"关联支付单",prop:"pay_order_ids",required:H.value>0},{default:l(()=>[a(F,{modelValue:m.pay_order_ids,"onUpdate:modelValue":e[45]||(e[45]=s=>m.pay_order_ids=s),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:H.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:fa.value},{default:l(()=>[(o(!0),_(T,null,W(Xe.value,s=>(o(),v(x,{key:s.id,label:`${s.order_no} · ¥${s.amount} · ${Ct(s.order_type)} · ${Fe(s)}`,value:s.id,class:"!h-auto py-1.5"},{default:l(()=>[r("div",tp,[r("div",ap,[r("span",lp,d(s.order_no),1),r("span",sp,"¥"+d(s.amount),1)]),r("div",np,[r("span",rp,[p(d(Ct(s.order_type))+" · "+d(Fe(s)),1),s.remark?(o(),_(T,{key:0},[p(" · "+d(s.remark),1)],64)):f("",!0)]),r("span",ip,d(String(s.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",op,[H.value>0?(o(),_(T,{key:0},[r("span",up,"当前已开启关联支付门槛(¥"+d(K(H.value))+"),须至少选择一笔支付单。",1),e[200]||(e[200]=r("span",{class:"mx-1"},null,-1))],64)):f("",!0),e[202]||(e[202]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(Cl,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:l(()=>[...e[201]||(e[201]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[Ht,I.value===1]]),O(r("div",dp,[r("div",{class:j(["create-order-deposit-bar",va.value>=H.value?"is-ok":"is-warn"])},[r("div",pp,[e[203]||(e[203]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+d(K(H.value)),1),r("span",cp,d(H.value>0?"须 ≥ 此值":"未设置"),1)]),e[205]||(e[205]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",mp,[e[204]||(e[204]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+d(K(va.value)),1),r("span",_p,d(va.value>=H.value?"已达标":"未达标"),1)])],2),a(It,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:l(()=>[a(B,{span:12},{default:l(()=>[a(y,{label:"费用类别",prop:"fee_type"},{default:l(()=>[a(F,{modelValue:m.fee_type,"onUpdate:modelValue":e[46]||(e[46]=s=>m.fee_type=s),placeholder:"请选择",class:"w-full"},{default:l(()=>[a(x,{label:"挂号费",value:1}),a(x,{label:"问诊费",value:2}),a(x,{label:"药品费用",value:3}),a(x,{label:"首付费用",value:4}),a(x,{label:"尾款费用",value:5}),a(x,{label:"其他费用",value:6}),a(x,{label:"全部费用",value:7}),a(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:"总金额",prop:"amount"},{default:l(()=>[a(ne,{modelValue:m.amount,"onUpdate:modelValue":e[47]||(e[47]=s=>m.amount=s),min:en.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),O((o(),v(B,{span:12},{default:l(()=>[a(y,{label:"内部成本"},{default:l(()=>[a(ne,{modelValue:m.internal_cost,"onUpdate:modelValue":e[48]||(e[48]=s=>m.internal_cost=s),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[q,["finance.account_log/lists"]]]),a(B,{span:24},{default:l(()=>[O((o(),v(y,{label:"药房备注"},{default:l(()=>[a(g,{modelValue:m.remark_extra,"onUpdate:modelValue":e[49]||(e[49]=s=>m.remark_extra=s),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(y,{label:"医助备注"},{default:l(()=>[a(g,{modelValue:m.remark_assistant,"onUpdate:modelValue":e[50]||(e[50]=s=>m.remark_assistant=s),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Ht,I.value===2]])]),_:1},8,["model","rules"])])),[[Ae,ma.value]])]),_:1},8,["modelValue"]),a(me,{modelValue:Ye.value,"onUpdate:modelValue":e[57]||(e[57]=s=>Ye.value=s),title:un.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[58]||(e[58]=s=>$e.value="")},{footer:l(()=>[a(h,{onClick:e[54]||(e[54]=s=>Ye.value=!1)},{default:l(()=>[...e[211]||(e[211]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:At.value,onClick:e[55]||(e[55]=s=>dl("approve"))},{default:l(()=>[...e[212]||(e[212]=[p("同意通过",-1)])]),_:1},8,["loading"]),a(h,{type:"danger",loading:At.value,onClick:e[56]||(e[56]=s=>dl("reject"))},{default:l(()=>[...e[213]||(e[213]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:l(()=>[Ze.value&&Ze.value.completion_request===1?(o(),v(ee,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:l(()=>[r("div",xp,[e[210]||(e[210]=r("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),r("div",kp," 申请人:"+d(Ze.value.completion_request_by_name||"—"),1),r("div",hp," 申请时间:"+d(Se(Ze.value.completion_request_time)),1)])]),_:1})):f("",!0),e[214]||(e[214]=r("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),a(g,{modelValue:$e.value,"onUpdate:modelValue":e[53]||(e[53]=s=>$e.value=s),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),a(me,{modelValue:et.value,"onUpdate:modelValue":e[62]||(e[62]=s=>et.value=s),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:l(()=>[a(h,{onClick:e[61]||(e[61]=s=>et.value=!1)},{default:l(()=>[...e[216]||(e[216]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Rt.value,onClick:ml},{default:l(()=>[...e[217]||(e[217]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:l(()=>[O((o(),v($,{"label-width":"90px",class:"pr-2",onSubmit:Bt(ml,["prevent"])},{default:l(()=>[a(y,{label:"承运商"},{default:l(()=>[a(F,{modelValue:ve.express_company,"onUpdate:modelValue":e[59]||(e[59]=s=>ve.express_company=s),class:"w-full",placeholder:"选择承运商"},{default:l(()=>[a(x,{label:"自动识别",value:"auto"}),a(x,{label:"顺丰速运",value:"sf"}),a(x,{label:"京东快递",value:"jd"}),a(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),a(y,{label:"快递单号"},{default:l(()=>[a(g,{modelValue:ve.tracking_number,"onUpdate:modelValue":e[60]||(e[60]=s=>ve.tracking_number=s),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[215]||(e[215]=r("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[Ae,Rt.value]])]),_:1},8,["modelValue"]),a(me,{modelValue:at.value,"onUpdate:modelValue":e[66]||(e[66]=s=>at.value=s),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:l(()=>[a(h,{onClick:e[65]||(e[65]=s=>at.value=!1)},{default:l(()=>[...e[219]||(e[219]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Tt.value,onClick:fl},{default:l(()=>[...e[220]||(e[220]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[a(ee,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),O((o(),v($,{"label-width":"90px",class:"pr-2",onSubmit:Bt(fl,["prevent"])},{default:l(()=>[a(y,{label:"发货方式"},{default:l(()=>[a(u,{type:ae.ship_mode==="direct"?"warning":"success",effect:"plain",size:"default"},{default:l(()=>[p(d(yn.value),1)]),_:1},8,["type"]),e[218]||(e[218]=r("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),a(y,{label:"承运商"},{default:l(()=>[a(F,{modelValue:ae.express_company,"onUpdate:modelValue":e[63]||(e[63]=s=>ae.express_company=s),class:"w-full"},{default:l(()=>[a(x,{label:"自动识别",value:"auto"}),a(x,{label:"顺丰速运",value:"sf"}),a(x,{label:"京东快递",value:"jd"}),a(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),a(y,{label:"快递单号"},{default:l(()=>[a(g,{modelValue:ae.tracking_number,"onUpdate:modelValue":e[64]||(e[64]=s=>ae.tracking_number=s),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[Ae,Tt.value]])]),_:1},8,["modelValue"]),a(me,{modelValue:qe.value,"onUpdate:modelValue":e[71]||(e[71]=s=>qe.value=s),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:hn},{footer:l(()=>[a(h,{onClick:e[70]||(e[70]=s=>qe.value=!1)},{default:l(()=>[...e[221]||(e[221]=[p("取消",-1)])]),_:1}),a(h,{type:xe.value===10?"danger":"primary",loading:lt.value,onClick:Vn},{default:l(()=>[p(d(xe.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:l(()=>[e[222]||(e[222]=r("p",{class:"text-sm text-gray-600 mb-3"}," 选择「已完成」按关联收款汇总实付;选择「退款」将关联收款标记已退款并清零已付。 ",-1)),a(F,{modelValue:xe.value,"onUpdate:modelValue":e[67]||(e[67]=s=>xe.value=s),class:"w-full",placeholder:"请选择"},{default:l(()=>[(o(),_(T,null,W(bn,s=>a(x,{key:s.value,label:s.label,value:s.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),xe.value===10?(o(),_(T,{key:0},[a(ee,{type:"warning",closable:!1,"show-icon":"",class:"mt-3",title:"关联收款将标记已退款,本单已付清零,不可撤销。"}),ye.value.length?(o(),_("p",wp," 将退款 "+d(ye.value.length)+" 笔关联收款,合计 ¥"+d(K(xn.value)),1)):f("",!0),a($,{ref_key:"completeRefundFormRef",ref:ba,model:ue,rules:kn.value,"label-width":"80px",class:"mt-2"},{default:l(()=>[a(y,{label:"退款金额",prop:"refund_amount"},{default:l(()=>[a(ne,{modelValue:ue.refund_amount,"onUpdate:modelValue":e[68]||(e[68]=s=>ue.refund_amount=s),min:.01,max:ke.value>0?ke.value:void 0,step:.01,precision:2,class:"w-full"},null,8,["modelValue","max"]),r("div",Vp,"可退上限 ¥"+d(K(ke.value)),1)]),_:1}),a(y,{label:"退款原因",prop:"reason"},{default:l(()=>[a(g,{modelValue:ue.reason,"onUpdate:modelValue":e[69]||(e[69]=s=>ue.reason=s),type:"textarea",rows:3,maxlength:"500",placeholder:"必填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):f("",!0)]),_:1},8,["modelValue"]),a(me,{modelValue:st.value,"onUpdate:modelValue":e[75]||(e[75]=s=>st.value=s),title:"订单退款",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Cn},{footer:l(()=>[a(h,{onClick:e[74]||(e[74]=s=>st.value=!1)},{default:l(()=>[...e[223]||(e[223]=[p("取消",-1)])]),_:1}),a(h,{type:"danger",loading:ha.value,onClick:Pn},{default:l(()=>[...e[224]||(e[224]=[p(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[a(ee,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:Sn.value},null,8,["title"]),a($,{ref_key:"refundOrderFormRef",ref:wa,model:le,rules:Nn.value,"label-width":"88px"},{default:l(()=>[a(y,{label:"退款金额",prop:"refund_amount"},{default:l(()=>[a(ne,{modelValue:le.refund_amount,"onUpdate:modelValue":e[72]||(e[72]=s=>le.refund_amount=s),min:.01,max:de.value>0?de.value:void 0,step:.01,precision:2,class:"w-full"},null,8,["modelValue","max"]),r("div",Sp,"可退上限 ¥"+d(K(de.value)),1)]),_:1}),a(y,{label:"退款原因",prop:"reason"},{default:l(()=>[a(g,{modelValue:le.reason,"onUpdate:modelValue":e[73]||(e[73]=s=>le.reason=s),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),a(me,{modelValue:nt.value,"onUpdate:modelValue":e[83]||(e[83]=s=>nt.value=s),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[84]||(e[84]=s=>{var R;return(R=Dt.value)==null?void 0:R.clearValidate()})},{footer:l(()=>[a(h,{onClick:e[82]||(e[82]=s=>nt.value=!1)},{default:l(()=>[...e[234]||(e[234]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Ut.value,onClick:Tn},{default:l(()=>[...e[235]||(e[235]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:l(()=>[a(ee,{title:An.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),O((o(),v($,{ref_key:"addPayOrderFormRef",ref:Dt,model:C,rules:On.value,"label-width":"90px",class:"pr-2"},{default:l(()=>[a(y,{label:"添加方式",prop:"add_mode"},{default:l(()=>[a(Pl,{modelValue:C.add_mode,"onUpdate:modelValue":e[76]||(e[76]=s=>C.add_mode=s)},{default:l(()=>[a(Me,{value:"create"},{default:l(()=>[...e[225]||(e[225]=[p("付呗",-1)])]),_:1}),a(Me,{value:"create_express"},{default:l(()=>[...e[226]||(e[226]=[p("快递代收",-1)])]),_:1}),a(Me,{value:"link"},{default:l(()=>[...e[227]||(e[227]=[p("关联已有",-1)])]),_:1}),a(Me,{value:"completion_only"},{default:l(()=>[...e[228]||(e[228]=[p("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),C.add_mode==="create"||C.add_mode==="create_express"?(o(),_(T,{key:0},[a(y,{label:"费用类别",prop:"order_type"},{default:l(()=>[a(F,{modelValue:C.order_type,"onUpdate:modelValue":e[77]||(e[77]=s=>C.order_type=s),class:"w-full"},{default:l(()=>[a(x,{label:"挂号费",value:1}),a(x,{label:"问诊费",value:2}),a(x,{label:"药品费用",value:3}),a(x,{label:"首付费用",value:4}),a(x,{label:"尾款费用",value:5}),a(x,{label:"其他费用",value:6}),a(x,{label:"全部费用",value:7}),a(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),a(y,{label:"支付金额",prop:"pay_amount"},{default:l(()=>[a(ne,{modelValue:C.pay_amount,"onUpdate:modelValue":e[78]||(e[78]=s=>C.pay_amount=s),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),a(y,{label:"备注",prop:"pay_remark"},{default:l(()=>[a(g,{modelValue:C.pay_remark,"onUpdate:modelValue":e[79]||(e[79]=s=>C.pay_remark=s),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):C.add_mode==="completion_only"?(o(),v(ee,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:l(()=>[...e[229]||(e[229]=[p(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(o(),v(y,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:l(()=>[a(F,{modelValue:C.link_pay_order_ids,"onUpdate:modelValue":e[80]||(e[80]=s=>C.link_pay_order_ids=s),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:Va.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:l(()=>[(o(!0),_(T,null,W(Ft.value,s=>(o(),v(x,{key:s.id,label:`${s.order_no} · ¥${s.amount} · ${Ct(s.order_type)} · ${Fe(s)}`,value:s.id},{default:l(()=>[r("div",Np,[r("div",Cp,[r("span",Pp,d(s.order_no),1),r("span",Ap,"¥"+d(s.amount),1)]),r("div",Op,d(Ct(s.order_type))+" · "+d(Fe(s)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[230]||(e[230]=r("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),C.add_mode!=="completion_only"?(o(),v(y,{key:3,label:"完单申请"},{default:l(()=>[a(Pl,{modelValue:C.completion_request,"onUpdate:modelValue":e[81]||(e[81]=s=>C.completion_request=s)},{default:l(()=>[a(Me,{value:0},{default:l(()=>[...e[231]||(e[231]=[p("不申请",-1)])]),_:1}),a(Me,{value:1},{default:l(()=>[...e[232]||(e[232]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[233]||(e[233]=r("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})):f("",!0)]),_:1},8,["model","rules"])),[[Ae,Ut.value]])]),_:1},8,["modelValue"]),a(me,{modelValue:Qe.value,"onUpdate:modelValue":e[88]||(e[88]=s=>Qe.value=s),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Ks},{footer:l(()=>[a(h,{onClick:e[87]||(e[87]=s=>Qe.value=!1)},{default:l(()=>[...e[236]||(e[236]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:ia.value,onClick:Js},{default:l(()=>[...e[237]||(e[237]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[a($,{ref_key:"patchRxPatientFormRef",ref:oa,model:ie,rules:Ls,"label-width":"96px"},{default:l(()=>[a(y,{label:"患者姓名",prop:"patient_name"},{default:l(()=>[a(g,{modelValue:ie.patient_name,"onUpdate:modelValue":e[85]||(e[85]=s=>ie.patient_name=s),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),a(y,{label:"手机",prop:"phone"},{default:l(()=>[a(g,{modelValue:ie.phone,"onUpdate:modelValue":e[86]||(e[86]=s=>ie.phone=s),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(me,{modelValue:Je.value,"onUpdate:modelValue":e[95]||(e[95]=s=>Je.value=s),title:"修改服用参数",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Hs},{footer:l(()=>[a(h,{onClick:e[94]||(e[94]=s=>Je.value=!1)},{default:l(()=>[...e[243]||(e[243]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:ua.value,onClick:Bs},{default:l(()=>[...e[244]||(e[244]=[p("保存",-1)])]),_:1},8,["loading"])]),default:l(()=>[a($,{ref_key:"patchUsageFormRef",ref:da,model:U,rules:Is.value,"label-width":"96px"},{default:l(()=>[Ne.value?(o(),_("div",Rp,"主方")):f("",!0),a(y,{label:"每天次数",prop:"times_per_day"},{default:l(()=>[a(ne,{modelValue:U.times_per_day,"onUpdate:modelValue":e[89]||(e[89]=s=>U.times_per_day=s),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),a(y,{label:"处方开立",prop:"usage_days"},{default:l(()=>[r("div",Tp,[a(ne,{modelValue:U.usage_days,"onUpdate:modelValue":e[90]||(e[90]=s=>U.usage_days=s),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[238]||(e[238]=r("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1}),Ne.value?(o(),_(T,{key:1},[e[240]||(e[240]=r("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"辅方",-1)),a(y,{label:"每天次数",prop:"aux_times_per_day"},{default:l(()=>[a(ne,{modelValue:U.aux_times_per_day,"onUpdate:modelValue":e[91]||(e[91]=s=>U.aux_times_per_day=s),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),a(y,{label:"处方开立",prop:"aux_usage_days"},{default:l(()=>[r("div",Ep,[a(ne,{modelValue:U.aux_usage_days,"onUpdate:modelValue":e[92]||(e[92]=s=>U.aux_usage_days=s),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[239]||(e[239]=r("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})],64)):f("",!0),e[242]||(e[242]=r("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"订单设置",-1)),a(y,{label:"服用天数",prop:"medication_days"},{default:l(()=>[r("div",Up,[a(ne,{modelValue:U.medication_days,"onUpdate:modelValue":e[93]||(e[93]=s=>U.medication_days=s),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[241]||(e[241]=r("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),a(Ca,{modelValue:$t.value,"onUpdate:modelValue":e[97]||(e[97]=s=>$t.value=s),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:l(()=>[r("div",Dp,[e[247]||(e[247]=r("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),A.value&&!zt.value?(o(),_("div",Fp,[a(h,{size:"small",loading:Le.value,onClick:qn},{default:l(()=>[...e[245]||(e[245]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),a(h,{size:"small",loading:Le.value,onClick:jn},{default:l(()=>[...e[246]||(e[246]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):f("",!0)])]),default:l(()=>[O((o(),_("div",$p,[A.value?(o(),v(Bn,{key:0,modelValue:qt.value,"onUpdate:modelValue":e[96]||(e[96]=s=>qt.value=s),class:"mx-4 mt-2",style:{"margin-bottom":"0","z-index":"1",position:"relative"}},{default:l(()=>[a(Al,{label:"药房联",name:"internal"}),a(Al,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):f("",!0),A.value?(o(),_("div",zp,[Number(A.value.void_status)===1?(o(),v(u,{key:0,type:"danger",size:"small"},{default:l(()=>[...e[248]||(e[248]=[p("已作废",-1)])]),_:1})):Number(A.value.business_prescription_audit_rejected)===1?(o(),v(u,{key:1,type:"danger",size:"small"},{default:l(()=>[...e[249]||(e[249]=[p("业务订单已驳回",-1)])]),_:1})):Number(A.value.audit_status)===1?(o(),v(u,{key:2,type:"success",size:"small"},{default:l(()=>[...e[250]||(e[250]=[p("已通过",-1)])]),_:1})):Number(A.value.audit_status)===0?(o(),v(u,{key:3,type:"warning",size:"small"},{default:l(()=>[...e[251]||(e[251]=[p("待审核",-1)])]),_:1})):(o(),v(u,{key:4,type:"danger",size:"small"},{default:l(()=>[...e[252]||(e[252]=[p("已驳回",-1)])]),_:1}))])):f("",!0),A.value&&Number(A.value.void_status)===1?(o(),_("div",qp," 作废人:"+d(A.value.void_by_name||"—")+",作废时间:"+d(Fn(A.value.void_time)),1)):A.value&&Number(A.value.business_prescription_audit_rejected)===1?(o(),_("div",jp,[e[253]||(e[253]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),A.value.business_prescription_audit_remark?(o(),_("div",Lp," 驳回意见:"+d(A.value.business_prescription_audit_remark),1)):f("",!0)])):A.value&&Number(A.value.audit_status)===2?(o(),_("div",Ip,[e[254]||(e[254]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),A.value.audit_remark?(o(),_("div",Mp,"驳回意见:"+d(A.value.audit_remark),1)):f("",!0)])):f("",!0),A.value?(o(),v(hi,{key:5,ref_key:"rxSlipRef",ref:bl,data:A.value,variant:qt.value,title:Dn},null,8,["data","variant"])):f("",!0),A.value&&(A.value.audit_by_name||A.value.audit_remark)?(o(),_("div",Hp,[A.value.audit_by_name?(o(),_("div",Bp,[p(" 审核人:"+d(A.value.audit_by_name)+" ",1),A.value.audit_time?(o(),_("span",Wp,d(xl(A.value.audit_time)),1)):f("",!0)])):f("",!0),A.value.audit_remark?(o(),_("div",Kp,"审核意见:"+d(A.value.audit_remark),1)):f("",!0)])):f("",!0)])),[[Ae,zt.value]])]),_:1},8,["modelValue"]),a(Ca,{modelValue:Ot.value,"onUpdate:modelValue":e[98]||(e[98]=s=>Ot.value=s),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:l(()=>{var s,R;return[z.value?(o(),_("div",Gp,[a(n,{shadow:"never",class:"mb-4"},{header:l(()=>[r("div",Qp,[e[256]||(e[256]=r("span",{class:"font-semibold"},"价格信息",-1)),a(u,{type:"success"},{default:l(()=>[...e[255]||(e[255]=[p("预下单成功",-1)])]),_:1})])]),default:l(()=>[a(it,{column:2,border:""},{default:l(()=>[a(V,{label:"药材成本"},{default:l(()=>{var N;return[r("span",Jp,"¥"+d(((N=z.value.fee)==null?void 0:N.m_cost)||"0.00"),1)]}),_:1}),a(V,{label:"制作费"},{default:l(()=>{var N;return[r("span",Xp,"¥"+d((((N=z.value.fee)==null?void 0:N.proces_cost)||0).toFixed(2)),1)]}),_:1}),a(V,{label:"物流费"},{default:l(()=>{var N;return[r("span",Yp,"¥"+d((((N=z.value.fee)==null?void 0:N.lis_cost)||0).toFixed(2)),1)]}),_:1}),a(V,{label:"总计"},{default:l(()=>[r("div",null,[r("span",Zp," ¥"+d(cl(z.value.fee)),1),O((o(),_("div",ec,[e[257]||(e[257]=p(" 占订单总金额: ",-1)),r("span",tc,d(pn(z.value.fee,z.value.amount)),1),z.value.amount>0?(o(),_("span",ac,"%(预报价 ÷ 订单金额 × 100)")):f("",!0)])),[[q,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),a(n,{shadow:"never",class:"mb-4"},{header:l(()=>[...e[258]||(e[258]=[r("span",{class:"font-semibold"},"配送信息",-1)])]),default:l(()=>[a(it,{column:2,border:""},{default:l(()=>[a(V,{label:"调配中心"},{default:l(()=>{var N;return[p(d(((N=z.value.result)==null?void 0:N.ds_name)||"—"),1)]}),_:1}),a(V,{label:"调配中心ID"},{default:l(()=>{var N;return[p(d(((N=z.value.result)==null?void 0:N.ds_id)||"—"),1)]}),_:1}),a(V,{label:"服用天数范围",span:2},{default:l(()=>{var N,L,ot,ut,be,Oe;return[p(d(((L=(N=z.value.result)==null?void 0:N.take_days)==null?void 0:L.min)||"—")+" - "+d(((ut=(ot=z.value.result)==null?void 0:ot.take_days)==null?void 0:ut.max)||"—")+" 天 (默认: "+d(((Oe=(be=z.value.result)==null?void 0:be.take_days)==null?void 0:Oe.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(R=(s=z.value.result)==null?void 0:s.rule_check)!=null&&R.length?(o(),v(n,{key:0,shadow:"never",class:"mb-4"},{header:l(()=>[...e[259]||(e[259]=[r("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:l(()=>[r("div",lc,d(z.value.result.rule_check.map(N=>N.msg).join(" ")),1)]),_:1})):f("",!0),a(n,{shadow:"never"},{header:l(()=>{var N,L;return[r("div",sc,[e[260]||(e[260]=r("span",{class:"font-semibold"},"药材明细",-1)),r("span",nc,"共 "+d(((L=(N=z.value.result)==null?void 0:N.m_list)==null?void 0:L.length)||0)+" 味药",1)])]}),default:l(()=>{var N;return[a(Lt,{data:((N=z.value.result)==null?void 0:N.m_list)||[],border:"",stripe:"","max-height":"400"},{default:l(()=>[a(D,{type:"index",label:"#",width:"50",align:"center"}),a(D,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),a(D,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:l(({row:L})=>[p(d(L.quantity)+d(L.unit),1)]),_:1}),a(D,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:l(({row:L})=>[p(" ¥"+d(Number(L.price).toFixed(4)),1)]),_:1}),a(D,{label:"小计",width:"100",align:"right"},{default:l(({row:L})=>[r("span",rc," ¥"+d((Number(L.price)*Number(L.quantity)).toFixed(2)),1)]),_:1}),a(D,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:l(({row:L})=>[a(u,{type:L.is_available===1?"success":"danger",size:"small"},{default:l(()=>[p(d(L.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),a(D,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),a(n,{shadow:"never",class:"mt-4"},{header:l(()=>[...e[261]||(e[261]=[r("span",{class:"font-semibold"},"订单信息",-1)])]),default:l(()=>[a(it,{column:2,border:""},{default:l(()=>[a(V,{label:"订单号",span:2},{default:l(()=>[p(d(z.value.order_no||"—"),1)]),_:1}),a(V,{label:"剂数"},{default:l(()=>[r("span",ic,d(z.value.dose_count||"—")+"剂",1)]),_:1}),a(V,{label:"单剂量"},{default:l(()=>{var N;return[r("span",oc,d(cn((N=z.value.result)==null?void 0:N.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):f("",!0)]}),_:1},8,["modelValue"]),a(E(Fl),{ref_key:"diagnosisViewRef",ref:Ta},null,512)])}}}),nm=Ni(dc,[["__scopeId","data-v-080a5313"]]);export{nm as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DL6Vxw1r.js","assets/element-plus-DGP1XOrU.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-DQQ51HSS.css","assets/tcm-D-ZRccbe.js","assets/index-J_eFER10.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-8cp9D7Ag.js","assets/DailyMatrix-DtyPece3.js","assets/picker-lbwHqE-a.js","assets/index-BVjWjU3h.js","assets/index-dh40Du6y.css","assets/index-CBjo9bLs.js","assets/index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js","assets/index-sgqCyAwB.js","assets/index-BYMg0OFw.css","assets/index-BIgtwj7l.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-D7g_w1vo.js","assets/index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CqxCRYim.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-UyYqRkBS.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-C1Otf2Df.js","assets/RecordingPlaybackBlock-Llmd2S_t.js","assets/RecordingVideoPlayer-D28GF4NK.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CsDITo98.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CDRHljLe.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DzDHAY3k.js","assets/doctor-BZKBQu9t.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DqVO9iO4.js","assets/patient-L-xV50Pi.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Bq3jWUKy.js","assets/PrescriptionOrderDetailDrawer-C30zC4to.js","assets/prescription-order-utils-CpKeuzsa.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-ns6fHpFi.js","assets/index-D6w2Tfd_.js","assets/medicine-DIQyk1R0.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-qwVd4UhY.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]); +import{_ as Wn,E as Kn}from"./jspdf-BsthCvR5.js";import{K as Gn,d as Qn,M as Jn,U as Xn,D as Yn,B as Zn,C as er,Q as tr,R as ar,Z as lr,i as sr,X as nr,p as rr,n as ir,o as or,a3 as ur,L as dr,a4 as pr,a5 as cr,a6 as mr,a7 as _r,N as fr,O as vr,T as yr,a8 as gr,a9 as br,e as xr,h as kr,W as hr,r as wr,ab as Vr,ac as Sr,ad as Nr,k as Cr,j as Pr,g as Ar,G as Or,J as Rr,m as Tr,l as Er,a as Mt}from"./element-plus-DGP1XOrU.js";import{_ as Ur}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as dt,q as Ht,s as Bt}from"./@vue/runtime-dom-DDAG46FW.js";import{k as Dr,G as Fr,S as $r,X as zr,O as Pa,e as Ol,i as qr,Z as jr,M as Lr,l as Ir}from"./@element-plus/icons-vue-CbYn5zW9.js";import{L as Mr,u as Hr}from"./useListTimeFilter-BquUtCH_.js";import{_ as Br}from"./GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-Cik25qR2.js";import{g as Wr,n as Kr,y as Gr,i as Qr,f as Jr,m as Q,F as Xr,G as Yr,H as Zr,I as ei,J as ti,K as ai,L as Rl,M as li,N as si,O as ni,P as Tl,Q as ri,R as ii,S as oi,T as ui,U as di,V as pi,q as ci,l as Aa,k as mi}from"./tcm-D-ZRccbe.js";import{z as _i,A as fi,n as vi,C as Oa,x as yi,r as gi,v as El,w as bi,D as xi,E as ki}from"./prescription-order-utils-CpKeuzsa.js";import{P as hi}from"./index-qwVd4UhY.js";import wi from"./html2canvas-QH1iLAAe.js";import{u as Vi,k as P,o as Si,_ as Ni}from"./index-J_eFER10.js";import{d as Ci}from"./department-DdhKHNS-.js";import{u as Pi}from"./usePaging-DofycyjW.js";import{f as Dl,w as Ul,b as Ai,as as Oi,ak as o,I as _,J as r,a,aN as l,F as T,ap as W,H as f,aP as O,O as p,G as v,P as Ri,A as S,n as pt}from"./@vue/runtime-core-C6bnekPw.js";import{o as j,Q as d}from"./@vue/shared-mAAVTE9n.js";import{y as E,a as Ra,n as b,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ti={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},Ei={class:"flex flex-col gap-3"},Ui={key:0,class:"flex items-center gap-2 flex-wrap"},Di=["onClick"],Fi={class:"font-medium"},$i={class:"flex items-center gap-2 flex-wrap"},zi=["onClick"],qi={class:"font-medium"},ji={class:"flex items-center gap-2 flex-wrap"},Li=["onClick"],Ii={class:"font-medium"},Mi={class:"flex items-center gap-2 flex-wrap"},Hi=["onClick"],Bi={class:"font-medium"},Wi={class:"flex items-center gap-2 flex-wrap"},Ki=["onClick"],Gi={class:"font-medium"},Qi={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},Ji={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Xi={class:"relative flex items-start justify-between gap-3"},Yi={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Zi={class:"mt-2 space-y-1.5 min-w-0"},eo={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},to={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},ao={class:"text-slate-400"},lo={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},so={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},no={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},ro={class:"relative flex items-start justify-between gap-3"},io={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},oo={class:"mt-2 space-y-1.5 min-w-0"},uo={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},po={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},co={class:"text-slate-400"},mo={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},_o={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},fo={class:"po-filter-toggle__label"},vo={class:"po-h5-list-head"},yo={class:"po-table-toolbar"},go={class:"po-table-toolbar__title-wrap"},bo={class:"po-table-hint text-gray-400"},xo={class:"po-focus-board"},ko={class:"po-focus-board__value"},ho={class:"po-focus-board__value"},wo={class:"po-focus-board__value"},Vo={class:"po-focus-board__value"},So={class:"po-card-list"},No=["onClick"],Co={class:"po-card__head"},Po={class:"po-card__order-no"},Ao={class:"po-card__order-no-main"},Oo={class:"po-card__tags"},Ro={class:"po-card__id"},To={key:0,class:"po-card__alert"},Eo={class:"po-card__row"},Uo={class:"po-card__field"},Do={class:"po-card__value"},Fo={class:"po-card__field po-card__field--right"},$o={class:"po-card__value po-card__amount"},zo={class:"po-card__row"},qo={class:"po-card__field"},jo={class:"po-card__field po-card__field--right"},Lo={class:"po-card__value"},Io={class:"po-card__row"},Mo={class:"po-card__field"},Ho={class:"po-card__value"},Bo={class:"po-card__field po-card__field--right"},Wo={class:"po-card__value"},Ko={key:1,class:"po-card__row"},Go={class:"po-card__field"},Qo={class:"po-card__value text-orange-600 font-semibold"},Jo={class:"po-card__field po-card__field--right"},Xo={class:"po-card__value"},Yo={key:0,class:"text-primary"},Zo={key:1},eu={key:2,class:"po-card__row"},tu={class:"po-card__field"},au={class:"po-card__value"},lu={key:0,class:"text-primary"},su={key:1},nu={class:"po-card__field po-card__field--right"},ru={class:"po-card__value po-card__time"},iu={class:"po-card__tags-row"},ou={class:"po-card__meta"},uu={key:0},du={key:1},pu={key:2,class:"po-card__meta-time"},cu={class:"flex justify-end mt-4"},mu={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},_u={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},fu={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},vu={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},yu={class:"min-w-0 break-words text-sm leading-relaxed"},gu={class:"font-mono font-semibold text-red-700"},bu={class:"font-mono font-semibold text-red-700"},xu={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},ku={key:0,class:"text-red-500 font-medium"},hu={key:1},wu={key:2,class:"text-green-600"},Vu={key:3,class:"text-gray-400"},Su={key:0,class:"text-red-500 font-medium"},Nu={key:1},Cu={key:2,class:"text-green-600"},Pu={key:3,class:"text-gray-400"},Au={key:0,class:"text-amber-600 font-medium"},Ou={key:1,class:"text-primary font-medium"},Ru={key:2},Tu={key:3,class:"text-green-600"},Eu={key:4,class:"text-red-500 font-medium"},Uu={class:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-4 mb-5"},Du={class:"flex items-center justify-between mb-1"},Fu={class:"stat-value text-red-500 font-bold text-xl"},$u={class:"stat-value text-green-600 font-bold text-xl"},zu={class:"stat-value text-primary font-bold text-xl"},qu={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},ju={key:0,class:"audit-stamp stamp-pass"},Lu={key:1,class:"audit-stamp stamp-reject"},Iu={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},Mu={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},Hu={class:"shrink-0 text-xs text-gray-400 tabular-nums"},Bu={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},Wu={class:"text-primary font-medium"},Ku={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},Gu={class:"text-red-500 font-medium"},Qu={class:"flex flex-col gap-1 text-sm leading-relaxed"},Ju={key:0,class:"text-gray-500 mr-1"},Xu={key:1,class:"ml-2 text-gray-500"},Yu={key:0},Zu={key:1,class:"ml-2 text-gray-500"},ed={class:"flex items-center gap-1 flex-wrap"},td={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},ad={key:0},ld={key:0,class:"mt-4"},sd={class:"flex flex-col gap-4 h-full"},nd={class:"text-red-500"},rd={key:0,class:"audit-stamp stamp-pass"},id={key:1,class:"audit-stamp stamp-reject"},od={class:"flex items-center justify-between"},ud={class:"flex items-center gap-3"},dd={key:0,class:"text-xs text-gray-500"},pd={class:"text-primary font-medium"},cd={class:"text-red-500"},md={class:"po-biz-diagnosis-id flex min-w-0 flex-col gap-3 rounded-2xl border border-slate-200/90 bg-gradient-to-br from-slate-50 to-white px-4 py-3.5 shadow-sm sm:flex-row sm:items-center sm:justify-between"},_d={class:"flex min-w-0 flex-col gap-1"},fd={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},vd={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},yd={class:"font-mono text-primary"},gd={class:"text-gray-500"},bd={key:0},xd={key:1,class:"text-gray-500"},kd={key:0,class:"text-xs text-gray-500 mt-1"},hd={key:1,class:"text-gray-400"},wd={class:"po-audit-remark"},Vd={class:"po-audit-remark"},Sd={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},Nd={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},Cd={key:1,class:"py-6 text-center text-sm text-gray-500"},Pd={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},Ad={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},Od={class:"text-gray-800"},Rd={key:1,class:"text-xs text-gray-400 ml-1"},Td={key:2,class:"text-xs text-gray-400"},Ed={class:"flex items-center gap-2 mb-1"},Ud={class:"font-medium text-[13px]"},Dd={class:"text-sm text-gray-700 font-medium"},Fd={class:"create-order-dialog__inner"},$d={key:0,class:"create-order-rx-card"},zd={class:"create-order-rx-card__head"},qd={class:"create-order-rx-card__meta"},jd={class:"create-order-rx-card__id"},Ld={key:0,class:"create-order-rx-card__sn"},Id={class:"create-order-rx-card__patient"},Md={class:"create-order-rx-card__herbs"},Hd={class:"create-order-step-lead"},Bd={class:"create-order-step-panel"},Wd={class:"create-order-step-panel"},Kd={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},Gd={class:"text-xs text-gray-400"},Qd={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},Jd={key:0,class:"space-y-1.5"},Xd={class:"text-gray-800 break-all"},Yd={key:1,class:"text-gray-400"},Zd={class:"flex items-center gap-1 w-full"},ep={class:"flex gap-2 w-full"},tp={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},ap={class:"flex items-center justify-between"},lp={class:"font-medium text-[13px] text-gray-800"},sp={class:"text-orange-500 font-medium ml-4"},np={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},rp={class:"truncate pr-2"},ip={class:"shrink-0"},op={class:"create-order-pay-hint text-gray-500"},up={class:"text-amber-600 font-medium"},dp={class:"create-order-step-panel"},pp={class:"create-order-deposit-bar__cell"},cp={class:"create-order-deposit-bar__sub"},mp={class:"create-order-deposit-bar__cell"},_p={class:"create-order-deposit-bar__sub"},fp={class:"create-order-footer"},vp={class:"create-order-footer__hint"},yp={class:"create-order-footer__step"},gp={key:0,class:"create-order-footer__warn"},bp={class:"create-order-footer__actions"},xp={class:"text-sm"},kp={class:"text-gray-600"},hp={class:"text-gray-600"},wp={key:0,class:"text-xs text-amber-800 mt-2"},Vp={class:"text-xs text-gray-500 mt-1"},Sp={class:"text-xs text-gray-500 mt-1"},Np={class:"flex flex-col gap-0.5 py-0.5"},Cp={class:"flex items-center justify-between"},Pp={class:"text-sm"},Ap={class:"text-orange-500 font-medium ml-4"},Op={class:"text-xs text-gray-400"},Rp={key:0,class:"text-xs font-medium text-gray-500 mb-3"},Tp={class:"flex items-center gap-1 w-full"},Ep={class:"flex items-center gap-1 w-full"},Up={class:"flex items-center gap-1 w-full"},Dp={class:"flex items-center justify-between w-full pr-2 gap-3"},Fp={key:0,class:"flex items-center gap-2 shrink-0"},$p={class:"rx-wrap"},zp={key:1,class:"rx-statusbar"},qp={key:2,class:"rx-status rx-status-danger"},jp={key:3,class:"rx-status rx-status-danger"},Lp={key:0,class:"mt-1"},Ip={key:4,class:"rx-status rx-status-danger"},Mp={key:0,class:"mt-1"},Hp={key:6,class:"rx-audit"},Bp={key:0},Wp={key:0,class:"ml-2 text-gray-400"},Kp={key:1,class:"mt-1"},Gp={key:0,class:"px-4"},Qp={class:"flex items-center justify-between"},Jp={class:"text-lg font-semibold text-orange-600"},Xp={class:"text-lg font-semibold text-blue-600"},Yp={class:"text-lg font-semibold text-green-600"},Zp={class:"text-xl font-bold text-red-600"},ec={class:"text-sm text-gray-500 mt-1.5"},tc={class:"font-medium text-gray-700"},ac={key:0},lc={class:"text-sm text-gray-700 leading-relaxed"},sc={class:"flex items-center justify-between"},nc={class:"text-sm text-gray-500"},rc={class:"font-medium text-orange-600"},ic={class:"text-base font-medium"},oc={class:"text-base font-medium"},uc=Dl({name:"prescriptionOrderListH5"}),dc=Dl({...uc,setup(pc){const Fl=Ri(()=>Wn(()=>import("./edit-DL6Vxw1r.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),we=Vi(),Ta=b(null);function $l(){var e,n;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){P.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(n=Ta.value)==null||n.openViewOnly(t)}const zl=2,ql=6,Ea=[3,8],jl=[0,3,6],Ll=S(()=>{const t=we.userInfo;if(!t||Number(t.root)===1)return!1;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return e.includes(ql)?!Ea.some(n=>e.includes(n)):!1}),Il=S(()=>{const t=we.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return Ea.some(n=>e.includes(n))}),Ml=S(()=>Ll.value||Il.value),Ua=b([]),Ve=S(()=>{const t=we.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return e.includes(zl)?e.some(n=>jl.includes(n)):!0}),Hl=S(()=>Ve.value?"详情/审核":"详情"),Bl=[0,3,6],Da=()=>{const t=we.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return Bl.some(n=>e.includes(n))},ct=b([]),mt=b([]),Wt=b([]),He=b([]),_t=b([]),Wl={value:"id",label:"name",children:"children"};function Fa(t,e){for(const n of t||[]){if(n==null||typeof n!="object")continue;const i=n;if(Number(i.id)===e)return i;const u=Fa(i.children||[],e);if(u)return u}return null}function $a(t){const e=Number(t.id),n=[];Number.isFinite(e)&&e>0&&n.push(e);for(const i of t.children||[])i&&typeof i=="object"&&n.push(...$a(i));return n}function Kl(t,e){const n=Fa(e,t);return n?$a(n):[t]}async function Gl(){try{const[t,e,n]=await Promise.all([Wr(),Kr(),Ci()]);Wt.value=Array.isArray(t)?t:[],He.value=Array.isArray(e)?e:[];const i=Array.isArray(n)?n:[];_t.value=i}catch{Wt.value=[],He.value=[],_t.value=[]}}const Ql=t=>t.map(e=>{var n;return{value:e.province,label:e.province,code:e.code,children:((n=e.citys)==null?void 0:n.map(i=>{var u;return{value:i.city,label:i.city,code:i.code,children:((u=i.areas)==null?void 0:u.map(g=>({value:g.area,label:g.area,code:g.code})))||[]}}))||[]}}),Jl=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const n=await e.json();console.log("加载的数据条数:",n==null?void 0:n.length),ct.value=Ql(n),console.log("regionOptions 已设置,条数:",ct.value.length)}catch(t){console.error("加载省市区数据失败:",t),ct.value=[]}},Xl=async()=>{try{const t=await Si({type:"server_order"});mt.value=vi(t==null?void 0:t.server_order)}catch(t){console.error("加载服务套餐选项失败:",t),mt.value=[]}},Yl=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function Zl(t){re.value="",k.fulfillment_status=t,J()}const re=b(""),es=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"洛阳直发",value:"direct"},{label:"自营",value:"self"}];function ts(t){k.supply_mode=t,J()}const as=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function ls(t){k.express_company=t,J()}const k=_e({order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:"",audit_admin_id:""}),ss=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],ns=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function rs(t){re.value="",k.prescription_audit_status=t,J()}function is(t){re.value="",k.payment_slip_audit_status=t,J()}function ft(t){if(re.value===t){re.value="",k.prescription_audit_status="",k.payment_slip_audit_status="",k.fulfillment_status="",J();return}re.value=t,k.prescription_audit_status="",k.payment_slip_audit_status="",k.fulfillment_status="",t==="pendingRx"?k.prescription_audit_status=0:t==="pendingPay"?(k.prescription_audit_status=1,k.payment_slip_audit_status=0):t==="pendingShip"?k.fulfillment_status=2:t==="risk"&&(k.payment_slip_audit_status=2),J()}const{time_type:Re,dateRange:Kt,resolve:os,handleTimeTypeChange:us,handleCustomDateChange:ds,resetTimeFilter:ps}=Hr("all"),za=()=>{te.page=1,M()},cs=()=>us(za),ms=()=>ds(za);async function _s(t){const[e,n]=os(),i={...t,start_time:e,end_time:n};if(i.prescription_id===""||i.prescription_id===void 0?delete i.prescription_id:i.prescription_id=Number(i.prescription_id),(i.fulfillment_status===""||i.fulfillment_status===void 0)&&delete i.fulfillment_status,(i.prescription_audit_status===""||i.prescription_audit_status===void 0)&&delete i.prescription_audit_status,(i.payment_slip_audit_status===""||i.payment_slip_audit_status===void 0)&&delete i.payment_slip_audit_status,(!i.supply_mode||i.supply_mode==="")&&delete i.supply_mode,i.doctor_id===""||i.doctor_id===void 0||i.doctor_id===null?delete i.doctor_id:i.doctor_id=Number(i.doctor_id),i.assistant_id===""||i.assistant_id===void 0||i.assistant_id===null?delete i.assistant_id:i.assistant_id=Number(i.assistant_id),i.assistant_dept_id===""||i.assistant_dept_id===void 0||i.assistant_dept_id===null?delete i.assistant_dept_id:i.assistant_dept_id=Number(i.assistant_dept_id),i.order_no||delete i.order_no,String(i.patient_keyword||"").trim()||delete i.patient_keyword,i.audit_admin_id===""||i.audit_admin_id===void 0||i.audit_admin_id===null?delete i.audit_admin_id:i.audit_admin_id=Number(i.audit_admin_id),String(i.express_keyword||"").trim()||delete i.express_keyword,(!i.express_company||i.express_company==="")&&delete i.express_company,!String(i.start_time||"").trim()||!String(i.end_time||"").trim())delete i.start_time,delete i.end_time;else{const u=String(i.start_time||"").trim(),g=String(i.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(u)&&/^\d{4}-\d{2}-\d{2}$/.test(g)&&(i.start_time=`${u} 00:00:00`,i.end_time=`${g} 23:59:59`)}return Gr(i)}const{pager:te,getLists:M,resetPage:J,resetParams:fs}=Pi({fetchFun:_s,params:k});Ul(()=>{var t;return(t=te.extend)==null?void 0:t.audit_admin_options},t=>{Array.isArray(t)&&(Ua.value=t.map(e=>{if(e==null||typeof e!="object")return null;const n=e,i=Number(n.id),u=String(n.name??"").trim();return!Number.isFinite(i)||i<=0||u===""?null:{id:i,name:u}}).filter(e=>e!=null))},{immediate:!0});const qa=S(()=>{const t=k.assistant_dept_id;if(t===""||t==null)return He.value;const e=Number(t);if(!Number.isFinite(e))return He.value;const n=new Set(Kl(e,_t.value));return He.value.filter(i=>{const u=i.dept_ids;return!Array.isArray(u)||u.length===0?!1:u.map(Number).some(g=>n.has(g))})});function vs(){const t=k.assistant_id;if(t!==""&&t!=null){const e=Number(t);qa.value.some(i=>Number(i.id)===e)||(k.assistant_id="")}J()}const ce=S(()=>{const t=te.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),n=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),i=Ie=>{const V=Number(Ie);return Number.isFinite(V)?Math.round(V*100)/100:0},u=Ie=>Ie.toFixed(2),g=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,y=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,x=i(g?t==null?void 0:t.stats_order_amount_not_cancelled:e),F=g?i(t==null?void 0:t.stats_order_amount_cancelled):0,se=i(y?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:n),h=y?i(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,$=(t==null?void 0:t.stats_order_amount_performance)!==void 0?i(t==null?void 0:t.stats_order_amount_performance):x,ge=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?i(t==null?void 0:t.stats_linked_pay_amount_performance):se,he=String((t==null?void 0:t.stats_time_start)??"").trim(),jt=String((t==null?void 0:t.stats_time_end)??"").trim(),Sa=he&&jt?`统计时间:${he} ~ ${jt}`:"统计时间:—",rt=String((t==null?void 0:t.stats_scope)??"restricted");let ee="统计口径:与当前列表数据可见范围一致";rt==="all"?ee="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":rt==="assistant"?ee="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":rt==="own_rx"&&(ee="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const pe=Re.value==="all"?"全部":Re.value==="today"?"今日":"区间";return{order:i(e),pay:i(n),orderStr:u(i(e)),payStr:u(i(n)),orderNotCancelledStr:u(x),orderCancelledStr:u(F),payNotCancelledStr:u(se),payCancelledStr:u(h),orderPerformanceStr:u($),payPerformanceStr:u(ge),orderHeading:`${pe}业绩(业务订单额)`,payHeading:`${pe}业绩(关联实付)`,periodLine:Sa,scopeHint:ee,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),vt=S(()=>{const t=te.extend,e=y=>{const x=Number(y);return!Number.isFinite(x)||x<0?0:Math.trunc(x)},n=e(t==null?void 0:t.focus_pending_rx_count),i=e(t==null?void 0:t.focus_pending_pay_count),u=e(t==null?void 0:t.focus_pending_ship_count),g=e(t==null?void 0:t.focus_risk_count);return{pendingRx:n,pendingPay:i,pendingShip:u,risk:g}});function Gt(t,e){const n=Number(e==null?void 0:e.prescription_audit_status),i=Number(e==null?void 0:e.payment_slip_audit_status),u=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&n===0||t==="pay"&&n===1&&i===0||t==="fulfillment"&&u===2?"po-status-tag is-focus":t==="rx"&&n===2||t==="pay"&&i===2||t==="fulfillment"&&u===4?"po-status-tag is-risk":"po-status-tag"}function yt({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),n=Number(t==null?void 0:t.payment_slip_audit_status),i=Number(t==null?void 0:t.fulfillment_status),u=Vt(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||n===2||u?"po-row-risk":e===0||e===1&&n===0||i===2?"po-row-focus":i===3||i===6?"po-row-done":""}Ul(Ve,t=>{t||k.prescription_audit_status===""||k.prescription_audit_status===void 0||(k.prescription_audit_status="",J())},{immediate:!0});function ys(){re.value="",ps(),k.order_no="",k.prescription_id="",k.patient_keyword="",k.express_keyword="",k.express_company="",k.doctor_id="",k.assistant_id="",k.assistant_dept_id="",k.fulfillment_status="",k.prescription_audit_status="",k.payment_slip_audit_status="",k.supply_mode="",k.audit_admin_id="",fs()}function gt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function ja(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function La(t){return t===1?"success":t===2?"danger":"info"}function Qt(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function gs(t){const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4?"danger":e===2||e===7?"warning":e===8||e===11||e===12?"info":e===9||e===10?"danger":"info"}function K(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function Se(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return String(t)}const bs=[0,3];function Ia(){const t=we.userInfo;return t?Number(t.root)===1?!0:(Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[]).some(n=>bs.includes(n)):!1}function Ma(t){var n;const e=Number((n=we.userInfo)==null?void 0:n.id);return e>0&&Number(t.creator_id)===e}function Ha(t){return Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===1}function Ba(t){const e=Number(t.fulfillment_status);return e===3||e===4||Ma(t)&&Ha(t)&&!Ia()||Oa(t)?!1:e===1||e===2}function xs(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function ks(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function hs(t){if(Oa(t))return!1;const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const n=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return(n===1||n===2)&&i===0}function ws(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const n=Number(t.prescription_audit_status),i=Number(t.payment_slip_audit_status);return n===1&&(i===1||i===2)}function Wa(t){return Oa(t)?!1:Number(t.fulfillment_status)===1}function Ka(t){return Number(t.fulfillment_status)===2}function Jt(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Xt(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function Yt(t){const e=Number(t.fulfillment_status);return(e===5||e===6||e===3||e===9)&&Number(t.payment_slip_audit_status)===1}function Vs(t){return!0}function Ga(t){if(t.can_upload_pharmacy===!1)return!1;const e=Number(t.prescription_audit_status),n=Number(t.fulfillment_status),i=String(t.gancao_reciperl_order_no||"").trim(),u=String(t.ej_pharmacy_order_no||"").trim(),g=String(t.ej_pharmacy_status||"").toUpperCase()==="REJECTED"||String(t.ej_pharmacy_review_status||"").toUpperCase()==="REJECTED";return e===1&&(![3,4,8,9,10,11,12].includes(n)||n===9&&g)&&i===""&&(u===""||g)}function Qa(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const bt=b(!0),Ja=S(()=>{const t=k,e=["order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let n=Re.value!=="all"?1:0;for(const i of e){const u=t[i];u!=null&&(typeof u=="string"&&u.trim()===""||Array.isArray(u)&&u.length===0||(n+=1))}return n});function Ss(t){return Jt(t)||Xt(t)||Yt(t)||Ga(t)||Wa(t)}function Ns(t,e){t==="addPayOrder"?yl(e):t==="complete"?gl(e):t==="refund"?vl(e):t==="uploadPharmacy"?fn(e):t==="withdraw"&&dn(e)}function Zt(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const X=b(!1),ea=b(!1),c=b(null),Cs=S(()=>{var t;return yi((t=c.value)==null?void 0:t.service_package,mt.value)}),xt=S(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),n=Number(c.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:n===2?2:3:t===2?3:e===0||e===2?1:n===0||n===2?2:3}),kt=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":xt.value===1?"process":"wait"}),ht=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":xt.value===2?"process":"wait"}),Te=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||xt.value===3?"process":"wait"}),ta=S(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Xa=S(()=>{const t=c.value;if(!t)return 0;const e=t.agency_collect_amount;if(e!=null&&e!=="")return Number(e)||0;const n=Number(t.amount)||0,i=Number(t.linked_pay_paid_total)||0;return Math.round((n-i)*100)/100}),Ee=b([]);async function Ps(t,e,n){var i;if(!t){Ee.value=[];return}try{const u=await Aa({diagnosis_id:t,prescription_order_id:e}),g=(u==null?void 0:u.lists)??((i=u==null?void 0:u.data)==null?void 0:i.lists)??[],y=Array.isArray(g)?g.filter(x=>!n.includes(x.id)):[];Ee.value=y}catch{Ee.value=[]}}function Ya(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}const w=S(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Za=S(()=>{var t;return gi((t=w.value)==null?void 0:t.dietary_taboo)});function wt(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function Vt(t,e){const n=wt(t),i=wt(e);return!n||!i?!1:n!==i}const Be=S(()=>{var n,i;const t=(n=w.value)==null?void 0:n.phone,e=(i=c.value)==null?void 0:i.recipient_phone;return Vt(e,t)}),As=S(()=>{var e;return wt((e=w.value)==null?void 0:e.phone)||"—"}),Os=S(()=>{var e;return wt((e=c.value)==null?void 0:e.recipient_phone)||"—"}),Y=S(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),el=S(()=>{var e;const t=String(((e=Y.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),tl=S(()=>{var t;return Ya((t=w.value)==null?void 0:t.herbs)}),Ne=S(()=>El(w.value)),Z=S(()=>{const t=w.value;if(!t||!El(t))return null;const e=t.aux_usage;return e==null||e===""||Array.isArray(e)&&e.length===0?null:bi(e,t.prescription_type||"浓缩水丸")}),Rs=S(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),Ts=S(()=>{const t=c.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),al=S(()=>`${m.dose_unit||"剂"}数`);function Es(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function Us(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function ll(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function sl(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):Se(t)}const We=b("auto"),St=b(!1),G=b(null),Ke=b("");let aa=0;function Ds(){aa+=1,G.value=null}function la(t){var e,n;return t.requestSeq!==aa||Number((e=c.value)==null?void 0:e.id)!==t.orderId?!1:String(((n=c.value)==null?void 0:n.tracking_number)||"").trim()===t.trackingNumber}function Fs(t,e,n){const i=(t==null?void 0:t.data)??t;if(!i||typeof i!="object")return null;const u=i,g=String(u.tracking_number||"").trim();if(g&&g!==e)return null;const y=Number(u.order_id);return y>0&&y!==n?null:u}const Ue=b([]),Ge=b(!1),sa=b(!1),Nt=b(),fe=_e({id:0,amount:void 0}),$s={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,n)=>{const i=Number(e);if(!Number.isFinite(i)||i<0){n(new Error("订单金额不能为负数"));return}n()},trigger:"blur"}]};function zs(){const t=we.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Ce(t){if(!zs()){Ue.value=[];return}try{const e=await mi({id:t});Ue.value=(e==null?void 0:e.data)??e??[]}catch{Ue.value=[]}}function qs(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",ej_pharmacy_submit:"洛阳药房下单",ej_pharmacy_callback:"洛阳药房状态",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单",refund:"退款"}[t]||t}const na=S(()=>{var n;const t=String(((n=c.value)==null?void 0:n.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),nl=S(()=>{const t=G.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function js(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function ra(){var u,g;const t=Number((u=c.value)==null?void 0:u.id),e=String(((g=c.value)==null?void 0:g.tracking_number)||"").trim();if(!t||!e)return;const i={requestSeq:++aa,orderId:t,trackingNumber:e};St.value=!0;try{const y=String(Ke.value||"").replace(/\D/g,""),x={id:t,express_company:We.value};y.length>=4&&(x.phone_tail=y);const F=await Qr(x);if(!la(i))return;G.value=Fs(F,e,t)}catch{if(!la(i))return;G.value=null}finally{la(i)&&(St.value=!1)}}const Qe=b(!1),ia=b(!1),oa=b(),ie=_e({patient_name:"",phone:""}),Ls={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]},Je=b(!1),ua=b(!1),da=b(),U=_e({times_per_day:3,usage_days:7,aux_times_per_day:3,aux_usage_days:7,medication_days:void 0}),Is=S(()=>{const t={times_per_day:[{required:!0,message:"请填写主方每天次数",trigger:"change"}],usage_days:[{required:!0,message:"请填写主方开立天数",trigger:"change"}],medication_days:[{required:!0,message:"请填写订单服用天数",trigger:"change"}]};return Ne.value&&(t.aux_times_per_day=[{required:!0,message:"请填写辅方每天次数",trigger:"change"}],t.aux_usage_days=[{required:!0,message:"请填写辅方开立天数",trigger:"change"}]),t});function Ms(){const t=w.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}const n=Z.value;U.times_per_day=Number(t.times_per_day)>0?Number(t.times_per_day):3,U.usage_days=Number(t.usage_days)>0?Number(t.usage_days):7,U.aux_times_per_day=n&&Number(n.times_per_day)>0?Number(n.times_per_day):3,U.aux_usage_days=n&&Number(n.usage_days)>0?Number(n.usage_days):7;const i=Number(e.medication_days);U.medication_days=i>0?i:Number(t.usage_days)>0?Number(t.usage_days):7,Je.value=!0,pt(()=>{var u;return(u=da.value)==null?void 0:u.clearValidate()})}function Hs(){U.times_per_day=3,U.usage_days=7,U.aux_times_per_day=3,U.aux_usage_days=7,U.medication_days=void 0}async function Bs(){var n;const t=da.value;if(!t)return;try{await t.validate()}catch{return}const e=(n=c.value)==null?void 0:n.id;if(e){ua.value=!0;try{const i={id:e,times_per_day:Number(U.times_per_day),usage_days:Number(U.usage_days),medication_days:Number(U.medication_days)};Ne.value&&(i.aux_times_per_day=Number(U.aux_times_per_day),i.aux_usage_days=Number(U.aux_usage_days)),await Jr(i),P.msgSuccess("保存成功"),Je.value=!1,await pa(),await Ce(e),M()}catch{}finally{ua.value=!1}}}function Ws(){const t=w.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){P.msgWarning("无处方数据");return}ie.patient_name=String(t.patient_name??"").trim(),ie.phone=String(t.phone??"").trim(),Qe.value=!0,pt(()=>{var n;return(n=oa.value)==null?void 0:n.clearValidate()})}function Ks(){ie.patient_name="",ie.phone=""}function Gs(){var t;fe.id=0,fe.amount=void 0,(t=Nt.value)==null||t.clearValidate()}function Qs(){const t=c.value;if(!Zt(t)){P.msgWarning("当前订单状态不允许修改金额");return}fe.id=Number(t==null?void 0:t.id)||0;const e=Number(t==null?void 0:t.amount);fe.amount=Number.isFinite(e)?e:void 0,Ge.value=!0,pt(()=>{var n;return(n=Nt.value)==null?void 0:n.clearValidate()})}async function pa(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const n=await Q({id:t}),i=(n==null?void 0:n.data)??n??null;i&&(c.value=i)}catch{}}async function Js(){var n;const t=oa.value;if(!t)return;try{await t.validate()}catch{return}const e=(n=c.value)==null?void 0:n.id;if(e){ia.value=!0;try{await Xr({id:e,patient_name:ie.patient_name.trim(),phone:ie.phone.trim()}),Qe.value=!1,await pa(),await Ce(e)}catch(i){console.error(i)}finally{ia.value=!1}}}async function rl(){const t=Nt.value;if(!t)return;try{await t.validate()}catch{return}if(!Zt(c.value)){P.msgWarning("当前订单状态不允许修改金额");return}const e=fe.id;sa.value=!0;try{await Yr({id:e,amount:Number(fe.amount)}),P.msgSuccess("修改成功"),Ge.value=!1,await pa(),await Ce(e),M()}catch{}finally{sa.value=!1}}async function ca(t){c.value=null,Ee.value=[],Ds(),We.value="auto",Ke.value="",Ue.value=[],X.value=!0,ea.value=!0;try{const e=await Q({id:t}),n=(e==null?void 0:e.data)??e??null;if(c.value=n,n){We.value=String(n.express_company||"auto")||"auto";const i=String(n.recipient_phone||"").replace(/\D/g,"");Ke.value=i.length>=4?i:"",String(n.tracking_number||"").trim()&&ra(),Ce(t);const u=n.diagnosis_id,g=n.pay_order_ids||[];u&&Ps(u,t,g)}}catch(e){P.msgError((e==null?void 0:e.message)||"加载失败"),X.value=!1}finally{ea.value=!1}}const Pe=b(!1),ma=b(!1),_a=b(!1),I=b(0),oe=b(null),Xs=S(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][I.value]??""),il=S(()=>{const t=oe.value,e=Ya(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const n=e.map(i=>`${i.name} ${i.dosage}g`).join("、");return n.length>120?`${n.slice(0,120)}…`:n}),Ys=["recipient_name","recipient_phone","region","shipping_address"],De=b(),m=_e({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),Zs=S(()=>xi(mt.value,m.service_package)),ol=S(()=>{const t=String(m.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(n=>n.trim()).filter(Boolean):e.split("/").map(n=>n.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Xe=b([]),fa=b(!1),H=b(0);function Ct(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}function Fe(t){const e=String((t==null?void 0:t.create_type)||"");if(e==="wechat_work")return"企业微信对外收款";if(e==="fubei")return"付呗";if(e==="express_cod")return"快递代收";const n=String((t==null?void 0:t.payment_method)||""),i={alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",express_cod:"快递代收",manual:"手动确认到账"};return n&&i[n]?i[n]:"普通订单"}const va=S(()=>{const t=new Set(m.pay_order_ids.map(n=>Number(n)));let e=0;for(const n of Xe.value)t.has(Number(n.id))&&(e+=Number(n.amount)||0);return Math.round(e*100)/100}),en=S(()=>{const t=H.value;return t>0?Math.round(t*100)/100:0});async function tn(t,e){var n,i;if(!t){Xe.value=[];return}try{fa.value=!0;const u=await Aa({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),g=(u==null?void 0:u.lists)??((n=u==null?void 0:u.data)==null?void 0:n.lists)??[];Xe.value=Array.isArray(g)?g:[];const y=Number((u==null?void 0:u.deposit_min_amount)??((i=u==null?void 0:u.data)==null?void 0:i.deposit_min_amount));!Number.isNaN(y)&&y>=0&&(H.value=y)}catch{Xe.value=[]}finally{fa.value=!1}}const an=S(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,n,i)=>{const u=H.value,g=Number(n);if(u>0&&(!Number.isFinite(g)||g0){const e=`已开启关联支付门槛(¥${K(H.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function ln(){var t;I.value=0,oe.value=null,(t=De.value)==null||t.clearValidate()}function sn(){I.value>0&&(I.value-=1)}async function nn(){const t=De.value;if(t)try{I.value===0?await t.validateField([...Ys]):I.value===1&&H.value>0&&await t.validateField(["pay_order_ids"]),I.value<2&&(I.value+=1)}catch{}}async function rn(t){if(!Ba(t)){Ma(t)&&Ha(t)&&!Ia()&&P.msgWarning("处方与支付单均已审核通过,创建人不可再编辑");return}I.value=0,oe.value=null,Pe.value=!0,ma.value=!0;try{const e=await Q({id:t.id}),n=(e==null?void 0:e.data)??e;if(!n){P.msgError("加载数据结构异常"),Pe.value=!1;return}const i=n.prescription;i&&typeof i=="object"?oe.value=i:Number(n.prescription_id)>0?oe.value={id:Number(n.prescription_id),sn:"",patient_name:String(n.recipient_name||""),herbs:[]}:oe.value=null,m.id=n.id,m.prescription_id=Number(n.prescription_id)||0,m.diagnosis_id=Number(n.diagnosis_id)||0,m.assistant_id=Number(n.assistant_id)||0,m.diagnosis_creator_id=Number(n.diagnosis_creator_id)||0,m.diagnosis_creator_name=n.diagnosis_creator_name!=null&&n.diagnosis_creator_name!==""?String(n.diagnosis_creator_name):"",m.diagnosis_creator_dept_path=n.diagnosis_creator_dept_path!=null&&n.diagnosis_creator_dept_path!==""?String(n.diagnosis_creator_dept_path):"",m.recipient_name=n.recipient_name||"",m.recipient_phone=n.recipient_phone||"";const u=n.shipping_province||"",g=n.shipping_city||"",y=n.shipping_district||"";u||g||y?m.region=[u,g,y].filter($=>$!==""):m.region=[],m.shipping_address=n.shipping_address||"",m.is_follow_up=n.is_follow_up?1:0,m.medication_days=n.medication_days>0?n.medication_days:void 0,m.dose_count=n.dose_count>0?n.dose_count:1,m.dose_unit=n.dose_unit||"剂",m.prev_staff=n.prev_staff||"",m.service_channel=n.service_channel||"",m.service_package=ki(n.service_package),m.express_company=String(n.express_company||"auto")||"auto",m.tracking_number=n.tracking_number||"",m.fee_type=Number(n.fee_type)||3,H.value=Number(n.deposit_min_amount)||0;let x=Number(n.amount)||0;const F=Math.round((Number(n.linked_pay_paid_total)||0)*100)/100,se=H.value;if(se>0){const $=Math.round(se*100)/100;xNumber($)).filter($=>!Number.isNaN($)):[],m.internal_cost=n.internal_cost!=null&&n.internal_cost!==""?Number(n.internal_cost):void 0,await tn(m.diagnosis_id,m.id),pt(()=>{var $;($=De.value)==null||$.clearValidate()})}catch(e){P.msgError((e==null?void 0:e.message)||"加载异常"),Pe.value=!1}finally{ma.value=!1}}async function on(){if(!(!De.value||I.value!==2)){await De.value.validate(),_a.value=!0;try{const t={id:m.id,recipient_name:m.recipient_name,recipient_phone:m.recipient_phone,shipping_address:m.shipping_address,is_follow_up:m.is_follow_up,prev_staff:m.prev_staff||"",service_channel:m.service_channel||"",service_package:Array.isArray(m.service_package)?m.service_package.join(","):"",express_company:m.express_company||"auto",tracking_number:m.tracking_number||"",fee_type:m.fee_type,amount:m.amount,remark_extra:m.remark_extra||"",remark_assistant:m.remark_assistant||"",medication_days:m.medication_days!=null&&String(m.medication_days).trim()!==""?m.medication_days:"",dose_unit:m.dose_unit||"剂",dose_count:m.dose_count||1,internal_cost:m.internal_cost!=null&&String(m.internal_cost).trim()!==""?m.internal_cost:""};m.region&&m.region.length>0?(t.shipping_province=m.region[0]||"",t.shipping_city=m.region[1]||"",t.shipping_district=m.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[...m.pay_order_ids],await Zr(t),P.msgSuccess("保存成功"),Pe.value=!1,M()}catch{}finally{_a.value=!1}}}const Ye=b(!1),ya=b("prescription"),Pt=b(0),Ze=b(null),$e=b(""),At=b(!1),un=S(()=>ya.value==="prescription"?"处方业务审核":"关联支付单审核");function ul(t,e){ya.value=e,Pt.value=t.id,Ze.value=t,$e.value="",Ye.value=!0}async function dl(t){if(t==="reject"&&!$e.value.trim()){P.msgError("驳回或阻止时必须填写明确的审核意见");return}At.value=!0;try{const e={id:Pt.value,action:t,remark:$e.value.trim()};if(ya.value==="prescription"?await ei(e):await ti(e),P.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Ye.value=!1,M(),X.value&&Pt.value)try{const n=await Q({id:Pt.value}),i=(n==null?void 0:n.data)??n??null;i&&(c.value=i)}catch{}}catch{}finally{At.value=!1}}async function dn(t){try{await Mt.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await ai({id:t.id}),P.msgSuccess("撤回成功"),M()}catch{}}const pl=b(0),Ot=b(!1),ze=b(!1),z=b(null);function cl(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,n=Number(t.proces_cost)||0,i=Number(t.lis_cost)||0;return(e+n+i).toFixed(2)}function pn(t,e){const n=parseFloat(cl(t))||0,i=Number(e)||0;return i<=0?"—":(n/i*100).toFixed(2)}function cn(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((n,i)=>n+(Number(i.quantity)||0),0).toFixed(0)}async function mn(){if(!m.id){P.msgError("请先保存订单");return}ze.value=!0;try{const t=await Rl({id:m.id,dose_count:m.dose_count||1,medication_days:m.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(z.value=e,Ot.value=!0,P.msgSuccess("预下单测试成功"))}catch{}finally{ze.value=!1}}async function _n(){var t;if(!((t=c.value)!=null&&t.id)){P.msgError("订单数据不存在");return}ze.value=!0;try{const e=await Rl({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),n=(e==null?void 0:e.data)??e;n&&n.success&&(z.value=n,Ot.value=!0)}catch{}finally{ze.value=!1}}async function fn(t){var e;try{const n=String(t.ship_mode||"gancao")==="direct"?"洛阳药房":"甘草药房";await Mt.confirm(`确认将本单关联处方上传至${n}?`,"上传药房",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),pl.value=t.id;const i=await li({id:t.id}),u=(i==null?void 0:i.data)??i,g=String((u==null?void 0:u.pharmacy_order_no)||(u==null?void 0:u.recipel_order_no)||"").trim();if(P.msgSuccess(g?`上传成功,药房单号:${g}`:"上传成功"),M(),X.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const y=await Q({id:t.id}),x=(y==null?void 0:y.data)??y??null;x&&(c.value=x)}catch{}}catch{}finally{pl.value=0}}Ai(async()=>{await Jl(),await Xl(),await Gl(),M()});const et=b(!1),Rt=b(!1),tt=b(0),ve=_e({express_company:"auto",tracking_number:""});function vn(t){tt.value=t.id,ve.express_company=String(t.express_company||"auto")||"auto",ve.tracking_number=String(t.tracking_number||""),et.value=!0}async function ml(){var t;if(!ve.tracking_number.trim()){P.msgError("请填写快递单号");return}Rt.value=!0;try{if(await si({id:tt.value,express_company:ve.express_company||"auto",tracking_number:ve.tracking_number.trim()}),P.msgSuccess("快递单号已保存"),et.value=!1,M(),X.value&&((t=c.value)==null?void 0:t.id)===tt.value)try{const e=await Q({id:tt.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n),await Ce(tt.value)}catch{}}catch{}finally{Rt.value=!1}}const at=b(!1),Tt=b(!1),Et=b(0),ae=_e({ship_mode:"gancao",express_company:"auto",tracking_number:""}),yn=S(()=>ae.ship_mode==="direct"?"洛阳药房直发":"甘草药房直发");function _l(t){Et.value=t.id,ae.ship_mode=String(t.ship_mode||"gancao")||"gancao",ae.express_company=String(t.express_company||"auto")||"auto",ae.tracking_number=String(t.tracking_number||""),at.value=!0}async function fl(){var t;if(!ae.tracking_number.trim()){P.msgError("请先填写快递单号再确认发货");return}Tt.value=!0;try{if(await ni({id:Et.value,ship_mode:ae.ship_mode==="direct"?"direct":"gancao",express_company:ae.express_company||"auto",tracking_number:ae.tracking_number.trim()}),P.msgSuccess("确认发货成功,订单已进入「已发货」状态"),at.value=!1,M(),X.value&&((t=c.value)==null?void 0:t.id)===Et.value)try{const e=await Q({id:Et.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n)}catch{}}catch{}finally{Tt.value=!1}}async function gn(){var t;M(),(t=c.value)!=null&&t.id&&await ca(Number(c.value.id))}const bn=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],qe=b(!1),ga=b(0),xe=b(3),lt=b(!1),ye=b([]),ba=b();function xa(t){let e=0;for(const n of t||[]){const i=Number(n==null?void 0:n.status);(i===2||i===5)&&(e+=Number(n==null?void 0:n.amount)||0)}return Math.round(e*100)/100}const ue=_e({reason:"",refund_amount:void 0}),ke=b(0),xn=S(()=>xa(ye.value)),kn=S(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,n)=>{const i=Number(e),u=ke.value;if(!Number.isFinite(i)||i<=0)return n(new Error("退款金额须大于 0"));if(u>0&&i>u+.009)return n(new Error(`不能超过 ¥${K(u)}`));n()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function hn(){var t;ga.value=0,ye.value=[],ue.reason="",ue.refund_amount=void 0,ke.value=0,(t=ba.value)==null||t.clearValidate()}async function wn(t){if(!t){ye.value=[];return}try{const e=await Q({id:t}),n=(e==null?void 0:e.data)??e??null;ye.value=Array.isArray(n==null?void 0:n.linked_pay_orders)?n.linked_pay_orders:[];const i=xa(ye.value),u=Number(n==null?void 0:n.paid)||0;ke.value=i>0?i:u,ue.refund_amount=ke.value}catch{ye.value=[],ke.value=0}}async function Vn(){var e,n,i;const t=ga.value;if(t){if(xe.value===10){if(!await((e=ba.value)==null?void 0:e.validate().catch(()=>!1)))return;lt.value=!0;try{if(await Tl({id:t,reason:ue.reason.trim(),refund_amount:Number(ue.refund_amount)}),P.msgSuccess("退款成功"),qe.value=!1,M(),X.value&&((n=c.value)==null?void 0:n.id)===t)try{const g=await Q({id:t}),y=(g==null?void 0:g.data)??g??null;y&&(c.value=y),await Ce(t)}catch{}}catch{}finally{lt.value=!1}return}lt.value=!0;try{if(await ri({id:t,fulfillment_status:xe.value}),P.msgSuccess("订单状态已更新"),qe.value=!1,M(),X.value&&((i=c.value)==null?void 0:i.id)===t)try{const u=await Q({id:t}),g=(u==null?void 0:u.data)??u??null;g&&(c.value=g)}catch{}}catch{}finally{lt.value=!1}}}const st=b(!1),ka=b(0),ha=b(!1),wa=b(),de=b(0),le=_e({reason:"",refund_amount:void 0}),Sn=S(()=>{const t=K(de.value),e=K(le.refund_amount);return Number(le.refund_amount)>=de.value-.009?`全额退款 ¥${t}:关联收款标记已退款,已付清零。`:`部分退款 ¥${e}(上限 ¥${t})`}),Nn=S(()=>({refund_amount:[{required:!0,message:"请输入退款金额",trigger:"change"},{validator:(t,e,n)=>{const i=Number(e),u=de.value;if(!Number.isFinite(i)||i<=0)return n(new Error("退款金额须大于 0"));if(u>0&&i>u+.009)return n(new Error(`不能超过 ¥${K(u)}`));n()},trigger:"change"}],reason:[{required:!0,message:"请填写退款原因",trigger:"blur"}]}));function Cn(){var t;ka.value=0,le.reason="",le.refund_amount=void 0,de.value=0,(t=wa.value)==null||t.clearValidate()}async function vl(t){ka.value=t.id,le.reason="",de.value=0,st.value=!0;try{const e=await Q({id:t.id}),n=(e==null?void 0:e.data)??e??null,i=Array.isArray(n==null?void 0:n.linked_pay_orders)?n.linked_pay_orders:[],u=xa(i),g=Number(n==null?void 0:n.paid)||0;de.value=u>0?u:g,le.refund_amount=de.value}catch{de.value=0}}async function Pn(){var n,i;const t=ka.value;if(!(!t||!await((n=wa.value)==null?void 0:n.validate().catch(()=>!1)))){ha.value=!0;try{if(await Tl({id:t,reason:le.reason.trim(),refund_amount:Number(le.refund_amount)}),P.msgSuccess("退款成功"),st.value=!1,M(),X.value&&((i=c.value)==null?void 0:i.id)===t)try{const u=await Q({id:t}),g=(u==null?void 0:u.data)??u??null;g&&(c.value=g),await Ce(t)}catch{}}catch{}finally{ha.value=!1}}}const nt=b(!1),Ut=b(!1),je=b(0),Dt=b(),Va=b(!1),Ft=b([]),An=S(()=>C.add_mode==="completion_only"?"不创建或关联支付单,仅提交完单申请,由审核人员在支付审核时处理。":C.add_mode==="create_express"?"通过快递代收创建新支付单(流转同付呗),或关联已存在但未绑定的支付单。":"可以通过付呗创建新支付单,或关联已存在但未绑定的支付单。"),C=_e({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),On=S(()=>{const t={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}]};return C.add_mode==="create"||C.add_mode==="create_express"?(t.order_type=[{required:!0,message:"请选择费用类别",trigger:"change"}],t.pay_amount=[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(e,n,i)=>{const u=Number(n);!Number.isFinite(u)||u<=0?i(new Error("金额须大于 0")):i()},trigger:"blur"}]):C.add_mode==="link"&&(t.link_pay_order_ids=[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(e,n,i)=>{!Array.isArray(n)||n.length===0?i(new Error("请至少选择一个支付单")):i()}}]),t});async function Rn(t,e=[]){var n;if(!t){Ft.value=[];return}try{Va.value=!0;const i=await Aa({diagnosis_id:t}),u=(i==null?void 0:i.lists)??((n=i==null?void 0:i.data)==null?void 0:n.lists)??[],g=Array.isArray(u)?u.filter(y=>!e.includes(y.id)):[];Ft.value=g}catch{Ft.value=[]}finally{Va.value=!1}}function yl(t){var i,u;je.value=t.id,C.add_mode="create",C.order_type=3,C.pay_amount=void 0,C.pay_remark="",C.link_pay_order_ids=[],C.completion_request=0,nt.value=!0;const e=t.diagnosis_id||((i=c.value)==null?void 0:i.diagnosis_id),n=t.pay_order_ids||((u=c.value)==null?void 0:u.pay_order_ids)||[];e&&Rn(e,n)}async function Tn(){var t;if(Dt.value){await Dt.value.validate(),Ut.value=!0;try{if(C.add_mode==="completion_only")await ii({id:je.value}),P.msgSuccess("完单申请已提交,请等待支付审核");else if(C.add_mode==="create"||C.add_mode==="create_express")await oi({id:je.value,order_type:C.order_type,pay_amount:C.pay_amount,pay_remark:C.pay_remark||"",completion_request:C.completion_request,pay_create_type:C.add_mode==="create_express"?"express_cod":"fubei"}),P.msgSuccess("支付单已新增,请等待审核");else{const e=C.link_pay_order_ids;if(e.length===0){P.msgError("请至少选择一个支付单");return}await ui({id:je.value,pay_order_ids:e,completion_request:C.completion_request}),P.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(nt.value=!1,M(),X.value&&((t=c.value)==null?void 0:t.id)===je.value)try{const e=await Q({id:je.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n)}catch{}}catch{}finally{Ut.value=!1}}}function gl(t){ga.value=t.id,xe.value=3,ue.reason="",ye.value=[],qe.value=!0,wn(t.id)}async function En(t){var e;try{if(await Mt.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await di({id:t.id}),P.msgSuccess("处方审核已撤回"),M(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const n=await Q({id:t.id}),i=(n==null?void 0:n.data)??n??null;i&&(c.value=i)}catch{}}catch{}}async function Un(t){var e;try{if(await Mt.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await pi({id:t.id}),P.msgSuccess("支付单审核已撤回"),M(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const n=await Q({id:t.id}),i=(n==null?void 0:n.data)??n??null;i&&(c.value=i)}catch{}}catch{}}const Dn="成都双流甄养堂互联网医院 处方笺",$t=b(!1),zt=b(!1),A=b(null),qt=b("internal"),bl=b(null),Le=b(!1);function xl(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function Fn(t){return t?xl(t):"—"}function $n(){kl(m)}async function kl(t){if(!t.prescription_id){P.msgWarning("该订单未关联处方");return}$t.value=!0,zt.value=!0,A.value=null,qt.value="internal";try{const e=await ci({id:t.prescription_id}),n=(e==null?void 0:e.data)??e??null;if(n){const i=t.medication_days,u={...n};i!=null&&String(i).trim()!==""&&(u.medication_days=i),t.order_no&&!u.order_no&&(u.order_no=t.order_no),t.recipient_name&&!u.recipient_name&&(u.recipient_name=t.recipient_name),t.recipient_phone&&!u.recipient_phone&&(u.recipient_phone=t.recipient_phone),t.shipping_address&&!u.shipping_address&&(u.shipping_address=t.shipping_address),t.amount!=null&&u.order_amount==null&&(u.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(u.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(u.dose_unit=String(t.dose_unit));const g=t.linked_appointment;(!u.appointment_id||Number(u.appointment_id)<=0)&&g&&typeof g=="object"&&Number(g.id)>0&&(u.appointment_id=Number(g.id)),A.value=u}else A.value=null}catch(e){P.msgError((e==null?void 0:e.message)||"加载处方详情失败"),$t.value=!1}finally{zt.value=!1}}async function zn(t){const e=t.querySelectorAll('img[src^="http"]'),n=Array.from(e).map(async i=>{try{const u=await fetch(i.src,{mode:"cors"});if(!u.ok)return;const g=await u.blob(),y=await new Promise((x,F)=>{const se=new FileReader;se.onload=()=>x(se.result),se.onerror=F,se.readAsDataURL(g)});i.src=y}catch{}});await Promise.allSettled(n)}async function hl(){var e;await pt();const t=((e=bl.value)==null?void 0:e.paperEl)??null;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await zn(t),await new Promise(n=>requestAnimationFrame(()=>n(null))),await new Promise(n=>setTimeout(n,250)),wi(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:n=>n instanceof HTMLElement&&n.classList.contains("cf-slip-no-export"),onclone:(n,i)=>{i instanceof HTMLElement&&(i.querySelectorAll(".rx-notice, .rx-notice-text, .rx-notice-meta").forEach(u=>{u.style.lineHeight="1.95",u.style.overflow="visible"}),i.querySelectorAll(".rx-notice").forEach(u=>{u.style.padding="10px 12px"}),i.querySelectorAll(".rx-info-cell, .rx-info-cell .rx-key, .rx-info-cell .rx-val").forEach(u=>{u.style.lineHeight="1.95",u.style.overflow="visible"}),i.querySelectorAll(".rx-info-cell").forEach(u=>{u.style.padding="10px 12px"}),i.querySelectorAll(".rx-herb-cell").forEach(u=>{u.style.lineHeight="2.5"}),i.querySelectorAll(".rx-herbs").forEach(u=>{u.style.rowGap="12px"}),i.querySelectorAll(".rx-text").forEach(u=>{u.style.lineHeight="2.1"}),i.querySelectorAll(".rx-bot-meta-val, .rx-hospital-line, .rx-bot-cell").forEach(u=>{u.style.overflow="visible",u.style.lineHeight="1.85"}),i.querySelectorAll(".rx-hospital-row").forEach(u=>{u.style.paddingTop="12px",u.style.paddingBottom="14px"}))}})}function wl(){var n;const t=(n=A.value)==null?void 0:n.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function qn(){if(A.value){Le.value=!0;try{const t=await hl(),e=document.createElement("a");e.download=`${wl()}.png`,e.href=t.toDataURL("image/png"),e.click(),P.msgSuccess("图片已下载")}catch{P.msgError("下载图片失败")}finally{Le.value=!1}}}async function jn(){if(A.value){Le.value=!0;try{const t=await hl(),e=t.toDataURL("image/jpeg",.95),n=new Kn({orientation:"portrait",unit:"mm",format:"a4"}),i=210,u=297,g=i,y=t.height*g/t.width;if(y<=u)n.addImage(e,"JPEG",0,0,g,y);else{let x=y,F=0;for(;x>0;)n.addImage(e,"JPEG",0,F,g,y),x-=u,F-=u,x>0&&n.addPage()}n.save(`${wl()}.pdf`),P.msgSuccess("PDF已下载")}catch{P.msgError("下载PDF失败")}finally{Le.value=!1}}}return(t,e)=>{const n=Gn,i=Qn,u=Xn,g=er,y=Zn,x=ar,F=tr,se=lr,h=sr,$=Yn,ge=nr,he=or,jt=ir,Vl=rr,Sa=Ur,rt=ur,ee=dr,pe=cr,Ie=pr,V=_r,it=mr,D=vr,Lt=fr,Na=yr,Sl=br,Nl=gr,Ca=xr,ne=kr,me=hr,Cl=wr,B=Sr,Ln=Nr,It=Vr,In=Pr,Mn=Cr,Hn=Ar,Me=Rr,Pl=Or,Al=Er,Bn=Tr,Ae=Jn,q=Oi("perms");return o(),_("div",Ti,[e[262]||(e[262]=r("header",{class:"po-h5-hero","aria-label":"页面概览"},[r("div",{class:"po-h5-hero__text"},[r("h1",{class:"po-h5-hero__title"},"业务订单"),r("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),a(n,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:l(()=>[r("div",Ei,[Ve.value?(o(),_("div",Ui,[e[99]||(e[99]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(o(),_(T,null,W(ss,s=>r("div",{key:s.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.prescription_audit_status===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>rs(s.value)},[r("span",Fi,d(s.label),1)],10,Di)),64))])):f("",!0),r("div",$i,[e[100]||(e[100]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(o(),_(T,null,W(ns,s=>r("div",{key:s.value,class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.payment_slip_audit_status===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>is(s.value)},[r("span",qi,d(s.label),1)],10,zi)),64))]),r("div",ji,[e[101]||(e[101]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(o(),_(T,null,W(Yl,s=>r("div",{key:"fs-"+String(s.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.fulfillment_status===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>Zl(s.value)},[r("span",Ii,d(s.label),1)],10,Li)),64))]),r("div",Mi,[e[102]||(e[102]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(o(),_(T,null,W(es,s=>r("div",{key:"sm-"+String(s.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.supply_mode===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>ts(s.value)},[r("span",Bi,d(s.label),1)],10,Hi)),64))]),r("div",Wi,[e[103]||(e[103]=r("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(o(),_(T,null,W(as,s=>r("div",{key:"ec-"+String(s.value),class:j(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",k.express_company===s.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:R=>ls(s.value)},[r("span",Gi,d(s.label),1)],10,Ki)),64))])])]),_:1}),a(n,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:l(()=>[O((o(),_("div",Qi,[r("div",Ji,[e[104]||(e[104]=r("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",Xi,[r("div",null,[r("div",Yi,[a(i,{size:16,class:"text-sky-500"},{default:l(()=>[a(E(Dr))]),_:1}),p(" "+d(ce.value.orderHeading),1)]),r("div",Zi,[r("div",eo," ¥"+d(ce.value.orderPerformanceStr),1),r("div",to,[r("span",null,"合计 ¥"+d(ce.value.orderStr),1),r("span",ao,"已取消 ¥"+d(ce.value.orderCancelledStr),1)])])]),r("div",lo,[a(i,{size:20},{default:l(()=>[a(E(Fr))]),_:1})])]),r("p",so,d(ce.value.periodLine),1)]),r("div",no,[e[105]||(e[105]=r("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),r("div",ro,[r("div",null,[r("div",io,[a(i,{size:16,class:"text-emerald-500"},{default:l(()=>[a(E($r))]),_:1}),p(" "+d(ce.value.payHeading),1)]),r("div",oo,[r("div",uo," ¥"+d(ce.value.payPerformanceStr),1),r("div",po,[r("span",null,"合计 ¥"+d(ce.value.payStr),1),r("span",co,"已取消 ¥"+d(ce.value.payCancelledStr),1)])])]),r("div",mo,[a(i,{size:20},{default:l(()=>[a(E(zr))]),_:1})])]),r("p",_o,d(ce.value.periodLine),1)])])),[[Ae,E(te).loading]]),e[109]||(e[109]=r("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),r("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),r("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),r("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=s=>bt.value=!bt.value)},[r("div",fo,[a(i,null,{default:l(()=>[a(E(Pa))]),_:1}),e[106]||(e[106]=r("span",null,"筛选条件",-1)),Ja.value>0?(o(),v(u,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:l(()=>[p(d(Ja.value),1)]),_:1})):f("",!0)]),a(i,{class:j(["po-filter-toggle__arrow",{"is-open":!bt.value}])},{default:l(()=>[a(E(Ol))]),_:1},8,["class"])]),O(a($,{class:"ls-form stats-filter-form",model:k,inline:""},{default:l(()=>[a(Mr,{"time-type":E(Re),"onUpdate:timeType":e[1]||(e[1]=s=>Ra(Re)?Re.value=s:null),"date-range":E(Kt),"onUpdate:dateRange":e[2]||(e[2]=s=>Ra(Kt)?Kt.value=s:null),label:"创建时间",variant:"inline","show-all":"","picker-width":"260px",onTimeTypeChange:cs,onCustomChange:ms},null,8,["time-type","date-range"]),a(y,{class:"w-[260px]",label:"订单号"},{default:l(()=>[a(g,{modelValue:k.order_no,"onUpdate:modelValue":e[3]||(e[3]=s=>k.order_no=s),placeholder:"业务订单号",clearable:"",onKeyup:dt(E(J),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(y,{class:"w-[140px]",label:"处方ID"},{default:l(()=>[a(g,{modelValue:k.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=s=>k.prescription_id=s),placeholder:"处方ID",clearable:"",onKeyup:dt(E(J),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(y,{class:"w-[220px]",label:"患者"},{default:l(()=>[a(g,{modelValue:k.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=s=>k.patient_keyword=s),placeholder:"姓名 / 手机号",clearable:"",onKeyup:dt(E(J),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(y,{class:"w-[220px]",label:"快递"},{default:l(()=>[a(g,{modelValue:k.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=s=>k.express_keyword=s),placeholder:"快递单号 / 公司",clearable:"",onKeyup:dt(E(J),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),Ml.value?(o(),v(y,{key:0,class:"w-[200px]",label:"下单人"},{default:l(()=>[a(F,{modelValue:k.audit_admin_id,"onUpdate:modelValue":e[7]||(e[7]=s=>k.audit_admin_id=s),clearable:"",filterable:"",placeholder:"全部下单人",class:"!w-full"},{default:l(()=>[(o(!0),_(T,null,W(Ua.value,s=>(o(),v(x,{key:s.id,label:s.name,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):f("",!0),a(y,{class:"w-[200px]",label:"医生"},{default:l(()=>[a(F,{modelValue:k.doctor_id,"onUpdate:modelValue":e[8]||(e[8]=s=>k.doctor_id=s),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:l(()=>[(o(!0),_(T,null,W(Wt.value,s=>(o(),v(x,{key:s.id,label:s.name,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(y,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:l(()=>[a(se,{modelValue:k.assistant_dept_id,"onUpdate:modelValue":e[9]||(e[9]=s=>k.assistant_dept_id=s),data:_t.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:Wl,placeholder:"医助部门(选父级含子级)",onChange:vs},null,8,["modelValue","data"])]),_:1}),a(y,{class:"w-[200px]",label:"医助"},{default:l(()=>[a(F,{modelValue:k.assistant_id,"onUpdate:modelValue":e[10]||(e[10]=s=>k.assistant_id=s),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:l(()=>[(o(!0),_(T,null,W(qa.value,s=>(o(),v(x,{key:s.id,label:s.name,value:s.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(y,null,{default:l(()=>[a(h,{type:"primary",onClick:E(J)},{default:l(()=>[...e[107]||(e[107]=[p("查询",-1)])]),_:1},8,["onClick"]),a(h,{onClick:ys},{default:l(()=>[...e[108]||(e[108]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[Ht,!bt.value]])]),_:1}),O((o(),v(n,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:l(()=>[r("div",vo,[r("div",yo,[r("div",go,[e[110]||(e[110]=r("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),r("span",bo,"共 "+d(E(te).count)+" 条",1)]),r("div",xo,[r("div",{class:j(["po-focus-board__item is-pending-rx",{"is-active":re.value==="pendingRx"}]),onClick:e[11]||(e[11]=s=>ft("pendingRx"))},[e[111]||(e[111]=r("span",{class:"po-focus-board__label"},"待处方审核",-1)),r("strong",ko,d(vt.value.pendingRx),1)],2),r("div",{class:j(["po-focus-board__item is-pending-pay",{"is-active":re.value==="pendingPay"}]),onClick:e[12]||(e[12]=s=>ft("pendingPay"))},[e[112]||(e[112]=r("span",{class:"po-focus-board__label"},"待支付审核",-1)),r("strong",ho,d(vt.value.pendingPay),1)],2),r("div",{class:j(["po-focus-board__item is-pending-ship",{"is-active":re.value==="pendingShip"}]),onClick:e[13]||(e[13]=s=>ft("pendingShip"))},[e[113]||(e[113]=r("span",{class:"po-focus-board__label"},"待发货",-1)),r("strong",wo,d(vt.value.pendingShip),1)],2),r("div",{class:j(["po-focus-board__item is-risk",{"is-active":re.value==="risk"}]),onClick:e[14]||(e[14]=s=>ft("risk"))},[e[114]||(e[114]=r("span",{class:"po-focus-board__label"},"重点异常",-1)),r("strong",Vo,d(vt.value.risk),1)],2)])])]),r("div",So,[!E(te).lists.length&&!E(te).loading?(o(),v(ge,{key:0,description:"暂无订单","image-size":88})):f("",!0),(o(!0),_(T,null,W(E(te).lists,s=>(o(),_("div",{key:s.id,class:j(["po-card",{"po-card--focus":yt&&yt({row:s})==="po-row-focus","po-card--risk":yt&&yt({row:s})==="po-row-risk"}]),onClick:R=>ca(s.id)},[r("div",Co,[r("div",Po,[r("span",Ao,d(s.order_no||"—"),1)]),r("div",Oo,[a(u,{size:"small",effect:"plain",type:E(_i)(s)},{default:l(()=>[p(d(E(fi)(s)),1)]),_:2},1032,["type"]),r("span",Ro,"#"+d(s.id),1)])]),Vt(s.recipient_phone,s.prescription_phone)?(o(),_("div",To,[a(i,null,{default:l(()=>[a(E(qr))]),_:1}),e[115]||(e[115]=r("span",null,"收货手机与处方手机不一致",-1))])):f("",!0),r("div",Eo,[r("div",Uo,[e[116]||(e[116]=r("span",{class:"po-card__label"},"收货人",-1)),r("span",Do,d(s.recipient_name||"—"),1)]),r("div",Fo,[e[117]||(e[117]=r("span",{class:"po-card__label"},"金额",-1)),r("span",$o,"¥"+d(s.amount),1)])]),r("div",zo,[r("div",qo,[e[118]||(e[118]=r("span",{class:"po-card__label"},"手机",-1)),r("span",{class:j(["po-card__value",Vt(s.recipient_phone,s.prescription_phone)?"text-red-600 font-semibold":""])},d(s.recipient_phone||"—"),3)]),r("div",jo,[e[119]||(e[119]=r("span",{class:"po-card__label"},"费用类别",-1)),r("span",Lo,d(gt(s.fee_type)),1)])]),r("div",Io,[r("div",Mo,[e[120]||(e[120]=r("span",{class:"po-card__label"},"处方ID",-1)),r("span",Ho,d(s.prescription_id||"—"),1)]),r("div",Bo,[e[121]||(e[121]=r("span",{class:"po-card__label"},"诊单ID",-1)),r("span",Wo,d(s.diagnosis_id||"—"),1)])]),Da()&&s.internal_cost!=null&&s.internal_cost!==""?(o(),_("div",Ko,[r("div",Go,[e[122]||(e[122]=r("span",{class:"po-card__label"},"内部成本",-1)),r("span",Qo,"¥"+d(s.internal_cost),1)]),r("div",Jo,[e[123]||(e[123]=r("span",{class:"po-card__label"},"关联支付",-1)),r("span",Xo,[Number(s.linked_pay_order_count)>0?(o(),_("span",Yo,d(s.linked_pay_order_count)+" 笔",1)):(o(),_("span",Zo,"—"))])])])):(o(),_("div",eu,[r("div",tu,[e[124]||(e[124]=r("span",{class:"po-card__label"},"关联支付",-1)),r("span",au,[Number(s.linked_pay_order_count)>0?(o(),_("span",lu,d(s.linked_pay_order_count)+" 笔",1)):(o(),_("span",su,"—"))])]),r("div",nu,[e[125]||(e[125]=r("span",{class:"po-card__label"},"创建时间",-1)),r("span",ru,d(Se(s.create_time)),1)])])),r("div",iu,[a(u,{type:La(s.prescription_audit_status),size:"small",class:j(Gt("rx",s))},{default:l(()=>[p(" 处方审: "+d(ja(s.prescription_audit_status)),1)]),_:2},1032,["type","class"]),a(u,{type:La(s.payment_slip_audit_status),size:"small",class:j(Gt("pay",s))},{default:l(()=>[p(" 支付审: "+d(ja(s.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),a(u,{type:gs(s.fulfillment_status),size:"small",class:j(Gt("fulfillment",s))},{default:l(()=>[p(d(Qt(s.fulfillment_status)),1)]),_:2},1032,["type","class"])]),r("div",ou,[s.doctor_name?(o(),_("span",uu,"医:"+d(s.doctor_name),1)):f("",!0),s.creator_name?(o(),_("span",du,"建:"+d(s.creator_name),1)):f("",!0),Da()&&s.internal_cost!=null&&s.internal_cost!==""?f("",!0):(o(),_("span",pu,d(Se(s.create_time)),1))]),r("div",{class:"po-card__actions",onClick:e[15]||(e[15]=Bt(()=>{},["stop"]))},[O((o(),v(h,{type:"primary",size:"small",onClick:R=>ca(s.id)},{default:l(()=>[p(d(Hl.value),1)]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/detail"]]]),Ba(s)?O((o(),v(h,{key:0,size:"small",onClick:R=>rn(s)},{default:l(()=>[...e[126]||(e[126]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/edit"]]]):f("",!0),Vs(s)?O((o(),v(h,{key:1,type:"success",size:"small",onClick:R=>vn(s)},{default:l(()=>[...e[127]||(e[127]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ddcode"]]]):f("",!0),Ka(s)?O((o(),v(h,{key:2,type:"primary",size:"small",onClick:R=>_l(s)},{default:l(()=>[...e[128]||(e[128]=[p("发货",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ship"]]]):f("",!0),Ss(s)?(o(),v(Vl,{key:3,trigger:"click",onCommand:R=>Ns(R,s)},{dropdown:l(()=>[a(jt,null,{default:l(()=>[Jt(s)?(o(),v(he,{key:0,command:"addPayOrder"},{default:l(()=>[...e[130]||(e[130]=[p("补齐支付单",-1)])]),_:1})):f("",!0),Xt(s)?(o(),v(he,{key:1,command:"complete"},{default:l(()=>[...e[131]||(e[131]=[p("完成订单",-1)])]),_:1})):f("",!0),Yt(s)?(o(),v(he,{key:2,command:"refund"},{default:l(()=>[...e[132]||(e[132]=[r("span",{class:"text-red-500"},"退款",-1)])]),_:1})):f("",!0),Ga(s)?O((o(),v(he,{key:3,command:"uploadPharmacy"},{default:l(()=>[...e[133]||(e[133]=[p("上传药房",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/uploadToPharmacy"]]]):f("",!0),Wa(s)?(o(),v(he,{key:4,command:"withdraw",divided:""},{default:l(()=>[...e[134]||(e[134]=[r("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):f("",!0)]),_:2},1024)]),default:l(()=>[a(h,{size:"small"},{default:l(()=>[e[129]||(e[129]=p(" 更多",-1)),a(i,{class:"el-icon--right"},{default:l(()=>[a(E(Ol))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):f("",!0)])],10,No))),128))]),r("div",cu,[a(Sa,{modelValue:E(te),"onUpdate:modelValue":e[16]||(e[16]=s=>Ra(te)?te.value=s:null),onChange:E(M)},null,8,["modelValue","onChange"])])]),_:1})),[[Ae,E(te).loading]]),a(Ca,{modelValue:X.value,"onUpdate:modelValue":e[28]||(e[28]=s=>X.value=s),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:l(()=>{var s,R;return[r("div",mu,[r("div",_u,[e[135]||(e[135]=r("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(s=c.value)!=null&&s.order_no?(o(),v(u,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:l(()=>[p(d(c.value.order_no),1)]),_:1})):f("",!0),(R=c.value)!=null&&R.gancao_reciperl_order_no?(o(),v(u,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:l(()=>[p("甘草 "+d(c.value.gancao_reciperl_order_no),1)]),_:1})):f("",!0)]),c.value?(o(),_("div",fu,[a(Br,{order:c.value,onResolved:gn},null,8,["order"]),xs(c.value)?O((o(),v(h,{key:0,type:"warning",size:"small",plain:"",onClick:e[17]||(e[17]=N=>ul(c.value,"prescription"))},{default:l(()=>[...e[136]||(e[136]=[p(" 处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):f("",!0),hs(c.value)?O((o(),v(h,{key:1,type:"info",size:"small",plain:"",onClick:e[18]||(e[18]=N=>En(c.value))},{default:l(()=>[...e[137]||(e[137]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):f("",!0),ks(c.value)?O((o(),v(h,{key:2,type:"warning",size:"small",plain:"",onClick:e[19]||(e[19]=N=>ul(c.value,"payment"))},{default:l(()=>[...e[138]||(e[138]=[p(" 支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):f("",!0),ws(c.value)?O((o(),v(h,{key:3,type:"info",size:"small",plain:"",onClick:e[20]||(e[20]=N=>Un(c.value))},{default:l(()=>[...e[139]||(e[139]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):f("",!0),Ka(c.value)?O((o(),v(h,{key:4,type:"primary",size:"small",plain:"",onClick:e[21]||(e[21]=N=>_l(c.value))},{default:l(()=>[...e[140]||(e[140]=[p(" 确认发货 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/ship"]]]):f("",!0),Jt(c.value)?O((o(),v(h,{key:5,type:"success",size:"small",plain:"",onClick:e[22]||(e[22]=N=>yl(c.value))},{default:l(()=>[...e[141]||(e[141]=[p(" 关联支付单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/addPayOrder"]]]):f("",!0),Xt(c.value)?O((o(),v(h,{key:6,type:"primary",size:"small",plain:"",onClick:e[23]||(e[23]=N=>gl(c.value))},{default:l(()=>[...e[142]||(e[142]=[p(" 完成订单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/complete"]]]):f("",!0),Yt(c.value)?O((o(),v(h,{key:7,type:"danger",size:"small",plain:"",onClick:e[24]||(e[24]=N=>vl(c.value))},{default:l(()=>[...e[143]||(e[143]=[p(" 退款 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/refund"]]]):f("",!0)])):f("",!0)])]}),default:l(()=>[ea.value?(o(),v(rt,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(o(),_("div",vu,[Be.value?(o(),v(ee,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:l(()=>[r("div",yu,[r("div",null,[e[144]||(e[144]=p(" 处方手机: ",-1)),r("span",gu,d(As.value),1)]),r("div",null,[e[145]||(e[145]=p(" 订单收货手机: ",-1)),r("span",bu,d(Os.value),1)]),e[146]||(e[146]=r("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):f("",!0),r("div",xu,[a(Ie,{class:"po-workflow-steps",direction:"vertical",active:xt.value,"finish-status":"success"},{default:l(()=>[a(pe,{title:"业务订单创建",description:Se(c.value.create_time)},null,8,["description"]),a(pe,{title:"处方单双审",status:kt.value},{description:l(()=>[kt.value==="error"?(o(),_("span",ku,"处方被驳回")):kt.value==="wait"?(o(),_("span",hu,"等待审核")):kt.value==="success"?(o(),_("span",wu,"双审通过")):(o(),_("span",Vu,"进行中"))]),_:1},8,["status"]),a(pe,{title:"支付单审核",status:ht.value},{description:l(()=>[ht.value==="error"?(o(),_("span",Su,"支付审核驳回")):ht.value==="wait"?(o(),_("span",Nu,"等待审核")):ht.value==="success"?(o(),_("span",Cu,"审核通过")):(o(),_("span",Pu,"进行中"))]),_:1},8,["status"]),a(pe,{title:"发货与履约",status:Te.value},{description:l(()=>{var s,R,N;return[Te.value==="process"&&Number((s=c.value)==null?void 0:s.fulfillment_status)===7?(o(),_("span",Au,"进行中")):Te.value==="process"?(o(),_("span",Ou,"等待发货/补充单号")):Te.value==="wait"?(o(),_("span",Ru,"待转入履约")):Te.value==="success"?(o(),_("span",Tu,d(Qt((R=c.value)==null?void 0:R.fulfillment_status)),1)):Te.value==="error"?(o(),_("span",Eu,d(Qt((N=c.value)==null?void 0:N.fulfillment_status)),1)):f("",!0)]}),_:1},8,["status"]),a(pe,{title:"订单完成"})]),_:1},8,["active"])]),r("div",Uu,[a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[r("div",Du,[e[148]||(e[148]=r("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),Zt(c.value)?O((o(),v(h,{key:0,type:"primary",size:"small",link:"",onClick:Qs},{default:l(()=>[...e[147]||(e[147]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/updateAmount"]]]):f("",!0)]),r("div",Fu,"¥"+d(c.value.amount),1)]),_:1}),a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[149]||(e[149]=r("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),r("div",$u,"¥"+d(c.value.linked_pay_paid_total||0),1)]),_:1}),a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[150]||(e[150]=r("div",{class:"stat-title text-gray-500 text-xs mb-1"},"退款金额",-1)),r("div",{class:j(["stat-value font-bold text-xl",Number(c.value.refund_amount)>0?"text-rose-500":"text-gray-400"])}," ¥"+d(K(c.value.refund_amount||0)),3)]),_:1}),a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[151]||(e[151]=r("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),r("div",{class:j(["stat-value font-bold text-xl",Xa.value>0?"text-amber-600":"text-gray-500"])}," ¥"+d(K(Xa.value)),3)]),_:1}),a(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[152]||(e[152]=r("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),r("div",zu,d(ta.value.length)+" 笔",1)]),_:1})]),r("div",qu,[a(n,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:l(()=>[r("div",Iu,[r("div",Mu,[e[155]||(e[155]=r("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),r("span",Hu," ID: "+d(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(o(),_("div",Bu,[e[156]||(e[156]=p(" 开方人:",-1)),r("span",Wu,d(c.value.doctor_name),1)])):f("",!0),r("div",Ku,[c.value.prescription_id&&w.value&&!String(c.value.prescription_detail_error||"").trim()?O((o(),v(h,{key:0,type:"default",size:"small",link:"",onClick:Ws},{default:l(()=>[...e[157]||(e[157]=[p(" 改患者信息 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):f("",!0),c.value.prescription_id&&Ve.value?(o(),v(h,{key:1,type:"primary",size:"small",link:"",onClick:e[25]||(e[25]=s=>kl(c.value))},{default:l(()=>[...e[158]||(e[158]=[p(" 详细 ",-1)])]),_:1})):f("",!0),c.value.id&&Ve.value?(o(),v(h,{key:2,type:"warning",size:"small",link:"",loading:ze.value,icon:E(Pa),onClick:_n},{default:l(()=>[...e[159]||(e[159]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):f("",!0)])])]),default:l(()=>[c.value.prescription_audit_status===1?(o(),_("div",ju,[...e[153]||(e[153]=[r("div",{class:"stamp-inner"},"审核通过",-1)])])):f("",!0),c.value.prescription_audit_status===2?(o(),_("div",Lu,[...e[154]||(e[154]=[r("div",{class:"stamp-inner"},"已驳回",-1)])])):f("",!0),String(c.value.prescription_detail_error||"").trim()?(o(),v(ee,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):w.value?(o(),_(T,{key:3},[a(it,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:l(()=>[a(V,{label:"处方编号",span:2},{default:l(()=>[p(d(w.value.sn||"—"),1)]),_:1}),a(V,{label:"患者"},{default:l(()=>[p(d(w.value.patient_name||"—"),1)]),_:1}),a(V,{label:"性别 / 年龄"},{default:l(()=>[p(d(w.value.gender_desc||"—")+" · "+d(w.value.age??"—")+"岁 ",1)]),_:1}),a(V,{label:"手机"},{default:l(()=>[r("span",{class:j(Be.value?"rx-phone-mismatch text-red-600 font-bold":"")},d(w.value.phone||"—"),3),Be.value?(o(),v(u,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:l(()=>[...e[160]||(e[160]=[p(" 与订单手机不一致 ",-1)])]),_:1})):f("",!0)]),_:1}),a(V,{label:"处方日期"},{default:l(()=>[p(d(w.value.prescription_date||"—"),1)]),_:1}),a(V,{label:"医师"},{default:l(()=>[p(d(w.value.doctor_name||"—"),1)]),_:1}),a(V,{label:"类型"},{default:l(()=>[p(d(w.value.prescription_type||"—"),1)]),_:1}),a(V,{label:"临床诊断",span:2},{default:l(()=>[p(d(w.value.clinical_diagnosis||"—"),1)]),_:1}),Ve.value?(o(),v(V,{key:0,label:"剂数 / 用法",span:2},{default:l(()=>[p(d(c.value.dose_count??w.value.dose_count??"—")+" "+d(c.value.dose_unit||"剂")+" · "+d(w.value.usage_instruction||w.value.usage_method||"—"),1)]),_:1})):f("",!0),a(V,{label:"处方金额"},{default:l(()=>[r("span",Gu,"¥"+d(w.value.amount??"—"),1)]),_:1}),a(V,{label:"消费者审核"},{default:l(()=>[a(u,{type:Us(w.value.audit_status),size:"small"},{default:l(()=>[p(d(Es(w.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),a(V,{label:"用量"},{default:l(()=>[r("div",Qu,[r("div",null,[Ne.value?(o(),_("span",Ju,"主方:")):f("",!0),w.value.dosage_amount?(o(),_(T,{key:1},[p(d(w.value.dosage_amount)+d(w.value.dosage_unit||"g")+" ",1),w.value.prescription_type==="浓缩水丸"?(o(),_(T,{key:0},[p(" · "+d(Number(w.value.dosage_bag_count)>0?Number(w.value.dosage_bag_count):1)+"袋 ",1)],64)):f("",!0),w.value.prescription_type==="饮片"&&w.value.need_decoction!==null?(o(),_("span",Xu," ("+d(w.value.need_decoction?"代煎":"不代煎")+") ",1)):f("",!0)],64)):(o(),_(T,{key:2},[p("—")],64))]),Ne.value&&Z.value?(o(),_("div",Yu,[e[161]||(e[161]=r("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),Z.value.dosage_amount!=null&&Z.value.dosage_amount!==0?(o(),_(T,{key:0},[p(d(Z.value.dosage_amount)+d(w.value.dosage_unit||"g")+" ",1),w.value.prescription_type==="浓缩水丸"?(o(),_(T,{key:0},[p(" · "+d(Number(Z.value.dosage_bag_count)>0?Number(Z.value.dosage_bag_count):1)+"袋 ",1)],64)):f("",!0),w.value.prescription_type==="饮片"?(o(),_("span",Zu," ("+d(Z.value.need_decoction?"代煎":"不代煎")+") ",1)):f("",!0)],64)):(o(),_(T,{key:1},[p("—")],64))])):f("",!0)])]),_:1}),a(V,null,{label:l(()=>[r("div",ed,[e[163]||(e[163]=r("span",null,"服用方式",-1)),c.value.prescription_id&&w.value&&!String(c.value.prescription_detail_error||"").trim()?O((o(),v(h,{key:0,type:"primary",size:"small",link:"",onClick:Ms},{default:l(()=>[...e[162]||(e[162]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionUsage"]]]):f("",!0)])]),default:l(()=>[r("div",td,[Ne.value?(o(),_(T,{key:0},[r("div",null,[e[164]||(e[164]=r("span",{class:"text-gray-500 mr-1"},"主方:",-1)),p(" 每天 "+d(w.value.times_per_day?w.value.times_per_day+" 次":"— 次")+" · 处方开立 "+d(w.value.usage_days!=null&&w.value.usage_days!==""?w.value.usage_days+" 天":"— 天"),1)]),Z.value?(o(),_("div",ad,[e[165]||(e[165]=r("span",{class:"text-gray-500 mr-1"},"辅方:",-1)),p(" 每天 "+d(Z.value.times_per_day?Z.value.times_per_day+" 次":"— 次")+" · 处方开立 "+d(Z.value.usage_days!=null&&Number(Z.value.usage_days)>0?Z.value.usage_days+" 天":"— 天"),1)])):f("",!0)],64)):(o(),_(T,{key:1},[r("div",null,[e[166]||(e[166]=r("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+d(w.value.times_per_day?w.value.times_per_day+" 次":"—"),1)]),r("div",null,[e[167]||(e[167]=r("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+d(w.value.usage_days!=null&&w.value.usage_days!==""?w.value.usage_days+" 天":"—"),1)])],64)),r("div",null,[e[168]||(e[168]=r("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+d(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),Za.value?(o(),v(V,{key:1,label:"忌口",span:2},{default:l(()=>[p(d(Za.value),1)]),_:1})):f("",!0),a(V,{label:"状态",span:2},{default:l(()=>[a(u,{type:Number(w.value.void_status)===1?"danger":"success",size:"small"},{default:l(()=>[p(d(Number(w.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),Rs.value?(o(),_("div",ld,[e[169]||(e[169]=r("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),tl.value.length?(o(),v(Lt,{key:0,data:tl.value,size:"small",border:"",stripe:"","max-height":"260"},{default:l(()=>[a(D,{type:"index",label:"#",width:"48",align:"center"}),a(D,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),a(D,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(o(),v(ge,{key:1,description:"无处方药材明细","image-size":64}))])):f("",!0)],64)):(o(),v(ge,{key:4,description:"无处方数据","image-size":72}))]),_:1}),r("div",sd,[a(n,{shadow:"never",class:"po-panel border-gray-100"},{header:l(()=>[...e[170]||(e[170]=[r("div",{class:"flex items-center justify-between"},[r("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),r("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:l(()=>[Ee.value.length?(o(),v(Lt,{key:0,data:Ee.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:l(()=>[a(D,{prop:"id",label:"ID",width:"70"}),a(D,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),a(D,{label:"类型",width:"90"},{default:l(({row:s})=>[p(d(s.order_type_desc||gt(s.order_type)),1)]),_:1}),a(D,{label:"金额",width:"86",align:"right"},{default:l(({row:s})=>[r("span",nd,"¥"+d(s.amount),1)]),_:1}),a(D,{label:"状态",width:"100",align:"center"},{default:l(({row:s})=>[a(u,{type:ll(s.status),size:"small"},{default:l(()=>[p(d(s.status_desc||Qa(s.status)),1)]),_:2},1032,["type"]),s.is_exempt===1?(o(),v(u,{key:0,type:"warning",size:"small",class:"ml-1"},{default:l(()=>[...e[171]||(e[171]=[p("豁免",-1)])]),_:1})):f("",!0)]),_:1}),a(D,{label:"方式","min-width":"120","show-overflow-tooltip":""},{default:l(({row:s})=>[p(d(Fe(s)),1)]),_:1}),a(D,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),a(D,{label:"创建时间","min-width":"136"},{default:l(({row:s})=>[p(d(sl(s.create_time)),1)]),_:1})]),_:1},8,["data"])):(o(),v(ge,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),a(n,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:l(()=>[r("div",od,[r("div",ud,[e[175]||(e[175]=r("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(o(),_("span",dd,[e[174]||(e[174]=p(" 创建人:",-1)),r("span",pd,d(c.value.creator_name),1)])):f("",!0)])])]),default:l(()=>[c.value.payment_slip_audit_status===1?(o(),_("div",rd,[...e[172]||(e[172]=[r("div",{class:"stamp-inner"},"审核通过",-1)])])):f("",!0),c.value.payment_slip_audit_status===2?(o(),_("div",id,[...e[173]||(e[173]=[r("div",{class:"stamp-inner"},"已驳回",-1)])])):f("",!0),ta.value.length?(o(),v(Lt,{key:2,data:ta.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:l(()=>[a(D,{prop:"id",label:"ID",width:"70"}),a(D,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),a(D,{label:"类型",width:"90"},{default:l(({row:s})=>[p(d(s.order_type_desc||gt(s.order_type)),1)]),_:1}),a(D,{label:"金额",width:"86",align:"right"},{default:l(({row:s})=>[r("span",cd,"¥"+d(s.amount),1)]),_:1}),a(D,{label:"状态",width:"100",align:"center"},{default:l(({row:s})=>[a(u,{type:ll(s.status),size:"small"},{default:l(()=>[p(d(s.status_desc||Qa(s.status)),1)]),_:2},1032,["type"]),s.is_exempt===1?(o(),v(u,{key:0,type:"warning",size:"small",class:"ml-1"},{default:l(()=>[...e[176]||(e[176]=[p("豁免",-1)])]),_:1})):f("",!0)]),_:1}),a(D,{label:"方式","min-width":"120","show-overflow-tooltip":""},{default:l(({row:s})=>[p(d(Fe(s)),1)]),_:1}),a(D,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),a(D,{label:"创建时间","min-width":"136"},{default:l(({row:s})=>[p(d(sl(s.create_time)),1)]),_:1})]),_:1},8,["data"])):(o(),v(ge,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),a(n,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:l(()=>[...e[177]||(e[177]=[r("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:l(()=>[a(it,{column:1,border:"",size:"small",class:"po-desc"},{default:l(()=>[a(V,{label:"诊单ID"},{default:l(()=>[r("div",md,[r("div",_d,[e[178]||(e[178]=r("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),r("span",fd,d(c.value.diagnosis_id||"—"),1),e[179]||(e[179]=r("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(o(),v(h,{key:0,type:"primary",plain:"",round:"",size:"default",class:"po-biz-diagnosis-id__btn w-full shrink-0 touch-manipulation sm:w-auto !m-0",icon:E(jr),"aria-label":"打开关联诊单详情(患者与病历)",onClick:$l},{default:l(()=>[...e[180]||(e[180]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):f("",!0)])]),_:1}),a(V,{label:"创建时间"},{default:l(()=>[p(d(Se(c.value.create_time)),1)]),_:1}),a(V,{label:"收货人"},{default:l(()=>[p(d(c.value.recipient_name),1)]),_:1}),a(V,{label:"挂号关联",span:3},{default:l(()=>[Y.value?(o(),_(T,{key:0},[r("div",vd,[r("span",null,[e[181]||(e[181]=p("预约 ",-1)),r("span",yd,"#"+d(Y.value.id),1)]),r("span",gd,"时间:"+d(Y.value.appointment_date)+" "+d(Y.value.period)+" "+d(Y.value.appointment_time),1),a(u,{size:"small",type:"info"},{default:l(()=>[p(d(Y.value.appointment_type_desc),1)]),_:1}),a(u,{size:"small"},{default:l(()=>[p(d(Y.value.status_desc),1)]),_:1}),Y.value.doctor_name?(o(),_("span",bd,"接诊:"+d(Y.value.doctor_name),1)):f("",!0),Y.value.channel_source?(o(),_("span",xd,"渠道:"+d(Y.value.channel_source),1)):f("",!0),el.value?(o(),v(u,{key:2,size:"small",effect:"plain"},{default:l(()=>[p(d(el.value),1)]),_:1})):f("",!0)]),String(Y.value.remark||"").trim()?(o(),_("p",kd," 备注:"+d(Y.value.remark),1)):f("",!0)],64)):(o(),_("span",hd,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),a(V,{label:"收货手机"},{default:l(()=>[r("span",{class:j(Be.value?"text-red-600 font-bold font-mono":"font-mono")},d(c.value.recipient_phone||"—"),3),Be.value?(o(),v(u,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:l(()=>[...e[182]||(e[182]=[p(" 与处方手机不一致 ",-1)])]),_:1})):f("",!0)]),_:1}),a(V,{label:"收货地址",span:2},{default:l(()=>[p(d(Ts.value),1)]),_:1}),a(V,{label:"复诊"},{default:l(()=>[p(d(c.value.is_follow_up?"是":"否"),1)]),_:1}),a(V,{label:"用药疗程"},{default:l(()=>[p(d(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),a(V,{label:"上次医护"},{default:l(()=>[p(d(c.value.prev_staff||"—"),1)]),_:1}),a(V,{label:"服务渠道"},{default:l(()=>[p(d(c.value.service_channel||"—"),1)]),_:1}),a(V,{label:"服务套餐"},{default:l(()=>[p(d(Cs.value),1)]),_:1}),a(V,{label:"费用类别"},{default:l(()=>[p(d(gt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(o(),v(V,{key:0,label:"内部成本"},{default:l(()=>[p(" ¥"+d(c.value.internal_cost),1)]),_:1})):f("",!0),a(V,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:l(()=>[p(d(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),a(V,{label:"快递公司"},{default:l(()=>[p(d(js(c.value.express_company)),1)]),_:1}),O((o(),v(V,{label:"备注",span:3},{default:l(()=>[p(d(c.value.remark_extra||"—"),1)]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(V,{label:"医助备注",span:3},{default:l(()=>[p(d(c.value.remark_assistant||"—"),1)]),_:1}),a(V,{label:"处方审核意见",span:3},{default:l(()=>[r("span",wd,d(c.value.prescription_audit_remark||"—"),1)]),_:1}),a(V,{label:"支付审核意见",span:3},{default:l(()=>[r("span",Vd,d(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(o(),v(n,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:l(()=>[...e[183]||(e[183]=[r("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:l(()=>{var s,R,N,L,ot,ut;return[e[189]||(e[189]=r("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),r("div",Sd,[a(g,{modelValue:Ke.value,"onUpdate:modelValue":e[26]||(e[26]=be=>Ke.value=be),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"po-logistics-toolbar__phone",onKeyup:dt(ra,["enter"])},null,8,["modelValue"]),a(F,{modelValue:We.value,"onUpdate:modelValue":e[27]||(e[27]=be=>We.value=be),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:l(()=>[a(x,{label:"自动识别",value:"auto"}),a(x,{label:"顺丰速运",value:"sf"}),a(x,{label:"京东快递",value:"jd"}),a(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),O((o(),v(h,{type:"primary",plain:"",size:"default",loading:St.value,class:"po-logistics-toolbar__btn",onClick:ra},{icon:l(()=>[a(i,null,{default:l(()=>[a(E(Lr))]),_:1})]),default:l(()=>[e[184]||(e[184]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[q,["tcm.prescriptionOrder/logisticsTrace"]]]),r("div",Nd,[a(Na,{href:na.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[185]||(e[185]=[p("顺丰官网",-1)])]),_:1},8,["href"]),a(Na,{href:na.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[186]||(e[186]=[p("京东物流",-1)])]),_:1},8,["href"]),a(Na,{href:na.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[187]||(e[187]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((s=G.value)==null?void 0:s.hint)||"").trim()?(o(),v(ee,{key:0,title:String(((R=G.value)==null?void 0:R.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):f("",!0),St.value&&!G.value?(o(),_("div",Cd,[a(i,{class:"is-loading mr-1"},{default:l(()=>[a(E(Ir))]),_:1}),e[188]||(e[188]=p("正在加载物流轨迹... ",-1))])):G.value?(o(),_("div",Pd,[(N=G.value)!=null&&N.state_text?(o(),_("div",Ad,[r("span",Od,"状态:"+d(G.value.state_text),1),(L=G.value)!=null&&L.carrier_label?(o(),v(u,{key:0,size:"small",type:"info"},{default:l(()=>[p(d(G.value.carrier_label),1)]),_:1})):f("",!0),(ot=G.value)!=null&&ot.source?(o(),_("span",Rd," ["+d(G.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):f("",!0),(ut=G.value)!=null&&ut.last_query_time?(o(),_("span",Td," 更新时间:"+d(G.value.last_query_time),1)):f("",!0)])):f("",!0),nl.value.length?(o(),v(Nl,{key:1,class:"mt-2 pl-2"},{default:l(()=>[(o(!0),_(T,null,W(nl.value,(be,Oe)=>(o(),v(Sl,{key:Oe,type:Oe===0?"primary":"info",hollow:Oe!==0,timestamp:be.time,placement:"top"},{default:l(()=>[r("span",{class:j(Oe===0?"text-gray-800 font-medium":"text-gray-500")},d(be.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(o(),v(ge,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):f("",!0)]}),_:1})):f("",!0),O((o(),v(n,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:l(()=>[...e[190]||(e[190]=[r("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:l(()=>[Ue.value.length?(o(),v(Nl,{key:0,class:"mt-2 pl-2"},{default:l(()=>[(o(!0),_(T,null,W(Ue.value,(s,R)=>(o(),v(Sl,{key:s.id,type:R===0?"primary":"info",hollow:R!==0,timestamp:Se(s.create_time),placement:"top"},{default:l(()=>[r("div",Ed,[r("span",Ud,d(s.admin_name),1),a(u,{size:"small",type:"info"},{default:l(()=>[p(d(qs(s.action)),1)]),_:2},1024)]),r("span",{class:j(R===0?"text-gray-800 font-medium":"text-gray-500")},d(s.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(o(),v(ge,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[q,["tcm.prescriptionOrder/logs"]]])])):f("",!0)]),_:1},8,["modelValue"]),a(me,{modelValue:Ge.value,"onUpdate:modelValue":e[31]||(e[31]=s=>Ge.value=s),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:Gs},{footer:l(()=>[a(h,{onClick:e[30]||(e[30]=s=>Ge.value=!1)},{default:l(()=>[...e[192]||(e[192]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:sa.value,onClick:rl},{default:l(()=>[...e[193]||(e[193]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[a($,{ref_key:"updateAmountFormRef",ref:Nt,model:fe,rules:$s,"label-width":"84px",onSubmit:Bt(rl,["prevent"])},{default:l(()=>[a(y,{label:"当前金额"},{default:l(()=>{var s;return[r("div",Dd,"¥"+d(K((s=c.value)==null?void 0:s.amount)),1)]}),_:1}),a(y,{label:"新金额",prop:"amount"},{default:l(()=>[a(ne,{modelValue:fe.amount,"onUpdate:modelValue":e[29]||(e[29]=s=>fe.amount=s),min:0,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[191]||(e[191]=r("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(me,{modelValue:Pe.value,"onUpdate:modelValue":e[52]||(e[52]=s=>Pe.value=s),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:ln},{footer:l(()=>[r("div",fp,[r("div",vp,[r("span",yp,"第 "+d(I.value+1)+" / 3 步",1),I.value===2&&H.value>0?(o(),_("span",gp," 订单金额与关联支付单合计须 ≥ ¥"+d(K(H.value)),1)):f("",!0)]),r("div",bp,[a(h,{size:"large",onClick:e[51]||(e[51]=s=>Pe.value=!1)},{default:l(()=>[...e[206]||(e[206]=[p("取消",-1)])]),_:1}),I.value>0?(o(),v(h,{key:0,size:"large",onClick:sn},{default:l(()=>[...e[207]||(e[207]=[p("上一步",-1)])]),_:1})):f("",!0),I.value<2?(o(),v(h,{key:1,type:"primary",size:"large",onClick:nn},{default:l(()=>[...e[208]||(e[208]=[p(" 下一步 ",-1)])]),_:1})):f("",!0),I.value===2?(o(),v(h,{key:2,type:"primary",size:"large",loading:_a.value,onClick:on},{default:l(()=>[...e[209]||(e[209]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):f("",!0)])])]),default:l(()=>[O((o(),_("div",Fd,[oe.value?(o(),_("div",$d,[r("div",zd,[e[194]||(e[194]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",qd,[r("span",jd,"#"+d(oe.value.id),1),oe.value.sn?(o(),_("span",Ld,d(oe.value.sn),1)):f("",!0),r("span",Id,d(oe.value.patient_name||"—"),1)])]),a(Cl,{content:il.value,placement:"bottom","show-after":300},{default:l(()=>[r("div",Md,d(il.value),1)]),_:1},8,["content"])])):f("",!0),a(Ie,{active:I.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:l(()=>[a(pe,{title:"患者与收货",description:"诊单与物流地址"}),a(pe,{title:"服务与支付单",description:"套餐与关联收款"}),a(pe,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Hd,d(Xs.value),1),a($,{ref_key:"editFormRef",ref:De,model:m,rules:an.value,"label-width":"108px",class:"create-order-form"},{default:l(()=>[O(r("div",Bd,[a(It,{gutter:20},{default:l(()=>[a(B,{span:12},{default:l(()=>[a(y,{label:"收货人",prop:"recipient_name"},{default:l(()=>[a(g,{modelValue:m.recipient_name,"onUpdate:modelValue":e[32]||(e[32]=s=>m.recipient_name=s),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:"收货手机",prop:"recipient_phone"},{default:l(()=>[a(g,{modelValue:m.recipient_phone,"onUpdate:modelValue":e[33]||(e[33]=s=>m.recipient_phone=s),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{span:24},{default:l(()=>[a(y,{label:"省市区",prop:"region"},{default:l(()=>[a(Ln,{modelValue:m.region,"onUpdate:modelValue":e[34]||(e[34]=s=>m.region=s),options:ct.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),a(B,{span:24},{default:l(()=>[a(y,{label:"详细地址",prop:"shipping_address"},{default:l(()=>[a(g,{modelValue:m.shipping_address,"onUpdate:modelValue":e[35]||(e[35]=s=>m.shipping_address=s),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Ht,I.value===0]]),O(r("div",Wd,[Ve.value?(o(),v(It,{key:0,gutter:20,class:"mb-1"},{default:l(()=>[a(B,{span:24},{default:l(()=>[r("div",Kd,[e[197]||(e[197]=r("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),m.prescription_id?(o(),v(h,{key:0,type:"primary",size:"small",link:"",onClick:$n},{default:l(()=>[...e[195]||(e[195]=[p(" 详细 ",-1)])]),_:1})):f("",!0),m.id?(o(),v(h,{key:1,type:"warning",size:"small",link:"",loading:ze.value,icon:E(Pa),onClick:mn},{default:l(()=>[...e[196]||(e[196]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):f("",!0),r("span",Gd,"ID: "+d(m.prescription_id||"—"),1)]),r("div",Qd,[ol.value.length?(o(),_("div",Jd,[e[198]||(e[198]=r("div",{class:"text-gray-500"},"创建人所属部门",-1)),(o(!0),_(T,null,W(ol.value,(s,R)=>(o(),_("div",{key:R,class:"pl-0 min-w-0"},[s.length?(o(),v(Mn,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:l(()=>[(o(!0),_(T,null,W(s,(N,L)=>(o(),v(In,{key:L},{default:l(()=>[r("span",Xd,d(N),1)]),_:2},1024))),128))]),_:2},1024)):f("",!0)]))),128))])):(o(),_("div",Yd,"创建人所属部门:—"))])]),_:1}),a(B,{xs:24,sm:8},{default:l(()=>[a(y,{label:"复诊"},{default:l(()=>[a(Hn,{modelValue:m.is_follow_up,"onUpdate:modelValue":e[36]||(e[36]=s=>m.is_follow_up=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{xs:24,sm:8},{default:l(()=>[a(y,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:l(()=>[r("div",Zd,[a(ne,{modelValue:m.medication_days,"onUpdate:modelValue":e[37]||(e[37]=s=>m.medication_days=s),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[199]||(e[199]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(B,{xs:24,sm:8},{default:l(()=>[a(y,{label:"上次医生"},{default:l(()=>[a(g,{modelValue:m.prev_staff,"onUpdate:modelValue":e[38]||(e[38]=s=>m.prev_staff=s),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:al.value,prop:"dose_count"},{default:l(()=>[a(ne,{modelValue:m.dose_count,"onUpdate:modelValue":e[39]||(e[39]=s=>m.dose_count=s),min:1,placeholder:al.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:"剂量单位",prop:"dose_unit"},{default:l(()=>[a(F,{modelValue:m.dose_unit,"onUpdate:modelValue":e[40]||(e[40]=s=>m.dose_unit=s),placeholder:"请选择",class:"w-full"},{default:l(()=>[a(x,{label:"剂",value:"剂"}),a(x,{label:"丸",value:"丸"}),a(x,{label:"袋",value:"袋"}),a(x,{label:"盒",value:"盒"}),a(x,{label:"瓶",value:"瓶"}),a(x,{label:"膏",value:"膏"}),a(x,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):f("",!0),a(It,{gutter:20},{default:l(()=>[a(B,{span:12},{default:l(()=>[a(y,{label:"服务渠道"},{default:l(()=>[a(g,{modelValue:m.service_channel,"onUpdate:modelValue":e[41]||(e[41]=s=>m.service_channel=s),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:"服务套餐"},{default:l(()=>[a(F,{modelValue:m.service_package,"onUpdate:modelValue":e[42]||(e[42]=s=>m.service_package=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:l(()=>[(o(!0),_(T,null,W(Zs.value,s=>(o(),v(x,{key:s.value,label:s.name,value:s.value,disabled:s.status===0},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(B,{span:24},{default:l(()=>[a(y,{label:"物流设置"},{default:l(()=>[r("div",ep,[a(F,{modelValue:m.express_company,"onUpdate:modelValue":e[43]||(e[43]=s=>m.express_company=s),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:l(()=>[a(x,{label:"自动识别",value:"auto"}),a(x,{label:"顺丰速运",value:"sf"}),a(x,{label:"京东快递",value:"jd"}),a(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),a(g,{modelValue:m.tracking_number,"onUpdate:modelValue":e[44]||(e[44]=s=>m.tracking_number=s),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),a(B,{span:24},{default:l(()=>[a(y,{label:"关联支付单",prop:"pay_order_ids",required:H.value>0},{default:l(()=>[a(F,{modelValue:m.pay_order_ids,"onUpdate:modelValue":e[45]||(e[45]=s=>m.pay_order_ids=s),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:H.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:fa.value},{default:l(()=>[(o(!0),_(T,null,W(Xe.value,s=>(o(),v(x,{key:s.id,label:`${s.order_no} · ¥${s.amount} · ${Ct(s.order_type)} · ${Fe(s)}`,value:s.id,class:"!h-auto py-1.5"},{default:l(()=>[r("div",tp,[r("div",ap,[r("span",lp,d(s.order_no),1),r("span",sp,"¥"+d(s.amount),1)]),r("div",np,[r("span",rp,[p(d(Ct(s.order_type))+" · "+d(Fe(s)),1),s.remark?(o(),_(T,{key:0},[p(" · "+d(s.remark),1)],64)):f("",!0)]),r("span",ip,d(String(s.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",op,[H.value>0?(o(),_(T,{key:0},[r("span",up,"当前已开启关联支付门槛(¥"+d(K(H.value))+"),须至少选择一笔支付单。",1),e[200]||(e[200]=r("span",{class:"mx-1"},null,-1))],64)):f("",!0),e[202]||(e[202]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(Cl,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:l(()=>[...e[201]||(e[201]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[Ht,I.value===1]]),O(r("div",dp,[r("div",{class:j(["create-order-deposit-bar",va.value>=H.value?"is-ok":"is-warn"])},[r("div",pp,[e[203]||(e[203]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+d(K(H.value)),1),r("span",cp,d(H.value>0?"须 ≥ 此值":"未设置"),1)]),e[205]||(e[205]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",mp,[e[204]||(e[204]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+d(K(va.value)),1),r("span",_p,d(va.value>=H.value?"已达标":"未达标"),1)])],2),a(It,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:l(()=>[a(B,{span:12},{default:l(()=>[a(y,{label:"费用类别",prop:"fee_type"},{default:l(()=>[a(F,{modelValue:m.fee_type,"onUpdate:modelValue":e[46]||(e[46]=s=>m.fee_type=s),placeholder:"请选择",class:"w-full"},{default:l(()=>[a(x,{label:"挂号费",value:1}),a(x,{label:"问诊费",value:2}),a(x,{label:"药品费用",value:3}),a(x,{label:"首付费用",value:4}),a(x,{label:"尾款费用",value:5}),a(x,{label:"其他费用",value:6}),a(x,{label:"全部费用",value:7}),a(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(B,{span:12},{default:l(()=>[a(y,{label:"总金额",prop:"amount"},{default:l(()=>[a(ne,{modelValue:m.amount,"onUpdate:modelValue":e[47]||(e[47]=s=>m.amount=s),min:en.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),O((o(),v(B,{span:12},{default:l(()=>[a(y,{label:"内部成本"},{default:l(()=>[a(ne,{modelValue:m.internal_cost,"onUpdate:modelValue":e[48]||(e[48]=s=>m.internal_cost=s),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[q,["finance.account_log/lists"]]]),a(B,{span:24},{default:l(()=>[O((o(),v(y,{label:"药房备注"},{default:l(()=>[a(g,{modelValue:m.remark_extra,"onUpdate:modelValue":e[49]||(e[49]=s=>m.remark_extra=s),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(y,{label:"医助备注"},{default:l(()=>[a(g,{modelValue:m.remark_assistant,"onUpdate:modelValue":e[50]||(e[50]=s=>m.remark_assistant=s),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[Ht,I.value===2]])]),_:1},8,["model","rules"])])),[[Ae,ma.value]])]),_:1},8,["modelValue"]),a(me,{modelValue:Ye.value,"onUpdate:modelValue":e[57]||(e[57]=s=>Ye.value=s),title:un.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[58]||(e[58]=s=>$e.value="")},{footer:l(()=>[a(h,{onClick:e[54]||(e[54]=s=>Ye.value=!1)},{default:l(()=>[...e[211]||(e[211]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:At.value,onClick:e[55]||(e[55]=s=>dl("approve"))},{default:l(()=>[...e[212]||(e[212]=[p("同意通过",-1)])]),_:1},8,["loading"]),a(h,{type:"danger",loading:At.value,onClick:e[56]||(e[56]=s=>dl("reject"))},{default:l(()=>[...e[213]||(e[213]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:l(()=>[Ze.value&&Ze.value.completion_request===1?(o(),v(ee,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:l(()=>[r("div",xp,[e[210]||(e[210]=r("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),r("div",kp," 申请人:"+d(Ze.value.completion_request_by_name||"—"),1),r("div",hp," 申请时间:"+d(Se(Ze.value.completion_request_time)),1)])]),_:1})):f("",!0),e[214]||(e[214]=r("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),a(g,{modelValue:$e.value,"onUpdate:modelValue":e[53]||(e[53]=s=>$e.value=s),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),a(me,{modelValue:et.value,"onUpdate:modelValue":e[62]||(e[62]=s=>et.value=s),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:l(()=>[a(h,{onClick:e[61]||(e[61]=s=>et.value=!1)},{default:l(()=>[...e[216]||(e[216]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Rt.value,onClick:ml},{default:l(()=>[...e[217]||(e[217]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:l(()=>[O((o(),v($,{"label-width":"90px",class:"pr-2",onSubmit:Bt(ml,["prevent"])},{default:l(()=>[a(y,{label:"承运商"},{default:l(()=>[a(F,{modelValue:ve.express_company,"onUpdate:modelValue":e[59]||(e[59]=s=>ve.express_company=s),class:"w-full",placeholder:"选择承运商"},{default:l(()=>[a(x,{label:"自动识别",value:"auto"}),a(x,{label:"顺丰速运",value:"sf"}),a(x,{label:"京东快递",value:"jd"}),a(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),a(y,{label:"快递单号"},{default:l(()=>[a(g,{modelValue:ve.tracking_number,"onUpdate:modelValue":e[60]||(e[60]=s=>ve.tracking_number=s),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[215]||(e[215]=r("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[Ae,Rt.value]])]),_:1},8,["modelValue"]),a(me,{modelValue:at.value,"onUpdate:modelValue":e[66]||(e[66]=s=>at.value=s),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:l(()=>[a(h,{onClick:e[65]||(e[65]=s=>at.value=!1)},{default:l(()=>[...e[219]||(e[219]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Tt.value,onClick:fl},{default:l(()=>[...e[220]||(e[220]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[a(ee,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),O((o(),v($,{"label-width":"90px",class:"pr-2",onSubmit:Bt(fl,["prevent"])},{default:l(()=>[a(y,{label:"发货方式"},{default:l(()=>[a(u,{type:ae.ship_mode==="direct"?"warning":"success",effect:"plain",size:"default"},{default:l(()=>[p(d(yn.value),1)]),_:1},8,["type"]),e[218]||(e[218]=r("span",{class:"text-xs text-gray-400 ml-2"},"请在订单详情顶部「发货类型」中设置,此处不可修改",-1))]),_:1}),a(y,{label:"承运商"},{default:l(()=>[a(F,{modelValue:ae.express_company,"onUpdate:modelValue":e[63]||(e[63]=s=>ae.express_company=s),class:"w-full"},{default:l(()=>[a(x,{label:"自动识别",value:"auto"}),a(x,{label:"顺丰速运",value:"sf"}),a(x,{label:"京东快递",value:"jd"}),a(x,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),a(y,{label:"快递单号"},{default:l(()=>[a(g,{modelValue:ae.tracking_number,"onUpdate:modelValue":e[64]||(e[64]=s=>ae.tracking_number=s),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[Ae,Tt.value]])]),_:1},8,["modelValue"]),a(me,{modelValue:qe.value,"onUpdate:modelValue":e[71]||(e[71]=s=>qe.value=s),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:hn},{footer:l(()=>[a(h,{onClick:e[70]||(e[70]=s=>qe.value=!1)},{default:l(()=>[...e[221]||(e[221]=[p("取消",-1)])]),_:1}),a(h,{type:xe.value===10?"danger":"primary",loading:lt.value,onClick:Vn},{default:l(()=>[p(d(xe.value===10?"确认退款":"确定"),1)]),_:1},8,["type","loading"])]),default:l(()=>[e[222]||(e[222]=r("p",{class:"text-sm text-gray-600 mb-3"}," 选择「已完成」按关联收款汇总实付;选择「退款」将关联收款标记已退款并清零已付。 ",-1)),a(F,{modelValue:xe.value,"onUpdate:modelValue":e[67]||(e[67]=s=>xe.value=s),class:"w-full",placeholder:"请选择"},{default:l(()=>[(o(),_(T,null,W(bn,s=>a(x,{key:s.value,label:s.label,value:s.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),xe.value===10?(o(),_(T,{key:0},[a(ee,{type:"warning",closable:!1,"show-icon":"",class:"mt-3",title:"关联收款将标记已退款,本单已付清零,不可撤销。"}),ye.value.length?(o(),_("p",wp," 将退款 "+d(ye.value.length)+" 笔关联收款,合计 ¥"+d(K(xn.value)),1)):f("",!0),a($,{ref_key:"completeRefundFormRef",ref:ba,model:ue,rules:kn.value,"label-width":"80px",class:"mt-2"},{default:l(()=>[a(y,{label:"退款金额",prop:"refund_amount"},{default:l(()=>[a(ne,{modelValue:ue.refund_amount,"onUpdate:modelValue":e[68]||(e[68]=s=>ue.refund_amount=s),min:.01,max:ke.value>0?ke.value:void 0,step:.01,precision:2,class:"w-full"},null,8,["modelValue","max"]),r("div",Vp,"可退上限 ¥"+d(K(ke.value)),1)]),_:1}),a(y,{label:"退款原因",prop:"reason"},{default:l(()=>[a(g,{modelValue:ue.reason,"onUpdate:modelValue":e[69]||(e[69]=s=>ue.reason=s),type:"textarea",rows:3,maxlength:"500",placeholder:"必填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):f("",!0)]),_:1},8,["modelValue"]),a(me,{modelValue:st.value,"onUpdate:modelValue":e[75]||(e[75]=s=>st.value=s),title:"订单退款",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Cn},{footer:l(()=>[a(h,{onClick:e[74]||(e[74]=s=>st.value=!1)},{default:l(()=>[...e[223]||(e[223]=[p("取消",-1)])]),_:1}),a(h,{type:"danger",loading:ha.value,onClick:Pn},{default:l(()=>[...e[224]||(e[224]=[p(" 确认退款 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[a(ee,{type:"warning",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:Sn.value},null,8,["title"]),a($,{ref_key:"refundOrderFormRef",ref:wa,model:le,rules:Nn.value,"label-width":"88px"},{default:l(()=>[a(y,{label:"退款金额",prop:"refund_amount"},{default:l(()=>[a(ne,{modelValue:le.refund_amount,"onUpdate:modelValue":e[72]||(e[72]=s=>le.refund_amount=s),min:.01,max:de.value>0?de.value:void 0,step:.01,precision:2,class:"w-full"},null,8,["modelValue","max"]),r("div",Sp,"可退上限 ¥"+d(K(de.value)),1)]),_:1}),a(y,{label:"退款原因",prop:"reason"},{default:l(()=>[a(g,{modelValue:le.reason,"onUpdate:modelValue":e[73]||(e[73]=s=>le.reason=s),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"请填写退款原因(必填)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),a(me,{modelValue:nt.value,"onUpdate:modelValue":e[83]||(e[83]=s=>nt.value=s),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[84]||(e[84]=s=>{var R;return(R=Dt.value)==null?void 0:R.clearValidate()})},{footer:l(()=>[a(h,{onClick:e[82]||(e[82]=s=>nt.value=!1)},{default:l(()=>[...e[234]||(e[234]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Ut.value,onClick:Tn},{default:l(()=>[...e[235]||(e[235]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:l(()=>[a(ee,{title:An.value,type:"info",closable:!1,"show-icon":"",class:"mb-4"},null,8,["title"]),O((o(),v($,{ref_key:"addPayOrderFormRef",ref:Dt,model:C,rules:On.value,"label-width":"90px",class:"pr-2"},{default:l(()=>[a(y,{label:"添加方式",prop:"add_mode"},{default:l(()=>[a(Pl,{modelValue:C.add_mode,"onUpdate:modelValue":e[76]||(e[76]=s=>C.add_mode=s)},{default:l(()=>[a(Me,{value:"create"},{default:l(()=>[...e[225]||(e[225]=[p("付呗",-1)])]),_:1}),a(Me,{value:"create_express"},{default:l(()=>[...e[226]||(e[226]=[p("快递代收",-1)])]),_:1}),a(Me,{value:"link"},{default:l(()=>[...e[227]||(e[227]=[p("关联已有",-1)])]),_:1}),a(Me,{value:"completion_only"},{default:l(()=>[...e[228]||(e[228]=[p("直接完单申请",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),C.add_mode==="create"||C.add_mode==="create_express"?(o(),_(T,{key:0},[a(y,{label:"费用类别",prop:"order_type"},{default:l(()=>[a(F,{modelValue:C.order_type,"onUpdate:modelValue":e[77]||(e[77]=s=>C.order_type=s),class:"w-full"},{default:l(()=>[a(x,{label:"挂号费",value:1}),a(x,{label:"问诊费",value:2}),a(x,{label:"药品费用",value:3}),a(x,{label:"首付费用",value:4}),a(x,{label:"尾款费用",value:5}),a(x,{label:"其他费用",value:6}),a(x,{label:"全部费用",value:7}),a(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),a(y,{label:"支付金额",prop:"pay_amount"},{default:l(()=>[a(ne,{modelValue:C.pay_amount,"onUpdate:modelValue":e[78]||(e[78]=s=>C.pay_amount=s),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),a(y,{label:"备注",prop:"pay_remark"},{default:l(()=>[a(g,{modelValue:C.pay_remark,"onUpdate:modelValue":e[79]||(e[79]=s=>C.pay_remark=s),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):C.add_mode==="completion_only"?(o(),v(ee,{key:1,type:"warning",closable:!1,"show-icon":"",class:"!mb-0"},{title:l(()=>[...e[229]||(e[229]=[p(" 不新增或关联支付单,仅向审核人员提交「完成订单」申请;提交后支付审核将变为待审核,审核通过后将自动结案。 ",-1)])]),_:1})):(o(),v(y,{key:2,label:"选择支付单",prop:"link_pay_order_id"},{default:l(()=>[a(F,{modelValue:C.link_pay_order_ids,"onUpdate:modelValue":e[80]||(e[80]=s=>C.link_pay_order_ids=s),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:Va.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:l(()=>[(o(!0),_(T,null,W(Ft.value,s=>(o(),v(x,{key:s.id,label:`${s.order_no} · ¥${s.amount} · ${Ct(s.order_type)} · ${Fe(s)}`,value:s.id},{default:l(()=>[r("div",Np,[r("div",Cp,[r("span",Pp,d(s.order_no),1),r("span",Ap,"¥"+d(s.amount),1)]),r("div",Op,d(Ct(s.order_type))+" · "+d(Fe(s)),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[230]||(e[230]=r("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),C.add_mode!=="completion_only"?(o(),v(y,{key:3,label:"完单申请"},{default:l(()=>[a(Pl,{modelValue:C.completion_request,"onUpdate:modelValue":e[81]||(e[81]=s=>C.completion_request=s)},{default:l(()=>[a(Me,{value:0},{default:l(()=>[...e[231]||(e[231]=[p("不申请",-1)])]),_:1}),a(Me,{value:1},{default:l(()=>[...e[232]||(e[232]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[233]||(e[233]=r("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})):f("",!0)]),_:1},8,["model","rules"])),[[Ae,Ut.value]])]),_:1},8,["modelValue"]),a(me,{modelValue:Qe.value,"onUpdate:modelValue":e[88]||(e[88]=s=>Qe.value=s),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Ks},{footer:l(()=>[a(h,{onClick:e[87]||(e[87]=s=>Qe.value=!1)},{default:l(()=>[...e[236]||(e[236]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:ia.value,onClick:Js},{default:l(()=>[...e[237]||(e[237]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[a($,{ref_key:"patchRxPatientFormRef",ref:oa,model:ie,rules:Ls,"label-width":"96px"},{default:l(()=>[a(y,{label:"患者姓名",prop:"patient_name"},{default:l(()=>[a(g,{modelValue:ie.patient_name,"onUpdate:modelValue":e[85]||(e[85]=s=>ie.patient_name=s),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),a(y,{label:"手机",prop:"phone"},{default:l(()=>[a(g,{modelValue:ie.phone,"onUpdate:modelValue":e[86]||(e[86]=s=>ie.phone=s),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(me,{modelValue:Je.value,"onUpdate:modelValue":e[95]||(e[95]=s=>Je.value=s),title:"修改服用参数",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:Hs},{footer:l(()=>[a(h,{onClick:e[94]||(e[94]=s=>Je.value=!1)},{default:l(()=>[...e[243]||(e[243]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:ua.value,onClick:Bs},{default:l(()=>[...e[244]||(e[244]=[p("保存",-1)])]),_:1},8,["loading"])]),default:l(()=>[a($,{ref_key:"patchUsageFormRef",ref:da,model:U,rules:Is.value,"label-width":"96px"},{default:l(()=>[Ne.value?(o(),_("div",Rp,"主方")):f("",!0),a(y,{label:"每天次数",prop:"times_per_day"},{default:l(()=>[a(ne,{modelValue:U.times_per_day,"onUpdate:modelValue":e[89]||(e[89]=s=>U.times_per_day=s),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),a(y,{label:"处方开立",prop:"usage_days"},{default:l(()=>[r("div",Tp,[a(ne,{modelValue:U.usage_days,"onUpdate:modelValue":e[90]||(e[90]=s=>U.usage_days=s),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[238]||(e[238]=r("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1}),Ne.value?(o(),_(T,{key:1},[e[240]||(e[240]=r("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"辅方",-1)),a(y,{label:"每天次数",prop:"aux_times_per_day"},{default:l(()=>[a(ne,{modelValue:U.aux_times_per_day,"onUpdate:modelValue":e[91]||(e[91]=s=>U.aux_times_per_day=s),min:1,max:6,step:1,"controls-position":"right",class:"w-full"},null,8,["modelValue"])]),_:1}),a(y,{label:"处方开立",prop:"aux_usage_days"},{default:l(()=>[r("div",Ep,[a(ne,{modelValue:U.aux_usage_days,"onUpdate:modelValue":e[92]||(e[92]=s=>U.aux_usage_days=s),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[239]||(e[239]=r("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})],64)):f("",!0),e[242]||(e[242]=r("div",{class:"text-xs font-medium text-gray-500 mb-3 mt-2 pt-2 border-t border-gray-100"},"订单设置",-1)),a(y,{label:"服用天数",prop:"medication_days"},{default:l(()=>[r("div",Up,[a(ne,{modelValue:U.medication_days,"onUpdate:modelValue":e[93]||(e[93]=s=>U.medication_days=s),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[241]||(e[241]=r("span",{class:"text-gray-500 shrink-0"},"天",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"]),a(Ca,{modelValue:$t.value,"onUpdate:modelValue":e[97]||(e[97]=s=>$t.value=s),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:l(()=>[r("div",Dp,[e[247]||(e[247]=r("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),A.value&&!zt.value?(o(),_("div",Fp,[a(h,{size:"small",loading:Le.value,onClick:qn},{default:l(()=>[...e[245]||(e[245]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),a(h,{size:"small",loading:Le.value,onClick:jn},{default:l(()=>[...e[246]||(e[246]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):f("",!0)])]),default:l(()=>[O((o(),_("div",$p,[A.value?(o(),v(Bn,{key:0,modelValue:qt.value,"onUpdate:modelValue":e[96]||(e[96]=s=>qt.value=s),class:"mx-4 mt-2",style:{"margin-bottom":"0","z-index":"1",position:"relative"}},{default:l(()=>[a(Al,{label:"药房联",name:"internal"}),a(Al,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):f("",!0),A.value?(o(),_("div",zp,[Number(A.value.void_status)===1?(o(),v(u,{key:0,type:"danger",size:"small"},{default:l(()=>[...e[248]||(e[248]=[p("已作废",-1)])]),_:1})):Number(A.value.business_prescription_audit_rejected)===1?(o(),v(u,{key:1,type:"danger",size:"small"},{default:l(()=>[...e[249]||(e[249]=[p("业务订单已驳回",-1)])]),_:1})):Number(A.value.audit_status)===1?(o(),v(u,{key:2,type:"success",size:"small"},{default:l(()=>[...e[250]||(e[250]=[p("已通过",-1)])]),_:1})):Number(A.value.audit_status)===0?(o(),v(u,{key:3,type:"warning",size:"small"},{default:l(()=>[...e[251]||(e[251]=[p("待审核",-1)])]),_:1})):(o(),v(u,{key:4,type:"danger",size:"small"},{default:l(()=>[...e[252]||(e[252]=[p("已驳回",-1)])]),_:1}))])):f("",!0),A.value&&Number(A.value.void_status)===1?(o(),_("div",qp," 作废人:"+d(A.value.void_by_name||"—")+",作废时间:"+d(Fn(A.value.void_time)),1)):A.value&&Number(A.value.business_prescription_audit_rejected)===1?(o(),_("div",jp,[e[253]||(e[253]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),A.value.business_prescription_audit_remark?(o(),_("div",Lp," 驳回意见:"+d(A.value.business_prescription_audit_remark),1)):f("",!0)])):A.value&&Number(A.value.audit_status)===2?(o(),_("div",Ip,[e[254]||(e[254]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),A.value.audit_remark?(o(),_("div",Mp,"驳回意见:"+d(A.value.audit_remark),1)):f("",!0)])):f("",!0),A.value?(o(),v(hi,{key:5,ref_key:"rxSlipRef",ref:bl,data:A.value,variant:qt.value,title:Dn},null,8,["data","variant"])):f("",!0),A.value&&(A.value.audit_by_name||A.value.audit_remark)?(o(),_("div",Hp,[A.value.audit_by_name?(o(),_("div",Bp,[p(" 审核人:"+d(A.value.audit_by_name)+" ",1),A.value.audit_time?(o(),_("span",Wp,d(xl(A.value.audit_time)),1)):f("",!0)])):f("",!0),A.value.audit_remark?(o(),_("div",Kp,"审核意见:"+d(A.value.audit_remark),1)):f("",!0)])):f("",!0)])),[[Ae,zt.value]])]),_:1},8,["modelValue"]),a(Ca,{modelValue:Ot.value,"onUpdate:modelValue":e[98]||(e[98]=s=>Ot.value=s),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:l(()=>{var s,R;return[z.value?(o(),_("div",Gp,[a(n,{shadow:"never",class:"mb-4"},{header:l(()=>[r("div",Qp,[e[256]||(e[256]=r("span",{class:"font-semibold"},"价格信息",-1)),a(u,{type:"success"},{default:l(()=>[...e[255]||(e[255]=[p("预下单成功",-1)])]),_:1})])]),default:l(()=>[a(it,{column:2,border:""},{default:l(()=>[a(V,{label:"药材成本"},{default:l(()=>{var N;return[r("span",Jp,"¥"+d(((N=z.value.fee)==null?void 0:N.m_cost)||"0.00"),1)]}),_:1}),a(V,{label:"制作费"},{default:l(()=>{var N;return[r("span",Xp,"¥"+d((((N=z.value.fee)==null?void 0:N.proces_cost)||0).toFixed(2)),1)]}),_:1}),a(V,{label:"物流费"},{default:l(()=>{var N;return[r("span",Yp,"¥"+d((((N=z.value.fee)==null?void 0:N.lis_cost)||0).toFixed(2)),1)]}),_:1}),a(V,{label:"总计"},{default:l(()=>[r("div",null,[r("span",Zp," ¥"+d(cl(z.value.fee)),1),O((o(),_("div",ec,[e[257]||(e[257]=p(" 占订单总金额: ",-1)),r("span",tc,d(pn(z.value.fee,z.value.amount)),1),z.value.amount>0?(o(),_("span",ac,"%(预报价 ÷ 订单金额 × 100)")):f("",!0)])),[[q,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),a(n,{shadow:"never",class:"mb-4"},{header:l(()=>[...e[258]||(e[258]=[r("span",{class:"font-semibold"},"配送信息",-1)])]),default:l(()=>[a(it,{column:2,border:""},{default:l(()=>[a(V,{label:"调配中心"},{default:l(()=>{var N;return[p(d(((N=z.value.result)==null?void 0:N.ds_name)||"—"),1)]}),_:1}),a(V,{label:"调配中心ID"},{default:l(()=>{var N;return[p(d(((N=z.value.result)==null?void 0:N.ds_id)||"—"),1)]}),_:1}),a(V,{label:"服用天数范围",span:2},{default:l(()=>{var N,L,ot,ut,be,Oe;return[p(d(((L=(N=z.value.result)==null?void 0:N.take_days)==null?void 0:L.min)||"—")+" - "+d(((ut=(ot=z.value.result)==null?void 0:ot.take_days)==null?void 0:ut.max)||"—")+" 天 (默认: "+d(((Oe=(be=z.value.result)==null?void 0:be.take_days)==null?void 0:Oe.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(R=(s=z.value.result)==null?void 0:s.rule_check)!=null&&R.length?(o(),v(n,{key:0,shadow:"never",class:"mb-4"},{header:l(()=>[...e[259]||(e[259]=[r("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:l(()=>[r("div",lc,d(z.value.result.rule_check.map(N=>N.msg).join(" ")),1)]),_:1})):f("",!0),a(n,{shadow:"never"},{header:l(()=>{var N,L;return[r("div",sc,[e[260]||(e[260]=r("span",{class:"font-semibold"},"药材明细",-1)),r("span",nc,"共 "+d(((L=(N=z.value.result)==null?void 0:N.m_list)==null?void 0:L.length)||0)+" 味药",1)])]}),default:l(()=>{var N;return[a(Lt,{data:((N=z.value.result)==null?void 0:N.m_list)||[],border:"",stripe:"","max-height":"400"},{default:l(()=>[a(D,{type:"index",label:"#",width:"50",align:"center"}),a(D,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),a(D,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:l(({row:L})=>[p(d(L.quantity)+d(L.unit),1)]),_:1}),a(D,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:l(({row:L})=>[p(" ¥"+d(Number(L.price).toFixed(4)),1)]),_:1}),a(D,{label:"小计",width:"100",align:"right"},{default:l(({row:L})=>[r("span",rc," ¥"+d((Number(L.price)*Number(L.quantity)).toFixed(2)),1)]),_:1}),a(D,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:l(({row:L})=>[a(u,{type:L.is_available===1?"success":"danger",size:"small"},{default:l(()=>[p(d(L.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),a(D,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),a(n,{shadow:"never",class:"mt-4"},{header:l(()=>[...e[261]||(e[261]=[r("span",{class:"font-semibold"},"订单信息",-1)])]),default:l(()=>[a(it,{column:2,border:""},{default:l(()=>[a(V,{label:"订单号",span:2},{default:l(()=>[p(d(z.value.order_no||"—"),1)]),_:1}),a(V,{label:"剂数"},{default:l(()=>[r("span",ic,d(z.value.dose_count||"—")+"剂",1)]),_:1}),a(V,{label:"单剂量"},{default:l(()=>{var N;return[r("span",oc,d(cn((N=z.value.result)==null?void 0:N.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):f("",!0)]}),_:1},8,["modelValue"]),a(E(Fl),{ref_key:"diagnosisViewRef",ref:Ta},null,512)])}}}),nm=Ni(dc,[["__scopeId","data-v-080a5313"]]);export{nm as default}; diff --git a/server/public/admin/assets/overflow-dVvSdRur.js b/server/public/admin/assets/overflow-CAop_L2e.js similarity index 96% rename from server/public/admin/assets/overflow-dVvSdRur.js rename to server/public/admin/assets/overflow-CAop_L2e.js index 3913866d7..5594c3bdb 100644 --- a/server/public/admin/assets/overflow-dVvSdRur.js +++ b/server/public/admin/assets/overflow-CAop_L2e.js @@ -1 +1 @@ -import{K as m}from"./element-plus-DGP1XOrU.js";import{_ as i,q as p}from"./index-fRv3NTFQ.js";import{ak as e,I as a,a as o,aN as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={};function s(_,l){const t=p,r=m;return e(),a("div",null,[o(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[o(t,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),o(t,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const W=i(c,[["render",s]]);export{W as default}; +import{K as m}from"./element-plus-DGP1XOrU.js";import{_ as i,q as p}from"./index-J_eFER10.js";import{ak as e,I as a,a as o,aN as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={};function s(_,l){const t=p,r=m;return e(),a("div",null,[o(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[o(t,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),o(t,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const W=i(c,[["render",s]]);export{W as default}; diff --git a/server/public/admin/assets/paiban-usln5zIm.js b/server/public/admin/assets/paiban-CqRd7vZl.js similarity index 96% rename from server/public/admin/assets/paiban-usln5zIm.js rename to server/public/admin/assets/paiban-CqRd7vZl.js index 7911071bd..9810d59f5 100644 --- a/server/public/admin/assets/paiban-usln5zIm.js +++ b/server/public/admin/assets/paiban-CqRd7vZl.js @@ -1 +1 @@ -import{D as J,B as P,G as U,J as q,X as H,i as K,K as O}from"./element-plus-DGP1XOrU.js";import{d as m,g as Q}from"./dayjs-DG77mNTn.js";import{g as X}from"./tcm-CEIBuAeK.js";import{r as Z,g as ee}from"./doctor-BVLBwYIX.js";import{k as y,_ as te}from"./index-fRv3NTFQ.js";import{f as ae,b as oe,d as se,ak as c,I as u,a as b,aN as d,J as p,F as T,ap as E,G as k,O as x,H as le,A as R,n as re}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as V}from"./@vue/shared-mAAVTE9n.js";import{n as g,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"paiban-container"},ce={class:"doctor-list"},me={key:2,class:"paiban-time-container"},de={class:"date-selector"},ue={key:0,class:"time-slots-container"},pe={class:"time-slots-grid"},ve=["onClick"],fe={class:"slot-time"},_e=ae({__name:"paiban",setup(ye){m.extend(Q);const v=g(!1),h=g([]),f=g([]),l=g(0),i=g([]);let D=null,w=!1;const o=ie({date:"",selectedTime:""}),A=R(()=>{if(!l.value||i.value.length===0)return[];const e=[],s=["日","一","二","三","四","五","六"],a=m().startOf("day");for(const r of i.value){const n=m(r);if(n.isBefore(a))continue;const _=`${n.format("MM月DD日")} (${s[n.day()]})`;e.push({date:r,label:_})}return e}),I=R(()=>{if(!o.date||f.value.length===0)return[];const e=m().format("YYYY-MM-DD");if(!(o.date===e))return f.value;const a=m();return f.value.map(r=>{const n=m(`${o.date} ${r.time}`);return n.isBefore(a)||n.isSame(a,"minute")?{...r,available:!1}:r})}),$=async()=>{try{v.value=!0;const e=await X();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await C())}catch(e){console.error("加载医生列表失败:",e),y.msgError("加载医生列表失败")}finally{v.value=!1}},C=async()=>{o.selectedTime="",o.date="",f.value=[],i.value=[],l.value&&await N()},N=async()=>{if(l.value)try{v.value=!0;const e=m().format("YYYY-MM-DD"),s=m().add(6,"day").format("YYYY-MM-DD"),a=await Z({doctor_id:l.value,start_date:e,end_date:s,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await re(),i.value.length>0){const r=m().format("YYYY-MM-DD"),n=i.value.includes(r)?r:i.value[0];M(n)}}else i.value=[],y.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),y.msgError("加载医生排班失败"),i.value=[]}finally{v.value=!1}},M=e=>{o.date=e,o.selectedTime="",l.value&&B()},B=async(e=!1)=>{if(!(!l.value||!o.date)){if(w){console.log("正在加载中,跳过本次请求");return}try{w=!0,e||(v.value=!0);const s=await ee({doctor_id:l.value,appointment_date:o.date,period:"all"});f.value=((s==null?void 0:s.slots)||[]).map(a=>({time:a.time,available:a.available,hasAppointment:!!(a.has_appointment??a.available===!1),quota:a.available?1:0}))}catch(s){console.error("加载时间段失败:",s),e||y.msgError("加载时间段失败"),f.value=[]}finally{w=!1,e||(v.value=!1)}}},F=e=>{if(!e.available){y.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},L=()=>{S(),D=window.setInterval(()=>{l.value&&o.date&&B(!0)},5e3)},S=()=>{D&&(clearInterval(D),D=null)};return oe(()=>{$(),L()}),se(()=>{S()}),(e,s)=>{const a=q,r=U,n=P,_=H,z=K,G=J,W=O;return c(),u("div",ne,[b(W,{shadow:"never"},{header:d(()=>[...s[1]||(s[1]=[p("div",{class:"card-header"},[p("span",null,"医生排班管理")],-1)])]),default:d(()=>[b(G,{model:o,"label-width":"100px",class:"paiban-form"},{default:d(()=>[b(n,{label:"选择医生:"},{default:d(()=>[p("div",ce,[b(r,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),onChange:C},{default:d(()=>[(c(!0),u(T,null,E(h.value,t=>(c(),k(a,{key:t.id,value:t.id,class:"doctor-radio"},{default:d(()=>[x(Y(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),b(n,{label:"排班时间:"},{default:d(()=>[l.value?l.value&&i.value.length===0?(c(),k(_,{key:1,description:"该医生暂无排班","image-size":80})):(c(),u("div",me,[p("div",de,[(c(!0),u(T,null,E(A.value,t=>(c(),k(z,{key:t.date,type:o.date===t.date?"primary":"",onClick:j=>M(t.date),class:"date-button"},{default:d(()=>[x(Y(t.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(c(),u("div",ue,[p("div",pe,[(c(!0),u(T,null,E(I.value,t=>(c(),u("div",{key:t.time,class:V(["time-slot-item",{available:t.available,unavailable:!t.available,selected:o.selectedTime===t.time}]),onClick:j=>F(t)},[p("div",fe,Y(t.time),1),p("div",{class:V(["slot-status",{"status-available":t.available}])},Y(t.available?"可约":t.hasAppointment?"已约":"空号"),3)],10,ve))),128))])])):le("",!0)])):(c(),k(_,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),ot=te(_e,[["__scopeId","data-v-48cf251c"]]);export{ot as default}; +import{D as J,B as P,G as U,J as q,X as H,i as K,K as O}from"./element-plus-DGP1XOrU.js";import{d as m,g as Q}from"./dayjs-DG77mNTn.js";import{g as X}from"./tcm-D-ZRccbe.js";import{r as Z,g as ee}from"./doctor-BZKBQu9t.js";import{k as y,_ as te}from"./index-J_eFER10.js";import{f as ae,b as oe,d as se,ak as c,I as u,a as b,aN as d,J as p,F as T,ap as E,G as k,O as x,H as le,A as R,n as re}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as V}from"./@vue/shared-mAAVTE9n.js";import{n as g,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"paiban-container"},ce={class:"doctor-list"},me={key:2,class:"paiban-time-container"},de={class:"date-selector"},ue={key:0,class:"time-slots-container"},pe={class:"time-slots-grid"},ve=["onClick"],fe={class:"slot-time"},_e=ae({__name:"paiban",setup(ye){m.extend(Q);const v=g(!1),h=g([]),f=g([]),l=g(0),i=g([]);let D=null,w=!1;const o=ie({date:"",selectedTime:""}),A=R(()=>{if(!l.value||i.value.length===0)return[];const e=[],s=["日","一","二","三","四","五","六"],a=m().startOf("day");for(const r of i.value){const n=m(r);if(n.isBefore(a))continue;const _=`${n.format("MM月DD日")} (${s[n.day()]})`;e.push({date:r,label:_})}return e}),I=R(()=>{if(!o.date||f.value.length===0)return[];const e=m().format("YYYY-MM-DD");if(!(o.date===e))return f.value;const a=m();return f.value.map(r=>{const n=m(`${o.date} ${r.time}`);return n.isBefore(a)||n.isSame(a,"minute")?{...r,available:!1}:r})}),$=async()=>{try{v.value=!0;const e=await X();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await C())}catch(e){console.error("加载医生列表失败:",e),y.msgError("加载医生列表失败")}finally{v.value=!1}},C=async()=>{o.selectedTime="",o.date="",f.value=[],i.value=[],l.value&&await N()},N=async()=>{if(l.value)try{v.value=!0;const e=m().format("YYYY-MM-DD"),s=m().add(6,"day").format("YYYY-MM-DD"),a=await Z({doctor_id:l.value,start_date:e,end_date:s,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await re(),i.value.length>0){const r=m().format("YYYY-MM-DD"),n=i.value.includes(r)?r:i.value[0];M(n)}}else i.value=[],y.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),y.msgError("加载医生排班失败"),i.value=[]}finally{v.value=!1}},M=e=>{o.date=e,o.selectedTime="",l.value&&B()},B=async(e=!1)=>{if(!(!l.value||!o.date)){if(w){console.log("正在加载中,跳过本次请求");return}try{w=!0,e||(v.value=!0);const s=await ee({doctor_id:l.value,appointment_date:o.date,period:"all"});f.value=((s==null?void 0:s.slots)||[]).map(a=>({time:a.time,available:a.available,hasAppointment:!!(a.has_appointment??a.available===!1),quota:a.available?1:0}))}catch(s){console.error("加载时间段失败:",s),e||y.msgError("加载时间段失败"),f.value=[]}finally{w=!1,e||(v.value=!1)}}},F=e=>{if(!e.available){y.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},L=()=>{S(),D=window.setInterval(()=>{l.value&&o.date&&B(!0)},5e3)},S=()=>{D&&(clearInterval(D),D=null)};return oe(()=>{$(),L()}),se(()=>{S()}),(e,s)=>{const a=q,r=U,n=P,_=H,z=K,G=J,W=O;return c(),u("div",ne,[b(W,{shadow:"never"},{header:d(()=>[...s[1]||(s[1]=[p("div",{class:"card-header"},[p("span",null,"医生排班管理")],-1)])]),default:d(()=>[b(G,{model:o,"label-width":"100px",class:"paiban-form"},{default:d(()=>[b(n,{label:"选择医生:"},{default:d(()=>[p("div",ce,[b(r,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),onChange:C},{default:d(()=>[(c(!0),u(T,null,E(h.value,t=>(c(),k(a,{key:t.id,value:t.id,class:"doctor-radio"},{default:d(()=>[x(Y(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),b(n,{label:"排班时间:"},{default:d(()=>[l.value?l.value&&i.value.length===0?(c(),k(_,{key:1,description:"该医生暂无排班","image-size":80})):(c(),u("div",me,[p("div",de,[(c(!0),u(T,null,E(A.value,t=>(c(),k(z,{key:t.date,type:o.date===t.date?"primary":"",onClick:j=>M(t.date),class:"date-button"},{default:d(()=>[x(Y(t.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(c(),u("div",ue,[p("div",pe,[(c(!0),u(T,null,E(I.value,t=>(c(),u("div",{key:t.time,class:V(["time-slot-item",{available:t.available,unavailable:!t.available,selected:o.selectedTime===t.time}]),onClick:j=>F(t)},[p("div",fe,Y(t.time),1),p("div",{class:V(["slot-status",{"status-available":t.available}])},Y(t.available?"可约":t.hasAppointment?"已约":"空号"),3)],10,ve))),128))])])):le("",!0)])):(c(),k(_,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),ot=te(_e,[["__scopeId","data-v-48cf251c"]]);export{ot as default}; diff --git a/server/public/admin/assets/patient-DzLGoG87.js b/server/public/admin/assets/patient-L-xV50Pi.js similarity index 88% rename from server/public/admin/assets/patient-DzLGoG87.js rename to server/public/admin/assets/patient-L-xV50Pi.js index 3bf0ae778..b7fccd11f 100644 --- a/server/public/admin/assets/patient-DzLGoG87.js +++ b/server/public/admin/assets/patient-L-xV50Pi.js @@ -1 +1 @@ -import{r as o}from"./index-fRv3NTFQ.js";function r(t){return o.get({url:"/doctor.appointment/lists",params:t})}function n(t){return o.get({url:"/doctor.appointment/reception",params:t})}function i(t){return o.post({url:"/doctor.appointment/notifyAssistant",params:t})}function a(t){return o.post({url:"/doctor.appointment/addDoctorNote",params:t})}function c(t){return o.get({url:"/doctor.appointment/doctorNotes",params:t})}function s(t){return o.post({url:"/doctor.appointment/deleteDoctorNoteImage",params:t})}export{a,r as b,s as d,c as g,i as n,n as r}; +import{r as o}from"./index-J_eFER10.js";function r(t){return o.get({url:"/doctor.appointment/lists",params:t})}function n(t){return o.get({url:"/doctor.appointment/reception",params:t})}function i(t){return o.post({url:"/doctor.appointment/notifyAssistant",params:t})}function a(t){return o.post({url:"/doctor.appointment/addDoctorNote",params:t})}function c(t){return o.get({url:"/doctor.appointment/doctorNotes",params:t})}function s(t){return o.post({url:"/doctor.appointment/deleteDoctorNoteImage",params:t})}export{a,r as b,s as d,c as g,i as n,n as r}; diff --git a/server/public/admin/assets/patient-call-BVrmqt06.js b/server/public/admin/assets/patient-call-DNgQ3_bn.js similarity index 99% rename from server/public/admin/assets/patient-call-BVrmqt06.js rename to server/public/admin/assets/patient-call-DNgQ3_bn.js index 1577d9c8a..ffb51c75d 100644 --- a/server/public/admin/assets/patient-call-BVrmqt06.js +++ b/server/public/admin/assets/patient-call-DNgQ3_bn.js @@ -1 +1 @@ -import{E as a,L as Q,i as W,d as X,X as $,K as Y,b as M}from"./element-plus-DGP1XOrU.js";import{ap as K}from"./@element-plus/icons-vue-CbYn5zW9.js";import{F as C,u as O,g as L,a as k,l as E,r as Z,y as T}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{u as ee,r as te,_ as oe}from"./index-fRv3NTFQ.js";import{f as le,b as ae,n as V,d as ne,ak as m,I as d,a as r,aN as c,J as n,O as f,G as z,H as h,A as se}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as ie}from"./@vue/shared-mAAVTE9n.js";import{y as A,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import"./@tencentcloud/chat-AC2Y2r2A.js";import"./rtc-detect-Chu-fZvE.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"patient-test"},ce={key:0,class:"init-section"},ue={key:1,class:"status"},pe={class:"flex items-center"},me={class:"mt-2"},fe={key:0},ve={key:0,class:"call-actions mt-4"},de={key:2,id:"call-container",class:"call-container phone-call-shell"},ge={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=le({__name:"patient-call",setup(Ce){const B=ee(),S=se(()=>B.userInfo),U=y(!1),g=y(!1),D=y(""),o=y(!1),s=y(!1),p=y(null),v=y(null);let I=null;ae(()=>{G()});function b(t){try{const e=L.getData(k.CALL,E.CALL_STATUS),u=L.getData(k.CALL,E.CALL_ROLE),i=!!L.getData(k.CALL,E.IS_GROUP),_=o.value;if(e==="calling"&&u===Z.CALLEE){o.value=!0,p.value={isGroup:i,from:t},_||(a.info("检测到待接听的来电,请点击接听"),M({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){o.value=!1,p.value=null,s.value=!0;return}e==="idle"&&(o.value||s.value)&&(o.value=!1,s.value=!1,p.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",t,e)}}function x(){b("watch")}function P(){I&&(I(),I=null);const t={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{L.watch(k.CALL,t),I=()=>{try{L.unwatch(k.CALL,t)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{v.value&&clearInterval(v.value);let t=0;const e=90;v.value=setInterval(()=>{t+=1,b("poll"),t>=e&&v.value&&(clearInterval(v.value),v.value=null)},500)},F=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",T),console.log("========================================"),e===T.BE_INVITED&&(console.log(">>> 收到来电邀请"),o.value=!0,p.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===T.CALLING_C2C_VIDEO||e===T.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),o.value=!1,s.value=!0),e===T.IDLE&&(o.value||s.value)&&(console.log(">>> 通话已结束"),o.value=!1,s.value=!1,p.value=null,a.info("通话已结束"))},G=async()=>{try{U.value=!0;const t=S.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await te.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:u,userId:i,userSig:_}=e;if(D.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:u,userSigLength:_.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!C||typeof C.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await C.init({userID:i,userSig:_,SDKAppID:Number(u)})}catch(l){console.warn("TUICallKitServer.init 出现错误,但继续执行:",l)}console.log("=== TUICallKitServer.init 完成 ===");const N={statusChanged:F,onError:l=>{console.error("=== TUICallKit 错误回调 ===",l),a.error(`通话错误: ${(l==null?void 0:l.message)||"未知错误"}`)},onInvited:l=>{console.log("=== 收到邀请回调 (onInvited) ===",l),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(N)}catch(l){console.warn("设置回调时出现错误,但继续执行:",l)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(l=>setTimeout(l,2e3)),g.value=!0,await V(),await new Promise(l=>setTimeout(l,300)),P(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{U.value=!1}};async function j(){var t;await V(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(t=e.getTUICallEngineInstance)==null?void 0:t.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const q=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),o.value=!1,s.value=!0,await j()&&a.info("已关闭本地麦克风")}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},H=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),o.value=!1,p.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},J=()=>{g.value=!1,D.value="",o.value=!1,s.value=!1,p.value=null};return ne(()=>{v.value&&(clearInterval(v.value),v.value=null),I&&(I(),I=null),g.value&&(o.value=!1,s.value=!1,p.value=null)}),(t,e)=>{const u=Q,i=W,_=X,N=$,l=Y;return m(),d("div",re,[r(l,null,{header:c(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:c(()=>[g.value?h("",!0):(m(),d("div",ce,[r(u,{type:"info",closable:!1,class:"mb-4"},{default:c(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),f(" "+w(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),f(" "+w(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),f(" 正在初始化...")],-1))]),_:1}),U.value?h("",!0):(m(),z(i,{key:0,type:"primary",onClick:G,loading:U.value,size:"large"},{default:c(()=>[...e[4]||(e[4]=[f(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),g.value?(m(),d("div",ue,[r(u,{type:o.value?"warning":"success",closable:!1},{title:c(()=>[n("div",pe,[r(_,{class:ie(["mr-2",{"animate-pulse":o.value}])},{default:c(()=>[r(A(K))]),_:1},8,["class"]),n("span",null,w(o.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:c(()=>[n("div",me,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),f(" "+w(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),f(" "+w(o.value?"来电中":"在线"),1)]),o.value&&p.value?(m(),d("p",fe,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),f(" "+w(p.value.isGroup?"群组视频通话":"视频通话"),1)])):h("",!0)])]),_:1},8,["type"]),o.value?(m(),d("div",ve,[r(i,{type:"success",size:"large",onClick:q,icon:A(K)},{default:c(()=>[...e[8]||(e[8]=[f(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:H},{default:c(()=>[...e[9]||(e[9]=[f(" 拒绝 ",-1)])]),_:1})])):(m(),z(i,{key:1,type:"danger",onClick:J,class:"mt-4"},{default:c(()=>[...e[10]||(e[10]=[f(" 重置 ",-1)])]),_:1}))])):h("",!0),o.value||s.value?(m(),d("div",de,[r(A(O),{class:"TUICallKit-mobile"})])):g.value?(m(),d("div",ge,[r(N,{description:"等待来电中..."},{image:c(()=>[r(_,{size:80,color:"#909399"},{default:c(()=>[r(A(K))]),_:1})]),_:1})])):h("",!0),g.value&&!o.value&&!s.value?(m(),d("div",Ie,[r(A(O),{class:"TUICallKit-mobile"})])):h("",!0)]),_:1})])}}}),ut=oe(_e,[["__scopeId","data-v-b7605c86"]]);export{ut as default}; +import{E as a,L as Q,i as W,d as X,X as $,K as Y,b as M}from"./element-plus-DGP1XOrU.js";import{ap as K}from"./@element-plus/icons-vue-CbYn5zW9.js";import{F as C,u as O,g as L,a as k,l as E,r as Z,y as T}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{u as ee,r as te,_ as oe}from"./index-J_eFER10.js";import{f as le,b as ae,n as V,d as ne,ak as m,I as d,a as r,aN as c,J as n,O as f,G as z,H as h,A as se}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as ie}from"./@vue/shared-mAAVTE9n.js";import{y as A,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import"./@tencentcloud/chat-AC2Y2r2A.js";import"./rtc-detect-Chu-fZvE.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"patient-test"},ce={key:0,class:"init-section"},ue={key:1,class:"status"},pe={class:"flex items-center"},me={class:"mt-2"},fe={key:0},ve={key:0,class:"call-actions mt-4"},de={key:2,id:"call-container",class:"call-container phone-call-shell"},ge={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=le({__name:"patient-call",setup(Ce){const B=ee(),S=se(()=>B.userInfo),U=y(!1),g=y(!1),D=y(""),o=y(!1),s=y(!1),p=y(null),v=y(null);let I=null;ae(()=>{G()});function b(t){try{const e=L.getData(k.CALL,E.CALL_STATUS),u=L.getData(k.CALL,E.CALL_ROLE),i=!!L.getData(k.CALL,E.IS_GROUP),_=o.value;if(e==="calling"&&u===Z.CALLEE){o.value=!0,p.value={isGroup:i,from:t},_||(a.info("检测到待接听的来电,请点击接听"),M({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){o.value=!1,p.value=null,s.value=!0;return}e==="idle"&&(o.value||s.value)&&(o.value=!1,s.value=!1,p.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",t,e)}}function x(){b("watch")}function P(){I&&(I(),I=null);const t={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{L.watch(k.CALL,t),I=()=>{try{L.unwatch(k.CALL,t)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{v.value&&clearInterval(v.value);let t=0;const e=90;v.value=setInterval(()=>{t+=1,b("poll"),t>=e&&v.value&&(clearInterval(v.value),v.value=null)},500)},F=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",T),console.log("========================================"),e===T.BE_INVITED&&(console.log(">>> 收到来电邀请"),o.value=!0,p.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===T.CALLING_C2C_VIDEO||e===T.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),o.value=!1,s.value=!0),e===T.IDLE&&(o.value||s.value)&&(console.log(">>> 通话已结束"),o.value=!1,s.value=!1,p.value=null,a.info("通话已结束"))},G=async()=>{try{U.value=!0;const t=S.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await te.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:u,userId:i,userSig:_}=e;if(D.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:u,userSigLength:_.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!C||typeof C.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await C.init({userID:i,userSig:_,SDKAppID:Number(u)})}catch(l){console.warn("TUICallKitServer.init 出现错误,但继续执行:",l)}console.log("=== TUICallKitServer.init 完成 ===");const N={statusChanged:F,onError:l=>{console.error("=== TUICallKit 错误回调 ===",l),a.error(`通话错误: ${(l==null?void 0:l.message)||"未知错误"}`)},onInvited:l=>{console.log("=== 收到邀请回调 (onInvited) ===",l),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(N)}catch(l){console.warn("设置回调时出现错误,但继续执行:",l)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(l=>setTimeout(l,2e3)),g.value=!0,await V(),await new Promise(l=>setTimeout(l,300)),P(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{U.value=!1}};async function j(){var t;await V(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(t=e.getTUICallEngineInstance)==null?void 0:t.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const q=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),o.value=!1,s.value=!0,await j()&&a.info("已关闭本地麦克风")}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},H=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),o.value=!1,p.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},J=()=>{g.value=!1,D.value="",o.value=!1,s.value=!1,p.value=null};return ne(()=>{v.value&&(clearInterval(v.value),v.value=null),I&&(I(),I=null),g.value&&(o.value=!1,s.value=!1,p.value=null)}),(t,e)=>{const u=Q,i=W,_=X,N=$,l=Y;return m(),d("div",re,[r(l,null,{header:c(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:c(()=>[g.value?h("",!0):(m(),d("div",ce,[r(u,{type:"info",closable:!1,class:"mb-4"},{default:c(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),f(" "+w(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),f(" "+w(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),f(" 正在初始化...")],-1))]),_:1}),U.value?h("",!0):(m(),z(i,{key:0,type:"primary",onClick:G,loading:U.value,size:"large"},{default:c(()=>[...e[4]||(e[4]=[f(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),g.value?(m(),d("div",ue,[r(u,{type:o.value?"warning":"success",closable:!1},{title:c(()=>[n("div",pe,[r(_,{class:ie(["mr-2",{"animate-pulse":o.value}])},{default:c(()=>[r(A(K))]),_:1},8,["class"]),n("span",null,w(o.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:c(()=>[n("div",me,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),f(" "+w(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),f(" "+w(o.value?"来电中":"在线"),1)]),o.value&&p.value?(m(),d("p",fe,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),f(" "+w(p.value.isGroup?"群组视频通话":"视频通话"),1)])):h("",!0)])]),_:1},8,["type"]),o.value?(m(),d("div",ve,[r(i,{type:"success",size:"large",onClick:q,icon:A(K)},{default:c(()=>[...e[8]||(e[8]=[f(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:H},{default:c(()=>[...e[9]||(e[9]=[f(" 拒绝 ",-1)])]),_:1})])):(m(),z(i,{key:1,type:"danger",onClick:J,class:"mt-4"},{default:c(()=>[...e[10]||(e[10]=[f(" 重置 ",-1)])]),_:1}))])):h("",!0),o.value||s.value?(m(),d("div",de,[r(A(O),{class:"TUICallKit-mobile"})])):g.value?(m(),d("div",ge,[r(N,{description:"等待来电中..."},{image:c(()=>[r(_,{size:80,color:"#909399"},{default:c(()=>[r(A(K))]),_:1})]),_:1})])):h("",!0),g.value&&!o.value&&!s.value?(m(),d("div",Ie,[r(A(O),{class:"TUICallKit-mobile"})])):h("",!0)]),_:1})])}}}),ut=oe(_e,[["__scopeId","data-v-b7605c86"]]);export{ut as default}; diff --git a/server/public/admin/assets/pay-C3f37fth.js b/server/public/admin/assets/pay-CM_epwkI.js similarity index 85% rename from server/public/admin/assets/pay-C3f37fth.js rename to server/public/admin/assets/pay-CM_epwkI.js index c3af8e026..10756ff9b 100644 --- a/server/public/admin/assets/pay-C3f37fth.js +++ b/server/public/admin/assets/pay-CM_epwkI.js @@ -1 +1 @@ -import{r as a}from"./index-fRv3NTFQ.js";function e(){return a.get({url:"/setting.pay.pay_way/getPayWay"})}function s(t){return a.post({url:"/setting.pay.pay_way/setPayWay",params:t})}function y(){return a.get({url:"/setting.pay.pay_config/lists"})}function g(t){return a.post({url:"/setting.pay.pay_config/setConfig",params:t})}function i(t){return a.get({url:"/setting.pay.pay_config/getConfig",params:t})}export{y as a,e as b,s as c,i as g,g as s}; +import{r as a}from"./index-J_eFER10.js";function e(){return a.get({url:"/setting.pay.pay_way/getPayWay"})}function s(t){return a.post({url:"/setting.pay.pay_way/setPayWay",params:t})}function y(){return a.get({url:"/setting.pay.pay_config/lists"})}function g(t){return a.post({url:"/setting.pay.pay_config/setConfig",params:t})}function i(t){return a.get({url:"/setting.pay.pay_config/getConfig",params:t})}export{y as a,e as b,s as c,i as g,g as s}; diff --git a/server/public/admin/assets/pc-COJePt-7.js b/server/public/admin/assets/pc-Bsl4ZcLO.js similarity index 94% rename from server/public/admin/assets/pc-COJePt-7.js rename to server/public/admin/assets/pc-Bsl4ZcLO.js index 25b2fa50f..f03410e6b 100644 --- a/server/public/admin/assets/pc-COJePt-7.js +++ b/server/public/admin/assets/pc-Bsl4ZcLO.js @@ -1 +1 @@ -import{i as x,D as v,B as D,C as b,K as g}from"./element-plus-DGP1XOrU.js";import{b as k}from"./decoration-HusoyoI3.js";import{f as n,ar as w,as as B,ak as s,I as C,a as o,aN as e,J as E,O as p,aP as V,G as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as P}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"decoration-pc min-w-[1100px]"},q=n({name:"decorationPc"}),Dt=n({...q,setup(z){const r=P({update_time:"",pc_url:""});return(async()=>{try{r.value=await k()}catch(i){console.log(i)}})(),(i,t)=>{const m=x,c=w("router-link"),l=D,_=b,d=v,u=g,f=B("copy");return s(),C("div",F,[o(u,{shadow:"never",class:"!border-none flex-1 flex"},{default:e(()=>[t[3]||(t[3]=E("div",{class:"text-xl font-medium"},"首页装修",-1)),o(c,{to:{path:"/decoration/pc_details",query:{url:a(r).pc_url}}},{default:e(()=>[o(m,{class:"m-5",type:"primary",size:"large"},{default:e(()=>[...t[1]||(t[1]=[p("去装修",-1)])]),_:1})]),_:1},8,["to"]),o(d,null,{default:e(()=>[o(l,{label:"最近更新"},{default:e(()=>[p(I(a(r).update_time),1)]),_:1}),o(l,{label:"PC端链接"},{default:e(()=>[o(_,{style:{width:"350px"},modelValue:a(r).pc_url,"onUpdate:modelValue":t[0]||(t[0]=y=>a(r).pc_url=y),disabled:""},null,8,["modelValue"]),V((s(),N(m,{type:"primary"},{default:e(()=>[...t[2]||(t[2]=[p("复制",-1)])]),_:1})),[[f,a(r).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{Dt as default}; +import{i as x,D as v,B as D,C as b,K as g}from"./element-plus-DGP1XOrU.js";import{b as k}from"./decoration-BRUlzC1v.js";import{f as n,ar as w,as as B,ak as s,I as C,a as o,aN as e,J as E,O as p,aP as V,G as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as P}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"decoration-pc min-w-[1100px]"},q=n({name:"decorationPc"}),Dt=n({...q,setup(z){const r=P({update_time:"",pc_url:""});return(async()=>{try{r.value=await k()}catch(i){console.log(i)}})(),(i,t)=>{const m=x,c=w("router-link"),l=D,_=b,d=v,u=g,f=B("copy");return s(),C("div",F,[o(u,{shadow:"never",class:"!border-none flex-1 flex"},{default:e(()=>[t[3]||(t[3]=E("div",{class:"text-xl font-medium"},"首页装修",-1)),o(c,{to:{path:"/decoration/pc_details",query:{url:a(r).pc_url}}},{default:e(()=>[o(m,{class:"m-5",type:"primary",size:"large"},{default:e(()=>[...t[1]||(t[1]=[p("去装修",-1)])]),_:1})]),_:1},8,["to"]),o(d,null,{default:e(()=>[o(l,{label:"最近更新"},{default:e(()=>[p(I(a(r).update_time),1)]),_:1}),o(l,{label:"PC端链接"},{default:e(()=>[o(_,{style:{width:"350px"},modelValue:a(r).pc_url,"onUpdate:modelValue":t[0]||(t[0]=y=>a(r).pc_url=y),disabled:""},null,8,["modelValue"]),V((s(),N(m,{type:"primary"},{default:e(()=>[...t[2]||(t[2]=[p("复制",-1)])]),_:1})),[[f,a(r).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{Dt as default}; diff --git a/server/public/admin/assets/pc_details-C8AaBSI5.js b/server/public/admin/assets/pc_details-Cv9JlnxV.js similarity index 65% rename from server/public/admin/assets/pc_details-C8AaBSI5.js rename to server/public/admin/assets/pc_details-Cv9JlnxV.js index 7eb4bbe9f..709523f52 100644 --- a/server/public/admin/assets/pc_details-C8AaBSI5.js +++ b/server/public/admin/assets/pc_details-Cv9JlnxV.js @@ -1 +1 @@ -import{i as b,K as P}from"./element-plus-DGP1XOrU.js";import{o as B}from"./@element-plus/icons-vue-CbYn5zW9.js";import{a as N,s as V}from"./decoration-HusoyoI3.js";import{k as C,_ as E}from"./index-fRv3NTFQ.js";import I from"./preview-pc-Bjp7P5eB.js";import{a as h}from"./vue-router-QlpZ4wdW.js";import{f as v,w as O,as as J,ak as d,I as S,a as p,aN as m,J as u,O as f,aP as M,G as R,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as j,n as _,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BTh_xBKj.js";import"./attr-DaHTqGGt.js";import"./index-Dc1nFBAH.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-DdNcvOry.js";import"./decoration-img-63yHTKq5.js";import"./attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js";import"./content-Dbr1CmpF.js";import"./attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js";import"./content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js";import"./attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js";import"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import"./content-8Zehp_Rk.js";import"./attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js";import"./content.vue_vue_type_script_setup_true_lang-CN32u1VP.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-BKtyOCcY.js";import"./attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-BTqw4mI0.js";import"./content.vue_vue_type_script_setup_true_lang-B83-RT4p.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-DNPcBCfo.js";import"./attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js";import"./content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-lVo8M4Zt.js";const G={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},K={class:"flex-1 h-full"},U=v({name:"decorationPc"}),W=v({...U,setup(q){const g=h();let n;(t=>{t.HOME="4"})(n||(n={}));const a=A({4:{id:4,type:4,name:"首页装修",pageData:[]}}),r=_("4"),e=_(0),i=T(()=>{var t;return((t=a[r.value])==null?void 0:t.pageData)??[]}),w=async()=>{await C.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},l=async()=>{const t=await N({id:r.value});a[String(t.id)].pageData=JSON.parse(t.data),e.value=i.value.findIndex(o=>!o.disabled)},D=async()=>{await V({...a[r.value],data:JSON.stringify(a[r.value].pageData)}),l()};return O(r,()=>{e.value=i.value.findIndex(t=>!t.disabled),l()},{immediate:!0}),(t,o)=>{const c=b,y=P,k=J("perms");return d(),S("div",G,[p(y,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:m(()=>[u("div",H,[p(c,{link:"",type:"primary",icon:s(B),style:{color:"#fff"},onClick:w},{default:m(()=>[...o[1]||(o[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),M((d(),R(c,{onClick:D},{default:m(()=>[...o[2]||(o[2]=[f(" 保存 ",-1)])]),_:1})),[[k,["decorate:pages:save"]]])])]),_:1}),u("div",K,[p(I,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=x=>j(e)?e.value=x:null),pageData:s(i)},null,8,["modelValue","pageData"])])])}}}),yo=E(W,[["__scopeId","data-v-62826702"]]);export{yo as default}; +import{i as b,K as P}from"./element-plus-DGP1XOrU.js";import{o as B}from"./@element-plus/icons-vue-CbYn5zW9.js";import{a as N,s as V}from"./decoration-BRUlzC1v.js";import{k as C,_ as E}from"./index-J_eFER10.js";import I from"./preview-pc-B5scFioi.js";import{a as h}from"./vue-router-QlpZ4wdW.js";import{f as v,w as O,as as J,ak as d,I as S,a as p,aN as m,J as u,O as f,aP as M,G as R,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as j,n as _,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-B48jKD3-.js";import"./attr-U0WNIueQ.js";import"./index-sgqCyAwB.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js";import"./decoration-img-cJ3sOJu-.js";import"./attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js";import"./content-CuE78Set.js";import"./attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js";import"./content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js";import"./attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js";import"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import"./content-CC1w-xAd.js";import"./attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js";import"./content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-CjkrN-kA.js";import"./attr.vue_vue_type_script_setup_true_lang-InluY_es.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-CQZwJIUc.js";import"./content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BzNveTg-.js";import"./attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js";import"./content.vue_vue_type_script_setup_true_lang-DsMOey0g.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-DrZ0HxYf.js";const G={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},K={class:"flex-1 h-full"},U=v({name:"decorationPc"}),W=v({...U,setup(q){const g=h();let n;(t=>{t.HOME="4"})(n||(n={}));const a=A({4:{id:4,type:4,name:"首页装修",pageData:[]}}),r=_("4"),e=_(0),i=T(()=>{var t;return((t=a[r.value])==null?void 0:t.pageData)??[]}),w=async()=>{await C.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},l=async()=>{const t=await N({id:r.value});a[String(t.id)].pageData=JSON.parse(t.data),e.value=i.value.findIndex(o=>!o.disabled)},D=async()=>{await V({...a[r.value],data:JSON.stringify(a[r.value].pageData)}),l()};return O(r,()=>{e.value=i.value.findIndex(t=>!t.disabled),l()},{immediate:!0}),(t,o)=>{const c=b,y=P,k=J("perms");return d(),S("div",G,[p(y,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:m(()=>[u("div",H,[p(c,{link:"",type:"primary",icon:s(B),style:{color:"#fff"},onClick:w},{default:m(()=>[...o[1]||(o[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),M((d(),R(c,{onClick:D},{default:m(()=>[...o[2]||(o[2]=[f(" 保存 ",-1)])]),_:1})),[[k,["decorate:pages:save"]]])])]),_:1}),u("div",K,[p(I,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=x=>j(e)?e.value=x:null),pageData:s(i)},null,8,["modelValue","pageData"])])])}}}),yo=E(W,[["__scopeId","data-v-62826702"]]);export{yo as default}; diff --git a/server/public/admin/assets/perm-CTlz8z1G.js b/server/public/admin/assets/perm-8cp9D7Ag.js similarity index 67% rename from server/public/admin/assets/perm-CTlz8z1G.js rename to server/public/admin/assets/perm-8cp9D7Ag.js index 091551de1..07e1abe17 100644 --- a/server/public/admin/assets/perm-CTlz8z1G.js +++ b/server/public/admin/assets/perm-8cp9D7Ag.js @@ -1 +1 @@ -import{u as i}from"./index-fRv3NTFQ.js";const l=s=>{const e=i().perms,o="*";if(s.length>0){let r=!0;return s.forEach(t=>{!e.includes(t)&&!e.includes(o)&&(r=!1)}),r}else return!0};export{l as h}; +import{u as i}from"./index-J_eFER10.js";const l=s=>{const e=i().perms,o="*";if(s.length>0){let r=!0;return s.forEach(t=>{!e.includes(t)&&!e.includes(o)&&(r=!1)}),r}else return!0};export{l as h}; diff --git a/server/public/admin/assets/picker-8l5NOLQi.js b/server/public/admin/assets/picker-CeVtQr2X.js similarity index 97% rename from server/public/admin/assets/picker-8l5NOLQi.js rename to server/public/admin/assets/picker-CeVtQr2X.js index b2a4ed8af..793dc902b 100644 --- a/server/public/admin/assets/picker-8l5NOLQi.js +++ b/server/public/admin/assets/picker-CeVtQr2X.js @@ -1 +1 @@ -import{D as F,B as z,C as L,i as J,M as Q,N as W,O as X,H as Y,v as Z,r as ee,G as te,J as le,y as ae,w as ne,x as se}from"./element-plus-DGP1XOrU.js";import{_ as q,c as oe}from"./index-fRv3NTFQ.js";import{w as ie,s as de}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as me}from"./index-D5PquIeg.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{O as pe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{k as re}from"./article-BsGgZfIu.js";import{u as ce}from"./usePaging-DofycyjW.js";import{f as O,w as k,ak as r,I as V,a as m,aN as x,aP as _e,G as P,J as l,O as R,F as T,ap as $,H as b,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{n as E,y as o,a as I,r as fe,q as xe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as C,o as ve}from"./@vue/shared-mAAVTE9n.js";var w=(n=>(n.SHOP_PAGES="shop",n.APPTOOL="application_tool",n.OTHER_LINK="other_link",n))(w||{}),a=(n=>(n.SHOP_PAGES="shop",n.ARTICLE_LIST="article",n.CUSTOM_LINK="custom",n.MINI_PROGRAM="mini_program",n))(a||{});const ye={class:"article-list"},he={class:"flex row-center"},Se={class:"flex items-center"},ge={class:"ml-4 overflow-hidden"},Ve={class:"text-base line-clamp-2"},Pe={class:"flex justify-end mt-4"},we=O({__name:"article-list",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=E({path:"/pages/news_detail/news_detail",name:"",query:{},type:a.ARTICLE_LIST}),t=fe({name:"",is_show:1}),{pager:e,getLists:_,resetPage:s}=ce({fetchFun:re,params:t}),i=f=>f==Number(d.value.id),p=f=>{d.value={id:f.id,name:f.title,path:"/pages/news_detail/news_detail",query:{id:f.id},type:a.ARTICLE_LIST},y("update:modelValue",d.value)};return k(()=>c.modelValue,f=>{if(f.type!=a.ARTICLE_LIST)return d.value={id:"",name:"",path:"/pages/news_detail/news_detail",type:a.SHOP_PAGES};d.value=f},{immediate:!0}),_(),(f,v)=>{const u=L,S=J,A=z,G=F,M=Y,H=X,U=Z,K=ee,j=W,B=ue,D=Q;return r(),V("div",ye,[m(G,{ref:"formRef",model:o(t),inline:!0},{default:x(()=>[m(A,{class:"w-[280px]",label:"文章名称"},{default:x(()=>[m(u,{modelValue:o(t).name,"onUpdate:modelValue":v[0]||(v[0]=g=>o(t).name=g),placeholder:"请输入",clearable:"",onKeyup:ie(o(s),["enter"])},null,8,["modelValue","onKeyup"]),m(S,{type:"primary",class:"ml-4",icon:o(pe),onClick:o(s)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model"]),_e((r(),P(j,{size:"large",data:o(e).lists,height:"432px",onRowClick:p},{default:x(()=>[m(H,{label:"选择","min-width":"50"},{default:x(({row:g})=>[l("div",he,[m(M,{"model-value":i(g.id),size:"large",onChange:Qe=>p(g)},null,8,["model-value","onChange"])])]),_:1}),m(H,{label:"文章名称","min-width":"180"},{default:x(({row:g})=>[l("div",Se,[m(U,{fit:"cover",src:g.image,class:"flex-none w-[58px] h-[58px]"},null,8,["src"]),l("div",ge,[m(K,{effect:"dark",content:g.title,placement:"top"},{default:x(()=>[l("div",Ve,C(g.title),1)]),_:2},1032,["content"])])])]),_:1}),m(H,{label:"创建时间",prop:"create_time","min-width":"140"})]),_:1},8,["data"])),[[D,o(e).loading]]),l("div",Pe,[m(B,{modelValue:o(e),"onUpdate:modelValue":v[1]||(v[1]=g=>I(e)?e.value=g:null),onChange:o(_)},null,8,["modelValue","onChange"])])])}}}),Ie=q(we,[["__scopeId","data-v-9e297bd2"]]),Oe={class:"custom-link h-[530px]"},ke={class:"flex flex-wrap items-center mt-4"},Ee={class:"ml-4 flex-1 min-w-[100px]"},Ae=O({__name:"custom-link",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=d=>{c("update:modelValue",{path:"/pages/webview/webview",query:{url:d},type:a.CUSTOM_LINK})};return(d,t)=>{var _;const e=L;return r(),V("div",Oe,[t[1]||(t[1]=l("div",{class:"text-xl font-medium"},"自定义链接",-1)),l("div",ke,[t[0]||(t[0]=l("div",{class:"w-[86px] text-right"},"自定义链接",-1)),l("div",Ee,[m(e,{class:"max-w-[320px]","model-value":(_=n.modelValue.query)==null?void 0:_.url,placeholder:"请输入链接地址",onInput:y},null,8,["model-value"])])]),t[2]||(t[2]=l("div",{class:"form-tips ml-[101px] max-w-[320px]"}," 请填写完整的带有“https://”或“http://”的链接地址,链接的域名必须在微信公众平台设置业务域名 ",-1))])}}}),be={class:"mini-program h-[530px]"},Ce={class:"flex flex-wrap items-center mt-4"},Le={class:"ml-4 flex-1 min-w-[100px]"},Ge={class:"flex flex-wrap items-center mt-4"},He={class:"ml-4 flex-1 min-w-[100px]"},Re={class:"flex flex-wrap items-center mt-4"},Te={class:"ml-4 flex-1 min-w-[100px]"},$e={class:"flex flex-wrap items-center mt-4"},qe={class:"ml-4 flex-1 min-w-[100px]"},Ne=O({__name:"mini-program",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=(t,e)=>{y("update:modelValue",{...c.modelValue,name:"小程序跳转",query:{...c.modelValue.query,[t]:e},type:a.MINI_PROGRAM})};return k(()=>c.modelValue,t=>{var e;(e=t.query)!=null&&e.env_version||d("env_version","release")},{immediate:!0}),(t,e)=>{var p,f,v,u;const _=L,s=le,i=te;return r(),V("div",be,[e[11]||(e[11]=l("div",{class:"text-xl font-medium"},"跳转小程序",-1)),l("div",Ce,[e[4]||(e[4]=l("div",{class:"w-[86px] text-right"},"小程序APPID",-1)),l("div",Le,[m(_,{class:"max-w-[320px]","model-value":(p=n.modelValue.query)==null?void 0:p.appId,placeholder:"请输入小程序appId",onInput:e[0]||(e[0]=S=>d("appId",S))},null,8,["model-value"])])]),l("div",Ge,[e[5]||(e[5]=l("div",{class:"w-[86px] text-right"},"小程序路径",-1)),l("div",He,[m(_,{class:"max-w-[320px]","model-value":(f=n.modelValue.query)==null?void 0:f.path,placeholder:"请输入小程序路径链接地址",onInput:e[1]||(e[1]=S=>d("path",S))},null,8,["model-value"])])]),l("div",Re,[e[6]||(e[6]=l("div",{class:"w-[86px] text-right"},"传递参数",-1)),l("div",Te,[m(_,{class:"max-w-[320px]","model-value":(v=n.modelValue.query)==null?void 0:v.query,placeholder:"请输入小程序跳转参数(选填)",onInput:e[2]||(e[2]=S=>d("query",S))},null,8,["model-value"])])]),e[12]||(e[12]=l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",null,"示例:id=2&ustm=jiny&name=234"),l("div",{class:"text-error"}," 注意:不允许输入中文、特殊字符等。如果出现对不起,当前页面无法访问,大概率是跳转参数的问题!! ")],-1)),l("div",$e,[e[10]||(e[10]=l("div",{class:"w-[86px] text-right"},"小程序版本",-1)),l("div",qe,[m(i,{"model-value":(u=n.modelValue.query)==null?void 0:u.env_version,onChange:e[3]||(e[3]=S=>d("env_version",S))},{default:x(()=>[m(s,{value:"release"},{default:x(()=>[...e[7]||(e[7]=[R("正式版",-1)])]),_:1}),m(s,{value:"trial"},{default:x(()=>[...e[8]||(e[8]=[R("体验版",-1)])]),_:1}),m(s,{value:"develop"},{default:x(()=>[...e[9]||(e[9]=[R("开发版",-1)])]),_:1})]),_:1},8,["model-value"])])]),e[13]||(e[13]=l("div",null,[l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",{class:"mt-4"}," 1. 小程序APPID和小程序路径链接地址,小程序路径链接地址请填写小程序的页面路径,如:pages/index/index "),l("div",{class:"mt-2"},[l("span",null,"2. 如果是H5(浏览器)中需要跳转到小程序,则需要以下配置--->"),l("a",{href:"https://mp.weixin.qq.com/",class:"text-primary",target:"_blank",rel:"nofollow"}," 小程序管理后台 -> 设置 -> 隐私与安全 -> 明文 scheme 拉起此小程序 (点击跳转去配置) ")])])],-1))])}}}),Me={class:"shop-pages h-[530px]"},Ue={class:"link-list flex flex-wrap"},Ke=["onClick"],je=O({__name:"shop-pages",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=E([{path:"/pages/index/index",name:"商城首页",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/news/news",name:"文章资讯",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/user/user",name:"个人中心",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/collection/collection",name:"我的收藏",type:a.SHOP_PAGES},{path:"/pages/customer_service/customer_service",name:"联系客服",type:a.SHOP_PAGES},{path:"/pages/user_set/user_set",name:"个人设置",type:a.SHOP_PAGES},{path:"/pages/as_us/as_us",name:"关于我们",type:a.SHOP_PAGES},{path:"/pages/user_data/user_data",name:"个人资料",type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"隐私政策",query:{type:"privacy"},type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"服务协议",query:{type:"service"},type:a.SHOP_PAGES},{path:"/pages/search/search",name:"搜索",type:a.SHOP_PAGES},{path:"/packages/pages/user_wallet/user_wallet",name:"我的钱包",type:a.SHOP_PAGES}]),d=t=>{c("update:modelValue",t)};return(t,e)=>(r(),V("div",Me,[l("div",Ue,[(r(!0),V(T,null,$(o(y),(_,s)=>(r(),V("div",{class:ve(["link-item border border-br px-5 py-[5px] rounded-[3px] cursor-pointer mr-[10px] mb-[10px]",{"border-primary text-primary":n.modelValue.path==_.path&&n.modelValue.name==_.name}]),key:s,onClick:i=>d(_)},C(_.name),11,Ke))),128))])]))}}),Be={class:"link flex"},De={class:"flex-1 ml-4 link-content"},Fe=O({__name:"index",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=E([{name:"商城页面",type:w.SHOP_PAGES,children:[{name:"基础页面",type:a.SHOP_PAGES,link:{}}]},{name:"应用工具",type:w.APPTOOL,children:[{name:"文章资讯",type:a.ARTICLE_LIST,link:{}}]},{name:"其他",type:w.OTHER_LINK,children:[{name:"自定义链接",type:a.CUSTOM_LINK,link:{}},{name:"跳转小程序",type:a.MINI_PROGRAM,link:{}}]}]),t=N({get(){let s={};return d.value.forEach(i=>{const p=i.children.find(f=>f.type==e.value);p&&(s=p)}),s.link},set(s){d.value.forEach(i=>{i.children.forEach(p=>{p.type==e.value&&(p.link=s)})})}}),e=E(a.SHOP_PAGES),_=s=>{e.value=s};return k(t,s=>{s.type&&y("update:modelValue",s)},{deep:!0}),k(()=>c.modelValue,s=>{e.value=s.type,t.value=s},{immediate:!0}),(s,i)=>{const p=ne,f=se,v=ae;return r(),V("div",Be,[m(v,{"default-active":o(e),class:"flex-none w-[180px] min-h-[350px] link-menu","default-openeds":[o(w).SHOP_PAGES,o(w).APPTOOL,o(w).OTHER_LINK],onSelect:_},{default:x(()=>[(r(!0),V(T,null,$(o(d),(u,S)=>(r(),P(f,{index:u.type,key:S},{title:x(()=>[l("span",null,C(u.name),1)]),default:x(()=>[(r(!0),V(T,null,$(u.children,(A,G)=>(r(),P(p,{index:A.type,key:G,style:{"min-width":"160px"}},{default:x(()=>[l("span",null,C(A.name),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"]))),128))]),_:1},8,["default-active","default-openeds"]),l("div",De,[o(a).SHOP_PAGES==o(e)?(r(),P(je,{key:0,modelValue:o(t),"onUpdate:modelValue":i[0]||(i[0]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).ARTICLE_LIST==o(e)?(r(),P(Ie,{key:1,modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).CUSTOM_LINK==o(e)?(r(),P(Ae,{key:2,modelValue:o(t),"onUpdate:modelValue":i[2]||(i[2]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).MINI_PROGRAM==o(e)?(r(),P(Ne,{key:3,modelValue:o(t),"onUpdate:modelValue":i[3]||(i[3]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0)])])}}}),ze=q(Fe,[["__scopeId","data-v-c8ad0dfa"]]),Je=O({__name:"picker",props:{modelValue:{type:Object},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=xe(),t=E({path:"",type:a.SHOP_PAGES}),e=()=>{y("update:modelValue",t.value)},_=N(()=>{var s,i,p;switch((s=c.modelValue)==null?void 0:s.type){case a.SHOP_PAGES:return c.modelValue.name;case a.ARTICLE_LIST:return c.modelValue.name;case a.CUSTOM_LINK:return(i=c.modelValue.query)==null?void 0:i.url;default:return(p=c.modelValue)==null?void 0:p.name}});return k(()=>c.modelValue,s=>{s!=null&&s.type&&(t.value=s)},{immediate:!0}),(s,i)=>{const p=oe,f=L;return r(),V("div",{class:"link-picker flex-1",onClick:i[2]||(i[2]=v=>{var u;return!n.disabled&&((u=o(d))==null?void 0:u.open())})},[m(f,{"model-value":o(_),placeholder:"请选择链接",readonly:"",disabled:n.disabled},{suffix:x(()=>{var v;return[(v=n.modelValue)!=null&&v.path?(r(),P(p,{key:1,name:"el-icon-Close",onClick:i[0]||(i[0]=de(u=>!n.disabled&&y("update:modelValue",{}),["stop"]))})):(r(),P(p,{key:0,name:"el-icon-ArrowRight"}))]}),_:1},8,["model-value","disabled"]),m(me,{ref_key:"popupRef",ref:d,width:"1050px",title:"链接选择",onConfirm:e},{default:x(()=>[m(ze,{modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=v=>I(t)?t.value=v:null)},null,8,["modelValue"])]),_:1},512)])}}}),it=q(Je,[["__scopeId","data-v-c281815e"]]);export{it as _}; +import{D as F,B as z,C as L,i as J,M as Q,N as W,O as X,H as Y,v as Z,r as ee,G as te,J as le,y as ae,w as ne,x as se}from"./element-plus-DGP1XOrU.js";import{_ as q,c as oe}from"./index-J_eFER10.js";import{w as ie,s as de}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as me}from"./index-BVjWjU3h.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{O as pe}from"./@element-plus/icons-vue-CbYn5zW9.js";import{k as re}from"./article-D7twg9M1.js";import{u as ce}from"./usePaging-DofycyjW.js";import{f as O,w as k,ak as r,I as V,a as m,aN as x,aP as _e,G as P,J as l,O as R,F as T,ap as $,H as b,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{n as E,y as o,a as I,r as fe,q as xe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as C,o as ve}from"./@vue/shared-mAAVTE9n.js";var w=(n=>(n.SHOP_PAGES="shop",n.APPTOOL="application_tool",n.OTHER_LINK="other_link",n))(w||{}),a=(n=>(n.SHOP_PAGES="shop",n.ARTICLE_LIST="article",n.CUSTOM_LINK="custom",n.MINI_PROGRAM="mini_program",n))(a||{});const ye={class:"article-list"},he={class:"flex row-center"},Se={class:"flex items-center"},ge={class:"ml-4 overflow-hidden"},Ve={class:"text-base line-clamp-2"},Pe={class:"flex justify-end mt-4"},we=O({__name:"article-list",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=E({path:"/pages/news_detail/news_detail",name:"",query:{},type:a.ARTICLE_LIST}),t=fe({name:"",is_show:1}),{pager:e,getLists:_,resetPage:s}=ce({fetchFun:re,params:t}),i=f=>f==Number(d.value.id),p=f=>{d.value={id:f.id,name:f.title,path:"/pages/news_detail/news_detail",query:{id:f.id},type:a.ARTICLE_LIST},y("update:modelValue",d.value)};return k(()=>c.modelValue,f=>{if(f.type!=a.ARTICLE_LIST)return d.value={id:"",name:"",path:"/pages/news_detail/news_detail",type:a.SHOP_PAGES};d.value=f},{immediate:!0}),_(),(f,v)=>{const u=L,S=J,A=z,G=F,M=Y,H=X,U=Z,K=ee,j=W,B=ue,D=Q;return r(),V("div",ye,[m(G,{ref:"formRef",model:o(t),inline:!0},{default:x(()=>[m(A,{class:"w-[280px]",label:"文章名称"},{default:x(()=>[m(u,{modelValue:o(t).name,"onUpdate:modelValue":v[0]||(v[0]=g=>o(t).name=g),placeholder:"请输入",clearable:"",onKeyup:ie(o(s),["enter"])},null,8,["modelValue","onKeyup"]),m(S,{type:"primary",class:"ml-4",icon:o(pe),onClick:o(s)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model"]),_e((r(),P(j,{size:"large",data:o(e).lists,height:"432px",onRowClick:p},{default:x(()=>[m(H,{label:"选择","min-width":"50"},{default:x(({row:g})=>[l("div",he,[m(M,{"model-value":i(g.id),size:"large",onChange:Qe=>p(g)},null,8,["model-value","onChange"])])]),_:1}),m(H,{label:"文章名称","min-width":"180"},{default:x(({row:g})=>[l("div",Se,[m(U,{fit:"cover",src:g.image,class:"flex-none w-[58px] h-[58px]"},null,8,["src"]),l("div",ge,[m(K,{effect:"dark",content:g.title,placement:"top"},{default:x(()=>[l("div",Ve,C(g.title),1)]),_:2},1032,["content"])])])]),_:1}),m(H,{label:"创建时间",prop:"create_time","min-width":"140"})]),_:1},8,["data"])),[[D,o(e).loading]]),l("div",Pe,[m(B,{modelValue:o(e),"onUpdate:modelValue":v[1]||(v[1]=g=>I(e)?e.value=g:null),onChange:o(_)},null,8,["modelValue","onChange"])])])}}}),Ie=q(we,[["__scopeId","data-v-9e297bd2"]]),Oe={class:"custom-link h-[530px]"},ke={class:"flex flex-wrap items-center mt-4"},Ee={class:"ml-4 flex-1 min-w-[100px]"},Ae=O({__name:"custom-link",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=d=>{c("update:modelValue",{path:"/pages/webview/webview",query:{url:d},type:a.CUSTOM_LINK})};return(d,t)=>{var _;const e=L;return r(),V("div",Oe,[t[1]||(t[1]=l("div",{class:"text-xl font-medium"},"自定义链接",-1)),l("div",ke,[t[0]||(t[0]=l("div",{class:"w-[86px] text-right"},"自定义链接",-1)),l("div",Ee,[m(e,{class:"max-w-[320px]","model-value":(_=n.modelValue.query)==null?void 0:_.url,placeholder:"请输入链接地址",onInput:y},null,8,["model-value"])])]),t[2]||(t[2]=l("div",{class:"form-tips ml-[101px] max-w-[320px]"}," 请填写完整的带有“https://”或“http://”的链接地址,链接的域名必须在微信公众平台设置业务域名 ",-1))])}}}),be={class:"mini-program h-[530px]"},Ce={class:"flex flex-wrap items-center mt-4"},Le={class:"ml-4 flex-1 min-w-[100px]"},Ge={class:"flex flex-wrap items-center mt-4"},He={class:"ml-4 flex-1 min-w-[100px]"},Re={class:"flex flex-wrap items-center mt-4"},Te={class:"ml-4 flex-1 min-w-[100px]"},$e={class:"flex flex-wrap items-center mt-4"},qe={class:"ml-4 flex-1 min-w-[100px]"},Ne=O({__name:"mini-program",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=(t,e)=>{y("update:modelValue",{...c.modelValue,name:"小程序跳转",query:{...c.modelValue.query,[t]:e},type:a.MINI_PROGRAM})};return k(()=>c.modelValue,t=>{var e;(e=t.query)!=null&&e.env_version||d("env_version","release")},{immediate:!0}),(t,e)=>{var p,f,v,u;const _=L,s=le,i=te;return r(),V("div",be,[e[11]||(e[11]=l("div",{class:"text-xl font-medium"},"跳转小程序",-1)),l("div",Ce,[e[4]||(e[4]=l("div",{class:"w-[86px] text-right"},"小程序APPID",-1)),l("div",Le,[m(_,{class:"max-w-[320px]","model-value":(p=n.modelValue.query)==null?void 0:p.appId,placeholder:"请输入小程序appId",onInput:e[0]||(e[0]=S=>d("appId",S))},null,8,["model-value"])])]),l("div",Ge,[e[5]||(e[5]=l("div",{class:"w-[86px] text-right"},"小程序路径",-1)),l("div",He,[m(_,{class:"max-w-[320px]","model-value":(f=n.modelValue.query)==null?void 0:f.path,placeholder:"请输入小程序路径链接地址",onInput:e[1]||(e[1]=S=>d("path",S))},null,8,["model-value"])])]),l("div",Re,[e[6]||(e[6]=l("div",{class:"w-[86px] text-right"},"传递参数",-1)),l("div",Te,[m(_,{class:"max-w-[320px]","model-value":(v=n.modelValue.query)==null?void 0:v.query,placeholder:"请输入小程序跳转参数(选填)",onInput:e[2]||(e[2]=S=>d("query",S))},null,8,["model-value"])])]),e[12]||(e[12]=l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",null,"示例:id=2&ustm=jiny&name=234"),l("div",{class:"text-error"}," 注意:不允许输入中文、特殊字符等。如果出现对不起,当前页面无法访问,大概率是跳转参数的问题!! ")],-1)),l("div",$e,[e[10]||(e[10]=l("div",{class:"w-[86px] text-right"},"小程序版本",-1)),l("div",qe,[m(i,{"model-value":(u=n.modelValue.query)==null?void 0:u.env_version,onChange:e[3]||(e[3]=S=>d("env_version",S))},{default:x(()=>[m(s,{value:"release"},{default:x(()=>[...e[7]||(e[7]=[R("正式版",-1)])]),_:1}),m(s,{value:"trial"},{default:x(()=>[...e[8]||(e[8]=[R("体验版",-1)])]),_:1}),m(s,{value:"develop"},{default:x(()=>[...e[9]||(e[9]=[R("开发版",-1)])]),_:1})]),_:1},8,["model-value"])])]),e[13]||(e[13]=l("div",null,[l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",{class:"mt-4"}," 1. 小程序APPID和小程序路径链接地址,小程序路径链接地址请填写小程序的页面路径,如:pages/index/index "),l("div",{class:"mt-2"},[l("span",null,"2. 如果是H5(浏览器)中需要跳转到小程序,则需要以下配置--->"),l("a",{href:"https://mp.weixin.qq.com/",class:"text-primary",target:"_blank",rel:"nofollow"}," 小程序管理后台 -> 设置 -> 隐私与安全 -> 明文 scheme 拉起此小程序 (点击跳转去配置) ")])])],-1))])}}}),Me={class:"shop-pages h-[530px]"},Ue={class:"link-list flex flex-wrap"},Ke=["onClick"],je=O({__name:"shop-pages",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=E([{path:"/pages/index/index",name:"商城首页",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/news/news",name:"文章资讯",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/user/user",name:"个人中心",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/collection/collection",name:"我的收藏",type:a.SHOP_PAGES},{path:"/pages/customer_service/customer_service",name:"联系客服",type:a.SHOP_PAGES},{path:"/pages/user_set/user_set",name:"个人设置",type:a.SHOP_PAGES},{path:"/pages/as_us/as_us",name:"关于我们",type:a.SHOP_PAGES},{path:"/pages/user_data/user_data",name:"个人资料",type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"隐私政策",query:{type:"privacy"},type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"服务协议",query:{type:"service"},type:a.SHOP_PAGES},{path:"/pages/search/search",name:"搜索",type:a.SHOP_PAGES},{path:"/packages/pages/user_wallet/user_wallet",name:"我的钱包",type:a.SHOP_PAGES}]),d=t=>{c("update:modelValue",t)};return(t,e)=>(r(),V("div",Me,[l("div",Ue,[(r(!0),V(T,null,$(o(y),(_,s)=>(r(),V("div",{class:ve(["link-item border border-br px-5 py-[5px] rounded-[3px] cursor-pointer mr-[10px] mb-[10px]",{"border-primary text-primary":n.modelValue.path==_.path&&n.modelValue.name==_.name}]),key:s,onClick:i=>d(_)},C(_.name),11,Ke))),128))])]))}}),Be={class:"link flex"},De={class:"flex-1 ml-4 link-content"},Fe=O({__name:"index",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=E([{name:"商城页面",type:w.SHOP_PAGES,children:[{name:"基础页面",type:a.SHOP_PAGES,link:{}}]},{name:"应用工具",type:w.APPTOOL,children:[{name:"文章资讯",type:a.ARTICLE_LIST,link:{}}]},{name:"其他",type:w.OTHER_LINK,children:[{name:"自定义链接",type:a.CUSTOM_LINK,link:{}},{name:"跳转小程序",type:a.MINI_PROGRAM,link:{}}]}]),t=N({get(){let s={};return d.value.forEach(i=>{const p=i.children.find(f=>f.type==e.value);p&&(s=p)}),s.link},set(s){d.value.forEach(i=>{i.children.forEach(p=>{p.type==e.value&&(p.link=s)})})}}),e=E(a.SHOP_PAGES),_=s=>{e.value=s};return k(t,s=>{s.type&&y("update:modelValue",s)},{deep:!0}),k(()=>c.modelValue,s=>{e.value=s.type,t.value=s},{immediate:!0}),(s,i)=>{const p=ne,f=se,v=ae;return r(),V("div",Be,[m(v,{"default-active":o(e),class:"flex-none w-[180px] min-h-[350px] link-menu","default-openeds":[o(w).SHOP_PAGES,o(w).APPTOOL,o(w).OTHER_LINK],onSelect:_},{default:x(()=>[(r(!0),V(T,null,$(o(d),(u,S)=>(r(),P(f,{index:u.type,key:S},{title:x(()=>[l("span",null,C(u.name),1)]),default:x(()=>[(r(!0),V(T,null,$(u.children,(A,G)=>(r(),P(p,{index:A.type,key:G,style:{"min-width":"160px"}},{default:x(()=>[l("span",null,C(A.name),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"]))),128))]),_:1},8,["default-active","default-openeds"]),l("div",De,[o(a).SHOP_PAGES==o(e)?(r(),P(je,{key:0,modelValue:o(t),"onUpdate:modelValue":i[0]||(i[0]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).ARTICLE_LIST==o(e)?(r(),P(Ie,{key:1,modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).CUSTOM_LINK==o(e)?(r(),P(Ae,{key:2,modelValue:o(t),"onUpdate:modelValue":i[2]||(i[2]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).MINI_PROGRAM==o(e)?(r(),P(Ne,{key:3,modelValue:o(t),"onUpdate:modelValue":i[3]||(i[3]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0)])])}}}),ze=q(Fe,[["__scopeId","data-v-c8ad0dfa"]]),Je=O({__name:"picker",props:{modelValue:{type:Object},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,d=xe(),t=E({path:"",type:a.SHOP_PAGES}),e=()=>{y("update:modelValue",t.value)},_=N(()=>{var s,i,p;switch((s=c.modelValue)==null?void 0:s.type){case a.SHOP_PAGES:return c.modelValue.name;case a.ARTICLE_LIST:return c.modelValue.name;case a.CUSTOM_LINK:return(i=c.modelValue.query)==null?void 0:i.url;default:return(p=c.modelValue)==null?void 0:p.name}});return k(()=>c.modelValue,s=>{s!=null&&s.type&&(t.value=s)},{immediate:!0}),(s,i)=>{const p=oe,f=L;return r(),V("div",{class:"link-picker flex-1",onClick:i[2]||(i[2]=v=>{var u;return!n.disabled&&((u=o(d))==null?void 0:u.open())})},[m(f,{"model-value":o(_),placeholder:"请选择链接",readonly:"",disabled:n.disabled},{suffix:x(()=>{var v;return[(v=n.modelValue)!=null&&v.path?(r(),P(p,{key:1,name:"el-icon-Close",onClick:i[0]||(i[0]=de(u=>!n.disabled&&y("update:modelValue",{}),["stop"]))})):(r(),P(p,{key:0,name:"el-icon-ArrowRight"}))]}),_:1},8,["model-value","disabled"]),m(me,{ref_key:"popupRef",ref:d,width:"1050px",title:"链接选择",onConfirm:e},{default:x(()=>[m(ze,{modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=v=>I(t)?t.value=v:null)},null,8,["modelValue"])]),_:1},512)])}}}),it=q(Je,[["__scopeId","data-v-c281815e"]]);export{it as _}; diff --git a/server/public/admin/assets/picker-C0hwSppU.js b/server/public/admin/assets/picker-lbwHqE-a.js similarity index 96% rename from server/public/admin/assets/picker-C0hwSppU.js rename to server/public/admin/assets/picker-lbwHqE-a.js index ef167111d..391fa0268 100644 --- a/server/public/admin/assets/picker-C0hwSppU.js +++ b/server/public/admin/assets/picker-lbwHqE-a.js @@ -1 +1 @@ -import{_ as j}from"./index-D5PquIeg.js";import{s as le}from"./element-plus-DGP1XOrU.js";import{_ as se,a as J,F as ue}from"./index-CZHppZGf.js";import{e as de,k as O,_ as pe,c as me}from"./index-fRv3NTFQ.js";import{_ as fe}from"./index-Dc1nFBAH.js";import{D as ge}from"./vuedraggable-5bKFmC7X.js";import{a as ve}from"./file-FhuQj5ML.js";import{f as ce,w as he,am as q,A as T,n as ye,ar as F,ak as we,I as De,a as f,M as Ce,aN as S,J as d,O as be,aP as Te,aq as Se}from"./@vue/runtime-core-C6bnekPw.js";import{K as Pe,n as s}from"./@vue/reactivity-DiY1c2vO.js";import{h as ke}from"./@vueuse/shared-Cl3lVqjz.js";import{s as h,q as $e}from"./@vue/runtime-dom-DDAG46FW.js";import{o as E,p as ze}from"./@vue/shared-mAAVTE9n.js";const Ve=ce({components:{Popup:j,Draggable:ge,FileItem:ue,Material:J,Preview:se},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1},uploadCid:{type:[Number,String],default:0}},emits:["change","update:modelValue"],setup(e,{emit:a}){const z=s(),V=s(),A=s(""),I=s(!1),o=s([]),P=s([]),c=s(!0),k=s(-1),g=s(0),y=s(!1),{disabled:v,limit:p,modelValue:i}=Pe(e),w=de(),D=t=>w.getImageUrl(t),C=T(()=>!e.hiddenUpload&&(e.type==="image"||e.type==="video"||e.type==="file")),K=T(()=>g.value>0);function R(t){if(!t)return!1;const n=Array.from(t.types);return n.includes("Files")||n.includes("application/x-moz-file")}function B(t,n){var l;if(n==="file")return!0;const r=t.includes(".")&&((l=t.split(".").pop())==null?void 0:l.toLowerCase())||"";return n==="image"?r?["jpg","jpeg","png","gif","ico"].includes(r):!0:n==="video"&&r?["wmv","avi","mpg","mpeg","3gp","mov","mp4","flv","rmvb","mkv"].includes(r):!0}function _(t){var l;if(!t||!t.startsWith("http"))return t;const n=String(((l=w.config)==null?void 0:l.oss_domain)||"").trim().replace(/\/$/,"");if(n&&t.startsWith(n))return t.slice(n.length).replace(/^\//,"");const r=typeof window<"u"?window.location.origin.replace(/\/$/,""):"";if(r&&t.startsWith(r))return t.slice(r.length).replace(/^\//,"");try{return new URL(t).pathname.replace(/^\//,"")}catch{return t}}function G(t){var b,$;const n=e.type,r=Array.from(((b=t.clipboardData)==null?void 0:b.files)||[]).filter(m=>B(m.name,n));if(r.length)return r;if(n!=="image")return[];const l=($=t.clipboardData)==null?void 0:$.items;if(!l)return[];const u=[];for(let m=0;m{!C.value||v.value||R(t.dataTransfer)&&g.value++},Q=()=>{C.value&&(g.value=Math.max(0,g.value-1))},X=t=>{!C.value||v.value||R(t.dataTransfer)&&t.preventDefault()},Y=async t=>{var r;if(g.value=0,!C.value||v.value)return;const n=Array.from(((r=t.dataTransfer)==null?void 0:r.files)||[]).filter(l=>B(l.name,e.type));n.length&&await M(n)},Z=async t=>{if(!C.value||v.value)return;const n=G(t);n.length&&(t.preventDefault(),await M(n))},x=T(()=>{switch(e.type){case"image":return"图片";case"video":return"视频";default:return""}}),ee=T(()=>e.limit-o.value.length>0),te=T(()=>c.value?p.value==-1?null:p.value-o.value.length:1),ae=ke(()=>{const t=P.value.map(n=>e.excludeDomain?n.uri:n.url);c.value?o.value=[...o.value,...t]:o.value.splice(k.value,1,t.shift()),N()},1e3,!1),ne=t=>{var n;v.value||(t>=0?(c.value=!1,k.value=t):c.value=!0,(n=z.value)==null||n.open())},ie=t=>{P.value=t},N=()=>{const t=p.value!=1?o.value:o.value[0]||"";a("update:modelValue",t),a("change",t),U()},oe=t=>{o.value.splice(t,1),N()},re=t=>{A.value=e.excludeDomain?D(t):t,I.value=!0},U=()=>{ye(()=>{var t;e.hiddenUpload&&(o.value=[]),(t=V.value)==null||t.clearSelect()})};return he(i,t=>{o.value=Array.isArray(t)?t:t==""?[]:[t]},{immediate:!0}),q("limit",e.limit),q("hiddenUpload",e.hiddenUpload),{popupRef:z,materialRef:V,fileList:o,tipsText:x,handleConfirm:ae,meterialLimit:te,showUpload:ee,showPopup:ne,selectChange:ie,deleteImg:oe,previewUrl:A,showPreview:I,handlePreview:re,handleClose:U,getImageUrl:D,dropActive:K,onTriggerDragEnter:H,onTriggerDragLeave:Q,onTriggerDragOver:X,onTriggerDrop:Y,onTriggerPaste:Z}}}),Ae={class:"material-select"},Ie=["onClick"],Ue={class:"operation-btns text-xs text-center"},Le=["onClick"],Fe={class:"material-wrap"};function Ee(e,a,z,V,A,I){const o=F("file-item"),P=fe,c=F("draggable"),k=me,g=J,y=le,v=j,p=F("preview");return we(),De("div",Ae,[f(v,{ref:"popupRef",width:"1050px","custom-class":"body-padding",title:`选择${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},Ce({default:S(()=>[f(y,null,{default:S(()=>[d("div",Fe,[f(g,{ref:"materialRef",type:e.type,"file-size":e.fileSize,limit:e.meterialLimit,onChange:e.selectChange},null,8,["type","file-size","limit","onChange"])])]),_:1})]),_:2},[e.hiddenUpload?void 0:{name:"trigger",fn:S(()=>[d("div",{class:E(["material-select__trigger clearfix",{"is-drop-hover":e.dropActive}]),tabindex:"0",onClick:a[2]||(a[2]=h(()=>{},["stop"])),onDragenter:a[3]||(a[3]=h((...i)=>e.onTriggerDragEnter&&e.onTriggerDragEnter(...i),["prevent","stop"])),onDragleave:a[4]||(a[4]=h((...i)=>e.onTriggerDragLeave&&e.onTriggerDragLeave(...i),["prevent","stop"])),onDragover:a[5]||(a[5]=h((...i)=>e.onTriggerDragOver&&e.onTriggerDragOver(...i),["prevent","stop"])),onDrop:a[6]||(a[6]=h((...i)=>e.onTriggerDrop&&e.onTriggerDrop(...i),["prevent","stop"])),onPaste:a[7]||(a[7]=(...i)=>e.onTriggerPaste&&e.onTriggerPaste(...i))},[f(c,{class:"draggable",modelValue:e.fileList,"onUpdate:modelValue":a[0]||(a[0]=i=>e.fileList=i),animation:"300","item-key":"id"},{item:S(({element:i,index:w})=>[d("div",{class:E(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:D=>e.showPopup(w)},[f(P,{onClose:D=>e.deleteImg(w)},{default:S(()=>[f(o,{uri:e.excludeDomain?e.getImageUrl(i):i,"file-size":e.size,width:e.width,height:e.height,type:e.type},null,8,["uri","file-size","width","height","type"])]),_:2},1032,["onClose"]),d("div",Ue,[a[9]||(a[9]=d("span",null,"修改",-1)),a[10]||(a[10]=be(" | ",-1)),d("span",{onClick:h(D=>e.handlePreview(i),["stop"])},"查看",8,Le)])],10,Ie)]),_:1},8,["modelValue"]),Te(d("div",{class:E(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:a[1]||(a[1]=i=>e.showPopup(-1))},[Se(e.$slots,"upload",{},()=>[d("div",{class:"upload-btn",style:ze({width:e.width||e.size,height:e.height||e.size})},[f(k,{size:25,name:"el-icon-Plus"}),a[11]||(a[11]=d("span",null,"添加",-1))],4)],!0)],2),[[$e,e.showUpload]])],34)]),key:"0"}]),1032,["title","onConfirm","onClose"]),f(p,{modelValue:e.showPreview,"onUpdate:modelValue":a[8]||(a[8]=i=>e.showPreview=i),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}const He=pe(Ve,[["render",Ee],["__scopeId","data-v-27e7e4cc"]]);export{He as _}; +import{_ as j}from"./index-BVjWjU3h.js";import{s as le}from"./element-plus-DGP1XOrU.js";import{_ as se,a as J,F as ue}from"./index-CBjo9bLs.js";import{e as de,k as O,_ as pe,c as me}from"./index-J_eFER10.js";import{_ as fe}from"./index-sgqCyAwB.js";import{D as ge}from"./vuedraggable-5bKFmC7X.js";import{a as ve}from"./file-D7g_w1vo.js";import{f as ce,w as he,am as q,A as T,n as ye,ar as F,ak as we,I as De,a as f,M as Ce,aN as S,J as d,O as be,aP as Te,aq as Se}from"./@vue/runtime-core-C6bnekPw.js";import{K as Pe,n as s}from"./@vue/reactivity-DiY1c2vO.js";import{h as ke}from"./@vueuse/shared-Cl3lVqjz.js";import{s as h,q as $e}from"./@vue/runtime-dom-DDAG46FW.js";import{o as E,p as ze}from"./@vue/shared-mAAVTE9n.js";const Ve=ce({components:{Popup:j,Draggable:ge,FileItem:ue,Material:J,Preview:se},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1},uploadCid:{type:[Number,String],default:0}},emits:["change","update:modelValue"],setup(e,{emit:a}){const z=s(),V=s(),A=s(""),I=s(!1),o=s([]),P=s([]),c=s(!0),k=s(-1),g=s(0),y=s(!1),{disabled:v,limit:p,modelValue:i}=Pe(e),w=de(),D=t=>w.getImageUrl(t),C=T(()=>!e.hiddenUpload&&(e.type==="image"||e.type==="video"||e.type==="file")),K=T(()=>g.value>0);function R(t){if(!t)return!1;const n=Array.from(t.types);return n.includes("Files")||n.includes("application/x-moz-file")}function B(t,n){var l;if(n==="file")return!0;const r=t.includes(".")&&((l=t.split(".").pop())==null?void 0:l.toLowerCase())||"";return n==="image"?r?["jpg","jpeg","png","gif","ico"].includes(r):!0:n==="video"&&r?["wmv","avi","mpg","mpeg","3gp","mov","mp4","flv","rmvb","mkv"].includes(r):!0}function _(t){var l;if(!t||!t.startsWith("http"))return t;const n=String(((l=w.config)==null?void 0:l.oss_domain)||"").trim().replace(/\/$/,"");if(n&&t.startsWith(n))return t.slice(n.length).replace(/^\//,"");const r=typeof window<"u"?window.location.origin.replace(/\/$/,""):"";if(r&&t.startsWith(r))return t.slice(r.length).replace(/^\//,"");try{return new URL(t).pathname.replace(/^\//,"")}catch{return t}}function G(t){var b,$;const n=e.type,r=Array.from(((b=t.clipboardData)==null?void 0:b.files)||[]).filter(m=>B(m.name,n));if(r.length)return r;if(n!=="image")return[];const l=($=t.clipboardData)==null?void 0:$.items;if(!l)return[];const u=[];for(let m=0;m{!C.value||v.value||R(t.dataTransfer)&&g.value++},Q=()=>{C.value&&(g.value=Math.max(0,g.value-1))},X=t=>{!C.value||v.value||R(t.dataTransfer)&&t.preventDefault()},Y=async t=>{var r;if(g.value=0,!C.value||v.value)return;const n=Array.from(((r=t.dataTransfer)==null?void 0:r.files)||[]).filter(l=>B(l.name,e.type));n.length&&await M(n)},Z=async t=>{if(!C.value||v.value)return;const n=G(t);n.length&&(t.preventDefault(),await M(n))},x=T(()=>{switch(e.type){case"image":return"图片";case"video":return"视频";default:return""}}),ee=T(()=>e.limit-o.value.length>0),te=T(()=>c.value?p.value==-1?null:p.value-o.value.length:1),ae=ke(()=>{const t=P.value.map(n=>e.excludeDomain?n.uri:n.url);c.value?o.value=[...o.value,...t]:o.value.splice(k.value,1,t.shift()),N()},1e3,!1),ne=t=>{var n;v.value||(t>=0?(c.value=!1,k.value=t):c.value=!0,(n=z.value)==null||n.open())},ie=t=>{P.value=t},N=()=>{const t=p.value!=1?o.value:o.value[0]||"";a("update:modelValue",t),a("change",t),U()},oe=t=>{o.value.splice(t,1),N()},re=t=>{A.value=e.excludeDomain?D(t):t,I.value=!0},U=()=>{ye(()=>{var t;e.hiddenUpload&&(o.value=[]),(t=V.value)==null||t.clearSelect()})};return he(i,t=>{o.value=Array.isArray(t)?t:t==""?[]:[t]},{immediate:!0}),q("limit",e.limit),q("hiddenUpload",e.hiddenUpload),{popupRef:z,materialRef:V,fileList:o,tipsText:x,handleConfirm:ae,meterialLimit:te,showUpload:ee,showPopup:ne,selectChange:ie,deleteImg:oe,previewUrl:A,showPreview:I,handlePreview:re,handleClose:U,getImageUrl:D,dropActive:K,onTriggerDragEnter:H,onTriggerDragLeave:Q,onTriggerDragOver:X,onTriggerDrop:Y,onTriggerPaste:Z}}}),Ae={class:"material-select"},Ie=["onClick"],Ue={class:"operation-btns text-xs text-center"},Le=["onClick"],Fe={class:"material-wrap"};function Ee(e,a,z,V,A,I){const o=F("file-item"),P=fe,c=F("draggable"),k=me,g=J,y=le,v=j,p=F("preview");return we(),De("div",Ae,[f(v,{ref:"popupRef",width:"1050px","custom-class":"body-padding",title:`选择${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},Ce({default:S(()=>[f(y,null,{default:S(()=>[d("div",Fe,[f(g,{ref:"materialRef",type:e.type,"file-size":e.fileSize,limit:e.meterialLimit,onChange:e.selectChange},null,8,["type","file-size","limit","onChange"])])]),_:1})]),_:2},[e.hiddenUpload?void 0:{name:"trigger",fn:S(()=>[d("div",{class:E(["material-select__trigger clearfix",{"is-drop-hover":e.dropActive}]),tabindex:"0",onClick:a[2]||(a[2]=h(()=>{},["stop"])),onDragenter:a[3]||(a[3]=h((...i)=>e.onTriggerDragEnter&&e.onTriggerDragEnter(...i),["prevent","stop"])),onDragleave:a[4]||(a[4]=h((...i)=>e.onTriggerDragLeave&&e.onTriggerDragLeave(...i),["prevent","stop"])),onDragover:a[5]||(a[5]=h((...i)=>e.onTriggerDragOver&&e.onTriggerDragOver(...i),["prevent","stop"])),onDrop:a[6]||(a[6]=h((...i)=>e.onTriggerDrop&&e.onTriggerDrop(...i),["prevent","stop"])),onPaste:a[7]||(a[7]=(...i)=>e.onTriggerPaste&&e.onTriggerPaste(...i))},[f(c,{class:"draggable",modelValue:e.fileList,"onUpdate:modelValue":a[0]||(a[0]=i=>e.fileList=i),animation:"300","item-key":"id"},{item:S(({element:i,index:w})=>[d("div",{class:E(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:D=>e.showPopup(w)},[f(P,{onClose:D=>e.deleteImg(w)},{default:S(()=>[f(o,{uri:e.excludeDomain?e.getImageUrl(i):i,"file-size":e.size,width:e.width,height:e.height,type:e.type},null,8,["uri","file-size","width","height","type"])]),_:2},1032,["onClose"]),d("div",Ue,[a[9]||(a[9]=d("span",null,"修改",-1)),a[10]||(a[10]=be(" | ",-1)),d("span",{onClick:h(D=>e.handlePreview(i),["stop"])},"查看",8,Le)])],10,Ie)]),_:1},8,["modelValue"]),Te(d("div",{class:E(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:a[1]||(a[1]=i=>e.showPopup(-1))},[Se(e.$slots,"upload",{},()=>[d("div",{class:"upload-btn",style:ze({width:e.width||e.size,height:e.height||e.size})},[f(k,{size:25,name:"el-icon-Plus"}),a[11]||(a[11]=d("span",null,"添加",-1))],4)],!0)],2),[[$e,e.showUpload]])],34)]),key:"0"}]),1032,["title","onConfirm","onClose"]),f(p,{modelValue:e.showPreview,"onUpdate:modelValue":a[8]||(a[8]=i=>e.showPreview=i),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}const He=pe(Ve,[["render",Ee],["__scopeId","data-v-27e7e4cc"]]);export{He as _}; diff --git a/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js b/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js similarity index 98% rename from server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js rename to server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js index 2f810d788..32155a0b8 100644 --- a/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-vKZAKbEl.js +++ b/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-D3IEBUAQ.js @@ -1 +1 @@ -import{a2 as M,s as W,i as $,C as L,r as z}from"./element-plus-DGP1XOrU.js";import{c as T,B as R,D}from"./index-fRv3NTFQ.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";import{b as O}from"./@vueuse/core-1S4fJlii.js";import{f as P,w as U,n as h,b as j,ak as u,I as r,a as n,aN as a,J as i,F as V,ap as k,G as q,O as A,A as G}from"./@vue/runtime-core-C6bnekPw.js";import{o as J,Q}from"./@vue/shared-mAAVTE9n.js";import{y as x,n as H,q as K,r as X}from"./@vue/reactivity-DiY1c2vO.js";const Y={class:"icon-select"},Z={class:"flex justify-between"},ee=["onClick"],oe={class:"h-[280px]"},te={class:"flex flex-wrap"},se={key:0,class:"flex items-center"},de=P({__name:"picker",props:{modelValue:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(c,{emit:w}){const d=w,v=H(0),b=[{name:"element图标",icons:R()},{name:"本地图标",icons:D()}],m=K(),e=X({inputValue:"",popoverVisible:!1,popoverWidth:0,mouseoverSelect:!1,inputFocus:!1}),y=()=>{e.inputFocus=e.popoverVisible=!0},C=()=>{e.inputFocus=!1,e.popoverVisible=e.mouseoverSelect},g=t=>{e.mouseoverSelect=e.popoverVisible=!1,d("update:modelValue",t),d("change",t)},B=()=>{d("update:modelValue",""),d("change","")},F=G(()=>{var l;const t=((l=b[v.value])==null?void 0:l.icons)??[];if(!e.inputValue)return t;const o=e.inputValue.toLowerCase();return t.filter(p=>{if(p.toLowerCase().indexOf(o)!==-1)return p})}),S=()=>{h(()=>{var o;const t=(o=m.value)==null?void 0:o.$el.offsetWidth;e.popoverWidth=t<300?300:t})};return O(document.body,"click",()=>{e.popoverVisible=!!(e.inputFocus||e.mouseoverSelect)}),U(()=>e.popoverVisible,async t=>{var o,l;await h(),t?(o=m.value)==null||o.focus():(l=m.value)==null||l.blur()}),j(()=>{S()}),(t,o)=>{const l=T,p=$,E=W,N=z,I=M;return u(),r("div",Y,[n(I,{trigger:"contextmenu",visible:e.popoverVisible,"onUpdate:visible":o[3]||(o[3]=s=>e.popoverVisible=s),width:e.popoverWidth},{reference:a(()=>[n(x(L),{ref_key:"inputRef",ref:m,modelValue:e.inputValue,"onUpdate:modelValue":o[2]||(o[2]=s=>e.inputValue=s),modelModifiers:{trim:!0},placeholder:"搜索图标",autofocus:!1,disabled:c.disabled,onFocus:y,onBlur:C,clearable:""},{prepend:a(()=>[c.modelValue?(u(),r("div",se,[n(N,{class:"flex-1 w-20",content:c.modelValue,placement:"top"},{default:a(()=>[(u(),q(l,{class:"mr-1",key:c.modelValue,name:c.modelValue,size:16},null,8,["name"]))]),_:1},8,["content"])])):(u(),r(V,{key:1},[A("无")],64))]),append:a(()=>[n(p,null,{default:a(()=>[n(l,{name:"el-icon-Close",size:18,onClick:B})]),_:1})]),_:1},8,["modelValue","disabled"])]),default:a(()=>[i("div",{onMouseover:o[0]||(o[0]=_(s=>e.mouseoverSelect=!0,["stop"])),onMouseout:o[1]||(o[1]=_(s=>e.mouseoverSelect=!1,["stop"]))},[i("div",null,[i("div",Z,[o[4]||(o[4]=i("div",{class:"mb-3"},"请选择图标",-1)),i("div",null,[(u(),r(V,null,k(b,(s,f)=>i("span",{key:f,class:J(["cursor-pointer text-sm ml-2",{"text-primary":f==x(v)}]),onClick:le=>v.value=f},Q(s.name),11,ee)),64))])]),i("div",oe,[n(E,null,{default:a(()=>[i("div",te,[(u(!0),r(V,null,k(F.value,s=>(u(),r("div",{key:s,class:"m-1"},[n(p,{onClick:f=>g(s)},{default:a(()=>[n(l,{name:s,size:18},null,8,["name"])]),_:2},1032,["onClick"])]))),128))])]),_:1})])])],32)]),_:1},8,["visible","width"])])}}});export{de as _}; +import{a2 as M,s as W,i as $,C as L,r as z}from"./element-plus-DGP1XOrU.js";import{c as T,B as R,D}from"./index-J_eFER10.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";import{b as O}from"./@vueuse/core-1S4fJlii.js";import{f as P,w as U,n as h,b as j,ak as u,I as r,a as n,aN as a,J as i,F as V,ap as k,G as q,O as A,A as G}from"./@vue/runtime-core-C6bnekPw.js";import{o as J,Q}from"./@vue/shared-mAAVTE9n.js";import{y as x,n as H,q as K,r as X}from"./@vue/reactivity-DiY1c2vO.js";const Y={class:"icon-select"},Z={class:"flex justify-between"},ee=["onClick"],oe={class:"h-[280px]"},te={class:"flex flex-wrap"},se={key:0,class:"flex items-center"},de=P({__name:"picker",props:{modelValue:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(c,{emit:w}){const d=w,v=H(0),b=[{name:"element图标",icons:R()},{name:"本地图标",icons:D()}],m=K(),e=X({inputValue:"",popoverVisible:!1,popoverWidth:0,mouseoverSelect:!1,inputFocus:!1}),y=()=>{e.inputFocus=e.popoverVisible=!0},C=()=>{e.inputFocus=!1,e.popoverVisible=e.mouseoverSelect},g=t=>{e.mouseoverSelect=e.popoverVisible=!1,d("update:modelValue",t),d("change",t)},B=()=>{d("update:modelValue",""),d("change","")},F=G(()=>{var l;const t=((l=b[v.value])==null?void 0:l.icons)??[];if(!e.inputValue)return t;const o=e.inputValue.toLowerCase();return t.filter(p=>{if(p.toLowerCase().indexOf(o)!==-1)return p})}),S=()=>{h(()=>{var o;const t=(o=m.value)==null?void 0:o.$el.offsetWidth;e.popoverWidth=t<300?300:t})};return O(document.body,"click",()=>{e.popoverVisible=!!(e.inputFocus||e.mouseoverSelect)}),U(()=>e.popoverVisible,async t=>{var o,l;await h(),t?(o=m.value)==null||o.focus():(l=m.value)==null||l.blur()}),j(()=>{S()}),(t,o)=>{const l=T,p=$,E=W,N=z,I=M;return u(),r("div",Y,[n(I,{trigger:"contextmenu",visible:e.popoverVisible,"onUpdate:visible":o[3]||(o[3]=s=>e.popoverVisible=s),width:e.popoverWidth},{reference:a(()=>[n(x(L),{ref_key:"inputRef",ref:m,modelValue:e.inputValue,"onUpdate:modelValue":o[2]||(o[2]=s=>e.inputValue=s),modelModifiers:{trim:!0},placeholder:"搜索图标",autofocus:!1,disabled:c.disabled,onFocus:y,onBlur:C,clearable:""},{prepend:a(()=>[c.modelValue?(u(),r("div",se,[n(N,{class:"flex-1 w-20",content:c.modelValue,placement:"top"},{default:a(()=>[(u(),q(l,{class:"mr-1",key:c.modelValue,name:c.modelValue,size:16},null,8,["name"]))]),_:1},8,["content"])])):(u(),r(V,{key:1},[A("无")],64))]),append:a(()=>[n(p,null,{default:a(()=>[n(l,{name:"el-icon-Close",size:18,onClick:B})]),_:1})]),_:1},8,["modelValue","disabled"])]),default:a(()=>[i("div",{onMouseover:o[0]||(o[0]=_(s=>e.mouseoverSelect=!0,["stop"])),onMouseout:o[1]||(o[1]=_(s=>e.mouseoverSelect=!1,["stop"]))},[i("div",null,[i("div",Z,[o[4]||(o[4]=i("div",{class:"mb-3"},"请选择图标",-1)),i("div",null,[(u(),r(V,null,k(b,(s,f)=>i("span",{key:f,class:J(["cursor-pointer text-sm ml-2",{"text-primary":f==x(v)}]),onClick:le=>v.value=f},Q(s.name),11,ee)),64))])]),i("div",oe,[n(E,null,{default:a(()=>[i("div",te,[(u(!0),r(V,null,k(F.value,s=>(u(),r("div",{key:s,class:"m-1"},[n(p,{onClick:f=>g(s)},{default:a(()=>[n(l,{name:s,size:18},null,8,["name"])]),_:2},1032,["onClick"])]))),128))])]),_:1})])])],32)]),_:1},8,["visible","width"])])}}});export{de as _}; diff --git a/server/public/admin/assets/post-CPnP1Klt.js b/server/public/admin/assets/post-BjyIxcyn.js similarity index 86% rename from server/public/admin/assets/post-CPnP1Klt.js rename to server/public/admin/assets/post-BjyIxcyn.js index 10fac1b99..94cbcc154 100644 --- a/server/public/admin/assets/post-CPnP1Klt.js +++ b/server/public/admin/assets/post-BjyIxcyn.js @@ -1 +1 @@ -import{r as e}from"./index-fRv3NTFQ.js";function o(t){return e.get({url:"/dept.jobs/lists",params:t},{ignoreCancelToken:!0})}function r(t){return e.get({url:"/dept.jobs/all",params:t})}function n(t){return e.post({url:"/dept.jobs/add",params:t})}function u(t){return e.post({url:"/dept.jobs/edit",params:t})}function l(t){return e.post({url:"/dept.jobs/delete",params:t})}function d(t){return e.get({url:"/dept.jobs/detail",params:t})}export{u as a,n as b,d as c,o as d,l as e,r as j}; +import{r as e}from"./index-J_eFER10.js";function o(t){return e.get({url:"/dept.jobs/lists",params:t},{ignoreCancelToken:!0})}function r(t){return e.get({url:"/dept.jobs/all",params:t})}function n(t){return e.post({url:"/dept.jobs/add",params:t})}function u(t){return e.post({url:"/dept.jobs/edit",params:t})}function l(t){return e.post({url:"/dept.jobs/delete",params:t})}function d(t){return e.get({url:"/dept.jobs/detail",params:t})}export{u as a,n as b,d as c,o as d,l as e,r as j}; diff --git a/server/public/admin/assets/prescription-drawer-BZnGD-lY.js b/server/public/admin/assets/prescription-drawer-FyoeLrYk.js similarity index 97% rename from server/public/admin/assets/prescription-drawer-BZnGD-lY.js rename to server/public/admin/assets/prescription-drawer-FyoeLrYk.js index 9c5efcca6..2bce4b19d 100644 --- a/server/public/admin/assets/prescription-drawer-BZnGD-lY.js +++ b/server/public/admin/assets/prescription-drawer-FyoeLrYk.js @@ -1 +1 @@ -import{D as $,B as z,C as H,Q as J,R as A,ab as L,ac as P,G as Q,J as j,h as K,S as W,i as X,N as Z,O as ee,g as le,e as ae}from"./element-plus-DGP1XOrU.js";import{v as oe}from"./tcm-CEIBuAeK.js";import{k as w,_ as te}from"./index-fRv3NTFQ.js";import{M as ne}from"./index-C5r1a79q.js";import{f as ue,ak as de,G as re,aN as o,a as e,O as _,J as k}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as ie,n as x,r as se}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-CEgParOp.js";const pe={class:"w-full"},me=ue({__name:"prescription-drawer",emits:["success"],setup(_e,{expose:C,emit:D}){const S=D,g=x(!1),b=x(),y=x(!1),l=se({appointment_id:0,diagnosis_id:0,prescription_name:"",prescription_type:"浓缩水丸",patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"水煎服,一日二次",usage_time:"饭前",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",is_shared:0,audit_status:1}),I={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}],patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}]},q=()=>{l.herbs.push({name:"",dosage:0})},Y=r=>{l.herbs.splice(r,1)},N=()=>{l.appointment_id=0,l.diagnosis_id=0,l.prescription_name="",l.prescription_type="浓缩水丸",l.patient_name="",l.gender=1,l.age=0,l.visit_no="",l.prescription_date=new Date().toISOString().split("T")[0],l.tongue="",l.tongue_image="",l.pulse="",l.pulse_condition="",l.clinical_diagnosis="",l.herbs=[],l.dose_count=7,l.dose_unit="剂",l.usage_days=7,l.usage_instruction="水煎服,一日二次",l.usage_time="饭前",l.usage_way="温水送服",l.dietary_taboo=[],l.usage_notes="",l.doctor_name="",l.is_shared=0,l.audit_status=0},R=r=>{var a;N(),l.appointment_id=r.id||0,l.diagnosis_id=r.diagnosis_id||0,l.patient_name=r.patient_name||"",l.gender=r.patient_gender==="男"?1:0,l.age=parseInt(r.patient_age)||0,l.visit_no=((a=r.id)==null?void 0:a.toString())||"",l.prescription_date=r.appointment_date||new Date().toISOString().split("T")[0],l.doctor_name=r.doctor_name||"",g.value=!0},U=()=>{var r;g.value=!1,(r=b.value)==null||r.resetFields()},M=async()=>{if(b.value){if(await b.value.validate(),!l.herbs||l.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let r=0;r{const s=H,d=z,u=A,f=J,i=P,p=L,E=j,B=Q,V=K,O=W,c=X,v=ee,T=Z,h=le,F=$,G=ae;return de(),re(G,{modelValue:n(g),"onUpdate:modelValue":a[22]||(a[22]=t=>ie(g)?g.value=t:null),title:"创建处方单",size:"90%","close-on-click-modal":!1,onClose:U},{footer:o(()=>[e(c,{onClick:U},{default:o(()=>[...a[28]||(a[28]=[_("取消",-1)])]),_:1}),e(c,{type:"primary",onClick:M,loading:n(y)},{default:o(()=>[...a[29]||(a[29]=[_("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(F,{ref_key:"formRef",ref:b,model:n(l),rules:I,"label-width":"120px",class:"prescription-form"},{default:o(()=>[e(d,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[e(s,{modelValue:n(l).prescription_name,"onUpdate:modelValue":a[0]||(a[0]=t=>n(l).prescription_name=t),placeholder:"请输入处方名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(d,{label:"处方类型",prop:"prescription_type"},{default:o(()=>[e(f,{modelValue:n(l).prescription_type,"onUpdate:modelValue":a[1]||(a[1]=t=>n(l).prescription_type=t),placeholder:"请选择处方类型",class:"w-full"},{default:o(()=>[e(u,{label:"浓缩水丸",value:"浓缩水丸"}),e(u,{label:"饮片",value:"饮片"}),e(u,{label:"颗粒",value:"颗粒"}),e(u,{label:"丸剂",value:"丸剂"}),e(u,{label:"散剂",value:"散剂"}),e(u,{label:"膏方",value:"膏方"}),e(u,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:12},{default:o(()=>[e(d,{label:"患者姓名",prop:"patient_name"},{default:o(()=>[e(s,{modelValue:n(l).patient_name,"onUpdate:modelValue":a[2]||(a[2]=t=>n(l).patient_name=t),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:12},{default:o(()=>[e(d,{label:"门诊号",prop:"visit_no"},{default:o(()=>[e(s,{modelValue:n(l).visit_no,"onUpdate:modelValue":a[3]||(a[3]=t=>n(l).visit_no=t),placeholder:"自动生成或手动输入"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:8},{default:o(()=>[e(d,{label:"性别",prop:"gender"},{default:o(()=>[e(B,{modelValue:n(l).gender,"onUpdate:modelValue":a[4]||(a[4]=t=>n(l).gender=t)},{default:o(()=>[e(E,{label:1},{default:o(()=>[...a[23]||(a[23]=[_("男",-1)])]),_:1}),e(E,{label:0},{default:o(()=>[...a[24]||(a[24]=[_("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(i,{span:8},{default:o(()=>[e(d,{label:"年龄",prop:"age"},{default:o(()=>[e(V,{modelValue:n(l).age,"onUpdate:modelValue":a[5]||(a[5]=t=>n(l).age=t),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:8},{default:o(()=>[e(d,{label:"处方日期",prop:"prescription_date"},{default:o(()=>[e(O,{modelValue:n(l).prescription_date,"onUpdate:modelValue":a[6]||(a[6]=t=>n(l).prescription_date=t),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:12},{default:o(()=>[e(d,{label:"面象",prop:"tongue"},{default:o(()=>[e(s,{modelValue:n(l).tongue,"onUpdate:modelValue":a[7]||(a[7]=t=>n(l).tongue=t),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:12},{default:o(()=>[e(d,{label:"舌象",prop:"tongue_image"},{default:o(()=>[e(s,{modelValue:n(l).tongue_image,"onUpdate:modelValue":a[8]||(a[8]=t=>n(l).tongue_image=t),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:12},{default:o(()=>[e(d,{label:"脉象",prop:"pulse"},{default:o(()=>[e(s,{modelValue:n(l).pulse,"onUpdate:modelValue":a[9]||(a[9]=t=>n(l).pulse=t),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:12},{default:o(()=>[e(d,{label:"脉象详情",prop:"pulse_condition"},{default:o(()=>[e(s,{modelValue:n(l).pulse_condition,"onUpdate:modelValue":a[10]||(a[10]=t=>n(l).pulse_condition=t),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(d,{label:"临床诊断",prop:"clinical_diagnosis"},{default:o(()=>[e(s,{modelValue:n(l).clinical_diagnosis,"onUpdate:modelValue":a[11]||(a[11]=t=>n(l).clinical_diagnosis=t),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(d,{label:"药材配方",prop:"herbs",required:""},{default:o(()=>[k("div",pe,[e(c,{type:"primary",size:"small",onClick:q},{default:o(()=>[...a[25]||(a[25]=[_(" 添加药材 ",-1)])]),_:1}),e(T,{data:n(l).herbs,class:"mt-2",border:""},{default:o(()=>[e(v,{label:"序号",type:"index",width:"60"}),e(v,{label:"药材名称","min-width":"220"},{default:o(({row:t})=>[e(ne,{modelValue:t.name,"onUpdate:modelValue":m=>t.name=m,"medicine-id":t.medicine_id,"onUpdate:medicineId":m=>t.medicine_id=m},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId"])]),_:1}),e(v,{label:"剂量(克)","min-width":"120"},{default:o(({row:t})=>[e(V,{modelValue:t.dosage,"onUpdate:modelValue":m=>t.dosage=m,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(v,{label:"操作",width:"80"},{default:o(({$index:t})=>[e(c,{type:"danger",link:"",onClick:m=>Y(t)},{default:o(()=>[...a[26]||(a[26]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:8},{default:o(()=>[e(d,{label:"剂数",prop:"dose_count"},{default:o(()=>[e(V,{modelValue:n(l).dose_count,"onUpdate:modelValue":a[12]||(a[12]=t=>n(l).dose_count=t),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:8},{default:o(()=>[e(d,{label:"剂量单位",prop:"dose_unit"},{default:o(()=>[e(f,{modelValue:n(l).dose_unit,"onUpdate:modelValue":a[13]||(a[13]=t=>n(l).dose_unit=t),placeholder:"请选择",class:"w-full"},{default:o(()=>[e(u,{label:"剂",value:"剂"}),e(u,{label:"丸",value:"丸"}),e(u,{label:"袋",value:"袋"}),e(u,{label:"盒",value:"盒"}),e(u,{label:"瓶",value:"瓶"}),e(u,{label:"膏",value:"膏"}),e(u,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(i,{span:8},{default:o(()=>[e(d,{label:"服用天数",prop:"usage_days"},{default:o(()=>[e(V,{modelValue:n(l).usage_days,"onUpdate:modelValue":a[14]||(a[14]=t=>n(l).usage_days=t),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(d,{label:"用法",prop:"usage_instruction"},{default:o(()=>[e(s,{modelValue:n(l).usage_instruction,"onUpdate:modelValue":a[15]||(a[15]=t=>n(l).usage_instruction=t),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:12},{default:o(()=>[e(d,{label:"服用时间",prop:"usage_time"},{default:o(()=>[e(f,{modelValue:n(l).usage_time,"onUpdate:modelValue":a[16]||(a[16]=t=>n(l).usage_time=t),placeholder:"请选择服用时间",class:"w-full"},{default:o(()=>[e(u,{label:"饭前",value:"饭前"}),e(u,{label:"饭后",value:"饭后"}),e(u,{label:"饭中",value:"饭中"}),e(u,{label:"空腹",value:"空腹"}),e(u,{label:"睡前",value:"睡前"}),e(u,{label:"晨起",value:"晨起"}),e(u,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(i,{span:12},{default:o(()=>[e(d,{label:"服用方式",prop:"usage_way"},{default:o(()=>[e(f,{modelValue:n(l).usage_way,"onUpdate:modelValue":a[17]||(a[17]=t=>n(l).usage_way=t),placeholder:"请选择服用方式",class:"w-full"},{default:o(()=>[e(u,{label:"温水送服",value:"温水送服"}),e(u,{label:"开水冲服",value:"开水冲服"}),e(u,{label:"黄酒送服",value:"黄酒送服"}),e(u,{label:"淡盐水送服",value:"淡盐水送服"}),e(u,{label:"米汤送服",value:"米汤送服"}),e(u,{label:"嚼服",value:"嚼服"}),e(u,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(d,{label:"忌口",prop:"dietary_taboo"},{default:o(()=>[e(f,{modelValue:n(l).dietary_taboo,"onUpdate:modelValue":a[18]||(a[18]=t=>n(l).dietary_taboo=t),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:o(()=>[e(u,{label:"辛辣食物",value:"辛辣食物"}),e(u,{label:"生冷食物",value:"生冷食物"}),e(u,{label:"油腻食物",value:"油腻食物"}),e(u,{label:"海鲜",value:"海鲜"}),e(u,{label:"牛羊肉",value:"牛羊肉"}),e(u,{label:"鸡蛋",value:"鸡蛋"}),e(u,{label:"豆制品",value:"豆制品"}),e(u,{label:"酒类",value:"酒类"}),e(u,{label:"浓茶",value:"浓茶"}),e(u,{label:"咖啡",value:"咖啡"}),e(u,{label:"烟草",value:"烟草"}),e(u,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),e(d,{label:"其他说明",prop:"usage_notes"},{default:o(()=>[e(s,{modelValue:n(l).usage_notes,"onUpdate:modelValue":a[19]||(a[19]=t=>n(l).usage_notes=t),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(d,{label:"医师姓名",prop:"doctor_name"},{default:o(()=>[e(s,{modelValue:n(l).doctor_name,"onUpdate:modelValue":a[20]||(a[20]=t=>n(l).doctor_name=t),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),e(d,{label:"是否共享",prop:"is_shared"},{default:o(()=>[e(h,{modelValue:n(l).is_shared,"onUpdate:modelValue":a[21]||(a[21]=t=>n(l).is_shared=t),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),a[27]||(a[27]=k("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),el=te(me,[["__scopeId","data-v-687b0c23"]]);export{el as default}; +import{D as $,B as z,C as H,Q as J,R as A,ab as L,ac as P,G as Q,J as j,h as K,S as W,i as X,N as Z,O as ee,g as le,e as ae}from"./element-plus-DGP1XOrU.js";import{v as oe}from"./tcm-D-ZRccbe.js";import{k as w,_ as te}from"./index-J_eFER10.js";import{M as ne}from"./index-D6w2Tfd_.js";import{f as ue,ak as de,G as re,aN as o,a as e,O as _,J as k}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as ie,n as x,r as se}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-DIQyk1R0.js";const pe={class:"w-full"},me=ue({__name:"prescription-drawer",emits:["success"],setup(_e,{expose:C,emit:D}){const S=D,g=x(!1),b=x(),y=x(!1),l=se({appointment_id:0,diagnosis_id:0,prescription_name:"",prescription_type:"浓缩水丸",patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"水煎服,一日二次",usage_time:"饭前",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",is_shared:0,audit_status:1}),I={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}],patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}]},q=()=>{l.herbs.push({name:"",dosage:0})},Y=r=>{l.herbs.splice(r,1)},N=()=>{l.appointment_id=0,l.diagnosis_id=0,l.prescription_name="",l.prescription_type="浓缩水丸",l.patient_name="",l.gender=1,l.age=0,l.visit_no="",l.prescription_date=new Date().toISOString().split("T")[0],l.tongue="",l.tongue_image="",l.pulse="",l.pulse_condition="",l.clinical_diagnosis="",l.herbs=[],l.dose_count=7,l.dose_unit="剂",l.usage_days=7,l.usage_instruction="水煎服,一日二次",l.usage_time="饭前",l.usage_way="温水送服",l.dietary_taboo=[],l.usage_notes="",l.doctor_name="",l.is_shared=0,l.audit_status=0},R=r=>{var a;N(),l.appointment_id=r.id||0,l.diagnosis_id=r.diagnosis_id||0,l.patient_name=r.patient_name||"",l.gender=r.patient_gender==="男"?1:0,l.age=parseInt(r.patient_age)||0,l.visit_no=((a=r.id)==null?void 0:a.toString())||"",l.prescription_date=r.appointment_date||new Date().toISOString().split("T")[0],l.doctor_name=r.doctor_name||"",g.value=!0},U=()=>{var r;g.value=!1,(r=b.value)==null||r.resetFields()},M=async()=>{if(b.value){if(await b.value.validate(),!l.herbs||l.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let r=0;r{const s=H,d=z,u=A,f=J,i=P,p=L,E=j,B=Q,V=K,O=W,c=X,v=ee,T=Z,h=le,F=$,G=ae;return de(),re(G,{modelValue:n(g),"onUpdate:modelValue":a[22]||(a[22]=t=>ie(g)?g.value=t:null),title:"创建处方单",size:"90%","close-on-click-modal":!1,onClose:U},{footer:o(()=>[e(c,{onClick:U},{default:o(()=>[...a[28]||(a[28]=[_("取消",-1)])]),_:1}),e(c,{type:"primary",onClick:M,loading:n(y)},{default:o(()=>[...a[29]||(a[29]=[_("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(F,{ref_key:"formRef",ref:b,model:n(l),rules:I,"label-width":"120px",class:"prescription-form"},{default:o(()=>[e(d,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[e(s,{modelValue:n(l).prescription_name,"onUpdate:modelValue":a[0]||(a[0]=t=>n(l).prescription_name=t),placeholder:"请输入处方名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(d,{label:"处方类型",prop:"prescription_type"},{default:o(()=>[e(f,{modelValue:n(l).prescription_type,"onUpdate:modelValue":a[1]||(a[1]=t=>n(l).prescription_type=t),placeholder:"请选择处方类型",class:"w-full"},{default:o(()=>[e(u,{label:"浓缩水丸",value:"浓缩水丸"}),e(u,{label:"饮片",value:"饮片"}),e(u,{label:"颗粒",value:"颗粒"}),e(u,{label:"丸剂",value:"丸剂"}),e(u,{label:"散剂",value:"散剂"}),e(u,{label:"膏方",value:"膏方"}),e(u,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:12},{default:o(()=>[e(d,{label:"患者姓名",prop:"patient_name"},{default:o(()=>[e(s,{modelValue:n(l).patient_name,"onUpdate:modelValue":a[2]||(a[2]=t=>n(l).patient_name=t),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:12},{default:o(()=>[e(d,{label:"门诊号",prop:"visit_no"},{default:o(()=>[e(s,{modelValue:n(l).visit_no,"onUpdate:modelValue":a[3]||(a[3]=t=>n(l).visit_no=t),placeholder:"自动生成或手动输入"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:8},{default:o(()=>[e(d,{label:"性别",prop:"gender"},{default:o(()=>[e(B,{modelValue:n(l).gender,"onUpdate:modelValue":a[4]||(a[4]=t=>n(l).gender=t)},{default:o(()=>[e(E,{label:1},{default:o(()=>[...a[23]||(a[23]=[_("男",-1)])]),_:1}),e(E,{label:0},{default:o(()=>[...a[24]||(a[24]=[_("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(i,{span:8},{default:o(()=>[e(d,{label:"年龄",prop:"age"},{default:o(()=>[e(V,{modelValue:n(l).age,"onUpdate:modelValue":a[5]||(a[5]=t=>n(l).age=t),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:8},{default:o(()=>[e(d,{label:"处方日期",prop:"prescription_date"},{default:o(()=>[e(O,{modelValue:n(l).prescription_date,"onUpdate:modelValue":a[6]||(a[6]=t=>n(l).prescription_date=t),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:12},{default:o(()=>[e(d,{label:"面象",prop:"tongue"},{default:o(()=>[e(s,{modelValue:n(l).tongue,"onUpdate:modelValue":a[7]||(a[7]=t=>n(l).tongue=t),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:12},{default:o(()=>[e(d,{label:"舌象",prop:"tongue_image"},{default:o(()=>[e(s,{modelValue:n(l).tongue_image,"onUpdate:modelValue":a[8]||(a[8]=t=>n(l).tongue_image=t),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:12},{default:o(()=>[e(d,{label:"脉象",prop:"pulse"},{default:o(()=>[e(s,{modelValue:n(l).pulse,"onUpdate:modelValue":a[9]||(a[9]=t=>n(l).pulse=t),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:12},{default:o(()=>[e(d,{label:"脉象详情",prop:"pulse_condition"},{default:o(()=>[e(s,{modelValue:n(l).pulse_condition,"onUpdate:modelValue":a[10]||(a[10]=t=>n(l).pulse_condition=t),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(d,{label:"临床诊断",prop:"clinical_diagnosis"},{default:o(()=>[e(s,{modelValue:n(l).clinical_diagnosis,"onUpdate:modelValue":a[11]||(a[11]=t=>n(l).clinical_diagnosis=t),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(d,{label:"药材配方",prop:"herbs",required:""},{default:o(()=>[k("div",pe,[e(c,{type:"primary",size:"small",onClick:q},{default:o(()=>[...a[25]||(a[25]=[_(" 添加药材 ",-1)])]),_:1}),e(T,{data:n(l).herbs,class:"mt-2",border:""},{default:o(()=>[e(v,{label:"序号",type:"index",width:"60"}),e(v,{label:"药材名称","min-width":"220"},{default:o(({row:t})=>[e(ne,{modelValue:t.name,"onUpdate:modelValue":m=>t.name=m,"medicine-id":t.medicine_id,"onUpdate:medicineId":m=>t.medicine_id=m},null,8,["modelValue","onUpdate:modelValue","medicine-id","onUpdate:medicineId"])]),_:1}),e(v,{label:"剂量(克)","min-width":"120"},{default:o(({row:t})=>[e(V,{modelValue:t.dosage,"onUpdate:modelValue":m=>t.dosage=m,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(v,{label:"操作",width:"80"},{default:o(({$index:t})=>[e(c,{type:"danger",link:"",onClick:m=>Y(t)},{default:o(()=>[...a[26]||(a[26]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:8},{default:o(()=>[e(d,{label:"剂数",prop:"dose_count"},{default:o(()=>[e(V,{modelValue:n(l).dose_count,"onUpdate:modelValue":a[12]||(a[12]=t=>n(l).dose_count=t),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(i,{span:8},{default:o(()=>[e(d,{label:"剂量单位",prop:"dose_unit"},{default:o(()=>[e(f,{modelValue:n(l).dose_unit,"onUpdate:modelValue":a[13]||(a[13]=t=>n(l).dose_unit=t),placeholder:"请选择",class:"w-full"},{default:o(()=>[e(u,{label:"剂",value:"剂"}),e(u,{label:"丸",value:"丸"}),e(u,{label:"袋",value:"袋"}),e(u,{label:"盒",value:"盒"}),e(u,{label:"瓶",value:"瓶"}),e(u,{label:"膏",value:"膏"}),e(u,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(i,{span:8},{default:o(()=>[e(d,{label:"服用天数",prop:"usage_days"},{default:o(()=>[e(V,{modelValue:n(l).usage_days,"onUpdate:modelValue":a[14]||(a[14]=t=>n(l).usage_days=t),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(d,{label:"用法",prop:"usage_instruction"},{default:o(()=>[e(s,{modelValue:n(l).usage_instruction,"onUpdate:modelValue":a[15]||(a[15]=t=>n(l).usage_instruction=t),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(i,{span:12},{default:o(()=>[e(d,{label:"服用时间",prop:"usage_time"},{default:o(()=>[e(f,{modelValue:n(l).usage_time,"onUpdate:modelValue":a[16]||(a[16]=t=>n(l).usage_time=t),placeholder:"请选择服用时间",class:"w-full"},{default:o(()=>[e(u,{label:"饭前",value:"饭前"}),e(u,{label:"饭后",value:"饭后"}),e(u,{label:"饭中",value:"饭中"}),e(u,{label:"空腹",value:"空腹"}),e(u,{label:"睡前",value:"睡前"}),e(u,{label:"晨起",value:"晨起"}),e(u,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(i,{span:12},{default:o(()=>[e(d,{label:"服用方式",prop:"usage_way"},{default:o(()=>[e(f,{modelValue:n(l).usage_way,"onUpdate:modelValue":a[17]||(a[17]=t=>n(l).usage_way=t),placeholder:"请选择服用方式",class:"w-full"},{default:o(()=>[e(u,{label:"温水送服",value:"温水送服"}),e(u,{label:"开水冲服",value:"开水冲服"}),e(u,{label:"黄酒送服",value:"黄酒送服"}),e(u,{label:"淡盐水送服",value:"淡盐水送服"}),e(u,{label:"米汤送服",value:"米汤送服"}),e(u,{label:"嚼服",value:"嚼服"}),e(u,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(d,{label:"忌口",prop:"dietary_taboo"},{default:o(()=>[e(f,{modelValue:n(l).dietary_taboo,"onUpdate:modelValue":a[18]||(a[18]=t=>n(l).dietary_taboo=t),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:o(()=>[e(u,{label:"辛辣食物",value:"辛辣食物"}),e(u,{label:"生冷食物",value:"生冷食物"}),e(u,{label:"油腻食物",value:"油腻食物"}),e(u,{label:"海鲜",value:"海鲜"}),e(u,{label:"牛羊肉",value:"牛羊肉"}),e(u,{label:"鸡蛋",value:"鸡蛋"}),e(u,{label:"豆制品",value:"豆制品"}),e(u,{label:"酒类",value:"酒类"}),e(u,{label:"浓茶",value:"浓茶"}),e(u,{label:"咖啡",value:"咖啡"}),e(u,{label:"烟草",value:"烟草"}),e(u,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),e(d,{label:"其他说明",prop:"usage_notes"},{default:o(()=>[e(s,{modelValue:n(l).usage_notes,"onUpdate:modelValue":a[19]||(a[19]=t=>n(l).usage_notes=t),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(d,{label:"医师姓名",prop:"doctor_name"},{default:o(()=>[e(s,{modelValue:n(l).doctor_name,"onUpdate:modelValue":a[20]||(a[20]=t=>n(l).doctor_name=t),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),e(d,{label:"是否共享",prop:"is_shared"},{default:o(()=>[e(h,{modelValue:n(l).is_shared,"onUpdate:modelValue":a[21]||(a[21]=t=>n(l).is_shared=t),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),a[27]||(a[27]=k("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),el=te(me,[["__scopeId","data-v-687b0c23"]]);export{el as default}; diff --git a/server/public/admin/assets/preview-C1B_KeTu.js b/server/public/admin/assets/preview-C9cY2eYG.js similarity index 70% rename from server/public/admin/assets/preview-C1B_KeTu.js rename to server/public/admin/assets/preview-C9cY2eYG.js index ff538ba3e..f8e3c765a 100644 --- a/server/public/admin/assets/preview-C1B_KeTu.js +++ b/server/public/admin/assets/preview-C9cY2eYG.js @@ -1 +1 @@ -import{i as A,r as z,s as F}from"./element-plus-DGP1XOrU.js";import{s as h}from"./@vue/runtime-dom-DDAG46FW.js";import{v as O,h as T,$ as j,a0 as q}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as G}from"./index-BTh_xBKj.js";import{k as H}from"./lodash-es-C2A-Pj28.js";import{f as J,ak as n,G as C,aN as u,I as v,a as l,O as L,H as V,J as d,F as U,ap as W,aq as g,at as K,A as b}from"./@vue/runtime-core-C6bnekPw.js";import{o as D}from"./@vue/shared-mAAVTE9n.js";import{y as f,n as Q}from"./@vue/reactivity-DiY1c2vO.js";import{_ as R}from"./index-fRv3NTFQ.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./attr-DaHTqGGt.js";import"./index-Dc1nFBAH.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./content.vue_vue_type_script_setup_true_lang-DdNcvOry.js";import"./decoration-img-63yHTKq5.js";import"./attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js";import"./content-Dbr1CmpF.js";import"./attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js";import"./content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js";import"./attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js";import"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import"./content-8Zehp_Rk.js";import"./attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js";import"./content.vue_vue_type_script_setup_true_lang-CN32u1VP.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-BKtyOCcY.js";import"./decoration-HusoyoI3.js";import"./attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-BTqw4mI0.js";import"./content.vue_vue_type_script_setup_true_lang-B83-RT4p.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-DNPcBCfo.js";import"./attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js";import"./content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-lVo8M4Zt.js";const X={class:"shadow mx-[30px] pages-preview"},Y=["onClick"],Z={key:0,class:"widget-btns py-[5px]"},x=J({__name:"preview",props:{pageMeta:{type:Object,default:()=>null},pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue","updatePageData"],setup(i,{emit:M}){const p=i,s=M,y=Q(-1),N=()=>{p.modelValue===-1?s("update:modelValue",y.value):(y.value=p.modelValue,s("update:modelValue",-1))},$=(t,e)=>{t.disabled||s("update:modelValue",e)},B=b(()=>t=>t===0),P=b(()=>t=>{var e;return((e=p.pageData)==null?void 0:e.length)===t+1}),_=b(()=>t=>(t==null?void 0:t.enabled)==0),E=t=>{t.enabled!==void 0&&(t.enabled=t.enabled?0:1)},k=(t,e)=>{if(t<0||t>=p.pageData.length||e<0||e>=p.pageData.length)return;const a=H(p.pageData),c=a.splice(t,1)[0];a.splice(e,0,c),s("updatePageData",a),s("update:modelValue",e)};return(t,e)=>{const a=A,c=z,S=F;return n(),C(S,{class:"pages-preview-container"},{default:u(()=>[i.pageMeta!==null?(n(),v("div",{key:0,class:"absolute right-4 top-4",onClick:N},[l(a,null,{default:u(()=>[...e[0]||(e[0]=[L("页面设置",-1)])]),_:1})])):V("",!0),d("div",X,[(n(!0),v(U,null,W(i.pageData,(o,r)=>(n(),v("div",{key:o.id,class:D(["relative",{"cursor-pointer":!(o!=null&&o.disabled)}]),onClick:m=>$(o,r)},[d("div",{class:D(["absolute w-full h-full z-[100] border-dashed",{select:r==i.modelValue,hide:_.value(o.content),"border-[#dcdfe6] border-2":!(o!=null&&o.disabled)}])},null,2),g(t.$slots,"default",{},()=>{var m;return[(n(),C(K((m=f(G)[o==null?void 0:o.name])==null?void 0:m.content),{content:o.content,styles:o.styles,key:o.id},null,8,["content","styles"]))]},!0),r==i.modelValue?(n(),v("div",Z,[d("div",null,[l(c,{effect:"dark",content:_.value(o.content)?"显示":"隐藏",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:_.value(o.content)?f(O):f(T),onClick:m=>E(o.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])]),d("div",null,[l(c,{effect:"dark",content:"上移",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:f(j),disabled:B.value(r),onClick:h(m=>k(r,r-1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)]),d("div",null,[l(c,{effect:"dark",content:"下移",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:f(q),disabled:P.value(r),onClick:h(m=>k(r,r+1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)])])):V("",!0)],10,Y))),128))])]),_:3})}}}),No=R(x,[["__scopeId","data-v-43c76597"]]);export{No as default}; +import{i as A,r as z,s as F}from"./element-plus-DGP1XOrU.js";import{s as h}from"./@vue/runtime-dom-DDAG46FW.js";import{v as O,h as T,$ as j,a0 as q}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as G}from"./index-B48jKD3-.js";import{k as H}from"./lodash-es-C2A-Pj28.js";import{f as J,ak as n,G as C,aN as u,I as v,a as l,O as L,H as V,J as d,F as U,ap as W,aq as g,at as K,A as b}from"./@vue/runtime-core-C6bnekPw.js";import{o as D}from"./@vue/shared-mAAVTE9n.js";import{y as f,n as Q}from"./@vue/reactivity-DiY1c2vO.js";import{_ as R}from"./index-J_eFER10.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./attr-U0WNIueQ.js";import"./index-sgqCyAwB.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js";import"./decoration-img-cJ3sOJu-.js";import"./attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js";import"./content-CuE78Set.js";import"./attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js";import"./content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js";import"./attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js";import"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import"./content-CC1w-xAd.js";import"./attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js";import"./content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-CjkrN-kA.js";import"./decoration-BRUlzC1v.js";import"./attr.vue_vue_type_script_setup_true_lang-InluY_es.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-CQZwJIUc.js";import"./content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BzNveTg-.js";import"./attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js";import"./content.vue_vue_type_script_setup_true_lang-DsMOey0g.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-DrZ0HxYf.js";const X={class:"shadow mx-[30px] pages-preview"},Y=["onClick"],Z={key:0,class:"widget-btns py-[5px]"},x=J({__name:"preview",props:{pageMeta:{type:Object,default:()=>null},pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue","updatePageData"],setup(i,{emit:M}){const p=i,s=M,y=Q(-1),N=()=>{p.modelValue===-1?s("update:modelValue",y.value):(y.value=p.modelValue,s("update:modelValue",-1))},$=(t,e)=>{t.disabled||s("update:modelValue",e)},B=b(()=>t=>t===0),P=b(()=>t=>{var e;return((e=p.pageData)==null?void 0:e.length)===t+1}),_=b(()=>t=>(t==null?void 0:t.enabled)==0),E=t=>{t.enabled!==void 0&&(t.enabled=t.enabled?0:1)},k=(t,e)=>{if(t<0||t>=p.pageData.length||e<0||e>=p.pageData.length)return;const a=H(p.pageData),c=a.splice(t,1)[0];a.splice(e,0,c),s("updatePageData",a),s("update:modelValue",e)};return(t,e)=>{const a=A,c=z,S=F;return n(),C(S,{class:"pages-preview-container"},{default:u(()=>[i.pageMeta!==null?(n(),v("div",{key:0,class:"absolute right-4 top-4",onClick:N},[l(a,null,{default:u(()=>[...e[0]||(e[0]=[L("页面设置",-1)])]),_:1})])):V("",!0),d("div",X,[(n(!0),v(U,null,W(i.pageData,(o,r)=>(n(),v("div",{key:o.id,class:D(["relative",{"cursor-pointer":!(o!=null&&o.disabled)}]),onClick:m=>$(o,r)},[d("div",{class:D(["absolute w-full h-full z-[100] border-dashed",{select:r==i.modelValue,hide:_.value(o.content),"border-[#dcdfe6] border-2":!(o!=null&&o.disabled)}])},null,2),g(t.$slots,"default",{},()=>{var m;return[(n(),C(K((m=f(G)[o==null?void 0:o.name])==null?void 0:m.content),{content:o.content,styles:o.styles,key:o.id},null,8,["content","styles"]))]},!0),r==i.modelValue?(n(),v("div",Z,[d("div",null,[l(c,{effect:"dark",content:_.value(o.content)?"显示":"隐藏",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:_.value(o.content)?f(O):f(T),onClick:m=>E(o.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])]),d("div",null,[l(c,{effect:"dark",content:"上移",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:f(j),disabled:B.value(r),onClick:h(m=>k(r,r-1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)]),d("div",null,[l(c,{effect:"dark",content:"下移",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:f(q),disabled:P.value(r),onClick:h(m=>k(r,r+1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)])])):V("",!0)],10,Y))),128))])]),_:3})}}}),No=R(x,[["__scopeId","data-v-43c76597"]]);export{No as default}; diff --git a/server/public/admin/assets/preview-pc-Bjp7P5eB.js b/server/public/admin/assets/preview-pc-B5scFioi.js similarity index 64% rename from server/public/admin/assets/preview-pc-Bjp7P5eB.js rename to server/public/admin/assets/preview-pc-B5scFioi.js index d6de06c73..42c1ba4d4 100644 --- a/server/public/admin/assets/preview-pc-Bjp7P5eB.js +++ b/server/public/admin/assets/preview-pc-B5scFioi.js @@ -1 +1 @@ -import{i as $,r as B}from"./element-plus-DGP1XOrU.js";import{_ as N,v as S,h as q}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as R}from"./index-BTh_xBKj.js";import{f as z,ak as r,I as i,J as l,H as y,F as D,ap as E,aq as I,G as A,at as F,a as s,aN as _,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,p as v}from"./@vue/shared-mAAVTE9n.js";import{y as e,q as j}from"./@vue/reactivity-DiY1c2vO.js";import{_ as G}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./attr-DaHTqGGt.js";import"./index-Dc1nFBAH.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./content.vue_vue_type_script_setup_true_lang-DdNcvOry.js";import"./decoration-img-63yHTKq5.js";import"./attr.vue_vue_type_script_setup_true_lang-Bjj_JaBZ.js";import"./content-Dbr1CmpF.js";import"./attr.vue_vue_type_script_setup_true_lang-B9wDO06r.js";import"./content.vue_vue_type_script_setup_true_lang-D9RgtrL3.js";import"./attr.vue_vue_type_script_setup_true_lang-DlTVZwaa.js";import"./add-nav.vue_vue_type_script_setup_true_lang-dpYltGSy.js";import"./content-8Zehp_Rk.js";import"./attr.vue_vue_type_script_setup_true_lang-pSOyxe4y.js";import"./content.vue_vue_type_script_setup_true_lang-CN32u1VP.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-BKtyOCcY.js";import"./decoration-HusoyoI3.js";import"./attr.vue_vue_type_script_setup_true_lang-Dgrnx0yl.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-BTqw4mI0.js";import"./content.vue_vue_type_script_setup_true_lang-B83-RT4p.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-DNPcBCfo.js";import"./attr.vue_vue_type_script_setup_true_lang-CxZ9cVun.js";import"./content.vue_vue_type_script_setup_true_lang-Bx8fBoYQ.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-lVo8M4Zt.js";const H={class:"pages-preview"},J={class:"relative flex justify-center h-full mt-5 mx-10"},L=["src"],T={class:"max-w-[1200px] w-full absolute"},W=["onClick"],K=z({__name:"preview-pc",props:{pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue"],setup(a,{emit:k}){const u=j(),b=k,c=P(()=>o=>(o==null?void 0:o.enabled)==0),C=o=>{var m;(m=u.value[o])==null||m.open()},V=o=>{o.enabled!==void 0&&(o.enabled=o.enabled?0:1)},x=(o,m)=>{o.disabled||b("update:modelValue",m)};return(o,m)=>{const f=$,d=B;return r(),i("div",H,[l("div",J,[o.$route.query.url?(r(),i("iframe",{key:0,ref:"previewIframeRef",class:"flex-1 h-full",width:"100%",height:"100%",scrolling:"no",src:o.$route.query.url},null,8,L)):y("",!0),l("div",T,[(r(!0),i(D,null,E(a.pageData,(t,n)=>(r(),i("div",{key:t.id,class:h(["absolute left-0 top-0",{"cursor-pointer":!(t!=null&&t.disabled)}]),onClick:p=>x(t,n)},[l("div",{class:h(["absolute w-full h-full z-[100] border-dashed",{select:n==a.modelValue,"border-[#dcdfe6] border-2":!(t!=null&&t.disabled),hide:e(c)(t.content)}]),style:v(t.styles)},null,6),I(o.$slots,"default",{},()=>{var p;return[(r(),A(F((p=e(R)[t==null?void 0:t.name])==null?void 0:p.content),{content:t.content,styles:t.styles,key:t.id,ref_for:!0,ref_key:"commonComponentRef",ref:u},null,8,["content","styles"]))]},!0),n==a.modelValue?(r(),i("div",{key:0,class:"widget-btns py-[5px]",style:v({top:t.styles.top,left:t.styles.width})},[l("div",null,[s(d,{effect:"dark",content:"编辑组件内容",placement:"right"},{default:_(()=>[s(f,{class:"py-[5px]",type:"primary",icon:e(N),onClick:p=>C(n)},null,8,["icon","onClick"])]),_:2},1024)]),l("div",null,[s(d,{effect:"dark",content:e(c)(t.content)?"显示":"隐藏",placement:"right"},{default:_(()=>[s(f,{class:"py-[5px]",type:"primary",icon:e(c)(t.content)?e(S):e(q),onClick:p=>V(t.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])])],4)):y("",!0)],10,W))),128))])])])}}}),vo=G(K,[["__scopeId","data-v-9c63b2ff"]]);export{vo as default}; +import{i as $,r as B}from"./element-plus-DGP1XOrU.js";import{_ as N,v as S,h as q}from"./@element-plus/icons-vue-CbYn5zW9.js";import{e as R}from"./index-B48jKD3-.js";import{f as z,ak as r,I as i,J as l,H as y,F as D,ap as E,aq as I,G as A,at as F,a as s,aN as _,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,p as v}from"./@vue/shared-mAAVTE9n.js";import{y as e,q as j}from"./@vue/reactivity-DiY1c2vO.js";import{_ as G}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./attr-U0WNIueQ.js";import"./index-sgqCyAwB.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./content.vue_vue_type_script_setup_true_lang-Oz_mLAqR.js";import"./decoration-img-cJ3sOJu-.js";import"./attr.vue_vue_type_script_setup_true_lang-Eu-CNWiA.js";import"./content-CuE78Set.js";import"./attr.vue_vue_type_script_setup_true_lang-BHEbVcbf.js";import"./content.vue_vue_type_script_setup_true_lang-BkFP-MEh.js";import"./attr.vue_vue_type_script_setup_true_lang-DaAKH9z-.js";import"./add-nav.vue_vue_type_script_setup_true_lang-CfYY5yl6.js";import"./content-CC1w-xAd.js";import"./attr.vue_vue_type_script_setup_true_lang-CyaMRIEP.js";import"./content.vue_vue_type_script_setup_true_lang-BLxRfgKz.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-CjkrN-kA.js";import"./decoration-BRUlzC1v.js";import"./attr.vue_vue_type_script_setup_true_lang-InluY_es.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./content-CQZwJIUc.js";import"./content.vue_vue_type_script_setup_true_lang-DV7LqaTg.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BzNveTg-.js";import"./attr.vue_vue_type_script_setup_true_lang-CzJcOcg1.js";import"./content.vue_vue_type_script_setup_true_lang-DsMOey0g.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-DrZ0HxYf.js";const H={class:"pages-preview"},J={class:"relative flex justify-center h-full mt-5 mx-10"},L=["src"],T={class:"max-w-[1200px] w-full absolute"},W=["onClick"],K=z({__name:"preview-pc",props:{pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue"],setup(a,{emit:k}){const u=j(),b=k,c=P(()=>o=>(o==null?void 0:o.enabled)==0),C=o=>{var m;(m=u.value[o])==null||m.open()},V=o=>{o.enabled!==void 0&&(o.enabled=o.enabled?0:1)},x=(o,m)=>{o.disabled||b("update:modelValue",m)};return(o,m)=>{const f=$,d=B;return r(),i("div",H,[l("div",J,[o.$route.query.url?(r(),i("iframe",{key:0,ref:"previewIframeRef",class:"flex-1 h-full",width:"100%",height:"100%",scrolling:"no",src:o.$route.query.url},null,8,L)):y("",!0),l("div",T,[(r(!0),i(D,null,E(a.pageData,(t,n)=>(r(),i("div",{key:t.id,class:h(["absolute left-0 top-0",{"cursor-pointer":!(t!=null&&t.disabled)}]),onClick:p=>x(t,n)},[l("div",{class:h(["absolute w-full h-full z-[100] border-dashed",{select:n==a.modelValue,"border-[#dcdfe6] border-2":!(t!=null&&t.disabled),hide:e(c)(t.content)}]),style:v(t.styles)},null,6),I(o.$slots,"default",{},()=>{var p;return[(r(),A(F((p=e(R)[t==null?void 0:t.name])==null?void 0:p.content),{content:t.content,styles:t.styles,key:t.id,ref_for:!0,ref_key:"commonComponentRef",ref:u},null,8,["content","styles"]))]},!0),n==a.modelValue?(r(),i("div",{key:0,class:"widget-btns py-[5px]",style:v({top:t.styles.top,left:t.styles.width})},[l("div",null,[s(d,{effect:"dark",content:"编辑组件内容",placement:"right"},{default:_(()=>[s(f,{class:"py-[5px]",type:"primary",icon:e(N),onClick:p=>C(n)},null,8,["icon","onClick"])]),_:2},1024)]),l("div",null,[s(d,{effect:"dark",content:e(c)(t.content)?"显示":"隐藏",placement:"right"},{default:_(()=>[s(f,{class:"py-[5px]",type:"primary",icon:e(c)(t.content)?e(S):e(q),onClick:p=>V(t.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])])],4)):y("",!0)],10,W))),128))])])])}}}),vo=G(K,[["__scopeId","data-v-9c63b2ff"]]);export{vo as default}; diff --git a/server/public/admin/assets/progress-zIFnwUAT.js b/server/public/admin/assets/progress-Crqw_SbF.js similarity index 98% rename from server/public/admin/assets/progress-zIFnwUAT.js rename to server/public/admin/assets/progress-Crqw_SbF.js index f6e8b814e..934eb971e 100644 --- a/server/public/admin/assets/progress-zIFnwUAT.js +++ b/server/public/admin/assets/progress-Crqw_SbF.js @@ -1 +1 @@ -import{d as Nt,S as Et,R as St,Q as xt,C as Vt,i as It,F as Mt,G as $t,M as Ct,O as Tt,U as At,a1 as Dt,N as Rt,X as Pt}from"./element-plus-DGP1XOrU.js";import{w as Ut}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Yt}from"./vue-router-QlpZ4wdW.js";import{d as K}from"./dayjs-DG77mNTn.js";import{k as Bt,a1 as Ot,O as et,x as zt,Z as Ft}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Gt,a as nt}from"./doctor-BVLBwYIX.js";import{u as Lt,_ as Kt}from"./index-fRv3NTFQ.js";import{f as at,b as jt,d as qt,ak as i,I as p,J as a,a as o,aN as u,O as k,F as O,ap as st,G as $,H as N,aP as Ht,A as C}from"./@vue/runtime-core-C6bnekPw.js";import{n as T,y as A,r as Qt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c,o as j}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Zt={class:"dp-page"},Jt={class:"dp-glass dp-toolbar"},Wt={class:"dp-toolbar-row"},Xt={class:"dp-field-label"},wt={class:"dp-field-label"},te={class:"dp-field-label"},ee={class:"dp-toolbar-actions"},ne={key:0,class:"dp-glass dp-doc-section"},se={class:"dp-section-head"},ae={class:"dp-glass dp-table-wrap"},oe={class:"dp-table-head"},le={class:"dp-table-head-left"},ie={key:0,class:"dp-table-range"},re={class:"dp-table-badges"},de={key:0,class:"dp-chip dp-chip--account"},ue={key:1,class:"dp-chip dp-chip--doc"},pe={key:2,class:"dp-chip dp-chip--count"},ce={key:3,class:"dp-chip dp-chip--muted"},me={class:"dp-my-patients-eta"},_e={class:"dp-cell-user-body"},fe={class:"dp-avatar"},ve={class:"dp-user-meta"},ge={class:"dp-user-name"},he={class:"dp-user-phone"},be={class:"dp-time"},ye={class:"dp-steps"},ke={class:"dp-step-dot"},Ne={class:"dp-step-text"},Ee={class:"dp-step-name"},Se={key:0,class:"dp-step-hint"},xe={key:1,class:"dp-muted"},Ve={key:1,class:"dp-muted"},Ie=at({name:"doctorProgress"}),Me=at({...Ie,setup($e){const ot=Yt(),q=Lt(),D=T(!1),E=T([]),f=T(void 0),S=T([]),R=()=>K().format("YYYY-MM-DD"),b=T([R(),R()]),v=Qt({status:"",patient_name:""}),H=C(()=>{const e=f.value;if(e===void 0)return"";const t=E.value.find(n=>Number(n.id)===e);return t?String(t.name||t.account||""):""}),lt=C(()=>{var t;const e=(t=q.userInfo)==null?void 0:t.id;return e!=null&&e!==""?Number(e):NaN}),Q=C(()=>{const e=q.userInfo||{};return String(e.name||e.account||"").trim()});function z(e){const t=lt.value;if(Number.isNaN(t))return!1;const n=e==null?void 0:e.assistant_id;return n==null||n===""?!1:Number(n)===t}const it=15,Z=T(0);let P=null;function J(e){const t=String(e.appointment_date||"");let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),`${t} ${n}`.trim()}function rt(e){const t=e.appointment_date;if(!t)return null;let n=e.appointment_time||"00:00";typeof n=="string"&&n.length>5&&(n=n.slice(0,5));const l=K(`${t} ${n}`);return l.isValid()?l:null}function W(e){const t=Math.max(0,Math.round(e));if(t===0)return"不到 1 分钟";if(t<60)return`${t} 分钟`;const n=Math.floor(t/60),l=t%60;return l===0?`${n} 小时`:`${n} 小时${l} 分钟`}function dt(e){if(Z.value,!z(e))return"";const t=Number(e.status);if(t===3)return"面诊已完成(医生已点完成)";if(t===4)return"已过号,无法按序预估";if(t!==1)return"";const n=K(),l=rt(e),r=l?l.isAfter(n):!1,m=r&&l?Math.max(0,l.diff(n,"minute")):0,y=S.value.filter(d=>d.appointment_date===e.appointment_date&&Number(d.status)===1).slice().sort((d,I)=>{const B=J(d).localeCompare(J(I));return B!==0?B:Number(d.id)-Number(I.id)}).findIndex(d=>Number(d.id)===Number(e.id)),g=y>=0?y:0,V=g*it,_=[];return r&&_.push(`距预约时段还有约 ${W(m)}`),g===0?_.push(r?"到号后可优先安排面诊":"已到号,可尽快面诊"):_.push(`前面约 ${g} 人,按序粗估约 ${W(V)}`),_.join(";")}function X(){const e=v.status;return e===""||e===void 0||e===null}const U=C(()=>X()?S.value.filter(e=>Number(e.status)===3).length:0),F=C(()=>X()?S.value.filter(e=>Number(e.status)!==3):S.value),ut=C(()=>U.value>0&&F.value.length===0?`本时段有 ${U.value} 条「已完成」已隐藏,可在状态中选择「已完成」查看`:"该时段内暂无挂号");function pt(e){const t=String(e||"?").trim();return t?t[0]:"?"}function ct(e){const t=e.appointment_date||"";let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),t?`${t} ${n}`.trim():"—"}function mt(e){return e===3?"success":e===4?"warning":e===2?"info":"primary"}function w(e){const t=Number(e.status)===2,n=!t&&[1,3,4].includes(Number(e.status)),l=!!e.diagnosis_confirmed,r=Number(e.status)===3,m=!!e.has_prescription;return[{label:"挂号",done:n,current:n&&!l&&Number(e.status)===1,hint:t?"已取消":Number(e.status)===4?"已过号":""},{label:"确认诊单",done:l,current:n&&!l,hint:""},{label:"就诊中",done:r,current:n&&l&&!r&&Number(e.status)===1,hint:Number(e.status)===1&&l?"待完诊":""},{label:"开方",done:m,current:r&&!m,hint:""}]}function _t(e){const n=w(e).filter(l=>l.done).length;return Math.round(n/4*100)}const G=2e3,ft=15e3;let Y=null;async function vt(){const e=await Gt({role_id:1,page_type:0,page_no:1,progress_board:1});if(E.value=(e==null?void 0:e.lists)||[],!E.value.length){f.value=void 0,S.value=[];return}const t=E.value.some(n=>Number(n.id)===f.value);(f.value===void 0||!t)&&(f.value=Number(E.value[0].id))}async function x(e){var n,l;if(f.value===void 0){S.value=[];return}const t=(e==null?void 0:e.silent)===!0;t||(D.value=!0);try{const r={doctor_id:f.value,page_type:1,page_no:1,page_size:G,prescription_today_only:1,exclude_cancelled:1,progress_board:1};((n=b.value)==null?void 0:n.length)===2&&(r.start_date=b.value[0],r.end_date=b.value[1]),v.status!==""&&(r.status=v.status),(l=v.patient_name)!=null&&l.trim()&&(r.patient_name=v.patient_name.trim());const m=await nt(r);let h=(m==null?void 0:m.lists)||[];const y=Number((m==null?void 0:m.count)??h.length);if(y>h.length&&h.length>=G){const g=[],V=Math.min(Math.ceil(y/G),20);for(let _=2;_<=V;_++){const d=await nt({...r,page_no:_}),I=(d==null?void 0:d.lists)||[];if(!I.length)break;g.push(...I)}h=[...h,...g]}S.value=[...h].sort((g,V)=>{const _=`${g.appointment_date||""} ${g.appointment_time||""}`,d=`${V.appointment_date||""} ${V.appointment_time||""}`;return _.localeCompare(d)})}catch(r){console.error(r),t||(S.value=[])}finally{t||(D.value=!1)}}function gt(){typeof document<"u"&&document.hidden||x({silent:!0}).catch(()=>{})}function ht(){v.status="",v.patient_name="",b.value=[R(),R()],x()}function bt(e){ot.push({path:"/tcm/diagnosis",query:{id:String(e)}})}return jt(async()=>{await vt(),await x(),Y=setInterval(gt,ft),P=setInterval(()=>{Z.value+=1},6e4)}),qt(()=>{Y!=null&&(clearInterval(Y),Y=null),P!=null&&(clearInterval(P),P=null)}),(e,t)=>{var tt;const n=Nt,l=Et,r=St,m=xt,h=Vt,y=It,g=Mt,V=$t,_=Pt,d=Tt,I=At,B=Dt,yt=Rt,kt=Ct;return i(),p("div",Zt,[a("section",Jt,[a("div",Wt,[a("span",Xt,[o(n,null,{default:u(()=>[o(A(Bt))]),_:1}),t[9]||(t[9]=k(" 预约日期 ",-1))]),o(l,{modelValue:b.value,"onUpdate:modelValue":t[0]||(t[0]=s=>b.value=s),type:"daterange","range-separator":"—","start-placeholder":"开始","end-placeholder":"结束","value-format":"YYYY-MM-DD","unlink-panels":"",class:"dp-field-date",onChange:t[1]||(t[1]=()=>x())},null,8,["modelValue"]),a("span",wt,[o(n,null,{default:u(()=>[o(A(Ot))]),_:1}),t[10]||(t[10]=k(" 状态 ",-1))]),o(m,{modelValue:v.status,"onUpdate:modelValue":t[2]||(t[2]=s=>v.status=s),placeholder:"全部",clearable:"",class:"dp-field-select",onChange:t[3]||(t[3]=()=>x())},{default:u(()=>[o(r,{label:"全部状态",value:""}),o(r,{label:"已预约(待就诊)",value:"1"}),o(r,{label:"已完成",value:"3"}),o(r,{label:"已过号",value:"4"})]),_:1},8,["modelValue"]),a("span",te,[o(n,null,{default:u(()=>[o(A(et))]),_:1}),t[11]||(t[11]=k(" 患者 ",-1))]),o(h,{modelValue:v.patient_name,"onUpdate:modelValue":t[4]||(t[4]=s=>v.patient_name=s),placeholder:"姓名",clearable:"",class:"dp-field-search",onKeyup:t[5]||(t[5]=Ut(()=>x(),["enter"]))},null,8,["modelValue"]),a("div",ee,[o(y,{type:"primary",loading:D.value,icon:A(et),onClick:t[6]||(t[6]=()=>x())},{default:u(()=>[...t[12]||(t[12]=[k(" 查询 ",-1)])]),_:1},8,["loading","icon"]),o(y,{icon:A(zt),onClick:ht},{default:u(()=>[...t[13]||(t[13]=[k("重置",-1)])]),_:1},8,["icon"])])])]),E.value.length?(i(),p("section",ne,[a("div",se,[o(n,{class:"dp-section-icon"},{default:u(()=>[o(A(Ft))]),_:1}),t[14]||(t[14]=a("span",{class:"dp-section-title"},"选择医生",-1)),t[15]||(t[15]=a("span",{class:"dp-section-hint"},"切换后自动加载该医生挂号",-1))]),o(V,{modelValue:f.value,"onUpdate:modelValue":t[7]||(t[7]=s=>f.value=s),class:"dp-doc-pills",onChange:t[8]||(t[8]=()=>x())},{default:u(()=>[(i(!0),p(O,null,st(E.value,s=>(i(),$(g,{key:s.id,label:Number(s.id),class:"dp-doc-pill"},{default:u(()=>[k(c(s.name||s.account||"—"),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])):N("",!0),Ht((i(),p("section",ae,[a("div",oe,[a("div",le,[t[16]||(t[16]=a("span",{class:"dp-table-title"},"患者列表",-1)),((tt=b.value)==null?void 0:tt.length)===2?(i(),p("span",ie,c(b.value[0])+" ~ "+c(b.value[1]),1)):N("",!0)]),a("div",re,[Q.value?(i(),p("span",de,"当前账号 "+c(Q.value),1)):N("",!0),H.value?(i(),p("span",ue,c(H.value),1)):N("",!0),f.value!==void 0&&!D.value?(i(),p("span",pe,c(F.value.length)+" 人",1)):N("",!0),U.value>0?(i(),p("span",ce,"已隐藏已完成 "+c(U.value),1)):N("",!0)])]),E.value.length?f.value===void 0?(i(),$(_,{key:1,description:"请选择医生"})):(i(),$(yt,{key:2,data:F.value,class:"dp-table",size:"default","empty-text":ut.value},{default:u(()=>[o(d,{label:"患者","min-width":"200",fixed:"left"},{default:u(({row:s})=>[a("div",{class:j(["dp-cell-user",{"is-my-patients":z(s)}])},[z(s)?(i(),p(O,{key:0},[t[17]||(t[17]=a("div",{class:"dp-my-patients-caption"},"我的患者",-1)),a("div",me,c(dt(s)),1)],64)):N("",!0),a("div",_e,[a("div",fe,c(pt(s.patient_name)),1),a("div",ve,[a("span",ge,c(s.patient_name||"—"),1),a("span",he,c(s.patient_phone||"—"),1)])])],2)]),_:1}),o(d,{label:"预约时间",width:"170"},{default:u(({row:s})=>[a("span",be,c(ct(s)),1)]),_:1}),o(d,{label:"挂号",width:"104",align:"center"},{default:u(({row:s})=>[o(I,{type:mt(s.status),effect:"light",round:"",size:"small"},{default:u(()=>[k(c(s.status_desc),1)]),_:2},1032,["type"])]),_:1}),o(d,{label:"面诊进度","min-width":"360"},{default:u(({row:s})=>[a("div",ye,[(i(!0),p(O,null,st(w(s),(M,L)=>(i(),p(O,{key:L},[a("div",{class:j(["dp-step",{"is-done":M.done,"is-current":M.current&&!M.done}])},[a("div",ke,c(L+1),1),a("div",Ne,[a("span",Ee,c(M.label),1),M.hint?(i(),p("span",Se,c(M.hint),1)):N("",!0)])],2),L<3?(i(),p("div",{key:0,class:j(["dp-step-line",{"is-done":M.done}])},null,2)):N("",!0)],64))),128))]),o(B,{percentage:_t(s),"stroke-width":8,class:"dp-progress"},null,8,["percentage"])]),_:1}),o(d,{label:"处方",width:"92",align:"center"},{default:u(({row:s})=>[s.has_prescription?(i(),$(I,{key:0,type:"success",effect:"dark",round:"",size:"small"},{default:u(()=>[...t[18]||(t[18]=[k("已开",-1)])]),_:1})):(i(),p("span",xe,"未开"))]),_:1}),o(d,{label:"操作",width:"96",fixed:"right",align:"center"},{default:u(({row:s})=>[s.diagnosis_id?(i(),$(y,{key:0,type:"primary",size:"small",round:"",plain:"",onClick:M=>bt(s.diagnosis_id)},{default:u(()=>[...t[19]||(t[19]=[k(" 诊单 ",-1)])]),_:1},8,["onClick"])):(i(),p("span",Ve,"—"))]),_:1})]),_:1},8,["data","empty-text"])):(i(),$(_,{key:0,description:"暂无医生数据"}))])),[[kt,D.value]])])}}}),fn=Kt(Me,[["__scopeId","data-v-6bc1551c"]]);export{fn as default}; +import{d as Nt,S as Et,R as St,Q as xt,C as Vt,i as It,F as Mt,G as $t,M as Ct,O as Tt,U as At,a1 as Dt,N as Rt,X as Pt}from"./element-plus-DGP1XOrU.js";import{w as Ut}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Yt}from"./vue-router-QlpZ4wdW.js";import{d as K}from"./dayjs-DG77mNTn.js";import{k as Bt,a1 as Ot,O as et,x as zt,Z as Ft}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Gt,a as nt}from"./doctor-BZKBQu9t.js";import{u as Lt,_ as Kt}from"./index-J_eFER10.js";import{f as at,b as jt,d as qt,ak as i,I as p,J as a,a as o,aN as u,O as k,F as O,ap as st,G as $,H as N,aP as Ht,A as C}from"./@vue/runtime-core-C6bnekPw.js";import{n as T,y as A,r as Qt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c,o as j}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Zt={class:"dp-page"},Jt={class:"dp-glass dp-toolbar"},Wt={class:"dp-toolbar-row"},Xt={class:"dp-field-label"},wt={class:"dp-field-label"},te={class:"dp-field-label"},ee={class:"dp-toolbar-actions"},ne={key:0,class:"dp-glass dp-doc-section"},se={class:"dp-section-head"},ae={class:"dp-glass dp-table-wrap"},oe={class:"dp-table-head"},le={class:"dp-table-head-left"},ie={key:0,class:"dp-table-range"},re={class:"dp-table-badges"},de={key:0,class:"dp-chip dp-chip--account"},ue={key:1,class:"dp-chip dp-chip--doc"},pe={key:2,class:"dp-chip dp-chip--count"},ce={key:3,class:"dp-chip dp-chip--muted"},me={class:"dp-my-patients-eta"},_e={class:"dp-cell-user-body"},fe={class:"dp-avatar"},ve={class:"dp-user-meta"},ge={class:"dp-user-name"},he={class:"dp-user-phone"},be={class:"dp-time"},ye={class:"dp-steps"},ke={class:"dp-step-dot"},Ne={class:"dp-step-text"},Ee={class:"dp-step-name"},Se={key:0,class:"dp-step-hint"},xe={key:1,class:"dp-muted"},Ve={key:1,class:"dp-muted"},Ie=at({name:"doctorProgress"}),Me=at({...Ie,setup($e){const ot=Yt(),q=Lt(),D=T(!1),E=T([]),f=T(void 0),S=T([]),R=()=>K().format("YYYY-MM-DD"),b=T([R(),R()]),v=Qt({status:"",patient_name:""}),H=C(()=>{const e=f.value;if(e===void 0)return"";const t=E.value.find(n=>Number(n.id)===e);return t?String(t.name||t.account||""):""}),lt=C(()=>{var t;const e=(t=q.userInfo)==null?void 0:t.id;return e!=null&&e!==""?Number(e):NaN}),Q=C(()=>{const e=q.userInfo||{};return String(e.name||e.account||"").trim()});function z(e){const t=lt.value;if(Number.isNaN(t))return!1;const n=e==null?void 0:e.assistant_id;return n==null||n===""?!1:Number(n)===t}const it=15,Z=T(0);let P=null;function J(e){const t=String(e.appointment_date||"");let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),`${t} ${n}`.trim()}function rt(e){const t=e.appointment_date;if(!t)return null;let n=e.appointment_time||"00:00";typeof n=="string"&&n.length>5&&(n=n.slice(0,5));const l=K(`${t} ${n}`);return l.isValid()?l:null}function W(e){const t=Math.max(0,Math.round(e));if(t===0)return"不到 1 分钟";if(t<60)return`${t} 分钟`;const n=Math.floor(t/60),l=t%60;return l===0?`${n} 小时`:`${n} 小时${l} 分钟`}function dt(e){if(Z.value,!z(e))return"";const t=Number(e.status);if(t===3)return"面诊已完成(医生已点完成)";if(t===4)return"已过号,无法按序预估";if(t!==1)return"";const n=K(),l=rt(e),r=l?l.isAfter(n):!1,m=r&&l?Math.max(0,l.diff(n,"minute")):0,y=S.value.filter(d=>d.appointment_date===e.appointment_date&&Number(d.status)===1).slice().sort((d,I)=>{const B=J(d).localeCompare(J(I));return B!==0?B:Number(d.id)-Number(I.id)}).findIndex(d=>Number(d.id)===Number(e.id)),g=y>=0?y:0,V=g*it,_=[];return r&&_.push(`距预约时段还有约 ${W(m)}`),g===0?_.push(r?"到号后可优先安排面诊":"已到号,可尽快面诊"):_.push(`前面约 ${g} 人,按序粗估约 ${W(V)}`),_.join(";")}function X(){const e=v.status;return e===""||e===void 0||e===null}const U=C(()=>X()?S.value.filter(e=>Number(e.status)===3).length:0),F=C(()=>X()?S.value.filter(e=>Number(e.status)!==3):S.value),ut=C(()=>U.value>0&&F.value.length===0?`本时段有 ${U.value} 条「已完成」已隐藏,可在状态中选择「已完成」查看`:"该时段内暂无挂号");function pt(e){const t=String(e||"?").trim();return t?t[0]:"?"}function ct(e){const t=e.appointment_date||"";let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),t?`${t} ${n}`.trim():"—"}function mt(e){return e===3?"success":e===4?"warning":e===2?"info":"primary"}function w(e){const t=Number(e.status)===2,n=!t&&[1,3,4].includes(Number(e.status)),l=!!e.diagnosis_confirmed,r=Number(e.status)===3,m=!!e.has_prescription;return[{label:"挂号",done:n,current:n&&!l&&Number(e.status)===1,hint:t?"已取消":Number(e.status)===4?"已过号":""},{label:"确认诊单",done:l,current:n&&!l,hint:""},{label:"就诊中",done:r,current:n&&l&&!r&&Number(e.status)===1,hint:Number(e.status)===1&&l?"待完诊":""},{label:"开方",done:m,current:r&&!m,hint:""}]}function _t(e){const n=w(e).filter(l=>l.done).length;return Math.round(n/4*100)}const G=2e3,ft=15e3;let Y=null;async function vt(){const e=await Gt({role_id:1,page_type:0,page_no:1,progress_board:1});if(E.value=(e==null?void 0:e.lists)||[],!E.value.length){f.value=void 0,S.value=[];return}const t=E.value.some(n=>Number(n.id)===f.value);(f.value===void 0||!t)&&(f.value=Number(E.value[0].id))}async function x(e){var n,l;if(f.value===void 0){S.value=[];return}const t=(e==null?void 0:e.silent)===!0;t||(D.value=!0);try{const r={doctor_id:f.value,page_type:1,page_no:1,page_size:G,prescription_today_only:1,exclude_cancelled:1,progress_board:1};((n=b.value)==null?void 0:n.length)===2&&(r.start_date=b.value[0],r.end_date=b.value[1]),v.status!==""&&(r.status=v.status),(l=v.patient_name)!=null&&l.trim()&&(r.patient_name=v.patient_name.trim());const m=await nt(r);let h=(m==null?void 0:m.lists)||[];const y=Number((m==null?void 0:m.count)??h.length);if(y>h.length&&h.length>=G){const g=[],V=Math.min(Math.ceil(y/G),20);for(let _=2;_<=V;_++){const d=await nt({...r,page_no:_}),I=(d==null?void 0:d.lists)||[];if(!I.length)break;g.push(...I)}h=[...h,...g]}S.value=[...h].sort((g,V)=>{const _=`${g.appointment_date||""} ${g.appointment_time||""}`,d=`${V.appointment_date||""} ${V.appointment_time||""}`;return _.localeCompare(d)})}catch(r){console.error(r),t||(S.value=[])}finally{t||(D.value=!1)}}function gt(){typeof document<"u"&&document.hidden||x({silent:!0}).catch(()=>{})}function ht(){v.status="",v.patient_name="",b.value=[R(),R()],x()}function bt(e){ot.push({path:"/tcm/diagnosis",query:{id:String(e)}})}return jt(async()=>{await vt(),await x(),Y=setInterval(gt,ft),P=setInterval(()=>{Z.value+=1},6e4)}),qt(()=>{Y!=null&&(clearInterval(Y),Y=null),P!=null&&(clearInterval(P),P=null)}),(e,t)=>{var tt;const n=Nt,l=Et,r=St,m=xt,h=Vt,y=It,g=Mt,V=$t,_=Pt,d=Tt,I=At,B=Dt,yt=Rt,kt=Ct;return i(),p("div",Zt,[a("section",Jt,[a("div",Wt,[a("span",Xt,[o(n,null,{default:u(()=>[o(A(Bt))]),_:1}),t[9]||(t[9]=k(" 预约日期 ",-1))]),o(l,{modelValue:b.value,"onUpdate:modelValue":t[0]||(t[0]=s=>b.value=s),type:"daterange","range-separator":"—","start-placeholder":"开始","end-placeholder":"结束","value-format":"YYYY-MM-DD","unlink-panels":"",class:"dp-field-date",onChange:t[1]||(t[1]=()=>x())},null,8,["modelValue"]),a("span",wt,[o(n,null,{default:u(()=>[o(A(Ot))]),_:1}),t[10]||(t[10]=k(" 状态 ",-1))]),o(m,{modelValue:v.status,"onUpdate:modelValue":t[2]||(t[2]=s=>v.status=s),placeholder:"全部",clearable:"",class:"dp-field-select",onChange:t[3]||(t[3]=()=>x())},{default:u(()=>[o(r,{label:"全部状态",value:""}),o(r,{label:"已预约(待就诊)",value:"1"}),o(r,{label:"已完成",value:"3"}),o(r,{label:"已过号",value:"4"})]),_:1},8,["modelValue"]),a("span",te,[o(n,null,{default:u(()=>[o(A(et))]),_:1}),t[11]||(t[11]=k(" 患者 ",-1))]),o(h,{modelValue:v.patient_name,"onUpdate:modelValue":t[4]||(t[4]=s=>v.patient_name=s),placeholder:"姓名",clearable:"",class:"dp-field-search",onKeyup:t[5]||(t[5]=Ut(()=>x(),["enter"]))},null,8,["modelValue"]),a("div",ee,[o(y,{type:"primary",loading:D.value,icon:A(et),onClick:t[6]||(t[6]=()=>x())},{default:u(()=>[...t[12]||(t[12]=[k(" 查询 ",-1)])]),_:1},8,["loading","icon"]),o(y,{icon:A(zt),onClick:ht},{default:u(()=>[...t[13]||(t[13]=[k("重置",-1)])]),_:1},8,["icon"])])])]),E.value.length?(i(),p("section",ne,[a("div",se,[o(n,{class:"dp-section-icon"},{default:u(()=>[o(A(Ft))]),_:1}),t[14]||(t[14]=a("span",{class:"dp-section-title"},"选择医生",-1)),t[15]||(t[15]=a("span",{class:"dp-section-hint"},"切换后自动加载该医生挂号",-1))]),o(V,{modelValue:f.value,"onUpdate:modelValue":t[7]||(t[7]=s=>f.value=s),class:"dp-doc-pills",onChange:t[8]||(t[8]=()=>x())},{default:u(()=>[(i(!0),p(O,null,st(E.value,s=>(i(),$(g,{key:s.id,label:Number(s.id),class:"dp-doc-pill"},{default:u(()=>[k(c(s.name||s.account||"—"),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])):N("",!0),Ht((i(),p("section",ae,[a("div",oe,[a("div",le,[t[16]||(t[16]=a("span",{class:"dp-table-title"},"患者列表",-1)),((tt=b.value)==null?void 0:tt.length)===2?(i(),p("span",ie,c(b.value[0])+" ~ "+c(b.value[1]),1)):N("",!0)]),a("div",re,[Q.value?(i(),p("span",de,"当前账号 "+c(Q.value),1)):N("",!0),H.value?(i(),p("span",ue,c(H.value),1)):N("",!0),f.value!==void 0&&!D.value?(i(),p("span",pe,c(F.value.length)+" 人",1)):N("",!0),U.value>0?(i(),p("span",ce,"已隐藏已完成 "+c(U.value),1)):N("",!0)])]),E.value.length?f.value===void 0?(i(),$(_,{key:1,description:"请选择医生"})):(i(),$(yt,{key:2,data:F.value,class:"dp-table",size:"default","empty-text":ut.value},{default:u(()=>[o(d,{label:"患者","min-width":"200",fixed:"left"},{default:u(({row:s})=>[a("div",{class:j(["dp-cell-user",{"is-my-patients":z(s)}])},[z(s)?(i(),p(O,{key:0},[t[17]||(t[17]=a("div",{class:"dp-my-patients-caption"},"我的患者",-1)),a("div",me,c(dt(s)),1)],64)):N("",!0),a("div",_e,[a("div",fe,c(pt(s.patient_name)),1),a("div",ve,[a("span",ge,c(s.patient_name||"—"),1),a("span",he,c(s.patient_phone||"—"),1)])])],2)]),_:1}),o(d,{label:"预约时间",width:"170"},{default:u(({row:s})=>[a("span",be,c(ct(s)),1)]),_:1}),o(d,{label:"挂号",width:"104",align:"center"},{default:u(({row:s})=>[o(I,{type:mt(s.status),effect:"light",round:"",size:"small"},{default:u(()=>[k(c(s.status_desc),1)]),_:2},1032,["type"])]),_:1}),o(d,{label:"面诊进度","min-width":"360"},{default:u(({row:s})=>[a("div",ye,[(i(!0),p(O,null,st(w(s),(M,L)=>(i(),p(O,{key:L},[a("div",{class:j(["dp-step",{"is-done":M.done,"is-current":M.current&&!M.done}])},[a("div",ke,c(L+1),1),a("div",Ne,[a("span",Ee,c(M.label),1),M.hint?(i(),p("span",Se,c(M.hint),1)):N("",!0)])],2),L<3?(i(),p("div",{key:0,class:j(["dp-step-line",{"is-done":M.done}])},null,2)):N("",!0)],64))),128))]),o(B,{percentage:_t(s),"stroke-width":8,class:"dp-progress"},null,8,["percentage"])]),_:1}),o(d,{label:"处方",width:"92",align:"center"},{default:u(({row:s})=>[s.has_prescription?(i(),$(I,{key:0,type:"success",effect:"dark",round:"",size:"small"},{default:u(()=>[...t[18]||(t[18]=[k("已开",-1)])]),_:1})):(i(),p("span",xe,"未开"))]),_:1}),o(d,{label:"操作",width:"96",fixed:"right",align:"center"},{default:u(({row:s})=>[s.diagnosis_id?(i(),$(y,{key:0,type:"primary",size:"small",round:"",plain:"",onClick:M=>bt(s.diagnosis_id)},{default:u(()=>[...t[19]||(t[19]=[k(" 诊单 ",-1)])]),_:1},8,["onClick"])):(i(),p("span",Ve,"—"))]),_:1})]),_:1},8,["data","empty-text"])):(i(),$(_,{key:0,description:"暂无医生数据"}))])),[[kt,D.value]])])}}}),fn=Kt(Me,[["__scopeId","data-v-6bc1551c"]]);export{fn as default}; diff --git a/server/public/admin/assets/protocol-0nHxkgVv.js b/server/public/admin/assets/protocol-DhEGqCSu.js similarity index 88% rename from server/public/admin/assets/protocol-0nHxkgVv.js rename to server/public/admin/assets/protocol-DhEGqCSu.js index 720149f55..b6594c2d6 100644 --- a/server/public/admin/assets/protocol-0nHxkgVv.js +++ b/server/public/admin/assets/protocol-DhEGqCSu.js @@ -1 +1 @@ -import{_ as h}from"./index-D6hiZISU.js";import{D as w,B as y,C as g,K as E,i as B}from"./element-plus-DGP1XOrU.js";import{_ as U}from"./index.vue_vue_type_style_index_0_lang-DZ1VD0du.js";import{c as k,d as C}from"./website-CUzsflNy.js";import{f,as as P,ak as c,I as D,J as i,a as o,aN as m,aP as F,G as N,O as I,F as G}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,n as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const j={class:"xl:flex"},A={class:"xl:flex"},J=f({name:"webProtocol"}),zt=f({...J,setup(K){const e=O({service_title:"",service_content:"",privacy_title:"",privacy_content:"",health_title:"",health_content:""}),_=async()=>{const u=await k();Object.assign(e.value,u)},v=async()=>{await C({...e.value}),_()};return _(),(u,t)=>{const a=g,n=y,p=w,s=U,d=E,b=B,V=h,x=P("perms");return c(),D(G,null,[i("div",j,[o(d,{class:"!border-none flex-1 xl:mr-4 mb-4",shadow:"never"},{header:m(()=>[...t[6]||(t[6]=[i("span",{class:"font-medium"},"服务协议",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).service_title,"onUpdate:modelValue":t[0]||(t[0]=r=>l(e).service_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).service_content,"onUpdate:modelValue":t[1]||(t[1]=r=>l(e).service_content=r),height:"500"},null,8,["modelValue"])]),_:1}),o(d,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:m(()=>[...t[7]||(t[7]=[i("span",{class:"font-medium"},"隐私协议",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).privacy_title,"onUpdate:modelValue":t[2]||(t[2]=r=>l(e).privacy_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).privacy_content,"onUpdate:modelValue":t[3]||(t[3]=r=>l(e).privacy_content=r),height:"500"},null,8,["modelValue"])]),_:1})]),i("div",A,[o(d,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:m(()=>[...t[8]||(t[8]=[i("span",{class:"font-medium"},"卫健委备案信息",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).health_title,"onUpdate:modelValue":t[4]||(t[4]=r=>l(e).health_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).health_content,"onUpdate:modelValue":t[5]||(t[5]=r=>l(e).health_content=r),height:"500"},null,8,["modelValue"])]),_:1})]),F((c(),N(V,null,{default:m(()=>[o(b,{type:"primary",onClick:v},{default:m(()=>[...t[9]||(t[9]=[I("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setAgreement"]]])],64)}}});export{zt as default}; +import{_ as h}from"./index-UGD9wxNK.js";import{D as w,B as y,C as g,K as E,i as B}from"./element-plus-DGP1XOrU.js";import{_ as U}from"./index.vue_vue_type_style_index_0_lang-54f2yh7y.js";import{c as k,d as C}from"./website-CeVKwoPS.js";import{f,as as P,ak as c,I as D,J as i,a as o,aN as m,aP as F,G as N,O as I,F as G}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,n as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const j={class:"xl:flex"},A={class:"xl:flex"},J=f({name:"webProtocol"}),zt=f({...J,setup(K){const e=O({service_title:"",service_content:"",privacy_title:"",privacy_content:"",health_title:"",health_content:""}),_=async()=>{const u=await k();Object.assign(e.value,u)},v=async()=>{await C({...e.value}),_()};return _(),(u,t)=>{const a=g,n=y,p=w,s=U,d=E,b=B,V=h,x=P("perms");return c(),D(G,null,[i("div",j,[o(d,{class:"!border-none flex-1 xl:mr-4 mb-4",shadow:"never"},{header:m(()=>[...t[6]||(t[6]=[i("span",{class:"font-medium"},"服务协议",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).service_title,"onUpdate:modelValue":t[0]||(t[0]=r=>l(e).service_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).service_content,"onUpdate:modelValue":t[1]||(t[1]=r=>l(e).service_content=r),height:"500"},null,8,["modelValue"])]),_:1}),o(d,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:m(()=>[...t[7]||(t[7]=[i("span",{class:"font-medium"},"隐私协议",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).privacy_title,"onUpdate:modelValue":t[2]||(t[2]=r=>l(e).privacy_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).privacy_content,"onUpdate:modelValue":t[3]||(t[3]=r=>l(e).privacy_content=r),height:"500"},null,8,["modelValue"])]),_:1})]),i("div",A,[o(d,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:m(()=>[...t[8]||(t[8]=[i("span",{class:"font-medium"},"卫健委备案信息",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).health_title,"onUpdate:modelValue":t[4]||(t[4]=r=>l(e).health_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).health_content,"onUpdate:modelValue":t[5]||(t[5]=r=>l(e).health_content=r),height:"500"},null,8,["modelValue"])]),_:1})]),F((c(),N(V,null,{default:m(()=>[o(b,{type:"primary",onClick:v},{default:m(()=>[...t[9]||(t[9]=[I("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setAgreement"]]])],64)}}});export{zt as default}; diff --git a/server/public/admin/assets/qywx-B3yPQRKG.js b/server/public/admin/assets/qywx-Dwa2dhw9.js similarity index 99% rename from server/public/admin/assets/qywx-B3yPQRKG.js rename to server/public/admin/assets/qywx-Dwa2dhw9.js index 7ea812de2..614715d71 100644 --- a/server/public/admin/assets/qywx-B3yPQRKG.js +++ b/server/public/admin/assets/qywx-Dwa2dhw9.js @@ -1,2 +1,2 @@ -import{L as ce,K as pe,U as ge,i as ye,D as ve,B as be,C as xe,Q as we,R as Se,S as ke,r as he,ag as Ce,N as Ve,O as Ae,q as Ee,M as Ne,g as Te,W as $e,a8 as De,a9 as ze,X as qe,e as Ie,ah as Ue,ai as Le,a6 as je,a7 as Pe}from"./element-plus-DGP1XOrU.js";import{_ as Me}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as Tt}from"./@vue/runtime-dom-DDAG46FW.js";import{a3 as Oe,a4 as He,M as bt,_ as Be}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as Fe}from"./usePaging-DofycyjW.js";import{r as j,k as $,_ as Ke}from"./index-fRv3NTFQ.js";import{f as Re,b as We,d as Ge,as as Ye,ak as d,I as f,a,aN as l,J as n,H as L,F as C,ap as V,O as _,G as y,aP as $t,A as dt}from"./@vue/runtime-core-C6bnekPw.js";import{r as B,y as x,a as Qe,n as A}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,p as Je,o as Xe}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function Ze(P){return j.get({url:"/qywx.customer/lists",params:P})}function tl(P){return j.post({url:"/qywx.customer/delete",params:P})}function el(){return j.post({url:"/qywx.customer/sync"})}function ll(){return j.get({url:"/qywx.customer/stats"})}function al(){return j.get({url:"/qywx.customer/tagStats"})}function sl(){return j.get({url:"/qywx.customer/todayArrival"})}function nl(P){return j.get({url:"/qywx.customer/todayArrivalList",params:P})}function ol(){return j.get({url:"/qywx.customer/getSyncSettings"})}function il(P){return j.post({url:"/qywx.customer/saveSyncSettings",params:P})}const rl={class:"qywx-customer-page p-4"},dl={class:"flex items-center justify-between"},ul={class:"flex gap-2"},ml={class:"grid grid-cols-4 gap-4 mb-4"},_l={class:"text-2xl font-bold text-primary"},fl={class:"flex items-center justify-between mb-1"},cl={key:0,class:"text-xs text-gray-400"},pl={class:"flex items-end gap-2"},gl={class:"text-2xl font-bold text-success leading-none"},yl=["title"],vl={class:"mt-2 pt-2 border-t border-gray-100"},bl={class:"text-lg font-semibold text-gray-800"},xl={class:"text-sm font-medium"},wl={class:"flex items-center justify-between gap-3"},Sl={class:"text-xs text-gray-400"},kl={class:"flex items-center gap-2"},hl={class:"font-medium"},Cl={class:"text-xs text-gray-400"},Vl={key:0},Al={key:1,class:"text-gray-400"},El={key:0},Nl={key:0,class:"ml-1 text-gray-400 text-xs"},Tl={key:1,class:"text-gray-400"},$l={key:0,class:"flex items-center gap-1"},Dl={class:"inline-block max-w-[150px] truncate align-middle"},zl={class:"text-primary whitespace-nowrap cursor-help"},ql={key:1,class:"text-gray-400"},Il={class:"flex justify-end mt-4"},Ul={class:"flex items-center justify-between w-full pr-4"},Ll={class:"flex items-center gap-3"},jl={class:"px-1"},Pl={key:0,class:"mb-3"},Ml={class:"flex flex-wrap gap-1"},Ol={class:"flex items-start gap-2"},Hl={class:"flex-1 min-w-0"},Bl={class:"text-sm font-medium truncate"},Fl={class:"text-xs text-gray-500 mt-0.5"},Kl={key:0,class:"ml-2"},Rl={key:1,class:"ml-2 text-emerald-500"},Wl={key:3,class:"mt-3 text-center"},Gl={class:"flex items-center justify-between w-full pr-4"},Yl={class:"flex items-center gap-3"},Ql={class:"px-1"},Jl={class:"grid grid-cols-3 gap-2 mb-3"},Xl={class:"text-xl font-bold text-warning"},Zl={class:"text-xl font-bold"},ta={class:"text-xl font-bold"},ea={class:"flex items-center gap-2 w-full"},la={class:"font-medium"},aa={class:"ml-auto text-xs text-gray-500"},sa={class:"font-medium"},na={class:"text-xs text-gray-400 truncate"},oa={class:"text-warning font-bold"},ia={key:0,class:"flex flex-wrap gap-1"},ra={key:1,class:"text-gray-400"},da={key:0},ua={key:1,class:"text-gray-400"},ma={key:0},_a={key:0,class:"ml-1 text-gray-400 text-xs"},fa={key:1,class:"text-gray-400"},ca=Re({__name:"qywx",setup(P){const F=A(!1),K=A(!1),ut=A(!1),w=A(null),R=A(null),D=B({total:0,today:0,today_follow_staff:0,lastSync:"",syncStatus:"idle",syncStatusText:"未同步"}),Dt=dt(()=>{switch(D.syncStatus){case"success":return"success";case"syncing":return"warning";case"failed":return"danger";default:return"info"}}),E=B({auto_sync:!1,interval:3600}),c=B({name:"",follow_user:"",add_way:"",tag_ids:[],add_time_start:"",add_time_end:"",dedupe_mode:"first"}),mt=A(null);function zt(e){e&&e.length===2&&e[0]&&e[1]?(c.add_time_start=e[0],c.add_time_end=e[1]):(c.add_time_start="",c.add_time_end=""),U()}const h=B({total_tags:0,total_relations:0,total_tagged_customers:0,groups:[]}),W=A(!1),lt=A(!1),_t=A(""),ft=A([]),xt=dt(()=>{const e=_t.value.trim().toLowerCase();if(!e)return h.groups;const t=[];for(const o of h.groups){const m=(o.group_name||"").toLowerCase().includes(e),S=o.tags.filter(r=>m||(r.tag_name||"").toLowerCase().includes(e));S.length&&t.push({...o,tags:S})}return t});async function at(e=!1){W.value=!0;try{const t=await al();t&&typeof t=="object"&&(h.total_tags=Number(t.total_tags??0),h.total_relations=Number(t.total_relations??0),h.total_tagged_customers=Number(t.total_tagged_customers??0),h.groups=Array.isArray(t.groups)?t.groups:[]),e&&$.msgSuccess("已刷新")}catch(t){e&&$.msgError((t==null?void 0:t.message)||"加载标签统计失败"),console.error("加载标签统计失败",t)}finally{W.value=!1}}function qt(){var e;lt.value=!0,ft.value=(e=h.groups[0])!=null&&e.group_name?[h.groups[0].group_name]:[],h.groups.length===0&&at()}function It(e){e&&(c.tag_ids.includes(e)||(c.tag_ids.push(e),U()))}function Ut(e){e&&(c.tag_ids=[e],lt.value=!1,U())}const N=B({total:0,recent_time:0,hourly:new Array(24).fill(0),by_state:[]}),G=A(!1),st=A(!1),g=B({total:0,page_no:1,page_size:20,lists:[]}),Lt=new Date().getHours(),jt=dt(()=>Math.max(1,...N.hourly));function Pt(e){if(e<=0)return"2px";const t=e/jt.value;return Math.max(4,Math.round(t*32))+"px"}const Mt=dt(()=>{const e=[];return N.hourly.forEach((t,o)=>{t>0&&e.push(`${String(o).padStart(2,"0")}:00 · ${t}`)}),e.length?e.join(" "):"今天还没有人进入"});async function nt(e=!1){try{const t=await sl();t&&(N.total=Number(t.total??0),N.recent_time=Number(t.recent_time??0),N.hourly=Array.isArray(t.hourly)&&t.hourly.length===24?t.hourly.map(o=>Number(o)||0):new Array(24).fill(0),N.by_state=Array.isArray(t.by_state)?t.by_state:[])}catch(t){console.error("加载今日进入分布失败",t)}e&&G.value&&(g.page_no=1,g.lists=[],await ct())}async function ct(){st.value=!0;try{const e=await nl({page_no:g.page_no,page_size:g.page_size});if(e){g.total=Number(e.total??0);const t=Array.isArray(e.lists)?e.lists:[];g.page_no===1?g.lists=t:g.lists.push(...t)}}catch(e){console.error("加载今日进入明细失败",e)}finally{st.value=!1}}async function wt(){G.value=!0,g.page_no=1,g.lists=[],await Promise.all([nt(!1),ct()])}async function Ot(){g.lists.length>=g.total||(g.page_no+=1,await ct())}function Ht(e){if(!e||e<=0)return"";const t=new Date(e<1e12?e*1e3:e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function Bt(e){if(!e||e<=0)return"—";const t=new Date(e<1e12?e*1e3:e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`}let Y=null,ot=null;function pt(){ot!==null&&(clearInterval(ot),ot=null)}async function Ft(e){return Ze(e)}const{pager:M,getLists:Q,resetPage:U,resetParams:Kt}=Fe({fetchFun:Ft,params:c});function Rt(){c.name="",c.follow_user="",c.add_way="",c.tag_ids=[],c.add_time_start="",c.add_time_end="",c.dedupe_mode="first",mt.value=null,Kt()}function Wt(){pt();let e=0;ot=window.setInterval(async()=>{e+=1,await J(),await Q(),(D.syncStatus!=="syncing"||e>=120)&&(pt(),F.value=!1,e>=120&&D.syncStatus==="syncing"?$.msgWarning("长时间仍为「同步中」,请刷新页面或查看服务器 runtime/log/qywx_sync.log(可能未安装 CLI php 或禁用了 exec)"):D.syncStatus==="failed"&&$.msgError("同步失败,请查看服务器 runtime/log/qywx_sync.log 或后台同步状态"))},3e3)}async function St(e){const t=(e==null?void 0:e.silent)===!0;F.value=!0;try{const o=await el();t||$.msgSuccess((o==null?void 0:o.message)||"操作成功"),await J(),await Q(),o!=null&&o.background?Wt():F.value=!1}catch(o){const m=(o==null?void 0:o.message)||(o==null?void 0:o.msg)||"同步失败";(!t||!String(m).includes("正在执行"))&&$.msgError(m),F.value=!1}}async function J(){try{const e=await ll();e&&typeof e=="object"&&Object.assign(D,e)}catch(e){console.error("加载统计失败",e)}}async function Gt(){try{const e=await ol();e&&typeof e=="object"&&Object.assign(E,e),E.auto_sync&&kt()}catch(e){console.error("加载同步设置失败",e)}}async function Yt(){try{await il(E),$.msgSuccess("保存成功"),K.value=!1,ht(),E.auto_sync&&kt()}catch(e){$.msgError((e==null?void 0:e.message)||"保存失败")}}function kt(){Y||(Y=window.setInterval(()=>{St({silent:!0})},E.interval*1e3))}function ht(){Y&&(clearInterval(Y),Y=null)}function Qt(e){w.value=e,ut.value=!0}async function Jt(e){const t=Number(e.id);if(!Number.isInteger(t)||t<=0||R.value!==null)return;const o=String(e.name||e.external_userid||"该客户");try{await $.confirm(`确定删除企业微信客户“${o}”吗?此操作仅删除系统内的同步记录,不会删除企业微信中的客户关系;后续重新同步时可能再次出现。`)}catch{return}R.value=t;try{await tl({id:t}),M.page>1&&M.lists.length===1&&(M.page-=1),await Promise.all([Q(),J(),at()]),$.msgSuccess("删除成功")}catch(m){$.msgError((m==null?void 0:m.message)||(m==null?void 0:m.msg)||"删除失败")}finally{R.value=null}}function gt(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),o=String((e==null?void 0:e.userid)??"").trim(),m=String((e==null?void 0:e.name)??"").trim();return t||(m&&o?`${m}(${o})`:m||o||"—")}function it(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),o=String((e==null?void 0:e.userid)??"").trim(),m=[];return t&&m.push("后台:"+t),o&&m.push("企微:"+o),m.join("|")}function Xt(e){return e?Array.isArray(e.add_channels)?e.add_channels.map(t=>({state:String((t==null?void 0:t.state)??"").trim(),label:String((t==null?void 0:t.label)??(t==null?void 0:t.state)??"").trim(),source_type:(t==null?void 0:t.source_type)==="promotion_pool"?"promotion_pool":"state",pool_id:Number((t==null?void 0:t.pool_id)??0),user_id:String((t==null?void 0:t.user_id)??"").trim(),event_time:Number((t==null?void 0:t.event_time)??0)})).filter(t=>t.state!==""):Array.isArray(e.add_channel_states)?e.add_channel_states.map(t=>String(t??"").trim()).filter(t=>t!=="").map(t=>({state:t,label:t,source_type:"state",pool_id:0,user_id:"",event_time:0})):[]:[]}const Ct={0:"未知添加方式",1:"通过扫描二维码添加",2:"通过搜索手机号添加",3:"通过名片分享添加",4:"通过群聊添加",5:"通过手机通讯录添加",6:"通过微信联系人添加",8:"安装第三方应用时自动添加",9:"通过搜索邮箱添加",10:"通过视频号添加",11:"通过日程参与人添加",12:"通过会议参与人添加",13:"通过微信好友添加",14:"通过智慧硬件专属客服添加",15:"通过上门服务客服添加",16:"通过获客链接添加",17:"通过定制开发添加",18:"通过需求回复添加",21:"通过第三方售前客服添加",22:"通过可能的商务伙伴添加",24:"通过接受微信好友申请添加",201:"通过内部成员共享添加",202:"通过管理员或负责人分配添加"},Zt=Object.entries(Ct).map(([e,t])=>({value:Number(e),label:t}));function te(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:typeof e!="string"||!/^\d+$/.test(e.trim())?null:Number(e.trim())}function ee(e){return Ct[e]||`其他添加方式(${e})`}function H(e){if(!e)return[];const t=Xt(e),o=new Set,m=[];return(Array.isArray(e.follow_users)?e.follow_users:[]).forEach((r,z)=>{const k=String((r==null?void 0:r.userid)??(r==null?void 0:r.UserId)??"").trim(),v=String((r==null?void 0:r.state)??(r==null?void 0:r.State)??"").trim(),q=te((r==null?void 0:r.add_way)??(r==null?void 0:r.AddWay));let I=t.findIndex((b,O)=>!o.has(O)&&k!==""&&v!==""&&b.user_id===k&&b.state===v);I<0&&v!==""&&(I=t.findIndex((b,O)=>!o.has(O)&&b.state===v)),I<0&&k!==""&&(I=t.findIndex((b,O)=>!o.has(O)&&b.user_id===k));const p=I>=0?t[I]:void 0;if(I>=0&&o.add(I),q===null&&v===""&&!p)return;const vt=String((r==null?void 0:r.add_way_label)??"").trim(),tt=(p==null?void 0:p.source_type)??(/^zyt_pool:[1-9]\d*$/.test(v)?"promotion_pool":"state"),rt=vt||(q!==null?ee(q):tt==="promotion_pool"?"通过获客链接添加":"通过其他渠道添加");m.push({key:`follow:${z}:${k}:${q??"unknown"}:${v}`,add_way:q,label:rt,state:v||(p==null?void 0:p.state)||"",channel_label:(p==null?void 0:p.label)||"",source_type:tt,pool_id:(p==null?void 0:p.pool_id)||0,user_id:k||(p==null?void 0:p.user_id)||"",staff_name:gt(r),event_time:(p==null?void 0:p.event_time)||Number((r==null?void 0:r.createtime)??0)})}),t.forEach((r,z)=>{o.has(z)||m.push({...r,key:`channel:${z}:${r.user_id}:${r.state}`,add_way:r.source_type==="promotion_pool"?16:null,label:r.source_type==="promotion_pool"?"通过获客链接添加":"通过其他渠道添加",channel_label:r.label,staff_name:r.user_id||"—"})}),m.sort((r,z)=>z.event_time-r.event_time)}function yt(e){const t=[];return t.push(`添加方式:${e.label}`),e.source_type==="promotion_pool"&&e.channel_label&&t.push(`获客助手方案:${e.channel_label}`),e.staff_name&&e.staff_name!=="—"&&t.push(`跟进人:${e.staff_name}`),e.event_time>0&&t.push(`添加时间:${X(e.event_time)}`),e.state&&t.push(`渠道参数:${e.state}`),t.join("|")}function le(e){return H(e).slice(1).map(yt).join(` +import{L as ce,K as pe,U as ge,i as ye,D as ve,B as be,C as xe,Q as we,R as Se,S as ke,r as he,ag as Ce,N as Ve,O as Ae,q as Ee,M as Ne,g as Te,W as $e,a8 as De,a9 as ze,X as qe,e as Ie,ah as Ue,ai as Le,a6 as je,a7 as Pe}from"./element-plus-DGP1XOrU.js";import{_ as Me}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{w as Tt}from"./@vue/runtime-dom-DDAG46FW.js";import{a3 as Oe,a4 as He,M as bt,_ as Be}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as Fe}from"./usePaging-DofycyjW.js";import{r as j,k as $,_ as Ke}from"./index-J_eFER10.js";import{f as Re,b as We,d as Ge,as as Ye,ak as d,I as f,a,aN as l,J as n,H as L,F as C,ap as V,O as _,G as y,aP as $t,A as dt}from"./@vue/runtime-core-C6bnekPw.js";import{r as B,y as x,a as Qe,n as A}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,p as Je,o as Xe}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function Ze(P){return j.get({url:"/qywx.customer/lists",params:P})}function tl(P){return j.post({url:"/qywx.customer/delete",params:P})}function el(){return j.post({url:"/qywx.customer/sync"})}function ll(){return j.get({url:"/qywx.customer/stats"})}function al(){return j.get({url:"/qywx.customer/tagStats"})}function sl(){return j.get({url:"/qywx.customer/todayArrival"})}function nl(P){return j.get({url:"/qywx.customer/todayArrivalList",params:P})}function ol(){return j.get({url:"/qywx.customer/getSyncSettings"})}function il(P){return j.post({url:"/qywx.customer/saveSyncSettings",params:P})}const rl={class:"qywx-customer-page p-4"},dl={class:"flex items-center justify-between"},ul={class:"flex gap-2"},ml={class:"grid grid-cols-4 gap-4 mb-4"},_l={class:"text-2xl font-bold text-primary"},fl={class:"flex items-center justify-between mb-1"},cl={key:0,class:"text-xs text-gray-400"},pl={class:"flex items-end gap-2"},gl={class:"text-2xl font-bold text-success leading-none"},yl=["title"],vl={class:"mt-2 pt-2 border-t border-gray-100"},bl={class:"text-lg font-semibold text-gray-800"},xl={class:"text-sm font-medium"},wl={class:"flex items-center justify-between gap-3"},Sl={class:"text-xs text-gray-400"},kl={class:"flex items-center gap-2"},hl={class:"font-medium"},Cl={class:"text-xs text-gray-400"},Vl={key:0},Al={key:1,class:"text-gray-400"},El={key:0},Nl={key:0,class:"ml-1 text-gray-400 text-xs"},Tl={key:1,class:"text-gray-400"},$l={key:0,class:"flex items-center gap-1"},Dl={class:"inline-block max-w-[150px] truncate align-middle"},zl={class:"text-primary whitespace-nowrap cursor-help"},ql={key:1,class:"text-gray-400"},Il={class:"flex justify-end mt-4"},Ul={class:"flex items-center justify-between w-full pr-4"},Ll={class:"flex items-center gap-3"},jl={class:"px-1"},Pl={key:0,class:"mb-3"},Ml={class:"flex flex-wrap gap-1"},Ol={class:"flex items-start gap-2"},Hl={class:"flex-1 min-w-0"},Bl={class:"text-sm font-medium truncate"},Fl={class:"text-xs text-gray-500 mt-0.5"},Kl={key:0,class:"ml-2"},Rl={key:1,class:"ml-2 text-emerald-500"},Wl={key:3,class:"mt-3 text-center"},Gl={class:"flex items-center justify-between w-full pr-4"},Yl={class:"flex items-center gap-3"},Ql={class:"px-1"},Jl={class:"grid grid-cols-3 gap-2 mb-3"},Xl={class:"text-xl font-bold text-warning"},Zl={class:"text-xl font-bold"},ta={class:"text-xl font-bold"},ea={class:"flex items-center gap-2 w-full"},la={class:"font-medium"},aa={class:"ml-auto text-xs text-gray-500"},sa={class:"font-medium"},na={class:"text-xs text-gray-400 truncate"},oa={class:"text-warning font-bold"},ia={key:0,class:"flex flex-wrap gap-1"},ra={key:1,class:"text-gray-400"},da={key:0},ua={key:1,class:"text-gray-400"},ma={key:0},_a={key:0,class:"ml-1 text-gray-400 text-xs"},fa={key:1,class:"text-gray-400"},ca=Re({__name:"qywx",setup(P){const F=A(!1),K=A(!1),ut=A(!1),w=A(null),R=A(null),D=B({total:0,today:0,today_follow_staff:0,lastSync:"",syncStatus:"idle",syncStatusText:"未同步"}),Dt=dt(()=>{switch(D.syncStatus){case"success":return"success";case"syncing":return"warning";case"failed":return"danger";default:return"info"}}),E=B({auto_sync:!1,interval:3600}),c=B({name:"",follow_user:"",add_way:"",tag_ids:[],add_time_start:"",add_time_end:"",dedupe_mode:"first"}),mt=A(null);function zt(e){e&&e.length===2&&e[0]&&e[1]?(c.add_time_start=e[0],c.add_time_end=e[1]):(c.add_time_start="",c.add_time_end=""),U()}const h=B({total_tags:0,total_relations:0,total_tagged_customers:0,groups:[]}),W=A(!1),lt=A(!1),_t=A(""),ft=A([]),xt=dt(()=>{const e=_t.value.trim().toLowerCase();if(!e)return h.groups;const t=[];for(const o of h.groups){const m=(o.group_name||"").toLowerCase().includes(e),S=o.tags.filter(r=>m||(r.tag_name||"").toLowerCase().includes(e));S.length&&t.push({...o,tags:S})}return t});async function at(e=!1){W.value=!0;try{const t=await al();t&&typeof t=="object"&&(h.total_tags=Number(t.total_tags??0),h.total_relations=Number(t.total_relations??0),h.total_tagged_customers=Number(t.total_tagged_customers??0),h.groups=Array.isArray(t.groups)?t.groups:[]),e&&$.msgSuccess("已刷新")}catch(t){e&&$.msgError((t==null?void 0:t.message)||"加载标签统计失败"),console.error("加载标签统计失败",t)}finally{W.value=!1}}function qt(){var e;lt.value=!0,ft.value=(e=h.groups[0])!=null&&e.group_name?[h.groups[0].group_name]:[],h.groups.length===0&&at()}function It(e){e&&(c.tag_ids.includes(e)||(c.tag_ids.push(e),U()))}function Ut(e){e&&(c.tag_ids=[e],lt.value=!1,U())}const N=B({total:0,recent_time:0,hourly:new Array(24).fill(0),by_state:[]}),G=A(!1),st=A(!1),g=B({total:0,page_no:1,page_size:20,lists:[]}),Lt=new Date().getHours(),jt=dt(()=>Math.max(1,...N.hourly));function Pt(e){if(e<=0)return"2px";const t=e/jt.value;return Math.max(4,Math.round(t*32))+"px"}const Mt=dt(()=>{const e=[];return N.hourly.forEach((t,o)=>{t>0&&e.push(`${String(o).padStart(2,"0")}:00 · ${t}`)}),e.length?e.join(" "):"今天还没有人进入"});async function nt(e=!1){try{const t=await sl();t&&(N.total=Number(t.total??0),N.recent_time=Number(t.recent_time??0),N.hourly=Array.isArray(t.hourly)&&t.hourly.length===24?t.hourly.map(o=>Number(o)||0):new Array(24).fill(0),N.by_state=Array.isArray(t.by_state)?t.by_state:[])}catch(t){console.error("加载今日进入分布失败",t)}e&&G.value&&(g.page_no=1,g.lists=[],await ct())}async function ct(){st.value=!0;try{const e=await nl({page_no:g.page_no,page_size:g.page_size});if(e){g.total=Number(e.total??0);const t=Array.isArray(e.lists)?e.lists:[];g.page_no===1?g.lists=t:g.lists.push(...t)}}catch(e){console.error("加载今日进入明细失败",e)}finally{st.value=!1}}async function wt(){G.value=!0,g.page_no=1,g.lists=[],await Promise.all([nt(!1),ct()])}async function Ot(){g.lists.length>=g.total||(g.page_no+=1,await ct())}function Ht(e){if(!e||e<=0)return"";const t=new Date(e<1e12?e*1e3:e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function Bt(e){if(!e||e<=0)return"—";const t=new Date(e<1e12?e*1e3:e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`}let Y=null,ot=null;function pt(){ot!==null&&(clearInterval(ot),ot=null)}async function Ft(e){return Ze(e)}const{pager:M,getLists:Q,resetPage:U,resetParams:Kt}=Fe({fetchFun:Ft,params:c});function Rt(){c.name="",c.follow_user="",c.add_way="",c.tag_ids=[],c.add_time_start="",c.add_time_end="",c.dedupe_mode="first",mt.value=null,Kt()}function Wt(){pt();let e=0;ot=window.setInterval(async()=>{e+=1,await J(),await Q(),(D.syncStatus!=="syncing"||e>=120)&&(pt(),F.value=!1,e>=120&&D.syncStatus==="syncing"?$.msgWarning("长时间仍为「同步中」,请刷新页面或查看服务器 runtime/log/qywx_sync.log(可能未安装 CLI php 或禁用了 exec)"):D.syncStatus==="failed"&&$.msgError("同步失败,请查看服务器 runtime/log/qywx_sync.log 或后台同步状态"))},3e3)}async function St(e){const t=(e==null?void 0:e.silent)===!0;F.value=!0;try{const o=await el();t||$.msgSuccess((o==null?void 0:o.message)||"操作成功"),await J(),await Q(),o!=null&&o.background?Wt():F.value=!1}catch(o){const m=(o==null?void 0:o.message)||(o==null?void 0:o.msg)||"同步失败";(!t||!String(m).includes("正在执行"))&&$.msgError(m),F.value=!1}}async function J(){try{const e=await ll();e&&typeof e=="object"&&Object.assign(D,e)}catch(e){console.error("加载统计失败",e)}}async function Gt(){try{const e=await ol();e&&typeof e=="object"&&Object.assign(E,e),E.auto_sync&&kt()}catch(e){console.error("加载同步设置失败",e)}}async function Yt(){try{await il(E),$.msgSuccess("保存成功"),K.value=!1,ht(),E.auto_sync&&kt()}catch(e){$.msgError((e==null?void 0:e.message)||"保存失败")}}function kt(){Y||(Y=window.setInterval(()=>{St({silent:!0})},E.interval*1e3))}function ht(){Y&&(clearInterval(Y),Y=null)}function Qt(e){w.value=e,ut.value=!0}async function Jt(e){const t=Number(e.id);if(!Number.isInteger(t)||t<=0||R.value!==null)return;const o=String(e.name||e.external_userid||"该客户");try{await $.confirm(`确定删除企业微信客户“${o}”吗?此操作仅删除系统内的同步记录,不会删除企业微信中的客户关系;后续重新同步时可能再次出现。`)}catch{return}R.value=t;try{await tl({id:t}),M.page>1&&M.lists.length===1&&(M.page-=1),await Promise.all([Q(),J(),at()]),$.msgSuccess("删除成功")}catch(m){$.msgError((m==null?void 0:m.message)||(m==null?void 0:m.msg)||"删除失败")}finally{R.value=null}}function gt(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),o=String((e==null?void 0:e.userid)??"").trim(),m=String((e==null?void 0:e.name)??"").trim();return t||(m&&o?`${m}(${o})`:m||o||"—")}function it(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),o=String((e==null?void 0:e.userid)??"").trim(),m=[];return t&&m.push("后台:"+t),o&&m.push("企微:"+o),m.join("|")}function Xt(e){return e?Array.isArray(e.add_channels)?e.add_channels.map(t=>({state:String((t==null?void 0:t.state)??"").trim(),label:String((t==null?void 0:t.label)??(t==null?void 0:t.state)??"").trim(),source_type:(t==null?void 0:t.source_type)==="promotion_pool"?"promotion_pool":"state",pool_id:Number((t==null?void 0:t.pool_id)??0),user_id:String((t==null?void 0:t.user_id)??"").trim(),event_time:Number((t==null?void 0:t.event_time)??0)})).filter(t=>t.state!==""):Array.isArray(e.add_channel_states)?e.add_channel_states.map(t=>String(t??"").trim()).filter(t=>t!=="").map(t=>({state:t,label:t,source_type:"state",pool_id:0,user_id:"",event_time:0})):[]:[]}const Ct={0:"未知添加方式",1:"通过扫描二维码添加",2:"通过搜索手机号添加",3:"通过名片分享添加",4:"通过群聊添加",5:"通过手机通讯录添加",6:"通过微信联系人添加",8:"安装第三方应用时自动添加",9:"通过搜索邮箱添加",10:"通过视频号添加",11:"通过日程参与人添加",12:"通过会议参与人添加",13:"通过微信好友添加",14:"通过智慧硬件专属客服添加",15:"通过上门服务客服添加",16:"通过获客链接添加",17:"通过定制开发添加",18:"通过需求回复添加",21:"通过第三方售前客服添加",22:"通过可能的商务伙伴添加",24:"通过接受微信好友申请添加",201:"通过内部成员共享添加",202:"通过管理员或负责人分配添加"},Zt=Object.entries(Ct).map(([e,t])=>({value:Number(e),label:t}));function te(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:typeof e!="string"||!/^\d+$/.test(e.trim())?null:Number(e.trim())}function ee(e){return Ct[e]||`其他添加方式(${e})`}function H(e){if(!e)return[];const t=Xt(e),o=new Set,m=[];return(Array.isArray(e.follow_users)?e.follow_users:[]).forEach((r,z)=>{const k=String((r==null?void 0:r.userid)??(r==null?void 0:r.UserId)??"").trim(),v=String((r==null?void 0:r.state)??(r==null?void 0:r.State)??"").trim(),q=te((r==null?void 0:r.add_way)??(r==null?void 0:r.AddWay));let I=t.findIndex((b,O)=>!o.has(O)&&k!==""&&v!==""&&b.user_id===k&&b.state===v);I<0&&v!==""&&(I=t.findIndex((b,O)=>!o.has(O)&&b.state===v)),I<0&&k!==""&&(I=t.findIndex((b,O)=>!o.has(O)&&b.user_id===k));const p=I>=0?t[I]:void 0;if(I>=0&&o.add(I),q===null&&v===""&&!p)return;const vt=String((r==null?void 0:r.add_way_label)??"").trim(),tt=(p==null?void 0:p.source_type)??(/^zyt_pool:[1-9]\d*$/.test(v)?"promotion_pool":"state"),rt=vt||(q!==null?ee(q):tt==="promotion_pool"?"通过获客链接添加":"通过其他渠道添加");m.push({key:`follow:${z}:${k}:${q??"unknown"}:${v}`,add_way:q,label:rt,state:v||(p==null?void 0:p.state)||"",channel_label:(p==null?void 0:p.label)||"",source_type:tt,pool_id:(p==null?void 0:p.pool_id)||0,user_id:k||(p==null?void 0:p.user_id)||"",staff_name:gt(r),event_time:(p==null?void 0:p.event_time)||Number((r==null?void 0:r.createtime)??0)})}),t.forEach((r,z)=>{o.has(z)||m.push({...r,key:`channel:${z}:${r.user_id}:${r.state}`,add_way:r.source_type==="promotion_pool"?16:null,label:r.source_type==="promotion_pool"?"通过获客链接添加":"通过其他渠道添加",channel_label:r.label,staff_name:r.user_id||"—"})}),m.sort((r,z)=>z.event_time-r.event_time)}function yt(e){const t=[];return t.push(`添加方式:${e.label}`),e.source_type==="promotion_pool"&&e.channel_label&&t.push(`获客助手方案:${e.channel_label}`),e.staff_name&&e.staff_name!=="—"&&t.push(`跟进人:${e.staff_name}`),e.event_time>0&&t.push(`添加时间:${X(e.event_time)}`),e.state&&t.push(`渠道参数:${e.state}`),t.join("|")}function le(e){return H(e).slice(1).map(yt).join(` `)}function Vt(e){if(!e)return null;const t=Number(e.external_first_add_time??0);if(t>0)return t;const o=e.follow_users;if(Array.isArray(o)&&o.length>0){let m=0;for(const S of o){const r=Number((S==null?void 0:S.createtime)??0);r>0&&(m===0||r0)return m}return e.create_time??null}function X(e){if(e===""||e===null||e===void 0)return"—";const t=Number(e),o=typeof e=="string"&&/^\d+$/.test(e.trim());let m;return typeof e=="number"?m=e<1e12?e*1e3:e:!Number.isNaN(t)&&o?m=t<1e12?t*1e3:t:m=new Date(e).getTime(),Number.isNaN(m)?"—":new Date(m).toLocaleString("zh-CN")}let Z=null;function ae(){Z===null&&(Z=window.setInterval(()=>{J(),nt(G.value)},3e4))}function se(){Z!==null&&(clearInterval(Z),Z=null)}return We(()=>{Q(),J(),Gt(),nt(!1),at(),ae()}),Ge(()=>{ht(),pt(),se()}),(e,t)=>{const o=ye,m=ce,S=pe,r=ge,z=xe,k=be,v=Se,q=we,I=ke,p=he,vt=Ce,tt=ve,rt=Ee,b=Ae,O=Ve,ne=Me,oe=Te,At=$e,ie=ze,re=De,Et=qe,Nt=Ie,de=Le,ue=Ue,T=Pe,me=je,_e=Ye("perms"),fe=Ne;return d(),f("div",rl,[a(S,{shadow:"never",class:"mb-4"},{header:l(()=>[n("div",dl,[t[24]||(t[24]=n("span",{class:"text-lg font-semibold"},"企业微信客户管理",-1)),n("div",ul,[a(o,{type:"success",plain:"",onClick:wt},{icon:l(()=>[a(x(Oe))]),default:l(()=>[t[20]||(t[20]=_(" 今日进入明细 ",-1))]),_:1}),a(o,{type:"warning",plain:"",onClick:qt},{icon:l(()=>[a(x(He))]),default:l(()=>[t[21]||(t[21]=_(" 标签维度 ",-1))]),_:1}),a(o,{type:"primary",loading:F.value,onClick:t[0]||(t[0]=s=>St())},{icon:l(()=>[a(x(bt))]),default:l(()=>[t[22]||(t[22]=_(" 立即同步 ",-1))]),_:1},8,["loading"]),a(o,{onClick:t[1]||(t[1]=s=>K.value=!0)},{icon:l(()=>[a(x(Be))]),default:l(()=>[t[23]||(t[23]=_(" 同步设置 ",-1))]),_:1})])])]),default:l(()=>[a(m,{title:"功能说明",type:"info",closable:!1,class:"mb-4"},{default:l(()=>[...t[25]||(t[25]=[n("div",{class:"text-sm"},[n("p",null,"自动从企业微信同步外部联系人(客户)信息,包括客户基本信息、跟进人等。"),n("p",{class:"mt-1"},"同步后的数据可用于患者信息匹配和自动关联。")],-1)])]),_:1}),n("div",ml,[a(S,{shadow:"hover"},{default:l(()=>[t[26]||(t[26]=n("div",{class:"text-gray-500 text-sm mb-1"},"总客户数",-1)),n("div",_l,u(D.total),1)]),_:1}),a(S,{shadow:"hover",class:"today-arrival-card cursor-pointer",onClick:wt},{default:l(()=>[n("div",fl,[t[27]||(t[27]=n("span",{class:"text-gray-500 text-sm"},"今日新增",-1)),N.recent_time?(d(),f("span",cl," 最近 "+u(Ht(N.recent_time)),1)):L("",!0)]),n("div",pl,[n("div",gl,u(D.today),1),t[28]||(t[28]=n("div",{class:"text-xs text-gray-400 pb-1"},"人",-1))]),n("div",{class:"hourly-bars mt-2",title:Mt.value},[(d(!0),f(C,null,V(N.hourly,(s,i)=>(d(),f("div",{key:i,class:Xe(["hourly-bar",{"is-empty":s===0,"is-current":i===x(Lt)}]),style:Je({height:Pt(s)})},null,6))),128))],8,yl),n("div",vl,[t[29]||(t[29]=n("div",{class:"text-gray-500 text-xs mb-0.5"},"今日跟进人合计",-1)),n("div",bl,u(D.today_follow_staff),1)])]),_:1}),a(S,{shadow:"hover"},{default:l(()=>[t[30]||(t[30]=n("div",{class:"text-gray-500 text-sm mb-1"},"最后同步",-1)),n("div",xl,u(D.lastSync||"未同步"),1)]),_:1}),a(S,{shadow:"hover"},{default:l(()=>[t[31]||(t[31]=n("div",{class:"text-gray-500 text-sm mb-1"},"同步状态",-1)),a(r,{type:Dt.value,size:"small"},{default:l(()=>[_(u(D.syncStatusText),1)]),_:1},8,["type"])]),_:1})])]),_:1}),a(S,{shadow:"never"},{default:l(()=>[a(tt,{model:c,inline:"",class:"mb-4"},{default:l(()=>[a(k,{label:"客户名称"},{default:l(()=>[a(z,{modelValue:c.name,"onUpdate:modelValue":t[2]||(t[2]=s=>c.name=s),placeholder:"搜索客户名称",clearable:"",onKeyup:Tt(x(U),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(k,{label:"跟进人"},{default:l(()=>[a(z,{modelValue:c.follow_user,"onUpdate:modelValue":t[3]||(t[3]=s=>c.follow_user=s),placeholder:"跟进人姓名(后台姓名或企微账号)",clearable:"",onKeyup:Tt(x(U),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(k,{label:"渠道"},{default:l(()=>[a(q,{modelValue:c.add_way,"onUpdate:modelValue":t[4]||(t[4]=s=>c.add_way=s),clearable:"",filterable:"",placeholder:"选择或搜索添加渠道",style:{width:"240px"},onChange:x(U)},{default:l(()=>[(d(!0),f(C,null,V(x(Zt),s=>(d(),y(v,{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),a(k,{label:"添加时间"},{default:l(()=>[a(I,{modelValue:mt.value,"onUpdate:modelValue":t[5]||(t[5]=s=>mt.value=s),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:"",class:"!w-[280px]",onChange:zt},null,8,["modelValue"])]),_:1}),a(k,{label:"去重筛选"},{default:l(()=>[a(q,{modelValue:c.dedupe_mode,"onUpdate:modelValue":t[6]||(t[6]=s=>c.dedupe_mode=s),style:{width:"220px"},onChange:x(U)},{default:l(()=>[a(v,{label:"客户去重(首次添加)",value:"first"}),a(v,{label:"含重加(对齐企微)",value:"any"})]),_:1},8,["modelValue","onChange"]),a(p,{content:"客户去重:按客户首次添加时间。含重加:当天任意员工添加过即计入(含老客被其他员工重加),与企微时间筛选更接近;可与跟进人、添加时间联用。",placement:"top"},{default:l(()=>[...t[32]||(t[32]=[n("span",{class:"ml-1 text-gray-400 text-xs cursor-help"},"说明",-1)])]),_:1})]),_:1}),a(k,{label:"标签"},{default:l(()=>[a(q,{modelValue:c.tag_ids,"onUpdate:modelValue":t[7]||(t[7]=s=>c.tag_ids=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",filterable:"",placeholder:"按标签筛选(可多选,命中任一即返回)",loading:W.value,style:{"min-width":"320px"},onChange:x(U)},{default:l(()=>[(d(!0),f(C,null,V(h.groups,s=>(d(),y(vt,{key:s.group_name||"_",label:(s.group_name||"(未分组)")+" · "+s.customer_count},{default:l(()=>[(d(!0),f(C,null,V(s.tags,i=>(d(),y(v,{key:i.tag_id,value:i.tag_id,label:i.tag_name},{default:l(()=>[n("span",wl,[n("span",null,u(i.tag_name),1),n("span",Sl,u(i.customer_count)+" 人",1)])]),_:2},1032,["value","label"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading","onChange"])]),_:1}),a(k,null,{default:l(()=>[a(o,{type:"primary",onClick:x(U)},{default:l(()=>[...t[33]||(t[33]=[_("查询",-1)])]),_:1},8,["onClick"]),a(o,{onClick:Rt},{default:l(()=>[...t[34]||(t[34]=[_("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),$t((d(),y(O,{data:x(M).lists,stripe:""},{default:l(()=>[a(b,{label:"客户信息","min-width":"200"},{default:l(({row:s})=>[n("div",kl,[a(rt,{size:40,src:s.avatar},null,8,["src"]),n("div",null,[n("div",hl,u(s.name),1),n("div",Cl,u(s.external_userid),1)])])]),_:1}),a(b,{label:"类型",width:"80"},{default:l(({row:s})=>[a(r,{size:"small"},{default:l(()=>[_(u(s.type===1?"微信":"企微"),1)]),_:2},1024)]),_:1}),a(b,{label:"性别",width:"60"},{default:l(({row:s})=>[_(u(s.gender===1?"男":s.gender===2?"女":"未知"),1)]),_:1}),a(b,{label:"跟进人","min-width":"150"},{default:l(({row:s})=>[s.follow_users&&s.follow_users.length?(d(),f("div",Vl,[(d(!0),f(C,null,V(s.follow_users,(i,et)=>(d(),y(p,{key:(i.userid||"")+"-"+et,disabled:!it(i),content:it(i),placement:"top"},{default:l(()=>[a(r,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[_(u(gt(i)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(d(),f("span",Al,"—"))]),_:1}),a(b,{label:"标签","min-width":"180"},{default:l(({row:s})=>[s.tags&&s.tags.length?(d(),f("div",El,[(d(!0),f(C,null,V(s.tags,i=>(d(),y(r,{key:i.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1 cursor-pointer",onClick:et=>It(i.tag_id)},{default:l(()=>[_(u(i.tag_name)+" ",1),i.group_name?(d(),f("span",Nl,u(i.group_name),1)):L("",!0)]),_:2},1032,["onClick"]))),128))])):(d(),f("span",Tl,"—"))]),_:1}),a(b,{label:"添加渠道","min-width":"160"},{default:l(({row:s})=>[H(s).length?(d(),f("div",$l,[(d(!0),f(C,null,V(H(s).slice(0,1),i=>(d(),y(p,{key:i.key,content:yt(i),placement:"top"},{default:l(()=>[n("span",Dl,u(i.label),1)]),_:2},1032,["content"]))),128)),H(s).length>1?(d(),y(p,{key:0,content:le(s),placement:"top"},{default:l(()=>[n("span",zl," 另 "+u(H(s).length-1)+" 条 ",1)]),_:2},1032,["content"])):L("",!0)])):(d(),f("span",ql,"未记录"))]),_:1}),a(b,{label:"添加时间",width:"160"},{default:l(({row:s})=>[_(u(X(Vt(s))),1)]),_:1}),a(b,{label:"更新时间",width:"160"},{default:l(({row:s})=>[_(u(X(s.update_time)),1)]),_:1}),a(b,{label:"操作",width:"160",fixed:"right"},{default:l(({row:s})=>[a(o,{type:"primary",link:"",onClick:i=>Qt(s)},{default:l(()=>[...t[35]||(t[35]=[_("查看详情",-1)])]),_:1},8,["onClick"]),$t((d(),y(o,{type:"danger",link:"",loading:R.value===Number(s.id),disabled:R.value!==null,onClick:i=>Jt(s)},{default:l(()=>[...t[36]||(t[36]=[_(" 删除 ",-1)])]),_:1},8,["loading","disabled","onClick"])),[[_e,["qywx.customer/delete"]]])]),_:1})]),_:1},8,["data"])),[[fe,x(M).loading]]),n("div",Il,[a(ne,{modelValue:x(M),"onUpdate:modelValue":t[8]||(t[8]=s=>Qe(M)?M.value=s:null),onChange:x(Q)},null,8,["modelValue","onChange"])])]),_:1}),a(At,{modelValue:K.value,"onUpdate:modelValue":t[12]||(t[12]=s=>K.value=s),title:"同步设置",width:"500px"},{footer:l(()=>[a(o,{onClick:t[11]||(t[11]=s=>K.value=!1)},{default:l(()=>[...t[38]||(t[38]=[_("取消",-1)])]),_:1}),a(o,{type:"primary",onClick:Yt},{default:l(()=>[...t[39]||(t[39]=[_("保存",-1)])]),_:1})]),default:l(()=>[a(tt,{model:E,"label-width":"120px"},{default:l(()=>[a(k,{label:"自动同步"},{default:l(()=>[a(oe,{modelValue:E.auto_sync,"onUpdate:modelValue":t[9]||(t[9]=s=>E.auto_sync=s)},null,8,["modelValue"]),t[37]||(t[37]=n("div",{class:"text-xs text-gray-400 mt-1"}," 开启后将定时自动同步企业微信客户数据 ",-1))]),_:1}),a(k,{label:"同步间隔"},{default:l(()=>[a(q,{modelValue:E.interval,"onUpdate:modelValue":t[10]||(t[10]=s=>E.interval=s),disabled:!E.auto_sync},{default:l(()=>[a(v,{label:"每小时",value:3600}),a(v,{label:"每2小时",value:7200}),a(v,{label:"每4小时",value:14400}),a(v,{label:"每6小时",value:21600}),a(v,{label:"每12小时",value:43200}),a(v,{label:"每天",value:86400})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(Nt,{modelValue:G.value,"onUpdate:modelValue":t[14]||(t[14]=s=>G.value=s),title:"今日进入明细",direction:"rtl",size:"520px","destroy-on-close":!1},{header:l(()=>[n("div",Ul,[n("div",Ll,[t[40]||(t[40]=n("span",{class:"text-base font-semibold"},"今日进入明细",-1)),a(r,{type:"success",effect:"plain"},{default:l(()=>[_("共 "+u(g.total)+" 人",1)]),_:1})]),a(o,{link:"",type:"primary",loading:st.value,onClick:t[13]||(t[13]=s=>nt(!0))},{icon:l(()=>[a(x(bt))]),default:l(()=>[t[41]||(t[41]=_(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>{var s;return[n("div",jl,[a(m,{type:"info",closable:!1,class:"mb-3","show-icon":""},{title:l(()=>[...t[42]||(t[42]=[n("span",{class:"text-xs"}," 一次推送 = 一个人进来;数据来源为企微回调流水表(INSERT IGNORE 幂等),与客户同步解耦,数字零误差。 ",-1)])]),_:1}),(s=N.by_state)!=null&&s.length?(d(),f("div",Pl,[t[43]||(t[43]=n("div",{class:"text-xs text-gray-500 mb-1"},"今日推广渠道 Top",-1)),n("div",Ml,[(d(!0),f(C,null,V(N.by_state,i=>(d(),y(r,{key:i.state||"_",size:"small",effect:"light",type:"success"},{default:l(()=>[_(u(i.state||"(无 state)")+" · "+u(i.count),1)]),_:2},1024))),128))])])):L("",!0),g.lists.length?(d(),y(re,{key:1,class:"mt-2"},{default:l(()=>[(d(!0),f(C,null,V(g.lists,i=>(d(),y(ie,{key:i.id,timestamp:Bt(i.event_time),placement:"top",type:"success",hollow:!1},{default:l(()=>[n("div",Ol,[a(rt,{size:32,src:i.customer_avatar||void 0},{default:l(()=>[_(u((i.customer_name||"?").slice(0,1)),1)]),_:2},1032,["src"]),n("div",Hl,[n("div",Bl,u(i.customer_name||i.external_userid||"(未知客户)"),1),n("div",Fl,[n("span",null,"接待:"+u(i.admin_name||i.user_id||"—"),1),i.state?(d(),f("span",Kl,[t[44]||(t[44]=_(" 渠道:",-1)),a(r,{size:"small",type:"info",effect:"plain"},{default:l(()=>[_(u(i.state),1)]),_:2},1024)])):L("",!0),i.welcome_code?(d(),f("span",Rl,"欢迎语")):L("",!0)])])])]),_:2},1032,["timestamp"]))),128))]),_:1})):(d(),y(Et,{key:2,description:"今天还没有人进入","image-size":80})),g.total>g.lists.length?(d(),f("div",Wl,[a(o,{loading:st.value,size:"small",onClick:Ot},{default:l(()=>[_(" 加载更多(还剩 "+u(g.total-g.lists.length)+") ",1)]),_:1},8,["loading"])])):L("",!0)])]}),_:1},8,["modelValue"]),a(Nt,{modelValue:lt.value,"onUpdate:modelValue":t[18]||(t[18]=s=>lt.value=s),title:"标签维度统计",direction:"rtl",size:"560px","destroy-on-close":!1},{header:l(()=>[n("div",Gl,[n("div",Yl,[t[45]||(t[45]=n("span",{class:"text-base font-semibold"},"标签维度统计",-1)),a(r,{type:"warning",effect:"plain"},{default:l(()=>[_(u(h.groups.length)+" 组 · "+u(h.total_tags)+" 标签 ",1)]),_:1})]),a(o,{link:"",type:"primary",loading:W.value,onClick:t[15]||(t[15]=s=>at(!0))},{icon:l(()=>[a(x(bt))]),default:l(()=>[t[46]||(t[46]=_(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>[n("div",Ql,[n("div",Jl,[a(S,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[47]||(t[47]=n("div",{class:"text-xs text-gray-500"},"已打标签客户",-1)),n("div",Xl,u(h.total_tagged_customers),1)]),_:1}),a(S,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[48]||(t[48]=n("div",{class:"text-xs text-gray-500"},"标签数",-1)),n("div",Zl,u(h.total_tags),1)]),_:1}),a(S,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[49]||(t[49]=n("div",{class:"text-xs text-gray-500"},"关系总数",-1)),n("div",ta,u(h.total_relations),1)]),_:1})]),a(z,{modelValue:_t.value,"onUpdate:modelValue":t[16]||(t[16]=s=>_t.value=s),placeholder:"筛选标签名 / 分组名",clearable:"",size:"small",class:"mb-3"},null,8,["modelValue"]),xt.value.length===0?(d(),y(Et,{key:0,description:W.value?"加载中…":"暂无标签数据","image-size":64},null,8,["description"])):(d(),y(ue,{key:1,modelValue:ft.value,"onUpdate:modelValue":t[17]||(t[17]=s=>ft.value=s)},{default:l(()=>[(d(!0),f(C,null,V(xt.value,s=>(d(),y(de,{key:s.group_name||"_",name:s.group_name||"_"},{title:l(()=>[n("div",ea,[n("span",la,u(s.group_name||"(未分组)"),1),a(r,{size:"small",effect:"plain"},{default:l(()=>[_(u(s.tags.length),1)]),_:2},1024),n("span",aa," 最热 "+u(s.customer_count)+" 人 ",1)])]),default:l(()=>[a(O,{data:s.tags,size:"small",stripe:""},{default:l(()=>[a(b,{label:"标签","min-width":"160"},{default:l(({row:i})=>[n("span",sa,u(i.tag_name),1),n("div",na,u(i.tag_id),1)]),_:1}),a(b,{label:"客户数",width:"100",align:"right"},{default:l(({row:i})=>[n("span",oa,u(i.customer_count),1)]),_:1}),a(b,{label:"操作",width:"80",align:"center"},{default:l(({row:i})=>[a(o,{link:"",type:"primary",size:"small",onClick:et=>Ut(i.tag_id)},{default:l(()=>[...t[50]||(t[50]=[_(" 筛选 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]))])]),_:1},8,["modelValue"]),a(At,{modelValue:ut.value,"onUpdate:modelValue":t[19]||(t[19]=s=>ut.value=s),title:"客户详情",width:"600px"},{default:l(()=>[w.value?(d(),y(me,{key:0,column:2,border:""},{default:l(()=>[a(T,{label:"客户名称"},{default:l(()=>[_(u(w.value.name),1)]),_:1}),a(T,{label:"External ID"},{default:l(()=>[_(u(w.value.external_userid),1)]),_:1}),a(T,{label:"性别"},{default:l(()=>[_(u(w.value.gender===1?"男":w.value.gender===2?"女":"未知"),1)]),_:1}),a(T,{label:"类型"},{default:l(()=>[_(u(w.value.type===1?"微信用户":"企业微信用户"),1)]),_:1}),a(T,{label:"企业名称",span:2},{default:l(()=>[_(u(w.value.corp_name||"—"),1)]),_:1}),a(T,{label:"职位",span:2},{default:l(()=>[_(u(w.value.position||"—"),1)]),_:1}),a(T,{label:"添加时间",span:2},{default:l(()=>[_(u(X(Vt(w.value))),1)]),_:1}),a(T,{label:"添加渠道",span:2},{default:l(()=>[H(w.value).length?(d(),f("div",ia,[(d(!0),f(C,null,V(H(w.value),s=>(d(),y(p,{key:s.key,content:yt(s),placement:"top"},{default:l(()=>[a(r,{size:"small",type:"info",effect:"plain"},{default:l(()=>[_(u(s.label),1)]),_:2},1024)]),_:2},1032,["content"]))),128))])):(d(),f("span",ra,"未记录"))]),_:1}),a(T,{label:"更新时间",span:2},{default:l(()=>[_(u(X(w.value.update_time)),1)]),_:1}),a(T,{label:"跟进人",span:2},{default:l(()=>{var s;return[(s=w.value.follow_users)!=null&&s.length?(d(),f("div",da,[(d(!0),f(C,null,V(w.value.follow_users,(i,et)=>(d(),y(p,{key:(i.userid||"")+"-"+et,disabled:!it(i),content:it(i),placement:"top"},{default:l(()=>[a(r,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[_(u(gt(i)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(d(),f("span",ua,"—"))]}),_:1}),a(T,{label:"标签",span:2},{default:l(()=>{var s;return[(s=w.value.tags)!=null&&s.length?(d(),f("div",ma,[(d(!0),f(C,null,V(w.value.tags,i=>(d(),y(r,{key:i.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1"},{default:l(()=>[_(u(i.tag_name)+" ",1),i.group_name?(d(),f("span",_a,u(i.group_name),1)):L("",!0)]),_:2},1024))),128))])):(d(),f("span",fa,"—"))]}),_:1})]),_:1})):L("",!0)]),_:1},8,["modelValue"])])}}}),ts=Ke(ca,[["__scopeId","data-v-537c4308"]]);export{ts as default}; diff --git a/server/public/admin/assets/readonly-CZaNTA70.js b/server/public/admin/assets/readonly-DyVEs7Ql.js similarity index 86% rename from server/public/admin/assets/readonly-CZaNTA70.js rename to server/public/admin/assets/readonly-DyVEs7Ql.js index 1393cf2b2..ddd21e7f3 100644 --- a/server/public/admin/assets/readonly-CZaNTA70.js +++ b/server/public/admin/assets/readonly-DyVEs7Ql.js @@ -1 +1 @@ -import{M as H,d as J,i as Q,r as S,X}from"./element-plus-DGP1XOrU.js";import{u as $,a as j}from"./vue-router-QlpZ4wdW.js";import{o as K}from"./@element-plus/icons-vue-CbYn5zW9.js";import{aF as U}from"./tcm-CEIBuAeK.js";import{g as W}from"./patient-DzLGoG87.js";import{f as Y}from"./diag-display-DCz_VAqj.js";import{h as p}from"./perm-CTlz8z1G.js";import Z from"./PatientInfoCard-Bub1uklL.js";import tt from"./PatientCaseCard-B9RReKmk.js";import et from"./DailyMatrix-UhX8pyGC.js";import ot from"./CallRecordPanel-D0IuoeiU.js";import it from"./ImChatRecordPanel-Dfh8REJx.js";import at from"./AssignLogPanel-Dye0u9va.js";import st from"./AppointmentRecordPanel-D32UIqUN.js";import rt from"./PatientOrderList-hgIlFF0m.js";import nt from"./NoteTimeline-DVNRRysO.js";import{f as dt,b as lt,aP as ct,ak as o,I as n,J as i,a as _,aN as b,O as B,F as A,H as l,G as a,A as m}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k,o as mt}from"./@vue/shared-mAAVTE9n.js";import{_ as ut}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CFEYln83.js";import"./RecordingPlaybackBlock-CTkcYK3L.js";import"./RecordingVideoPlayer-VBMST9fm.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-BVLBwYIX.js";import"./PrescriptionOrderDetailDrawer-O5Yv7ynk.js";import"./prescription-order-utils-CpKeuzsa.js";const pt={class:"readonly-page"},vt={class:"readonly-hero"},_t={class:"hero-left"},gt={key:0,class:"hero-right"},yt={class:"patient-name"},ft={class:"patient-meta"},kt={key:1,class:"unserved-badge unserved-muted"},bt={key:0,class:"card tracking-card"},ht={class:"card-body"},Nt={class:"card note-card"},xt={class:"card-body card-body--matrix-align"},Ct={key:1,class:"card section-card"},Dt={class:"card-body card-body--matrix-align"},Pt={key:2,class:"card section-card"},wt={class:"card-body card-body--matrix-align"},It={key:3,class:"card section-card"},Rt={class:"card-body card-body--matrix-align"},Bt={key:4,class:"card section-card"},At={class:"card-body card-body--matrix-align"},Et={key:5,class:"card section-card"},Ft={class:"card-body card-body--matrix-align"},Lt=dt({__name:"readonly",setup(Mt){const E=$(),h=j(),N=m(()=>Number(E.query.id||0)),g=f(!1),y=f(""),d=f(null),v=f([]),x=m(()=>{var e;return((e=d.value)==null?void 0:e.appointment)||{}}),r=m(()=>{var e;return((e=d.value)==null?void 0:e.diagnosis)||{}}),F=m(()=>p(["tcm.diagnosis/dailyRecord"])),s=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.id)??N.value??0)}),C=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.patient_id)??0)}),D=m(()=>{var t;const e=(t=d.value)==null?void 0:t.unserved_days;return e==null?null:Number(e)}),P=m(()=>{var e;return((e=d.value)==null?void 0:e.last_blood_record_at)||""}),L=e=>{if(e==null)return"unserved-muted";const t=Number(e);return Number.isFinite(t)?t>=7?"unserved-red":t>=3?"unserved-orange":"unserved-green":"unserved-muted"},M=async()=>{const e=s.value;if(e)try{const t=await W({diagnosis_id:e})||[];v.value=t}catch{}},V=async()=>{const e=N.value;if(!e||e<=0){y.value="诊单 id 缺失",d.value=null,v.value=[];return}g.value=!0,y.value="";try{const t=await U({id:e});d.value=t||null,v.value=Array.isArray(t==null?void 0:t.doctor_notes)?t.doctor_notes:[],await M()}catch(t){y.value=(t==null?void 0:t.message)||"",d.value=null,v.value=[]}finally{g.value=!1}},O=()=>{window.history.length>1?h.back():h.push({path:"/tcm/diagnosis"})};return lt(V),(e,t)=>{var w,I,R;const T=J,z=Q,G=S,c=X,q=H;return ct((o(),n("div",pt,[i("div",vt,[i("div",_t,[_(z,{link:"",size:"default",onClick:O,class:"back-btn"},{default:b(()=>[_(T,null,{default:b(()=>[_(u(K))]),_:1}),t[0]||(t[0]=i("span",null,"返回",-1))]),_:1}),t[1]||(t[1]=i("span",{class:"title"},"患者信息详情",-1))]),(w=r.value)!=null&&w.patient_name?(o(),n("div",gt,[i("span",yt,k(r.value.patient_name),1),i("span",ft,[B(k(u(Y)(r.value.gender))+" ",1),r.value.age!=null?(o(),n(A,{key:0},[B(" · "+k(r.value.age)+"岁",1)],64)):l("",!0)]),P.value?(o(),a(G,{key:0,content:`最近一次健康打卡:${P.value}`,placement:"bottom"},{default:b(()=>[i("span",{class:mt(["unserved-badge",L(D.value)])}," 未服务 "+k(D.value??"—")+" 天 ",3)]),_:1},8,["content"])):(o(),n("span",kt,"从未打卡"))])):l("",!0)]),!g.value&&!d.value?(o(),a(c,{key:0,description:y.value||"诊单不存在或无权访问",class:"empty-state"},null,8,["description"])):d.value?(o(),n(A,{key:1},[_(Z,{apt:x.value,diag:r.value},null,8,["apt","diag"]),_(tt,{apt:x.value,diag:r.value},null,8,["apt","diag"]),F.value?(o(),n("div",bt,[t[2]||(t[2]=i("div",{class:"card-title"},"日常记录",-1)),i("div",ht,[_(et,{"diagnosis-id":s.value,"patient-id":C.value,age:((I=r.value)==null?void 0:I.age)??null,"patient-name":((R=r.value)==null?void 0:R.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])])):l("",!0),i("div",Nt,[t[3]||(t[3]=i("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),i("div",xt,[s.value<=0?(o(),a(c,{key:0,description:"诊单数据不完整"})):v.value.length?(o(),a(nt,{key:2,notes:v.value,"diagnosis-id":s.value,readonly:!0},null,8,["notes","diagnosis-id"])):(o(),a(c,{key:1,description:"暂无医生备注"}))])]),u(p)(["tcm.diagnosis/patientOrders"])?(o(),n("div",Ct,[t[4]||(t[4]=i("div",{class:"card-title"},"业务订单",-1)),i("div",Dt,[s.value>0?(o(),a(rt,{key:0,"diagnosis-id":s.value,"patient-id":C.value||0},null,8,["diagnosis-id","patient-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/huifang"])?(o(),n("div",Pt,[t[5]||(t[5]=i("div",{class:"card-title"},"视频录制回放记录",-1)),i("div",wt,[s.value>0?(o(),a(ot,{key:0,"diagnosis-id":s.value,"read-only":!0},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/chat"])?(o(),n("div",It,[t[6]||(t[6]=i("div",{class:"card-title"},"聊天记录",-1)),i("div",Rt,[s.value>0?(o(),a(it,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/assign"])||u(p)(["tcm.diagnosis/detail"])?(o(),n("div",Bt,[t[7]||(t[7]=i("div",{class:"card-title"},"指派医助记录",-1)),i("div",At,[s.value>0?(o(),a(at,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["doctor.appointment/lists"])?(o(),n("div",Et,[t[8]||(t[8]=i("div",{class:"card-title"},"挂号记录",-1)),i("div",Ft,[s.value>0?(o(),a(st,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0)],64)):l("",!0)])),[[q,g.value]])}}}),ao=ut(Lt,[["__scopeId","data-v-2efd2017"]]);export{ao as default}; +import{M as H,d as J,i as Q,r as S,X}from"./element-plus-DGP1XOrU.js";import{u as $,a as j}from"./vue-router-QlpZ4wdW.js";import{o as K}from"./@element-plus/icons-vue-CbYn5zW9.js";import{aF as U}from"./tcm-D-ZRccbe.js";import{g as W}from"./patient-L-xV50Pi.js";import{f as Y}from"./diag-display-DCz_VAqj.js";import{h as p}from"./perm-8cp9D7Ag.js";import Z from"./PatientInfoCard-CRgOOFEE.js";import tt from"./PatientCaseCard-BUE1F6Xk.js";import et from"./DailyMatrix-DtyPece3.js";import ot from"./CallRecordPanel-C1Otf2Df.js";import it from"./ImChatRecordPanel-CsDITo98.js";import at from"./AssignLogPanel-CDRHljLe.js";import st from"./AppointmentRecordPanel-DzDHAY3k.js";import rt from"./PatientOrderList-Bq3jWUKy.js";import nt from"./NoteTimeline-DqVO9iO4.js";import{f as dt,b as lt,aP as ct,ak as o,I as n,J as i,a as _,aN as b,O as B,F as A,H as l,G as a,A as m}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k,o as mt}from"./@vue/shared-mAAVTE9n.js";import{_ as ut}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CqxCRYim.js";import"./RecordingPlaybackBlock-Llmd2S_t.js";import"./RecordingVideoPlayer-D28GF4NK.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-BZKBQu9t.js";import"./PrescriptionOrderDetailDrawer-C30zC4to.js";import"./prescription-order-utils-CpKeuzsa.js";const pt={class:"readonly-page"},vt={class:"readonly-hero"},_t={class:"hero-left"},gt={key:0,class:"hero-right"},yt={class:"patient-name"},ft={class:"patient-meta"},kt={key:1,class:"unserved-badge unserved-muted"},bt={key:0,class:"card tracking-card"},ht={class:"card-body"},Nt={class:"card note-card"},xt={class:"card-body card-body--matrix-align"},Ct={key:1,class:"card section-card"},Dt={class:"card-body card-body--matrix-align"},Pt={key:2,class:"card section-card"},wt={class:"card-body card-body--matrix-align"},It={key:3,class:"card section-card"},Rt={class:"card-body card-body--matrix-align"},Bt={key:4,class:"card section-card"},At={class:"card-body card-body--matrix-align"},Et={key:5,class:"card section-card"},Ft={class:"card-body card-body--matrix-align"},Lt=dt({__name:"readonly",setup(Mt){const E=$(),h=j(),N=m(()=>Number(E.query.id||0)),g=f(!1),y=f(""),d=f(null),v=f([]),x=m(()=>{var e;return((e=d.value)==null?void 0:e.appointment)||{}}),r=m(()=>{var e;return((e=d.value)==null?void 0:e.diagnosis)||{}}),F=m(()=>p(["tcm.diagnosis/dailyRecord"])),s=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.id)??N.value??0)}),C=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.patient_id)??0)}),D=m(()=>{var t;const e=(t=d.value)==null?void 0:t.unserved_days;return e==null?null:Number(e)}),P=m(()=>{var e;return((e=d.value)==null?void 0:e.last_blood_record_at)||""}),L=e=>{if(e==null)return"unserved-muted";const t=Number(e);return Number.isFinite(t)?t>=7?"unserved-red":t>=3?"unserved-orange":"unserved-green":"unserved-muted"},M=async()=>{const e=s.value;if(e)try{const t=await W({diagnosis_id:e})||[];v.value=t}catch{}},V=async()=>{const e=N.value;if(!e||e<=0){y.value="诊单 id 缺失",d.value=null,v.value=[];return}g.value=!0,y.value="";try{const t=await U({id:e});d.value=t||null,v.value=Array.isArray(t==null?void 0:t.doctor_notes)?t.doctor_notes:[],await M()}catch(t){y.value=(t==null?void 0:t.message)||"",d.value=null,v.value=[]}finally{g.value=!1}},O=()=>{window.history.length>1?h.back():h.push({path:"/tcm/diagnosis"})};return lt(V),(e,t)=>{var w,I,R;const T=J,z=Q,G=S,c=X,q=H;return ct((o(),n("div",pt,[i("div",vt,[i("div",_t,[_(z,{link:"",size:"default",onClick:O,class:"back-btn"},{default:b(()=>[_(T,null,{default:b(()=>[_(u(K))]),_:1}),t[0]||(t[0]=i("span",null,"返回",-1))]),_:1}),t[1]||(t[1]=i("span",{class:"title"},"患者信息详情",-1))]),(w=r.value)!=null&&w.patient_name?(o(),n("div",gt,[i("span",yt,k(r.value.patient_name),1),i("span",ft,[B(k(u(Y)(r.value.gender))+" ",1),r.value.age!=null?(o(),n(A,{key:0},[B(" · "+k(r.value.age)+"岁",1)],64)):l("",!0)]),P.value?(o(),a(G,{key:0,content:`最近一次健康打卡:${P.value}`,placement:"bottom"},{default:b(()=>[i("span",{class:mt(["unserved-badge",L(D.value)])}," 未服务 "+k(D.value??"—")+" 天 ",3)]),_:1},8,["content"])):(o(),n("span",kt,"从未打卡"))])):l("",!0)]),!g.value&&!d.value?(o(),a(c,{key:0,description:y.value||"诊单不存在或无权访问",class:"empty-state"},null,8,["description"])):d.value?(o(),n(A,{key:1},[_(Z,{apt:x.value,diag:r.value},null,8,["apt","diag"]),_(tt,{apt:x.value,diag:r.value},null,8,["apt","diag"]),F.value?(o(),n("div",bt,[t[2]||(t[2]=i("div",{class:"card-title"},"日常记录",-1)),i("div",ht,[_(et,{"diagnosis-id":s.value,"patient-id":C.value,age:((I=r.value)==null?void 0:I.age)??null,"patient-name":((R=r.value)==null?void 0:R.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])])):l("",!0),i("div",Nt,[t[3]||(t[3]=i("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),i("div",xt,[s.value<=0?(o(),a(c,{key:0,description:"诊单数据不完整"})):v.value.length?(o(),a(nt,{key:2,notes:v.value,"diagnosis-id":s.value,readonly:!0},null,8,["notes","diagnosis-id"])):(o(),a(c,{key:1,description:"暂无医生备注"}))])]),u(p)(["tcm.diagnosis/patientOrders"])?(o(),n("div",Ct,[t[4]||(t[4]=i("div",{class:"card-title"},"业务订单",-1)),i("div",Dt,[s.value>0?(o(),a(rt,{key:0,"diagnosis-id":s.value,"patient-id":C.value||0},null,8,["diagnosis-id","patient-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/huifang"])?(o(),n("div",Pt,[t[5]||(t[5]=i("div",{class:"card-title"},"视频录制回放记录",-1)),i("div",wt,[s.value>0?(o(),a(ot,{key:0,"diagnosis-id":s.value,"read-only":!0},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/chat"])?(o(),n("div",It,[t[6]||(t[6]=i("div",{class:"card-title"},"聊天记录",-1)),i("div",Rt,[s.value>0?(o(),a(it,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/assign"])||u(p)(["tcm.diagnosis/detail"])?(o(),n("div",Bt,[t[7]||(t[7]=i("div",{class:"card-title"},"指派医助记录",-1)),i("div",At,[s.value>0?(o(),a(at,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["doctor.appointment/lists"])?(o(),n("div",Et,[t[8]||(t[8]=i("div",{class:"card-title"},"挂号记录",-1)),i("div",Ft,[s.value>0?(o(),a(st,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0)],64)):l("",!0)])),[[q,g.value]])}}}),ao=ut(Lt,[["__scopeId","data-v-2efd2017"]]);export{ao as default}; diff --git a/server/public/admin/assets/recharge_record-DUGG7Fe5.js b/server/public/admin/assets/recharge_record-DGzsXulv.js similarity index 95% rename from server/public/admin/assets/recharge_record-DUGG7Fe5.js rename to server/public/admin/assets/recharge_record-DGzsXulv.js index 9d5d0c331..52373c842 100644 --- a/server/public/admin/assets/recharge_record-DUGG7Fe5.js +++ b/server/public/admin/assets/recharge_record-DGzsXulv.js @@ -1 +1 @@ -import{L as $,D as F,B as I,C as O,Q as j,R as Q,i as S,K as q,N as A,O as G,M as H}from"./element-plus-DGP1XOrU.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{i as M,k as W}from"./index-fRv3NTFQ.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-D_pXjF5c.js";import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as v}from"./@vue/runtime-dom-DDAG46FW.js";import{j as V,k as Z}from"./finance-BnbY_luA.js";import{u as ee}from"./usePaging-DofycyjW.js";import{f as h,as as te,ak as c,I as ae,a as e,aN as l,O as p,aP as x,G as k,J as f,H as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as le,r as ne}from"./@vue/reactivity-DiY1c2vO.js";import{Q as C,o as se}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";const re={class:"flex items-center"},ie={class:"flex justify-end mt-4"},me=h({name:"rechargeRecord"}),tt=h({...me,setup(pe){const n=ne({sn:"",user_info:"",pay_way:"",pay_status:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:_,resetParams:E}=ee({fetchFun:V,params:n}),T=async b=>{await W.confirm("确认退款?"),await Z({recharge_id:b}),d()};return d(),(b,o)=>{const U=$,y=O,i=I,m=Q,g=j,B=Y,u=S,K=X,N=F,w=q,z=M,s=G,P=A,R=J,D=te("perms"),L=H;return c(),ae("div",null,[e(w,{class:"!border-none",shadow:"never"},{default:l(()=>[e(U,{type:"warning",title:"温馨提示:用户充值记录",closable:!1,"show-icon":""}),e(N,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:t(n),inline:!0},{default:l(()=>[e(i,{class:"w-[280px]",label:"充值单号"},{default:l(()=>[e(y,{modelValue:t(n).sn,"onUpdate:modelValue":o[0]||(o[0]=a=>t(n).sn=a),placeholder:"请输入充值单号",clearable:"",onKeyup:v(t(_),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"用户信息"},{default:l(()=>[e(y,{modelValue:t(n).user_info,"onUpdate:modelValue":o[1]||(o[1]=a=>t(n).user_info=a),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:v(t(_),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"支付方式"},{default:l(()=>[e(g,{modelValue:t(n).pay_way,"onUpdate:modelValue":o[2]||(o[2]=a=>t(n).pay_way=a)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"微信支付",value:2})]),_:1},8,["modelValue"])]),_:1}),e(i,{class:"w-[280px]",label:"支付状态"},{default:l(()=>[e(g,{modelValue:t(n).pay_status,"onUpdate:modelValue":o[3]||(o[3]=a=>t(n).pay_status=a)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"未支付",value:0}),e(m,{label:"已支付",value:1})]),_:1},8,["modelValue"])]),_:1}),e(i,{label:"下单时间"},{default:l(()=>[e(B,{startTime:t(n).start_time,"onUpdate:startTime":o[4]||(o[4]=a=>t(n).start_time=a),endTime:t(n).end_time,"onUpdate:endTime":o[5]||(o[5]=a=>t(n).end_time=a)},null,8,["startTime","endTime"])]),_:1}),e(i,null,{default:l(()=>[e(u,{type:"primary",onClick:t(_)},{default:l(()=>[...o[7]||(o[7]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:t(E)},{default:l(()=>[...o[8]||(o[8]=[p("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(V),params:t(n),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(w,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x((c(),k(P,{size:"large",data:t(r).lists},{default:l(()=>[e(s,{label:"用户信息","min-width":"160"},{default:l(({row:a})=>[f("div",re,[e(z,{class:"flex-none mr-2",src:a.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+C(a.nickname),1)])]),_:1}),e(s,{label:"充值单号",prop:"sn","min-width":"190"}),e(s,{label:"充值金额",prop:"order_amount","min-width":"100"}),e(s,{label:"支付方式",prop:"pay_way_text","min-width":"100"}),e(s,{label:"支付状态",prop:"","min-width":"100"},{default:l(({row:a})=>[f("span",{class:se({"text-error":a.pay_status==0})},C(a.pay_status_text),3)]),_:1}),e(s,{label:"提交时间",prop:"create_time","min-width":"180"}),e(s,{label:"支付时间",prop:"pay_time","min-width":"180"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[a.pay_status==1?x((c(),k(u,{key:0,type:"primary",link:"",disabled:a.refund_status==1,onClick:de=>T(a.id)},{default:l(()=>[...o[9]||(o[9]=[p(" 退款 ",-1)])]),_:1},8,["disabled","onClick"])),[[D,["recharge.recharge/refund"]]]):oe("",!0)]),_:1})]),_:1},8,["data"])),[[L,t(r).loading]]),f("div",ie,[e(R,{modelValue:t(r),"onUpdate:modelValue":o[6]||(o[6]=a=>le(r)?r.value=a:null),onChange:t(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{tt as default}; +import{L as $,D as F,B as I,C as O,Q as j,R as Q,i as S,K as q,N as A,O as G,M as H}from"./element-plus-DGP1XOrU.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{i as M,k as W}from"./index-J_eFER10.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-f4EtGGU-.js";import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as v}from"./@vue/runtime-dom-DDAG46FW.js";import{j as V,k as Z}from"./finance-Dc98hQLW.js";import{u as ee}from"./usePaging-DofycyjW.js";import{f as h,as as te,ak as c,I as ae,a as e,aN as l,O as p,aP as x,G as k,J as f,H as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as le,r as ne}from"./@vue/reactivity-DiY1c2vO.js";import{Q as C,o as se}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";const re={class:"flex items-center"},ie={class:"flex justify-end mt-4"},me=h({name:"rechargeRecord"}),tt=h({...me,setup(pe){const n=ne({sn:"",user_info:"",pay_way:"",pay_status:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:_,resetParams:E}=ee({fetchFun:V,params:n}),T=async b=>{await W.confirm("确认退款?"),await Z({recharge_id:b}),d()};return d(),(b,o)=>{const U=$,y=O,i=I,m=Q,g=j,B=Y,u=S,K=X,N=F,w=q,z=M,s=G,P=A,R=J,D=te("perms"),L=H;return c(),ae("div",null,[e(w,{class:"!border-none",shadow:"never"},{default:l(()=>[e(U,{type:"warning",title:"温馨提示:用户充值记录",closable:!1,"show-icon":""}),e(N,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:t(n),inline:!0},{default:l(()=>[e(i,{class:"w-[280px]",label:"充值单号"},{default:l(()=>[e(y,{modelValue:t(n).sn,"onUpdate:modelValue":o[0]||(o[0]=a=>t(n).sn=a),placeholder:"请输入充值单号",clearable:"",onKeyup:v(t(_),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"用户信息"},{default:l(()=>[e(y,{modelValue:t(n).user_info,"onUpdate:modelValue":o[1]||(o[1]=a=>t(n).user_info=a),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:v(t(_),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"支付方式"},{default:l(()=>[e(g,{modelValue:t(n).pay_way,"onUpdate:modelValue":o[2]||(o[2]=a=>t(n).pay_way=a)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"微信支付",value:2})]),_:1},8,["modelValue"])]),_:1}),e(i,{class:"w-[280px]",label:"支付状态"},{default:l(()=>[e(g,{modelValue:t(n).pay_status,"onUpdate:modelValue":o[3]||(o[3]=a=>t(n).pay_status=a)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"未支付",value:0}),e(m,{label:"已支付",value:1})]),_:1},8,["modelValue"])]),_:1}),e(i,{label:"下单时间"},{default:l(()=>[e(B,{startTime:t(n).start_time,"onUpdate:startTime":o[4]||(o[4]=a=>t(n).start_time=a),endTime:t(n).end_time,"onUpdate:endTime":o[5]||(o[5]=a=>t(n).end_time=a)},null,8,["startTime","endTime"])]),_:1}),e(i,null,{default:l(()=>[e(u,{type:"primary",onClick:t(_)},{default:l(()=>[...o[7]||(o[7]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:t(E)},{default:l(()=>[...o[8]||(o[8]=[p("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(V),params:t(n),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(w,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x((c(),k(P,{size:"large",data:t(r).lists},{default:l(()=>[e(s,{label:"用户信息","min-width":"160"},{default:l(({row:a})=>[f("div",re,[e(z,{class:"flex-none mr-2",src:a.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+C(a.nickname),1)])]),_:1}),e(s,{label:"充值单号",prop:"sn","min-width":"190"}),e(s,{label:"充值金额",prop:"order_amount","min-width":"100"}),e(s,{label:"支付方式",prop:"pay_way_text","min-width":"100"}),e(s,{label:"支付状态",prop:"","min-width":"100"},{default:l(({row:a})=>[f("span",{class:se({"text-error":a.pay_status==0})},C(a.pay_status_text),3)]),_:1}),e(s,{label:"提交时间",prop:"create_time","min-width":"180"}),e(s,{label:"支付时间",prop:"pay_time","min-width":"180"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[a.pay_status==1?x((c(),k(u,{key:0,type:"primary",link:"",disabled:a.refund_status==1,onClick:de=>T(a.id)},{default:l(()=>[...o[9]||(o[9]=[p(" 退款 ",-1)])]),_:1},8,["disabled","onClick"])),[[D,["recharge.recharge/refund"]]]):oe("",!0)]),_:1})]),_:1},8,["data"])),[[L,t(r).loading]]),f("div",ie,[e(R,{modelValue:t(r),"onUpdate:modelValue":o[6]||(o[6]=a=>le(r)?r.value=a:null),onChange:t(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{tt as default}; diff --git a/server/public/admin/assets/refund-log-BQONpIM2.js b/server/public/admin/assets/refund-log-yhGQ0xn1.js similarity index 86% rename from server/public/admin/assets/refund-log-BQONpIM2.js rename to server/public/admin/assets/refund-log-yhGQ0xn1.js index 917d87125..a57ec7e34 100644 --- a/server/public/admin/assets/refund-log-BQONpIM2.js +++ b/server/public/admin/assets/refund-log-yhGQ0xn1.js @@ -1 +1 @@ -import{_ as o}from"./refund-log.vue_vue_type_script_setup_true_lang-7r7Aq5OJ.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./finance-BnbY_luA.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./refund-log.vue_vue_type_script_setup_true_lang-Dtrt6_4q.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./finance-Dc98hQLW.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-7r7Aq5OJ.js b/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-Dtrt6_4q.js similarity index 96% rename from server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-7r7Aq5OJ.js rename to server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-Dtrt6_4q.js index 12ad4028f..1ecf2e8d6 100644 --- a/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-7r7Aq5OJ.js +++ b/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-Dtrt6_4q.js @@ -1 +1 @@ -import{W as E,N,O as B,U as C,M as L}from"./element-plus-DGP1XOrU.js";import{r as T}from"./finance-BnbY_luA.js";import{f as D,w as I,ak as s,I as O,a as o,aN as a,aP as R,G as r,O as d,H as c,A as U}from"./@vue/runtime-core-C6bnekPw.js";import{a as z,y as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";const A={class:"code-preview"},S=D({__name:"refund-log",props:{modelValue:{type:Boolean},refundId:{}},emits:["update:modelValue"],setup(v,{emit:y}){const i=h(!1),_=h([]),f=v,V=y,n=U({get(){return f.modelValue},set(t){V("update:modelValue",t)}}),b=async()=>{i.value=!0,_.value=[];try{const t=await T({record_id:f.refundId});_.value=t}catch(t){console.log(t)}i.value=!1};return I(n,t=>{t&&b()}),(t,g)=>{const l=B,m=C,w=N,x=E,k=L;return s(),O("div",A,[o(x,{modelValue:p(n),"onUpdate:modelValue":g[0]||(g[0]=e=>z(n)?n.value=e:null),width:"760px",title:"退款日志"},{default:a(()=>[R((s(),r(w,{size:"large",data:p(_),height:"500"},{default:a(()=>[o(l,{label:"流水单号",prop:"sn","min-width":"190"}),o(l,{label:"退款金额","min-width":"110"},{default:a(({row:e})=>[d(" ¥"+u(e.refund_amount),1)]),_:1}),o(l,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:e})=>[e.refund_status==0?(s(),r(m,{key:0,type:"warning"},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0),e.refund_status==1?(s(),r(m,{key:1},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0),e.refund_status==2?(s(),r(m,{key:2,type:"danger"},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0)]),_:1}),o(l,{label:"记录时间",prop:"create_time","min-width":"180"}),o(l,{label:"操作人",prop:"handler","min-width":"120"})]),_:1},8,["data"])),[[k,p(i)]])]),_:1},8,["modelValue"])])}}});export{S as _}; +import{W as E,N,O as B,U as C,M as L}from"./element-plus-DGP1XOrU.js";import{r as T}from"./finance-Dc98hQLW.js";import{f as D,w as I,ak as s,I as O,a as o,aN as a,aP as R,G as r,O as d,H as c,A as U}from"./@vue/runtime-core-C6bnekPw.js";import{a as z,y as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";const A={class:"code-preview"},S=D({__name:"refund-log",props:{modelValue:{type:Boolean},refundId:{}},emits:["update:modelValue"],setup(v,{emit:y}){const i=h(!1),_=h([]),f=v,V=y,n=U({get(){return f.modelValue},set(t){V("update:modelValue",t)}}),b=async()=>{i.value=!0,_.value=[];try{const t=await T({record_id:f.refundId});_.value=t}catch(t){console.log(t)}i.value=!1};return I(n,t=>{t&&b()}),(t,g)=>{const l=B,m=C,w=N,x=E,k=L;return s(),O("div",A,[o(x,{modelValue:p(n),"onUpdate:modelValue":g[0]||(g[0]=e=>z(n)?n.value=e:null),width:"760px",title:"退款日志"},{default:a(()=>[R((s(),r(w,{size:"large",data:p(_),height:"500"},{default:a(()=>[o(l,{label:"流水单号",prop:"sn","min-width":"190"}),o(l,{label:"退款金额","min-width":"110"},{default:a(({row:e})=>[d(" ¥"+u(e.refund_amount),1)]),_:1}),o(l,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:e})=>[e.refund_status==0?(s(),r(m,{key:0,type:"warning"},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0),e.refund_status==1?(s(),r(m,{key:1},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0),e.refund_status==2?(s(),r(m,{key:2,type:"danger"},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0)]),_:1}),o(l,{label:"记录时间",prop:"create_time","min-width":"180"}),o(l,{label:"操作人",prop:"handler","min-width":"120"})]),_:1},8,["data"])),[[k,p(i)]])]),_:1},8,["modelValue"])])}}});export{S as _}; diff --git a/server/public/admin/assets/refund_record-db8KZnbz.js b/server/public/admin/assets/refund_record-CZUgsvAx.js similarity index 95% rename from server/public/admin/assets/refund_record-db8KZnbz.js rename to server/public/admin/assets/refund_record-CZUgsvAx.js index 4639e6372..3bfcc3a66 100644 --- a/server/public/admin/assets/refund_record-db8KZnbz.js +++ b/server/public/admin/assets/refund_record-CZUgsvAx.js @@ -1 +1 @@ -import{K as Z,D as ee,B as te,C as ne,Q as ae,R as le,i as oe,m as se,l as re,N as ie,O as de,U as me,M as ue}from"./element-plus-DGP1XOrU.js";import{_ as pe}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{i as _e,k as fe}from"./index-fRv3NTFQ.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as K}from"./@vue/runtime-dom-DDAG46FW.js";import{l as ge,m as ye,n as be}from"./finance-BnbY_luA.js";import{u as ve}from"./usePaging-DofycyjW.js";import{_ as we}from"./refund-log.vue_vue_type_script_setup_true_lang-7r7Aq5OJ.js";import{f as S,as as xe,ak as i,I as D,a as t,aN as a,J as r,O as d,F as Ve,ap as ke,G as _,aP as h,H as w}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as R,r as F,n as x}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ce={class:"flex flex-wrap"},Te={class:"w-1/2 md:w-1/4"},Ee={class:"text-6xl"},Ke={class:"w-1/2 md:w-1/4"},he={class:"text-6xl"},Re={class:"w-1/2 md:w-1/4"},Ue={class:"text-6xl"},$e={class:"w-1/2 md:w-1/4"},Be={class:"text-6xl"},Le={class:"flex items-center"},Ne={class:"flex justify-end mt-4"},Pe=S({name:"refundRecord"}),Tt=S({...Pe,setup(De){const o=F({sn:"",order_sn:"",user_info:"",refund_type:"",start_time:"",end_time:"",refund_status:""}),g=F({total:0,ing:0,success:0,error:0}),b=x(!1),U=x(0),V=x(0),$=x([{name:"全部",type:"",numKey:"total"},{name:"退款中",type:0,numKey:"ing"},{name:"退款成功",type:1,numKey:"success"},{name:"退款失败",type:2,numKey:"error"}]),{pager:f,getLists:k,resetPage:y,resetParams:I}=ve({fetchFun:ge,params:o}),O=async u=>{await fe.confirm("确认重新退款?"),await ye({record_id:u}),k(),B()},j=async u=>{b.value=!0,U.value=u},A=u=>{o.refund_status=$.value[u].type,y()},B=async()=>{const u=await be();Object.assign(g,u)};return B(),k(),(u,e)=>{const C=Z,T=ne,c=te,L=le,Q=ae,q=ce,v=oe,z=ee,p=de,G=_e,E=me,H=ie,J=re,M=se,W=pe,N=xe("perms"),X=ue;return i(),D("div",null,[t(C,{class:"!border-none mb-4",shadow:"never"},{default:a(()=>[r("div",Ce,[r("div",Te,[e[9]||(e[9]=r("div",{class:"leading-10"},"累计退款金额 (元)",-1)),r("div",Ee,m(n(g).total),1)]),r("div",Ke,[e[10]||(e[10]=r("div",{class:"leading-10"},"退款中金额 (元)",-1)),r("div",he,m(n(g).ing),1)]),r("div",Re,[e[11]||(e[11]=r("div",{class:"leading-10"},"退款成功金额 (元)",-1)),r("div",Ue,m(n(g).success),1)]),r("div",$e,[e[12]||(e[12]=r("div",{class:"leading-10"},"退款失败金额 (元)",-1)),r("div",Be,m(n(g).error),1)])])]),_:1}),t(C,{class:"!border-none",shadow:"never"},{default:a(()=>[t(z,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:n(o),inline:!0},{default:a(()=>[t(c,{class:"w-[280px]",label:"退款单号"},{default:a(()=>[t(T,{modelValue:n(o).sn,"onUpdate:modelValue":e[0]||(e[0]=l=>n(o).sn=l),placeholder:"请输入退款单号",clearable:"",onKeyup:K(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"来源单号"},{default:a(()=>[t(T,{modelValue:n(o).order_sn,"onUpdate:modelValue":e[1]||(e[1]=l=>n(o).order_sn=l),placeholder:"请输入来源单号",clearable:"",onKeyup:K(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"用户信息"},{default:a(()=>[t(T,{modelValue:n(o).user_info,"onUpdate:modelValue":e[2]||(e[2]=l=>n(o).user_info=l),placeholder:"请输入用户信息",clearable:"",onKeyup:K(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"退款类型"},{default:a(()=>[t(Q,{modelValue:n(o).refund_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(o).refund_type=l)},{default:a(()=>[t(L,{label:"全部",value:""}),t(L,{label:"后台退款",value:1})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"记录时间"},{default:a(()=>[t(q,{startTime:n(o).start_time,"onUpdate:startTime":e[4]||(e[4]=l=>n(o).start_time=l),endTime:n(o).end_time,"onUpdate:endTime":e[5]||(e[5]=l=>n(o).end_time=l)},null,8,["startTime","endTime"])]),_:1}),t(c,null,{default:a(()=>[t(v,{type:"primary",onClick:n(y)},{default:a(()=>[...e[13]||(e[13]=[d("查询",-1)])]),_:1},8,["onClick"]),t(v,{onClick:n(I)},{default:a(()=>[...e[14]||(e[14]=[d("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[t(M,{modelValue:n(V),"onUpdate:modelValue":e[6]||(e[6]=l=>R(V)?V.value=l:null),onTabChange:A},{default:a(()=>[(i(!0),D(Ve,null,ke(n($),(l,P)=>(i(),_(J,{label:`${l.name}(${n(f).extend[l.numKey]??0})`,name:P,key:P},{default:a(()=>[h((i(),_(H,{size:"large",data:n(f).lists},{default:a(()=>[t(p,{label:"退款单号",prop:"sn","min-width":"190"}),t(p,{label:"用户信息","min-width":"160"},{default:a(({row:s})=>[r("div",Le,[t(G,{class:"flex-none mr-2",src:s.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),d(" "+m(s.nickname),1)])]),_:1}),t(p,{label:"来源单号",prop:"order_sn","min-width":"190"}),t(p,{label:"退款金额","min-width":"100"},{default:a(({row:s})=>[d(" ¥ "+m(s.refund_amount),1)]),_:1}),t(p,{label:"退款类型",prop:"refund_type_text","min-width":"100"}),t(p,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:s})=>[s.refund_status==0?(i(),_(E,{key:0,type:"warning"},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0),s.refund_status==1?(i(),_(E,{key:1},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0),s.refund_status==2?(i(),_(E,{key:2,type:"danger"},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0)]),_:1}),t(p,{label:"记录时间",prop:"create_time","min-width":"180"}),t(p,{label:"操作",width:"180",fixed:"right"},{default:a(({row:s})=>[h((i(),_(v,{type:"primary",link:"",onClick:Y=>j(s.id)},{default:a(()=>[...e[15]||(e[15]=[d(" 退款日志 ",-1)])]),_:1},8,["onClick"])),[[N,["finance.refund/log"]]]),s.refund_status==2?h((i(),_(v,{key:0,type:"primary",link:"",onClick:Y=>O(s.id)},{default:a(()=>[...e[16]||(e[16]=[d(" 重新退款 ",-1)])]),_:1},8,["onClick"])),[[N,["recharge.recharge/refundAgain"]]]):w("",!0)]),_:1})]),_:1},8,["data"])),[[X,n(f).loading]])]),_:1},8,["label","name"]))),128))]),_:1},8,["modelValue"]),r("div",Ne,[t(W,{modelValue:n(f),"onUpdate:modelValue":e[7]||(e[7]=l=>R(f)?f.value=l:null),onChange:n(k)},null,8,["modelValue","onChange"])])]),_:1}),t(we,{modelValue:n(b),"onUpdate:modelValue":e[8]||(e[8]=l=>R(b)?b.value=l:null),"refund-id":n(U)},null,8,["modelValue","refund-id"])])}}});export{Tt as default}; +import{K as Z,D as ee,B as te,C as ne,Q as ae,R as le,i as oe,m as se,l as re,N as ie,O as de,U as me,M as ue}from"./element-plus-DGP1XOrU.js";import{_ as pe}from"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import{i as _e,k as fe}from"./index-J_eFER10.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-CwVf0m5S.js";import{w as K}from"./@vue/runtime-dom-DDAG46FW.js";import{l as ge,m as ye,n as be}from"./finance-Dc98hQLW.js";import{u as ve}from"./usePaging-DofycyjW.js";import{_ as we}from"./refund-log.vue_vue_type_script_setup_true_lang-Dtrt6_4q.js";import{f as S,as as xe,ak as i,I as D,a as t,aN as a,J as r,O as d,F as Ve,ap as ke,G as _,aP as h,H as w}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as R,r as F,n as x}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ce={class:"flex flex-wrap"},Te={class:"w-1/2 md:w-1/4"},Ee={class:"text-6xl"},Ke={class:"w-1/2 md:w-1/4"},he={class:"text-6xl"},Re={class:"w-1/2 md:w-1/4"},Ue={class:"text-6xl"},$e={class:"w-1/2 md:w-1/4"},Be={class:"text-6xl"},Le={class:"flex items-center"},Ne={class:"flex justify-end mt-4"},Pe=S({name:"refundRecord"}),Tt=S({...Pe,setup(De){const o=F({sn:"",order_sn:"",user_info:"",refund_type:"",start_time:"",end_time:"",refund_status:""}),g=F({total:0,ing:0,success:0,error:0}),b=x(!1),U=x(0),V=x(0),$=x([{name:"全部",type:"",numKey:"total"},{name:"退款中",type:0,numKey:"ing"},{name:"退款成功",type:1,numKey:"success"},{name:"退款失败",type:2,numKey:"error"}]),{pager:f,getLists:k,resetPage:y,resetParams:I}=ve({fetchFun:ge,params:o}),O=async u=>{await fe.confirm("确认重新退款?"),await ye({record_id:u}),k(),B()},j=async u=>{b.value=!0,U.value=u},A=u=>{o.refund_status=$.value[u].type,y()},B=async()=>{const u=await be();Object.assign(g,u)};return B(),k(),(u,e)=>{const C=Z,T=ne,c=te,L=le,Q=ae,q=ce,v=oe,z=ee,p=de,G=_e,E=me,H=ie,J=re,M=se,W=pe,N=xe("perms"),X=ue;return i(),D("div",null,[t(C,{class:"!border-none mb-4",shadow:"never"},{default:a(()=>[r("div",Ce,[r("div",Te,[e[9]||(e[9]=r("div",{class:"leading-10"},"累计退款金额 (元)",-1)),r("div",Ee,m(n(g).total),1)]),r("div",Ke,[e[10]||(e[10]=r("div",{class:"leading-10"},"退款中金额 (元)",-1)),r("div",he,m(n(g).ing),1)]),r("div",Re,[e[11]||(e[11]=r("div",{class:"leading-10"},"退款成功金额 (元)",-1)),r("div",Ue,m(n(g).success),1)]),r("div",$e,[e[12]||(e[12]=r("div",{class:"leading-10"},"退款失败金额 (元)",-1)),r("div",Be,m(n(g).error),1)])])]),_:1}),t(C,{class:"!border-none",shadow:"never"},{default:a(()=>[t(z,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:n(o),inline:!0},{default:a(()=>[t(c,{class:"w-[280px]",label:"退款单号"},{default:a(()=>[t(T,{modelValue:n(o).sn,"onUpdate:modelValue":e[0]||(e[0]=l=>n(o).sn=l),placeholder:"请输入退款单号",clearable:"",onKeyup:K(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"来源单号"},{default:a(()=>[t(T,{modelValue:n(o).order_sn,"onUpdate:modelValue":e[1]||(e[1]=l=>n(o).order_sn=l),placeholder:"请输入来源单号",clearable:"",onKeyup:K(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"用户信息"},{default:a(()=>[t(T,{modelValue:n(o).user_info,"onUpdate:modelValue":e[2]||(e[2]=l=>n(o).user_info=l),placeholder:"请输入用户信息",clearable:"",onKeyup:K(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"退款类型"},{default:a(()=>[t(Q,{modelValue:n(o).refund_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(o).refund_type=l)},{default:a(()=>[t(L,{label:"全部",value:""}),t(L,{label:"后台退款",value:1})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"记录时间"},{default:a(()=>[t(q,{startTime:n(o).start_time,"onUpdate:startTime":e[4]||(e[4]=l=>n(o).start_time=l),endTime:n(o).end_time,"onUpdate:endTime":e[5]||(e[5]=l=>n(o).end_time=l)},null,8,["startTime","endTime"])]),_:1}),t(c,null,{default:a(()=>[t(v,{type:"primary",onClick:n(y)},{default:a(()=>[...e[13]||(e[13]=[d("查询",-1)])]),_:1},8,["onClick"]),t(v,{onClick:n(I)},{default:a(()=>[...e[14]||(e[14]=[d("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[t(M,{modelValue:n(V),"onUpdate:modelValue":e[6]||(e[6]=l=>R(V)?V.value=l:null),onTabChange:A},{default:a(()=>[(i(!0),D(Ve,null,ke(n($),(l,P)=>(i(),_(J,{label:`${l.name}(${n(f).extend[l.numKey]??0})`,name:P,key:P},{default:a(()=>[h((i(),_(H,{size:"large",data:n(f).lists},{default:a(()=>[t(p,{label:"退款单号",prop:"sn","min-width":"190"}),t(p,{label:"用户信息","min-width":"160"},{default:a(({row:s})=>[r("div",Le,[t(G,{class:"flex-none mr-2",src:s.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),d(" "+m(s.nickname),1)])]),_:1}),t(p,{label:"来源单号",prop:"order_sn","min-width":"190"}),t(p,{label:"退款金额","min-width":"100"},{default:a(({row:s})=>[d(" ¥ "+m(s.refund_amount),1)]),_:1}),t(p,{label:"退款类型",prop:"refund_type_text","min-width":"100"}),t(p,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:s})=>[s.refund_status==0?(i(),_(E,{key:0,type:"warning"},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0),s.refund_status==1?(i(),_(E,{key:1},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0),s.refund_status==2?(i(),_(E,{key:2,type:"danger"},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0)]),_:1}),t(p,{label:"记录时间",prop:"create_time","min-width":"180"}),t(p,{label:"操作",width:"180",fixed:"right"},{default:a(({row:s})=>[h((i(),_(v,{type:"primary",link:"",onClick:Y=>j(s.id)},{default:a(()=>[...e[15]||(e[15]=[d(" 退款日志 ",-1)])]),_:1},8,["onClick"])),[[N,["finance.refund/log"]]]),s.refund_status==2?h((i(),_(v,{key:0,type:"primary",link:"",onClick:Y=>O(s.id)},{default:a(()=>[...e[16]||(e[16]=[d(" 重新退款 ",-1)])]),_:1},8,["onClick"])),[[N,["recharge.recharge/refundAgain"]]]):w("",!0)]),_:1})]),_:1},8,["data"])),[[X,n(f).loading]])]),_:1},8,["label","name"]))),128))]),_:1},8,["modelValue"]),r("div",Ne,[t(W,{modelValue:n(f),"onUpdate:modelValue":e[7]||(e[7]=l=>R(f)?f.value=l:null),onChange:n(k)},null,8,["modelValue","onChange"])])]),_:1}),t(we,{modelValue:n(b),"onUpdate:modelValue":e[8]||(e[8]=l=>R(b)?b.value=l:null),"refund-id":n(U)},null,8,["modelValue","refund-id"])])}}});export{Tt as default}; diff --git a/server/public/admin/assets/relations-add-Wufgegpo.js b/server/public/admin/assets/relations-add-BrrivRhR.js similarity index 79% rename from server/public/admin/assets/relations-add-Wufgegpo.js rename to server/public/admin/assets/relations-add-BrrivRhR.js index dedbb804e..79d803277 100644 --- a/server/public/admin/assets/relations-add-Wufgegpo.js +++ b/server/public/admin/assets/relations-add-BrrivRhR.js @@ -1 +1 @@ -import{_ as o}from"./relations-add.vue_vue_type_script_setup_true_lang-B8EGM77l.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-DhkjCxGq.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./useDictOptions-Cx2-jvcM.js";export{o as default}; +import{_ as o}from"./relations-add.vue_vue_type_script_setup_true_lang-BdFhe7ij.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-MrNYrKx7.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./useDictOptions-CU1TLMPn.js";export{o as default}; diff --git a/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-B8EGM77l.js b/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-BdFhe7ij.js similarity index 93% rename from server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-B8EGM77l.js rename to server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-BdFhe7ij.js index e34546c7d..fc95cac1a 100644 --- a/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-B8EGM77l.js +++ b/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-BdFhe7ij.js @@ -1 +1 @@ -import{D as A,B as I,Q as N,R as O,C as S}from"./element-plus-DGP1XOrU.js";import{a as $}from"./code-DhkjCxGq.js";import{_ as G}from"./index-D5PquIeg.js";import{u as L}from"./useDictOptions-Cx2-jvcM.js";import{f as M,ak as u,I as m,a as t,aN as n,F as i,ap as _,G as y,A as Q}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as g,r as T,n as j}from"./@vue/reactivity-DiY1c2vO.js";const z={class:"edit-popup"},Y=M({__name:"relations-add",props:{column:{type:Array,default:()=>[]},types:{type:Array,default:()=>[]}},emits:["add","close","edit"],setup(k,{expose:x,emit:R}){const v=R,V=g(),d=g(),p=j("add"),q=Q(()=>p.value=="edit"?"编辑关联":"新增关联"),o=T({name:"",model:"",type:"",local_key:"",foreign_key:""}),C={name:[{required:!0,message:"请输入关联名称"}],type:[{required:!0,message:"请选择关联类型"}],model:[{required:!0,message:"请选择关联模型"}],local_key:[{required:!0,message:"请选择关联健"}],foreign_key:[{required:!0,message:"请输入外键"}]},{optionsData:E}=L({models:{api:$}}),w=async()=>{var r,e;await((r=V.value)==null?void 0:r.validate()),(e=d.value)==null||e.close(),v(p.value,o)},D=(r="add")=>{var e;p.value=r,(e=d.value)==null||e.open()},F=r=>{for(const e in o)r[e]!=null&&r[e]!=null&&(o[e]=r[e])},U=()=>{v("close")};return x({open:D,setFormData:F}),(r,e)=>{const f=O,c=N,s=I,b=S,B=A;return u(),m("div",z,[t(G,{ref_key:"popupRef",ref:d,title:a(q),async:!0,width:"550px",onConfirm:w,onClose:U},{default:n(()=>[t(B,{ref_key:"formRef",ref:V,model:a(o),"label-width":"84px",rules:C},{default:n(()=>[t(s,{label:"关联类型",prop:"type"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).type,"onUpdate:modelValue":e[0]||(e[0]=l=>a(o).type=l),placeholder:"请选择关联类型"},{default:n(()=>[(u(!0),m(i,null,_(k.types,(l,h)=>(u(),y(f,{key:h,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"关联名称",prop:"name"},{default:n(()=>[t(b,{modelValue:a(o).name,"onUpdate:modelValue":e[1]||(e[1]=l=>a(o).name=l),placeholder:"请输入关联名称"},null,8,["modelValue"])]),_:1}),t(s,{label:"关联模型",prop:"model"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).model,"onUpdate:modelValue":e[2]||(e[2]=l=>a(o).model=l),placeholder:"请选择关联模型"},{default:n(()=>[(u(!0),m(i,null,_(a(E).models,l=>(u(),y(f,{label:l,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"关联健",prop:"local_key"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).local_key,"onUpdate:modelValue":e[3]||(e[3]=l=>a(o).local_key=l),clearable:"",placeholder:"请选择关联健"},{default:n(()=>[(u(!0),m(i,null,_(k.column,l=>(u(),y(f,{key:l.id,value:l.column_name,label:`${l.column_name}:${l.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"外键",prop:"foreign_key"},{default:n(()=>[t(b,{modelValue:a(o).foreign_key,"onUpdate:modelValue":e[4]||(e[4]=l=>a(o).foreign_key=l),placeholder:"关联表外键或中间表的外键"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Y as _}; +import{D as A,B as I,Q as N,R as O,C as S}from"./element-plus-DGP1XOrU.js";import{a as $}from"./code-MrNYrKx7.js";import{_ as G}from"./index-BVjWjU3h.js";import{u as L}from"./useDictOptions-CU1TLMPn.js";import{f as M,ak as u,I as m,a as t,aN as n,F as i,ap as _,G as y,A as Q}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as g,r as T,n as j}from"./@vue/reactivity-DiY1c2vO.js";const z={class:"edit-popup"},Y=M({__name:"relations-add",props:{column:{type:Array,default:()=>[]},types:{type:Array,default:()=>[]}},emits:["add","close","edit"],setup(k,{expose:x,emit:R}){const v=R,V=g(),d=g(),p=j("add"),q=Q(()=>p.value=="edit"?"编辑关联":"新增关联"),o=T({name:"",model:"",type:"",local_key:"",foreign_key:""}),C={name:[{required:!0,message:"请输入关联名称"}],type:[{required:!0,message:"请选择关联类型"}],model:[{required:!0,message:"请选择关联模型"}],local_key:[{required:!0,message:"请选择关联健"}],foreign_key:[{required:!0,message:"请输入外键"}]},{optionsData:E}=L({models:{api:$}}),w=async()=>{var r,e;await((r=V.value)==null?void 0:r.validate()),(e=d.value)==null||e.close(),v(p.value,o)},D=(r="add")=>{var e;p.value=r,(e=d.value)==null||e.open()},F=r=>{for(const e in o)r[e]!=null&&r[e]!=null&&(o[e]=r[e])},U=()=>{v("close")};return x({open:D,setFormData:F}),(r,e)=>{const f=O,c=N,s=I,b=S,B=A;return u(),m("div",z,[t(G,{ref_key:"popupRef",ref:d,title:a(q),async:!0,width:"550px",onConfirm:w,onClose:U},{default:n(()=>[t(B,{ref_key:"formRef",ref:V,model:a(o),"label-width":"84px",rules:C},{default:n(()=>[t(s,{label:"关联类型",prop:"type"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).type,"onUpdate:modelValue":e[0]||(e[0]=l=>a(o).type=l),placeholder:"请选择关联类型"},{default:n(()=>[(u(!0),m(i,null,_(k.types,(l,h)=>(u(),y(f,{key:h,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"关联名称",prop:"name"},{default:n(()=>[t(b,{modelValue:a(o).name,"onUpdate:modelValue":e[1]||(e[1]=l=>a(o).name=l),placeholder:"请输入关联名称"},null,8,["modelValue"])]),_:1}),t(s,{label:"关联模型",prop:"model"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).model,"onUpdate:modelValue":e[2]||(e[2]=l=>a(o).model=l),placeholder:"请选择关联模型"},{default:n(()=>[(u(!0),m(i,null,_(a(E).models,l=>(u(),y(f,{label:l,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"关联健",prop:"local_key"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).local_key,"onUpdate:modelValue":e[3]||(e[3]=l=>a(o).local_key=l),clearable:"",placeholder:"请选择关联健"},{default:n(()=>[(u(!0),m(i,null,_(k.column,l=>(u(),y(f,{key:l.id,value:l.column_name,label:`${l.column_name}:${l.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"外键",prop:"foreign_key"},{default:n(()=>[t(b,{modelValue:a(o).foreign_key,"onUpdate:modelValue":e[4]||(e[4]=l=>a(o).foreign_key=l),placeholder:"关联表外键或中间表的外键"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Y as _}; diff --git a/server/public/admin/assets/rich_text-ocUaHwdI.js b/server/public/admin/assets/rich_text-Cx8Gf7bM.js similarity index 82% rename from server/public/admin/assets/rich_text-ocUaHwdI.js rename to server/public/admin/assets/rich_text-Cx8Gf7bM.js index 08be39ebe..807cbc511 100644 --- a/server/public/admin/assets/rich_text-ocUaHwdI.js +++ b/server/public/admin/assets/rich_text-Cx8Gf7bM.js @@ -1 +1 @@ -import{K as l}from"./element-plus-DGP1XOrU.js";import{_ as n}from"./index.vue_vue_type_style_index_0_lang-DZ1VD0du.js";import{f as s,ak as d,I as u,a as r,aN as a}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as _}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./picker-C0hwSppU.js";import"./index-D5PquIeg.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const Vo=s({__name:"rich_text",setup(c){const o=_({value1:"",value2:""});return(f,t)=>{const i=n,e=l;return d(),u("div",null,[r(e,{header:"基础使用",shadow:"never",class:"!border-none"},{default:a(()=>[r(i,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=p=>m(o).value1=p),height:"500px"},null,8,["modelValue"])]),_:1}),r(e,{header:"简洁模式",shadow:"never",class:"!border-none mt-4"},{default:a(()=>[r(i,{modelValue:m(o).value2,"onUpdate:modelValue":t[1]||(t[1]=p=>m(o).value2=p),height:"500px",mode:"simple"},null,8,["modelValue"])]),_:1})])}}});export{Vo as default}; +import{K as l}from"./element-plus-DGP1XOrU.js";import{_ as n}from"./index.vue_vue_type_style_index_0_lang-54f2yh7y.js";import{f as s,ak as d,I as u,a as r,aN as a}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as _}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./picker-lbwHqE-a.js";import"./index-BVjWjU3h.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const Vo=s({__name:"rich_text",setup(c){const o=_({value1:"",value2:""});return(f,t)=>{const i=n,e=l;return d(),u("div",null,[r(e,{header:"基础使用",shadow:"never",class:"!border-none"},{default:a(()=>[r(i,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=p=>m(o).value1=p),height:"500px"},null,8,["modelValue"])]),_:1}),r(e,{header:"简洁模式",shadow:"never",class:"!border-none mt-4"},{default:a(()=>[r(i,{modelValue:m(o).value2,"onUpdate:modelValue":t[1]||(t[1]=p=>m(o).value2=p),height:"500px",mode:"simple"},null,8,["modelValue"])]),_:1})])}}});export{Vo as default}; diff --git a/server/public/admin/assets/role-B18Xi51b.js b/server/public/admin/assets/role-hMw9X8iI.js similarity index 83% rename from server/public/admin/assets/role-B18Xi51b.js rename to server/public/admin/assets/role-hMw9X8iI.js index eeb47433f..458d2f7c5 100644 --- a/server/public/admin/assets/role-B18Xi51b.js +++ b/server/public/admin/assets/role-hMw9X8iI.js @@ -1 +1 @@ -import{r as t}from"./index-fRv3NTFQ.js";function l(r){return t.get({url:"/auth.role/lists",params:r})}function o(r){return t.get({url:"/auth.role/all",params:r})}function u(r){return t.post({url:"/auth.role/add",params:r})}function n(r){return t.post({url:"/auth.role/edit",params:r})}function a(r){return t.post({url:"/auth.role/delete",params:r})}export{n as a,u as b,l as c,a as d,o as r}; +import{r as t}from"./index-J_eFER10.js";function l(r){return t.get({url:"/auth.role/lists",params:r})}function o(r){return t.get({url:"/auth.role/all",params:r})}function u(r){return t.post({url:"/auth.role/add",params:r})}function n(r){return t.post({url:"/auth.role/edit",params:r})}function a(r){return t.post({url:"/auth.role/delete",params:r})}export{n as a,u as b,l as c,a as d,o as r}; diff --git a/server/public/admin/assets/roster-CFwVYkME.js b/server/public/admin/assets/roster-BL5e33GP.js similarity index 99% rename from server/public/admin/assets/roster-CFwVYkME.js rename to server/public/admin/assets/roster-BL5e33GP.js index b97502ab7..25d8b89b9 100644 --- a/server/public/admin/assets/roster-CFwVYkME.js +++ b/server/public/admin/assets/roster-BL5e33GP.js @@ -1 +1 @@ -import{D as qe,B as Ue,C as Se,i as $e,L as Ie,N as Me,O as Be,M as We,K as Ne,W as Re,ae as he,Q as Te,R as Le,h as Fe,G as Oe,J as Ae,S as Ge,af as je,H as ze,a as Pe}from"./element-plus-DGP1XOrU.js";import{d as M,g as He}from"./dayjs-DG77mNTn.js";import{k as m,_ as Je}from"./index-fRv3NTFQ.js";import{h as Qe,i as Ke,f as Xe,r as Ze,j as et}from"./doctor-BVLBwYIX.js";import{f as ae,b as tt,ak as f,I as k,a,aN as o,J as v,O as s,aP as at,G as B,F as h,ap as T,H as te,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{n as _}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y,o as lt}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ot={class:"doctor-roster p-4"},st={class:"flex justify-between items-center"},nt={class:"mb-4"},rt={class:"text-center mb-4 text-gray-600"},ut=["onClick"],dt={key:0,class:"text-xs text-gray-400 text-center py-2"},it={key:1,class:"space-y-1"},mt={class:"flex items-center gap-2 flex-wrap"},pt={class:"w-full space-y-2"},ft=ae({name:"doctorRoster"}),vt=ae({...ft,setup(_t){M.extend(He);const F=_(""),g=_(M().startOf("isoWeek")),O=_(!1),W=_(!1),V=_(null),x=_(""),P=_([]),U=_(!1),A=_(!1),d=_({id:null,doctorId:0,date:"",start_time:"09:00",end_time:"12:00",shift_type:"",slot_minutes:15,status:1,quota:0,max_patients:0,remark:""}),S=_(!1),G=_(!1),H=()=>[{start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0},{start_time:"14:00",end_time:"18:00",shift_type:"day",slot_minutes:15,quota:0}],r=_({doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:H()}),q=_([]),le=L(()=>{const t=F.value.trim();return t?q.value.filter(e=>e.doctorName.includes(t)):q.value}),oe=L(()=>!V.value||!x.value?"当日排班":`${V.value.doctorName} · ${x.value}`),se=L(()=>{const t=[],e=["周一","周二","周三","周四","周五","周六","周日"];for(let u=0;u<7;u++){const i=g.value.add(u,"day");t.push({date:i.format("YYYY-MM-DD"),label:`${e[u]} ${i.format("MM-DD")}`})}return t}),ne=L(()=>{const t=g.value.format("YYYY-MM-DD"),e=g.value.add(6,"day").format("YYYY-MM-DD");return`${t} 至 ${e}`});function J(t){return{1:"出诊",2:"停诊",3:"休息",4:"请假"}[t]??String(t)}function Q(t){return t==="day"?"白班":t==="night"?"夜班":"—"}function re(t){return t===1?"bg-emerald-50 text-emerald-800 border border-emerald-100":t===2?"bg-amber-50 text-amber-900 border border-amber-100":t===3?"bg-slate-100 text-slate-600 border border-slate-200":"bg-gray-100 text-gray-700 border border-gray-200"}function ue(t){const e=`${t.start_time}-${t.end_time}`,u=Q(t.shift_type),i=u!=="—"?` ${u}`:"";if(t.status===1){const n=t.quota>0?` 号源${t.quota}`:"";return`${e}${i} 出诊${n}`}return`${e}${i} ${J(t.status)}`}function K(t,e){return t.rostersByDate[e]||[]}function N(){if(!V.value||!x.value)return;const t=q.value.find(e=>e.doctorId===V.value.doctorId);t&&(P.value=[...t.rostersByDate[x.value]||[]].sort((e,u)=>e.start_time.localeCompare(u.start_time)))}function de(t,e){V.value=t,x.value=e,N(),W.value=!0}function X(t){if(!V.value||!x.value){m.msgWarning("请先选择日期格子");return}t?d.value={id:t.id,doctorId:V.value.doctorId,date:x.value,start_time:t.start_time||"09:00",end_time:t.end_time||"12:00",shift_type:t.shift_type||"",slot_minutes:t.slot_minutes||15,status:t.status,quota:t.quota??0,max_patients:t.max_patients??0,remark:t.remark||""}:d.value={id:null,doctorId:V.value.doctorId,date:x.value,start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,status:1,quota:0,max_patients:0,remark:""},U.value=!0}async function ie(){const t=d.value;if(!t.start_time||!t.end_time){m.msgWarning("请填写接诊开始与结束时间");return}if(t.status===1&&t.start_time>=t.end_time){m.msgWarning("出诊时结束时间须晚于开始时间");return}if(t.start_time>=t.end_time){m.msgWarning("结束时间须晚于开始时间");return}A.value=!0;try{const e={doctor_id:t.doctorId,date:t.date,period:"segment",start_time:t.start_time,end_time:t.end_time,slot_minutes:t.slot_minutes||15,status:t.status,quota:t.status===1?t.quota:0,max_patients:t.status===1?t.max_patients:0,remark:t.remark||""};t.shift_type&&(e.shift_type=t.shift_type),t.id&&(e.id=t.id),await Qe(e),m.msgSuccess("保存成功"),U.value=!1,await w(),N()}catch{m.msgError("保存失败")}finally{A.value=!1}}async function me(t){try{await Pe.confirm("确定删除该时段?","提示",{type:"warning"})}catch{return}try{await Ke({id:t.id}),m.msgSuccess("已删除"),await w(),N()}catch{m.msgError("删除失败")}}const pe=async()=>{try{const t=await Xe({page_no:1,page_size:1e3});q.value=((t==null?void 0:t.lists)||[]).map(e=>({doctorId:e.id,doctorName:e.name||e.account,rostersByDate:{}})),await w()}catch(t){console.error("加载医生列表失败:",t),m.msgError("加载医生列表失败")}},w=async()=>{O.value=!0;try{const t={start_date:g.value.format("YYYY-MM-DD"),end_date:g.value.add(6,"day").format("YYYY-MM-DD")},e=await Ze(t),u=(e==null?void 0:e.lists)||[];q.value.forEach(i=>{i.rostersByDate={},u.forEach(n=>{if(n.doctor_id!==i.doctorId)return;const b=n.date;i.rostersByDate[b]||(i.rostersByDate[b]=[]),i.rostersByDate[b].push({id:n.id,status:n.status,quota:n.quota||0,max_patients:n.max_patients,start_time:n.start_time||fe(n.period),end_time:n.end_time||ve(n.period),shift_type:n.shift_type,slot_minutes:n.slot_minutes??15,remark:n.remark,period:n.period})})}),N()}catch(t){console.error("加载排班数据失败:",t),m.msgError("加载排班数据失败")}finally{O.value=!1}};function fe(t){return t==="morning"?"09:00":t==="afternoon"?"14:00":t==="night"?"18:00":"09:00"}function ve(t){return t==="morning"?"12:00":t==="afternoon"?"18:00":t==="night"?"22:00":"12:00"}const _e=()=>{w()},ye=()=>{g.value=g.value.subtract(1,"week"),w()},ge=()=>{g.value=g.value.add(1,"week"),w()},be=()=>{g.value=M().startOf("isoWeek"),w()},ke=()=>{r.value={doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:H()},S.value=!0},Ve=()=>{r.value.segments.push({start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0})},xe=()=>{r.value.segments.push({start_time:"18:00",end_time:"22:00",shift_type:"night",slot_minutes:15,quota:0})},we=t=>{r.value.segments.length<=1||r.value.segments.splice(t,1)},ce=async()=>{if(r.value.doctorIds.length===0){m.msgWarning("请选择医生");return}if(!r.value.dateRange||r.value.dateRange.length!==2){m.msgWarning("请选择日期范围");return}if(r.value.weekdays.length===0){m.msgWarning("请选择星期");return}for(const t of r.value.segments){if(!t.start_time||!t.end_time){m.msgWarning("请完善时段模板的开始与结束时间");return}if(t.start_time>=t.end_time){m.msgWarning("时段模板中结束时间须晚于开始时间");return}}G.value=!0;try{const t=[],e=M(r.value.dateRange[0]),u=M(r.value.dateRange[1]);let i=e;for(;i.isBefore(u)||i.isSame(u,"day");){const n=i.day();r.value.weekdays.includes(n)&&r.value.doctorIds.forEach(b=>{r.value.segments.forEach(c=>{const y={doctor_id:b,date:i.format("YYYY-MM-DD"),period:"segment",start_time:c.start_time,end_time:c.end_time,slot_minutes:c.slot_minutes||15,status:r.value.status,quota:r.value.status===1?c.quota:0,max_patients:0,remark:r.value.remark};c.shift_type&&(y.shift_type=c.shift_type),t.push(y)})}),i=i.add(1,"day")}if(t.length===0){m.msgWarning("没有符合条件的排班数据");return}await et({rosters:t}),m.msgSuccess(`批量保存成功!共处理 ${t.length} 条记录`),S.value=!1,await w()}catch(t){console.error("批量保存失败:",t),m.msgError("批量保存失败")}finally{G.value=!1}};return tt(()=>{pe()}),(t,e)=>{const u=$e,i=Se,n=Ue,b=qe,c=Ie,y=Be,Z=Me,De=Ne,j=Re,R=he,$=Le,z=Te,I=Fe,D=Ae,ee=Oe,Ce=Ge,E=ze,Ye=je,Ee=We;return f(),k("div",ot,[a(De,{shadow:"never"},{header:o(()=>[v("div",st,[e[25]||(e[25]=v("span",{class:"text-lg font-medium"},"医生排班管理",-1)),v("div",null,[a(u,{type:"success",onClick:ke},{default:o(()=>[...e[21]||(e[21]=[s("批量排班",-1)])]),_:1}),a(u,{onClick:ye},{default:o(()=>[...e[22]||(e[22]=[s("上一周",-1)])]),_:1}),a(u,{onClick:ge},{default:o(()=>[...e[23]||(e[23]=[s("下一周",-1)])]),_:1}),a(u,{type:"primary",onClick:be},{default:o(()=>[...e[24]||(e[24]=[s("本周",-1)])]),_:1})])])]),default:o(()=>[v("div",nt,[a(b,{inline:""},{default:o(()=>[a(n,{label:"医生"},{default:o(()=>[a(i,{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=l=>F.value=l),placeholder:"请输入医生姓名",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),a(n,null,{default:o(()=>[a(u,{type:"primary",onClick:_e},{default:o(()=>[...e[26]||(e[26]=[s("查询",-1)])]),_:1})]),_:1})]),_:1})]),a(c,{type:"info",closable:!1,class:"mb-4","show-icon":""},{default:o(()=>[...e[27]||(e[27]=[s(" 每条排班为一段连续可挂号时间;同一天可添加多段(如白班 + 夜班)。休息时段不添加出诊段即可。号源间隔默认 15 分钟;号源数填 0 表示按时段长度自动满号。 ",-1)])]),_:1}),v("div",rt,Y(ne.value),1),at((f(),B(Z,{data:le.value,border:""},{default:o(()=>[a(y,{prop:"doctorName",label:"医生",width:"120",fixed:""}),(f(!0),k(h,null,T(se.value,l=>(f(),B(y,{key:l.date,label:l.label,"min-width":"168"},{default:o(({row:C})=>[v("div",{class:"day-cell rounded border border-dashed border-gray-200 p-1 min-h-[56px] cursor-pointer hover:bg-gray-50",onClick:p=>de(C,l.date)},[K(C,l.date).length===0?(f(),k("div",dt,"点击管理")):(f(),k("div",it,[(f(!0),k(h,null,T(K(C,l.date),p=>(f(),k("div",{key:p.id,class:lt(["text-xs px-1 py-0.5 rounded leading-tight",re(p.status)])},Y(ue(p)),3))),128))]))],8,ut)]),_:2},1032,["label"]))),128))]),_:1},8,["data"])),[[Ee,O.value]])]),_:1}),a(j,{modelValue:W.value,"onUpdate:modelValue":e[3]||(e[3]=l=>W.value=l),title:oe.value,width:"720px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[1]||(e[1]=l=>W.value=!1)},{default:o(()=>[...e[30]||(e[30]=[s("关闭",-1)])]),_:1}),a(u,{type:"primary",onClick:e[2]||(e[2]=l=>X())},{default:o(()=>[...e[31]||(e[31]=[s("添加时段",-1)])]),_:1})]),default:o(()=>[a(Z,{data:P.value,border:"",size:"small","max-height":"360"},{default:o(()=>[a(y,{label:"时间",width:"150"},{default:o(({row:l})=>[s(Y(l.start_time)+" - "+Y(l.end_time),1)]),_:1}),a(y,{label:"班次",width:"80"},{default:o(({row:l})=>[s(Y(Q(l.shift_type)),1)]),_:1}),a(y,{label:"状态",width:"88"},{default:o(({row:l})=>[s(Y(J(l.status)),1)]),_:1}),a(y,{label:"间隔",width:"72"},{default:o(({row:l})=>[s(Y(l.slot_minutes||15)+" 分",1)]),_:1}),a(y,{label:"号源",width:"72"},{default:o(({row:l})=>[s(Y(l.status===1?l.quota||"不限":"-"),1)]),_:1}),a(y,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),a(y,{label:"操作",width:"140",fixed:"right"},{default:o(({row:l})=>[a(u,{type:"primary",link:"",onClick:C=>X(l)},{default:o(()=>[...e[28]||(e[28]=[s("编辑",-1)])]),_:1},8,["onClick"]),a(u,{type:"danger",link:"",onClick:C=>me(l)},{default:o(()=>[...e[29]||(e[29]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue","title"]),a(j,{modelValue:U.value,"onUpdate:modelValue":e[13]||(e[13]=l=>U.value=l),title:d.value.id?"编辑时段":"添加时段",width:"520px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[12]||(e[12]=l=>U.value=!1)},{default:o(()=>[...e[39]||(e[39]=[s("取消",-1)])]),_:1}),a(u,{type:"primary",loading:A.value,onClick:ie},{default:o(()=>[...e[40]||(e[40]=[s("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(b,{model:d.value,"label-width":"110px"},{default:o(()=>[a(n,{label:"接诊时间",required:""},{default:o(()=>[v("div",mt,[a(R,{modelValue:d.value.start_time,"onUpdate:modelValue":e[4]||(e[4]=l=>d.value.start_time=l),start:"00:00",step:"00:5",end:"23:45",placeholder:"开始",style:{width:"120px"}},null,8,["modelValue"]),e[32]||(e[32]=v("span",null,"至",-1)),a(R,{modelValue:d.value.end_time,"onUpdate:modelValue":e[5]||(e[5]=l=>d.value.end_time=l),start:"00:00",step:"00:5",end:"23:45",placeholder:"结束",style:{width:"120px"}},null,8,["modelValue"])])]),_:1}),a(n,{label:"班次标签"},{default:o(()=>[a(z,{modelValue:d.value.shift_type,"onUpdate:modelValue":e[6]||(e[6]=l=>d.value.shift_type=l),placeholder:"选填",clearable:"",style:{width:"200px"}},{default:o(()=>[a($,{label:"白班",value:"day"}),a($,{label:"夜班",value:"night"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"号源间隔(分)"},{default:o(()=>[a(I,{modelValue:d.value.slot_minutes,"onUpdate:modelValue":e[7]||(e[7]=l=>d.value.slot_minutes=l),min:5,max:120,step:5},null,8,["modelValue"]),e[33]||(e[33]=v("span",{class:"ml-2 text-gray-500 text-sm"},"默认 15",-1))]),_:1}),a(n,{label:"状态"},{default:o(()=>[a(ee,{modelValue:d.value.status,"onUpdate:modelValue":e[8]||(e[8]=l=>d.value.status=l)},{default:o(()=>[a(D,{label:1},{default:o(()=>[...e[34]||(e[34]=[s("出诊",-1)])]),_:1}),a(D,{label:2},{default:o(()=>[...e[35]||(e[35]=[s("停诊",-1)])]),_:1}),a(D,{label:3},{default:o(()=>[...e[36]||(e[36]=[s("休息",-1)])]),_:1}),a(D,{label:4},{default:o(()=>[...e[37]||(e[37]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.value.status===1?(f(),B(n,{key:0,label:"号源上限"},{default:o(()=>[a(I,{modelValue:d.value.quota,"onUpdate:modelValue":e[9]||(e[9]=l=>d.value.quota=l),min:0,max:200},null,8,["modelValue"]),e[38]||(e[38]=v("div",{class:"text-gray-500 text-xs mt-1"},"0 表示不限制(由时段÷间隔计算可约数)",-1))]),_:1})):te("",!0),d.value.status===1?(f(),B(n,{key:1,label:"最大接诊"},{default:o(()=>[a(I,{modelValue:d.value.max_patients,"onUpdate:modelValue":e[10]||(e[10]=l=>d.value.max_patients=l),min:0,max:500},null,8,["modelValue"])]),_:1})):te("",!0),a(n,{label:"备注"},{default:o(()=>[a(i,{modelValue:d.value.remark,"onUpdate:modelValue":e[11]||(e[11]=l=>d.value.remark=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(j,{modelValue:S.value,"onUpdate:modelValue":e[20]||(e[20]=l=>S.value=l),title:"批量排班",width:"780px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[19]||(e[19]=l=>S.value=!1)},{default:o(()=>[...e[58]||(e[58]=[s("取消",-1)])]),_:1}),a(u,{type:"primary",onClick:ce,loading:G.value},{default:o(()=>[...e[59]||(e[59]=[s("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(b,{model:r.value,"label-width":"100px"},{default:o(()=>[a(n,{label:"选择医生",required:""},{default:o(()=>[a(z,{modelValue:r.value.doctorIds,"onUpdate:modelValue":e[14]||(e[14]=l=>r.value.doctorIds=l),multiple:"",placeholder:"请选择医生",class:"w-full",filterable:""},{default:o(()=>[(f(!0),k(h,null,T(q.value,l=>(f(),B($,{key:l.doctorId,label:l.doctorName,value:l.doctorId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"日期范围",required:""},{default:o(()=>[a(Ce,{modelValue:r.value.dateRange,"onUpdate:modelValue":e[15]||(e[15]=l=>r.value.dateRange=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"星期",required:""},{default:o(()=>[a(Ye,{modelValue:r.value.weekdays,"onUpdate:modelValue":e[16]||(e[16]=l=>r.value.weekdays=l)},{default:o(()=>[a(E,{label:1},{default:o(()=>[...e[41]||(e[41]=[s("周一",-1)])]),_:1}),a(E,{label:2},{default:o(()=>[...e[42]||(e[42]=[s("周二",-1)])]),_:1}),a(E,{label:3},{default:o(()=>[...e[43]||(e[43]=[s("周三",-1)])]),_:1}),a(E,{label:4},{default:o(()=>[...e[44]||(e[44]=[s("周四",-1)])]),_:1}),a(E,{label:5},{default:o(()=>[...e[45]||(e[45]=[s("周五",-1)])]),_:1}),a(E,{label:6},{default:o(()=>[...e[46]||(e[46]=[s("周六",-1)])]),_:1}),a(E,{label:0},{default:o(()=>[...e[47]||(e[47]=[s("周日",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"时段模板"},{default:o(()=>[v("div",pt,[(f(!0),k(h,null,T(r.value.segments,(l,C)=>(f(),k("div",{key:C,class:"flex flex-wrap items-center gap-2 p-2 bg-gray-50 rounded"},[a(R,{modelValue:l.start_time,"onUpdate:modelValue":p=>l.start_time=p,start:"00:00",step:"00:05",end:"23:45",placeholder:"开始",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),e[49]||(e[49]=v("span",null,"—",-1)),a(R,{modelValue:l.end_time,"onUpdate:modelValue":p=>l.end_time=p,start:"00:00",step:"00:05",end:"23:45",placeholder:"结束",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),a(z,{modelValue:l.shift_type,"onUpdate:modelValue":p=>l.shift_type=p,placeholder:"班次",clearable:"",style:{width:"100px"}},{default:o(()=>[a($,{label:"白班",value:"day"}),a($,{label:"夜班",value:"night"})]),_:1},8,["modelValue","onUpdate:modelValue"]),e[50]||(e[50]=v("span",{class:"text-sm text-gray-500"},"间隔",-1)),a(I,{modelValue:l.slot_minutes,"onUpdate:modelValue":p=>l.slot_minutes=p,min:5,max:120,step:5,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),e[51]||(e[51]=v("span",{class:"text-sm text-gray-500"},"号源0=不限",-1)),a(I,{modelValue:l.quota,"onUpdate:modelValue":p=>l.quota=p,min:0,max:200,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),a(u,{type:"danger",link:"",onClick:p=>we(C),disabled:r.value.segments.length<=1},{default:o(()=>[...e[48]||(e[48]=[s("删除",-1)])]),_:1},8,["onClick","disabled"])]))),128)),a(u,{type:"primary",link:"",onClick:Ve},{default:o(()=>[...e[52]||(e[52]=[s("+ 增加一段",-1)])]),_:1}),a(u,{type:"success",link:"",onClick:xe},{default:o(()=>[...e[53]||(e[53]=[s("+ 夜班 18:00–22:00",-1)])]),_:1})])]),_:1}),a(n,{label:"排班状态",required:""},{default:o(()=>[a(ee,{modelValue:r.value.status,"onUpdate:modelValue":e[17]||(e[17]=l=>r.value.status=l)},{default:o(()=>[a(D,{label:1},{default:o(()=>[...e[54]||(e[54]=[s("出诊",-1)])]),_:1}),a(D,{label:2},{default:o(()=>[...e[55]||(e[55]=[s("停诊",-1)])]),_:1}),a(D,{label:3},{default:o(()=>[...e[56]||(e[56]=[s("休息",-1)])]),_:1}),a(D,{label:4},{default:o(()=>[...e[57]||(e[57]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"备注"},{default:o(()=>[a(i,{modelValue:r.value.remark,"onUpdate:modelValue":e[18]||(e[18]=l=>r.value.remark=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ea=Je(vt,[["__scopeId","data-v-8e605af4"]]);export{ea as default}; +import{D as qe,B as Ue,C as Se,i as $e,L as Ie,N as Me,O as Be,M as We,K as Ne,W as Re,ae as he,Q as Te,R as Le,h as Fe,G as Oe,J as Ae,S as Ge,af as je,H as ze,a as Pe}from"./element-plus-DGP1XOrU.js";import{d as M,g as He}from"./dayjs-DG77mNTn.js";import{k as m,_ as Je}from"./index-J_eFER10.js";import{h as Qe,i as Ke,f as Xe,r as Ze,j as et}from"./doctor-BZKBQu9t.js";import{f as ae,b as tt,ak as f,I as k,a,aN as o,J as v,O as s,aP as at,G as B,F as h,ap as T,H as te,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{n as _}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y,o as lt}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ot={class:"doctor-roster p-4"},st={class:"flex justify-between items-center"},nt={class:"mb-4"},rt={class:"text-center mb-4 text-gray-600"},ut=["onClick"],dt={key:0,class:"text-xs text-gray-400 text-center py-2"},it={key:1,class:"space-y-1"},mt={class:"flex items-center gap-2 flex-wrap"},pt={class:"w-full space-y-2"},ft=ae({name:"doctorRoster"}),vt=ae({...ft,setup(_t){M.extend(He);const F=_(""),g=_(M().startOf("isoWeek")),O=_(!1),W=_(!1),V=_(null),x=_(""),P=_([]),U=_(!1),A=_(!1),d=_({id:null,doctorId:0,date:"",start_time:"09:00",end_time:"12:00",shift_type:"",slot_minutes:15,status:1,quota:0,max_patients:0,remark:""}),S=_(!1),G=_(!1),H=()=>[{start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0},{start_time:"14:00",end_time:"18:00",shift_type:"day",slot_minutes:15,quota:0}],r=_({doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:H()}),q=_([]),le=L(()=>{const t=F.value.trim();return t?q.value.filter(e=>e.doctorName.includes(t)):q.value}),oe=L(()=>!V.value||!x.value?"当日排班":`${V.value.doctorName} · ${x.value}`),se=L(()=>{const t=[],e=["周一","周二","周三","周四","周五","周六","周日"];for(let u=0;u<7;u++){const i=g.value.add(u,"day");t.push({date:i.format("YYYY-MM-DD"),label:`${e[u]} ${i.format("MM-DD")}`})}return t}),ne=L(()=>{const t=g.value.format("YYYY-MM-DD"),e=g.value.add(6,"day").format("YYYY-MM-DD");return`${t} 至 ${e}`});function J(t){return{1:"出诊",2:"停诊",3:"休息",4:"请假"}[t]??String(t)}function Q(t){return t==="day"?"白班":t==="night"?"夜班":"—"}function re(t){return t===1?"bg-emerald-50 text-emerald-800 border border-emerald-100":t===2?"bg-amber-50 text-amber-900 border border-amber-100":t===3?"bg-slate-100 text-slate-600 border border-slate-200":"bg-gray-100 text-gray-700 border border-gray-200"}function ue(t){const e=`${t.start_time}-${t.end_time}`,u=Q(t.shift_type),i=u!=="—"?` ${u}`:"";if(t.status===1){const n=t.quota>0?` 号源${t.quota}`:"";return`${e}${i} 出诊${n}`}return`${e}${i} ${J(t.status)}`}function K(t,e){return t.rostersByDate[e]||[]}function N(){if(!V.value||!x.value)return;const t=q.value.find(e=>e.doctorId===V.value.doctorId);t&&(P.value=[...t.rostersByDate[x.value]||[]].sort((e,u)=>e.start_time.localeCompare(u.start_time)))}function de(t,e){V.value=t,x.value=e,N(),W.value=!0}function X(t){if(!V.value||!x.value){m.msgWarning("请先选择日期格子");return}t?d.value={id:t.id,doctorId:V.value.doctorId,date:x.value,start_time:t.start_time||"09:00",end_time:t.end_time||"12:00",shift_type:t.shift_type||"",slot_minutes:t.slot_minutes||15,status:t.status,quota:t.quota??0,max_patients:t.max_patients??0,remark:t.remark||""}:d.value={id:null,doctorId:V.value.doctorId,date:x.value,start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,status:1,quota:0,max_patients:0,remark:""},U.value=!0}async function ie(){const t=d.value;if(!t.start_time||!t.end_time){m.msgWarning("请填写接诊开始与结束时间");return}if(t.status===1&&t.start_time>=t.end_time){m.msgWarning("出诊时结束时间须晚于开始时间");return}if(t.start_time>=t.end_time){m.msgWarning("结束时间须晚于开始时间");return}A.value=!0;try{const e={doctor_id:t.doctorId,date:t.date,period:"segment",start_time:t.start_time,end_time:t.end_time,slot_minutes:t.slot_minutes||15,status:t.status,quota:t.status===1?t.quota:0,max_patients:t.status===1?t.max_patients:0,remark:t.remark||""};t.shift_type&&(e.shift_type=t.shift_type),t.id&&(e.id=t.id),await Qe(e),m.msgSuccess("保存成功"),U.value=!1,await w(),N()}catch{m.msgError("保存失败")}finally{A.value=!1}}async function me(t){try{await Pe.confirm("确定删除该时段?","提示",{type:"warning"})}catch{return}try{await Ke({id:t.id}),m.msgSuccess("已删除"),await w(),N()}catch{m.msgError("删除失败")}}const pe=async()=>{try{const t=await Xe({page_no:1,page_size:1e3});q.value=((t==null?void 0:t.lists)||[]).map(e=>({doctorId:e.id,doctorName:e.name||e.account,rostersByDate:{}})),await w()}catch(t){console.error("加载医生列表失败:",t),m.msgError("加载医生列表失败")}},w=async()=>{O.value=!0;try{const t={start_date:g.value.format("YYYY-MM-DD"),end_date:g.value.add(6,"day").format("YYYY-MM-DD")},e=await Ze(t),u=(e==null?void 0:e.lists)||[];q.value.forEach(i=>{i.rostersByDate={},u.forEach(n=>{if(n.doctor_id!==i.doctorId)return;const b=n.date;i.rostersByDate[b]||(i.rostersByDate[b]=[]),i.rostersByDate[b].push({id:n.id,status:n.status,quota:n.quota||0,max_patients:n.max_patients,start_time:n.start_time||fe(n.period),end_time:n.end_time||ve(n.period),shift_type:n.shift_type,slot_minutes:n.slot_minutes??15,remark:n.remark,period:n.period})})}),N()}catch(t){console.error("加载排班数据失败:",t),m.msgError("加载排班数据失败")}finally{O.value=!1}};function fe(t){return t==="morning"?"09:00":t==="afternoon"?"14:00":t==="night"?"18:00":"09:00"}function ve(t){return t==="morning"?"12:00":t==="afternoon"?"18:00":t==="night"?"22:00":"12:00"}const _e=()=>{w()},ye=()=>{g.value=g.value.subtract(1,"week"),w()},ge=()=>{g.value=g.value.add(1,"week"),w()},be=()=>{g.value=M().startOf("isoWeek"),w()},ke=()=>{r.value={doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:H()},S.value=!0},Ve=()=>{r.value.segments.push({start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0})},xe=()=>{r.value.segments.push({start_time:"18:00",end_time:"22:00",shift_type:"night",slot_minutes:15,quota:0})},we=t=>{r.value.segments.length<=1||r.value.segments.splice(t,1)},ce=async()=>{if(r.value.doctorIds.length===0){m.msgWarning("请选择医生");return}if(!r.value.dateRange||r.value.dateRange.length!==2){m.msgWarning("请选择日期范围");return}if(r.value.weekdays.length===0){m.msgWarning("请选择星期");return}for(const t of r.value.segments){if(!t.start_time||!t.end_time){m.msgWarning("请完善时段模板的开始与结束时间");return}if(t.start_time>=t.end_time){m.msgWarning("时段模板中结束时间须晚于开始时间");return}}G.value=!0;try{const t=[],e=M(r.value.dateRange[0]),u=M(r.value.dateRange[1]);let i=e;for(;i.isBefore(u)||i.isSame(u,"day");){const n=i.day();r.value.weekdays.includes(n)&&r.value.doctorIds.forEach(b=>{r.value.segments.forEach(c=>{const y={doctor_id:b,date:i.format("YYYY-MM-DD"),period:"segment",start_time:c.start_time,end_time:c.end_time,slot_minutes:c.slot_minutes||15,status:r.value.status,quota:r.value.status===1?c.quota:0,max_patients:0,remark:r.value.remark};c.shift_type&&(y.shift_type=c.shift_type),t.push(y)})}),i=i.add(1,"day")}if(t.length===0){m.msgWarning("没有符合条件的排班数据");return}await et({rosters:t}),m.msgSuccess(`批量保存成功!共处理 ${t.length} 条记录`),S.value=!1,await w()}catch(t){console.error("批量保存失败:",t),m.msgError("批量保存失败")}finally{G.value=!1}};return tt(()=>{pe()}),(t,e)=>{const u=$e,i=Se,n=Ue,b=qe,c=Ie,y=Be,Z=Me,De=Ne,j=Re,R=he,$=Le,z=Te,I=Fe,D=Ae,ee=Oe,Ce=Ge,E=ze,Ye=je,Ee=We;return f(),k("div",ot,[a(De,{shadow:"never"},{header:o(()=>[v("div",st,[e[25]||(e[25]=v("span",{class:"text-lg font-medium"},"医生排班管理",-1)),v("div",null,[a(u,{type:"success",onClick:ke},{default:o(()=>[...e[21]||(e[21]=[s("批量排班",-1)])]),_:1}),a(u,{onClick:ye},{default:o(()=>[...e[22]||(e[22]=[s("上一周",-1)])]),_:1}),a(u,{onClick:ge},{default:o(()=>[...e[23]||(e[23]=[s("下一周",-1)])]),_:1}),a(u,{type:"primary",onClick:be},{default:o(()=>[...e[24]||(e[24]=[s("本周",-1)])]),_:1})])])]),default:o(()=>[v("div",nt,[a(b,{inline:""},{default:o(()=>[a(n,{label:"医生"},{default:o(()=>[a(i,{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=l=>F.value=l),placeholder:"请输入医生姓名",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),a(n,null,{default:o(()=>[a(u,{type:"primary",onClick:_e},{default:o(()=>[...e[26]||(e[26]=[s("查询",-1)])]),_:1})]),_:1})]),_:1})]),a(c,{type:"info",closable:!1,class:"mb-4","show-icon":""},{default:o(()=>[...e[27]||(e[27]=[s(" 每条排班为一段连续可挂号时间;同一天可添加多段(如白班 + 夜班)。休息时段不添加出诊段即可。号源间隔默认 15 分钟;号源数填 0 表示按时段长度自动满号。 ",-1)])]),_:1}),v("div",rt,Y(ne.value),1),at((f(),B(Z,{data:le.value,border:""},{default:o(()=>[a(y,{prop:"doctorName",label:"医生",width:"120",fixed:""}),(f(!0),k(h,null,T(se.value,l=>(f(),B(y,{key:l.date,label:l.label,"min-width":"168"},{default:o(({row:C})=>[v("div",{class:"day-cell rounded border border-dashed border-gray-200 p-1 min-h-[56px] cursor-pointer hover:bg-gray-50",onClick:p=>de(C,l.date)},[K(C,l.date).length===0?(f(),k("div",dt,"点击管理")):(f(),k("div",it,[(f(!0),k(h,null,T(K(C,l.date),p=>(f(),k("div",{key:p.id,class:lt(["text-xs px-1 py-0.5 rounded leading-tight",re(p.status)])},Y(ue(p)),3))),128))]))],8,ut)]),_:2},1032,["label"]))),128))]),_:1},8,["data"])),[[Ee,O.value]])]),_:1}),a(j,{modelValue:W.value,"onUpdate:modelValue":e[3]||(e[3]=l=>W.value=l),title:oe.value,width:"720px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[1]||(e[1]=l=>W.value=!1)},{default:o(()=>[...e[30]||(e[30]=[s("关闭",-1)])]),_:1}),a(u,{type:"primary",onClick:e[2]||(e[2]=l=>X())},{default:o(()=>[...e[31]||(e[31]=[s("添加时段",-1)])]),_:1})]),default:o(()=>[a(Z,{data:P.value,border:"",size:"small","max-height":"360"},{default:o(()=>[a(y,{label:"时间",width:"150"},{default:o(({row:l})=>[s(Y(l.start_time)+" - "+Y(l.end_time),1)]),_:1}),a(y,{label:"班次",width:"80"},{default:o(({row:l})=>[s(Y(Q(l.shift_type)),1)]),_:1}),a(y,{label:"状态",width:"88"},{default:o(({row:l})=>[s(Y(J(l.status)),1)]),_:1}),a(y,{label:"间隔",width:"72"},{default:o(({row:l})=>[s(Y(l.slot_minutes||15)+" 分",1)]),_:1}),a(y,{label:"号源",width:"72"},{default:o(({row:l})=>[s(Y(l.status===1?l.quota||"不限":"-"),1)]),_:1}),a(y,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),a(y,{label:"操作",width:"140",fixed:"right"},{default:o(({row:l})=>[a(u,{type:"primary",link:"",onClick:C=>X(l)},{default:o(()=>[...e[28]||(e[28]=[s("编辑",-1)])]),_:1},8,["onClick"]),a(u,{type:"danger",link:"",onClick:C=>me(l)},{default:o(()=>[...e[29]||(e[29]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue","title"]),a(j,{modelValue:U.value,"onUpdate:modelValue":e[13]||(e[13]=l=>U.value=l),title:d.value.id?"编辑时段":"添加时段",width:"520px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[12]||(e[12]=l=>U.value=!1)},{default:o(()=>[...e[39]||(e[39]=[s("取消",-1)])]),_:1}),a(u,{type:"primary",loading:A.value,onClick:ie},{default:o(()=>[...e[40]||(e[40]=[s("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(b,{model:d.value,"label-width":"110px"},{default:o(()=>[a(n,{label:"接诊时间",required:""},{default:o(()=>[v("div",mt,[a(R,{modelValue:d.value.start_time,"onUpdate:modelValue":e[4]||(e[4]=l=>d.value.start_time=l),start:"00:00",step:"00:5",end:"23:45",placeholder:"开始",style:{width:"120px"}},null,8,["modelValue"]),e[32]||(e[32]=v("span",null,"至",-1)),a(R,{modelValue:d.value.end_time,"onUpdate:modelValue":e[5]||(e[5]=l=>d.value.end_time=l),start:"00:00",step:"00:5",end:"23:45",placeholder:"结束",style:{width:"120px"}},null,8,["modelValue"])])]),_:1}),a(n,{label:"班次标签"},{default:o(()=>[a(z,{modelValue:d.value.shift_type,"onUpdate:modelValue":e[6]||(e[6]=l=>d.value.shift_type=l),placeholder:"选填",clearable:"",style:{width:"200px"}},{default:o(()=>[a($,{label:"白班",value:"day"}),a($,{label:"夜班",value:"night"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"号源间隔(分)"},{default:o(()=>[a(I,{modelValue:d.value.slot_minutes,"onUpdate:modelValue":e[7]||(e[7]=l=>d.value.slot_minutes=l),min:5,max:120,step:5},null,8,["modelValue"]),e[33]||(e[33]=v("span",{class:"ml-2 text-gray-500 text-sm"},"默认 15",-1))]),_:1}),a(n,{label:"状态"},{default:o(()=>[a(ee,{modelValue:d.value.status,"onUpdate:modelValue":e[8]||(e[8]=l=>d.value.status=l)},{default:o(()=>[a(D,{label:1},{default:o(()=>[...e[34]||(e[34]=[s("出诊",-1)])]),_:1}),a(D,{label:2},{default:o(()=>[...e[35]||(e[35]=[s("停诊",-1)])]),_:1}),a(D,{label:3},{default:o(()=>[...e[36]||(e[36]=[s("休息",-1)])]),_:1}),a(D,{label:4},{default:o(()=>[...e[37]||(e[37]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.value.status===1?(f(),B(n,{key:0,label:"号源上限"},{default:o(()=>[a(I,{modelValue:d.value.quota,"onUpdate:modelValue":e[9]||(e[9]=l=>d.value.quota=l),min:0,max:200},null,8,["modelValue"]),e[38]||(e[38]=v("div",{class:"text-gray-500 text-xs mt-1"},"0 表示不限制(由时段÷间隔计算可约数)",-1))]),_:1})):te("",!0),d.value.status===1?(f(),B(n,{key:1,label:"最大接诊"},{default:o(()=>[a(I,{modelValue:d.value.max_patients,"onUpdate:modelValue":e[10]||(e[10]=l=>d.value.max_patients=l),min:0,max:500},null,8,["modelValue"])]),_:1})):te("",!0),a(n,{label:"备注"},{default:o(()=>[a(i,{modelValue:d.value.remark,"onUpdate:modelValue":e[11]||(e[11]=l=>d.value.remark=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(j,{modelValue:S.value,"onUpdate:modelValue":e[20]||(e[20]=l=>S.value=l),title:"批量排班",width:"780px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[19]||(e[19]=l=>S.value=!1)},{default:o(()=>[...e[58]||(e[58]=[s("取消",-1)])]),_:1}),a(u,{type:"primary",onClick:ce,loading:G.value},{default:o(()=>[...e[59]||(e[59]=[s("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(b,{model:r.value,"label-width":"100px"},{default:o(()=>[a(n,{label:"选择医生",required:""},{default:o(()=>[a(z,{modelValue:r.value.doctorIds,"onUpdate:modelValue":e[14]||(e[14]=l=>r.value.doctorIds=l),multiple:"",placeholder:"请选择医生",class:"w-full",filterable:""},{default:o(()=>[(f(!0),k(h,null,T(q.value,l=>(f(),B($,{key:l.doctorId,label:l.doctorName,value:l.doctorId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"日期范围",required:""},{default:o(()=>[a(Ce,{modelValue:r.value.dateRange,"onUpdate:modelValue":e[15]||(e[15]=l=>r.value.dateRange=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"星期",required:""},{default:o(()=>[a(Ye,{modelValue:r.value.weekdays,"onUpdate:modelValue":e[16]||(e[16]=l=>r.value.weekdays=l)},{default:o(()=>[a(E,{label:1},{default:o(()=>[...e[41]||(e[41]=[s("周一",-1)])]),_:1}),a(E,{label:2},{default:o(()=>[...e[42]||(e[42]=[s("周二",-1)])]),_:1}),a(E,{label:3},{default:o(()=>[...e[43]||(e[43]=[s("周三",-1)])]),_:1}),a(E,{label:4},{default:o(()=>[...e[44]||(e[44]=[s("周四",-1)])]),_:1}),a(E,{label:5},{default:o(()=>[...e[45]||(e[45]=[s("周五",-1)])]),_:1}),a(E,{label:6},{default:o(()=>[...e[46]||(e[46]=[s("周六",-1)])]),_:1}),a(E,{label:0},{default:o(()=>[...e[47]||(e[47]=[s("周日",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"时段模板"},{default:o(()=>[v("div",pt,[(f(!0),k(h,null,T(r.value.segments,(l,C)=>(f(),k("div",{key:C,class:"flex flex-wrap items-center gap-2 p-2 bg-gray-50 rounded"},[a(R,{modelValue:l.start_time,"onUpdate:modelValue":p=>l.start_time=p,start:"00:00",step:"00:05",end:"23:45",placeholder:"开始",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),e[49]||(e[49]=v("span",null,"—",-1)),a(R,{modelValue:l.end_time,"onUpdate:modelValue":p=>l.end_time=p,start:"00:00",step:"00:05",end:"23:45",placeholder:"结束",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),a(z,{modelValue:l.shift_type,"onUpdate:modelValue":p=>l.shift_type=p,placeholder:"班次",clearable:"",style:{width:"100px"}},{default:o(()=>[a($,{label:"白班",value:"day"}),a($,{label:"夜班",value:"night"})]),_:1},8,["modelValue","onUpdate:modelValue"]),e[50]||(e[50]=v("span",{class:"text-sm text-gray-500"},"间隔",-1)),a(I,{modelValue:l.slot_minutes,"onUpdate:modelValue":p=>l.slot_minutes=p,min:5,max:120,step:5,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),e[51]||(e[51]=v("span",{class:"text-sm text-gray-500"},"号源0=不限",-1)),a(I,{modelValue:l.quota,"onUpdate:modelValue":p=>l.quota=p,min:0,max:200,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),a(u,{type:"danger",link:"",onClick:p=>we(C),disabled:r.value.segments.length<=1},{default:o(()=>[...e[48]||(e[48]=[s("删除",-1)])]),_:1},8,["onClick","disabled"])]))),128)),a(u,{type:"primary",link:"",onClick:Ve},{default:o(()=>[...e[52]||(e[52]=[s("+ 增加一段",-1)])]),_:1}),a(u,{type:"success",link:"",onClick:xe},{default:o(()=>[...e[53]||(e[53]=[s("+ 夜班 18:00–22:00",-1)])]),_:1})])]),_:1}),a(n,{label:"排班状态",required:""},{default:o(()=>[a(ee,{modelValue:r.value.status,"onUpdate:modelValue":e[17]||(e[17]=l=>r.value.status=l)},{default:o(()=>[a(D,{label:1},{default:o(()=>[...e[54]||(e[54]=[s("出诊",-1)])]),_:1}),a(D,{label:2},{default:o(()=>[...e[55]||(e[55]=[s("停诊",-1)])]),_:1}),a(D,{label:3},{default:o(()=>[...e[56]||(e[56]=[s("休息",-1)])]),_:1}),a(D,{label:4},{default:o(()=>[...e[57]||(e[57]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"备注"},{default:o(()=>[a(i,{modelValue:r.value.remark,"onUpdate:modelValue":e[18]||(e[18]=l=>r.value.remark=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ea=Je(vt,[["__scopeId","data-v-8e605af4"]]);export{ea as default}; diff --git a/server/public/admin/assets/self_input_stats-VfgnRjmU.js b/server/public/admin/assets/self_input_stats-BfVTp8QE.js similarity index 91% rename from server/public/admin/assets/self_input_stats-VfgnRjmU.js rename to server/public/admin/assets/self_input_stats-BfVTp8QE.js index d07ca666b..411f75ecb 100644 --- a/server/public/admin/assets/self_input_stats-VfgnRjmU.js +++ b/server/public/admin/assets/self_input_stats-BfVTp8QE.js @@ -1 +1 @@ -import{r as s}from"./index-fRv3NTFQ.js";function n(t){return s.get({url:"/stats.self_input/overview",params:t})}function o(){return s.get({url:"/stats.self_input/mediaSourceOptions"})}function r(t){return s.post({url:"/stats.personal_yeji/add",data:t})}function a(t){return s.post({url:"/stats.personal_yeji/edit",data:t})}function u(t){return s.post({url:"/stats.personal_yeji/delete",params:t})}function c(t){return s.get({url:"/stats.personal_account_cost/lists",params:t})}function l(t){return s.post({url:"/stats.personal_account_cost/add",data:t})}function i(t){return s.post({url:"/stats.personal_account_cost/edit",data:t})}function p(t){return s.post({url:"/stats.personal_account_cost/delete",params:t})}export{p as a,i as b,l as c,n as d,u as e,a as f,o as g,r as h,c as p}; +import{r as s}from"./index-J_eFER10.js";function n(t){return s.get({url:"/stats.self_input/overview",params:t})}function o(){return s.get({url:"/stats.self_input/mediaSourceOptions"})}function r(t){return s.post({url:"/stats.personal_yeji/add",data:t})}function a(t){return s.post({url:"/stats.personal_yeji/edit",data:t})}function u(t){return s.post({url:"/stats.personal_yeji/delete",params:t})}function c(t){return s.get({url:"/stats.personal_account_cost/lists",params:t})}function l(t){return s.post({url:"/stats.personal_account_cost/add",data:t})}function i(t){return s.post({url:"/stats.personal_account_cost/edit",data:t})}function p(t){return s.post({url:"/stats.personal_account_cost/delete",params:t})}export{p as a,i as b,l as c,n as d,u as e,a as f,o as g,r as h,c as p}; diff --git a/server/public/admin/assets/setting-C4t4bQUw.js b/server/public/admin/assets/setting-M6wAI_0P.js similarity index 94% rename from server/public/admin/assets/setting-C4t4bQUw.js rename to server/public/admin/assets/setting-M6wAI_0P.js index 70d5bcbac..2db5200e8 100644 --- a/server/public/admin/assets/setting-C4t4bQUw.js +++ b/server/public/admin/assets/setting-M6wAI_0P.js @@ -1 +1 @@ -import{D as A,B as H,C as J,U as Q,d as G,i as X,K as Y,W as Z,E as v}from"./element-plus-DGP1XOrU.js";import{_ as $}from"./index-D6hiZISU.js";import{_ as oo}from"./picker-C0hwSppU.js";import{d as eo,al as to,l as ro}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as so,a as ao,k as m,O as no,b as lo,Q as io,_ as mo}from"./index-fRv3NTFQ.js";import{a as po}from"./wecomOauthPostMessage-C_e6VGrO.js";import{f as W,b as co,d as uo,ak as p,I as u,a as t,aN as s,J as d,G as _o,F as B,O as _,H as wo,n as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as V,n as w,r as q}from"./@vue/reactivity-DiY1c2vO.js";import{Q as fo}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const go={class:"user-setting"},ko={class:"w-80"},bo={class:"w-80"},vo={class:"flex items-center gap-3"},yo={class:"w-80"},ho={class:"w-80"},xo={class:"w-80"},Vo={class:"bind-qrcode-wrap"},Uo={key:0,class:"text-center py-8"},Eo={key:1,id:"bind_wxwork_qrcode",class:"bind-qrcode"},Io=W({name:"userSetting"}),Co=W({...Io,setup(Bo){const U=w(),f=so(),e=q({avatar:"",account:"",name:"",work_wechat_userid:"",password_old:"",password:"",password_confirm:""}),S=q({avatar:[{required:!0,message:"头像不能为空",trigger:["change"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}]}),g="like_admin_wx_bind_oauth",E=w(!1),y=w({corp_id:"",agent_id:""}),k=w(!1),b=w(!1);let l=null;const L=async()=>{const r=f.userInfo;for(const o in e)r[o]!==void 0&&(e[o]=r[o])},M=async()=>{if(e.password_old||e.password||e.password_confirm){if(!e.password_old)return m.msgError("请输入当前密码");if(!e.password)return m.msgError("请输入新的密码");if(!e.password_confirm)return m.msgError("请输入确定密码");if(e.password_confirm!=e.password)return m.msgError("两次输入的密码不一样")}if(e.password_old&&e.password&&e.password_confirm){if(e.password_old.length<6||e.password_old.length>32)return m.msgError("密码长度在6到32之间");if(e.password.length<6||e.password.length>32)return m.msgError("密码长度在6到32之间");if(e.password_confirm.length<6||e.password_confirm.length>32)return m.msgError("密码长度在6到32之间")}const{work_wechat_userid:r,...o}=e;await io(o),f.getUserInfo()},N=async()=>{var r;await((r=U.value)==null?void 0:r.validate()),M()},O=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1",R=async()=>{k.value=!0,b.value=!0,window.WwLogin||await new Promise((o,c)=>{const a=document.createElement("script");a.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",a.onload=()=>o(),a.onerror=()=>c(new Error("加载企业微信JS失败")),document.head.appendChild(a)}),await D(),b.value=!1,await D(),l==null||l(),l=po({pathIncludes:"user/setting",lockKey:g,wxBindState:"bind_wxwork",onCode:o=>I(o)});const r=encodeURIComponent(O());new window.WwLogin({id:"bind_wxwork_qrcode",appid:y.value.corp_id,agentid:y.value.agent_id,redirect_uri:r,lang:"zh",state:"bind_wxwork",href:"",self_redirect:!1})},z=()=>{b.value=!1,l==null||l(),l=null},F=async()=>{await m.confirm("确定要解绑企业微信吗?解绑后将无法使用企业微信扫码登录。");try{await no(),e.work_wechat_userid="",v.success("解绑成功"),f.getUserInfo()}catch(r){v.error((r==null?void 0:r.msg)||"解绑失败")}},I=async r=>{try{const o=await lo({code:r});e.work_wechat_userid=(o==null?void 0:o.work_wechat_userid)||"",k.value=!1,v.success("企业微信绑定成功"),f.getUserInfo()}catch(o){v.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"绑定失败")}finally{const o=window.location.pathname;window.history.replaceState({},"",o)}};return co(async()=>{try{const i=await ao();i!=null&&i.enabled&&(E.value=!0,y.value={corp_id:i.corp_id,agent_id:i.agent_id})}catch{}const r=new URLSearchParams(window.location.search),o=r.get("code"),c=r.get("state"),a=r.get("bind_wxwork");if(o&&(c==="bind_wxwork"||a==="1")){if(sessionStorage.getItem(g)===o)return;sessionStorage.setItem(g,o),I(o).finally(()=>{sessionStorage.removeItem(g)})}}),L(),uo(()=>{l==null||l(),l=null}),(r,o)=>{const c=oo,a=H,i=J,h=G,C=Q,x=X,T=A,K=Y,P=$,j=Z;return p(),u("div",go,[t(K,{class:"!border-none",shadow:"never"},{default:s(()=>[t(T,{ref_key:"formRef",ref:U,class:"ls-form",model:e,rules:S,"label-width":"100px"},{default:s(()=>[t(a,{label:"头像:",prop:"avatar"},{default:s(()=>[t(c,{modelValue:e.avatar,"onUpdate:modelValue":o[0]||(o[0]=n=>e.avatar=n),limit:1},null,8,["modelValue"])]),_:1}),t(a,{label:"账号:",prop:"account"},{default:s(()=>[d("div",ko,[t(i,{modelValue:e.account,"onUpdate:modelValue":o[1]||(o[1]=n=>e.account=n),disabled:""},null,8,["modelValue"])])]),_:1}),t(a,{label:"名称:",prop:"name"},{default:s(()=>[d("div",bo,[t(i,{modelValue:e.name,"onUpdate:modelValue":o[2]||(o[2]=n=>e.name=n),placeholder:"请输入名称"},null,8,["modelValue"])])]),_:1}),E.value?(p(),_o(a,{key:0,label:"企业微信:"},{default:s(()=>[d("div",vo,[e.work_wechat_userid?(p(),u(B,{key:0},[t(C,{type:"success",size:"large"},{default:s(()=>[t(h,{class:"mr-1"},{default:s(()=>[t(V(eo))]),_:1}),_(" 已绑定("+fo(e.work_wechat_userid)+") ",1)]),_:1}),t(x,{type:"danger",link:"",onClick:F},{default:s(()=>[...o[7]||(o[7]=[_("解绑",-1)])]),_:1})],64)):(p(),u(B,{key:1},[t(C,{type:"info",size:"large"},{default:s(()=>[...o[8]||(o[8]=[_("未绑定",-1)])]),_:1}),t(x,{type:"primary",onClick:R},{default:s(()=>[t(h,{class:"mr-1"},{default:s(()=>[t(V(to))]),_:1}),o[9]||(o[9]=_(" 扫码绑定 ",-1))]),_:1})],64))])]),_:1})):wo("",!0),t(a,{label:"当前密码:",prop:"password_old"},{default:s(()=>[d("div",yo,[t(i,{modelValue:e.password_old,"onUpdate:modelValue":o[3]||(o[3]=n=>e.password_old=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"新的密码:",prop:"password"},{default:s(()=>[d("div",ho,[t(i,{modelValue:e.password,"onUpdate:modelValue":o[4]||(o[4]=n=>e.password=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"确定密码:",prop:"password_confirm"},{default:s(()=>[d("div",xo,[t(i,{modelValue:e.password_confirm,"onUpdate:modelValue":o[5]||(o[5]=n=>e.password_confirm=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),t(P,null,{default:s(()=>[t(x,{type:"primary",onClick:N},{default:s(()=>[...o[10]||(o[10]=[_("保存",-1)])]),_:1})]),_:1}),t(j,{modelValue:k.value,"onUpdate:modelValue":o[6]||(o[6]=n=>k.value=n),title:"扫码绑定企业微信",width:"440px","close-on-click-modal":!1,onClose:z},{default:s(()=>[d("div",Vo,[b.value?(p(),u("div",Uo,[t(h,{class:"is-loading",size:36,color:"var(--el-color-primary)"},{default:s(()=>[t(V(ro))]),_:1}),o[11]||(o[11]=d("div",{class:"mt-3 text-gray-400"},"加载企业微信扫码...",-1))])):(p(),u("div",Eo))]),o[12]||(o[12]=d("div",{class:"text-center text-sm text-gray-400 mt-2 mb-2"}," 请使用企业微信扫描二维码完成绑定 ",-1))]),_:1},8,["modelValue"])])}}}),De=mo(Co,[["__scopeId","data-v-00d65b91"]]);export{De as default}; +import{D as A,B as H,C as J,U as Q,d as G,i as X,K as Y,W as Z,E as v}from"./element-plus-DGP1XOrU.js";import{_ as $}from"./index-UGD9wxNK.js";import{_ as oo}from"./picker-lbwHqE-a.js";import{d as eo,al as to,l as ro}from"./@element-plus/icons-vue-CbYn5zW9.js";import{u as so,a as ao,k as m,O as no,b as lo,Q as io,_ as mo}from"./index-J_eFER10.js";import{a as po}from"./wecomOauthPostMessage-C_e6VGrO.js";import{f as W,b as co,d as uo,ak as p,I as u,a as t,aN as s,J as d,G as _o,F as B,O as _,H as wo,n as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as V,n as w,r as q}from"./@vue/reactivity-DiY1c2vO.js";import{Q as fo}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const go={class:"user-setting"},ko={class:"w-80"},bo={class:"w-80"},vo={class:"flex items-center gap-3"},yo={class:"w-80"},ho={class:"w-80"},xo={class:"w-80"},Vo={class:"bind-qrcode-wrap"},Uo={key:0,class:"text-center py-8"},Eo={key:1,id:"bind_wxwork_qrcode",class:"bind-qrcode"},Io=W({name:"userSetting"}),Co=W({...Io,setup(Bo){const U=w(),f=so(),e=q({avatar:"",account:"",name:"",work_wechat_userid:"",password_old:"",password:"",password_confirm:""}),S=q({avatar:[{required:!0,message:"头像不能为空",trigger:["change"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}]}),g="like_admin_wx_bind_oauth",E=w(!1),y=w({corp_id:"",agent_id:""}),k=w(!1),b=w(!1);let l=null;const L=async()=>{const r=f.userInfo;for(const o in e)r[o]!==void 0&&(e[o]=r[o])},M=async()=>{if(e.password_old||e.password||e.password_confirm){if(!e.password_old)return m.msgError("请输入当前密码");if(!e.password)return m.msgError("请输入新的密码");if(!e.password_confirm)return m.msgError("请输入确定密码");if(e.password_confirm!=e.password)return m.msgError("两次输入的密码不一样")}if(e.password_old&&e.password&&e.password_confirm){if(e.password_old.length<6||e.password_old.length>32)return m.msgError("密码长度在6到32之间");if(e.password.length<6||e.password.length>32)return m.msgError("密码长度在6到32之间");if(e.password_confirm.length<6||e.password_confirm.length>32)return m.msgError("密码长度在6到32之间")}const{work_wechat_userid:r,...o}=e;await io(o),f.getUserInfo()},N=async()=>{var r;await((r=U.value)==null?void 0:r.validate()),M()},O=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1",R=async()=>{k.value=!0,b.value=!0,window.WwLogin||await new Promise((o,c)=>{const a=document.createElement("script");a.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",a.onload=()=>o(),a.onerror=()=>c(new Error("加载企业微信JS失败")),document.head.appendChild(a)}),await D(),b.value=!1,await D(),l==null||l(),l=po({pathIncludes:"user/setting",lockKey:g,wxBindState:"bind_wxwork",onCode:o=>I(o)});const r=encodeURIComponent(O());new window.WwLogin({id:"bind_wxwork_qrcode",appid:y.value.corp_id,agentid:y.value.agent_id,redirect_uri:r,lang:"zh",state:"bind_wxwork",href:"",self_redirect:!1})},z=()=>{b.value=!1,l==null||l(),l=null},F=async()=>{await m.confirm("确定要解绑企业微信吗?解绑后将无法使用企业微信扫码登录。");try{await no(),e.work_wechat_userid="",v.success("解绑成功"),f.getUserInfo()}catch(r){v.error((r==null?void 0:r.msg)||"解绑失败")}},I=async r=>{try{const o=await lo({code:r});e.work_wechat_userid=(o==null?void 0:o.work_wechat_userid)||"",k.value=!1,v.success("企业微信绑定成功"),f.getUserInfo()}catch(o){v.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"绑定失败")}finally{const o=window.location.pathname;window.history.replaceState({},"",o)}};return co(async()=>{try{const i=await ao();i!=null&&i.enabled&&(E.value=!0,y.value={corp_id:i.corp_id,agent_id:i.agent_id})}catch{}const r=new URLSearchParams(window.location.search),o=r.get("code"),c=r.get("state"),a=r.get("bind_wxwork");if(o&&(c==="bind_wxwork"||a==="1")){if(sessionStorage.getItem(g)===o)return;sessionStorage.setItem(g,o),I(o).finally(()=>{sessionStorage.removeItem(g)})}}),L(),uo(()=>{l==null||l(),l=null}),(r,o)=>{const c=oo,a=H,i=J,h=G,C=Q,x=X,T=A,K=Y,P=$,j=Z;return p(),u("div",go,[t(K,{class:"!border-none",shadow:"never"},{default:s(()=>[t(T,{ref_key:"formRef",ref:U,class:"ls-form",model:e,rules:S,"label-width":"100px"},{default:s(()=>[t(a,{label:"头像:",prop:"avatar"},{default:s(()=>[t(c,{modelValue:e.avatar,"onUpdate:modelValue":o[0]||(o[0]=n=>e.avatar=n),limit:1},null,8,["modelValue"])]),_:1}),t(a,{label:"账号:",prop:"account"},{default:s(()=>[d("div",ko,[t(i,{modelValue:e.account,"onUpdate:modelValue":o[1]||(o[1]=n=>e.account=n),disabled:""},null,8,["modelValue"])])]),_:1}),t(a,{label:"名称:",prop:"name"},{default:s(()=>[d("div",bo,[t(i,{modelValue:e.name,"onUpdate:modelValue":o[2]||(o[2]=n=>e.name=n),placeholder:"请输入名称"},null,8,["modelValue"])])]),_:1}),E.value?(p(),_o(a,{key:0,label:"企业微信:"},{default:s(()=>[d("div",vo,[e.work_wechat_userid?(p(),u(B,{key:0},[t(C,{type:"success",size:"large"},{default:s(()=>[t(h,{class:"mr-1"},{default:s(()=>[t(V(eo))]),_:1}),_(" 已绑定("+fo(e.work_wechat_userid)+") ",1)]),_:1}),t(x,{type:"danger",link:"",onClick:F},{default:s(()=>[...o[7]||(o[7]=[_("解绑",-1)])]),_:1})],64)):(p(),u(B,{key:1},[t(C,{type:"info",size:"large"},{default:s(()=>[...o[8]||(o[8]=[_("未绑定",-1)])]),_:1}),t(x,{type:"primary",onClick:R},{default:s(()=>[t(h,{class:"mr-1"},{default:s(()=>[t(V(to))]),_:1}),o[9]||(o[9]=_(" 扫码绑定 ",-1))]),_:1})],64))])]),_:1})):wo("",!0),t(a,{label:"当前密码:",prop:"password_old"},{default:s(()=>[d("div",yo,[t(i,{modelValue:e.password_old,"onUpdate:modelValue":o[3]||(o[3]=n=>e.password_old=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"新的密码:",prop:"password"},{default:s(()=>[d("div",ho,[t(i,{modelValue:e.password,"onUpdate:modelValue":o[4]||(o[4]=n=>e.password=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"确定密码:",prop:"password_confirm"},{default:s(()=>[d("div",xo,[t(i,{modelValue:e.password_confirm,"onUpdate:modelValue":o[5]||(o[5]=n=>e.password_confirm=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),t(P,null,{default:s(()=>[t(x,{type:"primary",onClick:N},{default:s(()=>[...o[10]||(o[10]=[_("保存",-1)])]),_:1})]),_:1}),t(j,{modelValue:k.value,"onUpdate:modelValue":o[6]||(o[6]=n=>k.value=n),title:"扫码绑定企业微信",width:"440px","close-on-click-modal":!1,onClose:z},{default:s(()=>[d("div",Vo,[b.value?(p(),u("div",Uo,[t(h,{class:"is-loading",size:36,color:"var(--el-color-primary)"},{default:s(()=>[t(V(ro))]),_:1}),o[11]||(o[11]=d("div",{class:"mt-3 text-gray-400"},"加载企业微信扫码...",-1))])):(p(),u("div",Eo))]),o[12]||(o[12]=d("div",{class:"text-center text-sm text-gray-400 mt-2 mb-2"}," 请使用企业微信扫描二维码完成绑定 ",-1))]),_:1},8,["modelValue"])])}}}),De=mo(Co,[["__scopeId","data-v-00d65b91"]]);export{De as default}; diff --git a/server/public/admin/assets/setup-BE7_lWZ-.js b/server/public/admin/assets/setup-D9r44yec.js similarity index 84% rename from server/public/admin/assets/setup-BE7_lWZ-.js rename to server/public/admin/assets/setup-D9r44yec.js index 98928dd42..d04bc8bb4 100644 --- a/server/public/admin/assets/setup-BE7_lWZ-.js +++ b/server/public/admin/assets/setup-D9r44yec.js @@ -1 +1 @@ -import{_ as y}from"./index-D6hiZISU.js";import{D as k,B as w,K as B,i as V}from"./element-plus-DGP1XOrU.js";import{_ as x}from"./picker-C0hwSppU.js";import{a as C,b as D}from"./user-BEhg7-Z3.js";import{f as l,as as E,ak as n,I as N,a as e,aN as m,J as i,aP as S,G as U,O as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,r as F}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-D5PquIeg.js";import"./index-CZHppZGf.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-Dc1nFBAH.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const I={class:"user-setup"},h=l({name:"userSetup"}),Jt=l({...h,setup(G){const o=F({default_avatar:""}),a=async()=>{try{const r=await C();for(const t in o)o[t]=r[t]}catch(r){console.log("获取=>",r)}},_=async()=>{try{await D(o),a()}catch(r){console.log("保存=>",r)}};return a(),(r,t)=>{const u=x,s=w,c=k,d=B,f=V,v=y,g=E("perms");return n(),N("div",I,[e(d,{shadow:"never",class:"!border-none"},{default:m(()=>[t[2]||(t[2]=i("div",{class:"font-medium mb-7"},"基本设置",-1)),e(c,{ref:"formRef",model:p(o),"label-width":"120px"},{default:m(()=>[e(s,{label:"用户默认头像"},{default:m(()=>[i("div",null,[e(u,{modelValue:p(o).default_avatar,"onUpdate:modelValue":t[0]||(t[0]=b=>p(o).default_avatar=b),limit:1},null,8,["modelValue"])])]),_:1}),e(s,null,{default:m(()=>[...t[1]||(t[1]=[i("div",null,[i("div",{class:"form-tips"}," 用户注册时给的默认头像,建议尺寸:400*400像素,支持jpg,jpeg,png格式 ")],-1)])]),_:1})]),_:1},8,["model"])]),_:1}),S((n(),U(v,null,{default:m(()=>[e(f,{type:"primary",onClick:_},{default:m(()=>[...t[3]||(t[3]=[j("保存",-1)])]),_:1})]),_:1})),[[g,["setting.user.user/setConfig"]]])])}}});export{Jt as default}; +import{_ as y}from"./index-UGD9wxNK.js";import{D as k,B as w,K as B,i as V}from"./element-plus-DGP1XOrU.js";import{_ as x}from"./picker-lbwHqE-a.js";import{a as C,b as D}from"./user-DLPA6EUk.js";import{f as l,as as E,ak as n,I as N,a as e,aN as m,J as i,aP as S,G as U,O as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,r as F}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const I={class:"user-setup"},h=l({name:"userSetup"}),Jt=l({...h,setup(G){const o=F({default_avatar:""}),a=async()=>{try{const r=await C();for(const t in o)o[t]=r[t]}catch(r){console.log("获取=>",r)}},_=async()=>{try{await D(o),a()}catch(r){console.log("保存=>",r)}};return a(),(r,t)=>{const u=x,s=w,c=k,d=B,f=V,v=y,g=E("perms");return n(),N("div",I,[e(d,{shadow:"never",class:"!border-none"},{default:m(()=>[t[2]||(t[2]=i("div",{class:"font-medium mb-7"},"基本设置",-1)),e(c,{ref:"formRef",model:p(o),"label-width":"120px"},{default:m(()=>[e(s,{label:"用户默认头像"},{default:m(()=>[i("div",null,[e(u,{modelValue:p(o).default_avatar,"onUpdate:modelValue":t[0]||(t[0]=b=>p(o).default_avatar=b),limit:1},null,8,["modelValue"])])]),_:1}),e(s,null,{default:m(()=>[...t[1]||(t[1]=[i("div",null,[i("div",{class:"form-tips"}," 用户注册时给的默认头像,建议尺寸:400*400像素,支持jpg,jpeg,png格式 ")],-1)])]),_:1})]),_:1},8,["model"])]),_:1}),S((n(),U(v,null,{default:m(()=>[e(f,{type:"primary",onClick:_},{default:m(()=>[...t[3]||(t[3]=[j("保存",-1)])]),_:1})]),_:1})),[[g,["setting.user.user/setConfig"]]])])}}});export{Jt as default}; diff --git a/server/public/admin/assets/statistics-Cs8S-p71.js b/server/public/admin/assets/statistics-CIPjXJvE.js similarity index 93% rename from server/public/admin/assets/statistics-Cs8S-p71.js rename to server/public/admin/assets/statistics-CIPjXJvE.js index 4a681e240..a73a6e515 100644 --- a/server/public/admin/assets/statistics-Cs8S-p71.js +++ b/server/public/admin/assets/statistics-CIPjXJvE.js @@ -1 +1 @@ -import{_ as C}from"./index-D6hiZISU.js";import{K as g,B as D,C as h,D as B,i as E}from"./element-plus-DGP1XOrU.js";import{e as I,f as V}from"./website-CUzsflNy.js";import{f as c,b as S,as as N,ak as p,I as F,a as r,aN as i,J as s,O as a,aP as M,G as R}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,n as G,r as J}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const K={class:"website-statistics"},O={class:"flex flex-col"},P={class:"w-80"},T=c({name:"webInformation"}),Et=c({...T,setup(U){const l=G(),o=J({clarity_code:""}),_={},n=async()=>{const e=await I();for(const t in o)o[t]=e[t]},d=async()=>{var e;await((e=l.value)==null?void 0:e.validate()),await V(o),n()};return S(()=>{n()}),(e,t)=>{const f=h,u=D,y=g,b=B,w=E,v=C,x=N("perms");return p(),F("div",K,[r(b,{ref_key:"formRef",ref:l,rules:_,class:"ls-form",model:m(o),"scroll-to-error":"","label-width":"120px"},{default:i(()=>[r(y,{shadow:"never",class:"!border-none"},{default:i(()=>[t[2]||(t[2]=s("div",{class:"text-xl font-medium mb-[20px]"},"Clarity配置",-1)),r(u,{label:"应用ID",prop:"clarity_code"},{default:i(()=>[s("div",O,[s("div",P,[r(f,{modelValue:m(o).clarity_code,"onUpdate:modelValue":t[0]||(t[0]=k=>m(o).clarity_code=k),modelModifiers:{trim:!0},placeholder:"请填写应用ID",maxlength:"10","show-word-limit":""},null,8,["modelValue"])]),t[1]||(t[1]=s("div",{class:"form-tips"},[a(" 请前往"),s("a",{class:"text-primary",href:"https://clarity.microsoft.com",target:"_blank"}," 《Clarity官网》 "),a(" 创建Clarity统计应用 ")],-1))])]),_:1})]),_:1})]),_:1},8,["model"]),M((p(),R(v,null,{default:i(()=>[r(w,{type:"primary",onClick:d},{default:i(()=>[...t[3]||(t[3]=[a("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setWebsite"]]])])}}});export{Et as default}; +import{_ as C}from"./index-UGD9wxNK.js";import{K as g,B as D,C as h,D as B,i as E}from"./element-plus-DGP1XOrU.js";import{e as I,f as V}from"./website-CeVKwoPS.js";import{f as c,b as S,as as N,ak as p,I as F,a as r,aN as i,J as s,O as a,aP as M,G as R}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,n as G,r as J}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const K={class:"website-statistics"},O={class:"flex flex-col"},P={class:"w-80"},T=c({name:"webInformation"}),Et=c({...T,setup(U){const l=G(),o=J({clarity_code:""}),_={},n=async()=>{const e=await I();for(const t in o)o[t]=e[t]},d=async()=>{var e;await((e=l.value)==null?void 0:e.validate()),await V(o),n()};return S(()=>{n()}),(e,t)=>{const f=h,u=D,y=g,b=B,w=E,v=C,x=N("perms");return p(),F("div",K,[r(b,{ref_key:"formRef",ref:l,rules:_,class:"ls-form",model:m(o),"scroll-to-error":"","label-width":"120px"},{default:i(()=>[r(y,{shadow:"never",class:"!border-none"},{default:i(()=>[t[2]||(t[2]=s("div",{class:"text-xl font-medium mb-[20px]"},"Clarity配置",-1)),r(u,{label:"应用ID",prop:"clarity_code"},{default:i(()=>[s("div",O,[s("div",P,[r(f,{modelValue:m(o).clarity_code,"onUpdate:modelValue":t[0]||(t[0]=k=>m(o).clarity_code=k),modelModifiers:{trim:!0},placeholder:"请填写应用ID",maxlength:"10","show-word-limit":""},null,8,["modelValue"])]),t[1]||(t[1]=s("div",{class:"form-tips"},[a(" 请前往"),s("a",{class:"text-primary",href:"https://clarity.microsoft.com",target:"_blank"}," 《Clarity官网》 "),a(" 创建Clarity统计应用 ")],-1))])]),_:1})]),_:1})]),_:1},8,["model"]),M((p(),R(v,null,{default:i(()=>[r(w,{type:"primary",onClick:d},{default:i(()=>[...t[3]||(t[3]=[a("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setWebsite"]]])])}}});export{Et as default}; diff --git a/server/public/admin/assets/stats-D2lwBNks.js b/server/public/admin/assets/stats-DXRw03Ae.js similarity index 97% rename from server/public/admin/assets/stats-D2lwBNks.js rename to server/public/admin/assets/stats-DXRw03Ae.js index 08ea266a8..2fdc0eb9b 100644 --- a/server/public/admin/assets/stats-D2lwBNks.js +++ b/server/public/admin/assets/stats-DXRw03Ae.js @@ -1 +1 @@ -import{r as e}from"./index-fRv3NTFQ.js";function i(t){return e.get({url:"/stats.performanceDashboard/overview",params:t,timeout:12e4},{ignoreCancelToken:!0})}function r(t){return e.get({url:"/stats.conversion/overview",params:t})}function a(t){return e.get({url:"/stats.yejiStats/overview",params:t})}function o(t){return e.get({url:"/stats.yejiStats/multi",params:t})}function u(){return e.get({url:"/stats.yejiStats/deptOptions"})}function l(){return e.get({url:"/stats.yejiStats/channelOptions"})}function c(t){return e.get({url:"/stats.yejiStats/leaderboard",params:t})}function m(t){return e.get({url:"/stats.yejiStats/unassignedBreakdown",params:t})}function v(t){return e.get({url:"/stats.yejiStats/leadLines",params:t})}function g(t){return e.get({url:"/stats.yejiStats/appointmentLines",params:t})}function S(t){return e.get({url:"/stats.yejiStats/revisitBreakdown",params:t})}function f(t){return e.get({url:"/stats.yejiStats/assignLines",params:t})}function p(t){return e.get({url:"/stats.doctorDailyStats/overview",params:t})}const s=12e4;function d(t){return e.get({url:"/stats.commissionSettlement/overview",params:t,timeout:s},{ignoreCancelToken:!0})}function y(){return e.get({url:"/stats.commissionSettlement/deptOptions"})}function O(){return e.get({url:"/stats.commissionSettlement/channelOptions"})}function j(t){return e.get({url:"/stats.commissionSettlement/orderLines",params:t,timeout:s},{ignoreCancelToken:!0})}function L(t){return e.post({url:"/stats.commissionSettlement/saveReconcile",params:t})}function w(t){return e.post({url:"/stats.commissionSettlement/confirmFinalize",params:t,timeout:s},{ignoreCancelToken:!0})}function R(t){return e.post({url:"/stats.commissionSettlement/confirmRevoke",params:t})}function k(t){return e.get({url:"/stats.revisitRate/overview",params:t})}function C(){return e.get({url:"/stats.revisitRate/deptOptions"})}function T(t){return e.get({url:"/stats.revisitRate/assignLines",params:t})}function A(t){return e.get({url:"/stats.revisitRate/visitOrderLines",params:t})}function b(t){return e.get({url:"/stats.autoAssignLog/lists",params:t})}function h(t){return e.post({url:"/stats.autoAssignLog/rollback",data:t})}function D(t){return e.get({url:"/stats.assistantPerformance/overview",params:t})}export{A,y as a,O as b,j as c,d,L as e,w as f,R as g,p as h,u as i,l as j,a as k,S as l,v as m,c as n,m as o,f as p,g as q,D as r,b as s,h as t,r as u,i as v,k as w,C as x,o as y,T as z}; +import{r as e}from"./index-J_eFER10.js";function i(t){return e.get({url:"/stats.performanceDashboard/overview",params:t,timeout:12e4},{ignoreCancelToken:!0})}function r(t){return e.get({url:"/stats.conversion/overview",params:t})}function a(t){return e.get({url:"/stats.yejiStats/overview",params:t})}function o(t){return e.get({url:"/stats.yejiStats/multi",params:t})}function u(){return e.get({url:"/stats.yejiStats/deptOptions"})}function l(){return e.get({url:"/stats.yejiStats/channelOptions"})}function c(t){return e.get({url:"/stats.yejiStats/leaderboard",params:t})}function m(t){return e.get({url:"/stats.yejiStats/unassignedBreakdown",params:t})}function v(t){return e.get({url:"/stats.yejiStats/leadLines",params:t})}function g(t){return e.get({url:"/stats.yejiStats/appointmentLines",params:t})}function S(t){return e.get({url:"/stats.yejiStats/revisitBreakdown",params:t})}function f(t){return e.get({url:"/stats.yejiStats/assignLines",params:t})}function p(t){return e.get({url:"/stats.doctorDailyStats/overview",params:t})}const s=12e4;function d(t){return e.get({url:"/stats.commissionSettlement/overview",params:t,timeout:s},{ignoreCancelToken:!0})}function y(){return e.get({url:"/stats.commissionSettlement/deptOptions"})}function O(){return e.get({url:"/stats.commissionSettlement/channelOptions"})}function j(t){return e.get({url:"/stats.commissionSettlement/orderLines",params:t,timeout:s},{ignoreCancelToken:!0})}function L(t){return e.post({url:"/stats.commissionSettlement/saveReconcile",params:t})}function w(t){return e.post({url:"/stats.commissionSettlement/confirmFinalize",params:t,timeout:s},{ignoreCancelToken:!0})}function R(t){return e.post({url:"/stats.commissionSettlement/confirmRevoke",params:t})}function k(t){return e.get({url:"/stats.revisitRate/overview",params:t})}function C(){return e.get({url:"/stats.revisitRate/deptOptions"})}function T(t){return e.get({url:"/stats.revisitRate/assignLines",params:t})}function A(t){return e.get({url:"/stats.revisitRate/visitOrderLines",params:t})}function b(t){return e.get({url:"/stats.autoAssignLog/lists",params:t})}function h(t){return e.post({url:"/stats.autoAssignLog/rollback",data:t})}function D(t){return e.get({url:"/stats.assistantPerformance/overview",params:t})}export{A,y as a,O as b,j as c,d,L as e,w as f,R as g,p as h,u as i,l as j,a as k,S as l,v as m,c as n,m as o,f as p,g as q,D as r,b as s,h as t,r as u,i as v,k as w,C as x,o as y,T as z}; diff --git a/server/public/admin/assets/style-CFK9MlRr.js b/server/public/admin/assets/style-B1g_bg_k.js similarity index 88% rename from server/public/admin/assets/style-CFK9MlRr.js rename to server/public/admin/assets/style-B1g_bg_k.js index 89f614eb0..b47b73538 100644 --- a/server/public/admin/assets/style-CFK9MlRr.js +++ b/server/public/admin/assets/style-B1g_bg_k.js @@ -1 +1 @@ -import{_ as x}from"./index-D6hiZISU.js";import{m as k,l as B,K as N,i as T}from"./element-plus-DGP1XOrU.js";import{a as h,s as D}from"./decoration-HusoyoI3.js";import{_ as E}from"./mobile-style.vue_vue_type_script_setup_true_lang-BPf5hzWL.js";import{f as I,b as J,ak as m,I as l,a as n,aN as a,J as O,F as d,ap as P,G as u,at as U,O as F,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{n as c,m as R,a as S,y as _}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./theme-picker-DBEHQPAJ.js";const A={class:"mt-[-10px]"},Et=I({__name:"style",setup(G){const e=c(0),s=c([{name:"移动端",id:5,component:R(E),data:{themeColorId:1,topTextColor:"white",navigationBarColor:"",themeColor1:"",themeColor2:"",buttonColor:"white"}}]),o=L(()=>s.value[e.value]||{}),p=async()=>{const i=await h({id:o.value.id});o.value.data=JSON.parse(i.data)},f=async()=>{await D({id:o.value.id,type:o.value.id,data:JSON.stringify(o.value.data)}),p()};return J(async()=>{await p()}),(i,r)=>{const b=B,v=k,y=N,C=T,V=x;return m(),l(d,null,[n(y,{shadow:"never",class:"!border-none"},{default:a(()=>[O("div",A,[n(v,{modelValue:_(e),"onUpdate:modelValue":r[0]||(r[0]=t=>S(e)?e.value=t:null)},{default:a(()=>[(m(!0),l(d,null,P(_(s),(t,g)=>(m(),u(b,{key:t.id,label:t.name,name:g},{default:a(()=>[(m(),u(U(t.component),{modelValue:t.data,"onUpdate:modelValue":w=>t.data=w},null,8,["modelValue","onUpdate:modelValue"]))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])]),_:1}),n(V,{class:"mt-4",fixed:!0},{default:a(()=>[n(C,{type:"primary",onClick:f},{default:a(()=>[...r[1]||(r[1]=[F("保存",-1)])]),_:1})]),_:1})],64)}}});export{Et as default}; +import{_ as x}from"./index-UGD9wxNK.js";import{m as k,l as B,K as N,i as T}from"./element-plus-DGP1XOrU.js";import{a as h,s as D}from"./decoration-BRUlzC1v.js";import{_ as E}from"./mobile-style.vue_vue_type_script_setup_true_lang-BkY-Hl4A.js";import{f as I,b as J,ak as m,I as l,a as n,aN as a,J as O,F as d,ap as P,G as u,at as U,O as F,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{n as c,m as R,a as S,y as _}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./theme-picker-4kexhjea.js";const A={class:"mt-[-10px]"},Et=I({__name:"style",setup(G){const e=c(0),s=c([{name:"移动端",id:5,component:R(E),data:{themeColorId:1,topTextColor:"white",navigationBarColor:"",themeColor1:"",themeColor2:"",buttonColor:"white"}}]),o=L(()=>s.value[e.value]||{}),p=async()=>{const i=await h({id:o.value.id});o.value.data=JSON.parse(i.data)},f=async()=>{await D({id:o.value.id,type:o.value.id,data:JSON.stringify(o.value.data)}),p()};return J(async()=>{await p()}),(i,r)=>{const b=B,v=k,y=N,C=T,V=x;return m(),l(d,null,[n(y,{shadow:"never",class:"!border-none"},{default:a(()=>[O("div",A,[n(v,{modelValue:_(e),"onUpdate:modelValue":r[0]||(r[0]=t=>S(e)?e.value=t:null)},{default:a(()=>[(m(!0),l(d,null,P(_(s),(t,g)=>(m(),u(b,{key:t.id,label:t.name,name:g},{default:a(()=>[(m(),u(U(t.component),{modelValue:t.data,"onUpdate:modelValue":w=>t.data=w},null,8,["modelValue","onUpdate:modelValue"]))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])]),_:1}),n(V,{class:"mt-4",fixed:!0},{default:a(()=>[n(C,{type:"primary",onClick:f},{default:a(()=>[...r[1]||(r[1]=[F("保存",-1)])]),_:1})]),_:1})],64)}}});export{Et as default}; diff --git a/server/public/admin/assets/tabbar-BqLXyGAa.js b/server/public/admin/assets/tabbar-BYrAmmq1.js similarity index 82% rename from server/public/admin/assets/tabbar-BqLXyGAa.js rename to server/public/admin/assets/tabbar-BYrAmmq1.js index 69e7a90a3..007938d8f 100644 --- a/server/public/admin/assets/tabbar-BqLXyGAa.js +++ b/server/public/admin/assets/tabbar-BYrAmmq1.js @@ -1 +1 @@ -import{_ as k}from"./index-D6hiZISU.js";import{K as B,s as f,i as C}from"./element-plus-DGP1XOrU.js";import{c as E,d as T}from"./decoration-HusoyoI3.js";import P from"./menu-CVaxMLtS.js";import{_ as N}from"./attr.vue_vue_type_script_setup_true_lang-BEMWfwi1.js";import I from"./content-C12ui3Qz.js";import{f as b,w as M,as as R,ak as p,I as O,J as i,a as m,aN as n,G as c,at as v,Z as S,aP as U,O as z,A}from"./@vue/runtime-core-C6bnekPw.js";import{r as G,m as J,y as e,a as K,n as L}from"./@vue/reactivity-DiY1c2vO.js";import{P as Z}from"./@vue/shared-mAAVTE9n.js";import{_ as $}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-Dc1nFBAH.js";import"./picker-8l5NOLQi.js";import"./index-D5PquIeg.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-BsGgZfIu.js";import"./usePaging-DofycyjW.js";import"./picker-C0hwSppU.js";import"./index-CZHppZGf.js";import"./index-Dxrq29dg.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./decoration-img-63yHTKq5.js";const j={attr:N,content:I},q={class:"decoration-tabbar"},F={class:"flex-1 min-h-0 w-full"},H={class:"h-full"},Q={class:"flex min-w-[900px] scroll-view-content"},W={class:"flex-1 pages-preview-box"},X={class:"pages-preview mx-[30px]"},Y={class:"px-5 pb-5"},tt=b({name:"decorationTabbar"}),ot=b({...tt,setup(et){let d;(t=>{t.MOBILE="1",t.PC="2"})(d||(d={}));const a=L("1"),l=G({1:{id:1,type:1,name:"移动端导航栏",data:{style:{default_color:"",selected_color:""},list:[]},component:J(j)}}),r=A(()=>l[a.value]),_=async()=>{const t=await E({type:a.value});l[1].data=t},x=async()=>{const{data:t}=r.value;await T({...t}),_()};return M(a,()=>{_()},{immediate:!0}),(t,s)=>{const w=B,u=f,h=f,y=C,g=k,V=R("perms");return p(),O("div",q,[i("div",F,[i("div",H,[m(h,null,{default:n(()=>[i("div",Q,[m(w,{shadow:"never",class:"!border-none flex","body-style":{"padding-right":0}},{default:n(()=>[m(P,{class:"!h-full flex-none",modelValue:e(a),"onUpdate:modelValue":s[0]||(s[0]=o=>K(a)?a.value=o:null),menus:e(l)},null,8,["modelValue","menus"])]),_:1}),i("div",W,[i("div",X,[m(u,{height:"100%"},{default:n(()=>{var o;return[(p(),c(v((o=e(r).component)==null?void 0:o.content),Z(S(e(r).data)),null,16))]}),_:1})])]),m(u,{class:"attr-setting flex-none"},{default:n(()=>{var o;return[i("div",Y,[(p(),c(v((o=e(r).component)==null?void 0:o.attr),{modelValue:e(r).data,"onUpdate:modelValue":s[1]||(s[1]=D=>e(r).data=D)},null,8,["modelValue"]))])]}),_:1})])]),_:1})])]),U((p(),c(g,{fixed:!0},{default:n(()=>[m(y,{type:"primary",onClick:x},{default:n(()=>[...s[2]||(s[2]=[z("保存",-1)])]),_:1})]),_:1})),[[V,["decorate:tabbar:save"]]])])}}}),lo=$(ot,[["__scopeId","data-v-af97266e"]]);export{lo as default}; +import{_ as k}from"./index-UGD9wxNK.js";import{K as B,s as f,i as C}from"./element-plus-DGP1XOrU.js";import{c as E,d as T}from"./decoration-BRUlzC1v.js";import P from"./menu-Czs2_ERZ.js";import{_ as N}from"./attr.vue_vue_type_script_setup_true_lang-s3MjTyMz.js";import I from"./content-C_Os7VUy.js";import{f as b,w as M,as as R,ak as p,I as O,J as i,a as m,aN as n,G as c,at as v,Z as S,aP as U,O as z,A}from"./@vue/runtime-core-C6bnekPw.js";import{r as G,m as J,y as e,a as K,n as L}from"./@vue/reactivity-DiY1c2vO.js";import{P as Z}from"./@vue/shared-mAAVTE9n.js";import{_ as $}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-sgqCyAwB.js";import"./picker-CeVtQr2X.js";import"./index-BVjWjU3h.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./article-D7twg9M1.js";import"./usePaging-DofycyjW.js";import"./picker-lbwHqE-a.js";import"./index-CBjo9bLs.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-rAH3u1_X.js";import"./decoration-img-cJ3sOJu-.js";const j={attr:N,content:I},q={class:"decoration-tabbar"},F={class:"flex-1 min-h-0 w-full"},H={class:"h-full"},Q={class:"flex min-w-[900px] scroll-view-content"},W={class:"flex-1 pages-preview-box"},X={class:"pages-preview mx-[30px]"},Y={class:"px-5 pb-5"},tt=b({name:"decorationTabbar"}),ot=b({...tt,setup(et){let d;(t=>{t.MOBILE="1",t.PC="2"})(d||(d={}));const a=L("1"),l=G({1:{id:1,type:1,name:"移动端导航栏",data:{style:{default_color:"",selected_color:""},list:[]},component:J(j)}}),r=A(()=>l[a.value]),_=async()=>{const t=await E({type:a.value});l[1].data=t},x=async()=>{const{data:t}=r.value;await T({...t}),_()};return M(a,()=>{_()},{immediate:!0}),(t,s)=>{const w=B,u=f,h=f,y=C,g=k,V=R("perms");return p(),O("div",q,[i("div",F,[i("div",H,[m(h,null,{default:n(()=>[i("div",Q,[m(w,{shadow:"never",class:"!border-none flex","body-style":{"padding-right":0}},{default:n(()=>[m(P,{class:"!h-full flex-none",modelValue:e(a),"onUpdate:modelValue":s[0]||(s[0]=o=>K(a)?a.value=o:null),menus:e(l)},null,8,["modelValue","menus"])]),_:1}),i("div",W,[i("div",X,[m(u,{height:"100%"},{default:n(()=>{var o;return[(p(),c(v((o=e(r).component)==null?void 0:o.content),Z(S(e(r).data)),null,16))]}),_:1})])]),m(u,{class:"attr-setting flex-none"},{default:n(()=>{var o;return[i("div",Y,[(p(),c(v((o=e(r).component)==null?void 0:o.attr),{modelValue:e(r).data,"onUpdate:modelValue":s[1]||(s[1]=D=>e(r).data=D)},null,8,["modelValue"]))])]}),_:1})])]),_:1})])]),U((p(),c(g,{fixed:!0},{default:n(()=>[m(y,{type:"primary",onClick:x},{default:n(()=>[...s[2]||(s[2]=[z("保存",-1)])]),_:1})]),_:1})),[[V,["decorate:tabbar:save"]]])])}}}),lo=$(ot,[["__scopeId","data-v-af97266e"]]);export{lo as default}; diff --git a/server/public/admin/assets/tcm-CEIBuAeK.js b/server/public/admin/assets/tcm-D-ZRccbe.js similarity index 99% rename from server/public/admin/assets/tcm-CEIBuAeK.js rename to server/public/admin/assets/tcm-D-ZRccbe.js index 22e03998b..8a9751a53 100644 --- a/server/public/admin/assets/tcm-CEIBuAeK.js +++ b/server/public/admin/assets/tcm-D-ZRccbe.js @@ -1 +1 @@ -import{r as t}from"./index-fRv3NTFQ.js";function i(r){return t.get({url:"/tcm.diagnosis/lists",params:r})}function n(r){return t.get({url:"/tcm.diagnosis/readonlyDetail",params:r})}function s(r){return t.get({url:"/tcm.diagnosis/trackingWindow",params:r})}function o(r){return t.post({url:"/tcm.diagnosis/addTrackingNote",params:r})}function c(r){return t.get({url:"/tcm.diagnosis/trackingNotes",params:r})}function a(r){return t.get({url:"/tcm.diagnosis/assistantDiagnosisStats",params:r})}function u(r){return t.post({url:"/tcm.diagnosis/add",params:r})}function p(r){return t.post({url:"/tcm.diagnosis/edit",params:r})}function d(r){return t.post({url:"/tcm.diagnosis/delete",params:r})}function l(r){return t.get({url:"/tcm.diagnosis/detail",params:r})}function g(r){return t.post({url:"/tcm.diagnosis/setRevisitSlotStartOffset",params:r})}function m(r){return t.get({url:"/tcm.diagnosis/guahaoLogList",params:r})}function f(r){return t.post({url:"/tcm.diagnosis/checkPhone",params:r})}function O(r){return t.post({url:"/tcm.diagnosis/checkIdCard",params:r})}function R(r){return t.post({url:"/tcm.diagnosis/fillIdCard",params:r})}function y(r){return t.post({url:"/tcm.diagnosis/assign",params:r})}function h(r){return t.get({url:"/tcm.diagnosis/assignLogList",params:r})}function C(){return t.get({url:"/tcm.diagnosis/getAssistants"})}function P(){return t.get({url:"/tcm.diagnosis/getDoctors"})}function A(r){return t.post({url:"/tcm.bloodRecord/add",params:r})}function L(r){return t.post({url:"/tcm.bloodRecord/edit",params:r})}function b(r){return t.post({url:"/tcm.bloodRecord/delete",params:r})}function D(r){return t.get({url:"/tcm.bloodRecord/getRecordsByPatient",params:r})}function k(r){return t.get({url:"/tcm.bloodRecord/getBloodSugarTrend",params:r})}function T(r){return t.post({url:"/tcm.dietRecord/add",params:r})}function S(r){return t.post({url:"/tcm.dietRecord/edit",params:r})}function x(r){return t.post({url:"/tcm.dietRecord/delete",params:r})}function B(r){return t.get({url:"/tcm.dietRecord/getRecordsByPatient",params:r})}function E(r){return t.post({url:"/tcm.exerciseRecord/add",params:r})}function W(r){return t.post({url:"/tcm.exerciseRecord/edit",params:r})}function v(r){return t.post({url:"/tcm.exerciseRecord/delete",params:r})}function w(r){return t.get({url:"/tcm.exerciseRecord/getRecordsByPatient",params:r})}function I(r){return t.post({url:"/tcm.diagnosis/getCallSignature",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function M(r){return t.post({url:"/tcm.diagnosis/startCall",params:r})}function G(r){return t.post({url:"/tcm.diagnosis/endCall",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function U(r){return t.get({url:"/tcm.diagnosis/getCallRecords",params:r})}function q(r){return t.post({url:"/tcm.diagnosis/bindCallRoom",params:r})}function N(r){return t.post({url:"/tcm.diagnosis/attachLocalCallRecording",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function Q(r){return t.post({url:"/tcm.diagnosis/createManualCallRecord",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function J(r){return t.get({url:"/tcm.diagnosis/watchCall",params:r})}function j(r){return t.post({url:"/tcm.diagnosis/generateMiniProgramQrcode",params:r})}function z(r){return t.post({url:"/tcm.diagnosis/generateOrderQrcode",params:r})}function F(r){return t.get({url:"/tcm.diagnosis/getImChatMessages",params:r})}function H(r){return t.post({url:"/tcm.diagnosis/triggerImChatSync",data:r})}function V(r){return t.get({url:"/tcm.diagnosis/getWechatChatRecords",params:r})}function K(r){return t.post({url:"/tcm.diagnosis/addWechatChatRecord",params:r})}function X(r){return t.post({url:"/tcm.diagnosis/deleteWechatChatRecord",params:r})}function Y(r){return t.get({url:"/tcm.diagnosis/getWechatExternalContact",params:r})}function Z(r){return t.get({url:"/tcm.prescription/lists",params:r})}function _(r){return t.post({url:"/tcm.prescription/add",params:r})}function $(r){return t.post({url:"/tcm.prescription/edit",params:r})}function rr(r){return t.post({url:"/tcm.prescription/patchPatient",params:r})}function tr(r){return t.post({url:"/tcm.prescription/delete",params:r})}function er(r){return t.get({url:"/tcm.prescription/detail",params:r})}function ir(r){return t.get({url:"/tcm.prescription/listByDiagnosis",params:r})}function nr(r){return t.get({url:"/tcm.prescription/getByAppointment",params:r})}function sr(r){return t.post({url:"/tcm.prescription/void",params:r})}function or(r){return t.post({url:"/tcm.prescription/audit",params:r})}function cr(r){return t.post({url:"/tcm.prescriptionOrder/create",params:r})}function ar(r){return t.get({url:"/tcm.prescriptionOrder/lists",params:r})}function ur(r){return t.get({url:"/tcm.prescriptionOrder/export",params:r})}function pr(r){return t.get({url:"/tcm.prescriptionOrder/paidPayOrders",params:r})}function dr(r){return t.post({url:"/tcm.prescriptionOrder/withdraw",params:r})}function lr(r){return t.get({url:"/tcm.prescriptionOrder/logisticsTrace",params:r})}function gr(r){return t.post({url:"/tcm.prescriptionOrder/logisticsJdUpdate",params:r})}function mr(r){return t.get({url:"/tcm.prescriptionOrder/detail",params:r})}function fr(r){return t.post({url:"/tcm.prescriptionOrder/edit",params:r})}function Or(r){return t.post({url:"/tcm.prescriptionOrder/ddcode",params:r})}function Rr(r){return t.post({url:"/tcm.prescriptionOrder/patchPrescriptionPatient",params:r})}function yr(r){return t.post({url:"/tcm.prescriptionOrder/patchPrescriptionUsage",params:r})}function hr(r){return t.post({url:"/tcm.prescriptionOrder/auditPrescription",params:r})}function Cr(r){return t.post({url:"/tcm.prescriptionOrder/auditPayment",params:r})}function Pr(r){return t.post({url:"/tcm.prescriptionOrder/revokeRxAudit",params:r})}function Ar(r){return t.post({url:"/tcm.prescriptionOrder/batchAssignAssistant",params:r})}function Lr(r){return t.post({url:"/tcm.prescriptionOrder/revokePayAudit",params:r})}function br(r){return t.post({url:"/tcm.prescriptionOrder/ship",params:r})}function Dr(r){return t.post({url:"/tcm.prescriptionOrder/addPayOrder",params:r})}function kr(r){return t.post({url:"/tcm.prescriptionOrder/linkPayOrder",params:r})}function Tr(r){return t.post({url:"/tcm.prescriptionOrder/requestCompletion",params:r})}function Sr(r){return t.post({url:"/tcm.prescriptionOrder/complete",params:r})}function xr(r){return t.post({url:"/tcm.prescriptionOrder/refund",params:r})}function Br(r){return t.post({url:"/tcm.prescriptionOrder/uploadToPharmacy",params:r})}function Er(r){return t.post({url:"/tcm.prescriptionOrder/confirmGancaoSubmission",params:r})}function Wr(r){return t.post({url:"/tcm.prescriptionOrder/previewGancaoRecipel",params:r})}function vr(r){return t.get({url:"/tcm.prescriptionOrder/logs",params:r})}function wr(r){return t.post({url:"/tcm.prescriptionOrder/addLog",params:r})}function Ir(r){return t.post({url:"/tcm.prescriptionOrder/unlinkPayOrder",params:r})}function Mr(r){return t.post({url:"/tcm.prescriptionOrder/updateAmount",params:r})}function Gr(r){return t.post({url:"/tcm.prescriptionOrder/setShipMode",params:r})}function Ur(r){return t.get({url:"/tcm.prescriptionLibrary/lists",params:r})}function qr(r){return t.post({url:"/tcm.prescriptionLibrary/add",params:r})}function Nr(r){return t.post({url:"/tcm.prescriptionLibrary/edit",params:r})}function Qr(r){return t.post({url:"/tcm.prescriptionLibrary/delete",params:r})}function Jr(r={}){return t.get({url:"/tcm.prescriptionLibrary/missingAiReports",params:r,timeout:3e4},{ignoreCancelToken:!0})}function jr(r){return t.get({url:"/tcm.prescriptionLibrary/aiReports",params:r,timeout:3e4},{ignoreCancelToken:!0})}function zr(r){return t.post({url:"/tcm.prescriptionLibrary/generateAiReports",params:r,timeout:21e4},{ignoreCancelToken:!0,isOpenRetry:!1})}function Fr(r){return t.post({url:"/tcm.prescriptionLibrary/editAiReport",params:r,timeout:3e4},{ignoreCancelToken:!0,isOpenRetry:!1})}function Hr(r){return t.get({url:"/tcm.diagnosisTodo/lists",params:r})}function Vr(r){return t.post({url:"/tcm.diagnosisTodo/add",params:r})}function Kr(r){return t.post({url:"/tcm.diagnosisTodo/cancel",params:r})}export{L as $,Nr as A,Qr as B,ur as C,Ar as D,Gr as E,Rr as F,Mr as G,fr as H,hr as I,Cr as J,dr as K,Wr as L,Br as M,Or as N,br as O,xr as P,Sr as Q,Tr as R,Dr as S,kr as T,Pr as U,Lr as V,j as W,z as X,I as Y,s as Z,c as _,Jr as a,A as a0,S as a1,T as a2,W as a3,E as a4,o as a5,Hr as a6,Vr as a7,Kr as a8,nr as a9,V as aA,K as aB,X as aC,d as aD,Y as aE,n as aF,a as aG,G as aH,q as aI,M as aJ,l as aa,f as ab,O as ac,u as ad,p as ae,h as af,J as ag,k as ah,D as ai,b as aj,U as ak,N as al,Q as am,ir as an,B as ao,x as ap,w as aq,v as ar,F as as,H as at,g as au,sr as av,i as aw,y as ax,m as ay,R as az,zr as b,jr as c,Fr as d,Ir as e,yr as f,P as g,wr as h,lr as i,gr as j,vr as k,pr as l,mr as m,C as n,rr as o,Er as p,er as q,cr as r,Z as s,or as t,Ur as u,_ as v,$ as w,tr as x,ar as y,qr as z}; +import{r as t}from"./index-J_eFER10.js";function i(r){return t.get({url:"/tcm.diagnosis/lists",params:r})}function n(r){return t.get({url:"/tcm.diagnosis/readonlyDetail",params:r})}function s(r){return t.get({url:"/tcm.diagnosis/trackingWindow",params:r})}function o(r){return t.post({url:"/tcm.diagnosis/addTrackingNote",params:r})}function c(r){return t.get({url:"/tcm.diagnosis/trackingNotes",params:r})}function a(r){return t.get({url:"/tcm.diagnosis/assistantDiagnosisStats",params:r})}function u(r){return t.post({url:"/tcm.diagnosis/add",params:r})}function p(r){return t.post({url:"/tcm.diagnosis/edit",params:r})}function d(r){return t.post({url:"/tcm.diagnosis/delete",params:r})}function l(r){return t.get({url:"/tcm.diagnosis/detail",params:r})}function g(r){return t.post({url:"/tcm.diagnosis/setRevisitSlotStartOffset",params:r})}function m(r){return t.get({url:"/tcm.diagnosis/guahaoLogList",params:r})}function f(r){return t.post({url:"/tcm.diagnosis/checkPhone",params:r})}function O(r){return t.post({url:"/tcm.diagnosis/checkIdCard",params:r})}function R(r){return t.post({url:"/tcm.diagnosis/fillIdCard",params:r})}function y(r){return t.post({url:"/tcm.diagnosis/assign",params:r})}function h(r){return t.get({url:"/tcm.diagnosis/assignLogList",params:r})}function C(){return t.get({url:"/tcm.diagnosis/getAssistants"})}function P(){return t.get({url:"/tcm.diagnosis/getDoctors"})}function A(r){return t.post({url:"/tcm.bloodRecord/add",params:r})}function L(r){return t.post({url:"/tcm.bloodRecord/edit",params:r})}function b(r){return t.post({url:"/tcm.bloodRecord/delete",params:r})}function D(r){return t.get({url:"/tcm.bloodRecord/getRecordsByPatient",params:r})}function k(r){return t.get({url:"/tcm.bloodRecord/getBloodSugarTrend",params:r})}function T(r){return t.post({url:"/tcm.dietRecord/add",params:r})}function S(r){return t.post({url:"/tcm.dietRecord/edit",params:r})}function x(r){return t.post({url:"/tcm.dietRecord/delete",params:r})}function B(r){return t.get({url:"/tcm.dietRecord/getRecordsByPatient",params:r})}function E(r){return t.post({url:"/tcm.exerciseRecord/add",params:r})}function W(r){return t.post({url:"/tcm.exerciseRecord/edit",params:r})}function v(r){return t.post({url:"/tcm.exerciseRecord/delete",params:r})}function w(r){return t.get({url:"/tcm.exerciseRecord/getRecordsByPatient",params:r})}function I(r){return t.post({url:"/tcm.diagnosis/getCallSignature",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function M(r){return t.post({url:"/tcm.diagnosis/startCall",params:r})}function G(r){return t.post({url:"/tcm.diagnosis/endCall",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function U(r){return t.get({url:"/tcm.diagnosis/getCallRecords",params:r})}function q(r){return t.post({url:"/tcm.diagnosis/bindCallRoom",params:r})}function N(r){return t.post({url:"/tcm.diagnosis/attachLocalCallRecording",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function Q(r){return t.post({url:"/tcm.diagnosis/createManualCallRecord",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function J(r){return t.get({url:"/tcm.diagnosis/watchCall",params:r})}function j(r){return t.post({url:"/tcm.diagnosis/generateMiniProgramQrcode",params:r})}function z(r){return t.post({url:"/tcm.diagnosis/generateOrderQrcode",params:r})}function F(r){return t.get({url:"/tcm.diagnosis/getImChatMessages",params:r})}function H(r){return t.post({url:"/tcm.diagnosis/triggerImChatSync",data:r})}function V(r){return t.get({url:"/tcm.diagnosis/getWechatChatRecords",params:r})}function K(r){return t.post({url:"/tcm.diagnosis/addWechatChatRecord",params:r})}function X(r){return t.post({url:"/tcm.diagnosis/deleteWechatChatRecord",params:r})}function Y(r){return t.get({url:"/tcm.diagnosis/getWechatExternalContact",params:r})}function Z(r){return t.get({url:"/tcm.prescription/lists",params:r})}function _(r){return t.post({url:"/tcm.prescription/add",params:r})}function $(r){return t.post({url:"/tcm.prescription/edit",params:r})}function rr(r){return t.post({url:"/tcm.prescription/patchPatient",params:r})}function tr(r){return t.post({url:"/tcm.prescription/delete",params:r})}function er(r){return t.get({url:"/tcm.prescription/detail",params:r})}function ir(r){return t.get({url:"/tcm.prescription/listByDiagnosis",params:r})}function nr(r){return t.get({url:"/tcm.prescription/getByAppointment",params:r})}function sr(r){return t.post({url:"/tcm.prescription/void",params:r})}function or(r){return t.post({url:"/tcm.prescription/audit",params:r})}function cr(r){return t.post({url:"/tcm.prescriptionOrder/create",params:r})}function ar(r){return t.get({url:"/tcm.prescriptionOrder/lists",params:r})}function ur(r){return t.get({url:"/tcm.prescriptionOrder/export",params:r})}function pr(r){return t.get({url:"/tcm.prescriptionOrder/paidPayOrders",params:r})}function dr(r){return t.post({url:"/tcm.prescriptionOrder/withdraw",params:r})}function lr(r){return t.get({url:"/tcm.prescriptionOrder/logisticsTrace",params:r})}function gr(r){return t.post({url:"/tcm.prescriptionOrder/logisticsJdUpdate",params:r})}function mr(r){return t.get({url:"/tcm.prescriptionOrder/detail",params:r})}function fr(r){return t.post({url:"/tcm.prescriptionOrder/edit",params:r})}function Or(r){return t.post({url:"/tcm.prescriptionOrder/ddcode",params:r})}function Rr(r){return t.post({url:"/tcm.prescriptionOrder/patchPrescriptionPatient",params:r})}function yr(r){return t.post({url:"/tcm.prescriptionOrder/patchPrescriptionUsage",params:r})}function hr(r){return t.post({url:"/tcm.prescriptionOrder/auditPrescription",params:r})}function Cr(r){return t.post({url:"/tcm.prescriptionOrder/auditPayment",params:r})}function Pr(r){return t.post({url:"/tcm.prescriptionOrder/revokeRxAudit",params:r})}function Ar(r){return t.post({url:"/tcm.prescriptionOrder/batchAssignAssistant",params:r})}function Lr(r){return t.post({url:"/tcm.prescriptionOrder/revokePayAudit",params:r})}function br(r){return t.post({url:"/tcm.prescriptionOrder/ship",params:r})}function Dr(r){return t.post({url:"/tcm.prescriptionOrder/addPayOrder",params:r})}function kr(r){return t.post({url:"/tcm.prescriptionOrder/linkPayOrder",params:r})}function Tr(r){return t.post({url:"/tcm.prescriptionOrder/requestCompletion",params:r})}function Sr(r){return t.post({url:"/tcm.prescriptionOrder/complete",params:r})}function xr(r){return t.post({url:"/tcm.prescriptionOrder/refund",params:r})}function Br(r){return t.post({url:"/tcm.prescriptionOrder/uploadToPharmacy",params:r})}function Er(r){return t.post({url:"/tcm.prescriptionOrder/confirmGancaoSubmission",params:r})}function Wr(r){return t.post({url:"/tcm.prescriptionOrder/previewGancaoRecipel",params:r})}function vr(r){return t.get({url:"/tcm.prescriptionOrder/logs",params:r})}function wr(r){return t.post({url:"/tcm.prescriptionOrder/addLog",params:r})}function Ir(r){return t.post({url:"/tcm.prescriptionOrder/unlinkPayOrder",params:r})}function Mr(r){return t.post({url:"/tcm.prescriptionOrder/updateAmount",params:r})}function Gr(r){return t.post({url:"/tcm.prescriptionOrder/setShipMode",params:r})}function Ur(r){return t.get({url:"/tcm.prescriptionLibrary/lists",params:r})}function qr(r){return t.post({url:"/tcm.prescriptionLibrary/add",params:r})}function Nr(r){return t.post({url:"/tcm.prescriptionLibrary/edit",params:r})}function Qr(r){return t.post({url:"/tcm.prescriptionLibrary/delete",params:r})}function Jr(r={}){return t.get({url:"/tcm.prescriptionLibrary/missingAiReports",params:r,timeout:3e4},{ignoreCancelToken:!0})}function jr(r){return t.get({url:"/tcm.prescriptionLibrary/aiReports",params:r,timeout:3e4},{ignoreCancelToken:!0})}function zr(r){return t.post({url:"/tcm.prescriptionLibrary/generateAiReports",params:r,timeout:21e4},{ignoreCancelToken:!0,isOpenRetry:!1})}function Fr(r){return t.post({url:"/tcm.prescriptionLibrary/editAiReport",params:r,timeout:3e4},{ignoreCancelToken:!0,isOpenRetry:!1})}function Hr(r){return t.get({url:"/tcm.diagnosisTodo/lists",params:r})}function Vr(r){return t.post({url:"/tcm.diagnosisTodo/add",params:r})}function Kr(r){return t.post({url:"/tcm.diagnosisTodo/cancel",params:r})}export{L as $,Nr as A,Qr as B,ur as C,Ar as D,Gr as E,Rr as F,Mr as G,fr as H,hr as I,Cr as J,dr as K,Wr as L,Br as M,Or as N,br as O,xr as P,Sr as Q,Tr as R,Dr as S,kr as T,Pr as U,Lr as V,j as W,z as X,I as Y,s as Z,c as _,Jr as a,A as a0,S as a1,T as a2,W as a3,E as a4,o as a5,Hr as a6,Vr as a7,Kr as a8,nr as a9,V as aA,K as aB,X as aC,d as aD,Y as aE,n as aF,a as aG,G as aH,q as aI,M as aJ,l as aa,f as ab,O as ac,u as ad,p as ae,h as af,J as ag,k as ah,D as ai,b as aj,U as ak,N as al,Q as am,ir as an,B as ao,x as ap,w as aq,v as ar,F as as,H as at,g as au,sr as av,i as aw,y as ax,m as ay,R as az,zr as b,jr as c,Fr as d,Ir as e,yr as f,P as g,wr as h,lr as i,gr as j,vr as k,pr as l,mr as m,C as n,rr as o,Er as p,er as q,cr as r,Z as s,or as t,Ur as u,_ as v,$ as w,tr as x,ar as y,qr as z}; diff --git a/server/public/admin/assets/theme-picker-DBEHQPAJ.js b/server/public/admin/assets/theme-picker-4kexhjea.js similarity index 97% rename from server/public/admin/assets/theme-picker-DBEHQPAJ.js rename to server/public/admin/assets/theme-picker-4kexhjea.js index ffe9f3cf8..625fc6a83 100644 --- a/server/public/admin/assets/theme-picker-DBEHQPAJ.js +++ b/server/public/admin/assets/theme-picker-4kexhjea.js @@ -1 +1 @@ -import{d as u}from"./@vueuse/core-1S4fJlii.js";import{f as x,ak as r,I as p,F as f,ap as _,J as s}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,p as k,Q as g}from"./@vue/shared-mAAVTE9n.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";import{_ as v}from"./index-fRv3NTFQ.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const y={class:"flex flex-wrap"},C=["onClick"],V={class:"ml-[14px]"},b=x({__name:"theme-picker",props:{themeColors:{},modelValue:{}},emits:["update:modelValue","change"],setup(i,{emit:l}){const n=i,m=l,t=u(n,"modelValue",m),c=e=>{t.value=e.id,m("change",e)};return(e,w)=>(r(),p("div",y,[(r(!0),p(f,null,_(i.themeColors,(o,d)=>(r(),p("div",{class:h(["py-[18px] px-[20px] flex items-center text-[14px] shadow rounded-lg mr-[20px] mb-[20px] cursor-pointer",{"is-select":a(t)==o.id,unselect:a(t)!=o.id}]),key:d,onClick:B=>c(o)},[s("div",{class:"rounded-full h-[34px] w-[34px]",style:k(`background: linear-gradient(to right, ${o.color1}, ${o.color2})`)},null,4),s("div",V,g(o.name),1)],10,C))),128))]))}}),no=v(b,[["__scopeId","data-v-cdbe1703"]]);export{no as default}; +import{d as u}from"./@vueuse/core-1S4fJlii.js";import{f as x,ak as r,I as p,F as f,ap as _,J as s}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,p as k,Q as g}from"./@vue/shared-mAAVTE9n.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";import{_ as v}from"./index-J_eFER10.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const y={class:"flex flex-wrap"},C=["onClick"],V={class:"ml-[14px]"},b=x({__name:"theme-picker",props:{themeColors:{},modelValue:{}},emits:["update:modelValue","change"],setup(i,{emit:l}){const n=i,m=l,t=u(n,"modelValue",m),c=e=>{t.value=e.id,m("change",e)};return(e,w)=>(r(),p("div",y,[(r(!0),p(f,null,_(i.themeColors,(o,d)=>(r(),p("div",{class:h(["py-[18px] px-[20px] flex items-center text-[14px] shadow rounded-lg mr-[20px] mb-[20px] cursor-pointer",{"is-select":a(t)==o.id,unselect:a(t)!=o.id}]),key:d,onClick:B=>c(o)},[s("div",{class:"rounded-full h-[34px] w-[34px]",style:k(`background: linear-gradient(to right, ${o.color1}, ${o.color2})`)},null,4),s("div",V,g(o.name),1)],10,C))),128))]))}}),no=v(b,[["__scopeId","data-v-cdbe1703"]]);export{no as default}; diff --git a/server/public/admin/assets/tongji-8jva5VKb.js b/server/public/admin/assets/tongji-BOx1xRac.js similarity index 97% rename from server/public/admin/assets/tongji-8jva5VKb.js rename to server/public/admin/assets/tongji-BOx1xRac.js index 4854a98c7..b1f9ece9d 100644 --- a/server/public/admin/assets/tongji-8jva5VKb.js +++ b/server/public/admin/assets/tongji-BOx1xRac.js @@ -1 +1 @@ -import{D as q,B as H,Q as J,R as K,G as W,F as X,S as $,i as A,K as Z,M as tt,N as et,O as st,U as at,X as ot,E as lt}from"./element-plus-DGP1XOrU.js";import{f as nt,k as it}from"./doctor-BVLBwYIX.js";import{f as rt,b as dt,ak as a,I as i,a as o,aN as s,F as f,ap as y,G as v,O as c,H as _t,J as l,aP as ct}from"./@vue/runtime-core-C6bnekPw.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import{n as E,r as pt}from"./@vue/reactivity-DiY1c2vO.js";import{_ as ut}from"./index-fRv3NTFQ.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const mt={class:"statistics-page"},ft={key:0},yt={class:"status-overview"},vt={class:"status-section"},gt={key:0},ht={class:"dept-grid"},bt={class:"dept-header"},kt={class:"dept-name"},Et={class:"dept-total"},Vt={class:"status-tags"},Ct={key:1,class:"text-gray-400"},wt={class:"status-section"},xt={key:0},Dt={class:"channel-grid"},Mt={class:"channel-header"},Tt={class:"channel-name"},Bt={class:"channel-total"},Nt={class:"status-tags"},St={key:1,class:"text-gray-400"},Lt={key:1,class:"empty-data"},Ft=rt({__name:"tongji",setup(Ot){const g=E(!1),D=E([]),h=E([]),_=E([]),r=pt({doctor_id:"",time_type:"today",start_date:"",end_date:""}),L=async()=>{try{const e=await nt({role_id:1});D.value=e.lists||[]}catch(e){console.error("获取医生列表失败:",e)}},V=async()=>{g.value=!0;try{const e={time_type:r.time_type};r.doctor_id&&(e.doctor_id=r.doctor_id),r.time_type==="custom"&&_.value&&_.value.length===2&&(e.start_date=_.value[0],e.end_date=_.value[1]);const t=await it(e);h.value=t.lists||[],h.value.forEach(d=>{d.dept_status_details||(d.dept_status_details=[]),d.channel_status_details||(d.channel_status_details=[])})}catch(e){console.error("获取统计数据错误:",e),lt.error(e.msg||"获取统计数据失败")}finally{g.value=!1}},F=()=>{r.time_type!=="custom"&&(_.value=[])},O=()=>{r.doctor_id="",r.time_type="today",_.value=[],V()},R=e=>e.statuses?Object.values(e.statuses).reduce((t,d)=>t+d,0):0,j=e=>e.statuses?Object.values(e.statuses).reduce((t,d)=>t+d,0):0,M=e=>({1:"已挂号",2:"已取消",3:"已完成",4:"已过号"})[e]||`状态${e}`,T=e=>({1:"info",2:"danger",3:"success",4:"warning"})[e]||"default";return dt(()=>{L(),V()}),(e,t)=>{const d=K,U=J,b=H,k=X,Y=W,G=$,B=A,I=q,N=Z,C=st,S=at,P=et,z=ot,Q=tt;return a(),i("div",mt,[o(N,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[3]||(t[3]=[l("div",{class:"card-header"},[l("span",{class:"card-title"},"筛选条件")],-1)])]),default:s(()=>[o(I,{inline:!0,model:r,class:"filter-form"},{default:s(()=>[o(b,{label:"医生"},{default:s(()=>[o(U,{modelValue:r.doctor_id,"onUpdate:modelValue":t[0]||(t[0]=n=>r.doctor_id=n),placeholder:"全部医生",clearable:"",filterable:"",style:{width:"200px"}},{default:s(()=>[(a(!0),i(f,null,y(D.value,n=>(a(),v(d,{key:n.id,label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(b,{label:"时间范围"},{default:s(()=>[o(Y,{modelValue:r.time_type,"onUpdate:modelValue":t[1]||(t[1]=n=>r.time_type=n),onChange:F},{default:s(()=>[o(k,{label:"today"},{default:s(()=>[...t[4]||(t[4]=[c("今天",-1)])]),_:1}),o(k,{label:"week"},{default:s(()=>[...t[5]||(t[5]=[c("最近7天",-1)])]),_:1}),o(k,{label:"month"},{default:s(()=>[...t[6]||(t[6]=[c("最近30天",-1)])]),_:1}),o(k,{label:"custom"},{default:s(()=>[...t[7]||(t[7]=[c("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r.time_type==="custom"?(a(),v(b,{key:0},{default:s(()=>[o(G,{modelValue:_.value,"onUpdate:modelValue":t[2]||(t[2]=n=>_.value=n),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):_t("",!0),o(b,null,{default:s(()=>[o(B,{type:"primary",onClick:V,loading:g.value},{default:s(()=>[...t[8]||(t[8]=[c("查询",-1)])]),_:1},8,["loading"]),o(B,{onClick:O},{default:s(()=>[...t[9]||(t[9]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),ct((a(),v(N,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[10]||(t[10]=[l("div",{class:"card-header"},[l("span",{class:"card-title"},"医生统计数据")],-1)])]),default:s(()=>[h.value.length>0?(a(),i("div",ft,[o(P,{data:h.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:s(()=>[o(C,{prop:"doctor_name",label:"医生姓名",width:"120"}),o(C,{label:"状态明细","min-width":"700"},{default:s(({row:n})=>[l("div",yt,[l("div",vt,[t[11]||(t[11]=l("h4",{class:"section-title"},"部门状态",-1)),n.dept_status_details&&n.dept_status_details.length>0?(a(),i("div",gt,[l("div",ht,[(a(!0),i(f,null,y(n.dept_status_details,(u,w)=>(a(),i("div",{key:w,class:"dept-item"},[l("div",bt,[l("span",kt,p(u.dept_name),1),l("span",Et,"("+p(R(u))+")",1)]),l("div",Vt,[(a(!0),i(f,null,y(u.statuses,(x,m)=>(a(),v(S,{key:m,type:T(m),size:"small",class:"compact-tag"},{default:s(()=>[c(p(M(m))+": "+p(x),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),i("span",Ct,"暂无部门状态明细"))]),l("div",wt,[t[12]||(t[12]=l("h4",{class:"section-title"},"渠道状态",-1)),n.channel_status_details&&n.channel_status_details.length>0?(a(),i("div",xt,[l("div",Dt,[(a(!0),i(f,null,y(n.channel_status_details,(u,w)=>(a(),i("div",{key:w,class:"channel-item"},[l("div",Mt,[l("span",Tt,p(u.channel_name),1),l("span",Bt,"("+p(j(u))+")",1)]),l("div",Nt,[(a(!0),i(f,null,y(u.statuses,(x,m)=>(a(),v(S,{key:m,type:T(m),size:"small",class:"compact-tag"},{default:s(()=>[c(p(M(m))+": "+p(x),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),i("span",St,"暂无渠道状态明细"))])])]),_:1}),o(C,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(a(),i("div",Lt,[o(z,{description:"暂无统计数据"})]))]),_:1})),[[Q,g.value]])])}}}),be=ut(Ft,[["__scopeId","data-v-3355f73c"]]);export{be as default}; +import{D as q,B as H,Q as J,R as K,G as W,F as X,S as $,i as A,K as Z,M as tt,N as et,O as st,U as at,X as ot,E as lt}from"./element-plus-DGP1XOrU.js";import{f as nt,k as it}from"./doctor-BZKBQu9t.js";import{f as rt,b as dt,ak as a,I as i,a as o,aN as s,F as f,ap as y,G as v,O as c,H as _t,J as l,aP as ct}from"./@vue/runtime-core-C6bnekPw.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import{n as E,r as pt}from"./@vue/reactivity-DiY1c2vO.js";import{_ as ut}from"./index-J_eFER10.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const mt={class:"statistics-page"},ft={key:0},yt={class:"status-overview"},vt={class:"status-section"},gt={key:0},ht={class:"dept-grid"},bt={class:"dept-header"},kt={class:"dept-name"},Et={class:"dept-total"},Vt={class:"status-tags"},Ct={key:1,class:"text-gray-400"},wt={class:"status-section"},xt={key:0},Dt={class:"channel-grid"},Mt={class:"channel-header"},Tt={class:"channel-name"},Bt={class:"channel-total"},Nt={class:"status-tags"},St={key:1,class:"text-gray-400"},Lt={key:1,class:"empty-data"},Ft=rt({__name:"tongji",setup(Ot){const g=E(!1),D=E([]),h=E([]),_=E([]),r=pt({doctor_id:"",time_type:"today",start_date:"",end_date:""}),L=async()=>{try{const e=await nt({role_id:1});D.value=e.lists||[]}catch(e){console.error("获取医生列表失败:",e)}},V=async()=>{g.value=!0;try{const e={time_type:r.time_type};r.doctor_id&&(e.doctor_id=r.doctor_id),r.time_type==="custom"&&_.value&&_.value.length===2&&(e.start_date=_.value[0],e.end_date=_.value[1]);const t=await it(e);h.value=t.lists||[],h.value.forEach(d=>{d.dept_status_details||(d.dept_status_details=[]),d.channel_status_details||(d.channel_status_details=[])})}catch(e){console.error("获取统计数据错误:",e),lt.error(e.msg||"获取统计数据失败")}finally{g.value=!1}},F=()=>{r.time_type!=="custom"&&(_.value=[])},O=()=>{r.doctor_id="",r.time_type="today",_.value=[],V()},R=e=>e.statuses?Object.values(e.statuses).reduce((t,d)=>t+d,0):0,j=e=>e.statuses?Object.values(e.statuses).reduce((t,d)=>t+d,0):0,M=e=>({1:"已挂号",2:"已取消",3:"已完成",4:"已过号"})[e]||`状态${e}`,T=e=>({1:"info",2:"danger",3:"success",4:"warning"})[e]||"default";return dt(()=>{L(),V()}),(e,t)=>{const d=K,U=J,b=H,k=X,Y=W,G=$,B=A,I=q,N=Z,C=st,S=at,P=et,z=ot,Q=tt;return a(),i("div",mt,[o(N,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[3]||(t[3]=[l("div",{class:"card-header"},[l("span",{class:"card-title"},"筛选条件")],-1)])]),default:s(()=>[o(I,{inline:!0,model:r,class:"filter-form"},{default:s(()=>[o(b,{label:"医生"},{default:s(()=>[o(U,{modelValue:r.doctor_id,"onUpdate:modelValue":t[0]||(t[0]=n=>r.doctor_id=n),placeholder:"全部医生",clearable:"",filterable:"",style:{width:"200px"}},{default:s(()=>[(a(!0),i(f,null,y(D.value,n=>(a(),v(d,{key:n.id,label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(b,{label:"时间范围"},{default:s(()=>[o(Y,{modelValue:r.time_type,"onUpdate:modelValue":t[1]||(t[1]=n=>r.time_type=n),onChange:F},{default:s(()=>[o(k,{label:"today"},{default:s(()=>[...t[4]||(t[4]=[c("今天",-1)])]),_:1}),o(k,{label:"week"},{default:s(()=>[...t[5]||(t[5]=[c("最近7天",-1)])]),_:1}),o(k,{label:"month"},{default:s(()=>[...t[6]||(t[6]=[c("最近30天",-1)])]),_:1}),o(k,{label:"custom"},{default:s(()=>[...t[7]||(t[7]=[c("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r.time_type==="custom"?(a(),v(b,{key:0},{default:s(()=>[o(G,{modelValue:_.value,"onUpdate:modelValue":t[2]||(t[2]=n=>_.value=n),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):_t("",!0),o(b,null,{default:s(()=>[o(B,{type:"primary",onClick:V,loading:g.value},{default:s(()=>[...t[8]||(t[8]=[c("查询",-1)])]),_:1},8,["loading"]),o(B,{onClick:O},{default:s(()=>[...t[9]||(t[9]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),ct((a(),v(N,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[10]||(t[10]=[l("div",{class:"card-header"},[l("span",{class:"card-title"},"医生统计数据")],-1)])]),default:s(()=>[h.value.length>0?(a(),i("div",ft,[o(P,{data:h.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:s(()=>[o(C,{prop:"doctor_name",label:"医生姓名",width:"120"}),o(C,{label:"状态明细","min-width":"700"},{default:s(({row:n})=>[l("div",yt,[l("div",vt,[t[11]||(t[11]=l("h4",{class:"section-title"},"部门状态",-1)),n.dept_status_details&&n.dept_status_details.length>0?(a(),i("div",gt,[l("div",ht,[(a(!0),i(f,null,y(n.dept_status_details,(u,w)=>(a(),i("div",{key:w,class:"dept-item"},[l("div",bt,[l("span",kt,p(u.dept_name),1),l("span",Et,"("+p(R(u))+")",1)]),l("div",Vt,[(a(!0),i(f,null,y(u.statuses,(x,m)=>(a(),v(S,{key:m,type:T(m),size:"small",class:"compact-tag"},{default:s(()=>[c(p(M(m))+": "+p(x),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),i("span",Ct,"暂无部门状态明细"))]),l("div",wt,[t[12]||(t[12]=l("h4",{class:"section-title"},"渠道状态",-1)),n.channel_status_details&&n.channel_status_details.length>0?(a(),i("div",xt,[l("div",Dt,[(a(!0),i(f,null,y(n.channel_status_details,(u,w)=>(a(),i("div",{key:w,class:"channel-item"},[l("div",Mt,[l("span",Tt,p(u.channel_name),1),l("span",Bt,"("+p(j(u))+")",1)]),l("div",Nt,[(a(!0),i(f,null,y(u.statuses,(x,m)=>(a(),v(S,{key:m,type:T(m),size:"small",class:"compact-tag"},{default:s(()=>[c(p(M(m))+": "+p(x),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),i("span",St,"暂无渠道状态明细"))])])]),_:1}),o(C,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(a(),i("div",Lt,[o(z,{description:"暂无统计数据"})]))]),_:1})),[[Q,g.value]])])}}}),be=ut(Ft,[["__scopeId","data-v-3355f73c"]]);export{be as default}; diff --git a/server/public/admin/assets/upload-DeI6j3R7.js b/server/public/admin/assets/upload-Bhiyuxj5.js similarity index 92% rename from server/public/admin/assets/upload-DeI6j3R7.js rename to server/public/admin/assets/upload-Bhiyuxj5.js index fd6697456..2f02e1e74 100644 --- a/server/public/admin/assets/upload-DeI6j3R7.js +++ b/server/public/admin/assets/upload-Bhiyuxj5.js @@ -1 +1 @@ -import{i as _,K as u}from"./element-plus-DGP1XOrU.js";import{U as l}from"./index-Dxrq29dg.js";import{f as c,ak as f,I as y,a as o,aN as t,J as p,O as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-FhuQj5ML.js";const g={class:"flex flex-wrap"},v={class:"m-4"},w={class:"m-4"},h={class:"m-4"},x={class:"m-4"},lo=c({__name:"upload",setup(B){const i=e=>{console.log("上传文件的状态发生改变",e)},s=e=>{console.log("上传文件成功",e)},m=e=>{console.log("上传文件失败",e)};return(e,r)=>{const a=_,d=u;return f(),y("div",null,[o(d,{header:"基础使用",shadow:"never",class:"!border-none"},{default:t(()=>[p("div",g,[p("div",v,[o(l,{onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[0]||(r[0]=[n("上传图片",-1)])]),_:1})]),_:1})]),p("div",w,[o(l,{type:"video",onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[1]||(r[1]=[n("上传视频",-1)])]),_:1})]),_:1})]),p("div",h,[o(l,{multiple:!1,onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[2]||(r[2]=[n("取消多选",-1)])]),_:1})]),_:1})]),p("div",x,[o(l,{limit:2,onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[3]||(r[3]=[n("一次最多上传2张",-1)])]),_:1})]),_:1})])])]),_:1})])}}});export{lo as default}; +import{i as _,K as u}from"./element-plus-DGP1XOrU.js";import{U as l}from"./index-BIgtwj7l.js";import{f as c,ak as f,I as y,a as o,aN as t,J as p,O as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";const g={class:"flex flex-wrap"},v={class:"m-4"},w={class:"m-4"},h={class:"m-4"},x={class:"m-4"},lo=c({__name:"upload",setup(B){const i=e=>{console.log("上传文件的状态发生改变",e)},s=e=>{console.log("上传文件成功",e)},m=e=>{console.log("上传文件失败",e)};return(e,r)=>{const a=_,d=u;return f(),y("div",null,[o(d,{header:"基础使用",shadow:"never",class:"!border-none"},{default:t(()=>[p("div",g,[p("div",v,[o(l,{onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[0]||(r[0]=[n("上传图片",-1)])]),_:1})]),_:1})]),p("div",w,[o(l,{type:"video",onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[1]||(r[1]=[n("上传视频",-1)])]),_:1})]),_:1})]),p("div",h,[o(l,{multiple:!1,onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[2]||(r[2]=[n("取消多选",-1)])]),_:1})]),_:1})]),p("div",x,[o(l,{limit:2,onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[3]||(r[3]=[n("一次最多上传2张",-1)])]),_:1})]),_:1})])])]),_:1})])}}});export{lo as default}; diff --git a/server/public/admin/assets/useDictOptions-Cx2-jvcM.js b/server/public/admin/assets/useDictOptions-CU1TLMPn.js similarity index 84% rename from server/public/admin/assets/useDictOptions-Cx2-jvcM.js rename to server/public/admin/assets/useDictOptions-CU1TLMPn.js index 4142835d5..051676454 100644 --- a/server/public/admin/assets/useDictOptions-Cx2-jvcM.js +++ b/server/public/admin/assets/useDictOptions-CU1TLMPn.js @@ -1 +1 @@ -import"./index-fRv3NTFQ.js";import{t as p,r as f}from"./@vue/reactivity-DiY1c2vO.js";function d(a){const s=f({}),r=Object.keys(a),i=r.map(o=>{const t=a[o];return s[o]=[],()=>t.api(p(t.params)||{})}),e=async()=>{(await Promise.allSettled(i.map(t=>t()))).forEach((t,u)=>{const n=r[u];if(t.status=="fulfilled"){const{transformData:c}=a[n],l=c?c(t.value):t.value;s[n]=l}})};return e(),{optionsData:s,refresh:e}}export{d as u}; +import"./index-J_eFER10.js";import{t as p,r as f}from"./@vue/reactivity-DiY1c2vO.js";function d(a){const s=f({}),r=Object.keys(a),i=r.map(o=>{const t=a[o];return s[o]=[],()=>t.api(p(t.params)||{})}),e=async()=>{(await Promise.allSettled(i.map(t=>t()))).forEach((t,u)=>{const n=r[u];if(t.status=="fulfilled"){const{transformData:c}=a[n],l=c?c(t.value):t.value;s[n]=l}})};return e(),{optionsData:s,refresh:e}}export{d as u}; diff --git a/server/public/admin/assets/useListTimeFilter-Btvmdejx.js b/server/public/admin/assets/useListTimeFilter-BquUtCH_.js similarity index 98% rename from server/public/admin/assets/useListTimeFilter-Btvmdejx.js rename to server/public/admin/assets/useListTimeFilter-BquUtCH_.js index c61da2186..bb29909b3 100644 --- a/server/public/admin/assets/useListTimeFilter-Btvmdejx.js +++ b/server/public/admin/assets/useListTimeFilter-BquUtCH_.js @@ -1 +1 @@ -import{B as T,G as M,F as Y,S as F}from"./element-plus-DGP1XOrU.js";import{f as z,aD as D,ak as g,I as R,F as B,a as s,aN as n,G as p,O as m,H as v,J as x,aa as k}from"./@vue/runtime-core-C6bnekPw.js";import{o as w,p as C}from"./@vue/shared-mAAVTE9n.js";import{_ as $}from"./index-fRv3NTFQ.js";import{n as V}from"./@vue/reactivity-DiY1c2vO.js";const S={class:"list-time-filter-inline"},E=z({__name:"index",props:k({label:{default:"时间范围"},variant:{default:"split"},pickerWidth:{default:"260px"},compact:{type:Boolean,default:!1},showAll:{type:Boolean,default:!1}},{timeType:{required:!0},timeTypeModifiers:{},dateRange:{default:()=>[]},dateRangeModifiers:{}}),emits:k(["time-type-change","custom-change"],["update:timeType","update:dateRange"]),setup(t,{emit:d}){const l=D(t,"timeType"),a=D(t,"dateRange"),o=d;return(c,e)=>{const u=Y,i=M,f=T,b=F;return t.variant==="split"?(g(),R(B,{key:0},[s(f,{label:t.label,class:w({"is-compact":t.compact})},{default:n(()=>[s(i,{modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=r=>l.value=r),size:t.compact?"small":"default",onChange:e[1]||(e[1]=r=>o("time-type-change"))},{default:n(()=>[t.showAll?(g(),p(u,{key:0,label:"all"},{default:n(()=>[...e[8]||(e[8]=[m("全部",-1)])]),_:1})):v("",!0),s(u,{label:"today"},{default:n(()=>[...e[9]||(e[9]=[m("今天",-1)])]),_:1}),s(u,{label:"yesterday"},{default:n(()=>[...e[10]||(e[10]=[m("昨天",-1)])]),_:1}),s(u,{label:"week"},{default:n(()=>[...e[11]||(e[11]=[m("最近7天",-1)])]),_:1}),s(u,{label:"month"},{default:n(()=>[...e[12]||(e[12]=[m("本月",-1)])]),_:1}),s(u,{label:"custom"},{default:n(()=>[...e[13]||(e[13]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue","size"])]),_:1},8,["label","class"]),l.value==="custom"?(g(),p(f,{key:0},{default:n(()=>[s(b,{modelValue:a.value,"onUpdate:modelValue":e[2]||(e[2]=r=>a.value=r),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",size:t.compact?"small":"default",style:C({width:t.pickerWidth}),onChange:e[3]||(e[3]=r=>o("custom-change"))},null,8,["modelValue","size","style"])]),_:1})):v("",!0)],64)):(g(),p(f,{key:1,label:t.label,class:w({"is-compact":t.compact})},{default:n(()=>[x("div",S,[s(i,{modelValue:l.value,"onUpdate:modelValue":e[4]||(e[4]=r=>l.value=r),size:t.compact?"small":"default",onChange:e[5]||(e[5]=r=>o("time-type-change"))},{default:n(()=>[t.showAll?(g(),p(u,{key:0,label:"all"},{default:n(()=>[...e[14]||(e[14]=[m("全部",-1)])]),_:1})):v("",!0),s(u,{label:"today"},{default:n(()=>[...e[15]||(e[15]=[m("今天",-1)])]),_:1}),s(u,{label:"yesterday"},{default:n(()=>[...e[16]||(e[16]=[m("昨天",-1)])]),_:1}),s(u,{label:"week"},{default:n(()=>[...e[17]||(e[17]=[m("最近7天",-1)])]),_:1}),s(u,{label:"month"},{default:n(()=>[...e[18]||(e[18]=[m("本月",-1)])]),_:1}),s(u,{label:"custom"},{default:n(()=>[...e[19]||(e[19]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue","size"]),l.value==="custom"?(g(),p(b,{key:0,modelValue:a.value,"onUpdate:modelValue":e[6]||(e[6]=r=>a.value=r),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",size:t.compact?"small":"default",style:C({width:t.pickerWidth}),onChange:e[7]||(e[7]=r=>o("custom-change"))},null,8,["modelValue","size","style"])):v("",!0)])]),_:1},8,["label","class"]))}}}),W=$(E,[["__scopeId","data-v-b8981342"]]);function y(t){const d=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0");return`${d}-${l}-${a}`}function N(t,d){const l=y(new Date);switch(t){case"all":return["",""];case"yesterday":{const a=new Date;a.setDate(a.getDate()-1);const o=y(a);return[o,o]}case"week":{const a=new Date,o=new Date;return o.setDate(o.getDate()-6),[y(o),y(a)]}case"month":{const a=new Date,o=new Date(a.getFullYear(),a.getMonth(),1),c=new Date(a.getFullYear(),a.getMonth()+1,0);return[y(o),y(c)]}case"custom":{let a=d[0]||l,o=d[1]||l;return a>o&&([a,o]=[o,a]),[a,o]}case"today":default:return[l,l]}}function h(t="today"){const d=V(t),l=V([]);return{time_type:d,dateRange:l,resolve:()=>N(d.value,l.value),handleTimeTypeChange:i=>{d.value!=="custom"&&(l.value=[],i())},handleCustomDateChange:i=>{l.value.length===2&&i()},resetTimeFilter:()=>{d.value=t,l.value=[]},applyCustomRange:(i,f)=>{!i||!f||(d.value="custom",l.value=[i,f])}}}export{W as L,h as u}; +import{B as T,G as M,F as Y,S as F}from"./element-plus-DGP1XOrU.js";import{f as z,aD as D,ak as g,I as R,F as B,a as s,aN as n,G as p,O as m,H as v,J as x,aa as k}from"./@vue/runtime-core-C6bnekPw.js";import{o as w,p as C}from"./@vue/shared-mAAVTE9n.js";import{_ as $}from"./index-J_eFER10.js";import{n as V}from"./@vue/reactivity-DiY1c2vO.js";const S={class:"list-time-filter-inline"},E=z({__name:"index",props:k({label:{default:"时间范围"},variant:{default:"split"},pickerWidth:{default:"260px"},compact:{type:Boolean,default:!1},showAll:{type:Boolean,default:!1}},{timeType:{required:!0},timeTypeModifiers:{},dateRange:{default:()=>[]},dateRangeModifiers:{}}),emits:k(["time-type-change","custom-change"],["update:timeType","update:dateRange"]),setup(t,{emit:d}){const l=D(t,"timeType"),a=D(t,"dateRange"),o=d;return(c,e)=>{const u=Y,i=M,f=T,b=F;return t.variant==="split"?(g(),R(B,{key:0},[s(f,{label:t.label,class:w({"is-compact":t.compact})},{default:n(()=>[s(i,{modelValue:l.value,"onUpdate:modelValue":e[0]||(e[0]=r=>l.value=r),size:t.compact?"small":"default",onChange:e[1]||(e[1]=r=>o("time-type-change"))},{default:n(()=>[t.showAll?(g(),p(u,{key:0,label:"all"},{default:n(()=>[...e[8]||(e[8]=[m("全部",-1)])]),_:1})):v("",!0),s(u,{label:"today"},{default:n(()=>[...e[9]||(e[9]=[m("今天",-1)])]),_:1}),s(u,{label:"yesterday"},{default:n(()=>[...e[10]||(e[10]=[m("昨天",-1)])]),_:1}),s(u,{label:"week"},{default:n(()=>[...e[11]||(e[11]=[m("最近7天",-1)])]),_:1}),s(u,{label:"month"},{default:n(()=>[...e[12]||(e[12]=[m("本月",-1)])]),_:1}),s(u,{label:"custom"},{default:n(()=>[...e[13]||(e[13]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue","size"])]),_:1},8,["label","class"]),l.value==="custom"?(g(),p(f,{key:0},{default:n(()=>[s(b,{modelValue:a.value,"onUpdate:modelValue":e[2]||(e[2]=r=>a.value=r),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",size:t.compact?"small":"default",style:C({width:t.pickerWidth}),onChange:e[3]||(e[3]=r=>o("custom-change"))},null,8,["modelValue","size","style"])]),_:1})):v("",!0)],64)):(g(),p(f,{key:1,label:t.label,class:w({"is-compact":t.compact})},{default:n(()=>[x("div",S,[s(i,{modelValue:l.value,"onUpdate:modelValue":e[4]||(e[4]=r=>l.value=r),size:t.compact?"small":"default",onChange:e[5]||(e[5]=r=>o("time-type-change"))},{default:n(()=>[t.showAll?(g(),p(u,{key:0,label:"all"},{default:n(()=>[...e[14]||(e[14]=[m("全部",-1)])]),_:1})):v("",!0),s(u,{label:"today"},{default:n(()=>[...e[15]||(e[15]=[m("今天",-1)])]),_:1}),s(u,{label:"yesterday"},{default:n(()=>[...e[16]||(e[16]=[m("昨天",-1)])]),_:1}),s(u,{label:"week"},{default:n(()=>[...e[17]||(e[17]=[m("最近7天",-1)])]),_:1}),s(u,{label:"month"},{default:n(()=>[...e[18]||(e[18]=[m("本月",-1)])]),_:1}),s(u,{label:"custom"},{default:n(()=>[...e[19]||(e[19]=[m("自定义",-1)])]),_:1})]),_:1},8,["modelValue","size"]),l.value==="custom"?(g(),p(b,{key:0,modelValue:a.value,"onUpdate:modelValue":e[6]||(e[6]=r=>a.value=r),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",size:t.compact?"small":"default",style:C({width:t.pickerWidth}),onChange:e[7]||(e[7]=r=>o("custom-change"))},null,8,["modelValue","size","style"])):v("",!0)])]),_:1},8,["label","class"]))}}}),W=$(E,[["__scopeId","data-v-b8981342"]]);function y(t){const d=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0");return`${d}-${l}-${a}`}function N(t,d){const l=y(new Date);switch(t){case"all":return["",""];case"yesterday":{const a=new Date;a.setDate(a.getDate()-1);const o=y(a);return[o,o]}case"week":{const a=new Date,o=new Date;return o.setDate(o.getDate()-6),[y(o),y(a)]}case"month":{const a=new Date,o=new Date(a.getFullYear(),a.getMonth(),1),c=new Date(a.getFullYear(),a.getMonth()+1,0);return[y(o),y(c)]}case"custom":{let a=d[0]||l,o=d[1]||l;return a>o&&([a,o]=[o,a]),[a,o]}case"today":default:return[l,l]}}function h(t="today"){const d=V(t),l=V([]);return{time_type:d,dateRange:l,resolve:()=>N(d.value,l.value),handleTimeTypeChange:i=>{d.value!=="custom"&&(l.value=[],i())},handleCustomDateChange:i=>{l.value.length===2&&i()},resetTimeFilter:()=>{d.value=t,l.value=[]},applyCustomRange:(i,f)=>{!i||!f||(d.value="custom",l.value=[i,f])}}}export{W as L,h as u}; diff --git a/server/public/admin/assets/useMediaSourceOptions-B5yhXJl7.js b/server/public/admin/assets/useMediaSourceOptions-Ct8BjvKG.js similarity index 90% rename from server/public/admin/assets/useMediaSourceOptions-B5yhXJl7.js rename to server/public/admin/assets/useMediaSourceOptions-Ct8BjvKG.js index a40bb4e65..b57a4f61b 100644 --- a/server/public/admin/assets/useMediaSourceOptions-B5yhXJl7.js +++ b/server/public/admin/assets/useMediaSourceOptions-Ct8BjvKG.js @@ -1 +1 @@ -import{g as f}from"./self_input_stats-VfgnRjmU.js";import{n as u}from"./@vue/reactivity-DiY1c2vO.js";function m(){const o=u([]),s=u(!1),c=r=>{if(!Array.isArray(r))return[];const n=[],a=new Set;for(const t of r){if(typeof t=="string"){const e=t.trim();e&&!a.has(e)&&(a.add(e),n.push({name:e,value:""}));continue}if(t&&typeof t=="object"){const e=String(t.name??"").trim();e&&!a.has(e)&&(a.add(e),n.push({name:e,value:String(t.value??"")}))}}return n},i=async(r=!1)=>{if(!(!r&&o.value.length>0)){s.value=!0;try{const n=await f();o.value=c(n)}catch{o.value=[]}finally{s.value=!1}}};return{mediaSourceOptions:o,mediaSourceLoading:s,loadMediaSourceOptions:i,refreshMediaSourceOptions:()=>i(!0)}}export{m as u}; +import{g as f}from"./self_input_stats-BfVTp8QE.js";import{n as u}from"./@vue/reactivity-DiY1c2vO.js";function m(){const o=u([]),s=u(!1),c=r=>{if(!Array.isArray(r))return[];const n=[],a=new Set;for(const t of r){if(typeof t=="string"){const e=t.trim();e&&!a.has(e)&&(a.add(e),n.push({name:e,value:""}));continue}if(t&&typeof t=="object"){const e=String(t.name??"").trim();e&&!a.has(e)&&(a.add(e),n.push({name:e,value:String(t.value??"")}))}}return n},i=async(r=!1)=>{if(!(!r&&o.value.length>0)){s.value=!0;try{const n=await f();o.value=c(n)}catch{o.value=[]}finally{s.value=!1}}};return{mediaSourceOptions:o,mediaSourceLoading:s,loadMediaSourceOptions:i,refreshMediaSourceOptions:()=>i(!0)}}export{m as u}; diff --git a/server/public/admin/assets/useMenuOa-TRPv5Mx7.js b/server/public/admin/assets/useMenuOa-C_WMnKf2.js similarity index 92% rename from server/public/admin/assets/useMenuOa-TRPv5Mx7.js rename to server/public/admin/assets/useMenuOa-C_WMnKf2.js index 683dd0fa8..99888f2c1 100644 --- a/server/public/admin/assets/useMenuOa-TRPv5Mx7.js +++ b/server/public/admin/assets/useMenuOa-C_WMnKf2.js @@ -1 +1 @@ -import{a as i,b as c,c as g}from"./wx_oa-BuVhGwqh.js";import{k as o}from"./index-fRv3NTFQ.js";import{r as h,q as d,n as l}from"./@vue/reactivity-DiY1c2vO.js";const r=d(),u=l([]),n=l(0),O=h({name:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]},{min:1,max:12,message:"长度限制12个字符",trigger:["blur","change"]}],menuType:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]}],visitType:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]}],url:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]},{pattern:/(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/,message:"请输入合法的网址链接",trigger:["blur","change"]}],appId:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]}],pagePath:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]}]}),x=s=>(s&&(r.value=s),{menuList:u,menuIndex:n,handleAddMenu:()=>{u.value.push({name:"菜单名称",has_menu:!1,type:"view",url:"",appid:"",pagepath:"",sub_button:[]})},handleAddSubMenu:e=>{const a=n.value;if(u.value[a].sub_button.length>=5){o.msgError("已添加上限~");return}u.value[a].sub_button.push(e)},handleEditSubMenu:(e,a)=>{const t=n.value;u.value[t].sub_button[a]=e},handleDelMenu:e=>{e!=0&&n.value--,u.value.splice(e,1)},handleDelSubMenu:(e,a)=>{u.value[e].sub_button.splice(a,1)},getOaMenuFunc:async()=>{try{u.value=await g()}catch(e){console.log("获取菜单=>",e)}},handleSave:async()=>{const e=r.value.value;for(let a=0;a{const e=r.value.value;for(let a=0;a(s&&(r.value=s),{menuList:u,menuIndex:n,handleAddMenu:()=>{u.value.push({name:"菜单名称",has_menu:!1,type:"view",url:"",appid:"",pagepath:"",sub_button:[]})},handleAddSubMenu:e=>{const a=n.value;if(u.value[a].sub_button.length>=5){o.msgError("已添加上限~");return}u.value[a].sub_button.push(e)},handleEditSubMenu:(e,a)=>{const t=n.value;u.value[t].sub_button[a]=e},handleDelMenu:e=>{e!=0&&n.value--,u.value.splice(e,1)},handleDelSubMenu:(e,a)=>{u.value[e].sub_button.splice(a,1)},getOaMenuFunc:async()=>{try{u.value=await g()}catch(e){console.log("获取菜单=>",e)}},handleSave:async()=>{const e=r.value.value;for(let a=0;a{const e=r.value.value;for(let a=0;a{const v=await W();for(const o in l)l[o]=v[o]},k=async()=>{var v;await((v=w.value)==null?void 0:v.validate()),await G(l),V()};return V(),(v,o)=>{const q=E,b=S,m=F,a=B,I=j,p=N,U=R,y=C,f=x("copy"),A=x("perms");return n(),K("div",null,[t(b,{class:"!border-none",shadow:"never"},{default:i(()=>[t(q,{type:"warning",title:"温馨提示:填写微信小程序开发配置,请前往微信公众平台申请小程序并完成认证",closable:!1,"show-icon":""})]),_:1}),t(U,{ref_key:"formRef",ref:w,model:s(l),rules:D,"label-width":s(c).isMobile?"80px":"160px"},{default:i(()=>[t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[12]||(o[12]=e("div",{class:"font-medium mb-7"},"微信小程序",-1)),t(a,{label:"小程序名称",prop:"name"},{default:i(()=>[e("div",O,[t(m,{modelValue:s(l).name,"onUpdate:modelValue":o[0]||(o[0]=d=>s(l).name=d),placeholder:"请输入小程序名称"},null,8,["modelValue"])])]),_:1}),t(a,{label:"原始ID",prop:"original_id"},{default:i(()=>[e("div",P,[t(m,{modelValue:s(l).original_id,"onUpdate:modelValue":o[1]||(o[1]=d=>s(l).original_id=d),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),t(a,{label:"小程序码",prop:"qr_code"},{default:i(()=>[e("div",T,[e("div",null,[t(I,{modelValue:s(l).qr_code,"onUpdate:modelValue":o[2]||(o[2]=d=>s(l).qr_code=d),limit:1},null,8,["modelValue"])]),o[11]||(o[11]=e("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[14]||(o[14]=e("div",{class:"font-medium mb-7"},"开发者ID",-1)),t(a,{label:"AppID",prop:"app_id"},{default:i(()=>[e("div",z,[t(m,{modelValue:s(l).app_id,"onUpdate:modelValue":o[3]||(o[3]=d=>s(l).app_id=d),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(a,{label:"AppSecret",prop:"app_secret"},{default:i(()=>[e("div",H,[t(m,{modelValue:s(l).app_secret,"onUpdate:modelValue":o[4]||(o[4]=d=>s(l).app_secret=d),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),t(a,null,{default:i(()=>[...o[13]||(o[13]=[e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[25]||(o[25]=e("div",{class:"font-medium mb-7"},"服务器域名",-1)),t(a,{label:"request合法域名",prop:"appId"},{default:i(()=>[e("div",Q,[e("div",X,[e("div",Y,[t(m,{modelValue:s(l).request_domain,"onUpdate:modelValue":o[5]||(o[5]=d=>s(l).request_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[15]||(o[15]=[_("复制",-1)])]),_:1})),[[f,s(l).request_domain]])]),o[16]||(o[16]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"socket合法域名"},{default:i(()=>[e("div",Z,[e("div",$,[e("div",h,[t(m,{modelValue:s(l).socket_domain,"onUpdate:modelValue":o[6]||(o[6]=d=>s(l).socket_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[17]||(o[17]=[_("复制",-1)])]),_:1})),[[f,s(l).socket_domain]])]),o[18]||(o[18]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写wss协议域名 ",-1))])]),_:1}),t(a,{label:"uploadFile合法域名"},{default:i(()=>[e("div",oo,[e("div",eo,[e("div",lo,[t(m,{modelValue:s(l).upload_file_domain,"onUpdate:modelValue":o[7]||(o[7]=d=>s(l).upload_file_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[19]||(o[19]=[_("复制",-1)])]),_:1})),[[f,s(l).upload_file_domain]])]),o[20]||(o[20]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"downloadFile合法域名"},{default:i(()=>[e("div",to,[e("div",so,[e("div",io,[t(m,{modelValue:s(l).download_file_domain,"onUpdate:modelValue":o[8]||(o[8]=d=>s(l).download_file_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[21]||(o[21]=[_("复制",-1)])]),_:1})),[[f,s(l).download_file_domain]])]),o[22]||(o[22]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"udp合法域名"},{default:i(()=>[e("div",ao,[e("div",mo,[e("div",no,[t(m,{modelValue:s(l).udp_domain,"onUpdate:modelValue":o[9]||(o[9]=d=>s(l).udp_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[23]||(o[23]=[_("复制",-1)])]),_:1})),[[f,s(l).udp_domain]])]),o[24]||(o[24]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写udp协议域名 ",-1))])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[28]||(o[28]=e("div",{class:"font-medium mb-7"},"业务域名",-1)),t(a,{label:"业务域名"},{default:i(()=>[e("div",po,[e("div",ro,[e("div",uo,[t(m,{modelValue:s(l).business_domain,"onUpdate:modelValue":o[10]||(o[10]=d=>s(l).business_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[26]||(o[26]=[_("复制",-1)])]),_:1})),[[f,s(l).business_domain]])]),o[27]||(o[27]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->业务域名,填写业务域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),r((n(),u(y,null,{default:i(()=>[t(p,{type:"primary",onClick:k},{default:i(()=>[...o[29]||(o[29]=[_("保存",-1)])]),_:1})]),_:1})),[[A,["channel.mnp_settings/setConfig"]]])])}}});export{ve as default}; +import{_ as C}from"./index-UGD9wxNK.js";import{L as E,K as S,B,C as F,i as N,D as R}from"./element-plus-DGP1XOrU.js";import{_ as j}from"./picker-lbwHqE-a.js";import{g as W,s as G}from"./weapp-CBd1nTel.js";import{e as J}from"./index-J_eFER10.js";import{f as g,as as x,ak as n,I as K,a as t,aN as i,J as e,aP as r,G as u,O as _}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,r as L,q as M}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BVjWjU3h.js";import"./index-CBjo9bLs.js";import"./index.vue_vue_type_script_setup_true_lang-BJrvbOxf.js";import"./index-sgqCyAwB.js";import"./index-BIgtwj7l.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-D7g_w1vo.js";import"./index.vue_vue_type_script_setup_true_lang-BD-sP6MK.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-DofycyjW.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const O={class:"w-80"},P={class:"w-80"},T={class:"flex-1"},z={class:"w-80"},H={class:"w-80"},Q={class:"flex-1 min-w-0"},X={class:"sm:flex"},Y={class:"mr-4 sm:w-80 flex"},Z={class:"flex-1 min-w-0"},$={class:"sm:flex"},h={class:"mr-4 sm:w-80 flex"},oo={class:"flex-1 min-w-0"},eo={class:"sm:flex"},lo={class:"mr-4 sm:w-80 flex"},to={class:"flex-1 min-w-0"},so={class:"sm:flex"},io={class:"mr-4 sm:w-80 flex"},ao={class:"flex-1 min-w-0"},mo={class:"sm:flex"},no={class:"mr-4 sm:w-80 flex"},po={class:"flex-1 min-w-0"},ro={class:"sm:flex"},uo={class:"mr-4 sm:w-80 flex"},_o=g({name:"weappConfig"}),ve=g({..._o,setup(fo){const c=J(),l=L({name:"",original_id:"",qr_code:"",app_id:"",app_secret:"",business_domain:"",download_file_domain:"",request_domain:"",socket_domain:"",tcpDomain:"",udp_domain:"",upload_file_domain:""}),w=M(),D={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},V=async()=>{const v=await W();for(const o in l)l[o]=v[o]},k=async()=>{var v;await((v=w.value)==null?void 0:v.validate()),await G(l),V()};return V(),(v,o)=>{const q=E,b=S,m=F,a=B,I=j,p=N,U=R,y=C,f=x("copy"),A=x("perms");return n(),K("div",null,[t(b,{class:"!border-none",shadow:"never"},{default:i(()=>[t(q,{type:"warning",title:"温馨提示:填写微信小程序开发配置,请前往微信公众平台申请小程序并完成认证",closable:!1,"show-icon":""})]),_:1}),t(U,{ref_key:"formRef",ref:w,model:s(l),rules:D,"label-width":s(c).isMobile?"80px":"160px"},{default:i(()=>[t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[12]||(o[12]=e("div",{class:"font-medium mb-7"},"微信小程序",-1)),t(a,{label:"小程序名称",prop:"name"},{default:i(()=>[e("div",O,[t(m,{modelValue:s(l).name,"onUpdate:modelValue":o[0]||(o[0]=d=>s(l).name=d),placeholder:"请输入小程序名称"},null,8,["modelValue"])])]),_:1}),t(a,{label:"原始ID",prop:"original_id"},{default:i(()=>[e("div",P,[t(m,{modelValue:s(l).original_id,"onUpdate:modelValue":o[1]||(o[1]=d=>s(l).original_id=d),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),t(a,{label:"小程序码",prop:"qr_code"},{default:i(()=>[e("div",T,[e("div",null,[t(I,{modelValue:s(l).qr_code,"onUpdate:modelValue":o[2]||(o[2]=d=>s(l).qr_code=d),limit:1},null,8,["modelValue"])]),o[11]||(o[11]=e("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[14]||(o[14]=e("div",{class:"font-medium mb-7"},"开发者ID",-1)),t(a,{label:"AppID",prop:"app_id"},{default:i(()=>[e("div",z,[t(m,{modelValue:s(l).app_id,"onUpdate:modelValue":o[3]||(o[3]=d=>s(l).app_id=d),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(a,{label:"AppSecret",prop:"app_secret"},{default:i(()=>[e("div",H,[t(m,{modelValue:s(l).app_secret,"onUpdate:modelValue":o[4]||(o[4]=d=>s(l).app_secret=d),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),t(a,null,{default:i(()=>[...o[13]||(o[13]=[e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[25]||(o[25]=e("div",{class:"font-medium mb-7"},"服务器域名",-1)),t(a,{label:"request合法域名",prop:"appId"},{default:i(()=>[e("div",Q,[e("div",X,[e("div",Y,[t(m,{modelValue:s(l).request_domain,"onUpdate:modelValue":o[5]||(o[5]=d=>s(l).request_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[15]||(o[15]=[_("复制",-1)])]),_:1})),[[f,s(l).request_domain]])]),o[16]||(o[16]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"socket合法域名"},{default:i(()=>[e("div",Z,[e("div",$,[e("div",h,[t(m,{modelValue:s(l).socket_domain,"onUpdate:modelValue":o[6]||(o[6]=d=>s(l).socket_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[17]||(o[17]=[_("复制",-1)])]),_:1})),[[f,s(l).socket_domain]])]),o[18]||(o[18]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写wss协议域名 ",-1))])]),_:1}),t(a,{label:"uploadFile合法域名"},{default:i(()=>[e("div",oo,[e("div",eo,[e("div",lo,[t(m,{modelValue:s(l).upload_file_domain,"onUpdate:modelValue":o[7]||(o[7]=d=>s(l).upload_file_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[19]||(o[19]=[_("复制",-1)])]),_:1})),[[f,s(l).upload_file_domain]])]),o[20]||(o[20]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"downloadFile合法域名"},{default:i(()=>[e("div",to,[e("div",so,[e("div",io,[t(m,{modelValue:s(l).download_file_domain,"onUpdate:modelValue":o[8]||(o[8]=d=>s(l).download_file_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[21]||(o[21]=[_("复制",-1)])]),_:1})),[[f,s(l).download_file_domain]])]),o[22]||(o[22]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"udp合法域名"},{default:i(()=>[e("div",ao,[e("div",mo,[e("div",no,[t(m,{modelValue:s(l).udp_domain,"onUpdate:modelValue":o[9]||(o[9]=d=>s(l).udp_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[23]||(o[23]=[_("复制",-1)])]),_:1})),[[f,s(l).udp_domain]])]),o[24]||(o[24]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写udp协议域名 ",-1))])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[28]||(o[28]=e("div",{class:"font-medium mb-7"},"业务域名",-1)),t(a,{label:"业务域名"},{default:i(()=>[e("div",po,[e("div",ro,[e("div",uo,[t(m,{modelValue:s(l).business_domain,"onUpdate:modelValue":o[10]||(o[10]=d=>s(l).business_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[26]||(o[26]=[_("复制",-1)])]),_:1})),[[f,s(l).business_domain]])]),o[27]||(o[27]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->业务域名,填写业务域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),r((n(),u(y,null,{default:i(()=>[t(p,{type:"primary",onClick:k},{default:i(()=>[...o[29]||(o[29]=[_("保存",-1)])]),_:1})]),_:1})),[[A,["channel.mnp_settings/setConfig"]]])])}}});export{ve as default}; diff --git a/server/public/admin/assets/weapp-B8uox-3Q.js b/server/public/admin/assets/weapp-CBd1nTel.js similarity index 68% rename from server/public/admin/assets/weapp-B8uox-3Q.js rename to server/public/admin/assets/weapp-CBd1nTel.js index 3a282c25f..d864fcced 100644 --- a/server/public/admin/assets/weapp-B8uox-3Q.js +++ b/server/public/admin/assets/weapp-CBd1nTel.js @@ -1 +1 @@ -import{r as n}from"./index-fRv3NTFQ.js";function s(t){return n.post({url:"/channel.mnp_settings/setConfig",params:t})}function r(){return n.get({url:"/channel.mnp_settings/getConfig"})}export{r as g,s}; +import{r as n}from"./index-J_eFER10.js";function s(t){return n.post({url:"/channel.mnp_settings/setConfig",params:t})}function r(){return n.get({url:"/channel.mnp_settings/getConfig"})}export{r as g,s}; diff --git a/server/public/admin/assets/website-CUzsflNy.js b/server/public/admin/assets/website-CeVKwoPS.js similarity index 91% rename from server/public/admin/assets/website-CUzsflNy.js rename to server/public/admin/assets/website-CeVKwoPS.js index 5c3d1a3e9..32bc54408 100644 --- a/server/public/admin/assets/website-CUzsflNy.js +++ b/server/public/admin/assets/website-CeVKwoPS.js @@ -1 +1 @@ -import{r as t}from"./index-fRv3NTFQ.js";function i(){return t.get({url:"/setting.web.web_setting/getCopyright"})}function n(e){return t.post({url:"/setting.web.web_setting/setCopyright",params:e})}function r(){return t.get({url:"/setting.web.web_setting/getWebsite"})}function g(e){return t.post({url:"/setting.web.web_setting/setWebsite",params:e})}function o(){return t.get({url:"/setting.web.web_setting/getAgreement"})}function u(e){return t.post({url:"/setting.web.web_setting/setAgreement",params:e})}function b(){return t.get({url:"/setting.web.web_setting/getSiteStatistics"})}function w(e){return t.post({url:"/setting.web.web_setting/setSiteStatistics",params:e})}export{r as a,g as b,o as c,u as d,b as e,w as f,i as g,n as s}; +import{r as t}from"./index-J_eFER10.js";function i(){return t.get({url:"/setting.web.web_setting/getCopyright"})}function n(e){return t.post({url:"/setting.web.web_setting/setCopyright",params:e})}function r(){return t.get({url:"/setting.web.web_setting/getWebsite"})}function g(e){return t.post({url:"/setting.web.web_setting/setWebsite",params:e})}function o(){return t.get({url:"/setting.web.web_setting/getAgreement"})}function u(e){return t.post({url:"/setting.web.web_setting/setAgreement",params:e})}function b(){return t.get({url:"/setting.web.web_setting/getSiteStatistics"})}function w(e){return t.post({url:"/setting.web.web_setting/setSiteStatistics",params:e})}export{r as a,g as b,o as c,u as d,b as e,w as f,i as g,n as s}; diff --git a/server/public/admin/assets/wx_oa-BuVhGwqh.js b/server/public/admin/assets/wx_oa-Bi2y5vRS.js similarity index 93% rename from server/public/admin/assets/wx_oa-BuVhGwqh.js rename to server/public/admin/assets/wx_oa-Bi2y5vRS.js index 387ac21fe..c7aee35c0 100644 --- a/server/public/admin/assets/wx_oa-BuVhGwqh.js +++ b/server/public/admin/assets/wx_oa-Bi2y5vRS.js @@ -1 +1 @@ -import{r as t}from"./index-fRv3NTFQ.js";function a(n){return t.post({url:"/channel.official_account_setting/setConfig",params:n})}function c(){return t.get({url:"/channel.official_account_setting/getConfig"})}function u(){return t.get({url:"/channel.official_account_menu/detail"})}function l(n){return t.post({url:"/channel.official_account_menu/save",params:n})}function o(n){return t.post({url:"/channel.official_account_menu/saveAndPublish",params:n})}function i(n){return t.get({url:"/channel.official_account_reply/lists",params:n})}function r(n){return t.post({url:"/channel.official_account_reply/delete",params:n})}function f(n){return t.post({url:"/channel.official_account_reply/status",params:n})}function s(n){return t.post({url:"/channel.official_account_reply/add",params:n})}function _(n){return t.post({url:"/channel.official_account_reply/edit",params:n})}function p(n){return t.get({url:"/channel.official_account_reply/detail",params:n})}export{o as a,l as b,u as c,i as d,f as e,_ as f,c as g,s as h,p as i,r as o,a as s}; +import{r as t}from"./index-J_eFER10.js";function a(n){return t.post({url:"/channel.official_account_setting/setConfig",params:n})}function c(){return t.get({url:"/channel.official_account_setting/getConfig"})}function u(){return t.get({url:"/channel.official_account_menu/detail"})}function l(n){return t.post({url:"/channel.official_account_menu/save",params:n})}function o(n){return t.post({url:"/channel.official_account_menu/saveAndPublish",params:n})}function i(n){return t.get({url:"/channel.official_account_reply/lists",params:n})}function r(n){return t.post({url:"/channel.official_account_reply/delete",params:n})}function f(n){return t.post({url:"/channel.official_account_reply/status",params:n})}function s(n){return t.post({url:"/channel.official_account_reply/add",params:n})}function _(n){return t.post({url:"/channel.official_account_reply/edit",params:n})}function p(n){return t.get({url:"/channel.official_account_reply/detail",params:n})}export{o as a,l as b,u as c,i as d,f as e,_ as f,c as g,s as h,p as i,r as o,a as s}; diff --git a/server/public/admin/assets/yeji-CjbxhW8j.js b/server/public/admin/assets/yeji-D0yhxsrU.js similarity index 99% rename from server/public/admin/assets/yeji-CjbxhW8j.js rename to server/public/admin/assets/yeji-D0yhxsrU.js index 4bf135307..c54d8113b 100644 --- a/server/public/admin/assets/yeji-CjbxhW8j.js +++ b/server/public/admin/assets/yeji-D0yhxsrU.js @@ -1,4 +1,4 @@ -import{Q as rl,R as dl,ag as ul,Z as cl,M as _l,S as pl,i as ml,d as vl,K as fl,m as yl,l as gl,N as hl,O as bl,r as wl,X as kl,ab as jl,ac as xl,V as Sl,e as Nl,W as Cl,E as ee}from"./element-plus-DGP1XOrU.js";import{s as U,w as Dl}from"./@vue/runtime-dom-DDAG46FW.js";import{a as te}from"./axios-C80V62Fs.js";import{O as Ll,x as zl,i as M}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as ae}from"./vue-echarts-BNtg2q_G.js";import{h as $l,y as lt,i as Al,j as Rl,k as Pl,l as Tl,m as qt,n as Il,o as Ml,p as Ol,q as El}from"./stats-D2lwBNks.js";import{d as Vl}from"./finance-BnbY_luA.js";import{y as Aa}from"./tcm-CEIBuAeK.js";import{h as Fl}from"./perm-CTlz8z1G.js";import{f as Bl,w as Yl,b as Ul,ak as o,I as u,J as a,a as i,aN as _,F as k,ap as F,G as j,aP as Z,O as c,H as f,A as C}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r,o as ht}from"./@vue/shared-mAAVTE9n.js";import{y as D,n as v}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Hl}from"./index-fRv3NTFQ.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Wl={class:"yeji-page"},ql={class:"filter-surface"},Gl={class:"filter-row filter-row--top"},Jl={class:"filter-field"},Zl={class:"channel-opt-row"},Xl={class:"opt-name"},Kl={class:"opt-count"},Ql={class:"filter-field filter-field--wide"},eo={class:"filter-select filter-select--dept filter-dept-tree-wrap"},to={class:"filter-field filter-field--date-top"},ao={class:"filter-actions"},no={class:"filter-quick"},lo={class:"date-pills",role:"group","aria-label":"快捷日期"},oo=["onClick"],so={class:"doctor-daily-card__head"},io={class:"doctor-daily-card__title-block"},ro={key:0,class:"doctor-daily-card__range"},uo={class:"doctor-daily-card__tools"},co={key:0,class:"leaderboards-wrap"},_o={class:"leaderboard-hint"},po={class:"muted"},mo={class:"tables-wrap"},vo={key:0,class:"yeji-table leaderboard-table"},fo={class:"yeji-table__header"},yo={key:0,class:"leaderboard-sub"},go={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"排行榜,可横向滚动"},ho={class:"yeji-table__body yeji-table__body--leaderboard"},bo=["onClick"],wo={class:"col-rank"},ko={class:"col-abbr"},jo={class:"col-name"},xo={class:"col-consult"},So={class:"col-deal"},No=["onClick"],Co={key:0,class:"yeji-lead-cell--link"},Do=["onClick"],Lo={key:0,class:"yeji-lead-cell--link"},zo=["onClick"],$o={key:0,class:"yeji-lead-cell--link"},Ao=["onClick"],Ro={key:0,class:"yeji-lead-cell--link"},Po={class:"yeji-table__foot yeji-table__foot--left"},To={key:0},Io={key:0,class:"empty-tip leaderboard-empty"},Mo={class:"tables-wrap"},Oo={key:0,class:"empty-tip"},Eo={class:"yeji-table__header"},Vo={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"业绩数据表,可横向滚动"},Fo={class:"yeji-table__body yeji-table__body--data"},Bo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Yo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Uo={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},Ho={key:0,class:"col-completed col-narrow-head"},Wo={class:"yeji-th-label"},qo={style:{"max-width":"340px","line-height":"1.7","font-size":"12px"}},Go={key:1,class:"col-completed col-narrow-head"},Jo={class:"yeji-th-label"},Zo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Xo={key:2,class:"col-completed col-narrow-head"},Ko={class:"yeji-th-label"},Qo={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},es={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},ts=["onClick"],as={class:"col-dept"},ns=["onClick"],ls={key:0,class:"yeji-lead-cell--link"},os=["onClick"],ss={key:0,class:"yeji-lead-cell--link"},is=["onClick"],rs={key:0,class:"yeji-lead-cell--link"},ds=["onClick"],us={key:0,class:"yeji-lead-cell--link"},cs=["onClick"],_s={key:0,class:"col-completed"},ps=["onClick"],ms=["onClick"],vs={key:0,class:"yeji-lead-cell--link"},fs={key:1,class:"col-completed"},ys={key:2,class:"col-completed"},gs={class:"total-row"},hs=["onClick"],bs={key:0,class:"col-completed"},ws=["onClick"],ks={key:1,class:"col-completed"},js={key:2,class:"col-completed"},xs={class:"yeji-table__foot"},Ss={key:0},Ns={key:1},Cs={class:"tp-matrix-wrap"},Ds={class:"tp-matrix__title"},Ls={class:"tp-matrix",role:"list"},zs={class:"tp-matrix-card__head"},$s={class:"tp-matrix-card__titles"},As={key:0,class:"tp-matrix-card__parent"},Rs={class:"tp-matrix-card__name"},Ps={class:"tp-matrix-card__target"},Ts={class:"tp-matrix-card__table"},Is={class:"tp-matrix-card__num"},Ms={key:0},Os={class:"tp-matrix-card__num"},Es={key:1},Vs={class:"tp-matrix-card__num"},Fs={class:"tp-matrix-card__num tp-matrix-card__num--hot"},Bs={class:"tp-matrix-card__num"},Ys={class:"yeji-charts-stack"},Us={key:0,class:"yeji-chart-block"},Hs={class:"yeji-chart-block__title"},Ws={key:0,class:"yeji-chart-block__sub"},qs={class:"yeji-chart-panel"},Gs={class:"yeji-chart-panel"},Js={class:"yeji-chart-panel"},Zs={class:"yeji-chart-panel"},Xs={class:"yeji-chart-panel"},Ks={key:0,class:"yeji-chart-block"},Qs={class:"yeji-chart-block__title"},ei={class:"yeji-chart-panel"},ti={class:"yeji-chart-panel"},ai={class:"yeji-chart-block__title"},ni={key:0,class:"yeji-chart-block__sub"},li={class:"yeji-chart-block__sub yeji-chart-block__sub--muted"},oi={class:"yeji-chart-panel"},si={class:"yeji-order-drawer__header"},ii={class:"yeji-order-drawer__heading"},ri={class:"yeji-order-drawer__sub"},di={class:"yeji-order-drawer__shell"},ui={class:"yeji-order-drawer__stats",role:"region","aria-label":"订单汇总"},ci={class:"yeji-order-drawer__stat-card"},_i={class:"yeji-order-drawer__stat-value"},pi={class:"yeji-order-drawer__stat-card"},mi={class:"yeji-order-drawer__stat-value"},vi={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--total"},fi={class:"yeji-order-drawer__stat-label"},yi={class:"yeji-order-drawer__stat-note"},gi={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},hi={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},bi={class:"yeji-order-drawer__stat-label"},wi={class:"yeji-order-drawer__stat-note"},ki={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},ji={key:1,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},xi={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Si={key:2,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--muted"},Ni={class:"yeji-order-drawer__stat-value"},Ci={class:"yeji-order-drawer__body"},Di={key:0,class:"yeji-order-appt-lines"},Li={class:"yeji-order-appt-line"},zi={class:"yeji-order-appt-line"},$i={key:0,class:"yeji-order-appt-sub"},Ai={class:"yeji-order-appt-line"},Ri={class:"yeji-order-appt-line yeji-order-appt-line--channel"},Pi={class:"yeji-order-appt-channel-text"},Ti={key:0,class:"yeji-order-appt-sub"},Ii={key:1,class:"yeji-order-appt-empty"},Mi={class:"yeji-order-amt"},Oi={class:"yeji-order-drawer__pager"},Ei={class:"yeji-unassigned-dialog__head"},Vi={class:"yeji-unassigned-dialog__sub"},Fi={key:0,class:"yeji-unassigned-dialog__note"},Bi={class:"yeji-unassigned-dialog__body"},Yi={class:"yeji-unassigned-dialog__head yeji-leadlines-dialog__head"},Ui={class:"yeji-leadlines-dialog__head-main"},Hi={class:"yeji-unassigned-dialog__sub"},Wi={key:0,class:"yeji-unassigned-dialog__note"},qi={class:"yeji-unassigned-dialog__body"},Gi={key:2,class:"yeji-leadlines-dialog__pager"},Ji={class:"yeji-unassigned-dialog__head"},Zi={class:"yeji-unassigned-dialog__sub"},Xi={key:0,class:"yeji-unassigned-dialog__note"},Ki={class:"yeji-unassigned-dialog__body"},Qi={key:2,class:"yeji-leadlines-dialog__pager"},er={class:"yeji-unassigned-dialog__head"},tr={class:"yeji-unassigned-dialog__sub"},ar={key:0,class:"yeji-unassigned-dialog__note"},nr={class:"yeji-unassigned-dialog__body"},lr=["onClick","onKeydown"],or={class:"yeji-unassigned-dialog__head"},sr={class:"yeji-unassigned-dialog__sub"},ir={key:0,class:"yeji-unassigned-dialog__note"},rr={class:"yeji-unassigned-dialog__body"},dr={key:2,class:"yeji-leadlines-dialog__pager"},Ra=30,ur="stats.yejiStats/tabDoctor",cr="stats.yejiStats/tabLeaderboard",_r="stats.yejiStats/tabZyyt",pr="stats.yejiStats/tabTargetMatrix",mr=Bl({__name:"yeji",setup(vr){function ot(t){return t.some(e=>Fl([e]))}const Pa={value:"id",label:"name",children:"children"};function Ta(t){if(!t.length)return[];const e=new Map;for(const g of t)e.set(g.id,{...g,children:[]});const n=[];for(const g of t){const h=e.get(g.id),w=Number(g.pid);w>0&&e.has(w)?e.get(w).children.push(h):n.push(h)}const s=g=>{var h;(h=g.children)!=null&&h.length?g.children.forEach(s):delete g.children};n.forEach(s);const d=g=>{var h;g.sort((w,I)=>{const E=w.name.includes("中心")?-1:1,p=I.name.includes("中心")?-1:1;return E!==p?E-p:w.id-I.id});for(const w of g)(h=w.children)!=null&&h.length&&d(w.children)};return d(n),n}const ne=v(!1),Ce=v([]),bt=v(!1),Ia=C(()=>Ta(Ce.value)),z=v([]),st=v([]),wt=v(!1),x=v(""),H=v(null),re=v([]);function kt(t,e){if(!t||typeof t!="object")return e;for(const n of Object.keys(t)){const s=parseInt(n,10);!Number.isNaN(s)&&s>=2&&(e=Math.max(e,s))}return e}function Ma(t){var n;let e=0;for(const s of t){for(const d of s.rows)e=kt(d.revisit_slots,e);e=kt((n=s.total)==null?void 0:n.revisit_slots,e)}return e}const jt=C(()=>{const t=Math.min(Ma(re.value),Ra);return t<2?[]:Array.from({length:t-1},(e,n)=>n+2)});function Oa(t){if(!t.er_center_subtree)return 0;let e=0;for(const n of t.rows)e=kt(n.revisit_slots,e);return e}function Gt(t){const e=Math.min(Oa(t),Ra);return e<2?[]:Array.from({length:e-1},(n,s)=>s+2)}function it(t){if(t===2)return"复诊2";const e=["三","四","五","六","七","八","九","十"];return t>=3&&t<=10?`复诊${e[t-3]}`:`复诊${t}`}function le(t,e){const n=t==null?void 0:t.revisit_slots;if(!n||typeof n!="object")return 0;const s=n[e]??n[String(e)],d=Number(s);return Number.isFinite(d)?d:0}const S=v(null),de=v(!1),xt=v(!1),De=v(!1),Jt=v(""),qe=v(""),Le=v([]),St=v(!1),ze=v(!1),Zt=v(""),Ge=v(""),$e=v([]),Xt=v(null),Nt=v(!1),ue=v(!1),Je=v(!1),Kt=v(""),Ze=v(""),Ae=v([]),Re=v(0),Xe=v(1),rt=v(20),Ct=v(null),dt=v(!1),fe=v(!1),Dt=v(""),Pe=v(""),ce=v([]),Te=v(0),ye=v(1),Ie=v(20),Lt=v(null),ut=v(!1),ge=v(!1),zt=v(""),Me=v(""),he=v([]),Oe=v(0),be=v(1),Ee=v(20),$t=v(null),Ea=C(()=>ce.value.some(t=>String(t.channel_source??"")!=="")),_e=v("zyyt"),W=C(()=>ot([ur,"stats.doctorDailyStats/overview"])),oe=C(()=>ot([cr,"stats.yejiStats/leaderboard"])),Ve=C(()=>ot([_r,"stats.yejiStats/multi","stats.yejiStats/overview"])),Ke=C(()=>ot([pr,"stats.yejiStats/targetMatrix","stats.yejiStats/multi"])),Va=C(()=>W.value||oe.value||Ve.value||Ke.value);function Qe(){return Ve.value?"zyyt":W.value?"doctor":oe.value?"leaderboard":Ke.value?"zyyt_matrix":"zyyt"}Yl(_e,t=>{(t==="doctor"&&!W.value||t==="leaderboard"&&!oe.value||t==="zyyt"&&!Ve.value||t==="zyyt_matrix"&&!Ke.value)&&(_e.value=Qe())});const Qt=C(()=>{var t;return(((t=S.value)==null?void 0:t.leaderboards)??[]).filter(e=>e.rows.length>0)});function ea(t){return t.rows.some(e=>e.dept_id>0&&(Number(e.lead_count)>0||Number(e.consult_count)>0||Number(e.deal_order_count)>0||Number(e.performance_amount)>0||Number(e.completed_performance_amount)>0))}const Fe=v(!1),B=v([]),pe=v({}),Be=v(null),ct=C(()=>{const t=Be.value;return!(t!=null&&t.start)||!(t!=null&&t.end)?"":t.start===t.end?`区间 ${t.start}`:`区间 ${t.start} ~ ${t.end}`}),At=C(()=>B.value.some(t=>Number(t.deal_amount??0)>0)),Rt=C(()=>B.value.some(t=>Number(t.system_prescription_count??0)>0||Number(t.manual_prescription_count??0)>0)),Fa=C(()=>W.value?At.value||Rt.value||Pt.value||Tt.value||It.value:!1),Ba=C(()=>{if(Fa.value)return!0;if(Ve.value){for(const t of re.value)if(ea(t))return!0}return!!(oe.value&&Qt.value.length>0)}),Pt=C(()=>{const t=pe.value;return Number(t.appointment_completed??0)+Number(t.appointment_missed??0)+Number(t.appointment_cancelled??0)>0}),Ya=C(()=>{const t=pe.value,e=[{value:Number(t.appointment_completed??0),name:"挂号完成"},{value:Number(t.appointment_missed??0),name:"过号"},{value:Number(t.appointment_cancelled??0),name:"取消"}].filter(n=>n.value>0);return{color:["#0d9488","#d97706","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},series:[{name:"挂号",type:"pie",radius:["42%","68%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} +import{Q as rl,R as dl,ag as ul,Z as cl,M as _l,S as pl,i as ml,d as vl,K as fl,m as yl,l as gl,N as hl,O as bl,r as wl,X as kl,ab as jl,ac as xl,V as Sl,e as Nl,W as Cl,E as ee}from"./element-plus-DGP1XOrU.js";import{s as U,w as Dl}from"./@vue/runtime-dom-DDAG46FW.js";import{a as te}from"./axios-C80V62Fs.js";import{O as Ll,x as zl,i as M}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as ae}from"./vue-echarts-BNtg2q_G.js";import{h as $l,y as lt,i as Al,j as Rl,k as Pl,l as Tl,m as qt,n as Il,o as Ml,p as Ol,q as El}from"./stats-DXRw03Ae.js";import{d as Vl}from"./finance-Dc98hQLW.js";import{y as Aa}from"./tcm-D-ZRccbe.js";import{h as Fl}from"./perm-8cp9D7Ag.js";import{f as Bl,w as Yl,b as Ul,ak as o,I as u,J as a,a as i,aN as _,F as k,ap as F,G as j,aP as Z,O as c,H as f,A as C}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r,o as ht}from"./@vue/shared-mAAVTE9n.js";import{y as D,n as v}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Hl}from"./index-J_eFER10.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Wl={class:"yeji-page"},ql={class:"filter-surface"},Gl={class:"filter-row filter-row--top"},Jl={class:"filter-field"},Zl={class:"channel-opt-row"},Xl={class:"opt-name"},Kl={class:"opt-count"},Ql={class:"filter-field filter-field--wide"},eo={class:"filter-select filter-select--dept filter-dept-tree-wrap"},to={class:"filter-field filter-field--date-top"},ao={class:"filter-actions"},no={class:"filter-quick"},lo={class:"date-pills",role:"group","aria-label":"快捷日期"},oo=["onClick"],so={class:"doctor-daily-card__head"},io={class:"doctor-daily-card__title-block"},ro={key:0,class:"doctor-daily-card__range"},uo={class:"doctor-daily-card__tools"},co={key:0,class:"leaderboards-wrap"},_o={class:"leaderboard-hint"},po={class:"muted"},mo={class:"tables-wrap"},vo={key:0,class:"yeji-table leaderboard-table"},fo={class:"yeji-table__header"},yo={key:0,class:"leaderboard-sub"},go={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"排行榜,可横向滚动"},ho={class:"yeji-table__body yeji-table__body--leaderboard"},bo=["onClick"],wo={class:"col-rank"},ko={class:"col-abbr"},jo={class:"col-name"},xo={class:"col-consult"},So={class:"col-deal"},No=["onClick"],Co={key:0,class:"yeji-lead-cell--link"},Do=["onClick"],Lo={key:0,class:"yeji-lead-cell--link"},zo=["onClick"],$o={key:0,class:"yeji-lead-cell--link"},Ao=["onClick"],Ro={key:0,class:"yeji-lead-cell--link"},Po={class:"yeji-table__foot yeji-table__foot--left"},To={key:0},Io={key:0,class:"empty-tip leaderboard-empty"},Mo={class:"tables-wrap"},Oo={key:0,class:"empty-tip"},Eo={class:"yeji-table__header"},Vo={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"业绩数据表,可横向滚动"},Fo={class:"yeji-table__body yeji-table__body--data"},Bo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Yo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Uo={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},Ho={key:0,class:"col-completed col-narrow-head"},Wo={class:"yeji-th-label"},qo={style:{"max-width":"340px","line-height":"1.7","font-size":"12px"}},Go={key:1,class:"col-completed col-narrow-head"},Jo={class:"yeji-th-label"},Zo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Xo={key:2,class:"col-completed col-narrow-head"},Ko={class:"yeji-th-label"},Qo={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},es={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},ts=["onClick"],as={class:"col-dept"},ns=["onClick"],ls={key:0,class:"yeji-lead-cell--link"},os=["onClick"],ss={key:0,class:"yeji-lead-cell--link"},is=["onClick"],rs={key:0,class:"yeji-lead-cell--link"},ds=["onClick"],us={key:0,class:"yeji-lead-cell--link"},cs=["onClick"],_s={key:0,class:"col-completed"},ps=["onClick"],ms=["onClick"],vs={key:0,class:"yeji-lead-cell--link"},fs={key:1,class:"col-completed"},ys={key:2,class:"col-completed"},gs={class:"total-row"},hs=["onClick"],bs={key:0,class:"col-completed"},ws=["onClick"],ks={key:1,class:"col-completed"},js={key:2,class:"col-completed"},xs={class:"yeji-table__foot"},Ss={key:0},Ns={key:1},Cs={class:"tp-matrix-wrap"},Ds={class:"tp-matrix__title"},Ls={class:"tp-matrix",role:"list"},zs={class:"tp-matrix-card__head"},$s={class:"tp-matrix-card__titles"},As={key:0,class:"tp-matrix-card__parent"},Rs={class:"tp-matrix-card__name"},Ps={class:"tp-matrix-card__target"},Ts={class:"tp-matrix-card__table"},Is={class:"tp-matrix-card__num"},Ms={key:0},Os={class:"tp-matrix-card__num"},Es={key:1},Vs={class:"tp-matrix-card__num"},Fs={class:"tp-matrix-card__num tp-matrix-card__num--hot"},Bs={class:"tp-matrix-card__num"},Ys={class:"yeji-charts-stack"},Us={key:0,class:"yeji-chart-block"},Hs={class:"yeji-chart-block__title"},Ws={key:0,class:"yeji-chart-block__sub"},qs={class:"yeji-chart-panel"},Gs={class:"yeji-chart-panel"},Js={class:"yeji-chart-panel"},Zs={class:"yeji-chart-panel"},Xs={class:"yeji-chart-panel"},Ks={key:0,class:"yeji-chart-block"},Qs={class:"yeji-chart-block__title"},ei={class:"yeji-chart-panel"},ti={class:"yeji-chart-panel"},ai={class:"yeji-chart-block__title"},ni={key:0,class:"yeji-chart-block__sub"},li={class:"yeji-chart-block__sub yeji-chart-block__sub--muted"},oi={class:"yeji-chart-panel"},si={class:"yeji-order-drawer__header"},ii={class:"yeji-order-drawer__heading"},ri={class:"yeji-order-drawer__sub"},di={class:"yeji-order-drawer__shell"},ui={class:"yeji-order-drawer__stats",role:"region","aria-label":"订单汇总"},ci={class:"yeji-order-drawer__stat-card"},_i={class:"yeji-order-drawer__stat-value"},pi={class:"yeji-order-drawer__stat-card"},mi={class:"yeji-order-drawer__stat-value"},vi={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--total"},fi={class:"yeji-order-drawer__stat-label"},yi={class:"yeji-order-drawer__stat-note"},gi={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},hi={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},bi={class:"yeji-order-drawer__stat-label"},wi={class:"yeji-order-drawer__stat-note"},ki={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},ji={key:1,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},xi={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Si={key:2,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--muted"},Ni={class:"yeji-order-drawer__stat-value"},Ci={class:"yeji-order-drawer__body"},Di={key:0,class:"yeji-order-appt-lines"},Li={class:"yeji-order-appt-line"},zi={class:"yeji-order-appt-line"},$i={key:0,class:"yeji-order-appt-sub"},Ai={class:"yeji-order-appt-line"},Ri={class:"yeji-order-appt-line yeji-order-appt-line--channel"},Pi={class:"yeji-order-appt-channel-text"},Ti={key:0,class:"yeji-order-appt-sub"},Ii={key:1,class:"yeji-order-appt-empty"},Mi={class:"yeji-order-amt"},Oi={class:"yeji-order-drawer__pager"},Ei={class:"yeji-unassigned-dialog__head"},Vi={class:"yeji-unassigned-dialog__sub"},Fi={key:0,class:"yeji-unassigned-dialog__note"},Bi={class:"yeji-unassigned-dialog__body"},Yi={class:"yeji-unassigned-dialog__head yeji-leadlines-dialog__head"},Ui={class:"yeji-leadlines-dialog__head-main"},Hi={class:"yeji-unassigned-dialog__sub"},Wi={key:0,class:"yeji-unassigned-dialog__note"},qi={class:"yeji-unassigned-dialog__body"},Gi={key:2,class:"yeji-leadlines-dialog__pager"},Ji={class:"yeji-unassigned-dialog__head"},Zi={class:"yeji-unassigned-dialog__sub"},Xi={key:0,class:"yeji-unassigned-dialog__note"},Ki={class:"yeji-unassigned-dialog__body"},Qi={key:2,class:"yeji-leadlines-dialog__pager"},er={class:"yeji-unassigned-dialog__head"},tr={class:"yeji-unassigned-dialog__sub"},ar={key:0,class:"yeji-unassigned-dialog__note"},nr={class:"yeji-unassigned-dialog__body"},lr=["onClick","onKeydown"],or={class:"yeji-unassigned-dialog__head"},sr={class:"yeji-unassigned-dialog__sub"},ir={key:0,class:"yeji-unassigned-dialog__note"},rr={class:"yeji-unassigned-dialog__body"},dr={key:2,class:"yeji-leadlines-dialog__pager"},Ra=30,ur="stats.yejiStats/tabDoctor",cr="stats.yejiStats/tabLeaderboard",_r="stats.yejiStats/tabZyyt",pr="stats.yejiStats/tabTargetMatrix",mr=Bl({__name:"yeji",setup(vr){function ot(t){return t.some(e=>Fl([e]))}const Pa={value:"id",label:"name",children:"children"};function Ta(t){if(!t.length)return[];const e=new Map;for(const g of t)e.set(g.id,{...g,children:[]});const n=[];for(const g of t){const h=e.get(g.id),w=Number(g.pid);w>0&&e.has(w)?e.get(w).children.push(h):n.push(h)}const s=g=>{var h;(h=g.children)!=null&&h.length?g.children.forEach(s):delete g.children};n.forEach(s);const d=g=>{var h;g.sort((w,I)=>{const E=w.name.includes("中心")?-1:1,p=I.name.includes("中心")?-1:1;return E!==p?E-p:w.id-I.id});for(const w of g)(h=w.children)!=null&&h.length&&d(w.children)};return d(n),n}const ne=v(!1),Ce=v([]),bt=v(!1),Ia=C(()=>Ta(Ce.value)),z=v([]),st=v([]),wt=v(!1),x=v(""),H=v(null),re=v([]);function kt(t,e){if(!t||typeof t!="object")return e;for(const n of Object.keys(t)){const s=parseInt(n,10);!Number.isNaN(s)&&s>=2&&(e=Math.max(e,s))}return e}function Ma(t){var n;let e=0;for(const s of t){for(const d of s.rows)e=kt(d.revisit_slots,e);e=kt((n=s.total)==null?void 0:n.revisit_slots,e)}return e}const jt=C(()=>{const t=Math.min(Ma(re.value),Ra);return t<2?[]:Array.from({length:t-1},(e,n)=>n+2)});function Oa(t){if(!t.er_center_subtree)return 0;let e=0;for(const n of t.rows)e=kt(n.revisit_slots,e);return e}function Gt(t){const e=Math.min(Oa(t),Ra);return e<2?[]:Array.from({length:e-1},(n,s)=>s+2)}function it(t){if(t===2)return"复诊2";const e=["三","四","五","六","七","八","九","十"];return t>=3&&t<=10?`复诊${e[t-3]}`:`复诊${t}`}function le(t,e){const n=t==null?void 0:t.revisit_slots;if(!n||typeof n!="object")return 0;const s=n[e]??n[String(e)],d=Number(s);return Number.isFinite(d)?d:0}const S=v(null),de=v(!1),xt=v(!1),De=v(!1),Jt=v(""),qe=v(""),Le=v([]),St=v(!1),ze=v(!1),Zt=v(""),Ge=v(""),$e=v([]),Xt=v(null),Nt=v(!1),ue=v(!1),Je=v(!1),Kt=v(""),Ze=v(""),Ae=v([]),Re=v(0),Xe=v(1),rt=v(20),Ct=v(null),dt=v(!1),fe=v(!1),Dt=v(""),Pe=v(""),ce=v([]),Te=v(0),ye=v(1),Ie=v(20),Lt=v(null),ut=v(!1),ge=v(!1),zt=v(""),Me=v(""),he=v([]),Oe=v(0),be=v(1),Ee=v(20),$t=v(null),Ea=C(()=>ce.value.some(t=>String(t.channel_source??"")!=="")),_e=v("zyyt"),W=C(()=>ot([ur,"stats.doctorDailyStats/overview"])),oe=C(()=>ot([cr,"stats.yejiStats/leaderboard"])),Ve=C(()=>ot([_r,"stats.yejiStats/multi","stats.yejiStats/overview"])),Ke=C(()=>ot([pr,"stats.yejiStats/targetMatrix","stats.yejiStats/multi"])),Va=C(()=>W.value||oe.value||Ve.value||Ke.value);function Qe(){return Ve.value?"zyyt":W.value?"doctor":oe.value?"leaderboard":Ke.value?"zyyt_matrix":"zyyt"}Yl(_e,t=>{(t==="doctor"&&!W.value||t==="leaderboard"&&!oe.value||t==="zyyt"&&!Ve.value||t==="zyyt_matrix"&&!Ke.value)&&(_e.value=Qe())});const Qt=C(()=>{var t;return(((t=S.value)==null?void 0:t.leaderboards)??[]).filter(e=>e.rows.length>0)});function ea(t){return t.rows.some(e=>e.dept_id>0&&(Number(e.lead_count)>0||Number(e.consult_count)>0||Number(e.deal_order_count)>0||Number(e.performance_amount)>0||Number(e.completed_performance_amount)>0))}const Fe=v(!1),B=v([]),pe=v({}),Be=v(null),ct=C(()=>{const t=Be.value;return!(t!=null&&t.start)||!(t!=null&&t.end)?"":t.start===t.end?`区间 ${t.start}`:`区间 ${t.start} ~ ${t.end}`}),At=C(()=>B.value.some(t=>Number(t.deal_amount??0)>0)),Rt=C(()=>B.value.some(t=>Number(t.system_prescription_count??0)>0||Number(t.manual_prescription_count??0)>0)),Fa=C(()=>W.value?At.value||Rt.value||Pt.value||Tt.value||It.value:!1),Ba=C(()=>{if(Fa.value)return!0;if(Ve.value){for(const t of re.value)if(ea(t))return!0}return!!(oe.value&&Qt.value.length>0)}),Pt=C(()=>{const t=pe.value;return Number(t.appointment_completed??0)+Number(t.appointment_missed??0)+Number(t.appointment_cancelled??0)>0}),Ya=C(()=>{const t=pe.value,e=[{value:Number(t.appointment_completed??0),name:"挂号完成"},{value:Number(t.appointment_missed??0),name:"过号"},{value:Number(t.appointment_cancelled??0),name:"取消"}].filter(n=>n.value>0);return{color:["#0d9488","#d97706","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},series:[{name:"挂号",type:"pie",radius:["42%","68%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} {c}`,fontSize:11},data:e}]}}),Tt=C(()=>B.value.filter(t=>Number(t.deal_order_count??0)>0&&Number(t.deal_amount??0)>0).length>=2),Ua=C(()=>{const t=B.value.filter(s=>Number(s.deal_order_count??0)>0&&Number(s.deal_amount??0)>0),e=Math.max(...t.map(s=>Number(s.deal_amount)),1),n=t.map(s=>{const d=Number(s.deal_amount);return{name:String(s.doctor_name||"—"),value:[Number(s.deal_order_count),d],symbolSize:12+Math.sqrt(d/e)*26}});return{color:["#2563eb"],tooltip:{trigger:"item",formatter:s=>{var g;const d=(g=s.data)==null?void 0:g.value;return Array.isArray(d)?`${s.data.name}
接诊诊单:${d[0]}
金额:${Number(d[1]).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`:""}},grid:{left:48,right:24,top:28,bottom:32,containLabel:!0},xAxis:{type:"value",name:"接诊诊单",nameLocation:"middle",nameGap:28,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},yAxis:{type:"value",name:"成交金额",nameLocation:"middle",nameGap:40,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},series:[{type:"scatter",data:n}]}}),It=C(()=>B.value.filter(e=>Number(e.deal_amount??0)+Number(e.deal_order_count??0)+Number(e.system_prescription_count??0)+Number(e.manual_prescription_count??0)>0).length>=2),Ha=C(()=>{const t=[...B.value].filter(p=>Number(p.deal_amount??0)+Number(p.deal_order_count??0)+Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0)>0).sort((p,L)=>Number(L.deal_amount)-Number(p.deal_amount)).slice(0,5);if(t.length<2)return{radar:{indicator:[]},series:[{type:"radar",data:[]}]};const e=p=>{const L=String(p.doctor_name||"—");return L.length>7?`${L.slice(0,7)}…`:L},n=p=>Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0),s=p=>{const L=Number(p.avg_deal_amount);if(Number.isFinite(L)&&L>0)return L;const Y=Number(p.deal_order_count);return Y>0?Number(p.deal_amount)/Y:0},d=Math.max(...t.map(p=>Number(p.deal_amount)),1e-9),g=Math.max(...t.map(p=>Number(p.deal_order_count)),1e-9),h=Math.max(...t.map(n),1e-9),w=Math.max(...t.map(p=>Number(p.appointment_completed??0)),1e-9),I=Math.max(...t.map(s),1e-9),E=t.map(p=>({name:e(p),value:[Number(p.deal_amount)/d*100,Number(p.deal_order_count)/g*100,n(p)/h*100,Number(p.appointment_completed??0)/w*100,s(p)/I*100]}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b"],tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},radar:{indicator:[{name:"成交金额",max:100},{name:"接诊诊单",max:100},{name:"开方量",max:100},{name:"挂号完成",max:100},{name:"客单价",max:100}],radius:"58%",center:["50%","48%"],splitNumber:4,axisName:{fontSize:10,color:"#64748b"}},series:[{type:"radar",data:E,emphasis:{lineStyle:{width:3}}}]}}),Wa=C(()=>{const t=[...B.value].filter(s=>Number(s.deal_amount??0)>0).sort((s,d)=>Number(d.deal_amount)-Number(s.deal_amount)).slice(0,20),e=t.map(s=>{const d=String(s.doctor_name||"—");return d.length>10?`${d.slice(0,10)}…`:d}),n=t.map(s=>Number(s.deal_amount??0));return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${s.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`},grid:{left:8,right:16,top:28,bottom:8,containLabel:!0},xAxis:{type:"value",axisLabel:{fontSize:11},splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:[...e].reverse(),axisLabel:{fontSize:11}},series:[{name:"成交金额",type:"bar",data:[...n].reverse(),barMaxWidth:22,itemStyle:{borderRadius:[0,6,6,0]}}]}}),qa=C(()=>{const t=[...B.value].filter(n=>Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0)>0).sort((n,s)=>Number(s.system_prescription_count??0)+Number(s.manual_prescription_count??0)-(Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0))).slice(0,14),e=t.map(n=>{const s=String(n.doctor_name||"—");return s.length>6?`${s.slice(0,6)}…`:s});return{tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{top:0,textStyle:{fontSize:11}},grid:{left:44,right:16,top:32,bottom:e.length>10?72:28},xAxis:{type:"category",data:e,axisLabel:{rotate:e.length>8?32:0,fontSize:10}},yAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},series:[{name:"系统开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.system_prescription_count??0)),itemStyle:{color:"#2563eb"}},{name:"手动开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.manual_prescription_count??0)),itemStyle:{color:"#d97706"}}]}});function Ga(){var e,n;const t={};if(x.value&&(t.channel_code=x.value),z.value.length>0&&(t.dept_ids=z.value.join(",")),(e=H.value)!=null&&e[0]&&((n=H.value)!=null&&n[1]))t.start_date=H.value[0],t.end_date=H.value[1];else{const s=gt(new Date);t.start_date=s,t.end_date=s}return t}function ta(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function aa(t){if(t==null||t==="")return"—";const e=Number(t);return Number.isFinite(e)?`${e.toFixed(2)}%`:"—"}function Ja(t){const e=pe.value,n=[];return t.columns.forEach((s,d)=>{if(d===0){n[d]="合计";return}switch(s.property){case"system_prescription_count":n[d]=String(e.system_prescription_count??0);break;case"manual_prescription_count":n[d]=String(e.manual_prescription_count??0);break;case"deal_amount":n[d]=`¥ ${ta(e.deal_amount)}`;break;case"deal_order_count":n[d]=String(e.deal_order_count??0);break;case"appointment_total":n[d]=String(e.appointment_total??0);break;case"appointment_completed":n[d]=String(e.appointment_completed??0);break;case"appointment_missed":n[d]=String(e.appointment_missed??0);break;case"appointment_cancelled":n[d]=String(e.appointment_cancelled??0);break;case"appointment_conversion_rate":n[d]=aa(e.appointment_conversion_rate);break;default:n[d]=""}}),n}async function Mt(){if(!W.value){B.value=[],pe.value={},Be.value=null;return}Fe.value=!0;try{const t=await $l(Ga());B.value=(t==null?void 0:t.rows)??[],pe.value=(t==null?void 0:t.total)??{},t!=null&&t.start_date&&(t!=null&&t.end_date)&&(Be.value={start:t.start_date,end:t.end_date})}catch(t){if(te.isCancel(t))return;B.value=[],pe.value={},Be.value=null}finally{Fe.value=!1}}const se=v(!1),we=v(!1),et=v(""),tt=v(""),ke=v([]),_t=v(0),K=v(1),pt=v(15),X=v("channel"),q=v(null),at=v(null),ie=v(null),na=C(()=>{const t=ie.value;if(!t)return null;const e=t.stats_order_amount_performance??t.stats_order_amount_not_cancelled;if(e==null||e==="")return null;const n=Number(e);return Number.isFinite(n)?n:null}),la=C(()=>{const t=ie.value;if(!t||t.stats_yeji_consult_count===void 0||t.stats_yeji_consult_count===null)return null;const e=Number(t.stats_yeji_consult_count);return Number.isFinite(e)?e:null}),Za=C(()=>ke.value.reduce((t,e)=>t+Number(e.amount??0),0)),oa=C(()=>!!x.value&&se.value),Ot=C(()=>{var e;const t=x.value;if(!t)return"";for(const n of st.value){const s=(e=n.channels)==null?void 0:e.find(d=>d.channel_code===t);if(s!=null&&s.channel_name)return String(s.channel_name)}return t}),Xa=C(()=>{const t=q.value;return t&&X.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:na.value}),Ye=v(null),mt=v(!1);function Ka(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function Qa(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function en(){var t,e,n,s;if(!Ke.value){Ye.value=null;return}mt.value=!0,Ye.value=null;try{let d=function(y,$=0){const A=[];for(const R of y??[])A.push({node:R,depth:$}),A.push(...d(R.children??[],$+1));return A},g=function(y){const $=Ce.value.find(J=>Number(J.id)===y);if(!$)return"";const A=Number($.pid);if(!A)return"";const R=Ce.value.find(J=>Number(J.id)===A);return R!=null&&R.name?String(R.name):""},h=function(y){const $=[],A=[y];for(;A.length;){const R=A.shift();for(const J of Ce.value)Number(J.pid)===R&&($.push(J.id),A.push(J.id))}return $},w=function(y,$){const A=new Map;for(const R of(y==null?void 0:y.rows)??[])A.set(Number(R.dept_id),Number(R[$]??0));return A};const I=Ka(),E=await Vl({year_month:I}),p=(E==null?void 0:E.rows)??[];if(!p.length)return;const Y=d(p).filter(y=>y.depth>=1&&Number(y.node.target_amount)>0).map(y=>y.node);if(!Y.length)return;const P=new Set,me=Y.map(y=>{const $=Number(y.dept_id),A=h($),R=A.length?A:[$];return R.forEach(J=>P.add(J)),{dept_id:$,dept_name:String(y.dept_name),target_amount:Number(y.target_amount),totalIds:R}});if(!P.size)return;const He=st.value.flatMap(y=>y.channels),G=(t=He.find(y=>y.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,Se=(e=He.find(y=>y.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ne=(n=He.find(y=>y.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,We=Array.from(P).join(","),[ve,V,l,b]=await Promise.all([lt({dept_ids:We}),G?lt({dept_ids:We,channel_code:G}):Promise.resolve(null),Se?lt({dept_ids:We,channel_code:Se}):Promise.resolve(null),Ne?lt({dept_ids:We,channel_code:Ne}):Promise.resolve(null)]),m=y=>{var $;return((y==null?void 0:y.tables)??[]).find(A=>String(A.label).includes("月"))??(($=y==null?void 0:y.tables)==null?void 0:$[0])},T=y=>{var $,A;return((y==null?void 0:y.tables)??[]).find(R=>String(R.label).includes("昨"))??((A=y==null?void 0:y.tables)==null?void 0:A[(($=y==null?void 0:y.tables)==null?void 0:$.length)-1])},Ca=w(m(ve),"performance_amount"),Qn=w(T(ve),"performance_amount"),Da=V?w(m(V),"completed_performance_amount"):null,La=l?w(m(l),"completed_performance_amount"):null,za=b?w(m(b),"completed_performance_amount"):null,nt=(y,$)=>$.reduce((A,R)=>A+(y.get(R)??0),0),Ht=new Date,el=Qa(I),tl=Ht.getDate(),al=me.map(y=>{const $=nt(Ca,y.totalIds),A=nt(Qn,y.totalIds),R=Da?nt(Da,y.totalIds):null,J=La?nt(La,y.totalIds):null,$a=za?nt(za,y.totalIds):null,Wt=J!==null||$a!==null?(J??0)+($a??0):null,sl=Math.round(y.target_amount*(tl/el)*100)/100,il=y.target_amount>0?$/y.target_amount:null;return{dept_id:y.dept_id,dept_name:y.dept_name,parent_dept_name:g(y.dept_id),target_amount:y.target_amount,total_amount:$,yesterday_amount:A,douyin_amount:R&&R>0?R:null,tuifen_amount:Wt&&Wt>0?Wt:null,target_progress:sl,completion_rate:il}}),nl=((s=p[0])==null?void 0:s.dept_name)??"",ll=Ht.getMonth()+1,ol=Ht.getDate();Ye.value={title:`${nl}诊金-${ll}.${ol}`,sections:al}}catch{}finally{mt.value=!1}}const tn=C(()=>{var e;const t=(e=S.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),sa=[{text:"昨天",value:()=>{const t=new Date;return t.setDate(t.getDate()-1),[t,t]}},{text:"最近七天",value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-6),[e,t]}},{text:"本月",value:()=>{const t=new Date;return[new Date(t.getFullYear(),t.getMonth(),1),t]}},{text:"今日",value:()=>{const t=new Date;return[t,t]}},{text:"本周",value:()=>{const t=new Date,e=new Date,n=e.getDay()||7;return e.setDate(e.getDate()-(n-1)),[e,t]}},{text:"上月",value:()=>{const t=new Date,e=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return[e,n]}}];function an(t){const e=t.value();H.value=[gt(e[0]),gt(e[1])],Ue()}async function nn(){bt.value=!0;try{const t=await Al();Ce.value=(t||[]).sort((e,n)=>{const s=e.name.includes("中心")?-1:1,d=n.name.includes("中心")?-1:1;return s!==d?s-d:e.id-n.id})}catch{}finally{bt.value=!1}}async function ln(){wt.value=!0;try{const t=await Rl(),e=(t==null?void 0:t.groups)||[];st.value=e}catch{}finally{wt.value=!1}}async function ia(t){if(!oe.value){S.value=null;return}de.value=!0;try{const e={start_date:t.start,end_date:t.end};z.value.length>0&&(e.dept_ids=z.value.join(",")),x.value&&(e.channel_code=x.value);const n=await Il(e);S.value={start_date:n.start_date,end_date:n.end_date,channel_code:n.channel_code||"",channel_name:n.channel_name||"",channel_filter_note:n.channel_filter_note||"",range_note:n.range_note||"",leaderboards:n.leaderboards||[]}}catch(e){if(te.isCancel(e))return;S.value=null}finally{de.value=!1}}async function Ue(){if(ne.value=!0,S.value=null,!Ve.value){re.value=[],ne.value=!1,W.value?Mt():(B.value=[],pe.value={},Be.value=null);return}try{const t={};if(z.value.length>0&&(t.dept_ids=z.value.join(",")),x.value&&(t.channel_code=x.value),H.value&&H.value[0]&&H.value[1]){const[s,d]=H.value,g={...t,start_date:s,end_date:d},h=await Pl(g);re.value=[{label:s===d?s:`${s} ~ ${d}`,start_date:h.start_date,end_date:h.end_date,channel_code:h.channel_code||"",channel_name:h.channel_name||"",channel_group:h.channel_group||"",channel_filter_note:h.channel_filter_note||"",rows:h.rows||[],total:h.total}],await ia({start:h.start_date,end:h.end_date});return}const e=await lt(t);re.value=((e==null?void 0:e.tables)||[]).map(s=>({label:s.label,start_date:s.start_date,end_date:s.end_date,channel_code:s.channel_code||"",channel_name:s.channel_name||"",channel_group:s.channel_group||"",channel_filter_note:s.channel_filter_note||"",rows:s.rows||[],total:s.total}));const n=gt(new Date);await ia({start:n,end:n})}catch(t){if(te.isCancel(t))return;const e=t;ee.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{ne.value=!1,W.value?Mt():(B.value=[],pe.value={},Be.value=null)}}function on(){z.value=[],H.value=null,x.value="",Ue()}function sn(t){return t<=0?!1:Ce.value.some(e=>Number(e.pid)===t)}function rn(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function vt(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function dn(t){return(K.value-1)*pt.value+t+1}function un(t){const e=(t==null?void 0:t.appointment_date)!=null&&String(t.appointment_date)!==""?String(t.appointment_date):"",n=(t==null?void 0:t.period)!=null&&String(t.period)!==""?String(t.period):"",s=(t==null?void 0:t.appointment_time)!=null&&String(t.appointment_time)!==""?String(t.appointment_time):"",d=[n,s].filter(Boolean).join(" ");return e&&d?`${e} ${d}`:e||d||"—"}function ra(t){if(!t)return"";const e=t.channel_dict_value;if(e!=null&&e!==""){const d=Number(e);if(Number.isFinite(d))return String(Math.trunc(d))}const n=t.channel_source;if(n==null)return"";const s=String(n).trim();return s===""||!/^\d+$/.test(s)?"":String(parseInt(s,10))}function cn(t){if(t==null||t==="")return"—";const e=Number(t);if(Number.isFinite(e)&&e>=1e9&&e<1e15){const s=e<1e12?e*1e3:e,d=new Date(s);if(!Number.isNaN(d.getTime())){const g=d.getFullYear(),h=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),I=String(d.getHours()).padStart(2,"0"),E=String(d.getMinutes()).padStart(2,"0");return`${g}-${h}-${w} ${I}:${E}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}function da(){const t=at.value;if(!t)return null;const e={start_time:`${t.start} 00:00:00`,end_time:`${t.end} 23:59:59`,exclude_fulfillment_cancelled:1,yeji_order_drawer:1};return t.mode==="dept"?(e.assistant_dept_id=t.deptId,z.value.length>0&&(e.dept_ids=z.value.join(",")),t.yejiTableRowDeptIds&&t.yejiTableRowDeptIds.length>0&&(e.yeji_table_row_dept_ids=t.yejiTableRowDeptIds.join(","))):(e.assistant_id=t.assistantId,t.erCenterRevisitSlot!==void 0&&(e.yeji_er_center_revisit_only=1,e.yeji_er_center_revisit_slot=t.erCenterRevisitSlot)),x.value&&se.value&&X.value==="channel"&&(e.channel_code=x.value),e}async function _n(){const t=da();if(!t||!x.value)return;const e={...t,channel_code:x.value,page_no:1,page_size:1};try{const n=await Aa(e),s=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null;s&&s.stats_yeji_drawer_total_performance_amount!=null&&(q.value={totalAmount:Number(s.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(s.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(s.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)})}catch{}}async function je(){const t=da();if(t){x.value&&X.value==="total"&&(q.value=null),we.value=!0;try{const e={...t,page_no:K.value,page_size:pt.value},n=await Aa(e);ke.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],_t.value=Number((n==null?void 0:n.count)??0),ie.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null,x.value&&X.value==="channel"&&ie.value&&ie.value.stats_yeji_drawer_total_performance_amount!=null&&(q.value={totalAmount:Number(ie.value.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(ie.value.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(ie.value.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)}),x.value&&se.value&&X.value==="total"&&await _n()}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载业务订单失败"),ke.value=[],_t.value=0,ie.value=null}finally{we.value=!1}}}function ua(t,e,n){const s=!!(x.value&&t.channel_name);X.value=s?(n==null?void 0:n.listTab)??"channel":"channel",q.value=null,at.value={mode:"dept",deptId:e.dept_id,deptName:e.dept_name,start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(d=>d.dept_id).filter(d=>typeof d=="number"&&d>0)},et.value=`业务订单 · ${e.dept_name}`,tt.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「合计业绩 / 接诊诊单」同口径:订单创建人人事部门 ∈ 本部门子树 · 不含履约 4/9/10`,K.value=1,se.value=!0,je()}function pn(t,e,n){const s=!!(x.value&&t.channel_name);X.value=s?n:"channel",q.value=null,at.value={mode:"dept",deptId:e,deptName:"当前展示合计",start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(d=>d.dept_id).filter(d=>typeof d=="number"&&d>0)},et.value="业务订单 · 当前展示合计",tt.value=`创建时间:${t.start_date} ~ ${t.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约 4/9/10`,K.value=1,se.value=!0,je()}function Et(t,e,n){return!(xe(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function Vt(t,e){return!(z.value.length!==1||e==="channel"&&!t.channel_name)}function ca(t,e,n){if(!Et(t,e,n))return;ua(t,e,{listTab:n==="total"?"total":"channel"})}function _a(t,e){if(!Vt(t,e))return;const n=z.value[0];if(!n)return;pn(t,n,e==="total"?"total":"channel")}function mn(t,e,n){X.value="channel",q.value=null,at.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},et.value=`业务订单 · ${t.name}`,tt.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与排行榜诊金同口径)· 不含履约 4/9/10`,K.value=1,se.value=!0,je()}function Ft(t,e,n,s){X.value="channel",q.value=null,at.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const d=s===0?"复诊合计":it(s);et.value=`业务订单 · ${t.name} · ${d}`,tt.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与部门表 / 排行榜复诊同口径)· 仅二中心复诊口径 · ${d} · 不含履约 4/9/10`,K.value=1,se.value=!0,je()}function vn(t){if(!t||t.admin_id<=0||!S.value||Number(t.revisit_count??0)<=0)return;const{start_date:e,end_date:n}=S.value;Ft({admin_id:t.admin_id,name:t.name},e,n,0)}function fn(t,e){if(!t||t.admin_id<=0||!S.value||le(t,e)<=0)return;const{start_date:n,end_date:s}=S.value;Ft({admin_id:t.admin_id,name:t.name},n,s,e)}function yn(){K.value=1,je()}function gn(t){K.value=t,je()}function hn(t){pt.value=t,K.value=1,je()}function xe(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function bn(t,e){e.dept_id<=0||xe(e)||Number(e.revisit_count??0)<=0||ma(t,e,0)}function wn(t,e,n){e.dept_id<=0||xe(e)||le(e,n)<=0||ma(t,e,n)}function pa(t){const e=Xt.value;!e||Number(t.order_count)<=0||Ft({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function ma(t,e,n){const s=n===0?"复诊合计":it(n);Zt.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,Xt.value={start:t.start_date,end:t.end_date,revisitSlot:n},Ge.value="",$e.value=[],St.value=!0,ze.value=!0;try{const d={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};z.value.length>0&&(d.dept_ids=z.value.join(",")),x.value&&(d.channel_code=x.value);const g=await Tl(d);$e.value=Array.isArray(g==null?void 0:g.rows)?g.rows:[],Ge.value=typeof(g==null?void 0:g.note)=="string"?g.note:""}catch(d){if(te.isCancel(d))return;const g=d;ee.error((g==null?void 0:g.msg)||(g==null?void 0:g.message)||"加载复诊拆解失败"),$e.value=[],Ge.value=""}finally{ze.value=!1}}function va(t){const e=[`区间:${t.start_date} ~ ${t.end_date}`];return x.value&&e.push(`渠道:${t.channel_name||x.value}`),z.value.length>0&&e.push(`已选展示部门 ${z.value.length} 个`),e.join(" · ")}async function kn(t){Jt.value=va(t),qe.value="",Le.value=[],xt.value=!0,De.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};z.value.length>0&&(e.dept_ids=z.value.join(",")),x.value&&(e.channel_code=x.value);const n=await Ml(e);Le.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],qe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载未归属拆解失败"),Le.value=[],qe.value=""}finally{De.value=!1}}function jn(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),Pn(e,n))}function fa(t){return t.dept_id>0&&Number(t.assign_count??0)>0}function xn(t,e,n){fa(n)&&(t.stopPropagation(),Cn(e,n))}function Sn(t){return(be.value-1)*Ee.value+t+1}function Nn(t,e){const n=$t.value;if(!n)return null;const s={start_date:n.start_date,end_date:n.end_date,page:t,page_size:e};return n.mode==="dept"?s.dept_id=n.dept_id:s.assistant_id=n.assistant_id,z.value.length>0&&(s.dept_ids=z.value.join(",")),x.value&&(s.channel_code=x.value),s}async function ft(){const t=Nn(be.value,Ee.value);if(t){ge.value=!0;try{const e=await Ol(t);he.value=Array.isArray(e==null?void 0:e.lists)?e.lists:[],Oe.value=Number((e==null?void 0:e.count)??0),Me.value=typeof(e==null?void 0:e.note)=="string"?e.note:""}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载被指派明细失败"),he.value=[],Oe.value=0,Me.value=""}finally{ge.value=!1}}}async function Cn(t,e){$t.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},zt.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,Me.value="",he.value=[],Oe.value=0,be.value=1,Ee.value=20,ut.value=!0,await ft()}function Dn(t){if(!t||t.admin_id<=0||!S.value||Number(t.assign_count??0)<=0)return;const e=S.value;$t.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},zt.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,Me.value="",he.value=[],Oe.value=0,be.value=1,Ee.value=20,ut.value=!0,ft()}function Ln(t){be.value=t,ft()}function zn(t){Ee.value=t,be.value=1,ft()}const ya=[{key:"event_time_text",label:"进线时间"},{key:"reception_admin_name",label:"接待"},{key:"external_contact_name",label:"客户"},{key:"external_userid",label:"外部联系人ID"},{key:"user_id",label:"企微成员ID"},{key:"state",label:"渠道参数"}];function Bt(t,e,n){const{tb:s,row:d}=t,g={start_date:s.start_date,end_date:s.end_date,dept_id:d.dept_id,page:e,page_size:n};return z.value.length>0&&(g.dept_ids=z.value.join(",")),x.value&&(g.channel_code=x.value),g}function ga(t){const e=t==null?"":String(t);return/[",\n\r]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function $n(t){const e=ya.map(s=>ga(s.label)).join(","),n=t.map(s=>ya.map(d=>ga(s[d.key])).join(",")).join(` `);return`\uFEFF${e} ${n}`}function An(t,e){const n=new Blob([e],{type:"text/csv;charset=utf-8;"}),s=URL.createObjectURL(n),d=document.createElement("a");d.href=s,d.download=t,d.click(),URL.revokeObjectURL(s)}function Rn(t){const{tb:e,row:n}=t;return`进线数据明细_${(n.dept_name||`dept${n.dept_id}`).replace(/[\\/:*?"<>|]/g,"_")}_${e.start_date}_${e.end_date}.csv`}async function Yt(){const t=Ct.value;if(t){ue.value=!0;try{const e=await qt(Bt(t,Xe.value,rt.value));Ae.value=Array.isArray(e==null?void 0:e.lists)?e.lists:[],Re.value=Number((e==null?void 0:e.count)??0),Ze.value=typeof(e==null?void 0:e.note)=="string"?e.note:""}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载进线明细失败"),Ae.value=[],Re.value=0,Ze.value=""}finally{ue.value=!1}}}async function Pn(t,e){Ct.value={tb:t,row:e},Kt.value=`${e.dept_name} · ${va(t)}`,Ze.value="",Ae.value=[],Re.value=0,Xe.value=1,rt.value=20,Nt.value=!0,await Yt()}function Tn(t){Xe.value=t,Yt()}function In(t){rt.value=t,Xe.value=1,Yt()}async function Mn(){const t=Ct.value;if(!(!t||Je.value)){Je.value=!0;try{const n=await qt(Bt(t,1,100)),s=Number((n==null?void 0:n.count)??0);if(s<=0){ee.warning("暂无进线明细可导出");return}const d=Array.isArray(n==null?void 0:n.lists)?[...n.lists]:[],g=Math.ceil(s/100);for(let h=2;h<=g;h++){const w=await qt(Bt(t,h,100)),I=Array.isArray(w==null?void 0:w.lists)?w.lists:[];d.push(...I)}An(Rn(t),$n(d)),ee.success(`已导出 ${d.length} 条进线明细`)}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"导出进线明细失败")}finally{Je.value=!1}}}function On(t){return(ye.value-1)*Ie.value+t+1}function ha(t){return xe(t)?!0:t.dept_id>0}async function yt(){const t=Lt.value;if(t){fe.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:ye.value,page_size:Ie.value};t.mode==="dept"?e.dept_id=t.dept_id:e.assistant_id=t.assistant_id,z.value.length>0&&(e.dept_ids=z.value.join(",")),x.value&&(e.channel_code=x.value);const n=await El(e);ce.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Te.value=Number((n==null?void 0:n.count)??0),Pe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(te.isCancel(e))return;const n=e;ee.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载挂号明细失败"),ce.value=[],Te.value=0,Pe.value=""}finally{fe.value=!1}}}function En(t){if(!t||t.admin_id<=0||!S.value||Number(t.appointment_count??0)<=0)return;const e=S.value;Lt.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},Dt.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,Pe.value="",ce.value=[],Te.value=0,ye.value=1,Ie.value=20,dt.value=!0,yt()}function Vn(t,e){!ha(e)||Number(e.appointment_booked_count??0)<=0||(Lt.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},Dt.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,Pe.value="",ce.value=[],Te.value=0,ye.value=1,Ie.value=20,dt.value=!0,yt())}function Fn(t){ye.value=t,yt()}function Bn(t){Ie.value=t,ye.value=1,yt()}function Yn(t,e){if(xe(e)){kn(t);return}if(!(e.dept_id<=0)){if(sn(e.dept_id)){z.value=[e.dept_id],Ue();return}ua(t,e)}}function Un(t){if(!t||t.admin_id<=0||!S.value)return;const{start_date:e,end_date:n}=S.value;mn(t,e,n)}function ba(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function Hn(t){const e=t.rows.filter(h=>h.dept_id>0),n=e.map(h=>h.dept_name.length>10?`${h.dept_name.slice(0,10)}…`:h.dept_name),s=["#64748b","#38bdf8","#6366f1"],d=[{name:"进线",type:"bar",data:e.map(h=>h.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(h=>h.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(h=>h.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(h=>h.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&d.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(h=>h.completed_performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#0d9488"}});const g=e.length>10;return{color:[...s,"#d97706","#0d9488"],tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{top:8,type:"scroll",textStyle:{fontSize:11}},grid:{left:52,right:52,top:48,bottom:g?56:28,containLabel:!1},dataZoom:g?[{type:"slider",bottom:4,start:0,end:Math.min(100,Math.ceil(12/Math.max(e.length,1)*100))}]:[],xAxis:{type:"category",data:n,axisLabel:{rotate:n.length>8?28:0,fontSize:10}},yAxis:[{type:"value",name:"数量",splitLine:{lineStyle:{type:"dashed",opacity:.55}}},{type:"value",name:"金额",splitLine:{show:!1}}],series:d}}function Wn(t,e){const n=[...t.rows].sort((s,d)=>Number(d.fee_amount)-Number(s.fee_amount)).slice(0,15);return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${Number(s).toLocaleString("zh-CN")} 元`},grid:{left:8,right:20,top:12,bottom:8,containLabel:!0},xAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:n.map(s=>s.name.length>8?`${s.name.slice(0,8)}…`:s.name).reverse(),axisLabel:{fontSize:11}},series:[{name:"诊金",type:"bar",data:n.map(s=>Number(s.fee_amount??0)).reverse(),barMaxWidth:20,itemStyle:{borderRadius:[0,6,6,0]}}]}}function wa(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function qn(t,e){const s=[...t.rows].filter(d=>Number(d.fee_amount)>0).sort((d,g)=>Number(g.fee_amount)-Number(d.fee_amount)).slice(0,10).map(d=>({name:d.name.length>6?`${d.name.slice(0,6)}…`:d.name,value:Number(d.fee_amount)}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5"],tooltip:{trigger:"item",formatter:"{b}: {c} 元 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:9}},series:[{name:"诊金",type:"pie",radius:["38%","64%"],center:["50%","42%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} diff --git a/server/public/admin/assets/yeji-edit-DNKGXffJ.js b/server/public/admin/assets/yeji-edit-ChIyC1vo.js similarity index 87% rename from server/public/admin/assets/yeji-edit-DNKGXffJ.js rename to server/public/admin/assets/yeji-edit-ChIyC1vo.js index 63dfca9c6..b0f51a3ef 100644 --- a/server/public/admin/assets/yeji-edit-DNKGXffJ.js +++ b/server/public/admin/assets/yeji-edit-ChIyC1vo.js @@ -1 +1 @@ -import{_ as o}from"./yeji-edit.vue_vue_type_script_setup_true_lang-Do3QS6R1.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./self_input_stats-VfgnRjmU.js";import"./index-fRv3NTFQ.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-D5PquIeg.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";export{o as default}; +import{_ as o}from"./yeji-edit.vue_vue_type_script_setup_true_lang-D8Hjw379.js";import"./element-plus-DGP1XOrU.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-CbYn5zW9.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./self_input_stats-BfVTp8QE.js";import"./index-J_eFER10.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BVjWjU3h.js";import"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";export{o as default}; diff --git a/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-Do3QS6R1.js b/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-D8Hjw379.js similarity index 98% rename from server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-Do3QS6R1.js rename to server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-D8Hjw379.js index 759bce882..4aeb358da 100644 --- a/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-Do3QS6R1.js +++ b/server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-D8Hjw379.js @@ -1 +1 @@ -import{D as C,B as D,S,ab as Y,ac as q,h as B,C as F}from"./element-plus-DGP1XOrU.js";import{f as I,h as A}from"./self_input_stats-VfgnRjmU.js";import{_ as L}from"./index-D5PquIeg.js";import{_ as M}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";import{f as O,ak as z,I as P,a as o,aN as n,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as f,n as $,r as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},h=O({__name:"yeji-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(s,{expose:V,emit:w}){const i=w,c=f(),_=f(),m=$("add"),b=T(()=>m.value==="edit"?"编辑业绩":"新增业绩"),e=G({id:"",yeji_date:"",media_source:"",add_fans_count:0,total_open_count:0,unreplied_count:0,paid_appointment_count:0,free_appointment_count:0,interview_count:0,order_amount:0,completed_order_count:0,remark:""}),g={yeji_date:[{required:!0,message:"请选择业绩日期",trigger:["change"]}],media_source:[{required:!0,message:"请填写自媒体来源",trigger:["blur"]}],add_fans_count:[{required:!0,message:"请填写加粉数",trigger:["blur","change"]}]},v=()=>{e.id="",e.yeji_date="",e.media_source="",e.add_fans_count=0,e.total_open_count=0,e.unreplied_count=0,e.paid_appointment_count=0,e.free_appointment_count=0,e.interview_count=0,e.order_amount=0,e.completed_order_count=0,e.remark=""},y=async()=>{var u,t;await((u=c.value)==null?void 0:u.validate()),m.value==="edit"?await I(e):await A(e),(t=_.value)==null||t.close(),i("success")},k=(u="add")=>{var t;m.value=u,v(),(t=_.value)==null||t.open()},j=u=>{e.id=u.id??"",e.yeji_date=u.yeji_date??"",e.media_source=u.media_source??"",e.add_fans_count=Number(u.add_fans_count??0),e.total_open_count=Number(u.total_open_count??0),e.unreplied_count=Number(u.unreplied_count??0),e.paid_appointment_count=Number(u.paid_appointment_count??0),e.free_appointment_count=Number(u.free_appointment_count??0),e.interview_count=Number(u.interview_count??0),e.order_amount=Number(u.order_amount??0),e.completed_order_count=Number(u.completed_order_count??0),e.remark=u.remark??""},N=()=>{i("close")};return V({open:k,setFormData:j}),(u,t)=>{const U=S,d=D,r=B,p=q,x=Y,E=F,R=C;return z(),P("div",H,[o(L,{ref_key:"popupRef",ref:_,title:l(b),async:!0,width:"640px",onConfirm:y,onClose:N},{default:n(()=>[o(R,{ref_key:"formRef",ref:c,model:l(e),"label-width":"110px",rules:g},{default:n(()=>[o(d,{label:"业绩日期",prop:"yeji_date"},{default:n(()=>[o(U,{modelValue:l(e).yeji_date,"onUpdate:modelValue":t[0]||(t[0]=a=>l(e).yeji_date=a),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(m)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),o(d,{label:"自媒体来源",prop:"media_source"},{default:n(()=>[o(M,{modelValue:l(e).media_source,"onUpdate:modelValue":t[1]||(t[1]=a=>l(e).media_source=a),options:s.mediaSourceOptions,loading:s.mediaSourceLoading,placeholder:"请选择自媒体来源","allow-create":!1,disabled:l(m)==="edit","select-class":"w-full"},null,8,["modelValue","options","loading","disabled"])]),_:1}),o(x,{gutter:16},{default:n(()=>[o(p,{span:12},{default:n(()=>[o(d,{label:"加粉数",prop:"add_fans_count"},{default:n(()=>[o(r,{modelValue:l(e).add_fans_count,"onUpdate:modelValue":t[2]||(t[2]=a=>l(e).add_fans_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"总开口",prop:"total_open_count"},{default:n(()=>[o(r,{modelValue:l(e).total_open_count,"onUpdate:modelValue":t[3]||(t[3]=a=>l(e).total_open_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"未回复",prop:"unreplied_count"},{default:n(()=>[o(r,{modelValue:l(e).unreplied_count,"onUpdate:modelValue":t[4]||(t[4]=a=>l(e).unreplied_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"付费挂号",prop:"paid_appointment_count"},{default:n(()=>[o(r,{modelValue:l(e).paid_appointment_count,"onUpdate:modelValue":t[5]||(t[5]=a=>l(e).paid_appointment_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"免费挂号",prop:"free_appointment_count"},{default:n(()=>[o(r,{modelValue:l(e).free_appointment_count,"onUpdate:modelValue":t[6]||(t[6]=a=>l(e).free_appointment_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"面诊",prop:"interview_count"},{default:n(()=>[o(r,{modelValue:l(e).interview_count,"onUpdate:modelValue":t[7]||(t[7]=a=>l(e).interview_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"订单金额",prop:"order_amount"},{default:n(()=>[o(r,{modelValue:l(e).order_amount,"onUpdate:modelValue":t[8]||(t[8]=a=>l(e).order_amount=a),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"接诊诊单",prop:"completed_order_count"},{default:n(()=>[o(r,{modelValue:l(e).completed_order_count,"onUpdate:modelValue":t[9]||(t[9]=a=>l(e).completed_order_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(d,{label:"备注",prop:"remark"},{default:n(()=>[o(E,{modelValue:l(e).remark,"onUpdate:modelValue":t[10]||(t[10]=a=>l(e).remark=a),type:"textarea",autosize:{minRows:3,maxRows:5},maxlength:"255","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{h as _}; +import{D as C,B as D,S,ab as Y,ac as q,h as B,C as F}from"./element-plus-DGP1XOrU.js";import{f as I,h as A}from"./self_input_stats-BfVTp8QE.js";import{_ as L}from"./index-BVjWjU3h.js";import{_ as M}from"./MediaSourceSelect.vue_vue_type_script_setup_true_lang-B0whCOSi.js";import{f as O,ak as z,I as P,a as o,aN as n,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as f,n as $,r as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},h=O({__name:"yeji-edit",props:{mediaSourceOptions:{default:()=>[]},mediaSourceLoading:{type:Boolean,default:!1}},emits:["success","close"],setup(s,{expose:V,emit:w}){const i=w,c=f(),_=f(),m=$("add"),b=T(()=>m.value==="edit"?"编辑业绩":"新增业绩"),e=G({id:"",yeji_date:"",media_source:"",add_fans_count:0,total_open_count:0,unreplied_count:0,paid_appointment_count:0,free_appointment_count:0,interview_count:0,order_amount:0,completed_order_count:0,remark:""}),g={yeji_date:[{required:!0,message:"请选择业绩日期",trigger:["change"]}],media_source:[{required:!0,message:"请填写自媒体来源",trigger:["blur"]}],add_fans_count:[{required:!0,message:"请填写加粉数",trigger:["blur","change"]}]},v=()=>{e.id="",e.yeji_date="",e.media_source="",e.add_fans_count=0,e.total_open_count=0,e.unreplied_count=0,e.paid_appointment_count=0,e.free_appointment_count=0,e.interview_count=0,e.order_amount=0,e.completed_order_count=0,e.remark=""},y=async()=>{var u,t;await((u=c.value)==null?void 0:u.validate()),m.value==="edit"?await I(e):await A(e),(t=_.value)==null||t.close(),i("success")},k=(u="add")=>{var t;m.value=u,v(),(t=_.value)==null||t.open()},j=u=>{e.id=u.id??"",e.yeji_date=u.yeji_date??"",e.media_source=u.media_source??"",e.add_fans_count=Number(u.add_fans_count??0),e.total_open_count=Number(u.total_open_count??0),e.unreplied_count=Number(u.unreplied_count??0),e.paid_appointment_count=Number(u.paid_appointment_count??0),e.free_appointment_count=Number(u.free_appointment_count??0),e.interview_count=Number(u.interview_count??0),e.order_amount=Number(u.order_amount??0),e.completed_order_count=Number(u.completed_order_count??0),e.remark=u.remark??""},N=()=>{i("close")};return V({open:k,setFormData:j}),(u,t)=>{const U=S,d=D,r=B,p=q,x=Y,E=F,R=C;return z(),P("div",H,[o(L,{ref_key:"popupRef",ref:_,title:l(b),async:!0,width:"640px",onConfirm:y,onClose:N},{default:n(()=>[o(R,{ref_key:"formRef",ref:c,model:l(e),"label-width":"110px",rules:g},{default:n(()=>[o(d,{label:"业绩日期",prop:"yeji_date"},{default:n(()=>[o(U,{modelValue:l(e).yeji_date,"onUpdate:modelValue":t[0]||(t[0]=a=>l(e).yeji_date=a),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(m)==="edit",class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),o(d,{label:"自媒体来源",prop:"media_source"},{default:n(()=>[o(M,{modelValue:l(e).media_source,"onUpdate:modelValue":t[1]||(t[1]=a=>l(e).media_source=a),options:s.mediaSourceOptions,loading:s.mediaSourceLoading,placeholder:"请选择自媒体来源","allow-create":!1,disabled:l(m)==="edit","select-class":"w-full"},null,8,["modelValue","options","loading","disabled"])]),_:1}),o(x,{gutter:16},{default:n(()=>[o(p,{span:12},{default:n(()=>[o(d,{label:"加粉数",prop:"add_fans_count"},{default:n(()=>[o(r,{modelValue:l(e).add_fans_count,"onUpdate:modelValue":t[2]||(t[2]=a=>l(e).add_fans_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"总开口",prop:"total_open_count"},{default:n(()=>[o(r,{modelValue:l(e).total_open_count,"onUpdate:modelValue":t[3]||(t[3]=a=>l(e).total_open_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"未回复",prop:"unreplied_count"},{default:n(()=>[o(r,{modelValue:l(e).unreplied_count,"onUpdate:modelValue":t[4]||(t[4]=a=>l(e).unreplied_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"付费挂号",prop:"paid_appointment_count"},{default:n(()=>[o(r,{modelValue:l(e).paid_appointment_count,"onUpdate:modelValue":t[5]||(t[5]=a=>l(e).paid_appointment_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"免费挂号",prop:"free_appointment_count"},{default:n(()=>[o(r,{modelValue:l(e).free_appointment_count,"onUpdate:modelValue":t[6]||(t[6]=a=>l(e).free_appointment_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"面诊",prop:"interview_count"},{default:n(()=>[o(r,{modelValue:l(e).interview_count,"onUpdate:modelValue":t[7]||(t[7]=a=>l(e).interview_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"订单金额",prop:"order_amount"},{default:n(()=>[o(r,{modelValue:l(e).order_amount,"onUpdate:modelValue":t[8]||(t[8]=a=>l(e).order_amount=a),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(p,{span:12},{default:n(()=>[o(d,{label:"接诊诊单",prop:"completed_order_count"},{default:n(()=>[o(r,{modelValue:l(e).completed_order_count,"onUpdate:modelValue":t[9]||(t[9]=a=>l(e).completed_order_count=a),min:0,step:1,class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(d,{label:"备注",prop:"remark"},{default:n(()=>[o(E,{modelValue:l(e).remark,"onUpdate:modelValue":t[10]||(t[10]=a=>l(e).remark=a),type:"textarea",autosize:{minRows:3,maxRows:5},maxlength:"255","show-word-limit":"",placeholder:"选填"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{h as _}; diff --git a/server/public/admin/index.html b/server/public/admin/index.html index 518fdeabc..833d69d40 100644 --- a/server/public/admin/index.html +++ b/server/public/admin/index.html @@ -163,7 +163,7 @@ z-index: 2147483641; } - +